【问题标题】:Support bigrams in Topic Modeling using Mallet Java Api使用 Mallet Java Api 在主题建模中支持二元组
【发布时间】:2018-04-22 02:36:19
【问题描述】:

我们想用二元组构建一个主题模型。 在 Java 中实现这一点的推荐方法是什么?

目前,我们使用 Mallet Java API。 具体来说,ParallelTopicModel 同时将标记作为字符串传递给 Instance 对象的数据参数。

谢谢。

【问题讨论】:

    标签: java lda n-gram mallet


    【解决方案1】:

    解释 n-gram 最简单、最可靠的方法是修改输入。例如,您可以将new york 替换为new_york,然后使用接受_ 作为字母字符的模式进行标记。 Mallet 允许您在导入文档时指定一个带有字符串的文件,以将其视为单个标记:

    bin/mallet import-file --help
    A tool for creating instance lists of feature vectors from comma-separated-values
    ...
    --replacement-files FILE [FILE ...]
      files containing string replacements, one per line:
        'A B [tab] C' replaces A B with C,
        'A B' replaces A B with A_B
      Default is (null)
    

    这种使用模式需要您识别特定的 n-gram。您还可以修改输入文件以包含所有二元组,因此 to be or not to be 将变为 to_be be_or or_not not_to to_be。我不知道这是否会产生任何有用的东西。

    还有一些“本机”支持 n-gram 识别的主题模型变体,但在训练时间和模型质量方面的成本很高。我不建议使用它们中的任何一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多