作用:把句子分开一段一段
Python 的 jieba
库是一个中文分词工具,它能够将连续的中文文本切分成有意义的词序列。jieba
支持繁体中文和自定义词典,提供三种分词模式:精确模式、全模式和搜索引擎模式。此外,它还具备关键词提取和词性标注的功能。jieba
广泛应用于文本处理、自然语言处理、搜索引擎优化等领域,是中文文本分析和数据挖掘的重要工具。
pip install jieba
import jieba
test_content = '迅雷不及掩耳盗铃儿响叮当仁不让世界充满爱之势'
# 精确模式,将句子最精确地切开,适合文本分析
cut_res = jieba.cut(test_content, cut_all=False)
print('[精确模式]:', list(cut_res))
# [精确模式]: ['迅雷不及', '掩耳盗铃', '儿响', '叮', '当仁不让', '世界', '充满', '爱之势']
cut_res = jieba.cut(test_content, cut_all=False, HMM=False)
print('[精确模式]:', list(cut_res))
# [精确模式]: ['迅雷不及', '掩耳盗铃', '儿', '响', '叮', '当仁不让', '世界', '充满', '爱', '之', '势']
# HMM参数默认为True,根据HMM模型(隐马尔可夫模型)自动识别新词。如上面的例子中,HMM为True,结果中将“儿响”、“爱之势”识别成了新词,HMM为False,这些字只能单独成词,分成单个文字。
cut_res = jieba.cut(test_content, cut_all=True)
print('[全模式]:', list(cut_res))
# [全模式]: ['迅雷', '迅雷不及', '迅雷不及掩耳', '不及', '掩耳', '掩耳盗铃','儿', '响叮当', '叮当', '当仁不让', '不让', '世界', '充满', '爱', '之', '势']
cut_res = jieba.cut_for_search(test_content)
print('[搜索引擎模式]:', list(cut_res))
# [搜索引擎模式]: ['迅雷', '不及', '迅雷不及', '掩耳', '掩耳盗铃', '儿响', '叮','不让', '当仁不让', '世界', '充满', '爱之势']
# 自定义分词
jieba.add_word('铃儿响叮当')
jieba.add_word('让世界充满爱')
jieba.add_word('迅雷不及掩耳之势')
lcut_res = jieba.lcut(test_content, cut_all=True, HMM=False)
print('[添加自定义词语]:', lcut_res)
# [添加自定义词语]: ['迅雷', '迅雷不及', '迅雷不及掩耳', '不及', '掩耳', '掩耳盗铃', '铃儿响叮当', '响叮当', '叮当', '当仁不让', '不让', '让世界充满爱', '世界', '充满', '爱', '之', '势']