1、 具体使用见代码:
import jieba
import jieba.analyse as analyse
if __name__ == '__main__':
# 1. 基本使用
print('----------------1. 基本使用---------------------')
content = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
stop_words = [",","!","人"]
# 返回一个迭代器
result = jieba.cut(content)
final_result_words = [word for word in result if word not in stop_words]
print(final_result_words) # ['我们', '是', '中国', '共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']
# 2. 增加新词:按照自己指定某个词汇 分词- 比如上例中的 `中国共产主义`
## 2-2 方式1 :通过add方式
print('----------------2. 增加新词---------------------')
content2 = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
result2 = jieba.cut(content2)
jieba.add_word('中国共产主义')
final_result_words2 = [word for word in result2 if word not in stop_words]
print(final_result_words2) #['我们', '是', '中国共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']
print('----------------2-2. 如果不删除自增词汇---------------------')
content3 = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
result3 = jieba.cut(content3)
jieba.add_word('中国共产主义')
final_result_words3 = [word for word in result3 if word not in stop_words]
# 仍然解析出 ‘中国共产主义’
print(final_result_words3) # ['我们', '是', '中国共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']
# 删除新词
jieba.del_word('中国共产主义')
result3_2 = jieba.cut(content3)
final_result_words3_2 = [word for word in result3_2 if word not in stop_words]
# 中国共产主义 恢复成 ---> 中国、共产主义
print('final_result_words4',final_result_words3_2) # ['我们', '是', '中国', '共产主义', '接班人', '踩', '着', '革命先烈', '的', '鲜血']
## 2-2 方式2 :通过指定外部文件方式
print('----------------2-2. 方式2 :通过指定外部文件方式---------------------')
jieba.load_userdict('data/自定义词组')
content4 = '我们是中国共产主义接班人,踩着革命先烈!的鲜血'
result4 = jieba.cut(content4)
print('result4:',list(result4)) # ['我们', '是', '中国共产主义', '接班人', ',', '踩着革命先烈', '!', '的', '鲜血']
# 指定新的外部文件
jieba.initialize() # 需要先初始化
jieba.set_dictionary('data/新自定义词组')
result4_2 = jieba.cut(content4)
print('result4_2:', list(result4_2)) # ['我们', '是', '中国共', '产主义', '接班人', ',', '踩', '着', '革命', '先烈', '!', '的', '鲜血']
# 3. 词频调整(和上面的需求相反,比如想让 明天--[拆成]-->明/天):本质就是人为提高某个词的权重
print('----------------3. 词频调整---------------------')
content5 = '我们是伟大的明天'
jieba.suggest_freq(('明','天'),tune=True)
# HMM新词发现功能时可能无效,需要将它设置为False。
result5 = jieba.lcut(content5,HMM= False)
print('result5:',result5) # ['我们', '是', '伟大', '的', '明', '天']
# 4. 词频分析
print('----------------4. 词频分析---------------------')
content6 = '我们是伟大的明天,明天的明天是后天,我们的未来是你们的明天'
tag = jieba.analyse.extract_tags(content6,topK=3)
print(tag) # ['伟大', '我们', '未来']
2、案例中用的文件
(1)自定义词组
中国共产主义
踩着革命先烈
(2)新自定义词组
中国共 1
产主义 1