使用IKAnalyzer实现的中英文混合切分

17 篇文章 0 订阅

最近在研究分词时,发现在IKAnalyzer3.X版本下 导入中英文混合词到词库到切分时并没有起作用

于是到官网发现了新版IKAnalyzer2012已经实现了中英文、数字+中文的混合切分 而且词库的导入方式也发生了一定的变化

 Analyzer analyzer = new IKAnalyzer(true);
       // Dictionary.loadExtendWords(SogouDictHelper.loadSogouDic());
        Dictionary.initial(DefaultConfig.getInstance());
        org.wltea.analyzer.dic.Dictionary dic=Dictionary.getSingleton();
        
        dic.addWords(Arrays.asList("qq旋风"));
        int count = 0;
         TokenStream ts = analyzer.tokenStream("demo", new StringReader(text));
        ts.reset();
       while (ts.incrementToken()) {
            System.out.print(ts.getAttribute(CharTermAttribute.class) + "|");
            count++;
        }
        ts.end();
        ts.close();
        System.out.println("\nfenchi-->" + count);

注意正如api所说:词库必须先调用initial方法初始化(参数为词库配置【有默认实现类:DefaultConfig 当然你也可以自己实现】)

该方法一般在应用初始启动时执行一次就可以了

然后可以通过dic.addWords向词典中动态加入词语

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值