在MALLET中截断主题模型的标记

时间:2014-09-11 10:54:59

标签: topic-modeling text-analysis mallet

我想截断语料库中的所有标记,最大长度为5个字符。有没有办法在MALLET中设置--token-regex导入选项来完成这个?我目前用于导入文档的代码是:

mallet-2.0.7/bin/mallet import-dir --input mallet-2.0.7/data/journals/ --output mallet-2.0.7/tmp/topic-input-journals.mallet --keep-sequence --remove-stopwords --stoplist-file mallet-2.0.7/stoplists/tr.txt --token-regex '\p{L}[\p{L}\p{P}]*\p{L}'

如果在MALLET导入命令中无法做到这一点,我会很感激如何在R中做同样的建议。

1 个答案:

答案 0 :(得分:0)

是的,您可以修改令牌正则表达式,以便使用此正则表达式读取最多5个或n个字符的单词:

  

\ B \ W {1,5} \ B'/ P>

其中\b是单词边界,\w是单词,{1,5}定义最小值(1)和最大值(5)。

您的命令行应该是:

mallet-2.0.7/bin/mallet import-dir --input mallet-2.0.7/data/journals/ --output mallet-2.0.7/tmp/topic-input-journals.mallet --keep-sequence --remove-stopwords --stoplist-file mallet-2.0.7/stoplists/tr.txt --token-regex '\b\w{1,5}\b'

在Java中:

pipeList.add(new CharSequence2TokenSequence(Pattern.compile("\\b\\w{1,5}\\b")));

希望这有帮助。