Начало работы с моделированием темы

В этом примере показано, как подбирать модель темы к текстовым данным и визуализировать темы.

Модель Latent Dirichlet Allocation (LDA) является моделью темы, которая обнаруживает базовые темы в наборе документов. Темы, охарактеризованные распределениями слов, соответствуют группам обычно слов co-появления. LDA является безнадзорной моделью темы, что означает, что он не требует маркированных данных.

Загрузите и извлеките текстовые данные

Загрузите данные в качестве примера. Файл factoryReports.csv содержит отчеты фабрики, включая текстовое описание и категориальные метки для каждого события.

Импортируйте данные с помощью readtable функционируйте и извлеките текстовые данные из Description столбец.

filename = "factoryReports.csv";
data = readtable(filename,'TextType','string');
textData = data.Description;

Подготовьте текстовые данные к анализу

Маркируйте и предварительно обработайте текстовые данные и создайте модель сумки слов.

Маркируйте текст.

documents = tokenizedDocument(textData);

Чтобы улучшить подгонку модели, удалите пунктуацию и слова остановки (слова как "и", и) из документов.

documents = removeStopWords(documents);
documents = erasePunctuation(documents);

Создайте модель сумки слов.

bag = bagOfWords(documents);

Подбирайте модель LDA

Подбирайте модель LDA с семью темами с помощью fitlda функция. Чтобы подавить многословный выход, установите 'Verbose' опция к 0.

numTopics = 7;
mdl = fitlda(bag,numTopics,'Verbose',0);

Визуализируйте темы

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

figure
for topicIdx = 1:4
    subplot(2,2,topicIdx)
    wordcloud(mdl,topicIdx);
    title("Topic " + topicIdx)
end

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

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

| | | | |

Похожие темы