欢迎访问宙启技术站
智能推送

Python中文分词:jieba分词函数的用法

发布时间:2023-06-05 12:50:27

jieba分词函数是Python中文分词库中最为流行的库。它支持中文分词、关键词提取、词性标注等功能,具有词性标注精确度高、速度快、支持自定义词库等优点。下面我们来看一下jieba分词函数的用法。

### 安装:

使用pip安装:pip install jieba

### 分词:

分词是jieba库最基本的功能,用于将一段中文文本切分成单个的词语。以下是分词的基本用法:

import jieba

sentence1 = "我来自中国北京"
seg_list = jieba.cut(sentence1, cut_all=False)
print("Default Mode: ", " ".join(seg_list))

输出结果:

Default Mode:  我 来自 中国 北京

在上面的代码中,“jieba.cut()”函数的 个参数是要进行分词的文本,第二个参数是“cut_all”(全模式)或者“cut_for_search”(搜索引擎模式)。为了得到精确的结果,我们使用默认模式即可。

### 添加自定义词库:

jieba分词函数也允许用户添加自定义的词库。这个特性可以让我们将多个单词或短语划分为一个词语,提高分词的准确度。以下是添加自定义词库的例子:

import jieba

# 加载自定义的词库
jieba.load_userdict('userdict.txt')

sentence2 = "我爱北京天安门"
seg_list = jieba.cut(sentence2, cut_all=False)
print(" ".join(seg_list))

输出结果:

我 爱 北京 天安门

其中,'userdict.txt'文件是自己准备的词库文件,每行一个词语,可以包含词语的词性。下面是一个词库文件的例子:

中国 n
中华 n
北京 ns
天安门 ns

### 提取关键词:

除了分词,jieba库还支持提取文本中的关键词。以下是提取关键词的例子:

import jieba.analyse

sentence3 = "我喜欢看蓝天白云和大海"
keywords = jieba.analyse.extract_tags(sentence3, topK=3, withWeight=False)
print(" ".join(keywords))

输出结果:

大海 蓝天白云 喜欢

其中,“jieba.analyse.extract_tags()”函数的 个参数是要提取关键词的文本,第二个参数是需要提取的关键词数量,第三个参数“withWeight”表示是否返回每个关键词的权重。

### 词性标注:

jieba分词库还支持中文文本词性标注功能。以下是词性标注的例子:

import jieba.posseg as pseg

sentence4 = "我爱北京天安门"
words = pseg.cut(sentence4)
for word, flag in words:
    print('%s %s' % (word, flag))

输出结果:

我 r
爱 v
北京 ns
天安门 ns

其中,“jieba.posseg.cut()”函数与“jieba.cut()”函数的使用方式相同,都是用于分词,不同的是前者返回的是带有词性标注的结果。

### 总结:

Python中文分词库jieba的功能非常丰富,本文详细介绍了其中的分词、添加自定义词库、提取关键词和词性标注等基本用法。学会使用jieba库,可以提高中文文本处理的效率和准确性。