SlideShare a Scribd company logo
От наивного байеса к topic modeling
Тематическое моделирование
Тематическое моделирование
Сергей Николенко
DataFest2
, 6 марта 2016 г.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Outline
1 От наивного байеса к topic modeling
Naive Bayes
pLSA
2 Тематическое моделирование
LDA
Расширения LDA
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Категоризация текстов
Классическая задача машинного обучения и information
retrieval – категоризация текстов.
Дан набор текстов, разделённый на категории. Нужно
обучить модель и потом уметь категоризовать новые
тексты.
Атрибуты w1, w2, . . . , wn – это слова, v – тема текста (или
атрибут вроде «спам / не спам»).
Bag-of-words model: забываем про порядок слов,
составляем словарь. Теперь документ – это вектор,
показывающий, сколько раз каждое слово из словаря в
нём встречается.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Naive Bayes
Заметим, что даже это – сильно упрощённый взгляд: для
слов ещё довольно-таки важен порядок, в котором они
идут...
Но и это ещё не всё: получается, что
p(w1, w2, . . . , wn|x = v) – это вероятность в точности
такого набора слов в сообщениях на разные темы.
Очевидно, такой статистики взять неоткуда.
Значит, надо дальше делать упрощающие предположения.
Наивный байесовский классификатор – самая простая
такая модель: давайте предположим, что все слова в
словаре условно независимы при условии данной
категории.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Naive Bayes
Иначе говоря:
p(w1, w2, . . . , wn|x = v) = p(w1|x = v)p(w2|x = v) . . . p(wn|x = v).
Итак, наивный байесовский классификатор выбирает v как
vNB(w1, w2, . . . , wn) = arg maxv∈V p(x = v)
n
i=1
p(wi |x = v).
В парадигме классификации текстов мы предполагаем, что
разные слова в тексте на одну и ту же тему появляются
независимо друг от друга. Однако, несмотря на такие
бредовые предположения, naive Bayes на практике работает
очень даже неплохо (и этому есть разумные объяснения).
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Naive Bayes: графическая модель
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Как можно обобщить наивный байес
В наивном байесе есть два сильно упрощающих дело
предположения:
мы знаем метки тем всех документов;
у каждого документа только одна тема.
Мы сейчас уберём оба эти ограничения.
Во-первых, что можно сделать, если мы не знаем метки
тем, т.е. если датасет неразмеченный?
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Кластеризация
Тогда это превращается в задачу кластеризации.
Её можно решать EM-алгоритмом
(Expectation-Maximization, используется в ситуациях, когда
есть много скрытых переменных, причём если бы мы их
знали, модель стала бы простой):
на E-шаге считаем ожидания того, какой документ какой
теме принадлежит;
на M-шаге пересчитываем наивным байесом вероятности
p(w | t) при фиксированных метках.
Это простое обобщение.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
Как ещё можно обобщить наивный байес
А ещё в наивном байесе у документа только одна тема.
Но это же не так! На самом деле документ говорит о
многих темах (но не слишком многих).
Давайте попробуем это учесть.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
Рассмотрим такую модель:
каждое слово в документе d порождается некоторой темой
t ∈ T;
документ порождается некоторым распределением на
темах p(t | d);
слово порождается именно темой, а не документом:
p(w | d, t) = p(w | d);
итого получается такая функция правдоподобия:
p(w | d) =
t∈T
p(w | t)p(t | d).
Эта модель называется probabilistic latent semantic analysis,
pLSA (Hoffmann, 1999).
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA: графическая модель документа
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
Как её обучать? Мы можем оценить p(w | d) = nwd
nd
, а
нужно найти:
φwt = p(w | t);
θtd = p(t | d).
Максимизируем правдоподобие
p(D) =
d∈D w∈d
p(d, w)ndw =
d∈D w∈d t∈T
p(w | t)p(t | d)
ndw
.
Как максимизировать такие правдоподобия?
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
EM-алгоритмом. На E-шаге ищем, сколько слов w в
документе d из темы t:
ndwt = ndw p(t | d, w) = ndw
φwtθtd
s∈T φwsθsd
.
А на M-шаге пересчитываем параметры модели:
nwt = d ndwt, nt = w nwt, φwt = nwt
nt
,
ntd = w∈d ndwt, θtd = ntd
nd
.
Вот и весь вывод в pLSA.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
Можно даже не хранить всю матрицу ndwt, а двигаться по
документам, каждый раз добавляя ndwt сразу к счётчикам
nwt, ntd .
Чего тут не хватает?
Во-первых, разложение такое, конечно, будет сильно не
единственным.
Во-вторых, параметров очень много, явно будет
оверфиттинг, если корпус не на порядки больше числа тем.
А совсем хорошо было бы получать не просто устойчивое
решение, а обладающее какими-нибудь заданными
хорошими свойствами.
Всё это мы можем решить как?
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
Правильно, регуляризацией. Есть целая наука о разных
регуляризаторах для pLSA (К.В. Воронцов).
В общем виде так: добавим регуляризаторы Ri в логарифм
правдоподобия:
d∈D w∈d
ndw ln
t∈T
φwtθtd +
i
τi Ri (Φ, Θ).
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
Тогда в EM-алгоритме на M-шаге появятся частные
производные R:
nwt =
d∈D
ndwt + φwt
∂R
∂φwt
+
,
ntd =
w∈d
ndwt + θtd
∂R
∂θtd
+
Чтобы доказать, EM надо рассмотреть как решение задачи
оптимизации через условия Каруша-Куна-Такера.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
Naive Bayes
pLSA
pLSA
И теперь мы можем кучу разных регуляризаторов вставить
в эту модель:
регуляризатор сглаживания (позже, это примерно как
LDA);
регуляризатор разреживания: максимизируем
KL-расстояние между распределениями φwt и θtd и
равномерным распределением;
регуляризатор контрастирования: минимизируем
ковариации между векторами φt, чтобы в каждой теме
выделилось своё лексическое ядро (характерные слова);
регуляризатор когерентности: будем награждать за слова,
которые в документах стоят ближе друг к другу;
и так далее, много всего можно придумать.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Outline
1 От наивного байеса к topic modeling
Naive Bayes
pLSA
2 Тематическое моделирование
LDA
Расширения LDA
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
LDA
Развитие идей pLSA – LDA (Latent Dirichlet Allocation),
фактически байесовский вариант pLSA.
Задача та же: смоделировать большую коллекцию текстов
(например, для information retrieval или классификации).
У одного документа может быть несколько тем. Давайте
построим иерархическую байесовскую модель:
на первом уровне – смесь, компоненты которой
соответствуют «темам»;
на втором уровне – мультиномиальная переменная с
априорным распределением Дирихле, которое задаёт
«распределение тем» в документе.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
LDA
Если формально: слова берутся из словаря {1, . . . , V };
слово – это вектор w, wi ∈ {0, 1}, где ровно одна
компонента равна 1.
Документ – последовательность из N слов w. Нам дан
корпус из M документов D = {wd | d = 1..M}.
Генеративная модель LDA выглядит так:
выбрать θ ∼ Di(α);
для каждого из N слов wn:
выбрать тему zn ∼ Mult(θ);
выбрать слово wn ∼ p(wn | zn, β) по мультиномиальному
распределению.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
LDA: графическая модель
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
LDA: что получается [Blei, 2012]
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
LDA: вывод
Два основных подхода к выводу в сложных вероятностных
моделях, в том числе LDA:
вариационные приближения: рассмотрим более простое
семейство распределений с новыми параметрами и найдём
в нём наилучшее приближение к неизвестному
распределению;
сэмплирование: будем набрасывать точки из сложного
распределения, не считая его явно, а запуская марковскую
цепь под графиком распределения (частный случай –
сэмплирование по Гиббсу).
Сэмплирование по Гиббсу обычно проще расширить на
новые модификации LDA, но вариационный подход
быстрее и часто стабильнее.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Варианты и расширения модели LDA
В последние десять лет эта модель стала основой для
множества различных расширений.
Каждое из этих расширений содержит либо вариационный
алгоритм вывода, либо алгоритм сэмплирования по Гиббсу
для модели, которая, основываясь на LDA, включает в
себя ещё и какую-либо дополнительную информацию или
дополнительные предполагаемые зависимости.
Обычно – или дополнительная структура на темах, или
дополнительная информация.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Коррелированные тематические модели
В базовой модели LDA распределения слов по темам
независимы и никак не скоррелированы; однако на самом
деле, конечно, некоторые темы ближе друг к другу, многие
темы делят между собой слова.
Коррелированные тематические модели (correlated topic
models, CTM) – меняем априорное распределение на более
выразительное, которое может моделировать корреляции.
Предлагается алгоритм вывода, основанный на
вариационном приближении.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Марковские тематические модели
Марковские тематические модели (Markov topic models,
MTM): марковские случайные поля для моделирования
взаимоотношений между темами в разных частях датасета
(разных корпусах текстов).
Несколько копий гиперпараметров βi в LDA, описывающих
параметры разных корпусов с одними и теми же темами.
Гиперпараметры βi связаны между собой в марковском
случайном поле (Markov random field, MRF).
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Марковские тематические модели
В результате тексты из i-го корпуса
порождаются как в обычном LDA,
используя соответствующее βi .
В свою очередь, βi подчиняются
априорным ограничениям, которые
позволяют «делить» темы между
корпусами, задавать «фоновые»
темы, присутствующие во всех
корпусах, накладывать ограничения
на взаимоотношения между темами
и т.д.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Реляционная тематическая модель
Реляционная тематическая модель (relational topic model,
RTM) – иерархическая модель, в которой отражён граф
структуры сети документов.
Генеративный процесс в RTM работает так:
сгенерировать документы из обычной модели LDA;
для каждой пары документов d1, d2 выбрать бинарную
переменную y12, отражающую наличие связи между d1 и
d2:
y12 | zd1 , zd2 ∼ ψ(· | zd1 , zd2 , η).
В качестве ψ берутся разные сигмоидальные функции;
разработан алгоритм вывода, основанный на
вариационном приближении.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Модели, учитывающие время
Ряд важных расширений LDA касается учёта трендов, т.е.
изменений в распределениях тем, происходящих со
временем.
Цель – учёт времени, анализ «горячих» тем, анализ того,
какие темы быстро становятся «горячими» и столь же
быстро затухают, а какие проходят «красной нитью» через
весь исследуемый временной интервал.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Topics over Time
В модели TOT (Topics over Time) время предполагается
непрерывным, и модель дополняется
бета-распределениями, порождающими временные метки
(timestamps) для каждого слова.
Генеративная модель модели Topics over Time такова:
для каждой темы z = 1..T выбрать мультиномиальное
распределение φz из априорного распределения Дирихле
β;
для каждого документа d выбрать мультиномиальное
распределение θd из априорного распределения Дирихле
α, затем для каждого слова wdi ∈ d:
выбрать тему zdi из θd ;
выбрать слово wdi из распределения φzdi
;
выбрать время tdi из бета-распределения ψzdi
.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Topics over Time
Основная идея заключается в том, что каждой теме
соответствует её бета-распределение ψz, т.е. каждая тема
локализована во времени (сильнее или слабее, в
зависимости от параметров ψz).
Таким образом можно как обучить глобальные темы,
которые всегда присутствуют, так и подхватить тему,
которая вызвала сильный краткий всплеск, а затем
пропала из виду; разница будет в том, что дисперсия ψz
будет в первом случае меньше, чем во втором.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Topics over Time
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Динамические тематические модели
Динамические тематические модели представляют
временную эволюцию тем через эволюцию их
гиперпараметров α и/или β.
Бывают дискретные ([d]DTM), в которых время
дискретно, и непрерывные, где эволюция гиперпараметра
β (α здесь предполагается постоянным) моделируется
посредством броуновского движения: для двух документов
i и j (j позже i) верно, что
βj,k,w | βi,k,w , si , sj ∼ N(βi,k,w , v∆si ,sj
),
где si и sj – это отметки времени (timestamps) документов
i и j, ∆(si , sj ) – интервал времени, прошедший между
ними, v – параметр модели.
В остальном генеративный процесс остаётся неизменным.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Непрерывная динамическая тематическая модель
(cDTM)
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
DiscLDA
Дискриминативное LDA (DiscLDA), расширение модели
LDA для документов, снабжённых категориальной
переменной y, которая в дальнейшем станет предметом
для классификации.
Для каждой метки класса y в модели DiscLDA вводится
линейное преобразование Ty : RK → RL
+, которое
преобразует K-мерное распределение Дирихле θ в смесь
L-мерных распределений Дирихле Ty θ.
В генеративной модели меняется только шаг порождения
темы документа z: вместо того чтобы выбирать z по
распределению θ, сгенерированному для данного
документа,
сгенерировать тему z по распределению Ty
θ, где Ty
–
преобразование, соответствующее метке данного
документа y.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
DiscLDA
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
TagLDA
TagLDA: слова имеют теги, т.е. документ не является
единым мешком слов, а состоит из нескольких мешков, и в
разных мешках слова отличаются друг от друга.
Например, у страницы может быть название – слова из
названия важнее для определения темы, чем просто из
текста. Или, например, теги к странице, поставленные
человеком – опять же, это слова гораздо более важные,
чем слова из текста.
Математически разница в том, что теперь распределения
слов в темах – это не просто мультиномиальные
дискретные распределения, они факторизованы на
распределение слово-тема и распределение слово-тег.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
TagLDA
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Author-Topic model
Author-Topic modeling: кроме собственно текстов,
присутствуют их авторы.
У автора тоже вводится распределение на темах, на
которые он пишет, и тексты автора будут скорее о более
вероятных для него темах.
Т.е. это всё же скорее об авторах научных статей, чем об
атрибуции текстов (там другие методы).
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Author-Topic model
Базовая генеративная модель
Author-Topic model (остальное
как в базовом LDA):
для каждого слова w:
выбираем автора x для
этого слова из
множества авторов
документа ad ;
выбираем тему из
распределения на темах,
соответствующего
автору x;
выбираем слово из
распределения слов,
соответствующего этой
теме.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
LDA для sentiment analysis
LDA для sentiment analysis: можно ли выделить из,
например, обзоров продуктов разные темы (аспекты):
например, для отеля – место, качество обслуживания, еда,
комнаты и т.п.
К этому ещё добавляется, что разные слова в разных
аспектах могут нести разную нагрузку.
Здесь есть несколько расширений LDA.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
JST
Joint Sentiment-Topic model
(JST):
тема зависит от
сентимента;
сентимент берётся из
распределений сентимента
πd ;
у слов тоже есть метки
сентимента λ;
а слова в документах
зависят от пар
«тема–сентимент».
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
ASUM
Aspect and Sentiment Unification
Model (ASUM): примерно то
же, что JST, но делим обзор на
предложения и предполагаем,
что одно предложение всегда
говорит об одном аспекте
(SentenceLDA).
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
USTM
User-aware Sentiment Topic
Model (USTM): а теперь
добавим данные о конкретном
пользователе, выраженные как
теги документов aj , взятые из
соответствующих
распределений ψd .
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Наши последние результаты
Все эти модели для определения окрашенных слов
модифицируют их априорные распределения β, т.е.
фактически подставляют готовый словарь окрашенных
слов.
Но на практике не всегда словарь по данному аспекту есть,
а когда есть, его всё равно неплохо бы расширить.
Поэтому идея такая:
инициализируем β по имеющемуся словарю;
EM-схема – повторяем до сходимости:
немножко обучаем тематическую модель с
фиксированными β;
переобучаем β по обучившимся темам.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
SVD-LDA
LDA для рекомендательных систем: как нам
рекомендовать тексты?
Можно просто обучить темы и построить «профили
интересов».
Но можно и лучше: можно обучить темы так, чтобы темы
лучше соответствовали тому, что мы хотим рекомендовать.
Это делается при помощи варианта модели Supervised
LDA.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Supervised LDA
Supervised LDA: документы снабжены дополнительной
информацией, дополнительной переменной отклика
(обычно известной).
Распределение отклика моделируется обобщённой
линейной моделью (распределением из экспоненциального
семейства), параметры которой связаны с полученным в
документе распределением тем.
Т.е. в генеративную модель добавляется ещё один шаг:
после того как темы всех слов известны,
сгенерировать переменную–отклик y ∼ glm(z, η, δ), где z –
распределение тем в документе, а η и δ – другие
параметры glm.
К примеру, в контексте рекомендательных систем
дополнительный отклик может быть реакцией
пользователя.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
SVD-LDA
В качестве связей можно представить себе SVD. Но фактор
получается слишком сложный, для каждого сэмпла нужно бегать по
всему рекомендательному датасету. Мы разработали приближённую
схему сэмплирования.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
TwitterLDA
TwitterLDA – тематическая модель для коротких текстов.
Вряд ли один твит может содержать сразу много разных
тем.
Но при этом у твитов есть авторы, и у авторов-то уже есть
любимые темы.
Поэтому TwitterLDA устроен так:
распределение θ – не у текста, а у автора;
из него сэмплируется тема сразу на весь твит;
и потом из этой темы сэмплируются все слова.
Похоже на SentenceLDA.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Neural topic models
Совсем недавние работы – как скрестить topic modeling и
deep learning?
Одна идея – изменить понятие темы:
раньше было мультиномиальное распределение, и все
слова были независимы;
теперь пусть будет распределение в семантическом
пространстве word2vec;
в [Sridhar, 2015] тема – это смесь гауссианов в
семантическом пространстве.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Neural topic models
Другая идея – neural topic models [Cao et al., 2015]:
рассмотрим базовое уравнение тематических моделей
p(w | d) = t p(w | t)p(t | d) = φ(w) θ(d);
и представим φ(w) и θ(d) нейронными сетями:
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Выводы
Тематические модели берут на вход корпус текстов и без
учителя обучают распределения слов в темах и тем в
документах.
Фактически получается сжатое представление матрицы
слова×документы как произведение матриц слова×темы и
темы×документы.
Можно просто обучить стандартный LDA и потом темы
использовать для ваших целей как features, как сжатое
представление текстов.
А можно использовать одно из многочисленных
расширений LDA, которое, теоретически :), должно
работать лучше.
Сергей Николенко Тематическое моделирование
От наивного байеса к topic modeling
Тематическое моделирование
LDA
Расширения LDA
Thank you!
Thank you for your attention!
Сергей Николенко Тематическое моделирование

More Related Content

PDF
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
PDF
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
PDF
Введение в динамическую эпистемическую логику-2
PDF
Введение в динамическую эпистемическую логику-3
PDF
20090913 algorithmsfornphardproblems kulikov_lecture02
PDF
Михаил Рыбалкин. Перестановочные многочлены.
PDF
Лекция №13 "Глубокие нейронные сети"
PDF
Лекция №8 "Методы снижения размерности пространства"
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Сергей Герасимов (ВМК МГУ), Александр Мещеряков (Институт космических исследо...
Введение в динамическую эпистемическую логику-2
Введение в динамическую эпистемическую логику-3
20090913 algorithmsfornphardproblems kulikov_lecture02
Михаил Рыбалкин. Перестановочные многочлены.
Лекция №13 "Глубокие нейронные сети"
Лекция №8 "Методы снижения размерности пространства"

What's hot (20)

PDF
20111202 machine learning_nikolenko_lecture03
PDF
L7:Задача кластеризации. Метрики качества
PDF
L5: Л5 Байесовские алгоритмы
PDF
Методы обучения линейных моделей
PDF
20110403 quantum algorithms_vyali_lecture03
PDF
Algorithms For Np Hard Problems
PDF
L10: Алгоритмы кластеризации
PDF
Сверточные нейронные сети
PDF
20111202 machine learning_nikolenko_lecture06
PDF
20080928 structuralcomplexitytheory lecture01-02
PDF
20091025 algorithmsfornphardproblems kulikov_lecture03
PDF
Лекция №11 "Основы нейронных сетей"
PDF
Сергей Терехов — Активное обучение при малой доле примеров с известными ответами
PDF
L3: Линейная и логистическая регрессия
PDF
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
PDF
L6: Метод опорных векторов
PDF
Относительная перплексия как мера качества тематических моделей
PDF
Лекция №12 "Ограниченная машина Больцмана"
PDF
20081026 structuralcomplexitytheory lecture05-06
20111202 machine learning_nikolenko_lecture03
L7:Задача кластеризации. Метрики качества
L5: Л5 Байесовские алгоритмы
Методы обучения линейных моделей
20110403 quantum algorithms_vyali_lecture03
Algorithms For Np Hard Problems
L10: Алгоритмы кластеризации
Сверточные нейронные сети
20111202 machine learning_nikolenko_lecture06
20080928 structuralcomplexitytheory lecture01-02
20091025 algorithmsfornphardproblems kulikov_lecture03
Лекция №11 "Основы нейронных сетей"
Сергей Терехов — Активное обучение при малой доле примеров с известными ответами
L3: Линейная и логистическая регрессия
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
L6: Метод опорных векторов
Относительная перплексия как мера качества тематических моделей
Лекция №12 "Ограниченная машина Больцмана"
20081026 structuralcomplexitytheory lecture05-06
Ad

Viewers also liked (20)

PDF
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
PDF
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
PDF
Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
PDF
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
PDF
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
PDF
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
PDF
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
PPTX
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
PDF
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
PDF
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
PPTX
Роман Чеботарев — КРОК — ICBDA2016
PPTX
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
PPTX
Interpretable machine learning
PDF
Pandas: обзор основных функций
PDF
«Пиринговый веб на JavaScript», Денис Глазков
PDF
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
PDF
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
PDF
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
PDF
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
PDF
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
Роман Чеботарев — КРОК — ICBDA2016
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Interpretable machine learning
Pandas: обзор основных функций
«Пиринговый веб на JavaScript», Денис Глазков
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
Ad

Similar to Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От наивного байеса к topic modeling» (6)

PDF
Sem01 naivebayes
PDF
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
PDF
"Делаем тематическое моделирование в 2017" Талипов Руслан, Ridero
PPTX
Можарова Тематические модели: учет сходства между униграммами и биграммами.
PPTX
word2vec (part 1)
PPT
Автоматическая кластеризация близких по смыслу слов
Sem01 naivebayes
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
"Делаем тематическое моделирование в 2017" Талипов Руслан, Ridero
Можарова Тематические модели: учет сходства между униграммами и биграммами.
word2vec (part 1)
Автоматическая кластеризация близких по смыслу слов

More from Mail.ru Group (20)

PDF
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
PDF
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
PDF
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
PDF
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
PDF
Управление инцидентами в Почте Mail.ru, Антон Викторов
PDF
DAST в CI/CD, Ольга Свиридова
PDF
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
PDF
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
PDF
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
PDF
WebAuthn в реальной жизни, Анатолий Остапенко
PDF
AMP для электронной почты, Сергей Пешков
PDF
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
PDF
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
PDF
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
PDF
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
PDF
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
PDF
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
PDF
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
PDF
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
PDF
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Управление инцидентами в Почте Mail.ru, Антон Викторов
DAST в CI/CD, Ольга Свиридова
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
WebAuthn в реальной жизни, Анатолий Остапенко
AMP для электронной почты, Сергей Пешков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()

Сергей Николенко, Deloitte Analytics Institute, Высшая Школа Экономики, «От наивного байеса к topic modeling»

  • 1. От наивного байеса к topic modeling Тематическое моделирование Тематическое моделирование Сергей Николенко DataFest2 , 6 марта 2016 г. Сергей Николенко Тематическое моделирование
  • 2. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Outline 1 От наивного байеса к topic modeling Naive Bayes pLSA 2 Тематическое моделирование LDA Расширения LDA Сергей Николенко Тематическое моделирование
  • 3. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Категоризация текстов Классическая задача машинного обучения и information retrieval – категоризация текстов. Дан набор текстов, разделённый на категории. Нужно обучить модель и потом уметь категоризовать новые тексты. Атрибуты w1, w2, . . . , wn – это слова, v – тема текста (или атрибут вроде «спам / не спам»). Bag-of-words model: забываем про порядок слов, составляем словарь. Теперь документ – это вектор, показывающий, сколько раз каждое слово из словаря в нём встречается. Сергей Николенко Тематическое моделирование
  • 4. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Naive Bayes Заметим, что даже это – сильно упрощённый взгляд: для слов ещё довольно-таки важен порядок, в котором они идут... Но и это ещё не всё: получается, что p(w1, w2, . . . , wn|x = v) – это вероятность в точности такого набора слов в сообщениях на разные темы. Очевидно, такой статистики взять неоткуда. Значит, надо дальше делать упрощающие предположения. Наивный байесовский классификатор – самая простая такая модель: давайте предположим, что все слова в словаре условно независимы при условии данной категории. Сергей Николенко Тематическое моделирование
  • 5. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Naive Bayes Иначе говоря: p(w1, w2, . . . , wn|x = v) = p(w1|x = v)p(w2|x = v) . . . p(wn|x = v). Итак, наивный байесовский классификатор выбирает v как vNB(w1, w2, . . . , wn) = arg maxv∈V p(x = v) n i=1 p(wi |x = v). В парадигме классификации текстов мы предполагаем, что разные слова в тексте на одну и ту же тему появляются независимо друг от друга. Однако, несмотря на такие бредовые предположения, naive Bayes на практике работает очень даже неплохо (и этому есть разумные объяснения). Сергей Николенко Тематическое моделирование
  • 6. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Naive Bayes: графическая модель Сергей Николенко Тематическое моделирование
  • 7. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Как можно обобщить наивный байес В наивном байесе есть два сильно упрощающих дело предположения: мы знаем метки тем всех документов; у каждого документа только одна тема. Мы сейчас уберём оба эти ограничения. Во-первых, что можно сделать, если мы не знаем метки тем, т.е. если датасет неразмеченный? Сергей Николенко Тематическое моделирование
  • 8. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Кластеризация Тогда это превращается в задачу кластеризации. Её можно решать EM-алгоритмом (Expectation-Maximization, используется в ситуациях, когда есть много скрытых переменных, причём если бы мы их знали, модель стала бы простой): на E-шаге считаем ожидания того, какой документ какой теме принадлежит; на M-шаге пересчитываем наивным байесом вероятности p(w | t) при фиксированных метках. Это простое обобщение. Сергей Николенко Тематическое моделирование
  • 9. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA Как ещё можно обобщить наивный байес А ещё в наивном байесе у документа только одна тема. Но это же не так! На самом деле документ говорит о многих темах (но не слишком многих). Давайте попробуем это учесть. Сергей Николенко Тематическое моделирование
  • 10. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA Рассмотрим такую модель: каждое слово в документе d порождается некоторой темой t ∈ T; документ порождается некоторым распределением на темах p(t | d); слово порождается именно темой, а не документом: p(w | d, t) = p(w | d); итого получается такая функция правдоподобия: p(w | d) = t∈T p(w | t)p(t | d). Эта модель называется probabilistic latent semantic analysis, pLSA (Hoffmann, 1999). Сергей Николенко Тематическое моделирование
  • 11. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA: графическая модель документа Сергей Николенко Тематическое моделирование
  • 12. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA Как её обучать? Мы можем оценить p(w | d) = nwd nd , а нужно найти: φwt = p(w | t); θtd = p(t | d). Максимизируем правдоподобие p(D) = d∈D w∈d p(d, w)ndw = d∈D w∈d t∈T p(w | t)p(t | d) ndw . Как максимизировать такие правдоподобия? Сергей Николенко Тематическое моделирование
  • 13. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA EM-алгоритмом. На E-шаге ищем, сколько слов w в документе d из темы t: ndwt = ndw p(t | d, w) = ndw φwtθtd s∈T φwsθsd . А на M-шаге пересчитываем параметры модели: nwt = d ndwt, nt = w nwt, φwt = nwt nt , ntd = w∈d ndwt, θtd = ntd nd . Вот и весь вывод в pLSA. Сергей Николенко Тематическое моделирование
  • 14. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA Можно даже не хранить всю матрицу ndwt, а двигаться по документам, каждый раз добавляя ndwt сразу к счётчикам nwt, ntd . Чего тут не хватает? Во-первых, разложение такое, конечно, будет сильно не единственным. Во-вторых, параметров очень много, явно будет оверфиттинг, если корпус не на порядки больше числа тем. А совсем хорошо было бы получать не просто устойчивое решение, а обладающее какими-нибудь заданными хорошими свойствами. Всё это мы можем решить как? Сергей Николенко Тематическое моделирование
  • 15. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA Правильно, регуляризацией. Есть целая наука о разных регуляризаторах для pLSA (К.В. Воронцов). В общем виде так: добавим регуляризаторы Ri в логарифм правдоподобия: d∈D w∈d ndw ln t∈T φwtθtd + i τi Ri (Φ, Θ). Сергей Николенко Тематическое моделирование
  • 16. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA Тогда в EM-алгоритме на M-шаге появятся частные производные R: nwt = d∈D ndwt + φwt ∂R ∂φwt + , ntd = w∈d ndwt + θtd ∂R ∂θtd + Чтобы доказать, EM надо рассмотреть как решение задачи оптимизации через условия Каруша-Куна-Такера. Сергей Николенко Тематическое моделирование
  • 17. От наивного байеса к topic modeling Тематическое моделирование Naive Bayes pLSA pLSA И теперь мы можем кучу разных регуляризаторов вставить в эту модель: регуляризатор сглаживания (позже, это примерно как LDA); регуляризатор разреживания: максимизируем KL-расстояние между распределениями φwt и θtd и равномерным распределением; регуляризатор контрастирования: минимизируем ковариации между векторами φt, чтобы в каждой теме выделилось своё лексическое ядро (характерные слова); регуляризатор когерентности: будем награждать за слова, которые в документах стоят ближе друг к другу; и так далее, много всего можно придумать. Сергей Николенко Тематическое моделирование
  • 18. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Outline 1 От наивного байеса к topic modeling Naive Bayes pLSA 2 Тематическое моделирование LDA Расширения LDA Сергей Николенко Тематическое моделирование
  • 19. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA LDA Развитие идей pLSA – LDA (Latent Dirichlet Allocation), фактически байесовский вариант pLSA. Задача та же: смоделировать большую коллекцию текстов (например, для information retrieval или классификации). У одного документа может быть несколько тем. Давайте построим иерархическую байесовскую модель: на первом уровне – смесь, компоненты которой соответствуют «темам»; на втором уровне – мультиномиальная переменная с априорным распределением Дирихле, которое задаёт «распределение тем» в документе. Сергей Николенко Тематическое моделирование
  • 20. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA LDA Если формально: слова берутся из словаря {1, . . . , V }; слово – это вектор w, wi ∈ {0, 1}, где ровно одна компонента равна 1. Документ – последовательность из N слов w. Нам дан корпус из M документов D = {wd | d = 1..M}. Генеративная модель LDA выглядит так: выбрать θ ∼ Di(α); для каждого из N слов wn: выбрать тему zn ∼ Mult(θ); выбрать слово wn ∼ p(wn | zn, β) по мультиномиальному распределению. Сергей Николенко Тематическое моделирование
  • 21. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA LDA: графическая модель Сергей Николенко Тематическое моделирование
  • 22. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA LDA: что получается [Blei, 2012] Сергей Николенко Тематическое моделирование
  • 23. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA LDA: вывод Два основных подхода к выводу в сложных вероятностных моделях, в том числе LDA: вариационные приближения: рассмотрим более простое семейство распределений с новыми параметрами и найдём в нём наилучшее приближение к неизвестному распределению; сэмплирование: будем набрасывать точки из сложного распределения, не считая его явно, а запуская марковскую цепь под графиком распределения (частный случай – сэмплирование по Гиббсу). Сэмплирование по Гиббсу обычно проще расширить на новые модификации LDA, но вариационный подход быстрее и часто стабильнее. Сергей Николенко Тематическое моделирование
  • 24. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Варианты и расширения модели LDA В последние десять лет эта модель стала основой для множества различных расширений. Каждое из этих расширений содержит либо вариационный алгоритм вывода, либо алгоритм сэмплирования по Гиббсу для модели, которая, основываясь на LDA, включает в себя ещё и какую-либо дополнительную информацию или дополнительные предполагаемые зависимости. Обычно – или дополнительная структура на темах, или дополнительная информация. Сергей Николенко Тематическое моделирование
  • 25. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Коррелированные тематические модели В базовой модели LDA распределения слов по темам независимы и никак не скоррелированы; однако на самом деле, конечно, некоторые темы ближе друг к другу, многие темы делят между собой слова. Коррелированные тематические модели (correlated topic models, CTM) – меняем априорное распределение на более выразительное, которое может моделировать корреляции. Предлагается алгоритм вывода, основанный на вариационном приближении. Сергей Николенко Тематическое моделирование
  • 26. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Марковские тематические модели Марковские тематические модели (Markov topic models, MTM): марковские случайные поля для моделирования взаимоотношений между темами в разных частях датасета (разных корпусах текстов). Несколько копий гиперпараметров βi в LDA, описывающих параметры разных корпусов с одними и теми же темами. Гиперпараметры βi связаны между собой в марковском случайном поле (Markov random field, MRF). Сергей Николенко Тематическое моделирование
  • 27. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Марковские тематические модели В результате тексты из i-го корпуса порождаются как в обычном LDA, используя соответствующее βi . В свою очередь, βi подчиняются априорным ограничениям, которые позволяют «делить» темы между корпусами, задавать «фоновые» темы, присутствующие во всех корпусах, накладывать ограничения на взаимоотношения между темами и т.д. Сергей Николенко Тематическое моделирование
  • 28. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Реляционная тематическая модель Реляционная тематическая модель (relational topic model, RTM) – иерархическая модель, в которой отражён граф структуры сети документов. Генеративный процесс в RTM работает так: сгенерировать документы из обычной модели LDA; для каждой пары документов d1, d2 выбрать бинарную переменную y12, отражающую наличие связи между d1 и d2: y12 | zd1 , zd2 ∼ ψ(· | zd1 , zd2 , η). В качестве ψ берутся разные сигмоидальные функции; разработан алгоритм вывода, основанный на вариационном приближении. Сергей Николенко Тематическое моделирование
  • 29. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Модели, учитывающие время Ряд важных расширений LDA касается учёта трендов, т.е. изменений в распределениях тем, происходящих со временем. Цель – учёт времени, анализ «горячих» тем, анализ того, какие темы быстро становятся «горячими» и столь же быстро затухают, а какие проходят «красной нитью» через весь исследуемый временной интервал. Сергей Николенко Тематическое моделирование
  • 30. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Topics over Time В модели TOT (Topics over Time) время предполагается непрерывным, и модель дополняется бета-распределениями, порождающими временные метки (timestamps) для каждого слова. Генеративная модель модели Topics over Time такова: для каждой темы z = 1..T выбрать мультиномиальное распределение φz из априорного распределения Дирихле β; для каждого документа d выбрать мультиномиальное распределение θd из априорного распределения Дирихле α, затем для каждого слова wdi ∈ d: выбрать тему zdi из θd ; выбрать слово wdi из распределения φzdi ; выбрать время tdi из бета-распределения ψzdi . Сергей Николенко Тематическое моделирование
  • 31. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Topics over Time Основная идея заключается в том, что каждой теме соответствует её бета-распределение ψz, т.е. каждая тема локализована во времени (сильнее или слабее, в зависимости от параметров ψz). Таким образом можно как обучить глобальные темы, которые всегда присутствуют, так и подхватить тему, которая вызвала сильный краткий всплеск, а затем пропала из виду; разница будет в том, что дисперсия ψz будет в первом случае меньше, чем во втором. Сергей Николенко Тематическое моделирование
  • 32. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Topics over Time Сергей Николенко Тематическое моделирование
  • 33. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Динамические тематические модели Динамические тематические модели представляют временную эволюцию тем через эволюцию их гиперпараметров α и/или β. Бывают дискретные ([d]DTM), в которых время дискретно, и непрерывные, где эволюция гиперпараметра β (α здесь предполагается постоянным) моделируется посредством броуновского движения: для двух документов i и j (j позже i) верно, что βj,k,w | βi,k,w , si , sj ∼ N(βi,k,w , v∆si ,sj ), где si и sj – это отметки времени (timestamps) документов i и j, ∆(si , sj ) – интервал времени, прошедший между ними, v – параметр модели. В остальном генеративный процесс остаётся неизменным. Сергей Николенко Тематическое моделирование
  • 34. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Непрерывная динамическая тематическая модель (cDTM) Сергей Николенко Тематическое моделирование
  • 35. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA DiscLDA Дискриминативное LDA (DiscLDA), расширение модели LDA для документов, снабжённых категориальной переменной y, которая в дальнейшем станет предметом для классификации. Для каждой метки класса y в модели DiscLDA вводится линейное преобразование Ty : RK → RL +, которое преобразует K-мерное распределение Дирихле θ в смесь L-мерных распределений Дирихле Ty θ. В генеративной модели меняется только шаг порождения темы документа z: вместо того чтобы выбирать z по распределению θ, сгенерированному для данного документа, сгенерировать тему z по распределению Ty θ, где Ty – преобразование, соответствующее метке данного документа y. Сергей Николенко Тематическое моделирование
  • 36. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA DiscLDA Сергей Николенко Тематическое моделирование
  • 37. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA TagLDA TagLDA: слова имеют теги, т.е. документ не является единым мешком слов, а состоит из нескольких мешков, и в разных мешках слова отличаются друг от друга. Например, у страницы может быть название – слова из названия важнее для определения темы, чем просто из текста. Или, например, теги к странице, поставленные человеком – опять же, это слова гораздо более важные, чем слова из текста. Математически разница в том, что теперь распределения слов в темах – это не просто мультиномиальные дискретные распределения, они факторизованы на распределение слово-тема и распределение слово-тег. Сергей Николенко Тематическое моделирование
  • 38. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA TagLDA Сергей Николенко Тематическое моделирование
  • 39. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Author-Topic model Author-Topic modeling: кроме собственно текстов, присутствуют их авторы. У автора тоже вводится распределение на темах, на которые он пишет, и тексты автора будут скорее о более вероятных для него темах. Т.е. это всё же скорее об авторах научных статей, чем об атрибуции текстов (там другие методы). Сергей Николенко Тематическое моделирование
  • 40. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Author-Topic model Базовая генеративная модель Author-Topic model (остальное как в базовом LDA): для каждого слова w: выбираем автора x для этого слова из множества авторов документа ad ; выбираем тему из распределения на темах, соответствующего автору x; выбираем слово из распределения слов, соответствующего этой теме. Сергей Николенко Тематическое моделирование
  • 41. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA LDA для sentiment analysis LDA для sentiment analysis: можно ли выделить из, например, обзоров продуктов разные темы (аспекты): например, для отеля – место, качество обслуживания, еда, комнаты и т.п. К этому ещё добавляется, что разные слова в разных аспектах могут нести разную нагрузку. Здесь есть несколько расширений LDA. Сергей Николенко Тематическое моделирование
  • 42. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA JST Joint Sentiment-Topic model (JST): тема зависит от сентимента; сентимент берётся из распределений сентимента πd ; у слов тоже есть метки сентимента λ; а слова в документах зависят от пар «тема–сентимент». Сергей Николенко Тематическое моделирование
  • 43. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA ASUM Aspect and Sentiment Unification Model (ASUM): примерно то же, что JST, но делим обзор на предложения и предполагаем, что одно предложение всегда говорит об одном аспекте (SentenceLDA). Сергей Николенко Тематическое моделирование
  • 44. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA USTM User-aware Sentiment Topic Model (USTM): а теперь добавим данные о конкретном пользователе, выраженные как теги документов aj , взятые из соответствующих распределений ψd . Сергей Николенко Тематическое моделирование
  • 45. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Наши последние результаты Все эти модели для определения окрашенных слов модифицируют их априорные распределения β, т.е. фактически подставляют готовый словарь окрашенных слов. Но на практике не всегда словарь по данному аспекту есть, а когда есть, его всё равно неплохо бы расширить. Поэтому идея такая: инициализируем β по имеющемуся словарю; EM-схема – повторяем до сходимости: немножко обучаем тематическую модель с фиксированными β; переобучаем β по обучившимся темам. Сергей Николенко Тематическое моделирование
  • 46. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA SVD-LDA LDA для рекомендательных систем: как нам рекомендовать тексты? Можно просто обучить темы и построить «профили интересов». Но можно и лучше: можно обучить темы так, чтобы темы лучше соответствовали тому, что мы хотим рекомендовать. Это делается при помощи варианта модели Supervised LDA. Сергей Николенко Тематическое моделирование
  • 47. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Supervised LDA Supervised LDA: документы снабжены дополнительной информацией, дополнительной переменной отклика (обычно известной). Распределение отклика моделируется обобщённой линейной моделью (распределением из экспоненциального семейства), параметры которой связаны с полученным в документе распределением тем. Т.е. в генеративную модель добавляется ещё один шаг: после того как темы всех слов известны, сгенерировать переменную–отклик y ∼ glm(z, η, δ), где z – распределение тем в документе, а η и δ – другие параметры glm. К примеру, в контексте рекомендательных систем дополнительный отклик может быть реакцией пользователя. Сергей Николенко Тематическое моделирование
  • 48. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA SVD-LDA В качестве связей можно представить себе SVD. Но фактор получается слишком сложный, для каждого сэмпла нужно бегать по всему рекомендательному датасету. Мы разработали приближённую схему сэмплирования. Сергей Николенко Тематическое моделирование
  • 49. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA TwitterLDA TwitterLDA – тематическая модель для коротких текстов. Вряд ли один твит может содержать сразу много разных тем. Но при этом у твитов есть авторы, и у авторов-то уже есть любимые темы. Поэтому TwitterLDA устроен так: распределение θ – не у текста, а у автора; из него сэмплируется тема сразу на весь твит; и потом из этой темы сэмплируются все слова. Похоже на SentenceLDA. Сергей Николенко Тематическое моделирование
  • 50. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Neural topic models Совсем недавние работы – как скрестить topic modeling и deep learning? Одна идея – изменить понятие темы: раньше было мультиномиальное распределение, и все слова были независимы; теперь пусть будет распределение в семантическом пространстве word2vec; в [Sridhar, 2015] тема – это смесь гауссианов в семантическом пространстве. Сергей Николенко Тематическое моделирование
  • 51. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Neural topic models Другая идея – neural topic models [Cao et al., 2015]: рассмотрим базовое уравнение тематических моделей p(w | d) = t p(w | t)p(t | d) = φ(w) θ(d); и представим φ(w) и θ(d) нейронными сетями: Сергей Николенко Тематическое моделирование
  • 52. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Выводы Тематические модели берут на вход корпус текстов и без учителя обучают распределения слов в темах и тем в документах. Фактически получается сжатое представление матрицы слова×документы как произведение матриц слова×темы и темы×документы. Можно просто обучить стандартный LDA и потом темы использовать для ваших целей как features, как сжатое представление текстов. А можно использовать одно из многочисленных расширений LDA, которое, теоретически :), должно работать лучше. Сергей Николенко Тематическое моделирование
  • 53. От наивного байеса к topic modeling Тематическое моделирование LDA Расширения LDA Thank you! Thank you for your attention! Сергей Николенко Тематическое моделирование