jieba是一款开源的中文分词工具,可以用于各种中文自然语言处理任务。本文将从安装、基本用法、高级用法和应用实例四个方面详细介绍Python中jieba的使用方法。
一、安装jieba
使用pip可以方便地安装jieba库。
pip install jieba
二、基本用法
在基本使用中,我们经常使用分词和关键词提取功能。
1、分词
使用jieba库的cut方法对文本进行分词,该方法具有很高的执行效率。
import jieba
seg_list = jieba.cut("我爱自然语言处理")
print(" ".join(seg_list))
# output: 我 爱 自然语言处理
如果要进行精确模式分词,可以使用cut方法的参数cut_all设置为False。
seg_list = jieba.cut("我爱自然语言处理", cut_all=False)
print(" ".join(seg_list))
# output: 我 爱 自然语言 处理
2、关键词提取
使用jieba库的extract_tags方法可以对一段文本提取关键词。
import jieba.analyse
content = "华为发布了一款新款手机,该手机拍照效果非常好,颜值高。"
keywords = jieba.analyse.extract_tags(content, topK=3)
print(keywords)
# output: ['华为', '大豆', '手机']
三、高级用法
1、自定义词典
可以通过自定义词典的方式提高jieba的准确率。可以通过调用add_word方法添加单个词语,或者load_userdict方法加载整个词典。
import jieba
jieba.add_word("自然语言处理")
seg_list = jieba.cut("我爱自然语言处理")
print(" ".join(seg_list))
# output: 我 爱 自然语言处理
自定义词典文件格式为每行一个词语,后跟一个权重值,权重值可选,用空格隔开。例如:
自然语言处理 5
华为 3
手机 2
然后使用load_userdict方法加载自定义词典。
import jieba
jieba.load_userdict("userdict.txt")
seg_list = jieba.cut("华为发布了一款新的手机")
print(" ".join(seg_list))
# output: 华为 发布 了 一款 新 的 手机
2、词性标注
使用jieba库进行词性标注,需要安装另一个库——jieba.posseg。
import jieba.posseg
words = jieba.posseg.cut("我喜欢吃自己做的炸酱面")
for word, flag in words:
print("%s %s" % (word, flag))
# output: 我 r
# 喜欢 v
# 吃 v
# 自己 r
# 做 v
# 的 u
# 炸酱面 n
四、应用实例
1、中文分词统计
使用jieba分词功能实现中文分词统计,可以统计出词频、关键字等信息。
import jieba
import collections
text = "自然语言处理是一门不错的技术,自然语言处理方向上有很多挑战和机遇。"
seg_list = jieba.cut(text)
c = collections.Counter()
for x in seg_list:
if len(x) > 1 and x != 'rn':
c[x] += 1
print(c.most_common(5))
# output: [('自然语言处理', 2), ('技术', 1), ('方向', 1), ('挑战', 1), ('机遇', 1)]
2、关键词提取
使用jieba提取一段文本的关键词,可以用于自然语言处理中的一些任务。
import jieba.analyse
text = "明天我要去上海出差,需要在上海和客户进行会谈"
keywords = jieba.analyse.extract_tags(text, topK=3)
print(keywords)
# output:['上海', '出差', '客户']
本文基本讲解完毕,如果您想了解更多jieba的使用方法,建议查看jieba官方文档。