Python 3.x 使用Gensim进行动态主题建模/哪种代码?

Python 3.x 使用Gensim进行动态主题建模/哪种代码?,python-3.x,gensim,lda,Python 3.x,Gensim,Lda,我想使用Blei等人的动态主题建模(DynamicTopicModeling),对将近3800份专利文档进行大规模的主题建模。 有没有人有在gensim软件包中使用DTM的经验? 我确定了两种模式: models.ldaseqmodel–Python中的动态主题建模 models.wrappers.dtmmodel–动态主题模型(DTM) 你用了哪一个,如果你同时用了两个,哪一个更好?换言之,您更喜欢哪一个?两个软件包都工作得很好,功能几乎相同。您可能想要使用哪一个取决于您的用例。每个模型所具有

我想使用Blei等人的动态主题建模(DynamicTopicModeling),对将近3800份专利文档进行大规模的主题建模。 有没有人有在gensim软件包中使用DTM的经验? 我确定了两种模式:

  • models.ldaseqmodel–Python中的动态主题建模
  • models.wrappers.dtmmodel–动态主题模型(DTM)

  • 你用了哪一个,如果你同时用了两个,哪一个更好?换言之,您更喜欢哪一个?

    两个软件包都工作得很好,功能几乎相同。您可能想要使用哪一个取决于您的用例。每个模型所具有的函数都有细微的差别,命名也有细微的差别,这可能会有点混乱,但对于大多数DTM用例来说,选择哪一个并不重要

    模型输出是否相同?

    不完全是。然而,它们非常非常接近于相同(98%+)-我相信大多数差异来自于对生成过程中概率的处理略有不同。到目前为止,我还没有遇到小数点后第六位或第七位的差异有任何重要意义的情况。解释模型发现的主题比一个版本发现某个单词的主题加载量高0.00002要重要得多

    <>代码两个模型之间的巨大差异: DTMMask< /Cord>是一个用于原始C++实现的Python包装器,这意味着Python将运行二进制文件,而<>代码> LDASEQUMDS完全用Python编写。 为什么要使用dtmmodel?

      C++代码比Python实现要快
    • 支持来自的文档影响模型(可能对您的研究感兴趣,请参阅以获取实现)
    为什么要使用ldaseqmodel?

    • 更易于安装(简单的
      import
      语句与下载二进制文件相比)
    • 可以使用预先训练的LDA模型中的
      sstats
      -与
      LdaMulticore
    • 更容易理解代码的工作原理
    我主要使用
    ldaseqmodel
    ,但这是为了方便。不过,本机DIM支持将非常好

    你该怎么办?

    比如说,在一个小样本集上对每一个文档进行测试,看看模型返回了什么。3800个文档并不是一个庞大的语料库(假设每个文档的专利不是数百页),我假设在预处理(删除停止词、图像和元数据)之后,您的词典也不会太大(我想专利中有很多标准短语和法律术语)。选择一个最适合你或具有你需要的能力的

    完整的分析可能需要几个小时,如果你让你的代码在一夜之间运行,那么实际上没有什么区别,毕竟,你在乎它是在凌晨3点还是5点完成吗?如果运行时间很关键,我认为
    dtmmodel
    会更有用

    对于实现示例,您可能希望查看以下笔记本:和