Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет, Хабр! Языковая модель ChatGPT произвела настоящий фурор. Даже Хабр в последние недели пестрит статьями про неё. Получив доступ к этой модели, я захотел изучить её способность шутить. Научить ИИ понимать юмор - непростая задача, и даже в последние годы успехи ИИ в генерации шуток можно было назвать в лучшем случае скромными. Сможет ли ChatGPT показать что-то новое в этой области? Давайте посмотрим!
Дисклеймер: ради улучшения качества генерации, все манипуляции проводились мной на английском языке, и потом переводились на русский.
Создание вариаций шутки
Как можно заставить ИИ пошутить? Первый подход, приходящий в голову - дав ей шутку и попросив сделать что-то похожее. Что-то похожее делал Денис, автор канала Denis Sexy IT: https://t.me/denissexy/6556
Введём для затравки анекдот "категории Б":
Запрос:
Чертит студент на доске окружность, а она у него ровная получается. Как будто циркулем нарисовал. Препод его спрашивает:
- Вы где научились так окружности рисовать?
- А я в армии два года мясорубку крутил.
Расскажи мне 2 похожие шутки.
ChatGPT:
1. Студент рисует на доске треугольник, но он совершенно перекошен. Учитель спрашивает его: «Где учился рисовать треугольники?» Студент отвечает: «Я год работал плотником и имел доступ только к кривой пиле».
2. Учащийся рисует на доске прямоугольник, но он растянут и искажен. Учитель спрашивает его: «Где ты научился так рисовать прямоугольники?» Ученик отвечает: «Некоторое время я был акробатом в цирке, так что я привык сгибать вещи не по форме».
ChatGPT изменила персонажей и детали, пытаясь создать что-то похожее. Мне понравилась шутка про кривую пилу - ChatGPT перевернула ситуацию наоборот, и от этого шутка не стала менее смешной. Хоть результат пока и воодушевляет, изначальная шутка смешна лишь из-за своей абсурдности (поэтому и относится к “категории Б”), и ChatGPT не пришлось придумывать новый “панчлайн”.
Попробуем ещё одну шутку "категории Б":
Запрос:
Штирлиц открыл дверь — свет зажегся. Штирлиц закрыл дверь — свет потух. Штирлиц вновь открыл дверь — свет зажегся, закрыл — свет потух. "Холодильник", — догадался Штирлиц.
Расскажи мне 2 похожие шутки.
ChatGPT:
«Я открыл холодильник, и свет загорелся. Я закрыл холодильник, и свет погас. Я снова открыл холодильник, и свет снова загорелся. Я закрыл холодильник, и свет снова погас. Это холодильник», — заключил Джон.
«Я открыл микроволновую печь, и свет загорелся. Я закрыл микроволновую печь, и свет погас. Я снова открыл микроволновую печь, и свет снова загорелся. Я закрыл микроволновую печь, и свет снова погас”. Это микроволновка - заключила Сара.
В этот раз ChatGPT совершенно не уловила юмор шутки, и рассказала её же с минимальными изменениями, причём раскрыв “панчлайн” сразу же в начале шутки, из-за чего юмор совершенно потерялся.
Сочинение шутки на тему
Попробуем другой подход - дать ChatGPT конкретную тему, и попросить её сочинить шутку.
Запрос:
Расскажи мне смешную шутку про СССР
ChatGPT:
Почему в СССР была короткая продолжительность жизни? Потому что им всегда приходилось стоять в очереди, чтобы умереть.
Если заменить в ответе слово "короткая" на "длинная", шутка получается на удивление хорошей! В действительности, длинные очереди были известным феноменом в СССР, и про них часто шутили. ChatGPT была очень близка!
Попробуем ещё разок:
Запрос:
Расскажи мне 5 смешных шуток о жизни в СССР
ChatGPT:
Почему в Советском Союзе в каждой семье было по два телевизора? Потому что один был для просмотра новостей, а другой для того, чтобы притворяться, что смотрит новости.
Почему в Советском Союзе шахматы были национальным видом спорта? Потому что это была единственная игра, в которой можно было победить правительство и не попасть в тюрьму.
Почему в СССР не хватало туалетной бумаги? Потому что правительство использовало её для пропагандистских плакатов.
Почему в СССР не хватало хлеба? Потому что правительство использовало его для изготовления статуй Ленина.
Почему в Советском Союзе не хватало всего? Потому что правительство было слишком занято, пытаясь контролировать погоду.
Шутки вышли не очень. Первая имеет намёк на юмор, якобы из-за цензуры один телевизор используется для просмотра официальных новостей, а второй - для каких-то запрещённых передач. Пятая шутка тоже отчасти смешная - ведь перед парадами на 9 мая существует практика разгона облаков над Москвой, чтобы обеспечить солнечную погоду - а это недешёво. Впрочем, эта практика начала применяться только после распада СССР.
Анекдоты “Радио Ереван”
Армянское радио было одним из главных героев советских анекдотов, особенно в 1960-х и 1970-х годах. Как правило, анекдоты начинаются со слов «Вопрос к Армянскому радио…» или «Армянское радио спрашивает…», после чего следуют вполне обычные вопросы и парадоксальные и нелепые ответы.
Запрос:
Сочини 5 очень смешных анекдотов Радио Ереван про компьютеры
ChatGPT:
Why did the computer get cold? Because it left its Windows open! (непереводимо)
Почему компьютер пошел к врачу? У него был вирус!
Почему компьютер устал, когда вернулся домой? Было открыто слишком много вкладок!
Why did the computer go to the bar? It wanted to get a beer-ware! (непереводимо)
Почему компьютер перестал разговаривать со своим другом? Он сказал, что чувствует аппаратное повреждение!
Очевидно, что здесь модель лукавит. 1-й и 2-й шутки уже давно существуют и легко находятся поиском в интернете. А вот 4-ю шутку я нигде не нашёл, и что-то в ней есть!
Заключение
Можно ли заключить, что ИИ научился понимать юмор? Мой научный руководитель считает, что этот вопрос может ввести в заблуждение. ИИ научился строить предложения, не просто похожие, а воспроизводящие структуру тех высказываний, которые ему были предъявлены как смешные. Но при этом он никак не пытается моделировать такие важные аспекты в юморе, как неожиданность и злободневность. Как и в случае с машинным искусством, такой юмор лишь реплицирует прежде увиденное, старясь в вариациях не уйти слишком далеко.