Абхинав Джанвар, команда ИИ

В предыдущей статье мы рассмотрели пример и применение тематического моделирования. На этот раз мы рассмотрим популярные подходы тематического моделирования.

Подходы к тематическому моделированию

1. Скрытый семантический анализ (LSA)

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

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

Стандартный метод вычисления частоты слов известен как tf-idf. Этот метод вычисляет частоты, принимая во внимание не только частоту встречаемости слов в данном документе, но и частоту встречаемости слов во всем корпусе документов. Слова с более высокой частотой в полном корпусе будут лучшими кандидатами для представления документа, чем менее часто встречающиеся слова, независимо от того, сколько раз они встречаются в отдельных документах. В результате представления tf-idf намного лучше, чем те, которые учитывают только частоту слов на уровне документа.

После вычисления частот tf-idf мы можем создать матрицу терминов документа, которая показывает значение tf-idf для каждого термина в данном документе. Эта матрица будет иметь строки для каждого документа в корпусе и столбцы для каждого рассматриваемого термина.

Эта матрица терминов документов может быть разложена на произведение трех матриц (USV) с использованием разложения по сингулярным числам (SVD). Матрица U известна как матрица темы документа, а матрица V известна как матрица темы термина:

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

Теперь, если мы сохраним наибольшие t сингулярных значений вместе с первыми t столбцами U и первыми t строками V, мы можем получить t более частых тем, найденных в нашей исходной матрице терминов документа. Мы называем это усеченным SVD, так как он не сохраняет все сингулярные значения исходной матрицы, и чтобы использовать его для LSA, нам придется установить значение t в качестве гиперпараметра.

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

2. Скрытое распределение Дирихле (LDA)

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

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

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

И когда LDA моделирует новый документ, это работает следующим образом:

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

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

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

Результатом алгоритма является вектор, содержащий охват каждой темы моделируемого документа. Это будет выглядеть примерно так [0,2, 0,5 и т. д.], где первое значение показывает охват первой темы и так далее. При правильном сравнении эти векторы могут дать вам представление о тематических характеристиках вашего корпуса.

3. Тематическое моделирование с помощью BERT

Представления двунаправленного кодировщика от Transformers — это метод предварительной подготовки к обработке естественного языка, разработанный Google. Шаги, необходимые для тематического моделирования с использованием BERT, описаны ниже.

а. Вложения

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

б. Кластеризация

Мы хотим убедиться, что документы с похожими темами сгруппированы вместе, чтобы мы могли найти темы в этих кластерах. HDBSCAN — это алгоритм кластеризации на основе плотности, который довольно хорошо работает с UMAP, поскольку UMAP поддерживает большую часть локальной структуры даже в пространстве с меньшими размерностями. Более того, HDBSCAN не объединяет точки данных в кластеры, поскольку считает их выбросами.

ПРИМЕЧАНИЕ. Вы можете пропустить шаг уменьшения размерности, если используете алгоритм кластеризации, который может работать с высокой размерностью, например k-средние на основе косинуса.

в. Создание темы

Чтобы получить темы из сгруппированных документов, мы можем использовать основанный на классах вариант TF-IDF (c-TF-IDF), который позволит извлечь то, что делает каждый набор документов уникальным по сравнению с другим.

Примените TF-IDF на основе классов:

TF-IDF на основе классов путем объединения документов внутри класса, где частота каждого слова t извлекается для каждого класса i и делится на общее количество слов w. Это действие можно рассматривать как форму упорядочения частых слов в классе. Затем общее количество несвязанных документов m делится на общую частоту встречаемости слова t во всех классах n.

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

ПРИМЕЧАНИЕ. Класс – неконтролируемые кластеры.

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