hanlp版本:portable-1.8.5
目前使用PERCEPTRON训练含有标注复合词的语料,请问应如何使复合词生效
语料部分内容示例:
[一次性/b 白勺/n]/n 1/m 箱/q
[中/a 马夹袋/n]/n 4/m 包/q
代码:
PerceptronLexicalAnalyzer analyzer = new PerceptronLexicalAnalyzer(Config.PERCEPTRON_CWS_CUSTOM_MODEL_FILE, Config.PERCEPTRON_POS_CUSTOM_MODEL_FILE, Config.PERCEPTRON_NER_CUSTOM_MODEL_FILE);
analyzer.enableCustomDictionary(new DynamicCustomDictionary(CUSTOM_DICTIONARY_PATH));
Sentence sentenceResult = analyzer.analyze(sentence.replaceAll("\s+", “”));
sentenceResult.mergeCompoundWords();
log.info(sentenceResult.wordList.toString());
输出结果:
一次性/b 白勺/n 1/m 箱/q 中/a 马夹袋/n 4/m 包/q
sentence是选取自语料中含有复合词的一段,结果中复合词却没有被标注,并被拆分了。试过在analyze方法前使用 analyzer.getPerceptronSegmenter().learn("[一次性/b 打饭盒/n]/n") ,然而没效果