LDA 中的主题连贯性得分如何直观地有意义?

机器算法验证 主题模型 潜在狄利克雷分配
2022-03-28 16:54:16

参考:http: //qpleple.com/topic-coherence-to-evaluate-topic-models/

为了确定要使用 LDA 提取的最佳主题数量,主题连贯性分数始终用于衡量主题提取的好坏:

CoherenceScore=i<jscore(wi,wj)

在哪里wi,wj是话题的热门词


有两种类型的主题连贯性分数:

  1. 外部 UCI 措施:

SCOREUCI(wi,wj)=logp(wi,wj)p(wi)P(wj)

在哪里

p(wi)=Dwikipedia(wi)Dwikipediap(wi,wj)=Dwikipedia(wi,wj)Dwikipedia


  1. 内在 UMass 测量:

SCOREUMass(wi,wj)=logD(wi,wj)+1D(wi)


网上可用的教程似乎只是给出了这些措施的公式,但没有进一步解释为什么要这样公式化,以及为什么这样的公式是有意义的。

有人可以直观地解释为什么这些主题连贯性分数可以衡量所选主题数量的好坏吗?

1个回答

连贯性分数用于评估学习主题的质量。

对于一个主题,单词i,j被打进i<jScore(wi,wj)该主题发生的概率最高。您需要指定要考虑的主题中的总分词数。

对于“UMass”度量,分子D(wi,wj)是包含单词的文档数wiwj一起出现。1 被添加到这个术语中,因为我们正在使用对数,并且当两个单词永远不会一起出现时,我们需要避免使用 0 的对数。分母是文档的数量D(wi)出现在。所以分数更高,如果wiwj相对于频率而言,在文档中一起出现很多wi单独出现在文档中。作为主题连贯性的衡量标准,这是有道理的,因为如果一个主题中的两个词真的属于一起,你会期望它们经常一起出现。分母只是根据您正在考虑的单词的文档频率进行调整,因此像“the”这样的单词不会获得人为的高分。

您可以使用主题连贯性分数,CS(t)为了t=1,,K, 确定最优数K通过查找主题argmaxK1Kt=1KCS(t). 那就是取不同设置的平均主题连贯性分数,看看哪个给出了最高的平均连贯性。K