Визуализируйте кластеры документа Используя модель LDA

В этом примере показано, как визуализировать кластеризацию документов с помощью модели темы Скрытого выделения Дирихле (LDA) и графика t-SNE.

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

Загрузите модель LDA

Загрузите модель LDA factoryReportsLDAModel который обучен с помощью набора данных отчетов фабрики, детализирующих различные события отказа. Для примера, показывающего, как подбирать модель LDA к набору текстовых данных, смотрите, Анализируют текстовые Данные Используя Модели Темы.

load factoryReportsLDAModel
mdl
mdl = 
  ldaModel with properties:

                     NumTopics: 7
             WordConcentration: 1
            TopicConcentration: 0.5755
      CorpusTopicProbabilities: [0.1587 0.1573 0.1551 0.1534 0.1340 0.1322 0.1093]
    DocumentTopicProbabilities: [480×7 double]
        TopicWordProbabilities: [158×7 double]
                    Vocabulary: [1×158 string]
                    TopicOrder: 'initial-fit-probability'
                       FitInfo: [1×1 struct]

Визуализируйте темы с помощью облаков слова.

numTopics = mdl.NumTopics;

figure
tiledlayout("flow")
title("LDA Topics")

for i = 1:numTopics
    nexttile
    wordcloud(mdl,i);
    title("Topic " + i)
end

Визуализируйте Кластеры Документа Используя t-SNE

t-distributed стохастический сосед, встраивающий (t-SNE) проекты алгоритма высоко-размерные векторы к 2D пробелу. Это встраивание дает возможность визуализировать подобие между высоко-размерными векторами. Путем графического вывода смесей тематики документа согласно t-SNE алгоритму можно визуализировать кластеризацию аналогичных документов.

Спроектируйте смеси темы в DocumentTopicProbabilties свойство в 2D пробел с помощью tsne функция.

XY = tsne(mdl.DocumentTopicProbabilities);

Для групп графика идентифицируйте главную тему для каждого документа.

[~,topTopics] = max(mdl.DocumentTopicProbabilities,[],2);

Для меток графика найдите лучшие три слова для каждой темы.

for i = 1:numTopics
    top = topkwords(mdl,3,i);
    topWords(i) = join(top.Word,", ");
end

Постройте спроектированные смеси темы с помощью gscatter функция. Задайте главные темы как сгруппированную переменную и отобразите легенду с главными словами для каждой темы.

figure
gscatter(XY(:,1),XY(:,2),topTopics)

title("Topic Mixtures")

legend(topWords, ...
    Location="southoutside", ...
    NumColumns=2)

График t-SNE подсвечивает кластеры, происходящие в исходных высоко-размерных данных.

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

| | |

Похожие темы