【问题标题】:Mallet topic modeling: remove most common wordsMallet 主题建模:删除最常用的词
【发布时间】:2018-01-05 21:43:09
【问题描述】:

我是艺术史领域的 Mallet 和主题建模新手。我正在使用 Mallet 2.0.8 和命令行(我还不知道 Java)。我想在训练模型之前删除最常见和最不常见的单词(整个语料库中的 10 次,如 D. Mimno 建议的那样),因为结果不干净(即使使用停止列表),这并不奇怪。

我发现 prune 命令可能很有用,带有 prune-document-freq 之类的选项。这样对吗?还是以另一种方式存在?有人可以详细解释我整个过程(例如:创建/输入 Vectors2Vectors 文件,然后在哪个阶段?)?将不胜感激!

对于这个问题,我很抱歉,我是 Mallet 和文本挖掘的初学者!但这很令人兴奋!

非常感谢您的帮助!

【问题讨论】:

    标签: topic-modeling mallet word-frequency


    【解决方案1】:

    您可以在两个地方使用 Mallet 来整理词汇表。第一个是数据导入,例如import-file 命令。 --remove-stopwords 选项删除一组固定的英语停用词。这是出于向后兼容性的原因,对于某些英语散文来说可能不是一个坏主意,但您通常可以通过创建自定义列表来做得更好。我建议使用 而不是 --stoplist-file 选项以及文件名。此文件中所有以空格和/或换行符分隔的单词都将被删除。 (同时使用这两个选项将删除两个列表的并集,这可能不是您想要的。)另一个有用的选项是--replacement-files,它允许您指定多词字符串以将其视为单个词。比如这个文件:

    black hole
    white dwarf
    

    将“黑洞”转换为“黑洞”。这里换行符的处理方式与空格不同。您还可以使用--deletion-files 指定多词停用词。

    一旦您有了 Mallet 文件,您就可以使用 prune 命令修改该文件。 --prune-count N 将删除任何文档中出现次数少于N 的单词。 --prune-document-freq N 将删除在 N 文档中至少出现一次的单词。这个版本对一个文档中经常出现的单词更加健壮。也可以按比例剪枝:--min-idf去掉不常用的词,--max-idf去掉常用的词。 IDF 10.0 的词在 20000 个文档中出现的次数少于一次,IDF 低于 2.0 的词出现在超过 13% 的集合中。

    【讨论】:

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