python自然语言处理实战_Python自然语言处理实战正文.indd.PDF

Python自然语言处理实战正文.indd.PDF

C H A P T E R 3

第 章

3

中文分词技术

本章将讲解中文自然语言处理的第一项核心技术:中文分词技术。在语言理解中,词

是最小的能够独立活动的有意义的语言成分。将词确定下来是理解自然语言的第一步,只

有跨越了这一步,中文才能像英文那样过渡到短语划分、概念抽取以及主题分析,以至自

然语言理解,最终达到智能计算的最高境界。因此,每个NLP 工作者都应掌握分词技术。

本章的要点包括:

中文分词的概念与分类

常用分词(包括规则分词、统计分词以及混合分词等)的技术介绍

开源中文分词工具——Jieba 简介

实战分词之高频词提取

3.1 中文分词简介

“词”这个概念一直是汉语语言学界纠缠不清而又绕不开的问题。“词是什么”(词的

抽象定义)和“什么是词”(词的具体界定),这两个基本问题迄今为止也未能有一个权威、

明确的表述,更无法拿出令大众认同的词表来。主要难点在于汉语结构与印欧体系语种

差异甚大,对词的构成边界方面很难进行界定。比如,在英语中,单词本身就是“词”

的表达,一篇英文文章就是“单词”加分隔符(空格)来表示的,而在汉语中,词以字为

中文分词技术 39

基本单位的,但是一篇文章的语义表达却仍然是以词来划分的。因此,在处理中文文本

时,需要进行分词处理,将句子转化为词的表示。这个切词处理过程就是中文分词,它

通过计算机自动识别出句子的词,在词间加入边界标记符,分隔出各个词汇。整个过程

看似简单,然而实践起来却很复杂,主要的困难在于分词歧义。以NLP 分词的经典语句

举例,“结婚的和尚未结婚的”,应该分词为“结婚/ 的/ 和/ 尚未/ 结婚/ 的”,还是“结

婚/ 的/ 和尚/ 未/ 结婚/ 的”?这个由人来判定都是问题,机器就更难处理了。此外,

像未登录词、分词粒度粗细等都是影响分词效果的重要因素。

自中文自动分词被提出以来,历经将近30 年的探索,提出了很多方法,可主要归纳

为“规则分词”“统计分词”和“混合分词(规则+ 统计)”这三个主要流派。规则分词是

最早兴起的方法,主要是通过人工设立词库,按照一定方式进行匹配切分,其实现简单

高效,但对新词很难进行处理。 随后统计机器学习技术的兴起,应用于分词任务上后,

就有了统计分词,能够较好应对新词发现等特殊场景。然而实践中,单纯的统计分词也

有缺陷,那就是太过于依赖语料的质量,因此实践中多是采用这两种方法的结合,即混

合分词。

下面将详细介绍这些方法的代表性算法。

3.2 规则分词

基于规则的分词是一种机械分词方法,主要是通过维护词典,在切分语句时,将语

句的每个字符串与词表中的词进行逐一匹配,找到则切分,否则不予切分。

按照匹配切分的方式,主要有正向最大匹配法、逆向最大匹配法以及双向最大匹配

法三种方法。

3.2.1 正向最大匹配法

正向最大匹配(Maximum Match Method ,MM 法)的基本思想为:假定分词词典中

40 第3 章

i i

的最长词有 个汉字字符,则用被处理文档的当前字串中的前 个字作为匹配字段,查找

i

字典。若字典中存在这样的一个 字词,则匹配成功,匹配字段被作为一个词切分出来。

i

如果词典中找不到这样的一个 字词,则匹配失败,将匹配字段中的最后一个字去掉,

对剩下的字串重新进行匹配处理。如此进行下去,直到匹配成功,即切分出一个词或剩

i

余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个 字字串进行匹配处理,

直到文档被扫描完为止。

其算法描述如下:

m

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值