负值问题:使用主题相干性评估Gensim LDA模型

6

我目前正在尝试使用gensim主题相关性模型来评估我的主题模型:

from gensim.models.coherencemodel import CoherenceModel
cm_u_mass = CoherenceModel(model = model1, corpus = corpus1, coherence = 'u_mass')
coherence_u_mass = cm_u_mass.get_coherence()

print('\nCoherence Score: ', coherence_u_mass)

输出结果只是负值。这正常吗?有没有人能够提供一个公式或者解释一下u_mass是如何工作的?

2个回答

12

浏览原始文章,可以看到UMass一致性是在概率的对数上计算的,因此是负数。

关于您所询问的公式,它可以在同一篇文章中找到作为方程4。

我了解到当UMass一致性的值趋近于0时,主题一致性会更好。

希望这能有所帮助。


3
实际上,原文是由David Mimno等人撰写的。优化主题模型中的语义连贯性 - J.Schneider

0

被接受的答案是错误的。对于UMass而言,一般来说相干性从其最高值(即接近零)开始,并随着主题数量的增加而开始下降。您可以在此文章中看到这种趋势。它的总体趋势与c_v相反。简而言之,您要在主题数量和最负UMass分数之间寻找平衡。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接