Ансамблевые алгоритмы обучения устойчивых и полных тематических моделей
Алексеев Василий Антонович
Специальность 1.2.1 — «Искусственный интеллект и машинное обучение»
Степень — кандидат технических наук
Научный руководитель:
д-р физ.-мат. наук
Воронцов Константин Вячеславович
10 октября 2024
2 / 34
Еще не кончилась вторая стража и на улицах было людно, но за городской стеной, на открытом месте, стояла мертвая тишина, снег падал все гуще, и прогулка за воротами никого не соблазняла.
Пройдя несколько шагов, Чжу Чжэнь оглянулся: все хорошо, следов не видно. То и дело озираясь, прокрался он на кладбище и перелез через ограду вокруг могилы девицы Чжоу. Но вот беда – смотрители кладбища держали собаку. Когда Чжу Чжэнь перелезал через ограду, собака его учуяла и, выскочив из конуры, залилась истошным лаем. Чжу Чжэнь, однако же, предусмотрительно запасся лепешкою, начиненной ядом. Как только раздался лай, он бросил за ограду лепешку. Собака подбежала, понюхала лепешку и мигом проглотила. Еще миг – и она взвизгнула, опрокинулась на спину и околела. Чжу Чжэнь подступил к могиле. Тут послышался голос одного из смотрителей:
– Эй, брат, что это – пес завизжал и тут же умолк? Странно! Уж не забрался ли вор? Сходи-ка, взгляни.
– А что у нас красть?
– Но почему же все-таки умолкла собака? Нет, не иначе как вор. Если ты не хочешь, я схожу сам.
Первый смотритель накинул халат, взял пику и вышел из караульни.
At the second watch, late at night, Zhu Zhen said to his mother, “When I come back, I’ll knock at the door. Be sure to open it for me.”
For all the hustle and bustle of the capital city, the open country in the suburbs was quiet and deserted. Moreover, few would venture out into the snow at this time of the night. After leaving the house, Zhu Zhen looked back and saw no footprints. He then wended his way to Miss Zhou’s grave. Upon arriving, he stepped over the lowest point in the fence wall, but, unfortunately for him, the grave keepers had a dog. At this point, it emerged from its straw kennel to bark at the intruding stranger. Earlier in the day, Zhu Zhen had prepared a piece of fried dough and stuffed some drug in it. He now tossed the dough to the barking dog. The dog sniffed at it and, liking the aroma, ate it up. The very next moment, the dog gave a bark and collapsed to the ground. As Zhu Zhen drew near the grave, Second Brother Zhang, one of the grave keepers, cried out, “Older brother! The dog barked once and then stopped. That’s strange! Could there be something wrong? Why don’t you go take a look?”
His brother said, “Why would a thief want to steal anything from us?”
“The dog gave one loud bark and stopped. Yes, there just may be a thief around. If you don’t go, I will.” He rose, threw some clothes over his shoulders, and went out, a spear in hand.
(The Fan Tower Restaurant as Witness to the Love of Zhou Shengxian, from Stories to Awaken the World (Xingshi Hengyan); translated by Shuhui Yang and Yunqin Yang)
…The open country in the suburbs was quiet and deserted. Moreover, few would venture out into the snow at this time of the night. After leaving the house, Zhu Zhen looked back and saw no footprints. He then wended his way to Miss Zhou’s grave. …Unfortunately for him, the grave keepers had a dog. At this point, it emerged from its straw kennel to bark at the intruding stranger. Earlier in the day, Zhu Zhen had prepared a piece of fried dough and stuffed some drug in it. He now tossed the dough to the barking dog. The dog sniffed at it and, liking the aroma, ate it up. The very next moment, the dog gave a bark and collapsed to the ground. Zhu Zhen drew near the grave…
«Дважды умершая», повесть из сборника «Слово вечное, мир пробуждающее».
Перевод с китайского: Дмитрий Воскресенский.
Ещё не кончилась вторая стража и на улицах было людно, но за городской стеной, на открытом месте, стояла мёртвая тишина, снег падал всё гуще, и прогулка за воротами никого не соблазняла. Пройдя несколько шагов, Чжу Чжэнь оглянулся: всё хорошо, следов не видно. То и дело озираясь, прокрался он на кладбище и перелез через ограду вокруг могилы девицы Чжоу. Но вот беда – смотрители кладбища держали собаку. Когда Чжу Чжэнь перелезал через ограду, собака его учуяла и, выскочив из конуры, залилась истошным лаем. Чжу Чжэнь, однако же, предусмотрительно запасся лепёшкою, начинённой ядом. Как только раздался лай, он бросил за ограду лепёшку. Собака подбежала, понюхала лепёшку и мигом проглотила. Ещё миг – и она взвизгнула, опрокинулась на спину и околела. Чжу Чжэнь подступил к могиле…
Собаки
собака
лай
друг
учуять
конура
ошейник
Яды
яд
лекарство
больной
страдать
околеть
змея
Еда
рис
лепёшка
проглотить
нюхать
котлета
гречка
Кладбище
могила
мёртвый
смотритель
гроб
склеп
ночь
Зимняя ночь
снег
ночь
холод
снежинка
тишина
пустынно
Приключение
опасность
риск
след
соблазнить
стража
девица
Природа
небо
улица
трава
воздух
прогулка
городской
Воровство
вор
ограда
красть
деньги
прокрасться
опасность
Еще не кончилась вторая стража и на улицах было людно, но за городской стеной, на открытом месте, стояла мертвая тишина, снег падал все гуще, и прогулка за воротами никого не соблазняла.
Пройдя несколько шагов, Чжу Чжэнь оглянулся: все хорошо, следов не видно. То и дело озираясь, прокрался он на кладбище и перелез через ограду вокруг могилы девицы Чжоу. Но вот беда – смотрители кладбища держали собаку. Когда Чжу Чжэнь перелезал через ограду, собака его учуяла и, выскочив из конуры, залилась истошным лаем. Чжу Чжэнь, однако же, предусмотрительно запасся лепешкою, начиненной ядом. Как только раздался лай, он бросил за ограду лепешку. Собака подбежала, понюхала лепешку и мигом проглотила. Еще миг – и она взвизгнула, опрокинулась на спину и околела. Чжу Чжэнь подступил к могиле. Тут послышался голос одного из смотрителей:
– Эй, брат, что это – пес завизжал и тут же умолк? Странно! Уж не забрался ли вор? Сходи-ка, взгляни.
– А что у нас красть?
– Но почему же все-таки умолкла собака? Нет, не иначе как вор. Если ты не хочешь, я схожу сам.
Первый смотритель накинул халат, взял пику и вышел из караульни.
At the second watch, late at night, Zhu Zhen said to his mother, “When I come back, I’ll knock at the door. Be sure to open it for me.”
For all the hustle and bustle of the capital city, the open country in the suburbs was quiet and deserted. Moreover, few would venture out into the snow at this time of the night. After leaving the house, Zhu Zhen looked back and saw no footprints. He then wended his way to Miss Zhou’s grave. Upon arriving, he stepped over the lowest point in the fence wall, but, unfortunately for him, the grave keepers had a dog. At this point, it emerged from its straw kennel to bark at the intruding stranger. Earlier in the day, Zhu Zhen had prepared a piece of fried dough and stuffed some drug in it. He now tossed the dough to the barking dog. The dog sniffed at it and, liking the aroma, ate it up. The very next moment, the dog gave a bark and collapsed to the ground. As Zhu Zhen drew near the grave, Second Brother Zhang, one of the grave keepers, cried out, “Older brother! The dog barked once and then stopped. That’s strange! Could there be something wrong? Why don’t you go take a look?”
His brother said, “Why would a thief want to steal anything from us?”
“The dog gave one loud bark and stopped. Yes, there just may be a thief around. If you don’t go, I will.” He rose, threw some clothes over his shoulders, and went out, a spear in hand.
(The Fan Tower Restaurant as Witness to the Love of Zhou Shengxian, from Stories to Awaken the World (Xingshi Hengyan); translated by Shuhui Yang and Yunqin Yang)
p(w | t)
Ещё не кончилась вторая стража и на улицах было людно, но за городской стеной, на открытом месте, стояла мёртвая тишина, снег падал всё гуще, и прогулка за воротами никого не соблазняла. Пройдя несколько шагов, Чжу Чжэнь оглянулся: всё хорошо, следов не видно. То и дело озираясь, прокрался он на кладбище и перелез через ограду вокруг могилы девицы Чжоу. Но вот беда – смотрители кладбища держали собаку. Когда Чжу Чжэнь перелезал через ограду, собака его учуяла и, выскочив из конуры, залилась истошным лаем. Чжу Чжэнь, однако же, предусмотрительно запасся лепёшкою, начинённой ядом. Как только раздался лай, он бросил за ограду лепёшку. Собака подбежала, понюхала лепёшку и мигом проглотила. Ещё миг – и она взвизгнула, опрокинулась на спину и околела. Чжу Чжэнь подступил к могиле…
Тематическое моделирование
В текстовой коллекции содержится набор скрытых тем.
Topic models are statistical models which are usually employed for unsupervised text analysis. Topic modelling assumes that there are a number of latent topics which explain the collection. Following the convention, we will denote the number of documents by D, the number of topics by T and the size of vocabulary by W.
The topic model is trained by inferring two probability distributions: the ``word-in-topic`` distribution (colloquially referred to as $\phi_{wt}: = p(w \mid t)$ or as an column of a stochastic matrix $\Phi$ with the shape $W \times T$) and the ``topic-in-document`` distribution (colloquially referred to as $\theta_{td} := p(t \mid d)$ or as a row of a stochastic matrix $\Theta$ with the shape $T \times D$).
Текстовая коллекция
Матрица частот слов-в-документах
Матрица вероятностей слов-в-темах
Матрица вероятностей тем-в-документах
Вход
Выход
Пусть число тем T
“Мешок слов”
Константин Воронцов, Вероятностные тематические модели.
3 / 34
Задача тематического моделирования
Дано:
Найти:
4 / 34
Задача тематического моделирования
Критерий: максимум лог-правдоподобия с регуляризаторами:
Решение: методом простой итерации (Воронцов, 2014):
E-шаг
М-шаг
5 / 34
Проблемы тематических моделей
Модель
Интерпретируемые (“хорошие”)
Не интерпретируемые (“плохие”)
Темы
6 / 34
Не все темы модели интерпретируемые
Проблемы тематических моделей
Искусство
Биология
История
Текстовая коллекция
Рисование
Литература
Ботаника
Зоология
Бактериология
Мифология
Ботаника
Палеонтология
Средние века
Вымершие животные
Зоология
Интродукция
Музыка
Анималистика
Геральдика
Литература
Натюрморт
Скульптура
ТМ
(|T| = 3)
Тематические модели
1) разные модели –
разные темы
2) ни одна модель не содержит всех тем
Тематические
модели:
Схема типичного эксперимента
while not is_good(topic_model):
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
8 / 34
Схема типичного эксперимента
while not is_good(topic_model):
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
8 / 34
Схема типичного эксперимента
while not is_good(topic_model):
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
8 / 34
Схема типичного эксперимента
while not is_good(topic_model):
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
8 / 34
Схема типичного эксперимента
while not is_good(topic_model):
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
8 / 34
Схема типичного эксперимента
while not is_good(topic_model):
set_parameters(topic_model)
train(topic_model, dataset)
assess_quality(topic_model)
analyze_topics(topic_model)
Автоматическая оценка качества тем
+
Итеративное улучшение модели
8 / 34
Цель и задачи диссертационного исследования
Цель: разработка комплекса программ, позволяющего с помощью множественного обучения тематических моделей получать полные и устойчивые тематические модели.
Задачи:
Задача
Проблема классической когерентности (Newman, 2010)
k топ-слов темы
вероятность встретить в тексте два слова рядом
11 / 34
Проблема классической когерентности (Newman, 2010)
Во фрагменте текста виден лишь один из 10 топ-токенов (“частиц”). Все другие слова темы будут проигнорированы классической когерентностью.
12 / 34
Эксперимент 1
Цель: найти когерентность, лучше всего согласующуюся с гипотезой о сегментной структуре текста.1
Критерий: корреляция Спирмена между значениями когерентности и качества сегментации моделями текста с известной разметкой.
Данные:
1Гипотеза о сегментной структуре текста: слова темы распределены в тексте не случайно, а группами, сегментами.
13 / 34
Результаты 1
Корреляции Спирмена между когерентностями и качеством сегментации.
Vasiliy Alekseev, Victor Bulatov, Konstantin Vorontsov. Intra-Text Coherence as a Measure of Topic Models' Interpretability, 2018.
Корреляции Спирмена между когерентностями и качеством сегментации для датасетов с длиной одного сегмента 200 слов и с 5 темами в каждом полученном полусинтетическом документе.
Внутритекстовые
Задачи
Число тем
Искусство
Биология
История
T
16 / 34
Палеонтология
Ботаника
Зоология
Число тем?
Рисование
Литература
Музыка
Анималистика
T
T’ > T
Мифология
16 / 34
Искусство
Биология
История
Натюрморт
Скульптура
Вымершие животные
Интродукция
Бактериология
Средние века
Геральдика
Определение числа тем по внутреннему критерию
Идея: если есть оптимальное число тем, то его можно найти по графику зависимости критерия качества модели от числа тем.
Ожидаемые возможные зависимости внутреннего критерия качества модели от числа тем.
Number of topics
Intrinsic quality measure
17 / 34
Эксперимент 2
Цель: исследовать возможность определения числа тем в датасета с по внутренним критериям качества тематических моделей.
Критерий: наличие оптимума на графике зависимости критерия от числа тем и совпадение этого числа тем с ожидаемым.
Данные: WikiRef220, 20NewsGroups, Reuters, Brown, StackOverflow, PostNauka, RuWiki-Good.1
Модели: PLSA, LDA, ARTM (decorrelated), ARTM (sparse), ARTM (sparse decorrelated).1
1Victor Bulatov, Vasiliy Alekseev, Konstantin Vorontsov, Darya Polyudova, Eugenia Veselova, Alexey Goncharov, Evgeny Egorov. TopicNet: Making Additive Regularisation for Topic Modelling Accessible, 2020.
18 / 34
Результаты 2
Число тем не является свойством одного лишь корпуса текстов.
Три характеристики для каждого критерия качества:
Diversity
Information-theoretic
Clustering
Результаты 2
Sparse MDL критерий для разреженных моделей с разными значениями гиперпараметра (WikiRef220).
Victor Bulatov, Vasiliy Alekseev, Konstantin Vorontsov. Determination of the Number of Topics Intrinsically: Is It Possible?, 2023.
20 / 34
Задача
TopicBank: Сохранение хороших тем
Проблема:
Решение:
22 / 34
Связи между темами банка и модели
Возможные типы связей:
Ботаника
Зоология
Биология
Литература
Музыка
Искусство
Мифология
Темы модели
Темы банка
23 / 34
Эксперимент 3
Цель: убедиться в возможности использования Банка тем для оценки качества тематических моделей.
Критерий: для большинства датасетов Банком тем в качестве лучшей определена одна и та же модель.1
Данные: PostNauka, Reuters, Brown, 20Newsgroups, AG News, Watan2004, Habrahabr.
Модели: PLSA, LDA; ARTM (несколько видов); Arora, CDC.
1Гипотеза: если текстовые коллекции по структуре похожи, то и качество разных тематических моделей на этих коллекциях будет схоже, поэтому в фиксированном множестве моделей должна найтись лучшая.
Plan:
24 / 34
Результаты 3
Усреднённое качество моделей, рассчитанное с помощью Банка тем.
ARTM
ARTM
Model quality
Vasiliy Alekseev, Konstantin Vorontsov et al. TopicBank: Collection of coherent topics using multiple model training with their further use for topic model validation, 2021.
25 / 34
Задача
Итеративное улучшение тематической модели
Проблема:
Решение:
27 / 34
Эксперимент 4
Цели:
Критерии:
Данные: PostNauka, 20Newsgroups, RuWiki-Good, RTL-Wiki-Person, ICD-10.
Модели: PLSA, LDA, ARTM, TLESS, BERTopic, TopicBank.
Основные моменты:
28 / 34
Результаты 4
Процент хороших тем модели в зависимости от итерации (↑).
RuWiki-Good, модели на 20 тем.
Процент хороших тем модели в зависимости от итерации (↑).
RuWiki-Good, модели на 20 тем (слева); 20Newsgroups, модели на 50 тем (справа).
Alex Gorbulev, Vasiliy Alekseev, Konstantin Vorontsov. Iterative Improvement of an Additively Regularized Topic Model //arXiv preprint arXiv:2408.05840. – 2024.
29 / 34
Эксперимент 5
Цель: выяснить роль трёх определяющих предлагаемую модель регуляризаторов (сохранение хороших тем, декорреляция свободных тем с плохими, декорреляция свободных тем с хорошими).
Данные: PostNauka, 20Newsgroups, RuWiki-Good, RTL-Wiki-Person, ICD-10.
Критерии:
Alex Gorbulev, Vasiliy Alekseev, Konstantin Vorontsov. Iterative Improvement of an Additively Regularized Topic Model //arXiv preprint arXiv:2408.05840. – 2024.
30 / 34
Результаты 5
Model | PostNauka (20 topics) | |||||
Train iters, % (↓) | PPL / 1000 (↓) | Coh (↑) | Good T, % (↑) | Seen bad T, % (↓) | Div (↑) | |
itar | 50 | 3,79 | 1,02 | 90 | 100 | 0,76 |
itar_0-0-1 | 85 | 3,30 | 0,81 | 35 | 275 | 0,66 |
itar_0-1-0 | 60 | 3,31 | 0,86 | 50 | 350 | 0,71 |
itar_0-1-1 | 85 | 3,31 | 0,93 | 50 | 325 | 0,71 |
itar_1-0-0 | 70 | 3,56 | 0,90 | 60 | 230 | 0,69 |
itar_1-0-1 | 90 | 3,65 | 0,95 | 75 | 200 | 0,72 |
itar_1-1-0 | 90 | 3,75 | 1,05 | 95 | 95 | 0,75 |
Влияние разных частей ITAR модели на итоговый результат. Формат имени: “itar_[есть ли фиксация хороших]-[есть ли декорреляция с плохими]-[есть ли декорреляция с хорошими]”. Train iters — сколько итераций заняло обучение (в процентах от максимального числа в 20 итераций).
Положения, выносимые на защиту
Доклады
Публикации