2. Содержание
• Основная задача
• Последовательность разработки
• Базовая часть всех методов
• Тематическое моделирование
• Векторная модель
• Улучшения методов
• Результаты
• Заключение
2
3. Основная задача
• Семантический анализ текста требует выбора
правильного значения многозначного слова
• Может помочь знание о наиболее частотном
значении слова
– 85% существительных упоминается в наиболее
частотном значении
– Прилагательные и глаголы в 45% и 48%
соответственно
• Главная задача: определить по текстовой
коллекции наиболее частотное значение
заданного слова
3
4. Последовательность разработки
• Дана коллекция текстов
• Получение коллекции документов с
заданным словом
• Применение различных методов поиска
наиболее частотного слова:
– Используя вероятностную тематическую
модель для выбранной коллекции текстов
– Используя векторную модель
информационного поиска
4
5. Тезаурус
• Для того, чтобы найти частотное значение слова мы
должны знать все используемые значения этого слова.
• Тезаурус ― особая разновидность словарей, в которых
указаны семантические отношения между лексическими
единицами.
• Используется тезаурус русского языка "Тезаурус РуТез",
объем которого составляет 100 тысяч слов и выражений,
между которыми вручную установлено более 210 тысяч
отношений.
• Особенностью данного тезауруса является то, что в
течение многих лет он тестировался в реальных проектах.
5
6. Примеры экспертной разметки
• Авангардный
– Авангардизм, авангардное искусство
– Авангард (группа людей)
– Авангардные подразделения
• Автоматический
– Машинальный
– Автоматический режим
– Автоматическая система
• Авторитет
– влияние, авторитет
– авторитетный человек
– преступный авторитет
6
7. Получение коллекции для
заданного слова
• Есть большая коллекция новостных
документов, состоящая из 2169934 файлов
• Необходимо выбрать только те документы,
в которых хоть раз встречалось данное
многозначное слово
• Для удобства работы с документами нужно
привести все слова в единый формат
7
9. Базовая часть всех методов-1
• Для всех методов поиска частотного значения
многозначного слова W необходимо
получение синонимов для каждого значения
(концепта) W, т.е. Wi
• Один шаг получения синонимов Wi :
– Поиск концептов, через “отношения” c концептом
Wi
– Получение синонимов для найденных концептов
– Разбиение синонимов на отдельные слова
• Два шага: проделать первый шаг для каждого
концепта, полученного через “отношения” с Wi
9
10. Базовая часть всех методов-2
• Проделав либо 1 шаг, либо 2 шага
получения синонимов, получаем вектор
синонимов данного значения Wi
• Используя данный вектор в каждом методе
поиска, находим наилучший результат
среди всех значений Wi
10
15. Тематическое моделирование-1
• Тематическая модель — модель коллекции
текстовых документов, которая определяет, к
каким темам относится каждый документ
коллекции.
• Тематическое моделирование используется
для нахождения скрытых тем встреченных в
коллекции документов.
• На выходе имеем числовой вектор,
cоставленный из оценок степени
принадлежности данного документа каждой
из тем.
15
16. Тематическое моделирование-2
• Используется вероятностная тематическая
модель, которая основана на следующий
предположениях:
– Порядок документов в коллекции, как и слов в
документе, не имеет значения
– Каждая тема описывается неизвестным
распределением на множестве слов
– Каждый документ описывается неизвестным
распределением на множества тем
16
Tt p(w|t)
Ww
Dd
p(t|d) Tt
17. Тематическое моделирование-3
• Используется модуль GibbsLDA++, реализованный на С++ и
использующий метод латентного размещения Дирихле,
который предложен Дэвидом Блеем в 2003 году
• Метод LDA основан на той же вероятностной
модели:
17
19. Тематическое моделирование-5
• Два варианта использования топиков
• Наивный вариант:
– Для каждого значения Wi находим
максимальное сопоставление частотного
вектора синонимов с каждым из топиков
– Частотным значением многозначного слова W
считается максимальное среди всех значений
Wi
19
20. Тематическое моделирование-6.
Новый метод:
где , f(t) - "частота топика", т.е.
это распределение слов данного топика, умноженного
на частоту слов в нашей выборке, JS(S||T) - это
расхождение Дженсена-Шеннона.
где D(P||M) - расхождение Кульбака-Лейблера.
После чего, среди всех найденных prevalence(si)
выбирается максимальное, т.е. является наиболее
частотным значением слова W
20
,-
,
,
21. Векторная модель-1
• Основная идея:
– Посчитать частотный вектор слов из коллекции
документов для заданного слова
• Наивный метод:
– Для каждого значения Wi найти косинус между
вектором синонимов и вектором коллекции
– Частотным значением считается то, у которого
максимальный косинус
21
22. Векторная модель-2
• Продвинутый метод:
– Использование модели tf.idf
– Предпосчет df для всех слова в большой
коллекции
– Подсчет tf для маленькой коллекции для
заданного многозначного слова
– Нахождения максимального косинуса между
вектором синонимов и улучшенного вектора
коллекции
22
23. Улучшения методов-1
• При получении вектора синонимов
использовать процентное отсечение
• Разбиение каждого синонима на отдельные
слова может давать побочные эффекты,
поэтому для каждого метода нужно
придумать как его преобразовать для
словосочетаний
23
26. Результаты-1
• Есть набор из 330 многозначных слов, с
эталонным ответам для каждого
• У каждого слова в среднем 4.59 значения,
соответственно, стартовый результат
рандомного выбора значения: 21.7%
26
28. Заключение
• Реализован метод получения наиболее
частотного значения многозначного слова,
который упрощает задачу семантического
анализа
• Для каждого метода написана программная
реализация, позволяющая получить
результаты каждого этапа по-отдельности
• Получены хорошие результаты относительно
стартового результата выбора значения
многозначного слова
28