经典的NLP模型
LDA模型
LDA是自然语言处理中非常常用的一个主题模型,全称是隐含狄利克雷分布(Latent Dirichlet Allocation)。
作用是将文档集中每篇文档的主题以概率分布的形式给出,然后通过分析分到同一主题下的文档抽取其实际的主题(模型运行结果就是一个索引编号,通过分析,将这种编号赋予实际的意义,通常的分析方法就是通过分析每个topic下最重要的term来进行总结归纳),根据主题分布进行主题聚类或文本分类。
是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可。此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它。
由Blei, David M.、吴恩达和Jordan, Michael I于2003年提出,目前在文本挖掘领域包括文本主题识别、文本分类以及文本相似度计算方面都有应用。
是一种典型的词袋模型,它假设每一篇文档都是一组词的集合,并且词与词之间没有顺序和先后关系。一篇文章可以包含多个主题,文档中的每一个词都是由其中的一个主题生成。
LDA也称三层贝叶斯概率模型,包含词、主题和文档三层结构;利用文档中单词的共现关系来对单词按主题聚类,得到“文档-主题”和“主题-单词”2个概率分布。
在LDA模型中,一篇文档生成的方式如下:
LDA的图模型结构如下图所示:
注意:LDA 中主题数目如何确定?
在 LDA 中,主题的数目没有一个固定的最优解。模型训练时,需要事先设置主题数,训练人员需要根据训练出来的结果,手动调参,有优化主题数目,进而优化文本分类结果。
TF-IDF
参考资料:
LDA主题模型简介及Python实现
通俗理解LDA主题模型
LDA模型详解
[NLP]使用LDA模型计算文档相似度
NLP关键词提取方法总结及实现