ansj_seg icon indicating copy to clipboard operation
ansj_seg copied to clipboard

方括号干扰以英文字母结尾的用户自定义词分词结果

Open ldwnt opened this issue 5 years ago • 6 comments

版本: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]

ldwnt avatar Jul 28 '20 10:07 ldwnt

升级nlp-lang到最新版本1.7.8

shi-yuan avatar Aug 16 '20 10:08 shi-yuan

升级nlp-lang到最新版本1.7.8

多谢,实测有效,请问对应的是nlp-lang哪个bug呢

ldwnt avatar Aug 21 '20 01:08 ldwnt

主要涉及两个问题: 1、isEnglish判断有问题 2、之前版本工具类WordAlert的alertEnglish、alertNumber等方法,对传入的原始字符数组,有做变更,新版没有

shi-yuan avatar Aug 23 '20 01:08 shi-yuan

主要涉及两个问题: 1、isEnglish判断有问题 2、之前版本工具类WordAlert的alertEnglish、alertNumber等方法,对传入的原始字符数组,有做变更,新版没有

相关代码有分支可以参考下么?直接升级1.7.8会有词库大小写敏感的问题,想把fix的代码cherry pick到1.7.2上

ldwnt avatar Aug 28 '20 15:08 ldwnt

依据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

shi-yuan avatar Sep 06 '20 08:09 shi-yuan

依据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

多谢,我试下~

ldwnt avatar Sep 20 '20 14:09 ldwnt