jieba
是一个流行的中文分词库,用于将中文文本分割成词语。中文分词是自然语言处理中的一个重要步骤,因为中文没有自然的词边界。jieba
提供了高效且准确的分词功能,支持多种分词模式。
安装
pip install jieba
基本用法
1. 精确模式
精确模式是最常用的分词模式,适合大多数场景。
import jieba
text = "我爱自然语言处理"
words = jieba.lcut(text)
print(words) # 输出: ['我', '爱', '自然', '语言', '处理']
2. 全模式
全模式会将文本分割成所有可能的词语,适合用于关键词提取等场景。
import jieba
text = "我爱自然语言处理"
words = jieba.lcut(text, cut_all=True)
print(words) # 输出: ['我', '爱', '自然', '语言', '处理', '自然语言', '语言处理']
3. 搜索引擎模式
搜索引擎模式会在精确模式的基础上,额外分割出可能的关键词,适合用于搜索引擎等场景。
import jieba
text = "我爱自然语言处理"
words = jieba.lcut_for_search(text)
print(words) # 输出: ['我', '爱', '自然', '语言', '处理', '自然语言', '语言处理']
自定义词典
jieba
支持自定义词典,可以添加特定领域的词汇以提高分词的准确性。
import jieba
# 添加自定义词汇
jieba.add_word("自然语言处理")
text = "我爱自然语言处理"
words = jieba.lcut(text)
print(words) # 输出: ['我', '爱', '自然语言处理']
词性标注
jieba
还支持词性标注,可以识别每个词语的词性。
import jieba.posseg
text = "我爱自然语言处理"
words = jieba.posseg.lcut(text)
for word, flag in words:
print(f"{word} - {flag}")
关键词提取
jieba
可以提取文本中的关键词。
import jieba.analyse
text = "自然语言处理是人工智能领域的一个重要方向,涉及文本分析、语义理解等多个方面。"
keywords = jieba.analyse.extract_tags(text, topK=5)
print(keywords) # 输出: ['自然语言处理', '人工智能', '文本分析', '语义理解', '领域']
调整分词准确性
可以通过调整词频来影响分词结果。
import jieba
# 调整词频
jieba.suggest_freq("自然语言处理", True)
text = "我爱自然语言处理"
words = jieba.lcut(text)
print(words) # 输出: ['我', '爱', '自然语言处理']
总结
jieba
是一个功能强大的中文分词库,支持多种分词模式和高级功能,如自定义词典、词性标注和关键词提取。通过使用 jieba
,可以高效地处理中文文本,为自然语言处理任务提供基础支持。