专利名称:基于改进最大匹配算法的交叉型伪歧义识别方法
基于改进最大匹配算法的交叉型伪歧义识别方法本发明涉及汉语自动分词算法技术,尤其涉及一种基于改进最大匹配算法的交叉型伪歧义识别方法。人工智能(Artificial Intelligence,Al)已经不再是鲜为人知的名词,从初步提出到现在,经过五十多年的研究发展,已经在机械制造、信息控制、航空航天以及仿生学等各学科领域得到广泛的应用。自然语言理解(Natural Language Processing,NLP)即是人工智能的一项重要分支,也是实现人工智能技术其他分支领域的重要基础,如专家系统的知识学习、控制领域的语音控制、搜索引擎的智能搜索等等,都以NLP为分析基础,因此NLP是一项在人工智能领域具有重大研究意义的技术课题。根据自然语言的类别不同,自然语言理解分为多个研究方向,其中最主要的包括英语自然语言理解与汉语自然语言理解,英语自然语言理解相对于汉语自然语言理解要容易的多,因为英文语句本身就是由具有完整语义的最小单元(即英语单词)组成,而汉语语句是由连续的汉字组成,单个汉字并不具有表达完整语义的能力,汉语中具有完整语义的最小单元是词条,因此,在汉语语句的语义理解之前,需要将由连续汉字组成的汉语语句切分成词条的集合,以作为汉语自然语言理解的数据基础,这一过程称为汉语分词。汉语分词是汉语自然语言理解的基础步骤,也是关键一步。汉语分词过程中的主要难点之一就是歧义识别。所谓歧义识别,是指在汉语分词过程中检测出输入汉语语句中存在的所有歧义并加以消解的过程,包括歧义检测和歧义消解两项关键技术。歧义检测是在输入语句中定位歧义,如果该语句中存在歧义;歧义消解则是对已定位的歧义进行消解,并输出消解结果,即歧义的正确切分路径。由于汉语语言的灵活性,歧义也具有多样性,不同类别的歧义,需要采用不同的方法进行歧义检测和消解。根据歧义本身是否是词条,可将歧义分为组合型歧义和交叉型歧义两类,组合型歧义是指歧义本身就是一个汉语词条,如“懂高科技的人才能解决这个问题”,“人才”是分词歧义,即可分为“人”和“才”两个词条,也可看成“人才” 一个词条,歧义本身是一个词条,因此“人才”是组合型歧义;交叉型歧义可理解为歧义本身不是一个词条的歧义,如上例“该厂的技术和服务都是一流”,分词歧义“和服务”不是一个词条,故属于交叉型歧义。根据歧义正确分词方式的数目,可将其分为真歧义和伪歧义两类,真歧义是指歧义可能具有两种或两种以上正确切分方式的歧义,如歧义“中国家居”,在语句“发展中国家居事业”中切分为“中国”和“家居”两个词条,而在语句“发展中国家居世界中等水平”中应分为“中”、“国家”和“居”三个词条;伪歧义是指在任何语境下都只有一种正确切分方式的歧义,如歧义“案发现场”,在任何语境下都会切分为“案发”和“现场”两个词条,而不会切分成“案”、“发现”和“场”三个词。显然,组合型歧义全部属于真歧义。
根据大规模流通语料库的统计显示,交叉型歧义占所有歧义中得90%以上,而在所有交集型歧义中,交叉型伪歧义(下文简称伪歧义)占一半以上的比例。因此,伪歧义是最常见的汉语分词歧义。现有技术一的技术方案基于记忆的伪歧义识别方法在伪歧义识别中应用较广,该方法主要利用伪歧义具有唯一正确切分路径的性质,通过对大规模语料库的统计,得到所有交叉型歧义,然后过滤交叉型真歧义,得到伪歧义集合,最后将所有伪歧义收录于伪歧义词表,在汉语分词时通过伪歧义词表查找匹配汉语语句以实现歧义检测,对检测出的伪歧义直接通过查询伪歧义词表获取消解方案。该方法识别准确率高,而且原理简单,操作容易,但是歧义检测和歧义消解都完全依赖于伪歧义词表,受伪歧义词表规模影响很大,故而召回率不高。该技术方案简要执行流程图如图3所示。现有技术一的缺点1,统计语料库无法包含所有的交叉伪歧义,因此伪歧义词表不可能收录所有的伪歧义,故而该技术在歧义检测时无法保证检测出所有的伪歧义,最终造成伪歧义的检测遗漏,并导致伪歧义的识别召回率较低;2,某种交叉型真歧义在统计语料库中可能只出现一种切分路径,从而容易误被处理为伪歧义而收录于伪歧义词表,最后造成歧义的识别错误,这是限制该方案准确率上升的根本原因,而且也很难做到完全消除;3,歧义的识别方式较机械化,完全不能识别未被伪歧义词表收录的伪歧义,识别召回率受伪歧义词表的规模影响很大,因此需要不断更新和维护伪歧义词表,以收录更多的伪歧义,扩大伪歧义词表的规模,以尽可能提高伪歧义识别的召回率。现有技术二的技术方案基于词法分析的歧义识别可以说是目前使用最普遍的歧义识别方法,但基本只针对伪歧义的识别,下文讨论的基于词法分析的歧义识别皆为伪歧义的识别。该方法首先通过伪歧义词表查找匹配、歧义标记[I]等方法或其他交叉型歧义检测算法[2]检测出汉语语句中的歧义,再利用构词法与统计数据相结合的基本思想对歧义建立数学模型,并计算歧义各条切分路径的选择可能性,最后将选择可能性最大的切分路径作为歧义消解结果。该方案不必依赖于伪歧义词表,只是采用汉字、词语等相关信息的统计数据,如汉字互信息、词语出现频率等,因此歧义识别的灵活性大,对于所有歧义都有一定的识别能力。图4显示了现有技术二简要执行流程,目前现有技术二的歧义检测技术主要采用伪歧义词表匹配方法、伪歧义标记法或其他的交叉型歧义检测算法,数学模型(即选择可能性计算模型)是现有技术二的核心,数学模型的好坏直接影响整个方案的识别效果,孙茂松等通过相邻字互信息和t_测试差建模,用以描述相邻字成词的可能性,王思力等在孙茂松等的基础上,提出双字耦合度的概念,并结合t_测试差建模,用于伪歧义的识别。现有技术二的缺点很多相关学者都根据各自不同的数学模型,给出了自己的基于词法分析的伪歧义识别技术具体实现方案,但都具有以下一项或几项不足。I、伪歧义检测遗漏。采用伪歧义词表查找匹配或者歧义标记方式用于伪歧义发现,都不能保证伪歧义的100%检测,因此限制了伪歧义识别召回率的提高。2、歧义真伪性无法判断。目前部分交叉型歧义检测算法虽然能检测出所有的交叉型歧义,但是并不具有交叉型歧义的真伪性辨别能力,由于现有技术二仅对伪歧义有效,同时又没有对歧义的真伪加以判断,从而可能造成真歧义的错误识别,导致识别准确率不高。3、数学模型考虑不全面。数学模型,即歧义切分路径的选择可能性计算模型,是现有技术二的核心,目前很多现有技术二的具体技术方案都存在数学模型的考虑不全面或参数设置不适当等问题,使得对伪歧义识别的准确率和召回率都不能令人满意。 本发明要解决的技术问题是提供一种基于改进最大匹配算法的交叉型伪歧义识别方法。该方法保证交叉型歧义100%检测,伪歧义消解能力强,算法执行速度快,所需开销小,而且所需数据简单。为了解决上述技术问题,本发明采用的技术方案是,一种基于改进最大匹配算法的交叉型伪歧义识别方法,包括步骤如下(I)输入汉语语句,通过改进最大匹配算法检测语句中存在的交叉歧义,并放入交叉型歧义集合,若集合为空,表示输入语句中无交叉型歧义,不进行任何处理,直接返回,否贝U,遍历集合中的所有歧义,进入第(2)步骤处理;(2)采用基于深度优先搜索的递归方法,对歧义进行路径全切分,得到所有路径的集合,遍历路径集合,对每条路径做第(3)步骤处理;(3)根据给定的选择可能性计算数学模型,对歧义切分路径进行建模,计算并记录相应路径的选择可能性数值,计算歧义的路径集合中最大的两个选择可能性数值的差值,若在某一给定阈值内,则认定该歧义为真歧义,停止消解,并递交给真歧义消解模块处理,否则,判断该歧义为伪歧义,并将选择可能性数值最大的路径作为该歧义的消解结果。本发明的有益效果是I、本发明技术方案在交叉型歧义检测过程中,可以在不使用任何歧义词表,也不需要任何歧义用字相关信息统计的情况下,保证交叉型歧义的100%检测,避免了因交叉型歧义的检测遗漏造成的识别召回率较低等问题,而且检测算法复杂度仅为O(N),算法所需开销小、检测速度快;2、本发明技术方案的路径选择可能性计算模型不仅所需数据简单且容易获取,同时计算模型的考察也较全面,既考虑到歧义路径的最小词频、相对最大词频间距和词频波动均方差,也适当结合了长词优先的原则,具有较强的伪歧义消解能力;3、本发明技术方案具有较强的交叉型歧义真伪辨别能力,能避免目前大多数基于词法分析的交叉型歧义识别技术因交叉型歧义的真伪误分而造成的识别错误,从而有效提高歧义的识别准确率。下面结合附图
和具体实施方式
对本发明作进一步详细的说明。图I是本发明实施例的整体执行流程简图。图2是本发明实施例基于改进最大匹配算法的交叉型歧义检测算法流程图。图3是现有技术一的简要执行流程。图4是现有技术二的简要执行流程。[具体实施方式
] 本实施例主要包含三个核心部分交叉型歧义检测、交叉型歧义真伪性判断和伪歧义消解。交叉型歧义检测是检测出给定汉语语句中的所有交叉型歧义,并放入交叉型歧义集合,该部分通过改进最大匹配算法实现;交叉型歧义真伪性判断是从交叉型歧义集合中辨别并剔除所有的真歧义,因为本技术方案无法对真歧义进行消解,因此需要将真歧义从交叉型歧义集合中剔除,并提交给真歧义消解模块进行处理(真歧义消解已超出本发明技术方案范围,故不做介绍);伪歧义消解则是对剔除真歧义后的交叉型歧义集合中的逐个歧义进行消解,消解过程包括歧义路径全切分、各切分路经选择可能性计算和正确切分路径的选择三步,其中,选择可能性的计算模型又是伪歧义消解的核心。需要特别指出的是,交叉歧义的真伪性判断与伪歧义消解并不是顺序执行,而是同步执行的,即在歧义的消解过程中判断其真伪性,若为伪歧义,则继续消解,并返回消解结果,若为真歧义,则递交给真歧义消解部分处理。如图I所示,整个技术方案的执行流程包括如下3个步骤(I)输入汉语语句,通过改进最大匹配算法检测语句中存在的交叉歧义,并放入交叉型歧义集合,若集合为空,表示输入语句中无交叉型歧义,不进行任何处理,直接返回,否贝U,遍历集合中的所有歧义,进入第(2)步骤处理;(2)采用基于深度优先搜索的递归方法,对歧义进行路径全切分,得到所有路径的集合,遍历路径集合,对每条路径做第(3)步骤处理;(3)根据给定的选择可能性计算数学模型,对歧义切分路径进行建模,计算并记录相应路径的选择可能性数值,计算歧义的路径集合中最大的两个选择可能性数值的差值,若在某一给定阈值内,则认定该歧义为真歧义,停止消解,并递交给真歧义消解模块处理,否则,判断该歧义为伪歧义,并将选择可能性数值最大的路径作为该歧义的消解结果。在上述步骤中,具体的做法如下一、交叉型歧义检测交叉型歧义检测是为了检测出给定输入汉语语句中存在的所有交叉型歧义。本项技术方案采用改进最大匹配算法实现交叉型歧义的检测,本套改进最大匹配算法不需借助任何的歧义词表,也不需要做任何歧义相关信息的统计,即可实现交叉型歧义的100%检测,而且算法复杂度为Q(N),所需开销小、执行速度快,但本套算法本身不具有交叉型歧义的真伪辨别能力,因此会检测出所有的交叉型歧义,包括真歧义和伪歧义。之所以称之为改进最大匹配算法,是由于本套算法从最大匹配算法演变而来,沿用了最大匹配算法的长词优先基本思想,只是本算法将汉语词条的定义扩展为广义词条。称一个连续汉字串为广义词条,它必须满足以下两个条件之一I、该连续字串本身是常规词条,即词典中收录的词条;2、该连续字串是交叉型歧义,如“中国人民”,“结合成”都是广义词条。图2为基于改进最大匹配算法的交叉型歧义检测算法执行流程图。本套改进最大匹配算法的详细执行流程如下I、给定输入汉字语句S,记S包含的汉字个数为N,S中第i个汉字为Wi, L(X)表示词典中收录的以字X开头的最长词语所包含的汉字数,Index表示当前指向S中文字的位置,并使Index初始化为1,即指向第I个文字,设包含S中Index位置上汉字的广义最长词条在S中的开始位置和结束位置分别为SI和EI,且SI和EI分别初始化为I和2,设定歧义集合A来保存所有已检测出的歧义,A初始化为空集合;2、判断Index是否大于N,若是,则执行第5步,否则判断Index是否小于EI,若不是执行第4步,否则获取S中第Index个汉字Wlndex,若L (Wlndex)+Index > N+1,则令L(Wlndex)=N+1-Index 3、获取S中Index位置和Index+L (Wlndex)位置之间(包括第Index个汉字,不包括第Index+L (Wlndex)个汉字)的汉字串,若该汉字串不是已收录的汉语词条且Index+L (Wlndex)> EI,则L (Wlndex)-,继续执行第3步,否则,使EI = Index+L (Wlndex),Index++,继续执行第
O I K
2少;4、提取语句S中位置SI和位置EI之间(包括第SI个汉字,但不包括第EI个汉字)的汉字串,使SI = Index, EI = Index+1,若该汉字串不是词典中收录的词语,则该汉字串为交叉型歧义,放入集合A,然后执行第2步,否则,该汉字串不是交叉型歧义,直接执行第2步;改进最大匹配算法执行完毕,提交交叉型歧义集合A,若A为空,则表示输入语句中无交叉型歧义。二、选择可能性计算模型选择可能性计算模型用以刻画歧义某条切分路径作为切分结果的可能性,本技术方案的选择可能性计算模型综合考虑了歧义切分路径的最小词频、相对最大词频间距、词频波动均方差和长词优先原则四个方面。设歧义S,其某条切分路径为W = {WJ,i = 1,2,. . N,Wi表示切分路径的第i个词条,N表示切分路径的词条个数,即路径长度。记P(Wi)表示该路径第i个词条的词频,P(Wi)表示P (Wi)对应的相对词频,且有
权利要求
1.一种基于改进最大匹配算法的交叉型伪歧义识别方法,其特征在于,包括步骤如下 (1)输入汉语语句,通过改进最大匹配算法检测语句中存在的交叉歧义,并放入交叉型歧义集合,若集合为空,表示输入语句中无交叉型歧义,不进行任何处理,直接返回;否则,遍历集合中的所有歧义,进入第(2)步骤处理; (2)采用基于深度优先搜索的递归方法,对歧义进行路径全切分,得到所有路径的集合,遍历路径集合,对每条路径做第(3)步骤处理; (3)根据给定的选择可能性计算数学模型,对歧义切分路径进行建模,计算并记录相应路径的选择可能性数值,计算歧义的路径集合中最大的两个选择可能性数值的差值,若在某一给定阈值内,则认定该歧义为真歧义,停止消解,并递交给真歧义消解模块处理,否则,判断该歧义为伪歧义,并将选择可能性数值最大的路径作为该歧义的消解结果。
全文摘要
本发明公开了一种基于改进最大匹配算法的交叉型伪歧义识别方法。包括交叉型歧义检测、交叉型歧义真伪性的判断和伪歧义消解三部分核心功能。交叉型歧义检测算法不仅可以保证交叉型歧义的100%检测,而且所需开销小、执行速度快,算法复杂度低,仅为O(N),同时,还不需要借助任何歧义词表或相关统计数据,简单有效;伪歧义消解方法不仅对伪歧义具有较高的识别能力,还可以辨别交叉型歧义的真伪性,避免对真歧义的误识别,而且所需数据简单,容易获得,还可以辨别交叉型歧义的真伪性,避免对真歧义的误识别。
文档编号G06F17/27GK102622339SQ20121005015
公开日2012年8月1日 申请日期2012年2月24日 优先权日2012年2月24日
发明者周俊, 张炜, 郑中华 申请人:安徽博约信息科技有限责任公司