Скрытое размещение Дирихле - Latent Dirichlet allocation

В обработке естественного языка , то латентный Дирихль распределение ( LDA ) является генеративной статистической моделью , которая позволяет множества наблюдений объясняются ненаблюдаемыми группами , которые объясняют , почему некоторые части данных аналогичны. Например, если наблюдения представляют собой слова, собранные в документы, предполагается, что каждый документ представляет собой смесь небольшого количества тем и что присутствие каждого слова связано с одной из тем документа. LDA является примером тематической модели и относится к области машинного обучения и в более широком смысле к области искусственного интеллекта .

История

В контексте популяционной генетики LDA была предложена Дж. К. Притчардом , М. Стивенсом и П. Доннелли в 2000 году.

LDA был применен в машинном обучении по Дэвид Блей , Эндрю Нг и Майкл И. Иордана в 2003 году.

Обзор

Эволюционная биология и биомедицина

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

Машинное обучение

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

Например, в коллекции документов , связанных с домашними животными, терминам собака , спаниель , бигль , золотистый ретривер , щенок , корой , и Гав хотел бы предложить DOG_related тему, в то время как термины кошка , сиамская , главный енота , пятнистый , Манкс , мяу , мурлыканье и котенок предложат тему, связанную с CAT_ . В сборнике может быть гораздо больше тем - например, связанных с диетой, уходом, здоровьем, поведением и т. Д., Которые мы не обсуждаем для простоты. (Очень распространенные, так называемые стоп-слова в языке - например, «тот», «ан», «тот», «есть», «есть» и т. Д. - не различают темы и обычно отфильтровываются предварительными -обработка перед выполнением LDA. Предварительная обработка также преобразует термины в их "корневые" лексические формы - например, "лай", "лай" и "лай" будут преобразованы в "лай".)

Если коллекция документов достаточно велика, LDA обнаружит такие наборы терминов (т. Е. Тем) на основе совместного появления отдельных терминов, хотя задача присвоения значимого ярлыка отдельной теме (т. Е. Что все термины являются DOG_related) зависит от пользователя и часто требует специальных знаний (например, для сбора технической документации). Подход LDA предполагает, что:

  1. Семантическое содержание документа составляется путем объединения одного или нескольких терминов из одной или нескольких тем.
  2. Некоторые термины неоднозначны , относятся к нескольким темам с разной вероятностью. (Например, термин дрессировка может применяться как к собакам, так и к кошкам, но с большей вероятностью относится к собакам, которые используются в качестве рабочих животных или участвуют в соревнованиях по послушанию или навыкам.) Однако в документе сопутствующее присутствие специфических соседние термины (которые относятся только к одной теме) устранят неоднозначность их использования.
  3. Большинство документов будет содержать относительно небольшое количество тем. В коллекции, например, отдельные темы будут встречаться с разной частотой. То есть у них есть распределение вероятностей, так что данный документ с большей вероятностью будет содержать одни темы, чем другие.
  4. В рамках темы одни термины будут использоваться гораздо чаще, чем другие. Другими словами, термины в теме также будут иметь собственное распределение вероятностей.

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

LDA - это обобщение старого подхода вероятностного скрытого семантического анализа (pLSA). Модель pLSA эквивалентна LDA при однородном априорном распределении Дирихле. pLSA полагается только на первые два предположения, приведенных выше, и не заботится об остальных. Хотя оба метода в принципе схожи и требуют, чтобы пользователь указывал количество тем, которые должны быть обнаружены перед началом обучения (как в случае кластеризации K-средних ), LDA имеет следующие преимущества перед pLSA:

  • LDA обеспечивает лучшее устранение неоднозначности слов и более точное распределение документов по темам.
  • Вычисление вероятностей позволяет «генерировать» процесс, с помощью которого может быть сгенерирован набор новых «синтетических документов», которые будут точно отражать статистические характеристики исходной коллекции.
  • В отличие от LDA, pLSA подвержен переобучению, особенно когда размер корпуса увеличивается.
  • Алгоритм LDA легче поддается масштабированию для больших наборов данных с использованием подхода MapReduce на вычислительном кластере.

Модель

Обозначения на табличке, представляющие модель LDA.

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

M обозначает количество документов
N - количество слов в данном документе (в документе i есть слова)
α - параметр Дирихле априорного распределения по темам документов.
β - параметр априорного распределения Дирихле по тематическому распределению слов.
это распределение тем для документа i
это распределение слов для темы k
это тема j -го слова в документе i
это конкретное слово.
Обозначения на табличке для LDA с распределением тематических слов по Дирихле

Тот факт, что W неактивен, означает, что слова - единственные наблюдаемые переменные , а другие переменные - скрытые . Как было предложено в исходной статье, редкий априор Дирихле можно использовать для моделирования распределения тематических слов, следуя интуиции, что распределение вероятностей по словам в теме искажено, так что только небольшой набор слов имеет высокую вероятность. Полученная модель является наиболее широко применяемым вариантом LDA на сегодняшний день. Обозначение на табличке для этой модели показано справа, где обозначает количество тем и являются -мерными векторами, хранящими параметры распределений тематических слов по Дирихле ( количество слов в словаре).

Полезно думать о сущностях, представленных матрицами и как о матрицах, созданных путем декомпозиции исходной матрицы документ-слово, которая представляет собой корпус моделируемых документов. В этом представлении состоит из строк, определяемых документами, и столбцов, определяемых темами, в то время как состоит из строк, определяемых темами, и столбцов, определяемых словами. Таким образом, относится к набору строк или векторов, каждый из которых является распределением по словам, и относится к набору строк, каждая из которых является распределением по темам.

Генеративный процесс

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

1. Выберите , где и - распределение Дирихле с симметричным параметром, который обычно является разреженным ( )

2. Выберите , где и обычно разрежен

3. Для каждой позиции слова , где , и

(а) Выберите тему
(б) Выберите слово

(Обратите внимание, что полиномиальное распределение здесь относится к полиномиальному только с одним испытанием, которое также известно как категориальное распределение .)

Длины рассматриваются как независимые от всех других переменных, генерирующих данные ( и ). Подстрочный индекс часто опускается, как на диаграммах, показанных здесь.

Определение

Формальное описание LDA выглядит следующим образом:

Определение переменных в модели
Переменная Тип Имея в виду
целое число количество тем (например, 50)
целое число количество слов в словаре (например, 50 000 или 1 000 000)
целое число количество документов
целое число количество слов в документе d
целое число общее количество слов во всех документах; сумма всех значений, т.е.
положительный реальный предшествующий вес темы k в документе; обычно одинаково для всех тем; обычно число меньше 1, например 0,1, чтобы предпочитать редкие распределения тем, т.е. несколько тем в документе
K -мерный вектор положительных вещественных чисел сбор всех значений, рассматриваемых как единый вектор
положительный реальный предшествующий вес слова w в теме; обычно одинаково для всех слов; обычно число намного меньше 1, например 0,001, чтобы сильно отдавать предпочтение разреженному распределению слов, т.е. несколько слов на тему
V -мерный вектор положительных вещественных чисел сбор всех значений, рассматриваемых как единый вектор
вероятность (действительное число от 0 до 1) вероятность того, что слово w встречается в теме k
V -мерный вектор вероятностей, сумма которых должна составлять 1 распределение слов в теме k
вероятность (действительное число от 0 до 1) вероятность появления темы k в документе d
K -мерный вектор вероятностей, сумма которых должна составлять 1 распределение тем в документе d
целое число от 1 до K идентичность темы слова w в документе d
N -мерный вектор целых чисел от 1 до K идентичность темы всех слов во всех документах
целое число от 1 до V идентичность слова w в документе d
N -мерный вектор целых чисел от 1 до V идентичность всех слов во всех документах

Затем мы можем математически описать случайные величины следующим образом:

Вывод

Изучение различных распределений (набор тем, связанные с ними вероятности слов, тема каждого слова и конкретная смесь тем каждого документа) - это проблема статистического вывода .

Моделирование Монте-Карло

В оригинальной статье Pritchard et al. использовали аппроксимацию апостериорного распределения методом Монте-Карло. Альтернативное предложение методов вывода включает выборку Гиббса .

Вариационный байесовский

В исходной статье ML использовалась вариационная байесовская аппроксимация апостериорного распределения ;

Максимизация правдоподобия

Прямая оптимизация вероятности с помощью алгоритма релаксации блоков оказывается быстрой альтернативой MCMC.

Неизвестное количество популяций / тем

На практике оптимальное количество групп населения или тем заранее не известно. Его можно оценить путем аппроксимации апостериорного распределения цепью Маркова с обратимым скачком Монте-Карло .

Альтернативные подходы

Альтернативные подходы включают распространение математического ожидания .


Недавние исследования были сосредоточены на ускорении вывода о скрытом распределении Дирихле для поддержки захвата огромного количества тем в большом количестве документов. Уравнение обновления свернутого пробоотборника Гиббса, упомянутое в предыдущем разделе, имеет естественную разреженность, которой можно воспользоваться. Интуитивно понятно, поскольку каждый документ содержит только подмножество тем , а слово также появляется только в подмножестве тем , приведенное выше уравнение обновления можно переписать, чтобы воспользоваться этой редкостью.

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

Здесь мы видим, что это сумма тем, которые появляются в документе , а также разреженная сумма тем, которым присвоено слово во всем корпусе. с другой стороны, плотный, но из-за малых значений & , значение очень мало по сравнению с двумя другими членами.

Теперь, во время выборки темы, если мы выбираем случайную переменную равномерно , мы можем проверить, в какое ведро попадает наша выборка. Поскольку оно невелико, мы очень маловероятно попадем в это ведро; однако, если мы попадаем в это ведро, выборка темы требует времени (так же, как и исходный сэмплер Collapsed Gibbs). Однако, если мы попадаем в две другие группы, нам нужно будет проверить только подмножество тем, если мы будем вести учет разреженных тем. Тема может быть выбрана из корзины по времени, а тема может быть выбрана из корзины по времени, где и обозначает количество тем, назначенных текущему документу и текущему типу слова соответственно.

Обратите внимание, что после выборки каждой темы обновление этих сегментов - это все основные арифметические операции.

Аспекты вычислительных деталей

Ниже приводится вывод уравнений для свернутой выборки Гиббса , что означает, что s и s будут интегрированы. Для простоты в этом выводе предполагается, что все документы имеют одинаковую длину . Вывод также действителен, если длина документа различается.

Согласно модели, полная вероятность модели составляет:

где переменные, выделенные жирным шрифтом, обозначают векторную версию переменных. Во-первых, и нужно интегрировать.

Все s независимы друг от друга и одинаковы для всех s. Таким образом, мы можем рассматривать каждого отдельно. Теперь мы сосредоточимся только на части.

В дальнейшем мы можем сосредоточиться только на одном из следующих:

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

Позвольте быть количеством токенов слов в документе с тем же символом слова ( словом в словаре), присвоенным теме. Итак, трехмерный. Если какое-либо из трех измерений не ограничено конкретным значением, мы используем точку в скобках для обозначения. Например, обозначает количество токенов слов в документе, присвоенном теме. Таким образом, большую правую часть приведенного выше уравнения можно переписать как:

Таким образом, формулу интегрирования можно изменить на:

Ясно, что уравнение внутри интегрирования имеет тот же вид, что и распределение Дирихле . Согласно распределению Дирихле ,

Таким образом,

Теперь обратим внимание на деталь. Собственно, происхождение детали очень похоже на деталь. Здесь мы только перечисляем этапы вывода:

Для ясности здесь мы записываем окончательное уравнение с обоими и интегрированными:

Здесь цель Гиббса Сэмплинга - аппроксимировать распределение . Поскольку он неизменен для любого из Z, уравнения Гиббса Сэмплинга могут быть получены напрямую из . Ключевым моментом является получение следующей условной вероятности:

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

но отношения между вероятностями, которые могут иметь значение. Итак, приведенное выше уравнение можно упростить как:

Наконец, пусть будет то же значение, что и исключенное. Вышеупомянутое уравнение можно дополнительно упростить, используя свойство гамма-функции . Сначала мы разбиваем суммирование, а затем объединяем его обратно, чтобы получить независимое суммирование, которое можно было бы отбросить:

Обратите внимание, что та же формула выводится в статье о полиномиальном распределении Дирихле как часть более общего обсуждения интеграции априорных значений распределения Дирихле из байесовской сети .

Связанные проблемы

Связанные модели

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

Модель LDA очень модульная и поэтому может быть легко расширена. Основная область интересов - моделирование отношений между темами. Это достигается за счет использования другого распределения на симплексе вместо Дирихле. Модель коррелированных тем следует этому подходу, создавая структуру корреляции между темами с использованием логистического нормального распределения вместо Дирихле. Другое расширение - иерархический LDA (hLDA), где темы объединяются в иерархию с помощью вложенного процесса китайского ресторана , структура которого извлекается из данных. LDA также может быть расширено до корпуса, в котором документ включает два типа информации (например, слова и имена), как в модели LDA-dual . Непараметрические расширения LDA включают иерархическую модель смеси процессов Дирихле , которая позволяет неограниченному количеству тем и извлекать их из данных.

Как отмечалось ранее, pLSA похож на LDA. Модель LDA - это, по сути, байесовская версия модели pLSA. Байесовская формулировка обычно лучше работает с небольшими наборами данных, потому что байесовские методы могут избежать переобучения данных. Для очень больших наборов данных результаты двух моделей имеют тенденцию сходиться. Одно отличие состоит в том, что pLSA использует переменную для представления документа в обучающем наборе. Таким образом, в pLSA, когда мы представляем документ, который модель еще не видела, мы фиксируем - вероятность слов под темами - как полученную из обучающей выборки, и используем тот же алгоритм EM для вывода - распределение тем под . Блей утверждает, что этот шаг является обманом, потому что вы, по сути, перестраиваете модель в соответствии с новыми данными.

Пространственные модели

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

Варианты LDA использовались для автоматического разделения естественных изображений по категориям, таким как «спальня» или «лес», путем обработки изображения как документа, а небольших участков изображения - как слов; один из вариантов называется пространственным скрытым размещением Дирихле .

Смотрите также

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

внешние ссылки

  • jLDADMM Пакет Java для моделирования тем на обычных или коротких текстах. jLDADMM включает в себя реализации тематической модели LDA и полиномиальной смеси Дирихле, состоящей из одной темы для каждого документа . jLDADMM также предоставляет реализацию для оценки кластеризации документов для сравнения тематических моделей.
  • STTM Пакет Java для моделирования коротких текстовых тем ( https://github.com/qiang2100/STTM ). STTM включает следующие алгоритмы: Полиномиальная смесь Дирихле (DMM) на конференции KDD2014, Тематическая модель Битерма (BTM) в журнале TKDE2016, Сетевая тематическая модель Word (WNTM) в журнале KAIS2018, Тематическая модель на основе псевдодокументов (PTM) на конференции KDD2016 , Тематическая модель на основе самоагрегации (SATM) на конференции IJCAI2015, (ETM) на конференции PAKDD2017, Обобщенная модель полиномиальной смеси Дирихле (GPU-DMM) на основе P´olya Urn (GPU-DMM) на конференции SIGIR2016, Generalized P´olya Urn (GPU) ) основанная на Пуассоне модель полиномиальной смеси Дирихле (GPU-PDMM) в журнале TIS2017 и модель скрытых функций с DMM (LF-DMM) в журнале TACL2015. STTM также включает шесть коротких текстовых корпусов для оценки. STTM представляет три аспекта того, как оценивать производительность алгоритмов (например, согласованность тем, кластеризацию и классификацию).
  • Лекция, охватывающая некоторые обозначения в этой статье: LDA и видео-лекция по тематическому моделированию Дэвида Блея или та же лекция на YouTube.
  • Библиография LDA Д. Мимно Исчерпывающий список ресурсов, связанных с LDA (включая документы и некоторые реализации)
  • Gensim , реализация онлайн-LDA на Python + NumPy для входов, превышающих доступную оперативную память.
  • topicmodels и lda - это два пакета R для анализа LDA.
  • «Text Mining with R», включая методы LDA , видеопрезентация на октябрьском собрании группы пользователей R в Лос-Анджелесе 2011 г.
  • MALLET Пакет на основе Java с открытым исходным кодом от Массачусетского университета в Амхерсте для тематического моделирования с помощью LDA, также имеет независимо разработанный графический интерфейс, инструмент тематического моделирования.
  • LDA в Mahout реализация LDA с использованием MapReduce на платформе Hadoop
  • Учебное пособие по скрытому распределению Дирихле (LDA) для Infer.NET Machine Computing Framework Microsoft Research C # Machine Learning Framework
  • LDA в Spark : Начиная с версии 1.3.0, Apache Spark также включает реализацию LDA.
  • LDA , пример Реализация LDA MATLAB