1、中文分词工具——Jieba
代码文件
import jieba
# 读取输入文本
text = input()
# 精确模式分词
seg_list1 = jieba.cut(text, cut_all=False)
seg_list1 = list(seg_list1) # 转换为列表以便于打印
# 搜索引擎模式分词
seg_list2 = jieba.cut_for_search(text)
seg_list2 = list(seg_list2) # 转换为列表以便于打印
# 打印分词结果
print("精确模式:" + '/'.join(seg_list1) + " 搜索引擎模式:" + ' /'.join(seg_list2))
题目描述
任务描述
本关任务:根据本关所学有关使用 Jieba 库进行分词的知识,完成使用 Jieba 模块进行分词的程序编写并通过所有测试用例。
相关知识
为了完成本关任务,你需要掌握:
-
Jieba 模块的使用;
-
Jieba 的各种分词模式。
Jieba 简介
1、Jieba 的特点
分词是自然语言处理中最基础的一个步骤。而 Jieba 分词是目前中文分词中一个比较好的工具。它包含有以下特性:
-
社区活跃。Jieba 在 Github 上已经有 17670 的 star 数目。社区活跃度高,代表着该项目会持续更新,实际生产实践中遇到的问题能够在社区反馈并得到解决,适合长期使用;
-
功能丰富。Jieba 其实并不是只有分词这一个功能,其是一个开源框架,提供了很多在分词之上的算法,如关键词提取、词性标注等;
-
提供多种编程语言实现。 Jieba 官方提供了 Python、C++、Go、R、iOS 等多平台多语言支持,不仅如此,还提供了很多热门社区项目的扩展插件,如 ElasticSearch、solr、lucene 等。在实际项目中,进行扩展十分容易;
-
使用简单。Jieba 的 API 总体来说并不多,且需要进行的配置并不复杂,方便上手。
2、Jieba 分词的原理
Jieba 分词依靠中文词库,结合了基于规则和基于统计这两类方法。首先基于前缀词典进行词图扫描,前缀词典是指词典中的词按照前缀包含的顺序排列。如果将词看作节点,词和词之间的分词符看作边,那么一种分词方案则对应着从第一个字到最后一个字的一条分词路径。