首页 理论教育 文本分词方法及应用N-gram局部分析

文本分词方法及应用N-gram局部分析

时间:2023-08-08 理论教育 版权反馈
【摘要】:文本分词就是把一段中文文本切割为一个个单独的单词。中文分词的难点在于中文字词之间并没有明显的间隔或划分,另外,汉语文化博大精深,大大增加了中文分词的难度。目前中文分词的算法有很多,基本上可分为三类:基于词典的算法、基于统计的算法和基于理解的算法。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。利用这一特点,我们还可以应用N-gram对文本进行局部分析,以查出文本中的局部错误。

文本分词方法及应用N-gram局部分析

文本分词就是把一段中文文本切割为一个个单独的单词。中文分词的难点在于中文字词之间并没有明显的间隔或划分,另外,汉语文化博大精深,大大增加了中文分词的难度。目前中文分词的算法有很多,基本上可分为三类:基于词典的算法、基于统计的算法和基于理解的算法。

1)基于词典的算法

这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(即识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:

(1)正向最大匹配法(从左到右的方向)

该方法的基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找词典。若词典中存在这样一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理……如此重复,直到匹配成功,即切分出一个词,或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字词进行匹配处理,直到文档被扫描完为止。

(2)逆向最大匹配法(从右到左的方向)

该方法的基本原理与最大正向匹配法相同,不同的是分词切分的方向与其相反,而且使用的分词词典也不同。逆向最大匹配法从被处理文档的末端开始匹配扫描,每次取最末端的2i个字符(i字字串)作为匹配字段,若匹配失败,则去掉匹配字段最前面的一个字,继续匹配。相应地,它使用的分词词典是逆序词典,其中的每个词条都将按逆序方式存放。在实际处理时,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆序文档用正向最大匹配法处理即可。

(3)双向匹配法

将正向最大匹配法与逆向最大匹配法组合。先根据标点对文档进行粗切分,把文档分解成若干个句子,然后再对这些句子用正向最大匹配法和逆向最大匹配法进行扫描切分。如果两种分词方法得到的匹配结果相同,则认为分词正确,否则,按最小集处理。

由于汉语中偏正结构较多,若从后向前匹配,可以适当提高精确度。所以,逆向最大匹配法比正向最大匹配法的误差要小。并且,根据统计结果表明,逆向最大匹配法确实可以得到更好的结果。

2)基于统计的算法

从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此,字与字相邻共现的频率或概率能够较好地反映成词的可信度。因此,可以对语料中相邻共现的各个字的组合频度进行统计,计算它们的互现信息。定义两个字的互现信息,就是计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。常用的方法有:N元语法统计模型(N-gram model)、隐马尔可夫模型(hidden Markov model,HMM)。

(1)N-gram Model

Gram是大词汇连续语音识别中常用的一种语言模型,对中文而言,我们称之为汉语语言模型(Chinese language model,CLM)。汉语语言模型利用上下文中相邻词之间的搭配信息,在需要把连续无空格的拼音、笔画,或者代表字母或笔画的数字转换成汉字串(即句子)时,可以计算出具有最大概率的句子,从而实现到汉字之间的自动转换,无须用户手动选择,避开了许多汉字对应一个相同拼音的重码问题。该模型基于这样一种假设,第n个词的出现只与前面n-1个词相关,而与其他任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N 个词同时出现的次数得到。常用的是二元的Bi-gram和三元的Tri-gram。以此类推,N元模型就是假设当前词的出现概率只同它前面的N-1个词有关。在中文语言模型中,可以将字、词、词性或词义等作为N-gram的统计单元。(www.xing528.com)

由于N-gram模型只观察2~3个历史信息,所以它反映的是语言的局部规律,但如果训练语料足够大,模型构造合理,这个局部规律就比较可靠。利用这一特点,我们还可以应用N-gram对文本进行局部分析,以查出文本中的局部错误。它基于如下假设:对正确的语言现象,词与词之间的共现概率比较高,对一些不符合语法的错误语言,词与词之间的共现概率比较低。

这是一种全切分方法。它不依靠词典,而是将文章中任意两个字同时出现的频率进行统计,次数越高的就可能是一个词。它首先切分出与词表匹配的所有可能的词,运用统计语言模型和决策算法决定最优的切分结果。它的优点在于可以发现所有的切分歧义并且容易将新词提取出来。

(2)Hidden Markov Model

HMM模型是一种统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,HMM模型是一个双重随机过程——具有一定状态数的隐马尔可夫链和显示随机函数集。

在HMM模型中,我们不知道模型经过的状态序列,只知道状态的概率函数,即观察到的事件是状态的随机函数,因此,该模型是一个双重的随机过程。其中,模型的状态转换过程是不可观察的,即隐蔽的,可观察事件的随机过程是隐蔽的观察状态转换过程的随机函数。HMM模型可以用5个元素来描述,包括2个状态集合和3个概率矩阵

①隐含状态S:这些状态之间满足马尔可夫性质,是HMM模型中实际所隐含的状态。这些状态通常无法通过直接观测而得到(例如S1、S2、S3等)。

②可观测状态O:在模型中与隐含状态相关联,可通过直接观测而得到(例如O1、O2、O3等),可观测状态的数目不一定要和隐含状态的数目一致。

③初始状态概率矩阵π:表示隐含状态在初始时刻t=1的概率矩阵,例如t=1时,P(S1)=p1,P(S2)=p2,P(S3)=p3,则初始状态概率矩阵π=[p1 p2 p3]。

④隐含状态转移概率矩阵A:描述了HMM模型中各个状态之间的转移概率。其中Aij=P(Sj|Si),1≤i,j≤N,表示在t时刻,状态为Si的条件下,在t+1时刻状态是Sj的概率。

⑤观测状态转移概率矩阵B:令N 代表隐含状态数目,M 代表可观测状态数目,则Bij=P(Oi|Sj),1≤i≤M,1≤j≤N,表示在t时刻、隐含状态是Sj条件下,观察状态为Oi的概率。

将HMM用于中文分词中,可以采用四个隐含状态“S”“B”“M”“E”,分别表示为单字成词、词组的开头、词组的中间、词组的结尾。通过标注好的分词训练集,可以得到HMM的各个参数,然后使用维特比算法来解释测试集,得到分词结果。

3)基于理解的算法

这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。但是由于汉语语言知识的笼统性和复杂性,难以将各种语言信息组织成机器可以直接读取的形式,因此目前这种分词方法还处于试验的阶段。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈