NLP基本工具之jieba详解

2020-04-26 15:35:53 浏览数 (1)

简介

jieba(结巴)是百度工程师Sun Junyi开发的一个开源库,在GitHub上很受欢迎,使用频率也很高。

GitHub链接:https://github.com/fxsjy/jieba

jieba最流行的应用是分词,包括介绍页面上也称之为“结巴中文分词”,但除了分词之外,jieba还可以做关键词抽取、词频统计等。

jieba支持四种分词模式:

- 精确模式:试图将句子最精确地切开,只输出最大概率组合;

- 搜索引擎模式:在精确模式基础上,对长词再次切分,提高召回率,适用于搜索引擎分词;

- 全模式:把句子中所有的可以成词的词语都扫描出来;

- paddle模式,利用PaddlePaddle深度学习框架,训练序列标注(双向GRU)网络模型实现分词。同时支持词性标注。

代码:

输出:

代码:

输出

从上面的例子可以看出:

- 精确模式是比较常见的分词方式,也是默认的方式;

- 搜索引擎模式切分更细一些,包含了清华、华大、大学、中国、科学、学院等等;

- 全模式相对于搜索引擎模式更全,列出了所有可能

- paddle模式接近于精确模式。

另外,jieba还支持:

- 繁体分词

- 自定义词典

安装:

pip/pip3/easy_installinstall jieba

使用:

importjieba # 导入 jieba

importjieba.posseg as pseg #词性标注

importjieba.analyse as anls #关键词提取

算法

基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)

采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合

对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法

关于关键词提取等功能,请关注后续文章。

0 人点赞