Тематическое моделирование
Материал из MachineLearning.
(пока только постановка задачи и pLSA, остальное каминсун...) |
|||
Строка 4: | Строка 4: | ||
'''Тематическое моделирование''' (topic modeling) — построение тематической модели. | '''Тематическое моделирование''' (topic modeling) — построение тематической модели. | ||
- | == | + | == Задача построения тематической модели == |
Задана коллекция текстовых документов <tex>D</tex>. | Задана коллекция текстовых документов <tex>D</tex>. | ||
- | Каждый документ <tex>d</tex> из коллекции <tex>D</tex> представляет собой последовательность слов из словаря <tex>W</tex>. | + | Каждый документ <tex>d</tex> из коллекции <tex>D</tex> представляет собой последовательность слов <tex>W_d=(w_1,\ldots,w_{n_d})</tex> из словаря <tex>W</tex>, где <tex>n_d</tex> — длина документа <tex>d</tex>. |
Предполагается, что каждый документ может относиться к одной или нескольким темам. | Предполагается, что каждый документ может относиться к одной или нескольким темам. | ||
Темы отличаются друг от друга различной частотой употребления слов. | Темы отличаются друг от друга различной частотой употребления слов. | ||
Строка 12: | Строка 12: | ||
* число тем; | * число тем; | ||
* распределения частот слов, характерное для каждой темы; | * распределения частот слов, характерное для каждой темы; | ||
- | * | + | * тематику каждого документа — в какой степени он относится к каждой из тем. |
- | '' | + | Данная задача может рассматриваться как задача одновременной [[кластеризация|кластеризации]] документов и слов по одному и тому же множеству кластеров, называемых ''темами''. |
+ | Обычно строится [[мягкая кластеризация]], то есть документ может принадлежать нескольким темам в различной степени. | ||
- | ''' | + | Целью построения тематической модели может быть как непосредственно выявление множества латентных тем, так и решение различных дополнительных задач. |
+ | |||
+ | '''Примеры дополнительных задач:''' | ||
+ | * поиск документов по заданной теме; | ||
+ | * поиск документов по заданному документу или его фрагменту; | ||
+ | * построить иерархический тематический каталог коллекции документов и выработать правила каталогизации новых документов; | ||
+ | * определить, как темы изменялись со временем (предполагается, что для каждого документа известно время его создания); | ||
+ | * определить тематику авторов (предполагается, что для каждого документа известен список второв); | ||
+ | * определить тематику различных сущностей (entities), связанных с документами (например, организаций, журналов, конференций, если документами являются научные статьи); | ||
+ | * разбить документ на тематически однородные фрагменты. | ||
+ | |||
+ | '''Типичные приложения:''' | ||
+ | * анализ коллекций научных статей; | ||
+ | * анализ новостных потоков; | ||
+ | * [[рубрикация]] коллекций изображений, видео, музыки; | ||
+ | * [[аннотация генома]] и другие задачи [[биоинформатика|биоинформатики]]; | ||
+ | * [[коллаборативная фильтрация]]. | ||
==Латентный семантический анализ== | ==Латентный семантический анализ== | ||
Строка 23: | Строка 40: | ||
==Вероятностные тематические модели== | ==Вероятностные тематические модели== | ||
- | + | В основе базовых вероятностных тематических моделей (probabilistic topic model) лежат следующие предположения. | |
+ | * порядок документов в коллекции не важен; | ||
+ | * порядок слов в документе не важен, документ — «мешок слов» (bag of words); | ||
+ | * слова, встречающиеся в большинстве документов, не важны для определения тематики, их обычно исключают из словаря и называют ''стоп-словами''; | ||
+ | * слово в разных формах — это одно и то же слово; | ||
+ | * коллекцию документов можно рассматривать как [[простая выборка|простую выборку]] пар «документ–слово» <tex>(d,w),\; d\in D,\; w\in W_d</tex>. | ||
===Вероятностный латентный семантический анализ=== | ===Вероятностный латентный семантический анализ=== | ||
+ | Вероятностная модель появления пары «документ–слово» <tex>(d,w)</tex> может быть записана тремя эквивалентными способами: | ||
+ | ::<tex>p(d,w) = \sum_{t\in T} p(t) p(w|t) p(d|t) = \sum_{t\in T} p(d) p(w|t) p(t|d) = \sum_{t\in T} p(w) p(t|w) p(d|t),</tex> | ||
+ | где <tex>T</tex> — множество тем; | ||
+ | :<tex>p(w|t)</tex> — неизвестное распределение слов, характеризующее тему <tex>t</tex>; | ||
+ | :<tex>p(t|d)</tex> — неизвестное распределение тем в документе <tex>d</tex>; | ||
+ | :<tex>p(t)</tex> — неизвестное априорное распределение тем во всей коллекции; | ||
+ | :<tex>p(d)</tex> — априорное распределение на множестве документов, эмпирическая оценка <tex>p(d) = n_d/n</tex>, где <tex>n = \sum_d n_d</tex> — суммарная длина всех документов; | ||
+ | :<tex>p(w)</tex> — априорное распределение на множестве слов, эмпирическая оценка <tex>p(w) = n_w/n</tex>, где <tex>n_w</tex> — число вхождений слова <tex>w</tex> во все документы; | ||
+ | : распределения <tex>p(t|w), p(d|t)</tex> вычисляются через <tex>p(w|t), p(t|d)</tex> по формуле Байеса. | ||
+ | |||
+ | Для идентификации параметров тематической модели по коллекции документов применяется принцип максимума правдоподобия: | ||
+ | ::<tex>\sum_{d\in D} \sum_{w\in d} n_{dw}\log p(d,w) \to \min_{\{p(w|t)\}, \{p(t|d)\}} ,</tex> | ||
+ | где <tex>n_{dw}</tex> — число вхождений слова <tex>w</tex> в документ <tex>d</tex>. | ||
+ | Для решения данной оптимизационной задачи обычно применяется [[EM-алгоритм]]. | ||
+ | |||
===Латентное размещение Дирихле=== | ===Латентное размещение Дирихле=== | ||
- | == | + | ==Оценивание качества тематических моделей== |
== Литература == | == Литература == |
Версия 21:47, 13 января 2012
|
Тематическая модель (topic model) — модель коллекции текстовых документов, которая определяет, к каким темам относится каждый документ коллекции. Алгоритм построения тематической модели получает на входе коллекцию текстовых документов. На выходе для каждого документа выдаётся числовой вектор, составленный из оценок степени принадлежности данного документа каждой из тем. Размерность этого вектора, равная числу тем, может либо задаваться на входе, либо определяться моделью автоматически.
Тематическое моделирование (topic modeling) — построение тематической модели.
Задача построения тематической модели
Задана коллекция текстовых документов . Каждый документ из коллекции представляет собой последовательность слов из словаря , где — длина документа . Предполагается, что каждый документ может относиться к одной или нескольким темам. Темы отличаются друг от друга различной частотой употребления слов. Требуется найти эти темы, то есть определить
- число тем;
- распределения частот слов, характерное для каждой темы;
- тематику каждого документа — в какой степени он относится к каждой из тем.
Данная задача может рассматриваться как задача одновременной кластеризации документов и слов по одному и тому же множеству кластеров, называемых темами. Обычно строится мягкая кластеризация, то есть документ может принадлежать нескольким темам в различной степени.
Целью построения тематической модели может быть как непосредственно выявление множества латентных тем, так и решение различных дополнительных задач.
Примеры дополнительных задач:
- поиск документов по заданной теме;
- поиск документов по заданному документу или его фрагменту;
- построить иерархический тематический каталог коллекции документов и выработать правила каталогизации новых документов;
- определить, как темы изменялись со временем (предполагается, что для каждого документа известно время его создания);
- определить тематику авторов (предполагается, что для каждого документа известен список второв);
- определить тематику различных сущностей (entities), связанных с документами (например, организаций, журналов, конференций, если документами являются научные статьи);
- разбить документ на тематически однородные фрагменты.
Типичные приложения:
- анализ коллекций научных статей;
- анализ новостных потоков;
- рубрикация коллекций изображений, видео, музыки;
- аннотация генома и другие задачи биоинформатики;
- коллаборативная фильтрация.
Латентный семантический анализ
Метод главных компонент
Неотрицательные матричные разложения
Вероятностные тематические модели
В основе базовых вероятностных тематических моделей (probabilistic topic model) лежат следующие предположения.
- порядок документов в коллекции не важен;
- порядок слов в документе не важен, документ — «мешок слов» (bag of words);
- слова, встречающиеся в большинстве документов, не важны для определения тематики, их обычно исключают из словаря и называют стоп-словами;
- слово в разных формах — это одно и то же слово;
- коллекцию документов можно рассматривать как простую выборку пар «документ–слово» .
Вероятностный латентный семантический анализ
Вероятностная модель появления пары «документ–слово» может быть записана тремя эквивалентными способами:
где — множество тем;
- — неизвестное распределение слов, характеризующее тему ;
- — неизвестное распределение тем в документе ;
- — неизвестное априорное распределение тем во всей коллекции;
- — априорное распределение на множестве документов, эмпирическая оценка , где — суммарная длина всех документов;
- — априорное распределение на множестве слов, эмпирическая оценка , где — число вхождений слова во все документы;
- распределения вычисляются через по формуле Байеса.
Для идентификации параметров тематической модели по коллекции документов применяется принцип максимума правдоподобия:
где — число вхождений слова в документ . Для решения данной оптимизационной задачи обычно применяется EM-алгоритм.
Латентное размещение Дирихле
Оценивание качества тематических моделей
Литература
- Scott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, Richard Harshman. Indexing by Latent Semantic Analysis // JASIS (41) 1990 pp. 391-407.
- Thomas Hofmann. Probilistic latent semantic analysis // Proceedings of the Twenty-Second Annual International SIGIR Conference on Research and Development in Information Retrieval. 1999.
- David M. Blei, Andrew Ng, Michael Jordan. Latent Dirichlet allocation // Journal of Machine Learning Research (3) 2003 pp. 993-1022.
- Mark Steyvers, Tom Griffiths. Probabilistic Topic Models // In Handbook of Latent Semantic Analysis. 2007.
- Ali Daud, Juanzi Li, Lizhu Zhou, Faqir Muhammad. Knowledge discovery through directed probabilistic topic models: a survey // Frontiers of Computer Science in China, Vol.4, No.2, 2010, p. 280-301. Перевод на русский язык (PDF, 1 МБ).
- T. L. Griffiths, M. Steyvers. Finding scientific topics // Proceedings of the National Academy of Sciences, Vol. 101, Nr. Suppl. 1 (April 2004) , p. 5228-5235. Скачать с CiteSeer
Ссылки
- Topic Modeling Bibliography — коллекция ссылок Дэвида Мимно.
- Topic Model — англоязычная Википедия.
- Тематическое моделирование (PDF, 1 МБ) — презентация лекции К.В.Воронцова (МФТИ, ВМК МГУ, ШАД Яндекс, 2011).
- Лекция (PDF, 480 КБ) по латентному размещению Дирихле в рамках спецкурса БММО.