首页 > 编程知识 正文

Python中jieba的用法用法介绍

时间:2023-11-21 01:36:01 阅读:293598 作者:SCHC

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官方文档。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。