这个示例展示了如何将主题模型匹配到文本数据并将主题可视化。
潜在狄利克雷分配(Latent Dirichlet Allocation, LDA)模型是一个主题模型,它发现文档集合中的潜在主题。主题以词的分布为特征,对应于一组共同出现的词。LDA是一种无监督主题模型,这意味着它不需要带标签的数据。
加载示例数据。该文件factoryReports.csv
包含工厂报告,包括文本描述和每个事件的分类标签。
方法导入数据readtable
函数中提取文本数据描述
列。
文件名=“factoryReports.csv”;data = readtable(文件名,“TextType”,“字符串”);textData = data.Description;
对文本数据进行标记和预处理,并创建一个词袋模型。
在标记文本。
文件= tokenizedDocument (textData);
为了提高模型拟合,从文档中删除标点符号和停止词(如“and”、“of”和“the”)。
= removeStopWords文件(文档);= erasePunctuation文件(文档);
创建一个词袋模型。
袋= bagOfWords(文件);
在LDA模型中加入七个主题fitlda
函数。若要禁止详细输出,请设置“详细”
选项0
.
numTopics = 7;mdl = fitlda(袋、numTopics、“详细”, 0);
使用词云可视化前四个主题。
数字为topicIdx = 1:4 subplot(2,2,topicIdx) wordcloud(mdl,topicIdx);标题(“主题”+ topicIdx)结束
在文本分析的下一步中,您可以尝试通过使用不同的预处理步骤和可视化主题混合来改进模型适合度。有关示例,请参见使用主题模型分析文本数据.
removeStopWords
|tokenizedDocument
|erasePunctuation
|bagOfWords
|fitlda
|wordcloud