我有一个关于测量/计算 scikit-learn 中构建的 LDA 模型的主题一致性的问题。
主题一致性是衡量给定 LDA 主题模型的人类可解释性的有用指标。Gensim 的CoherenceModel允许为给定的 LDA 模型(包括几个变体)计算 Topic Coherence。
我对利用scikit-learn 的 LDA而不是gensim 的 LDA 感兴趣,以便于使用和记录(注意:我想避免使用 gensim 到 scikit-learn 包装器,即实际上利用 sklearn 的 LDA)。根据我的研究,似乎没有与 Gensim 的 CoherenceModel 等效的 scikit-learn。
有没有办法:
1 - 将 scikit-learn 的 LDA 模型输入到 gensim 的 CoherenceModel 管道中,通过手动将 scikit-learn 模型转换为 gensim 格式,或者通过 scikit-learn 到 gensim 包装器(我已经看到了包装器)来生成主题一致性?
或者
2 - 从 scikit-learn 的 LDA 模型和 CountVectorizer/Tfidf 矩阵手动计算主题一致性?
我在网上对这个用例的实现做了很多研究,但还没有看到任何解决方案。我唯一的线索是科学文献中记录的方程式。
如果有人对任何类似的实现有任何了解,或者如果您能指出我为此创建手动方法的正确方向,那就太好了。谢谢!
*旁注:我知道在 scikit-learn 中可以使用 perplexity 和 log-likelihood 进行性能测量,但从我读到的内容来看,这些并没有那么预测。