В этом примере показано, как подбирать модель темы к текстовым данным и визуализировать темы.
Модель Latent Dirichlet Allocation (LDA) является моделью темы, которая обнаруживает базовые темы в наборе документов. Темы, охарактеризованные распределениями слов, соответствуют группам обычно слов co-появления. LDA является безнадзорной моделью темы, что означает, что он не требует маркированных данных.
Загрузите данные в качестве примера. Файл weatherReports.csv
содержит прогнозы погоды, включая текстовое описание и категориальные метки для каждого события.
Импортируйте данные с помощью readtable
функционируйте и извлеките текстовые данные из event_narrative
столбец.
filename = "weatherReports.csv"; data = readtable(filename,'TextType','string'); textData = data.event_narrative;
Маркируйте и предварительно обработайте текстовые данные и создайте модель сумки слов.
Маркируйте текст.
documents = tokenizedDocument(textData);
Чтобы улучшить подгонку модели, удалите пунктуацию и слова остановки (слова как "и", и) из документов.
documents = removeStopWords(documents); documents = erasePunctuation(documents);
Создайте модель сумки слов.
bag = bagOfWords(documents);
Подбирайте модель 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
Для следующих шагов в текстовой аналитике можно попытаться улучшить подгонку модели при помощи различных шагов предварительной обработки и визуализации смесей темы. Для примера смотрите, Анализируют текстовые Данные Используя Модели Темы.
bagOfWords
| erasePunctuation
| fitlda
| removeStopWords
| tokenizedDocument
| wordcloud