0 起因

由于博主之前做了一些文本挖掘的项目,在项目中或多或少的用到了分词模块,对于中文分词,博主一般使用Python开发的jieba分词组件。最近,博主想阅读一些开源系统,就先从jieba开始,一是因为jieba实现了NLP的一些基础技术,例如分词、词性标注;二是因为想学习学习大神们的编码规范。

1 jieba系统简介

"结巴"中文分词:做最好的Python中文分词组件。

特点:

  1. 支持三种分词模式
  2. 支持繁体分词
  3. 支持自定义词典
  4. MIT授权协议

涉及算法:

  1. 基于前缀词典实现词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG),采用动态规划查找最大概率路径,找出基于词频的最大切分组合;
  2. 对于未登录词,采用了基于汉字成词能力的 HMM模型,采用Viterbi算法进行计算;
  3. 分别基于tfidf和textrank模型抽取关键词;

2 jieba系统框架

jieba分词系统,主要实现三个模块,

  1. 分词
  2. 词性标注
  3. 关键词抽取

其中,分词有三种模式,默认是精确模式,

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式