Learning

jieba分词入门

2019-10-12  本文已影响0人  树深见醋

结巴分词代码临摹中,做一下知识点归集

Part 1. 分词相关概念

分词是自然语言理解的重要步骤。

分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。

1、分词算法分类

1)基于字符串匹配的分词方法:

基本思想是扫描字符串,如发现字符串的子串和词典中的词语相同,就算匹配。

通常会加入一些启发式规则,如“正向/反向最大匹配”,“长词优先匹配”等;

优点是速度快,成本低;但对歧义和未登录词处理不好

2)基于统计以及机器学习的分词方式

基于人工标注的词性和统计特征进行建模,并通过模型计算分词概率;

常见的序列标注模型有HMM和CRF

这类分词算法能很好处理歧义和未登录词的问题,准确率更佳;但需要大量人工标注,分词速度也较慢。

常见的分词器都是使用机器学习算法和词典相结合,一方面能够提到分词准确率,另一方面能够改善领域适应性。


2、中英文分词的典型区别

区别 1)分词方式不同,中文更难

英文有天然的空格作为分隔符,但中文没有。所以如何切分是一个难点。且中文里存在较多一词多义现象。

区别 2)英文单词有多种形态

英文单词存在丰富的变形变换。为了应对这些复杂的变换,英文NLP相比中文存在一些特殊处理步骤,我们成为词形还原(Lemmatization)和词干提取(Stemming)。

词性还原:does,done,doing,did 需要通过词性还原恢复成 do。

词干提取:cities,children,teeth 这些词,需要转换为 city,child,tooth”这些基本形态

区别 3)中文分词需要考虑粒度问题

例如「中国科学技术大学」就有很多种分法:

中国科学技术大学

中国 \ 科学技术 \ 大学

中国 \ 科学 \ 技术 \ 大学

粒度越大,表达的意思就越准确,但是也会导致召回比较少。所以中文需要不同的场景和要求选择不同的粒度。

3、中文分词的难点

1)分词歧义

我个人没意见

三个人没意见

2)未登录词识别:郑成功

数字、实体名称/专业术语、成语、虚词、语气词


Part 2. jieba中文分词相关概念

1、安装说明

详见上篇~

2、基本特点

支持三种分词模式

精确模式,视图将句子最精确的切开,适合做文本分析;

全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;

搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

支持繁体分词

支持自定义词典

代码示例

【全模式】

【精确模式】

【新词识别】

【搜索引擎模式】

3、动态增删新词

4、使用自定义词典

5、使用搜狗细胞词库


附:相关学习材料

网易云课堂——Python数据分析(文本挖掘)

Python第三方库jieba(中文分词)入门与进阶(官方文档)

​一文看懂分词 - TOKENIZATION(中英文分词区别+3 大难点+3 种典型方法)

上一篇下一篇

猜你喜欢

热点阅读