方括号干扰以英文字母结尾的用户自定义词分词结果
版本:ansj_seg-5.1.3.jar
public class Test {
public static void main(String[] sts) {
List<Value> values = new ArrayList<>();
values.add(new Value("农银货币B", new String[]{"n", "1000"}));
Forest forest = Library.makeForest(values);
Analysis analysis = new DicAnalysis().setForests(forest, DicLibrary.get());
List<Term> terms = analysis.parseStr("农银货币B 农银货币B[]").getTerms();
System.out.println(terms);
}
}
执行结果: [农银货币B/n, , 农/ng, 银/ng, 货币/n, b/en]
升级nlp-lang到最新版本1.7.8
主要涉及两个问题: 1、isEnglish判断有问题 2、之前版本工具类WordAlert的alertEnglish、alertNumber等方法,对传入的原始字符数组,有做变更,新版没有
相关代码有分支可以参考下么?直接升级1.7.8会有词库大小写敏感的问题,想把fix的代码cherry pick到1.7.2上
依据org.nlpcn.commons.lang.util.WordAlert#isEnglish(char)和org.nlpcn.commons.lang.util.WordAlert#isNumber(char), 修改 org.nlpcn.commons.lang.tire.SmartGetWord#isE org.nlpcn.commons.lang.tire.SmartGetWord#isNum
依据org.nlpcn.commons.lang.util.WordAlert#isEnglish(char)和org.nlpcn.commons.lang.util.WordAlert#isNumber(char), 修改 org.nlpcn.commons.lang.tire.SmartGetWord#isE org.nlpcn.commons.lang.tire.SmartGetWord#isNum
多谢,我试下~