文本簇中的关键字数

问题描述

我正在处理一个大小适中的数据集,并希望确定 # 主题有意义。我同时使用了 NMF 和 LDA(sklearn 实现),但关键问题是:什么是成功的合适衡量标准。从视觉上看,我在许多主题中只有几个高度权重的关键字(其他权重 ~ 0),以及一些主题的钟形分布的主题。目标是什么:一个词数少、权重高、休息低(尖峰)或钟形分布的主题,在大#个关键词上逐渐减少权重 自然基金会

enter image description here

或LDA方法

enter image description here

这主要是一个钟形(显然不是曲线)

我也使用加权 jaccard(设置关键字的重叠,加权;毫无疑问有更好的方法,但这有点直观

您对此有何看法?

最好,

安德烈亚斯

代码https://scikit-learn.org/stable/auto_examples/applications/plot_topics_extraction_with_nmf_lda.html?highlight=document%20word%20matrix

解决方法

有一些常用的评估指标可以很好地直观地了解您的主题集的总体质量,以及您对 k(主题数量)的选择。 Dieng 等人最近发表的一篇论文。 (Topic Modeling in Embedded Spaces) 使用两个最好的衡量标准:一致性和多样性。结合起来,连贯性和多样性可以让我们了解主题的聚集程度。 Coherence 使用它们在文档中的共现来衡量每个主题中单词的相似性,而多样性则基于主题的重叠来衡量主题之间的相似性。如果您的多样性得分较低,则意味着单词在主题中重叠,您可能需要增加 k

确实没有“决定k的最佳方法”,但这些措施可以帮助您决定是增加还是减少数量。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...