我想使用 Blei 等人的动态主题建模。 ( http://www.cs.columbia.edu/~blei/papers/BleiLafferty2006a.pdf ) 拥有近 3800 篇专利文献的大型语料库。
有没有人有在 gensim 包中使用 DTM 的经验?
我确定了两个模型:
你用了哪一个,如果你两个都用,哪一个“更好”?换句话说,你更喜欢哪一个?
最佳答案
这两个包都运行良好,并且功能几乎相同。您可能想要使用哪一种取决于您的用例。每个模型附带的功能都有细微差别,命名也有细微差别,这可能会让人有点困惑,但对于大多数 DTM 用例,您选择哪个并不重要。
模型输出是否相同?
不完全是。然而,它们非常非常接近相同(98%+)——我相信大部分差异来自于在生成过程中对概率的处理略有不同。到目前为止,我还没有遇到过小数点后第 6 位或第 7 位数字的差异具有任何重要意义的情况。解释你的模型发现的主题比一个版本发现某个单词的主题加载更高 0.00002 重要得多
两个型号的大区别:dtmmodel
是来自 blei-lab 的原始 C++ 实现的 Python 包装器,这意味着 python 将运行二进制文件,而 ldaseqmodel
完全用python编写。
为什么要使用 dtmmodel?
为什么要使用ldaseqmodel?
import
声明 vs 下载二进制文件)sstats
来自预训练的 LDA 模型 - 与 LdaMulticore
一起使用我主要使用
ldaseqmodel
但那是为了方便。不过,原生 DIM 支持会很棒。你该怎么办?
比如说,在一个小样本集上尝试每一个,看看模型返回什么。 3800 个文档并不是一个庞大的语料库(假设每个专利不是数百页),我假设在预处理(删除停用词、图像和元数据)之后,您的字典也不会太大(很多标准短语和专利中的法律术语,我假设)。选择最适合您或具有您需要的功能的一种。
无论如何,完整的分析可能需要几个小时,如果你让你的代码在一夜之间运行,几乎没有什么实际区别,毕竟,你关心它是在凌晨 3 点还是 5 点完成?如果运行时间很关键,我会假设
dtmmodel
会更有用。对于实现示例,您可能需要查看以下笔记本:ldaseqmodel和 dtmmodel
关于python-3.x - 使用 Gensim 进行动态主题建模/哪个代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50413059/