scikit

您所在的位置:网站首页 lda一致性 scikit

scikit

2024-03-26 02:33| 来源: 网络整理| 查看: 265

我有一个关于测量/计算 scikit-learn 中构建的 LDA 模型的主题一致性的问题。

主题一致性是衡量给定 LDA 主题模型的人类可解释性的有用指标。 Gensim的CoherenceModel允许为给定的 LDA 模型计算主题一致性(包括几个变体)。

我有兴趣利用 scikit-learn's LDA而不是 gensim's 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 进行性能测量,但从我读到的内容来看,这些并没有那么预测。

最佳答案

将 scikit-learn 的 LDA 模型输入 gensim 的 CoherenceModel 管道

据我所知,没有“简单的方法”可以做到这一点。您必须手动重新格式化 sklearn 数据结构以与 gensim 兼容。我自己没有尝试过,但这让我觉得这是一个不必要的步骤,可能需要很长时间。有一个旧的 Python 2.7 尝试在 gensim-sklearn-wrapper您可能想查看它,但它似乎已被弃用 - 也许您可以从中获得一些信息/灵感。

从 scikit-learn 的 LDA 模型和 CountVectorizer/Tfidf 矩阵手动计算主题一致性?

使用循环可以轻松实现所需向量的汇总。您可以找到“手册”的代码示例 coherence calculation for NMF .当然,计算取决于具体的度量,但 sklearn 应该很容易地为您返回分析所需的数据。

资源

我不清楚为什么要明确排除 gensim - 主题一致性管道非常广泛,并且存在文档。

例如,请参阅这三个教程(在 Jupyter 笔记本中)。

Demonstration of the topic coherence pipeline in Gensim Performing Model Selection Using Topic Coherence Benchmark testing of coherence pipeline on Movies dataset 几种相干性度量的公式可以在这篇论文中找到here .

关于scikit-learn - LDA 主题模型性能 - scikit-learn 的主题一致性实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52102961/



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3