ВВЕДЕНИЕ

Человеческий разум хорош или, по крайней мере, способен извлекать контекстную информацию из текстовых данных. Мы можем легко следовать инструкциям по эксплуатации, рецептам из поваренной книги, понимать эмоции из текста и т. д.

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

Таким образом, тематическое моделирование представляет собой метод выявления «тем», присутствующих в текстовых данных, и, таким образом, извлечения соответствующей информации.

Тематическое моделирование не должно классифицироваться как другие подходы к анализу текста, основанные на правилах, которые используют регулярные выражения или методы поиска по ключевым словам на основе словаря. Это неконтролируемый подход, который используется для определения набора слов (также известных как темы) в большом текстовом корпусе путем создания статистической модели, тематической модели. Таким образом, темы могут быть определены как «повторяющийся образец одновременно встречающихся терминов в большом текстовом корпусе».

Хотя существует множество методов для обнаружения основных тем в текстовых документах, таких как частота терминов и обратная частота документа (tf-idf), методы неотрицательной матричной факторизации и т. д., но обычно используется скрытое распределение Дирихле (LDA). В статье основное внимание будет уделено применению LDA для тематического моделирования.

Допущения и терминология LDA

Допущение LDA относительно документов и терминов. LDA предполагает, что слова имеют прочные семантические ассоциации, и документы, содержащие похожие темы, будут использовать аналогичную группу слов. Таким образом, «скрытые» темы обнаруживаются путем выявления групп слов в корпусе, которые часто встречаются вместе в документах.

Допущение LDA о структуре документов: LDA предполагает, что документы представляют собой вероятностное распределение по скрытым темам. Далее, темы - это распределение вероятностей по словам. Важным аспектом здесь является то, что в то время как другие подходы с набором слов (например, tf-idf) фокусируются исключительно на наиболее часто встречающихся словах, LDA предполагает более комплексный подход, концентрируясь на вероятностных распределениях, а не на строгих частотах.

Например, рассмотрим следующий набор документов в качестве корпуса:

Документ 1. На завтрак у меня был бутерброд с арахисовым маслом.
Документ 2. Я люблю миндаль, арахис и грецкие орехи.
Документ 3: Вчера у моего соседа появилась собачка.
Документ 4: Кошки и собаки — заклятые враги.
Документ 5: Вы не должны кормить собаку арахисом.

Модель LDA обнаруживает различные темы, которые представляют документы, и то, сколько каждой темы присутствует в документе. Например, LDA может дать следующие результаты:

Тема 1: 30 % арахиса, 15 % миндаля, 10 % завтрака… (можно интерпретировать, что эта тема связана с едой)
Тема 2: 20 % собак , 10% кошек, 5% арахиса… (можно интерпретировать, что эта тема касается домашних животных или животных)

Документы 1 и 2: 100% Тема 1
Документы 3 и 4: 100% Тема 2
Документ 5: 70% Тема 1, 30% Тема 2

Процесс генерации документов LDA

LDA предполагает, что данный документ создается следующим образом:

1. Определите количество слов в документе.
2. Выберите сочетание тем для документа из фиксированного набора тем (например, 20 % темы A, 30 % темы B, 50 % темы C и т. д. 3. Сгенерируйте слова в документе следующим образом:
а) Сначала выберите тему на основе полиномиального распределения документа .
б) Затем выберите слово на основе полиномиального распределения темы .
4. Повторите до тех пор, пока требование слова не будет выполнено.

Например, предположим, что у нас есть группа статей, и предположим, что все эти статьи можно охарактеризовать по трем темам: Животные, Кулинария, Политика.

Каждая из этих тем может быть описана следующими словами:
Животные: собака, курица, кошка, зоопарк, природа.
Приготовление пищи: печь, еда , ресторан , тарелки , вкус .
Политика : БДП, левые, Конгресс, Парламент

Мы хотим создать документ, который на 80 % будет посвящен животным, а на 20 % – кулинарии.
1. Мы выбираем длину статей (скажем, 1000 слов)
2. Мы выбираем тему на основе указанной смесь (т.е. 800 слов из темы «Животные»).
3. Подбираем слово исходя из распределения слов по каждой теме.

Таким образом, по сути, слова выбираются из сегментов тем в зависимости от того, сколько раз каждая тема встречается в документе. Слова смешиваются вместе, и создается новый документ.

Следует отметить, что это демонстрация того, что модель LDA предполагает как истину, хотя в действительности мы будем работать в обратном направлении, но порождающий процесс сохраняется нетронутым.

В обратном порядке

  • Дан корпус документов.
  • Мы используем LDA для изучения тематических представлений K тем в каждом документе и распределения слов по каждой теме.
  • LDA отступает от уровня документа, чтобы определить темы, которые, вероятно, породили темы.

Алгоритм LDA

  • В векторном пространстве любой корпус (набор документов) может быть представлен в виде матрицы документов-терминов.
  • Следующая матрица показывает корпус из N документов и размер словарного запаса из M слов:

  • LDA случайным образом преобразует матрицу терминов документа в :

  • Затем LDA использует методы выборки для улучшения этих случайных назначений следующим образом:

Для каждого документа d предположим, что все задания по темам, кроме текущего, верны.

Рассчитайте две пропорции:
p1: доля слов в документе d, которые в настоящее время относятся к теме t
p2 : доля присвоений теме t ко всем документам, которые происходят от этого слова w
.

Умножьте эти две пропорции и назначьте w новую тему на основе этой вероятности, p(topic t |document d)*p(word w | theme t) .

В конце концов достигается устойчивое состояние, при котором распределение тем документов и терминов тем является довольно хорошими.

Табличка с параметрами LDA

Параметры ЛДА

Альфа- и бета-гиперпараметры — альфа представляет плотность темы документа, а бета представляет плотность темы-слова. Чем выше значение альфы, документы состоят из большего количества тем, чем меньше значение альфы, документы содержат меньше тем. С другой стороны, чем выше бета, тем больше слов в корпусе, а чем меньше бета, тем меньше слов.
Количество тем — количество тем, которые необходимо извлечь из корпуса.
Количество терминов темы — количество терминов, объединенных в одну тему. Обычно это решается в соответствии с требованием.

Реализация Python

Шаг 1. Подготовка документов

Шаг 2. Очистка и предварительная обработка

Удаление знаков препинания, стоп-слов и нормализация корпуса

Шаг 3. Подготовка матрицы терминов документа

Преобразование текстового корпуса в матричное представление с использованием модуля Python «gensim».

Шаг 4. Запуск модели LDA

Создание модели LDA и ее обучение матрице терминов документа. Это было сделано с использованием модуля «gensim» с учетом параметров, определенных выше.

Результаты

Каждая строка вывода представляет собой тему с отдельными терминами темы и весами.

Выходные термины темы могут в дальнейшем использоваться для классификации документов и лучшего понимания различных сегментов корпуса.

использованная литература

http://en.wikipedia.org/wiki/Topic_model
http://www.cs.princeton.edu/~blei/topicmodeling.html
http://mallet. cs.umass.edu/topics.php
http://www.cs.princeton.edu/~blei/papers/Blei2012.pdf
http://miriamposner.com/blog /очень-базовые-стратегии-для-интерпретации-результатов-инструмента-моделирования-темы/