jieba分词器使用指南

简单易用的分词器分享,使用jieba分词java版(支持中文)实现。

一.分词应用场景

  • 统计文章高频关键词

    比如我有一篇文章,我要统计文章中出现词语频率最高的前5名

  • 分析一句话或者一段话中词语出现的次数

  • 提取词语

二.分词难点

由于这里我们考虑使用中文分词器,所以一些特定词语也需要能够支持识别,例如赛博朋克等新兴词语。另外一些介词或者语气助词最好不在统计范围内,比如的,地,得…

并且还有一个特点,就是在较短的时间内能够分析出结果。

三.分词实现

结合以上难点的分析,我们接下来使用开源的jieba分词进行实现。首先最开始这是一个python实现版本,源仓库:https://github.com/fxsjy/jieba

后来在团队huaban的改进下,支持了java版本,再到后来由于huaban团队停止了维护,就由Xinyao Qian个人开发经手维护开发,源仓库:https://github.com/huaban/jieba-analysis

使用方法很简单,源码示例:

public static void main(String[] args)
{
    String content="孩子上了幼儿园 安全防拐教育要做好";
    int topN=5;
    TFIDFAnalyzer tfidfAnalyzer=new TFIDFAnalyzer();
    List<Keyword> list=tfidfAnalyzer.analyze(content,topN);
    for(Keyword word:list){
        // 防拐:0.1992,幼儿园:0.1434,做好:0.1065,教育:0.0946,安全:0.0924
        System.out.print(word.getName()+":"+word.getTfidfvalue()+",");
    }
}

通过分析词语出现频率就能够满足计算出高频词等需求。

同时还能够配置停用词stop_words.txt以及自定义词库idf_dict.txt。

总结

我们站在巨人的肩膀上,所以能看的更远,致敬前辈。

参考资料: