LDA主题模型

         近期做了一个关于主题分析的重新学习,感觉只看不实操真的就和白学了一样。也趁着这股劲把关于LDA主题模型的东西总结一下,这些是目前我能够考虑到的所有事情,以后看到再做补充(新手小白请指正我的错误,十分感谢!!)。总结学习使我进步!!

 

一、整体脉络

 

LDA主题模型_第1张图片

二、原理解析

LDA也称为隐狄利克雷分布,LDA的目的就是要识别主题,即把文档—词汇矩阵变成文档—主题矩阵(分布)和主题—词汇矩阵(分布)。

        地址: https://www.cnblogs.com/pinard/p/6831308.html

 

三、确定最佳主题个数

       对数据进行主题分类之前要先确定可以划分的最佳主题个数,其他的参数简单的做可以直接选择默认值。用困惑度来做的话,是困惑度的值最小或者是在拐点处的值最好;用主题一致性的话就是越靠近越好,还是要看应用效果好不好最后再做选择,有时候在一个值附近选取效果不会相差太多。(该部分的内容都是基于gensim包的)

 

     代码地址: https://blog.csdn.net/xxidaojia/article/details/103219582

 

        在计算困惑度这里可以先把范围拉大一点,步长设置的稍微长一点,有个大概的范围之后,再进行范围的缩小。(我这个垃圾居然把主题范围越来越大的试,能出来个鬼)速度稍微慢了些。

 

        主题一致性(topic coherence)

        代码地址:  https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/topic_coherence_tutorial.ipynb  

        下面是一个很好的说明例子:

        地址:  https://zhuanlan.zhihu.com/p/75484791

        

四、Gensim构建LDA主题模型

 

大概的构建方法第三部分的第二个链接都写了,这里就列一下参数吧。

其实我是想找那个函数里面的参数,我觉得我找不到了,先放下吧。

 
    lda_model = models.ldamodel.LdaModel(corpus=corpus, num_topics=2, id2word=dictionary, passes=10)
    # num_topics -- 必须,要生成的主题个数。
    # id2word    -- 必须,LdaModel类要求我们之前的dictionary把id都映射成为字符串。
    # passes     -- 可选,模型遍历语料库的次数。遍历的次数越多,模型越精确。但是对于非常大的语料  库,遍历太多次会花费很长的时间。
    # iterations=iterations  迭代次数
    #chunksize=chunksize,
    #alpha=‘auto’,
    #eta=‘auto’,
    #num_topics=num_topics
    #passes=passes,
    #eval_every=eval_every

 

α、β参数 : https://www.zhihu.com/question/21692336/answer/19387415

LDA model的内含方法:https://blog.csdn.net/weixin_44514388/article/details/90798435

五、主题演化

       我的理解就是通过上述的一系列主题的分类,我们就知道了每一个文档的的主题,那么当文档具有时间属性的时候,我们就可以将时间片上的主题进行汇总,从而画出折线图或者是其他类型的图进行可视化的展示。本人觉得数量少的话,excel做折线图好像挺好的(求指点!!!)下面是一个河流图的示例,仅供参考。

       地址:河流图

LDA主题模型_第2张图片

 

六、动态主题模型

       也可以参考三里面的例子,结果是在一个网页中进行展示的。

       地址:https://blog.csdn.net/YWP_2016/article/details/99935842

 

参考:

https://www.cnblogs.com/mantch/p/11259347.html          https://blog.csdn.net/asialee_bird/article/details/96454544#%E5%9B%9B%E3%80%81LDA%E4%B8%BB%E9%A2%98%E6%A8%A1%E5%9E%8B%E5%85%B3%E9%94%AE%E8%AF%8D%E6%8F%90%E5%8F%96%E7%AE%97%E6%B3%95%E5%8F%8A%E5%AE%9E%E7%8E%B0

https://www.freesion.com/article/8583675446/  

https://blog.csdn.net/qq_33624866/article/details/106338564

 

你可能感兴趣的:(NLP,python)