我想截断语料库中的所有标记,最大长度为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中做同样的建议。
答案 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")));
希望这有帮助。