В этом примере показано, как подгонять модель раздела под текстовые данные и визуализировать разделы.
Модель латентного распределения Дирихле (LDA) - это модель тематики, которая обнаруживает основные темы в коллекции документов. Темы, характеризующиеся распределением слов, соответствуют группам обычно встречающихся слов. LDA - это неконтролируемая модель темы, которая означает, что она не требует помеченных данных.
Загрузите данные примера. Файл factoryReports.csv содержит заводские отчеты, включая текстовое описание и категориальные метки для каждого события.
Импорт данных с помощью readtable и извлечь текстовые данные из Description столбец.
filename = "factoryReports.csv"; data = readtable(filename,'TextType','string'); textData = data.Description;
Выполните токенизацию и предварительную обработку текстовых данных и создайте модель пакета слов.
Выполните маркировку текста.
documents = tokenizedDocument(textData);
Чтобы улучшить подгонку модели, удалите из документов знаки препинания и стоп-слова (такие как «и», «из» и «the»).
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