常用分词方法总结分析

来源:互联网 发布:服务器端口设置 编辑:程序博客网 时间:2024/06/05 04:40

最近对自然语言处理中常见任务的方法做了一下整理总结,并对不同方法做了一些对比分析,资料主要来源于网络以及相关的论文。

1.中文分词

中文句子是由字组成的连续字符串。为了理解中文语义,首先需要将句子划分为以词为基本单位的词串,这就是中文分词。词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明确的区分标记,因此中文分词是中文信息处理的基础和关键。另外,对于词的定义也没有完全明确的一种说法,比较抽象的解释是语言中有意义的能单说或用来造句的最小单位。在1993年作为国家标准公布的《信息处理用现代汉语分词规范》中,文本中的词语被称为“分词单位”,以区别于语言学中更严格的“词”概念。

常用的分词方法主要有:基于字符串匹配的方法、基于规则的方法。

1.1 基于字符串匹配的方法

基于字符串匹配的方法又称为机械分词方法或字典匹配方法,它主要依据词典的信息,而不使用规则知识和统计信息,按照一定的策略将待切分的汉字串与词典中的词条逐一匹配,若在词典中找到该词条,则匹配成功,否则做其它相应的处理。机械分词法依据待切分文本扫描的方向不同,分为正向匹配、逆向匹配以及双向匹配;依据分词过程是否与词性标注过程相结合,又可分为单纯分词方法和分词与标注相结合的一体化方法;依据每次匹配优先考虑长词还是短词,分为最大匹配和最小匹配。常用的基于字符串匹配的分词方法通常是将上述几种单一方法组合起来使用,例如:基于字符串的正向最大匹配、逆向最大匹配、双向最大匹配以及最少切分等。

1.1.1 正向最大匹配分词算法

根据匹配不成功时重新切取的策略区分,机械匹配分词法又分为增字匹配法和减字匹配法。增字法一般与最小匹配相结合,而减字法常与最大匹配相结合。因此正向最大匹配法采用减字匹配法较为常见,其基本思想是:假设己知机器词典中最长词条的长度为N,则以N作为减字开始的长度标准,首先将待扫描的文本串S从左向右截取长度为N的字符串W1,然后在词典中查找是否存在该字符串W1的词条。如果匹配成功,则W1标记为切分出的词,再从待扫描文本串的N+1位置开始扫描;如果匹配失败,将截取长度减1后,再从S中截取此长度的字符串W1’,重复上述匹配过程,直至截取长度为1为止。以扫描完句子作为整个匹配过程结束。其算法流程如图所示,经过这一流程处理后,原本的句子S将被切分成W1W2…Wn的词序列,每一个Wi均为词典中的词条或者是原子。



图1 正向最大匹配流程图


1.1.2 逆向最大匹配分词

逆向最大匹配分词法,其基本思想与正向最大匹配分词法大体一致,只是扫描方向换成了从右至左。换句话说,当扫描汉语句子时,根据词典中最长词条的长度,从句末开始向左截取出汉语字符串与词典中的词条匹配,匹配流程与减字法相同,直至扫描到句首为止。例如,待切分字串为“他说的确实在理”时,正向最大匹配分词法的分词结果为“他/说/的确/实在/理/”,逆向最大匹配分词法的分词结果为“他/说/的/确实/在理/”,根据汉语原意,逆向最大匹配的分词结果是正确的,而正向最大匹配是错误的。据统计结果表明,单纯使用正向最大匹配法的错误率为1/169,单纯使用逆向最大匹配法的错误率为1/245,显然逆向最大匹配分词法较正向最大匹配分词法在切分准确率上有了较大提高,这一结果与汉语中心语偏后有一定的关系。为了节省处理待匹配字符串的时间,逆向最大匹配通常将词典中的词条也组织成逆序,例如“逆向”这一词条,在逆向最大匹配的分词词典中以“向逆”形式存储。

1.1.3 双向最大匹配分词算法

这种分词算法侧重于分词过程中检错和纠错的应用,其基本原理是对待切分字符串采用正向最大匹配和逆向最大匹配分别进行正向和逆向扫描和初步切分,并将正向最大匹配初步切分结果和逆向最大匹配初步切分结果进行比较,如果两组结果一致,则判定分词结果正确,如果存在不一致,则判定存在着切分歧义,需要进一步采取技术手段来消解歧义。

1.1.4最少切分分词算法

该分词算法依据最少切分原则,从几种分词算法切分结果中取切分词数最少一种的。比如,从正向最大匹配和逆向最大匹配两者中选择词数较少的方案,当词数相同时,采取某种策略,选择其中一个。

1.2 基于统计的方法

词是固定的字的组合,在文本中相邻的字同时出现的次数越多越有可能是一个词,因此计算上下文中相邻的字联合出现概率,可以判断字成词的概率。通过对语料中相邻共现的各个字的组合频度进行统计,计算它们的互现信息。互现信息体现了汉字之间结合关系的紧密程度,当紧密程度高于某一个阈值时,可判定该字组构成一个词。这种方法的优点是不受待处理文本领域的限制,不需要专门的词典。统计分词以概率论为理论基础,将汉字上下文中汉字组合串的出现抽象成随机过程,随机过程的参数可以通过大规模语料库训练得到。基于统计的分词采用的原理有互信息、N元统计模型以及其它的统计模型如隐马尔科夫模型、条件随机场模型、神经网络模型及最大熵模型等。

1.2.1互信息原理

互信息算法的主要思想是对于字符串x和字符串y,使用公式计算其互信息值P(x,y),用值的大小判断x和y之间的结合程度。公式如下。

                                         (1)

其中P(x,y)为字符串x和y共现的频率,p(x)和p(y)分别是字符串x和y出现的频率。

当P(x,y)>0时,表示x和y之间具有较高的相关关系,并且互信息值P(x,y)越大,相关性就越强。当其值超过某一预设的阈值时可以判定为一个词。

当P(x,y)=0时,表示x和y之间的关系不明确。

当P(x,y)<0时,表示x与y负相关,基本不会组成一个词。

1.2.2 N元统计模型

N元统计模型的主要思想是:一个单词的出现与其上下文环境中出现的单词序列密切相关,第n个词的出现只与前面n-1个词相关,而与其它任何词都不相关。即假定语言满足马尔科夫性,可表示为:

                              (2)

假设句子S由w1w2…wn组成且满足马尔科夫性,那么句子S出现的概率可以通过联合概率公式计算成:

          (3)

根据阶数N在模型中取值不同,N元语法统计模型的名称也有所不同,如N=2称为bigram模型,N=3称为trigram模型。从理论上来说,随着N取值增加,模型越能发映出语言的内在结构,精度也就越高,但是计算参数与语料训练集的规模也要相应增大,因此在实际应用中一般取N为2、3、4较为合适。

以此类推,N元模型就是假设当前词的出现概率只同它前面的N-1个词有关而得出的。

在式(3)中,条件概率表示在词串出现的情况下wi出现的概率。在大规模语料库训练的基础上,根据大数定律,最大似然估计值可计算为:

                              (4)

其中,表示词序列在训练语料中同时出现的次数。以bigram模型为例,具体说明如何应用该统计模型解决分词中的问题。根据式(3)、(4)可得:

                             (5)

对句子S进行全切分法进行分词,根据式(5)计算每一种分词结果的概率,选择最优结果,即求出概率P(S)的极大值,这一过程可表示为:

                                (6)

在实际计算中,为防止机器误将很小的概率值当做零来处理,通常采用负对数处理的方式将问题转化为求极小值问题,具体公式表示为:

                        (7)

1.3 基于字符串匹配的分词方法和基于统计的分词方法对比

字符串匹配方法算法简单,易于理解和实现,并且切分速度较快,成为分词方法中最流行的。因为字典匹配的方法不考虑具体的语言环境和定义,最大的缺点就是不能处理多词冲突和新词情况,严重依赖于词表。单纯采用字符串匹配的方法不能满足中文信息处理对分词结果准确度的要求。

基于统计的方法能够较好的切分歧义和识别新词,目前受到了研究者越来越多的重视。不受待处理文本的领域限制,不需要特定的词典,能够有效的自动排出歧义,较好的识别未登录词。缺点是需要大量的训练文本用于建立统计模型的参数,方法的计算量较大,对于常用词的识别精度差,且分词精度和训练文本的选择有关,会存在一些共现频度高但是并不是词的常用字组。


0 0