这个示例展示了如何使主题模型适合文本数据并可视化主题。
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
函数。要抑制verbose输出,请设置“详细”
选项0
.
numTopics = 7;mdl = fitlda(袋、numTopics、“详细”, 0);
使用词云将前四个主题形象化。
数字为topicIdx = 1:4 subplot(2,2,topicIdx) wordcloud(mdl,topicIdx);标题(“主题”+ topicIdx)结束
对于文本分析的下一步,您可以尝试通过使用不同的预处理步骤和可视化主题混合来改进模型。例如,请参见使用主题模型分析文本数据.
removeStopWords
|tokenizedDocument
|erasePunctuation
|bagOfWords
|fitlda
|wordcloud