Тематическое моделирование текстов на естественном языке
Антон Коршунов, Андрей Гомзин {коп'кипоу, [email protected]
Аннотация. Тематическое моделирование — способ построения модели коллекции текстовых документов, которая определяет, к каким темам относится каждый из документов. Переход из пространства терминов в пространство найденных тематик помогает разрешать синонимию и полисемию терминов, а также эффективнее решать такие задачи, как тематический поиск, классификация, суммаризация и аннотация коллекций документов и новостных потоков. Наибольшее применение в современных приложениях находят подходы, основанные на Байесовских сетях — ориентированных графических вероятностных моделях, позволяющих учитывать авторство документов, связи между словами, темами, документами и авторами, а также другие типы сущностей и метаданных. В статье приведён сравнительный обзор различных моделей, описаны способы оценивания их параметров и качества результатов, а также приведены примеры открытых программных реализаций.
Ключевые слова: тематическое моделирование; тематический поиск; классификация документов; графические вероятностные модели; Байесовские сети; скрытое размещение Дирихле; уменьшение размерности; анализ текста; извлечение информации; машинное обучение.
1. Введение
В 1958 году Герхард Лисовски и Леонард Рост завершили работу по составлению каталога религиозных текстов на иврите, призванных помочь учёным определить значения терминов, которые были давно утрачены [20]. Путём кропотливой ручной работы они собрали воедино все возможные контексты, в которых появлялся каждый из терминов. Следующей задачей было научиться игнорировать несущественные различия в формах слов и выделять те различия, которые влияют на семантику. Замыслом авторов было дать возможность исследователям языка проанализировать различные отрывки и понять семантику каждого термина в его контексте.
Трудности, с которыми столкнулись Лисовски и Рост полвека назад, часто возникают и сегодня при автоматическом анализе текстов. Одна и та же концепция может выражаться любым количеством различных терминов (синонимия), тогда как один термин часто имеет разные смыслы в различных контекстах (полисемия). Таким образом, необходимы способы различать
варианты представления одной концепции и определять конкретный смысл многозначных терминов. Кроме того, нужно уметь представлять данные в доступной для человека форме, чтобы дать возможность понять неизвестный ему смысл термина. Теоретически обоснованным и активно развивающимся направлением в анализе текстов на естественном языке, призванным решать перечисленные задачи, является тематическое моделирование коллекций текстовых документов.
Построение тематической модели может рассматриваться как задача одновременной кластеризации документов и слов по одному и тому же множеству кластеров, называемых темами. В терминах кластерного анализа тема — это результат би-кластеризации, то есть одновременной кластеризации и слов, и документов по их семантической близости. Обычно выполняется нечёткая кластеризация, то есть документ может принадлежать нескольким темам в различной степени. Таким образом, сжатое семантическое описание слова или документа представляет собой вероятностное распределение на множестве тем. Процесс нахождения этих распределений и называется тематическим моделированием [27].
Как правило, количество тем, встречающихся в документах, меньше количества различных слов во всем наборе. Поэтому скрытые переменные — темы — позволяют представить документ в виде вектора в пространстве скрытых (.патентных) тем вместо представления в пространстве слов. В результате документ имеет меньшее число компонент, что позволяет быстрее и эффективнее его обрабатывать. Таким образом, тематическое моделирование тесно связано с другим классом задач, известным как уменьшение размерности данных [14]. Кроме того, найденные темы могут использоваться для семантического анализа текстов.
Задача извлечения скрытых тем из коллекции текстовых документов имеет множество применений. Помимо кластеризации и классификации документов, найденные темы могут применяться для определения релевантности документа заданной теме или запросу, определения тематического сходства документа с другими документами и их фрагментами, построения тематических профилей авторов, разбиения документа на тематически однородные фрагменты и т.д.
В силу своей универсальности и расширяемости, современные способы тематического моделирования находят применение в широком спектре приложений [5, 21, 22, 27]:
• кластеризация, классификация, ранжирование, аннотирование и суммаризация отчётов, научных публикаций, переписки, блогов, студенческих работ и т.д.;
• тематический поиск документов и связанных с ними объектов: рисунков, авторов, организаций, журналов, конференций;
• фильтрация спама;
• рубрикация коллекций изображений, видео, музыки;
• поиск генетических паттернов в различных популяциях и определение пропорции этих паттернов у конкретного индивидуума;
• коллаборативная фильтрация в сервисах рекомендаций;
• построение тематических профилей пользователей форумов, блогов и социальных сетей для поиска тематических сообществ и определения наиболее активных их участников;
• анализ новостных потоков и сообщений из социальных сетей для определения актуальных событий реального мира и реакции пользователей на них.
Иными словами, тематическое моделирование позволяет автоматически систематизировать и реферировать электронные архивы такого масштаба, который человек не в силах обработать.
Дальнейшее изложение строится следующим образом. В разделе 2 вводится понятие векторного представления документов и описываются ранние подходы к поиску тем, основанные на кластеризации. Раздел 3 содержит описание метода латентно-семантического индексирования (LSI), который рассматривает исходный набор данных как матрицу «документ-термин» и использует матричные разложения для извлечения скрытых тем. В разделе 4 рассмотрено применение Байесовских сетей для тематического моделирования текстов на примерах вероятностного латентно-семантического индексирования (PLSI) и скрытого размещения Дирихле (LDA). Здесь же коротко описаны способы оценивания оптимальных значений параметров моделей для обучающего и тестового набора документов. Примеры более сложных вероятностных моделей, позволяющих устранить ограничения и недостатки первых подходов, приведены в разделе 5. В разделе 6 описаны основные способы оценки качества результатов тематического моделирования. Наконец, раздел 7 содержит примеры программных реализаций алгоритмов тематического моделирования.
2. Кластеризация и классификация документов
Задача определения и отслеживания тем (Topic Detection and Tracking, TDT) возникла в 1996-1997 годах. В работе [1] понятие темы тесно связано с понятием события: тема — это событие или действие вместе со всеми непосредственно связанными событиями и действиями. Задача заключается в извлечении событий из потока информации.
Для представления документов принято пользоваться векторной моделью (Vector Space Model, VSM), в которой каждому слову сопоставляется вес в
соответствии с выбранной весовой функцией. Располагая таким представлением для всех документов, можно, например, находить расстояние между точками пространства и тем самым решать задачу подобия документов
— чем ближе расположены точки, тем больше похожи соответствующие документы.
Классическим методом назначения весов словам является 77Г-/£>Р:
= Г^,йОхДЖ(>,£>) (1)
ТF (term frequency) — нормализованная частота слова в тексте:
freq(t,d)
TF(t,d) = ■
max
wgD
freq(w,d)
(2)
Здесь freq(t, ¿)) — число вхождений слова t в документе d.
IDF (inverse document frequency) — обратная частота документов:
_______
IDF(t,D) = log
\\d є D : t є й?}|
(3)
Здесь в числителе — количество документов в наборе, а в знаменателе — количество документов, в которых встречается СЛОВО I.
В зависимости от решаемой задачи используются различные модификации ТР-ПЖ Например, в одном из решений, описанных в [1] используются следующие веса:
П)1'(1)
w(t, £>) = (! + log2 TF(t, D)) x -
Здесь
d
- норма вектора, представляющего документ D.
В более поздних исследованиях [4] использовались следующие модификации TF-IDF:
TF' =
TF
TF + 0.5+ 1.5 lmd
len
avg
Здесь lenj— длина документа d, lena
средняя длина документа.
юг- log(/DF)
log(# + l)
Для сравнения векторов документов в [1] и [4] применялись такие метрики, как косинус, дивергенция Кульбака-Лейблера и другие методы (взвешенная сумма компонентов документа, простые языковые модели). Всего существует более 70 способов расчёта похожести векторов [29].
В [1] рассматривается два типа задач: обнаружение событий из набора данных за определенный период времени и обнаружение событий в режиме реального времени.
Первый тип задач заключается в разбиении исходных данных на группы, соответствующие событиям, а также в определении, описывает ли текстовый документ из набора какое-либо событие. Основной идеей всех решений было использование алгоритмов кластеризации [2,30] (инкрементальная
кластеризация, метод К-средних и др). При этом предполагается, что каждый кластер содержит документы, описывающие какое-либо событие.
Задача второго типа — для нового документа определить, описывает ли он событие, которое уже встречалось в исходных данных. Для отслеживания событий использовались алгоритмы классификации [3] (метод к-ближайших соседей, решающие деревья и др). Классификация производилась с использованием двух классов: YES — документ описывает событие, N0 — не описывает.
Таким образом, в ранних исследованиях тема отожествлялась с событием. В реальной жизни тема может описывать иные сущности, а не только события. Поэтому в более поздних работах задачи определения событий и тем стали различаться. Еще один недостаток описанных методов в том, что анализируемые документы относятся только к одной теме или событию. Однако один документ может затрагивать несколько тем. К тому же, векторное представление документов не позволяет разрешать синонимию и полисемию терминов (см. раздел 1).
Для решения перечисленных проблем было предложено рассматривать набор векторов терминов из документов как общую терм-документную матрицу и применять к ней особые разложения (метод LSI).
3. Латентно-семантическое индексирование
80-е годы прошлого столетия ознаменовались активным развитием систем информационного поиска по коллекциям документов разнообразной природы. Следуя принципу «от простого к сложному», первыми были реализованы подходы, основанные на поиске точных совпадений частей документов с запросами пользователей. Довольно скоро, однако, стало очевидно различие между релевантностью (соответствием) документа запросу и точным
совпадением их частей. Зачастую документы, релевантные запросу с точки зрения пользователя, не содержали терминов из запроса и поэтому не отображались в результатах поиска (проблема синонимии). С другой стороны, большое количество документов, слабо или вовсе не соответствующих запросу, показывались пользователю только потому, что содержали термины из запроса (проблема полисемии).
Самым простым решением этих проблем кажется добавление к запросу уточняющих терминов для более точного описания интересующего контекста. Однако предположение о том, что индекс поисковой системы содержит все возможные уточняющие термины, на практике выполняется довольно редко.
В 1988 г. Dumais et al [36] предложили метод латентно-семантического индексирования (latent semantic indexing, LSI), призванный повысить эффективность работы информационно-поисковых систем путём проецирования документов и терминов в пространство более низкой размерности, которое содержит семантические концепции исходного набора документов.
Основная идея метода состоит в оценивании корреляции терминов путём анализа их совместной встречаемости в документах. К примеру, в коллекции всего 100 документов, содержащих термины «доступ» и/или «поиск». При этом только 95 из них содержат оба термина вместе. Логично предположить, что отсутствие термина «поиск» в документе с термином «доступ» ошибочно и возвращать данный документ по запросу, содержащему только термин «доступ». Разумеется, подобные выводы можно делать не только из простой попарной корреляции терминов.
С другой стороны, анализируя корреляцию терминов в запросе, можно более точно определять интересующий пользователя смысл основного термина и повышать позиции документов, соответствующих этому смыслу, в результатах поиска.
Таким образом, при латентно-семантическом индексировании документов задача состоит в том, чтобы спроецировать часто встречающиеся вместе термины в одно и то же измерение семантического пространства, которое имеет пониженную размерность по сравнению с оригинальной терм-документной матрицей, которая обычно довольно разрежена. Элементы этой матрицы содержат веса терминов в документах, назначенные с помощью выбранной весовой функции (см. раздел 2). В качестве примера можно рассмотреть самый простой вариант такой матрицы, в которой вес термина равен 1, если он встретился в документе (независимо от количества появлений), и 0 если не встретился (рис. 1).
d] ^2 Jj df,
ship 1 0 1 0 0 0
boat 0 1 и 0 0 0
ocean 1 1 и 0 0 0
voyage 1 a 0 1 1 0
trip 0 0 0 1 0 1
Рис. 1. Терм-доку.ментная матрица.
Наиболее распространенный вариант LSI основан на использовании разложения терм-документной матрицы по сингулярным значениям — так называемом сингулярном разложении (Singular Value Decomposition, SIDJ, которое хорошо зарекомендовало себя в факторном анализе.
Согласно теореме о сингулярном разложении, любая вещественная прямоугольная матрица может быть разложена на произведение трех матриц:
А = TSDТ, (7)
где матрицы Т и D — ортогональные, а 5 — диагональная матрица, элементы на диагонали которой называются сингулярными значениями матрицы А.
Такое разложение обладает замечательной особенностью: если в
матрице 5 оставить только к наибольших сингулярных значений, а в матрицах Г иА — только соответствующие этим значениям столбцы, то произведение получившихся матриц 5, Т и D будет наилучшим приближением исходной матрицы А к матрице А ранга к.
Если в качестве матрицы А взять терм-документную матрицу, то матрица А. содержащая только к первых линейно независимых компонент А, отражает основную структуру различных зависимостей, присутствующих в исходной матрице. Структура зависимостей определяется весовыми функциями терминов.
Таким образом, каждый термин и документ представляются при помощи векторов в общем семантическом пространстве размерности к. Близость между любой комбинацией терминов и/или документов легко вычисляется при помощи скалярного произведения векторов. Для задач информационного поиска запрос пользователя рассматривается как набор терминов, который
проецируется в семантическое пространство, после чего полученное представление сравнивается с представлениями документов в коллекции.
Как правило, выбор к зависит от поставленной задачи и подбирается эмпирически. Если выбранное значение к слишком велико, то метод теряет свою мощность и приближается по характеристикам к стандартным векторным методам. Слишком маленькое значение к не позволяет улавливать различия между похожими терминами или документами.
В качестве альтернативы SVD в тематическом моделировании [37] также применяется неотрицательная матричная факторизация (non-negative matrix factorization, NMF). Данный способ разложения матриц накладывает ограничение на результирующие матрицы (факторы): все их элементы должны быть положительными либо нулевыми [38].
Следующим этапом развития тематического моделирования стали подходы, позволяющие моделировать вероятности скрытых тем в документах и терминов в темах (см. раздел 4). В результатах работы LSI эти вероятности для каяедой темы и документа распределены равномерно, что не соответствует характеристикам реальных коллекций документов. В отличие от так называемых дискриминативных подходов (к которым относится LSI), в вероятностных подходах сначала задаётся модель, а затем с помощью терм-документной матрицы оцениваются её скрытые параметры, которые затем могут быть использованы для генерации моделируемых распределений. Из этого следуют преимущества вероятностного моделирования документов:
• результаты работы представляются в терминах теории вероятностей и поэтому могут быть с минимальными затратами встроены в другие вероятностные модели и проанализированы стандартными статистическими методами;
• новые порции входных данных не требуют повторного обучения модели;
• использование Байесовского непараметрического моделирования позволяет избежать подбора входных параметров, что делает такие модели более гибкими;
• вероятностные модели могут быть с лёгкостью расширены путём добавления переменных, а также новых связей между наблюдаемыми и скрытыми переменными.
4. Вероятностные тематические модели
Вероятностное тематическое моделирование — это набор алгоритмов, позволяющих анализировать слова в больших наборах документов и извлекать из них темы, связи меяеду темами и изменение их во времени [5]. При этом
документ рассматривается как набор слов, порядок которых не имеет значения. Для каждого документа определено распределение его слов по темам, т.е. вероятность для каждой темы встретить ее в данном документе, причём . В документе на рис. 2 это распределение изображено
справа в виде гистограммы.
Темы
Документы Пропорции и состав
тем в документе
Seeking Life’s Ваге (Genetic) Necessities
Cold
' Genome Mapping and Sequencing. Cold Spring Harbor. New York.
May 8 to 12.
SCIENCE ■ VOL. 271 * 24 MAY ІУУЛ
maced that for this organism, «XVnes arc plenty tu A, the job—but th.it rmyching short »ґ 100 wouldn’t be enough.
AkhtHigh ^
Рис. 2. Интуитивное представление тем и тематических моделей.
Тема представляется в виде распределения <р, слов из фиксированного словаря, т.е. каждое слово входит в тему с некоторой вероятностью , причём
. На рис. 2 распределения <р, изображены слева.
Вероятностные модели являются генеративными (порождающими), то есть их можно использовать для генерации документов. Описание модели, как правило, начинается со способа генерации документов — генеративного процесса. Однако основной целью тематического моделирования является не генерация, а извлечение тем из имеющегося набора документов. То есть нужно определить скрытые структуры (темы, распределение тем в каждом документе и т.д.) при данных словах в документах. Другими словами, это задача, обратная генерации: выяснить, с помощью каких скрытых структур вероятнее всего могли бы быть сгенерированы исходные документы.
Задача оценивания модели заключается в том, чтобы найти значения параметров модели, при которых наблюдаемая обучающая выборка максимально правдоподобна. Задача вывода по модели состоит в определении значений скрытых переменных (например, скрытых вероятностей тем) для нового документа, изначально не входившего в состав обучающей выборки. Поскольку эти задачи отличаются лишь исходными данными и поэтому часто решаются похожими способами, то далее будет использоваться общий термин оценивание параметров модели для обеих задач.
Вводные обзоры по вероятностному тематическому моделированию даны в [5, 26, 27]. В них рассмотрены многочисленные модификации ранних моделей, используемые для современных приложений информационного поиска. Текущий и последующие разделы призваны дополнить предыдущие обзоры описанием недавно предложенных подходов к построению тематических моделей, а также оцениванию их параметров и качества результатов.
4.1. Графические модели. Плоское графическое представление
Вероятностные тематические модели по своей природе являются графическими и поэтому часто представляются в виде интуитивно понятного и наглядного плоского графического представления [28]. Каждая случайная величина обозначается кругом. Наблюдаемые величины (значения которых известны) закрашиваются, скрытые (значения которых надо найти) остаются незакрашенными. Стрелка (направленное ребро) из первой вершины во вторую обозначает условную зависимость второй величины от первой. Зависимость величины У от величины X означает, что совместную вероятность Р(Х,У) можно представить в виде Р(У\Х)Р(Х). Если X и У независимы, то Р(Х, У) = Р(Х)Р(У).
Прямоугольник, включающий в себя некоторый подграф с указанным в правом нижнем углу числом N. обозначает совокупность N экземпляров данного подграфа. Прямоугольники могут быть вложенными.
Пример модели представлен на рис. 3. Здесь изображены величины и зависимости. Величины с и № — наблюдаемые, остальные — скрытые. В модели присутствует С величин а, Б величин (р. АЮ величин с и 0. Ж) величин №, V, г. Стрелками показаны зависимости: например, г зависит от соответствующей V и от всех в.
4.2. Вероятностное латентно-семантическое индексирование
Одной из первых вероятностных тематических моделей является
вероятностное латентно-семантическое индексирование (Probabilistic Latent Semantic Indexing, PLS1предложенное Томасом Хоффманом в 1999 году [6. 7].
В основе PLSI лежит т.н. аспектная модель, которая связывает скрытые переменные тем z 6 Z = {z±,... ,zk} с каждой наблюдаемой переменной — словом или документом. Таким образом, каждый документ может относиться к нескольким темам с некоторой вероятностью, что является отличительной особенностью этой модели по сравнению с подходами, не позволяющими вероятностного моделирования.
Генеративный процесс следующий:
1. Выбрать документ d согласно распределению p(d)
2. Выбрать тему i G {1 на основе распределения
всП = P(z = i\d)
3. Выбрать слово v — значение переменной w на основе распределения
<Piv = РО = V\z = О
Совместная вероятностная модель над документами и словами определена следующим образом:
P(d,w) = P(d)^P(w\z)P(z\d) (8)
zeZ
Также модель может быть представлена в виде:
P(d, w) = £ P(z)P(w | z)P(d | z)
;eZ
Представление (8) является асимметричным, представление (9) —
симметричным (рис. 4).
Рис. 4. Графическое представление модели вероятностного латентносемантического индексирования с асимметричной (а) и симметричной (Ъ)
параметризацией.
4.2.1 Оценивание параметров модели вероятностного латентно-семантического индексирования
Для определения оптимальных значений скрытых параметров модели используется стандартная процедура оценки максимального правдоподобия — ЕМ-алгоритм (Expectation Maximization) [8]. Он применяется к симметричному представлению модели.
На Е-шаге алгоритма оценивается вероятность P(z\d,w):
Несмотря на очевидные преимущества перед более ранними подходами, модель PLSI не лишена недостатков. Во-первых, она содержит большое число параметров, которое растет в линейной зависимости от числа документов. Как следствие, модель склонна к переобучению и неприменима к большим наборам данных. Во-вторых, невозможно вычислить вероятность документа, которого нет в наборе данных. В-третьих, отсутствует какая-либо закономерность при генерации документов из сочетания полученных тем. Данные недостатки устранены в модели LDA.
4.3. Скрытое размещение Дирихле
Скрытое размещение Дирихле (Latent Dirichlet Allocation, LDA) — генеративная графическая вероятностная модель, предложенная Дэвидом Блеем и соавторами в 2003 году [9]. Процесс генерации документа похож на генеративный процесс в PLSI. Каждый документ генерируется независимо:
1. Случайно выбрать для документа его распределение по темам 6d
P(z I d,w)
P(z)[P(d I z)P(w I z)f
(10)
где [I I — задаваемый параметр [6, 7]. На М-шаге алгоритма вычисляются:
(П)
(12)
P(z)
(13)
2. Для каждого слова в документе:
a. Случайно выбрать тему из распределения полученного на 1-м шаге
b. Случайно выбрать слово из распределения слов в выбранной теме
Схема модели скрытого размещения Дирихле изображена на рис. 5.
Рис. 5. Графическое представление модели скрытого размещения Дирихле.
Имеется набор из £> документов. Каждый документ состоит из \\/ слов, соответствует наблюдаемым переменным — словам в документе. Это единственные наблюдаемые переменные в модели, остальные переменные — скрытые. Переменная г*, принимает значение темы, выбранной на шаге 2а для слова м’Л,. Для каждого документа с! переменная представляет собой распределение тем в этом документе.
В классической модели ЬЭА количество тем фиксировано изначально и задаётся в явном виде параметром К. (рк — распределение слов в теме к. Можно подобрать оптимальное значение К, варьируя его и измеряя способность модели предсказывать неизвестные данные, например, документы из тестовой выборки (см. раздел 6.1). Однако для того чтобы определять оптимальное количество тем в документе автоматически, были предложены более совершенные способы (см. раздел 5.2).
В модели Ц)А предполагается, что параметры и <р, распределены следующим образом: в~01г(а), <р~01г(£>), где а и /? — задаваемые вектора-параметры (т.н. гиперпараметры) распределения Дирихле. Из Байесовской теории вероятностей известно, что распределение Дирихле является сопряжённым априорным к мультиномиальному распределению, которое обычно используется для моделирования текстов. Знание сопряжённых семейств распределений существенно упрощает вычисление апостериорных вероятностей при оценке параметров модели (см. раздел 4.3.1).
Как правило, все компоненты параметров а и /? распределения Дирихле берутся равными, поскольку отсутствует априорная информация о распределении слов в темах и тем в документах. Предложены подходы, позволяющие восстановить оптимальные значения гиперпараметров модели по обучающей выборке [10, 24]. На практике, как правило, используются значения, наиболее характерные для конкретных данных. К примеру, значение параметра, близкое к нулю, позволяет после оценивания параметров модели получить мультиномиальное распределение, в котором в котором большая часть плотности вероятности сосредоточена на небольшом наборе значений. Это хорошо соотносится со степенным распределением, которое часто наблюдается в текстах на естественном языке.
4.3.1 Оценивание параметров модели скрытого размещения Дирихле
Г енеративный процесс ЬЭА соответствует следующему совместному распределению наблюдаемых и скрытых переменных [5]:
Для определения оптимальных значений скрытых переменных модели нужно найти так называемое апостериорное распределение, т.е. условное распределение:
Числитель дроби (15) легко вычисляется согласно (14), знаменатель представляет собой маргинальную вероятность наблюдаемых переменных, т.е. вероятность наблюдать w при всех возможных параметрах модели. Теоретически он вычисляется как сумма вероятностей совместного распределения по всем значениям скрытых переменных. Но число всевозможных назначений тем z словам w экспоненциально зависит от размера документа, поэтому на практике используются другие методы для оценивания (15).
Алгоритмы оценивания (15) делятся на две категории: на основе
сэмплирования и вариационные методы. Алгоритмы первой группы пытаются собрать конечную выборку переменных, чтобы приблизить апостериорное распределение (15) эмпирическим распределением. Как правило, алгоритм принадлежит классу методов Монте-Карло для марковских цепей (Markov Chain Monte Carlo, MCMC). Примером такого алгоритма является сэмплирование по Гиббсу [10], которое состоит в том, чтобы на каждом шаге фиксировать все переменные, кроме одной, и выбирать оставшуюся переменную согласно распределению вероятности этой переменной при
к
D
\ W\.d)
P((PlK :D з Z\.D ’Щ-.D )
P(Wl :d)
(15)
условии всех остальных (эта вероятность выводится в [10]). Недостаток этих методов в том, что они недетерминированы, так как выборки берутся случайно. Кроме того, марковская цепь может неопределённо долго сходиться к нужному распределению.
Методы второй группы — вариационные алгоритмы, детерминированная альтернатива методам на основе сэмплирования. Такие алгоритмы сначала задают параметризованное семейство распределений над скрытыми переменными, а затем с помощью ЕМ-алгоритма ищут распределение из этого семейства, наиболее близкое к апостериорному распределению (15). Таким образом, задача оценивания параметров сводится к задаче оптимизации. При этом сознательно игнорируются некоторые зависимости между переменными. На рис. 6 приведен пример модели 1Л)А для вариационного оценивания.
Рис. 6. Вариационная модель для оценивания параметров скрытого размещения Дирихле.
5. Второе поколение вероятностных тематических моделей
Модели, описанные ранее, применимы лишь к задачам, для которых верны следующие предположения об исходных данных [5]:
1. Последовательность слов в документе не имеет значения
2. Последовательность документов не имеет значения
3. Количество тем известно и не меняется
Если же какие-либо из данных условий не удовлетворяют поставленной задаче, то требуются более сложные модели. Например, при генерации документов, понятных человеку, последовательность слов в генерируемом документе имеет большое значение. Второе предположение может быть неверным при анализе тем в документах из большого временного промежутка. Например, тема, описывающая какую-нибудь научную область, может иметь разное распределение и состав в разные промежутки времени: с течением
времени из-за смены приоритетов и терминологии какие-то термины начинают встречаться чаще, а какие-то реже. Третье предположение работает только в том случае, если в задаче априорно известно количество тем в документах, что на практике выполняется редко.
В данном разделе рассмотрены модификации LDA и другие модели, позволяющие снять некоторые из перечисленных ограничений и расширить область применения тематического моделирования. Обзоры разнообразных подходов, предложенных за 10 лет активного развития тематического моделирования, приведены в [5, 26, 27].
5.1. Иерархическое скрытое размещение Дирихле
Одним из недостатков скрытого размещения Дирихле является тенденция к извлечению слишком общих тем для заданного набора документов. В случае, когда некоторая концепция имеет ряд аспектов (смыслов), которые часто употребляются совместно с основной концепцией, в результатах работы LDA с большой вероятностью будет присутствовать тема, которая включает как основной смысл концепции, так и все её аспекты. Часто необходимо, чтобы в отдельные темы была выделена не только основная концепция, но и различные её аспекты. В таких случаях используются иерархические тематические модели, позволяющие моделировать иерархию тем — от более общих до узких.
Модель иерархического скрытого размещения Дирихле (Hierarchical Latent Dirichlet Allocation, hLDA), описанная в работе [11], основана на вложенном процессе китайского ресторана (Nested Chinese Restaurant Process, nCRP). Логично сначала рассмотреть стандартный процесс китайского ресторана (Chinese Restaurant Process, CRP), который генерирует распределение М объектов (клиентов) по неограниченному числу разделов (столов).
Пусть некоторый китайский ресторан имеет неограниченное (счетное) количество столов. В него по очереди заходят М клиентов. Первый клиент садится за первый стол. Очередной клиент с номером т выбирает стол согласно распределению:
------ т
р(занятый стол i \ клиенты 1, m -1) =-------1---
у + т-1
р{первый свободный стол \ клиенты 1, т -1) =
у + т-\
Здесь у - так называемый концентрационный параметр процесса.
Таким образом, если клиент садится за занятый стол, то с большей вероятностью он занимает стол с большим количеством клиентов, с каждым клиентом уменьшается вероятность занять новый стол. Причем распределение
У
(16)
объектов (клиентов) по разделам (столам) получается такое же, как из процесса Дирихле (см. раздел 5.2).
Процесс китайского ресторана можно расширить до вложенного процесса китайского ресторана [11]. Пусть в городе имеется бесконечное (счетное) число ресторанов. Каждый стол в ресторане содержит ссылку на другой ресторан. Пусть имеется один корневой ресторан, и в каждый ресторан ведет только одна ссылка. Таким образом, получается древовидная структура ресторанов.
Клиент прибывает в город на Ь дней. В первый вечер посещает корневой ресторан, выбирая стол согласно (16). На следующий день он идет в ресторан, определенный выбранным в корневом ресторане столом, снова выбирает стол согласно (16) и так далее. Каждый день клиент посещает один из ресторанов. Таким образом, он посетит Ь ресторанов. После того, как город посетят М клиентов, коллекция их путей по ресторанам будет представлять конечное поддерево глубины I бесконечного дерева ресторанов.
Полученное дерево может быть использовано для моделирования иерархии тем. В модели иерархического скрытого размещения Дирихле [11] каждому ресторану из процесса китайского ресторана соответствует тема. Генеративный процесс следующий:
1. Пусть С] — корневой ресторан
2. Для каждого уровня дерева I £ {2, ..., Ь}:
а. Выбрать стол в ресторане сц согласно (16). Установить сг — ресторан, на который ссылается выбранный стол
3. Случайно выбрать для документа его распределение по Ь темам
в1Г01г(а)
4. Для каждого слова в документе:
a. Случайно выбрать 2 £ {1, ..., Ь} согласно распределению вл
b. Случайно выбрать слово из распределения слов в теме, соответствующему ресторану сг
Схема модели ИЬЭА изображена на рис. 7. Здесь Т — дерево ресторанов, получаемое с помощью вложенного процесса китайского ресторана, С],С2,... ,сь
— путь по ресторанам, причем значение ci зависит от с1,с2,...,с^1. Способ оценивания параметров модели описан в [11].
Описанная модификация расширяет модель ЬЭА. добавляя возможность существования неограниченного количества тем. Однако количество тем, описывающих один документ, по-прежнему постоянно и равно Ь.
Рис. 7. Графическое представление модели иерархического скрытого размещения Дирихле.
5.2. Непараметрические модели
Зачастую невозможно предсказать, сколько тем встретится в наборе данных, например, при анализе потока неизвестных документов, новостей и т.д. Поэтому в этих случаях используются непараметрические модели. Иерархический процесс Дирихле (Hierarchical Dirichlet Process, HDP) является Байесовской непараметрической моделью [12, 13], которая может быть использована для тематического моделирования с потенциально бесконечным числом тем.
Случайный процесс G ~ DP (а, Н) называется процессом Дирихле с базовым распределением Н и параметром концентрации а, если для произвольного конечного разбиения А1,А2, ■■■ ,АГ вероятностного пространства над Н выполняется:
(G(A X G(A2G(Ar)) ~ Dir{aH{A\aH{A2\...,aH{Ar)) (17)
Здесь С (АС) и Н(А1) — маргинальные вероятности С и Я над Аг Процесс Дирихле может быть представлен как процесс «ломания палки». Интуитивная интерпретация процесса предполагает, что имеется палка длины 1. Сначала ломают ее в точке /?; (из бета-распределения (18) с параметром а) и получают пропорцию Л]. Затем повторяют процесс для оставшейся /- /У, части палки, получая к2, л3 и т.д. Пропорция кк кластера к определена следующим образом:
Иерархический процесс Дирихле можно понимать как процесс Дирихле над процессом Дирихле. Иначе говоря, при генерации случайного элемента из иерархического процесса Дирихле сначала выбирается, из какого процесса Дирихле верхнего уровня следует генерировать элемент, после чего к выбранному процессу Дирихле применяется стандартная схема генерации элемента. Он моделирует документы, в которых имеются некоторые темы, общие для всего набора данных, а также более специфичные темы. В работе[13] предложен способ онлайнового вариационного оценивания параметров процесса Дирихле.
5.3. Модели, учитывающие временной фактор
С течением времени темы могут появляться, изменяться и исчезать. Для решения задач, где нужно не только найти темы, но и проследить их динамику, используются темпоральные тематические модели.
В данном разделе рассмотрены две модели: в первой время делится на отрезки, каждый отрезок рассматривается как атомарная единица, во второй время рассматривается как непрерывная величина.
Динамическая тематическая модель, предложенная в [15], отслеживает эволюцию тем в последовательно организованном корпусе документов. В этой статье документы группируются по годам (корпус содержит документы за 100 лет), и документы каждого года генерируются согласно темам, произошедшим от тем из прошлого года.
Схема предложенной модели представлена на рис. 8. Для каждого интервала времени имеются свои распределения тем в документе в и распределения слов в темах /?. Причем эти распределения зависят от соответствующих распределений в предыдущем временном отрезке. Генеративный процесс следующий:
1. Сгенерировать темы /?(■ (/?с-1< О-2/)
Рк ~ Ве1а(1, а)
к-1
(18)
1= 1
2. Сгенерировать <72/)
3. Для каждого документа:
a. Сгенерировать распределение б ~Ж(о^, а21)
b. Для каждого слова сгенерировать тему из в и слово из соответствующего /;
Рис. 8. Графическое представление динамической тематической модели.
В отличие от описанной выше модели, в работе [16] документы не делятся на дискретные группы, т.е. временной фактор непрерывный. Оценивание скрытых параметров модели позволяет найти темы, которые учитывают как одновременную встречаемость слов (как в стандартном ЬЭА). так и локальность слов во времени.
В стандартную модель ЬЭА для каждого документа добавляется наблюдаемая переменная — время которое зависит от темы и от переменной у/, которая служит параметром априорного распределения /\
Процесс генерации аналогичен модели ЬЭА. Основное отличие в том, что при генерации каждого слова генерируется переменная Г из бета-распределения цг. Схема модели изображена на рис. 9.
Рис. 9. Графическое представление тематической модели с учетом непрерывного временного фактора.
5.4. Онлайн-модели
В современном мире информация все чаще представляется в виде потоков. Поэтому необходимы алгоритмы, работающие не с фиксированным набором данных, а с данными, обновляющимися в режиме реального времени. Стандартная модель ЬЭА не подходит для задачи поиска тем в режиме реального времени, потому что при появлении в потоке нового документа нужно полностью пересчитывать параметры модели на всех данных.
В работе [17] рассматривается онлайновое оценивание параметров модели ЬЭА. при котором каждый документ обрабатывается один раз. Метод представляет собой модификацию вариационного оценивания. Все документы разбиваются на небольшие порции. Запускается итерационный процесс, на каждом шаге которого обрабатываются только данные из соответствующей порции и вычисляется оптимальный параметр постулируемого апостериорного распределения, задаваемого вариационным алгоритмом. После каждого шага этот параметр обновляется с учетом значения, вычисленного на предыдущей порции. Как правило, параметр вычисляется как взвешенное среднее текущего и предыдущего значений.
Кроме вариационного онлайнового оценивания параметров ЬЭА существуют методы, являющиеся онлайн-модификациями сэмплирования по Гиббсу. В
работе [18] рассматривается алгоритм сэмплирования по Гиббсу, который выбирает значение темы г, для слова \г, один раз для каждого слова. При этом сначала вычисляются параметры г для первых нескольких документов согласно стандартному алгоритму. А затем запускается итерационный процесс: для каждого последующего слова w, выбирается назначение темы z„ при условии значений г для предыдущих слов. Существенной проблемой данного алгоритма является зависимость от качества работы первого этапа — сэмплирования тем для первых документов, — так как все последующие темы выбираются на их основе. В связи с этим также рассматривается модификация алгоритма, в которой после сэмплирования темы для очередного слова для некоторых предыдущих слов производится повторное сэмплирование, то есть z, выбирается заново.
5.5. Модели, учитывающие пользовательские метки
Многие социальные сервисы позволяют пользователям реагировать на объекты или оставлять дополнительную информацию. Эта информация может быть представлена в разных формах: в виде комментариев, оценок, меток и др. Ее можно использовать для улучшения качества результатов алгоритмов, работающих с содержимым социальных сетей.
В работе [19] рассматривается модификация LDA, которая учитывает метки (или тэги), которые пользователи назначают текстовым объектам.
Рис. 10. Графическое представление тематической модели с учетом меток.
Схема предложенной модели представлена на рис. 10. Основная её особенность в том, что для каждого документа появляется наблюдаемая переменная А, которая соответствует тэгам пользователей. А — это бинарный вектор размерности К, где К — количество различных тэгов на всем наборе данных. При этом /-я компонента А равна 1, если документ помечен соответствующим ;-м тэгом, 0 — в противном случае. В данной модели темы отождествляются с тэгами, поэтому количество различных тэгов совпадает с
количеством тем К. Распределение тем в документе в зависит не только от априорного распределения, но и от наблюдаемых меток: в каждом документе вычисляется распределение только по тем темам, которые соответствуют тэгам с At=l, для остальных тем вероятность равна 0. Для оценивания скрытых параметров в работе [19] используется сэмплирование по Гиббсу, в котором каяедая переменная z„ выбирается только из соответствующего набора тем.
6. Методы оценивания качества результатов
6.1. Обобщающая способность модели
Самым распространённым способом оценивания качества вероятностных тематических моделей является расчёт перплексии [31] на тестовом наборе данных Dtest из М документов:
Л { Zd=i log P(wd\ модель))
Перплексия(£>^) = exp]-----------------------f (19)
L Ld=lNd )
Способы расчёта вероятности нового документа wd при условии известных параметров модели рассмотрены в работе [32].
Если немного изменить способ расчёта перплексии и оценивать вероятности для каяедого слова wdn из тестового набора документов:
Перплексия(£>£еЛ) = exp{-£if=1 log P(wdn\модель)}, (20)
то полученное значение соответствует полезному размеру словаря модели. Например, значение 100 означает, что набор вероятностей полученной модели эквивалентен случайному выбору каждого слова из словаря размером в 100 слов [14]. Таким образом, меньшее значение перплексии означает, что модель лучше описывает (обобщает) тестовые данные. Кроме того, минимизируя значение этого критерия, можно экспериментально подобрать оптимальное число различных тем в коллекции документов.
Альтернативным подходом является оценивание вероятности второй части документа при условии наличия первой [35]. Для этого каждый документ разделяют на 2 части: первую часть считают обучающими данными, а с помощью второй тестируют качество модели.
6.2. Эффективность приложений
Тестирование моделей на уровне приложений позволяет оценить их применимость к конкретной задаче и данным. К примеру, в работе [21] приведены результаты использования 4 различных тематических моделей в задаче фильтрации спама, а также сформулированы рекомендации для их применения к разным наборам данных. Авторы [25] исследовали
производительность моделей LSI и LDA в сочетании с популярным алгоритмом классификации метод опорных векторов (Support Vector Machine, SVM) в применении к классической задаче классификации документов. Продемонстрировано значительное увеличение точности классификации с использованием тематических моделей по сравнению с обычным векторным представлением.
6.3. Интерпретируемость
Приложения, которые предполагают непосредственное взаимодействие пользователя с результатами тематического моделирования, должны также учитывать их интерпретируемость. В исследовании [33] было показано, что модели с наименьшей перплексией (см. раздел 6.1) обычно хуже интерпретируются обычными людьми. Однако предложенный авторами метод оценивания интерпретируемости моделей предполагает активное участие пользователей и не применим в общем случае.
Авторами [34] были предложены методы автоматического оценивания связности найденных тем с помощью внешних баз знаний (WordNet, Wikipedia, Google). Наибольшую согласованность с мнениями экспертов показал метод, основанный на расчёте значения поточечной взаимной информации (pointwise mutual information, PMI) для пар терминов (w^wj'), составляющих тему, на полном корпусе статей Википедии (~2 млн. статей с ~1 млрд. слов):
PMl(w,w,) = logKW|)p(„;) (21)
7. Программные реализации
Некоторые реализации вероятностных тематических моделей представлены в табл. 1. Кроме того, на веб-странице автора КО А и других тематических моделей Дэвида Блея [23] доступны реализации оригинальных методов, описанных им и его коллегами в статьях.
Фреймворки, позволяющие описать произвольную модель и оценить её оптимальные параметры, описаны в табл. 2.
В табл. 3 представлены библиотеки, упрощающие использование методов тематического моделирования с помощью графического интерфейса.
Название Язык Алгоритмы оценивания параметров Ссылка
LDA-C С вариационный ЕМ www.cs.princeton.edu/~blei/lda-c
Mallet Java сэмплирование по Г иббсу mallet.cs.umass.edu/topics.php
GibbsLDA + + C/C++ сэмплирование по Г иббсу gibbslda.sourceforge.net
Gensim Python сэмплирование по Г иббсу radimrehurek.com/gensim
Matlab Topic Modeling Toolbox Matlab сэмплирование по Г иббсу psiexp.ss.uci.edu/research/ programsdata/toolbox.htm
Stanford Topic Modeling Toolbox Scala коллапсированное сэмплирование по Г иббсу, коллапсированная вариационная Байесовская аппроксимация nip. Stanford, edu/software/tmt
GraphLab C++ коллапсированное сэмплирование по Г иббсу docs.graphlab.org/topic_modeling.html
Yahoo LDA C++ сэмплирование по Г иббсу (Мар11ес1исе) github.com/shravanmn/ YahooLDA
Mahout Java вариационный ЕМ (Мар11ес1исе) cwiki.apache.org/confluence/display/ MAHOUT/Latent+Dirichlet+Allocation
Табл. 2. Фреймворки для вероятностного моделирования.
Название Язык Алгоритмы оценивания параметров Ссылка
PyMC Pyhton методы Монте-Карло для марковских цепей github. com/pymc-devs/pymc
Factor ie Scala методы Монте-Карло для марковских цепей, вариационный ЕМ factorie.cs.umass.edu
Open BUGS С сэмплирование по Г иббсу openbugs.info/w
Табл. 3. Библиотеки для тематического моделирования с графическим
интерфейсом.
Название Ссылка
WinBUGS www.mrc-bsu.cam.ac.uk/bugs/winbugs/contents.shtml
Topic Modeling Tool code.google.com/p/topic-modeling-tool
8. Заключение
В статье были продемонстрированы эволюция и современное состояние тематического моделирования текстов на естественном языке, которое является перспективным инструментом для обработки больших коллекций документов в приложениях информационного поиска и анализа текстов. Известно, что большая часть текстов на сегодняшний день создаётся и публикуется пользователями Интернета в свободной форме. Вместе с тем, именно автоматизированный анализ растущих объёмов подобной информации способен дать заинтересованным организациям уникальную возможность для отслеживания актуальных трендов, а также понимания заинтересованности потребителей в тех или иных продуктах, товарах или услугах.
В связи с этим можно выделить следующие перспективные направления развития тематического моделирования:
• Анализ пользовательского контента (блоги, форумы, социальные сети, рецензии, отзывы и др.);
• Использование дополнительных данных: социального профиля и связей пользователей, метаданных документов и связей между ними, внешних энциклопедий и онтологий, статистики просмотра страниц, записей о реакциях пользователей, временных меток и т.д. ;
• Разработка методов обучения и вывода по моделям для распределённой обработки больших потоков данных в реальном времени;
• Разработка способов применения тематического моделирования к новым типам данных (изображения, аудио- и видеофайлы, геном, финансовая статистика и т.д.).
Список литературы
[1] James Allan, Jaime Carboneil, George Doddington, Jonathan Yamron, and Yiming Yang. Topic Detection and Tracking Pilot Study. Final Report. Proceedings of the Broadcast News Transcription and Understanding Workshop (Sponsored by DARPA), Feb. 1998
[2] A.K. Jain, M.N. Murty, P. J. Flynn. Data Clustering: A Review, ACM Computing Surveys, Vol. 31, No. 3, September 1999
[3] Fabrizio Sebastiani. Machine Learning in Automated Text Categorization, ACM Computing Surveys, Vol. 34, No.l, pp.1-47, 2002.
[4] Allan, J. and Lavrenko, V. and Malin, D. and Swan, R. Detections, bounds, and timelines: UKIass and TDT-3. In Proceedings of Topic Detection and Tracking Workshop, pages 167-174.p. 167-174, Vienna, VA, 2000
[5] Blei, David M. (April 2012). Introduction to Probabilistic Topic Models. Comm. ACM 55 (4): 77-84.
[6] Thomas Hofmann. Probabilistic Latent Semantic Analysis. UAI 1999: 289-296
[7] Thomas Hofmann. Probabilistic Latent Semantic Indexing. SIGIR 1999: 50-57
[8] T.K. Moon. The expectation-maximization algorithm. IEEE Signal Processing Mag., vol. 13, pp. 47-60, Nov. 1996
[9] D. Blei, A. Ng, and M. Jordan. Latent Di rich let allocation. Journal of Machine Learning Research, 3:993-1022, January 2003
[10] Gregor Heinrich. Parameter estimation for text analysis. Technical report, Fraunhofer IGD, 2005
[11] D. Blei, T. Griffiths, M. Jordan, and J. Tenenbaum. Hierarchical topic models and the nested Chinese restaurant process. Neural Information Processing Systems 16,2003
[12] Yee Whye Teh, Michael I. Jordan, Matthew J. Beal and David M. Blei. Hierarchical Dirichlet Processes. Journal of the American Statistical Association, 101:476, 1566-1581,2006
[13] C. Wang, J. Paisley, and D. Blei. Online variational inference for the hierarchical Dirichlet process. Artificial Intelligence and Statistics ,2011
[14] Mining Text Data (Springer) Ed. Charu Aggarwal, ChengXiang Zhai, March 2012
[15] D. Blei and J. Lafferty. Dynamic topic models. In Proceedings of the 23rd International Conference on Machine Learning, 2006
[16] Xuerui Wang, Andrew McCallum. Topics over time: a non-Markov continuous-time model of topical trends. KDD 2006: 424-433
[17] M. Hoffman, D. Blei, andF. Bach. Online learning for latent Dirichlet allocation. Neural Information Processing Systems, 2010
[18] Kevin Robert Canini, Lei Shi, Thomas L. Griffiths. Online Inference of Topics with Latent Dirichlet Allocation. Journal of Machine Learning Research - Proceedings Track 5: 65-72 (2009)
[19] D. Ramage, D. Hall, R. Nallapati, and C. D. Manning. Labeled LDA. A supervised topic-model for credit attribution in multi-labeled corpora. In Empirical Methods in Natural Language Processing, pages 248-256, 2009
[20] G. Lisowsky andL. Rost. Konkordanz zunt hebraischen Alten Testament. Deutsche Bibelgesellschaft, 1958.
[21] Lee, S., Song, J., and Kim, Y. An Empirical Comparison of Four Text Mining Methods. Journal of Computer Information Systems, (51:1), 2010, pp. 1-10
[22] D. Blei and J. Lafferty. Topic Models. In A. Srivastava and M. Sahami, editors, Text Mining: Classification, Clustering, and Applications. Chapman & Hall/CRC Data Mining and Knowledge Discovery Series, 2009
[23] David M. Blei topic modeling page -http://www.cs.princeton.edu/~blei/topicmodeling.html
[24] D. Mirnno and A. McCallum. Topic models conditioned on arbitrary features with dirichlet-multinomial regression. In UAI, 2008
[25] Zelong Liu, Maozhen Li, Yang Liu, Mahesh Ponraj. Performance evaluation of Latent Dirichlet Allocation in text mining. FSKD 2011: 2695-2698
[26] Steyvers, M. & Griffiths, T. Probabilistic topic models. In T. Landauer, D McNamara,
S. Dennis, and W. Kintsch (eds), Latent Semantic Analysis: A Road to Meaning. Laurence Erlbaum, 2007
[27] Ali Daud, Juanzi Li, Lizhu Zhou, Faqir Muhammad. Knowledge discovery through directed probabilistic topic models: a survey. In Proceedings of Frontiers of Computer Science in China. 2010,280-301. —перевод на русский К. В. Воронцов, А. В. Темлянцев и др.
[28] Buntine W. L. Operations for learning with graphical models. Journal of Artificial Intelligence Research, 1994,2: 159-225
[29] S. Choi, S. Cha, С. C. Tappert. A Survey of Binary Similarity and Distance Measures, Journal of Systemics, Cybernetics and Informatics, Vol 8 No 1 2010, pp 43-48
[30] Rui Xu, Donald C. Wunsch II. Survey of clustering algorithms. IEEE Transactions on Neural Networks 16(3): 645-678 (2005)
[31] L. Bahl, J. Baker, E. Jelinek, andR. Mercer. Perplexity — a measure of the difficulty of speech recognition tasks. In Program, 94th Meeting of the Acoustical Society of America, volume 62, page S63, 1977
[32] H. Wallach, I. Murray, R. Salakhutdinov, and D. Mimno. Evaluation methods for topic models. In Proceedings of the 26th International Conference on Machine Learning (ICML 2009), 2009
[33] Jonathan Chang, Jordan L. Boyd-Graber, Sean Gerrish, Chong Wang, David M. Blei. Reading Tea Leaves: How Humans Interpret Topic Models. NIPS 2009: 288-296
[34] Newman, Lau, Grieser, Baldwin. Automatic Evaluation of Topic Coherence. NAACL HLT 2010
[35] Rosen-Zvi, М., Griffiths, Т., Steyvers, М., & Smyth, P. (2004). The author-topic model for authors and documents. Proc. of Conf. on Uncertainty in Artificial Intelligence (UAL04) (pp. 487^194)
[36] Dumais, S. Т., Furnas, G. W., Landauer, Т. K. and Deerwester, S. (1988). Using latent semantic analysis to improve information retrieval. In Proceedings of СНГ88: Conference on Human Factors in Computing, New York: ACM, 281-285
[37] Sanjeev Arora, Rong Ge, Ankur Moitra. Learning Topic Models - Going beyond SVD. CoRR abs/1204.1956 (2012)
[38] Daniel D. Lee and H. Sebastian Seung (1999). Learning the parts of objects by nonnegative matrix factorization. Nature 401 (6755): 788-791
243