【发布时间】:2018-04-22 02:36:19
【问题描述】:
我们想用二元组构建一个主题模型。 在 Java 中实现这一点的推荐方法是什么?
目前,我们使用 Mallet Java API。 具体来说,ParallelTopicModel 同时将标记作为字符串传递给 Instance 对象的数据参数。
谢谢。
【问题讨论】:
我们想用二元组构建一个主题模型。 在 Java 中实现这一点的推荐方法是什么?
目前,我们使用 Mallet Java API。 具体来说,ParallelTopicModel 同时将标记作为字符串传递给 Instance 对象的数据参数。
谢谢。
【问题讨论】:
解释 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 识别的主题模型变体,但在训练时间和模型质量方面的成本很高。我不建议使用它们中的任何一个。
【讨论】: