1

我想截断语料库中的所有标记,使其最大长度为 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 中执行相同操作的建议。

4

1 回答 1

0

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

\b\w{1,5}\b

其中\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")));

希望这可以帮助。

于 2017-09-21T15:28:19.757 回答