SlideShare a Scribd company logo
1 of 53
Download to read offline
Автоматическое распознавание
юмористической составляющей в тексте
                Докладчик
            Владислав Лисицкий

           Научный руководитель
          Борис Викторович Добров


                Москва 2010
Проблематика
Проблема 1. Распознавание смешных текстов
 Система, автоматически распознающая наличие в тексте
 юмористической составляющей и оценивающая качество
 юмора по некоторой шкале, могла бы оказаться полезной в
 задачах, связанных с классификацией текстов,
 информационным поиском и развлекательных сервисах.
Проблема 2. Генерирование смешных текстов
 Система, генерирующая смешные тексты по некоторым
 параметрам (используемые слова, тема, длина текста, …),
 могла бы применяться в системах взаимодействия с
 пользователем, развлекательных сервисах, создании
 слоганов, рекламных сообщений.
Где может использоваться?
Возможные приложения
• Составление списков интересных и смешных новостей и
  сообщений в сети (блоги)
• Информационный поиск (Жириновский + смешно)
• Классификация текстов (научный/ненаучный)
• Развлекательный сервис, оценивающий присылаемые
  пользователями шутки и генерирующий шутки по
  некоторым параметрам
• Обучающие системы и системы для упрощения
  запоминания (мнемоника)
Основные проблемы


    Работа с естественными языками

    Отсутствие специализированных инструментов для
    работы с юмористическими текстами

    Субъективность понятия «смешно»

    Большое разнообразие различных типов шуток и
    высмеиваемых тем

    Сложность представления критериев, выделяющих
    шутки из общего потока текстов, в формальном виде
Возможные подходы
    Подход, основанный на понятийных
     словарях и семантических сетях
   Суть метода заключается в рассмотрении шутки как
текста, имеющего ''сдвинутую'' семантическую структуру
(«surprise-эффект»).
   Основным инструментом являются семантические сети
(в основном, WordNet). Подход предполагает работу с
понятиями и связями между ними.
  Предполагается, что этот метод симулирует
умственную деятельность человека, придумывающего или
оценивающего шутку.
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)


Функционал:
1. Смешно расшифровывает существующие акронимы
2. По заданным концептам создаёт акронимы,
  представляющие собой слово на естественном языке

  Идея смешной расшифровки акронимов — создание
сильного контраста между настоящей и генерируемой
расшифровками.
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)

Принцип работы:

  Считывание акронима и создание внутренней логической
  структуры

  Выделение изменяемой (чаще всего прилагательные и
  наречия) и константной части (всё остальное)

  Подбор замены, начинающейся с соответствующей буквы,
  используя следующие критерии:
     
       Семантическое противопоставление (Religion vs
       Technology, Religion vs Sex, …)
     
       Репродукция рифмы и звучания
     
       Антонимическая и др. кластеризации в WordNet (для
       прилагательных)
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)

Примеры работы:
ACM - Association for Computing Machinery
    → Association for Confusing Machinery

FBI - Federal Bureau of Investigation
    → Fantastic Bureau of Intimidation

IJCAI - International Joint Conference on Artificial Intelligence
    → Irrational Joint Conference on Antenuptial Intemperance
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)

Примеры работы:
ACM - Association for Computing Machinery
    → Association for Confusing Machinery

FBI - Federal Bureau of Investigation
    → Fantastic Bureau of Intimidation

IJCAI - International Joint Conference on Artificial Intelligence
    → Irrational Joint Conference on Antenuptial Intemperance
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)

Примеры работы:
ACM - Association for Computing Machinery
    → Association for Confusing Machinery

FBI - Federal Bureau of Investigation
    → Fantastic Bureau of Intimidation

IJCAI - International Joint Conference on Artificial Intelligence
    → Irrational Joint Conference on Antenuptial Intemperance
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)

Примеры работы:
Main concept: tutoring; Attribute: intelligent
NAIVE - Negligent At-large Instruction for Vulnerable
        Extracurricular-activity

Main concept: writing; Attribute: creative
CAUSTIC - Creative Activity for Unconvincingly Sporadically
          Talkative Individualistic Commercials
Примеры
НАНАcronym
(Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY)

Примеры работы:
Main concept: tutoring; Attribute: intelligent
NAIVE - Negligent At-large Instruction for Vulnerable
        Extracurricular-activity

Main concept: writing; Attribute: creative
CAUSTIC - Creative Activity for Unconvincingly Sporadically
          Talkative Individualistic Commercials
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

  Генерирует шутки типа «вопрос-ответ» - шутки,
основанные на созвучиях и каламбурах, состоящие из
вопроса и ответа на него (обычно труднопереводимы).

Пример:
Q: What do short-sighted ghosts wear?
A: Spooktacles.

  В качестве основного приёма используется замена слова
или его части на созвучное. Основные понятия — схемы и
шаблоны.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

  Генерирует шутки типа «вопрос-ответ» - шутки,
основанные на созвучиях и каламбурах, состоящие из
вопроса и ответа на него (обычно труднопереводимы).

Пример:
Q: What do short-sighted ghosts wear?
A: Spooktacles. [Spectacles]

  В качестве основного приёма используется замена слова
или его части на созвучное. Основные понятия — схемы и
шаблоны.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)




Template:                                     Q: What do you get when you cross
What do you get when you cross                   a sheep and a kangaroo?
$first and $second?                           A: A woolly jumper.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)




Template:                                     Q: What do you get when you cross
What do you get when you cross                   a sheep and a kangaroo?
$first and $second?                           A: A woolly jumper.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)




Template:
What’s $first and $second?                       Q: What’s green and bounces?
                                                 A: A spring cabbage.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)




Template:
What’s $first and $second?                       Q: What’s green and bounces?
                                                 A: A spring cabbage.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

Примеры работы:
Q: What do you call a perforated relic?
A: A holey grail. [Holy]

Q: What kind of emotion has bits?
A: A love byte.

Q: How is a nice girl like a sugary bird?
A: Each is a sweet chick.

Q: What is the difference between leaves and a car?
A: One you brush and rake, the other you rush and brake.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

Примеры работы:
Q: What do you call a perforated relic?
A: A holey grail. [Holy]

Q: What kind of emotion has bits?
A: A love byte.

Q: How is a nice girl like a sugary bird?
A: Each is a sweet chick.

Q: What is the difference between leaves and a car?
A: One you brush and rake, the other you rush and brake.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

Примеры работы:
Q: What do you call a perforated relic?
A: A holey grail. [Holy]

Q: What kind of emotion has bits?
A: A love byte.

Q: How is a nice girl like a sugary bird?
A: Each is a sweet chick.

Q: What is the difference between leaves and a car?
A: One you brush and rake, the other you rush and brake.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

Примеры работы:
Q: What do you call a perforated relic?
A: A holey grail. [Holy]

Q: What kind of emotion has bits?
A: A love byte.

Q: How is a nice girl like a sugary bird?
A: Each is a sweet chick.

Q: What is the difference between leaves and a car?
A: One you brush and rake, the other you rush and brake.
Примеры
JAPE (Joke Analysis and Production Engine)
(Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland)

Примеры работы:
Q: What do you call a perforated relic?
A: A holey grail. [Holy]

Q: What kind of emotion has bits?
A: A love byte.

Q: How is a nice girl like a sugary bird?
A: Each is a sweet chick.

Q: What is the difference between leaves and a car?
A: One you brush and rake, the other you rush and brake.
Возможные подходы
       Подход, основанный на понятийных
        словарях и семантических сетях
Преимущества:
  
      Получается генерировать смешные шутки
  
      Относительно простая реализация
Недостатки:
  ●
      Работает для достаточно узкого типа шуток
  ●
      Слабо применим к задаче распознавания шуток
Возможные подходы

 Подход, основанный на сравнении текстов
  Суть метода заключается в сравнении текста,
поступившего на вход, с текстами из некоторого «базового»
набора, все тексты из которого считаются заведомо
смешными.
  Предполагается, что если текст, поступивший на вход, в
достаточной степени похож на другой (заведомо смешной)
текст, то и текст, поступивший на вход, является смешным.
  Данный подход мало изучен, работающих проектов нет.
Краткое описание
         первого этапа работы

   На первом этапе было сформулировано предположение
о повторяемости шуток (см. следующий слайд).
  В случае, если это предположение оказалось бы верным,
мы бы получили простой и эффективный инструмент для
выявления смешных текстов на основе сравнения их с
заведомо смешными текстами.
  Таким образом, целью первого этапа работы было
доказательство или опровержение этого предположения.
Предположение о
          повторяемости шуток
                (ПоПШ)
Суть предположения:

    Большая часть шуток, претендующих на новизну, на
    самом деле является переделанными
    (актуализированными, перефразированными или
    такими же по структуре) старыми шутками

    Доля по-настоящему новых шуток постепенно
    убывает

Основание — юмористические шоу, ТВ-передачи.
Примеры
         «второй жизни» шуток
Перефразированные шутки
Внимание, акция!!! Купи автомобиль "Ока", загляни под
капот и выиграй! Под каждым десятым капотом —
двигатель! В каждом пятом двигателе — масло! Каждое
третье масло — моторное! Не пропустите!
(http://anekdot.ru/id/441071)
Акция: покупайте автомобиль "Ока"! Под каждой третьей
крышечкой капота — двигатель. В каждом десятом
двигателе - масло, в каждом сотом — машинное.
Торопитесь! Количество двигателей — три.
(http://www.anekdot.ru/id/85962)
Примеры
         «второй жизни» шуток
Актуализированные шутки:

Захотелось как-то Брежневу покататься на машине.
Пересадил он водителя на пассажирское место, сам сел за
руль. По дороге за превышение скорости его останавливает
ГАИшник, сразу отпускает и испуганно возвращается на
пост.
Другой ГАИшник его спрашивает:
- Это кто был?
- Не знаю, но водитель у него сам Брежнев!
Примеры
         «второй жизни» шуток
Актуализированные шутки:

Захотелось как-то Путину покататься на машине.
Пересадил он водителя на пассажирское место, сам сел за
руль. По дороге за превышение скорости его останавливает
ГИБДДшник, сразу отпускает и испуганно возвращается на
пост.
Другой ГИБДДшник его спрашивает:
- Это кто был?
- Не знаю, но водитель у него сам Путин!
Идея метода
              проверки ПоПШ
Проверку предположения о повторяемости шуток было
решено произвести следующим образом:
1) Собрать достаточно объёмную базу смешных текстов и
   принять её за «базис» - набор текстов, которые мы
   считаем смешными по умолчанию
Идея метода
              проверки ПоПШ
Проверку предположения о повторяемости шуток было
решено произвести следующим образом:
2) Собрать «рабочую» базу текстов, состоящую как из
   смешных, так и из не смешных текстов, не имеющую
   прямого пересечения с «базисным» набором (для этого
   достаточно использовать другие источники)
Идея метода
              проверки ПоПШ
Проверку предположения о повторяемости шуток было
решено произвести следующим образом:
3) Для каждого текста из «рабочего» набора найти все
   похожие на него тексты из «базисного» набора
                           k11
                          k13

                                k1j
Идея метода
               проверки ПоПШ
Проверку предположения о повторяемости шуток было
решено произвести следующим образом:
4) Изучить полученные наборы похожих текстов, оценить
   «порог похожести» текстов, оценить качество селекции
   смешных текстов
                            k11
                          k13

                              k1j
                          Оценка
                       адекватности k
Идея метода
              проверки ПоПШ
Проверку предположения о повторяемости шуток было
решено произвести следующим образом:
5) Считать ПоПШ доказанным, если:
   ●
     для подавляющего количества смешных текстов из
     «рабочего» набора находятся действительно похожие
     на них тексты из «базового» набора;
   ●
     для подавляющего количества не смешных текстов из
     «рабочего» набора действительно похожих на них
     текстов из «базового» набора не находится.

Иначе — корректировать «базовый» набор и механизм
сравнения, либо считать ПоПШ опровергнутым.
«Базисный» набор
  В качестве «базисного» набора была взята база
анекдотов с сайта http://anekdot.ru c января 1996 года по
март 2010 года.
   Выбор был обусловлен тем, что перед публикацией на
сайте анекдоты проходят модерацию, следовательно можно
с определённой долей уверенности считать, что каждый из
них так или иначе содержит какую-то юмористическую
составляющую.
  В итоге мощность «базисного» набора составила около
80 000 текстов.
«Рабочий» набор
Источниками для составления «рабочего» набора послужили:
• Истории с сайта http://anekdot.ru (не вошедшие в «базисный»
  набор)
• Истории с сайта http://nefart.ru (истории о произошедших с людьми
  неудачах)
• Истории с сайта http://bash.org.ru (смешные истории из интернет-
  переписки)
• Законы Мёрфи (законы подлости, работающие в реальной жизни)
• Цитаты из популярных фильмов (оторванные от контекста)
В «рабочем» наборе было использовано по 200 текстов из каждого
из вышеперечисленных источников, т.е. итоговая мощность
«рабочего» набора составила 1000 текстов.
Сравнение текстов

  Для сравнения анекдотов использовался модуль
сравнения новостных документов, разработанный в
НИВЦ МГУ.

  Оценка тематической близости документов основана
на вычислении некоторой меры близости Sim (di , dj) —
рационального числа, принадлежащего отрезку [0, 1].

  Используемой мерой близости между векторами
текстовых документов в пространстве их признаков
является косинусная мера, вычисляющая значение
косинуса между двумя векторами документов.
Сравнение текстов
 Формула расчёта Sim (di , dj):
                              < wi , w j >                    wik             w jk
Sim (d i , d j )   =                                  =   ∑               ⋅
                        < wi , wi > ⋅ < w j , w j >       k   ∑   wim 2       ∑   w jl 2
                                                              m               l

  где wi = {wim , m = 1, M } — вектор учитываемых признаков
  i-того документа.

  В свою очередь,         wim = 0,4 + 0,6 ⋅ tf ( wm , d i ) ⋅ idf ( wm ) ,
  где для ранжирования лемм используется модификация
  формулы BM25.
Сравнение текстов
Формулы расчёта tf(wm, di) и idf(wm):

                                                     freq ( wm , d i )
        tf ( wm , d i ) =
                          freq ( wm , d i ) + k1 + k 2 * L _ dlina (d i ) / avg _ L _ dlina )

freq(wi,dj) – частотность леммы wi в документе dj,              k1 = 0.5,      k2 = 1.5,
L_dlina(dj) – длина документа, измеряемая в разных леммах,
avg_L_dlina – «средняя» длина документа, измеряемая в разных леммах




dfL(wi) – количество документов по коллекции L, содержащих лемму wi,
γ =0.16 , ρ = 1.0
Сравнение текстов
Формулы расчёта tf(wm, di) и idf(wm):

                                                     freq ( wm , d i )
        tf ( wm , d i ) =
                          freq ( wm , d i ) + k1 + k 2 * L _ dlina (d i ) / avg _ L _ dlina )

freq(wi,dj) – частотность леммы wi в документе dj,              k1 = 0.5,      k2 = 1.5,
L_dlina(dj) – длина документа, измеряемая в разных леммах,
avg_L_dlina – «средняя» длина документа, измеряемая в разных леммах

                         idf ( wm ) = 1. − γ ⋅ max{ ρ , lg(df L ( wm ) }

dfL(wi) – количество документов по коллекции L, содержащих лемму wi,
γ =0.16 , ρ = 1.0
Сравнение текстов

Некоторые особенности:

   В качестве частотного списка dfL(wi) используется список лемм
    с частотностями по документам из коллекции Рамблер.Новости
    за октябрь-ноябрь 2008 года (миллион документов)

    Используется словарь стандартных стоп-слов

    Слова с большой буквы получают немного больший вес

    Для некоторого количества слов важных/неважных для
    обработки новостей веса модернизируются
Программа
Примеры выдачи
<Throyanec> долго думали - чего котенку в организме не хватает,
если оно ест полиэтилен
<Throyanec> решили, что мозгов..
Коэфф.                                    Текст
  0.96   Долго думали - чего котенку в организме не хватает, если он ест
         полиэтилен. Решили, что мозгов..
  0.69   Ученые долго думали чего же не хватает в организме женщины, если
         она ест ногти.. решили что мозгов.
  0.39   - Моя дочь ест соленые огурцы, наверно, в организме чего-нибудь не
           хватает...
         - Мозгов не хватает... раньше думать было надо!
  0.30   Премьер долго думал и наконец решил, что в 2012 году Президентом
         опять станет его Аватар.
  0.30   Если вы в чего-то верите, это еще не значит, что оно есть.
         Если вы в кого-то верите, это еще не значит, что он верит в себя.
Примеры выдачи
Тот, кто смеется последним, возможно не понял шутки.
Коэфф.                                   Текст
  0.59   Хорошо смеется тот, кто стреляет последним.
  0.53   Тот, кто смеется последним,.. просто не врубился сразу.
  0.44   Хорошо смеется тот, кто быстро бегает!
  0.41   Петросян – шутки для тех у кого нет интернета.
  0.40   ``Для тех, кому за $30``
  0.38   Кто в пробках постоял, тот над мопедом не смеется!
  0.36   Надежда умирает предпоследней. Последним умирает тот, кто
         надеется.
  0.35   Шутка считается удачной - если ты смеешься последним, полуудачной
         — если ты смеешься первым, и неудачной - если ты не успел
         посмеяться.
Распределение                                                                                           Коэфф.       Кол-во
                                                                                                                                                                       текстов

                                                                                                                                                          [0.0, 0.1]    1026
                     80000


                                                                                                                                                          (0.1, 0.2]   66722
                     70000
                                       66722


                                                                                                                                                          (0.2, 0.3]   28750
                     60000


                                                                                                                                                          (0.3, 0.4]    2284
                     50000
Количество текстов




                                                                                                                                                          (0.4, 0.5]    158
                     40000


                                                                                                                                                          (0.5, 0.6]     35
                     30000                          28750



                                                                                                                                                          (0.6, 0.7]     11
                     20000


                                                                                                                                                          (0.7, 0.8]     3
                     10000


                             1026
                                                                  2284
                                                                               158           35           11           3            3            8
                                                                                                                                                          (0.8, 0.9]     3
                         0
                        [0.0, 0.1]   (0.1, 0.2]   (0.2, 0.3]   (0.3, 0.4]   (0.4, 0.5]   (0.5, 0.6]   (0.6, 0.7]   (0.7, 0.8]   (0.8, 0.9]   (0.9, 1.0]

                                                                            Коэффициент                                                                   (0.9, 1.0]     8
Распределение                                                                                           Коэфф.       Кол-во
                                                                                                                                                                       текстов

                                                                                                                                                          [0.0, 0.1]    1026
                     80000


                                                                                                                                                          (0.1, 0.2]   66722
                     70000
                                       66722


                                                                                                                                                          (0.2, 0.3]   28750
                     60000


                                                                                                                                                          (0.3, 0.4]    2284
                     50000
Количество текстов




                                                                                                                                                          (0.4, 0.5]    158
                     40000


                                                                                                                                                          (0.5, 0.6]     35
                     30000                          28750



                                                                                                                                                          (0.6, 0.7]     11
                     20000


                                                                                                                                                          (0.7, 0.8]     3
                     10000


                             1026
                                                                  2284
                                                                               158           35           11           3            3            8
                                                                                                                                                          (0.8, 0.9]     3
                         0
                        [0.0, 0.1]   (0.1, 0.2]   (0.2, 0.3]   (0.3, 0.4]   (0.4, 0.5]   (0.5, 0.6]   (0.6, 0.7]   (0.7, 0.8]   (0.8, 0.9]   (0.9, 1.0]

                                                                            Коэффициент                                                                   (0.9, 1.0]     8
Распределение
            Результаты ручной обработки

Ручная обработка                  Коэфф.       Похожи   Не похожи % похожих
проводилась для текстов,
                                 (0.4, 0.45]     20        92      17,86%
коэффициент похожести
которых был больше 0,4.          (0.45, 0.5]     20        26      43,48%

Цель ручной обработки —          (0.5, 0.55]     14        10      58,33%
оценить «порог схожести», т.е.   (0.55, 0.6]     9         2       81,82%
минимальное значение
коэффициента похожести, при      (0.6, 0.65]     4         0        100%
котором тексты оказывались
                                 (0.65, 0.7]     6         1       85,71%
действительно похожими
                                 (0.7, 1.0]      14        0        100%
Результаты сравнения
              наборов
В результате сравнения наборов выяснилось следующее:
  – Для большинства смешных текстов из «рабочего»
    набора не удалось найти действительно похожих
    текстов из «базисного» набора
  – По количеству похожих текстов и степени похожести
    на тексты «базисного» набора невозможно разбить
    «рабочий» набор на смешные и не смешные тексты
  – Был определён «порог похожести» текстов — в
    среднем при коэффициенте схожести, большем 0.55,
    тексты оказываются действительно похожими
Итоги и выводы
Что было сделано:
• Проверялось предположение о повторяемости шуток
  (значительная часть «новых» шуток уже известна или
  представляет собой малое изменение известных шуток)
• Образованы тестовые коллекции текстов -
  «базовый» (~80 000 анекдотов с http://anekdot.ru) и
  «рабочий» (1 000 = 200 х 5 текстов из разных источников)
• Построена матрица близости между документами на
  основе косинусной меры близости
• Сформировано приложение для оценки полученных
  результатов
Итоги и выводы
Что удалось выяснить:
• При коэффициенте близости > 0.55 со степенью доверия
  80% документы реально похожи
• Только 1% документов имеет документы с
  коэффициентов близости > 0.55
Итоги:

    Предположение о повторяемости шуток не
    подтвердилось

    Возможно, даже 1% - не такой уж плохой результат,
    учитывая большой поток документов
Планы на будущее
• Расширить «базовый» набор
      •   Привлечь другие источники
      •   Изучить пересечение наборов из разных источников
      •   Использовать другие жанры (истории, интересные факты)
• Улучшить механизм сравнения
      •   Выделить типы анекдотов (Вовочка, ВИЧ, …)
      •   Использовать переменные имена героев
      •   Синонимы, тезаурус
• Попытаться оценить уровень юмора
• Испытать на реальных данных (миллион документов из
  Яндекс.Блогов)
Спасибо!
Ваши вопросы?

More Related Content

More from Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ

More from Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ (20)

Можарова. Автоматическое извлечение именованных сущностей методами машинного ...
Можарова. Автоматическое извлечение именованных сущностей методами машинного ...Можарова. Автоматическое извлечение именованных сущностей методами машинного ...
Можарова. Автоматическое извлечение именованных сущностей методами машинного ...
 
Сапин. Интеллектуальные агенты и обучение с подкреплением
Сапин. Интеллектуальные агенты и обучение с подкреплениемСапин. Интеллектуальные агенты и обучение с подкреплением
Сапин. Интеллектуальные агенты и обучение с подкреплением
 
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстовСмолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
 
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
 
Тодуа. Сериализация и язык YAML
Тодуа. Сериализация и язык YAMLТодуа. Сериализация и язык YAML
Тодуа. Сериализация и язык YAML
 
Савкуев. Построение формального описания фотографий на основе контекстно-собы...
Савкуев. Построение формального описания фотографий на основе контекстно-собы...Савкуев. Построение формального описания фотографий на основе контекстно-собы...
Савкуев. Построение формального описания фотографий на основе контекстно-собы...
 
Савостин. Системы и методы научного поиска и мониторинга
Савостин. Системы и методы научного поиска и мониторингаСавостин. Системы и методы научного поиска и мониторинга
Савостин. Системы и методы научного поиска и мониторинга
 
Мищенко. Методы автоматического определения наиболее частотного значения слова.
Мищенко. Методы автоматического определения наиболее частотного значения слова.Мищенко. Методы автоматического определения наиболее частотного значения слова.
Мищенко. Методы автоматического определения наиболее частотного значения слова.
 
Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...
Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...
Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...
 
Панфилов. Корпусы текстов и принципы их создания
Панфилов. Корпусы текстов и принципы их созданияПанфилов. Корпусы текстов и принципы их создания
Панфилов. Корпусы текстов и принципы их создания
 
Муромцев. Обзор библиографических менеджеров
Муромцев. Обзор библиографических менеджеровМуромцев. Обзор библиографических менеджеров
Муромцев. Обзор библиографических менеджеров
 
Можарова Тематические модели: учет сходства между униграммами и биграммами.
Можарова Тематические модели: учет сходства между униграммами и биграммами.Можарова Тематические модели: учет сходства между униграммами и биграммами.
Можарова Тематические модели: учет сходства между униграммами и биграммами.
 
Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.
Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.
Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.
 
Баев Системы для обучения программированию
Баев Системы для обучения программированиюБаев Системы для обучения программированию
Баев Системы для обучения программированию
 
Иванов. Модель Belief-Desire-Intention (BDI)
Иванов. Модель Belief-Desire-Intention (BDI)Иванов. Модель Belief-Desire-Intention (BDI)
Иванов. Модель Belief-Desire-Intention (BDI)
 
Тодуа. Методы разработки интерпретатора языка Рефал-2
Тодуа. Методы разработки интерпретатора языка Рефал-2Тодуа. Методы разработки интерпретатора языка Рефал-2
Тодуа. Методы разработки интерпретатора языка Рефал-2
 
смирнов Data mining
смирнов Data miningсмирнов Data mining
смирнов Data mining
 
рогова обзор средств поддержки обучения программированию
рогова обзор средств поддержки обучения программированиюрогова обзор средств поддержки обучения программированию
рогова обзор средств поддержки обучения программированию
 
курышев рекомендательные системы
курышев рекомендательные системыкурышев рекомендательные системы
курышев рекомендательные системы
 
куликов Sketch engine ord
куликов Sketch engine ordкуликов Sketch engine ord
куликов Sketch engine ord
 

Автоматическое распознавание юмористической составляющей в текстах

  • 1. Автоматическое распознавание юмористической составляющей в тексте Докладчик Владислав Лисицкий Научный руководитель Борис Викторович Добров Москва 2010
  • 2. Проблематика Проблема 1. Распознавание смешных текстов Система, автоматически распознающая наличие в тексте юмористической составляющей и оценивающая качество юмора по некоторой шкале, могла бы оказаться полезной в задачах, связанных с классификацией текстов, информационным поиском и развлекательных сервисах. Проблема 2. Генерирование смешных текстов Система, генерирующая смешные тексты по некоторым параметрам (используемые слова, тема, длина текста, …), могла бы применяться в системах взаимодействия с пользователем, развлекательных сервисах, создании слоганов, рекламных сообщений.
  • 3. Где может использоваться? Возможные приложения • Составление списков интересных и смешных новостей и сообщений в сети (блоги) • Информационный поиск (Жириновский + смешно) • Классификация текстов (научный/ненаучный) • Развлекательный сервис, оценивающий присылаемые пользователями шутки и генерирующий шутки по некоторым параметрам • Обучающие системы и системы для упрощения запоминания (мнемоника)
  • 4. Основные проблемы  Работа с естественными языками  Отсутствие специализированных инструментов для работы с юмористическими текстами  Субъективность понятия «смешно»  Большое разнообразие различных типов шуток и высмеиваемых тем  Сложность представления критериев, выделяющих шутки из общего потока текстов, в формальном виде
  • 5. Возможные подходы Подход, основанный на понятийных словарях и семантических сетях Суть метода заключается в рассмотрении шутки как текста, имеющего ''сдвинутую'' семантическую структуру («surprise-эффект»). Основным инструментом являются семантические сети (в основном, WordNet). Подход предполагает работу с понятиями и связями между ними. Предполагается, что этот метод симулирует умственную деятельность человека, придумывающего или оценивающего шутку.
  • 6. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Функционал: 1. Смешно расшифровывает существующие акронимы 2. По заданным концептам создаёт акронимы, представляющие собой слово на естественном языке Идея смешной расшифровки акронимов — создание сильного контраста между настоящей и генерируемой расшифровками.
  • 7. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Принцип работы:  Считывание акронима и создание внутренней логической структуры  Выделение изменяемой (чаще всего прилагательные и наречия) и константной части (всё остальное)  Подбор замены, начинающейся с соответствующей буквы, используя следующие критерии:  Семантическое противопоставление (Religion vs Technology, Religion vs Sex, …)  Репродукция рифмы и звучания  Антонимическая и др. кластеризации в WordNet (для прилагательных)
  • 8. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Примеры работы: ACM - Association for Computing Machinery → Association for Confusing Machinery FBI - Federal Bureau of Investigation → Fantastic Bureau of Intimidation IJCAI - International Joint Conference on Artificial Intelligence → Irrational Joint Conference on Antenuptial Intemperance
  • 9. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Примеры работы: ACM - Association for Computing Machinery → Association for Confusing Machinery FBI - Federal Bureau of Investigation → Fantastic Bureau of Intimidation IJCAI - International Joint Conference on Artificial Intelligence → Irrational Joint Conference on Antenuptial Intemperance
  • 10. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Примеры работы: ACM - Association for Computing Machinery → Association for Confusing Machinery FBI - Federal Bureau of Investigation → Fantastic Bureau of Intimidation IJCAI - International Joint Conference on Artificial Intelligence → Irrational Joint Conference on Antenuptial Intemperance
  • 11. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Примеры работы: Main concept: tutoring; Attribute: intelligent NAIVE - Negligent At-large Instruction for Vulnerable Extracurricular-activity Main concept: writing; Attribute: creative CAUSTIC - Creative Activity for Unconvincingly Sporadically Talkative Individualistic Commercials
  • 12. Примеры НАНАcronym (Istituto per la Ricerca Scientica e Tecnologica, Trento, ITALY) Примеры работы: Main concept: tutoring; Attribute: intelligent NAIVE - Negligent At-large Instruction for Vulnerable Extracurricular-activity Main concept: writing; Attribute: creative CAUSTIC - Creative Activity for Unconvincingly Sporadically Talkative Individualistic Commercials
  • 13. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Генерирует шутки типа «вопрос-ответ» - шутки, основанные на созвучиях и каламбурах, состоящие из вопроса и ответа на него (обычно труднопереводимы). Пример: Q: What do short-sighted ghosts wear? A: Spooktacles. В качестве основного приёма используется замена слова или его части на созвучное. Основные понятия — схемы и шаблоны.
  • 14. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Генерирует шутки типа «вопрос-ответ» - шутки, основанные на созвучиях и каламбурах, состоящие из вопроса и ответа на него (обычно труднопереводимы). Пример: Q: What do short-sighted ghosts wear? A: Spooktacles. [Spectacles] В качестве основного приёма используется замена слова или его части на созвучное. Основные понятия — схемы и шаблоны.
  • 15. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Template: Q: What do you get when you cross What do you get when you cross a sheep and a kangaroo? $first and $second? A: A woolly jumper.
  • 16. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Template: Q: What do you get when you cross What do you get when you cross a sheep and a kangaroo? $first and $second? A: A woolly jumper.
  • 17. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Template: What’s $first and $second? Q: What’s green and bounces? A: A spring cabbage.
  • 18. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Template: What’s $first and $second? Q: What’s green and bounces? A: A spring cabbage.
  • 19. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Примеры работы: Q: What do you call a perforated relic? A: A holey grail. [Holy] Q: What kind of emotion has bits? A: A love byte. Q: How is a nice girl like a sugary bird? A: Each is a sweet chick. Q: What is the difference between leaves and a car? A: One you brush and rake, the other you rush and brake.
  • 20. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Примеры работы: Q: What do you call a perforated relic? A: A holey grail. [Holy] Q: What kind of emotion has bits? A: A love byte. Q: How is a nice girl like a sugary bird? A: Each is a sweet chick. Q: What is the difference between leaves and a car? A: One you brush and rake, the other you rush and brake.
  • 21. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Примеры работы: Q: What do you call a perforated relic? A: A holey grail. [Holy] Q: What kind of emotion has bits? A: A love byte. Q: How is a nice girl like a sugary bird? A: Each is a sweet chick. Q: What is the difference between leaves and a car? A: One you brush and rake, the other you rush and brake.
  • 22. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Примеры работы: Q: What do you call a perforated relic? A: A holey grail. [Holy] Q: What kind of emotion has bits? A: A love byte. Q: How is a nice girl like a sugary bird? A: Each is a sweet chick. Q: What is the difference between leaves and a car? A: One you brush and rake, the other you rush and brake.
  • 23. Примеры JAPE (Joke Analysis and Production Engine) (Department of Artificial Intelligence, University of Edinburgh, Edinburgh, Scotland) Примеры работы: Q: What do you call a perforated relic? A: A holey grail. [Holy] Q: What kind of emotion has bits? A: A love byte. Q: How is a nice girl like a sugary bird? A: Each is a sweet chick. Q: What is the difference between leaves and a car? A: One you brush and rake, the other you rush and brake.
  • 24. Возможные подходы Подход, основанный на понятийных словарях и семантических сетях Преимущества:  Получается генерировать смешные шутки  Относительно простая реализация Недостатки: ● Работает для достаточно узкого типа шуток ● Слабо применим к задаче распознавания шуток
  • 25. Возможные подходы Подход, основанный на сравнении текстов Суть метода заключается в сравнении текста, поступившего на вход, с текстами из некоторого «базового» набора, все тексты из которого считаются заведомо смешными. Предполагается, что если текст, поступивший на вход, в достаточной степени похож на другой (заведомо смешной) текст, то и текст, поступивший на вход, является смешным. Данный подход мало изучен, работающих проектов нет.
  • 26. Краткое описание первого этапа работы На первом этапе было сформулировано предположение о повторяемости шуток (см. следующий слайд). В случае, если это предположение оказалось бы верным, мы бы получили простой и эффективный инструмент для выявления смешных текстов на основе сравнения их с заведомо смешными текстами. Таким образом, целью первого этапа работы было доказательство или опровержение этого предположения.
  • 27. Предположение о повторяемости шуток (ПоПШ) Суть предположения:  Большая часть шуток, претендующих на новизну, на самом деле является переделанными (актуализированными, перефразированными или такими же по структуре) старыми шутками  Доля по-настоящему новых шуток постепенно убывает Основание — юмористические шоу, ТВ-передачи.
  • 28. Примеры «второй жизни» шуток Перефразированные шутки Внимание, акция!!! Купи автомобиль "Ока", загляни под капот и выиграй! Под каждым десятым капотом — двигатель! В каждом пятом двигателе — масло! Каждое третье масло — моторное! Не пропустите! (http://anekdot.ru/id/441071) Акция: покупайте автомобиль "Ока"! Под каждой третьей крышечкой капота — двигатель. В каждом десятом двигателе - масло, в каждом сотом — машинное. Торопитесь! Количество двигателей — три. (http://www.anekdot.ru/id/85962)
  • 29. Примеры «второй жизни» шуток Актуализированные шутки: Захотелось как-то Брежневу покататься на машине. Пересадил он водителя на пассажирское место, сам сел за руль. По дороге за превышение скорости его останавливает ГАИшник, сразу отпускает и испуганно возвращается на пост. Другой ГАИшник его спрашивает: - Это кто был? - Не знаю, но водитель у него сам Брежнев!
  • 30. Примеры «второй жизни» шуток Актуализированные шутки: Захотелось как-то Путину покататься на машине. Пересадил он водителя на пассажирское место, сам сел за руль. По дороге за превышение скорости его останавливает ГИБДДшник, сразу отпускает и испуганно возвращается на пост. Другой ГИБДДшник его спрашивает: - Это кто был? - Не знаю, но водитель у него сам Путин!
  • 31. Идея метода проверки ПоПШ Проверку предположения о повторяемости шуток было решено произвести следующим образом: 1) Собрать достаточно объёмную базу смешных текстов и принять её за «базис» - набор текстов, которые мы считаем смешными по умолчанию
  • 32. Идея метода проверки ПоПШ Проверку предположения о повторяемости шуток было решено произвести следующим образом: 2) Собрать «рабочую» базу текстов, состоящую как из смешных, так и из не смешных текстов, не имеющую прямого пересечения с «базисным» набором (для этого достаточно использовать другие источники)
  • 33. Идея метода проверки ПоПШ Проверку предположения о повторяемости шуток было решено произвести следующим образом: 3) Для каждого текста из «рабочего» набора найти все похожие на него тексты из «базисного» набора k11 k13 k1j
  • 34. Идея метода проверки ПоПШ Проверку предположения о повторяемости шуток было решено произвести следующим образом: 4) Изучить полученные наборы похожих текстов, оценить «порог похожести» текстов, оценить качество селекции смешных текстов k11 k13 k1j Оценка адекватности k
  • 35. Идея метода проверки ПоПШ Проверку предположения о повторяемости шуток было решено произвести следующим образом: 5) Считать ПоПШ доказанным, если: ● для подавляющего количества смешных текстов из «рабочего» набора находятся действительно похожие на них тексты из «базового» набора; ● для подавляющего количества не смешных текстов из «рабочего» набора действительно похожих на них текстов из «базового» набора не находится. Иначе — корректировать «базовый» набор и механизм сравнения, либо считать ПоПШ опровергнутым.
  • 36. «Базисный» набор В качестве «базисного» набора была взята база анекдотов с сайта http://anekdot.ru c января 1996 года по март 2010 года. Выбор был обусловлен тем, что перед публикацией на сайте анекдоты проходят модерацию, следовательно можно с определённой долей уверенности считать, что каждый из них так или иначе содержит какую-то юмористическую составляющую. В итоге мощность «базисного» набора составила около 80 000 текстов.
  • 37. «Рабочий» набор Источниками для составления «рабочего» набора послужили: • Истории с сайта http://anekdot.ru (не вошедшие в «базисный» набор) • Истории с сайта http://nefart.ru (истории о произошедших с людьми неудачах) • Истории с сайта http://bash.org.ru (смешные истории из интернет- переписки) • Законы Мёрфи (законы подлости, работающие в реальной жизни) • Цитаты из популярных фильмов (оторванные от контекста) В «рабочем» наборе было использовано по 200 текстов из каждого из вышеперечисленных источников, т.е. итоговая мощность «рабочего» набора составила 1000 текстов.
  • 38. Сравнение текстов Для сравнения анекдотов использовался модуль сравнения новостных документов, разработанный в НИВЦ МГУ. Оценка тематической близости документов основана на вычислении некоторой меры близости Sim (di , dj) — рационального числа, принадлежащего отрезку [0, 1]. Используемой мерой близости между векторами текстовых документов в пространстве их признаков является косинусная мера, вычисляющая значение косинуса между двумя векторами документов.
  • 39. Сравнение текстов Формула расчёта Sim (di , dj): < wi , w j > wik w jk Sim (d i , d j ) = = ∑ ⋅ < wi , wi > ⋅ < w j , w j > k ∑ wim 2 ∑ w jl 2 m l где wi = {wim , m = 1, M } — вектор учитываемых признаков i-того документа. В свою очередь, wim = 0,4 + 0,6 ⋅ tf ( wm , d i ) ⋅ idf ( wm ) , где для ранжирования лемм используется модификация формулы BM25.
  • 40. Сравнение текстов Формулы расчёта tf(wm, di) и idf(wm): freq ( wm , d i ) tf ( wm , d i ) = freq ( wm , d i ) + k1 + k 2 * L _ dlina (d i ) / avg _ L _ dlina ) freq(wi,dj) – частотность леммы wi в документе dj, k1 = 0.5, k2 = 1.5, L_dlina(dj) – длина документа, измеряемая в разных леммах, avg_L_dlina – «средняя» длина документа, измеряемая в разных леммах dfL(wi) – количество документов по коллекции L, содержащих лемму wi, γ =0.16 , ρ = 1.0
  • 41. Сравнение текстов Формулы расчёта tf(wm, di) и idf(wm): freq ( wm , d i ) tf ( wm , d i ) = freq ( wm , d i ) + k1 + k 2 * L _ dlina (d i ) / avg _ L _ dlina ) freq(wi,dj) – частотность леммы wi в документе dj, k1 = 0.5, k2 = 1.5, L_dlina(dj) – длина документа, измеряемая в разных леммах, avg_L_dlina – «средняя» длина документа, измеряемая в разных леммах idf ( wm ) = 1. − γ ⋅ max{ ρ , lg(df L ( wm ) } dfL(wi) – количество документов по коллекции L, содержащих лемму wi, γ =0.16 , ρ = 1.0
  • 42. Сравнение текстов Некоторые особенности:  В качестве частотного списка dfL(wi) используется список лемм с частотностями по документам из коллекции Рамблер.Новости за октябрь-ноябрь 2008 года (миллион документов)  Используется словарь стандартных стоп-слов  Слова с большой буквы получают немного больший вес  Для некоторого количества слов важных/неважных для обработки новостей веса модернизируются
  • 44. Примеры выдачи <Throyanec> долго думали - чего котенку в организме не хватает, если оно ест полиэтилен <Throyanec> решили, что мозгов.. Коэфф. Текст 0.96 Долго думали - чего котенку в организме не хватает, если он ест полиэтилен. Решили, что мозгов.. 0.69 Ученые долго думали чего же не хватает в организме женщины, если она ест ногти.. решили что мозгов. 0.39 - Моя дочь ест соленые огурцы, наверно, в организме чего-нибудь не хватает... - Мозгов не хватает... раньше думать было надо! 0.30 Премьер долго думал и наконец решил, что в 2012 году Президентом опять станет его Аватар. 0.30 Если вы в чего-то верите, это еще не значит, что оно есть. Если вы в кого-то верите, это еще не значит, что он верит в себя.
  • 45. Примеры выдачи Тот, кто смеется последним, возможно не понял шутки. Коэфф. Текст 0.59 Хорошо смеется тот, кто стреляет последним. 0.53 Тот, кто смеется последним,.. просто не врубился сразу. 0.44 Хорошо смеется тот, кто быстро бегает! 0.41 Петросян – шутки для тех у кого нет интернета. 0.40 ``Для тех, кому за $30`` 0.38 Кто в пробках постоял, тот над мопедом не смеется! 0.36 Надежда умирает предпоследней. Последним умирает тот, кто надеется. 0.35 Шутка считается удачной - если ты смеешься последним, полуудачной — если ты смеешься первым, и неудачной - если ты не успел посмеяться.
  • 46. Распределение Коэфф. Кол-во текстов [0.0, 0.1] 1026 80000 (0.1, 0.2] 66722 70000 66722 (0.2, 0.3] 28750 60000 (0.3, 0.4] 2284 50000 Количество текстов (0.4, 0.5] 158 40000 (0.5, 0.6] 35 30000 28750 (0.6, 0.7] 11 20000 (0.7, 0.8] 3 10000 1026 2284 158 35 11 3 3 8 (0.8, 0.9] 3 0 [0.0, 0.1] (0.1, 0.2] (0.2, 0.3] (0.3, 0.4] (0.4, 0.5] (0.5, 0.6] (0.6, 0.7] (0.7, 0.8] (0.8, 0.9] (0.9, 1.0] Коэффициент (0.9, 1.0] 8
  • 47. Распределение Коэфф. Кол-во текстов [0.0, 0.1] 1026 80000 (0.1, 0.2] 66722 70000 66722 (0.2, 0.3] 28750 60000 (0.3, 0.4] 2284 50000 Количество текстов (0.4, 0.5] 158 40000 (0.5, 0.6] 35 30000 28750 (0.6, 0.7] 11 20000 (0.7, 0.8] 3 10000 1026 2284 158 35 11 3 3 8 (0.8, 0.9] 3 0 [0.0, 0.1] (0.1, 0.2] (0.2, 0.3] (0.3, 0.4] (0.4, 0.5] (0.5, 0.6] (0.6, 0.7] (0.7, 0.8] (0.8, 0.9] (0.9, 1.0] Коэффициент (0.9, 1.0] 8
  • 48. Распределение Результаты ручной обработки Ручная обработка Коэфф. Похожи Не похожи % похожих проводилась для текстов, (0.4, 0.45] 20 92 17,86% коэффициент похожести которых был больше 0,4. (0.45, 0.5] 20 26 43,48% Цель ручной обработки — (0.5, 0.55] 14 10 58,33% оценить «порог схожести», т.е. (0.55, 0.6] 9 2 81,82% минимальное значение коэффициента похожести, при (0.6, 0.65] 4 0 100% котором тексты оказывались (0.65, 0.7] 6 1 85,71% действительно похожими (0.7, 1.0] 14 0 100%
  • 49. Результаты сравнения наборов В результате сравнения наборов выяснилось следующее: – Для большинства смешных текстов из «рабочего» набора не удалось найти действительно похожих текстов из «базисного» набора – По количеству похожих текстов и степени похожести на тексты «базисного» набора невозможно разбить «рабочий» набор на смешные и не смешные тексты – Был определён «порог похожести» текстов — в среднем при коэффициенте схожести, большем 0.55, тексты оказываются действительно похожими
  • 50. Итоги и выводы Что было сделано: • Проверялось предположение о повторяемости шуток (значительная часть «новых» шуток уже известна или представляет собой малое изменение известных шуток) • Образованы тестовые коллекции текстов - «базовый» (~80 000 анекдотов с http://anekdot.ru) и «рабочий» (1 000 = 200 х 5 текстов из разных источников) • Построена матрица близости между документами на основе косинусной меры близости • Сформировано приложение для оценки полученных результатов
  • 51. Итоги и выводы Что удалось выяснить: • При коэффициенте близости > 0.55 со степенью доверия 80% документы реально похожи • Только 1% документов имеет документы с коэффициентов близости > 0.55 Итоги:  Предположение о повторяемости шуток не подтвердилось  Возможно, даже 1% - не такой уж плохой результат, учитывая большой поток документов
  • 52. Планы на будущее • Расширить «базовый» набор • Привлечь другие источники • Изучить пересечение наборов из разных источников • Использовать другие жанры (истории, интересные факты) • Улучшить механизм сравнения • Выделить типы анекдотов (Вовочка, ВИЧ, …) • Использовать переменные имена героев • Синонимы, тезаурус • Попытаться оценить уровень юмора • Испытать на реальных данных (миллион документов из Яндекс.Блогов)