大家好,之前大家对于这篇文章有很多的疑问,包括数据啦,代码啦,所以今天我再次修改一下这篇文章,并且集中解释一下大家的疑惑。
在LDA 的第一步,都是分词,在这里我定义一个方法,
一个对于句子进行分词,并加载停用词与自定义词典。
关于停用词大家可以自己在网上找一份,
然后使用pandas模块读取excel文件,内容格式如下:

读取后,我们将【“内容”】列转化为列表,并利用jieba进行分词,并且形成新的分词后列表fenci_out, 再将其存入txt文件中,将其作为进行LDA分析的基础数据。代码如下:
这里说明一下(停用词我用的微软的,然后这里的输出结果是txt格式的,大家可以根据自己需求进行更改)
第二步:
在这,推荐大家可以通过困惑度进行确定主题系数,具体解释大家可以看这篇文章
lda主题模型困惑度_主题模型(三):LDA主题个数选择_weixin_的博客-CSDN博客
如果大家时间较紧,也可以直接在这里复制,代码如下:
在我们确定好主题数量以后,再用lda产生主题,准备进行主题相似度计算。代码如下
第三步:
大家可以先做强度分析: (这里我假设每个文档只有一个主题,大家可以根据自己需求进行)
在这里我说明一下,我们在做主题演化时需要对时间窗口进行划分,然后将不同时间时间窗口的主题进行相似度比较。在这里我划分为4个。
关于主题热度计算,我用的热度图进行计算,大家可以参考

大家想要详细了解可以参考,其代码如下:
热度图
第四步:主题相似度,
这里是用的是主题词的权重,在这里我说明一下
列子:
这里有两个通过产生的主题t1与t2,如下:
t0 :('a',0.25),('b',0.23) ('c',0.23)
t1 :('b',0.25),('g',0.16) ,('a',0.11)
在我们进行相似度计算时需要将t0 与t1 中主题词一样的,进行位置互换,如下:
t0 : ('a',0.25),('b',0.23), ('c',0.23)
t1 : ('a',0.11),('b',0.25),('g',0.16)
这是通过主题词的权重即概率产生一个主题向量,即:
t0 = (0.25,0.23,0.23)
t1= (0.11,0.25,0.16)
这是我在用余弦值进行相似度计算即可,代码如下:
第五步:
大家根据相似度结果画桑吉图,我用的是pyecharts
这里大家可以看这篇文章,或者去pyecharts官网进行学习:
Document pyecharts 官网
Pyecharts一文速学-绘制桑基图详解+Python代码_fanstuck的博客-CSDN博客_.render_notebook()
谢谢大家的关注,最近因为学业可能回复较慢,但是一定会回复。
到此这篇lda主题模型原理介绍(lda主题模型困惑度)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/20629.html