jieba
三种分词函数
- 精确模式
- 全模式
- 搜索引擎模式
import jieba words = "多学一分钟,老婆会不同" print(jieba.lcut(words)) #默认-精确模式 print(jieba.lcut(words,cut_all=True)) #全模式 print(jieba.lcut_for_search(words)) #搜索引擎模式
运行结果:
['多学', '一分钟', ',', '老婆', '会', '不同'] ['多', '学', '一分', '一分钟', '分钟', ',', '老婆', '会', '不同'] ['多学', '一分', '分钟', '一分钟', ',', '老婆', '会', '不同']
词性标注
词性标记 | 说明 |
a | 形容词 |
ad | 副形词 |
ag | 形容词性语素,形容词性实词+副词。如:充足、不足、过于、欠佳等 |
b 连词 | |
d | 副词 |
e | 叹词 |
f | 方位词,就是指方位的词 |
g | 语素 |
h | 前缀 |
i | 成语 |
j | 简略词性,如“副” |
k | 后缀 |
l | 习用语 |
m | 数词、数量 |
n | 名词 |
nr | 人名 |
ns | 地名 |
nt | 机构团体名称 |
nz | 其他专有名词 |
p | 介词 |
q | 量词 |
r | 代词 |
s | 处所词,地名等 |
t | 时间词 |
u | 助词 |
v | 动词 |
vd | 副动词 |
vg | 动词性语素,动词性实词+副词。如:走开、跑快等 |
vi | 不及物动词 |
vn | 名动词 |
w | 标点符号 |
x | 非语素字,采用汉字的非语素字为标记 |
y | 语气词 |
z | 状态词,形容词作状语 |
import jieba import jieba.posseg as pseg res = pseg.cut("山西的教育很差劲") for word,flag in res: print(word,":",flag)
运行结果:
山西 : ns 的 : uj 教育 : vn 很 : zg 差劲 : n
添加词库
import jieba words = "鸡你太美,篮球太危险" print(jieba.lcut(words)) #默认-精确模式 print(jieba.lcut(words,cut_all=True)) #全模式 print(jieba.lcut_for_search(words)) #搜索引擎模式 jieba.add_word('鸡你太美') print("=======添加新词到词库=======") print(jieba.lcut(words)) #默认-精确模式 print(jieba.lcut(words,cut_all=True)) #全模式 print(jieba.lcut_for_search(words)) #搜索引擎模式
运行结果:
['鸡', '你', '太美', ',', '篮球', '太', '危险'] ['鸡', '你', '太美', ',', '篮球', '太', '危险'] ['鸡', '你', '太美', ',', '篮球', '太', '危险'] =======添加新词到词库======= ['鸡你太美', ',', '篮球', '太', '危险'] ['鸡你太美', '太美', ',', '篮球', '太', '危险'] ['太美', '鸡你太美', ',', '篮球', '太', '危险']
统计词频
import jieba from collections import Counter # 读取文本文件内容 content = open("D:\Desktop\形式主义.txt", encoding='utf-8').read() # 进行分词 搜索引擎模式 words = jieba.lcut_for_search(content) # 统计词频 word_counts = Counter(words) # 输出词频结果 print("词语\t\t\t频率") for word, count in word_counts.most_common(20): if len(word) > 1: print("{}\t\t\t{}".format(word, count))
运行结果:
词语 频率 工作 31 就业 27 招生 24 强化 7 做好 6 推动 5 提升 5 不断 4 责任 4 学校 4 水平 4 发展 4 高质 4 质量 4