如何在Mallet中实现1-2元N-gram分词?现有运行命令是否符合要求?
Mallet 1~2元N-gram分词命令验证
你给出的命令已经符合1到2的N-gram粒度处理需求,核心逻辑说明如下:
- 数据导入阶段使用的
--keep-sequence-bigrams参数,会默认保留所有一元词(unigram),同时将满足共现条件的相邻两个词组合为二元词组(bigram)存入特征集,最终得到的就是你需要的1~2元N-gram集合 - 后续主题训练命令不需要额外调整N-gram相关配置,直接读取导入阶段生成的特征集即可正常训练
你当前使用的命令参考:
bin\mallet import-dir --input sample-data\web\en --output sample.txt --keep-sequence-bigrams --remove-stopwords bin\mallet train-topics --input sample.txt --num-topics 20 --optimize-interval 10 --output-doc-topics sample_composition.txt --output-topic-keys sample_keys.txt
可选优化参数(按需添加)
如果需要进一步调整N-gram的生成效果,可以在import-dir命令中补充以下参数:
--bigram-threshold <数值>:调整二元词组的共现频率阈值,仅相邻两个词共同出现的次数超过该阈值时才会被识别为二元词组,默认值为3--min-doc-frequency <数值>:过滤出现文档数低于阈值的N-gram,减少低频无意义特征对训练结果的干扰--custom-stoplist <文件路径>:替换默认停用词表,适配特定领域的语料处理需求
内容的提问来源于stack exchange,提问作者Louise
相关产品推荐
相关产品推荐

