[人工智能AI]NLP之中文分词库jieba+python

14 篇文章 0 订阅
4 篇文章 0 订阅

NLP之中文分词库jieba+python

结巴jieba: 最好的中文分词开源库
github传送门: https://github.com/fxsjy/jieba (20k star的开源项目)


1. 配置和安装

法一: pip安装

pip3 install jieba

法二: github源码安装

git clone https://github.com/fxsjy/jieba
进入jieba目录后输入 python setup.py install 进行安装

2. jieba分词简单用例

# @envir: macOS + python3 + jieba0.39
import jieba
string = '吕布是一名南京大学计算机系的大四学生'
gen = jieba.lcut(string)
print('/'.join(gen))

分词结果:
'吕布/是/一名/南京大学/计算机系/的/大四/学生'

两种函数cut和lcut区别

  • cut生成一个产生器generator, 可以用for来取其中元素
  • lcut直接生成一个列表

jieba.posseg库的使用

  • posseg库的cut和lcut函数能够分辨词性
import jieba.posseg as jp
string = '吕布是一名南京大学计算机系的大四学生'
gen = jp.lcut(string)
print(gen)

分词结果如下:
[pair('吕布', 'nr'), pair('是', 'v'), pair('一名', 'm'), pair('南京大学', 'nt'), pair('计算机系', 'n'), pair('的', 'uj'), pair('大四', 'm'), pair('学生', 'n')]


3. 自定义词典

对于某些新的或生僻名词, jieba库无法识别, 因此可以载入自己的词典;

萧炎的异火名为青莲地心火

jieba分词结果为: 萧炎/的/异火/名为/青莲/地/心火


自定义词典:
  • jieba的默认此点位dict.txt, 在sit-package/jieba目录下可见
  • 新建txt文本词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开 (如下图所示)
// mydict.txt
青莲地心火 n
  • 此时使用jieba.load_userdict(file_name) # file_name 为文件类对象或自定义词典的路径
jb.load_userdict('mydict.txt')

载入新词典的分词结果:萧炎/的/异火/名为/青莲地心火

待续…
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值