一种音字转换方法

文档序号:6483980阅读:491来源:国知局

专利名称::一种音字转换方法
技术领域
:本发明涉及汉字输入,具体来说,本发明涉及一种从拼音串到汉字串转化的方法,主要用在中文拼音输入法内部解码和语音识别的后处理阶段。属于中文信息处理
技术领域

背景技术
:音字转换是指由计算机自动地将汉语音节串(拼音串)转换为汉字串的转换。音字转换技术是中文信息处理中的一个重要的基础,有着很广泛的应用。比如中文拼音键盘输入法,语音识别系统都会用到。汉字输入是中文信息处理的基础,而音字转换是中文输入的核心算法,音字转换的准确率直接影响着中文输入的性能。语音输入是未来计算机信息输入发展的方向。语音识别系统可以分为两个阶段语音识别阶段和音字转换阶段(语音理解阶段)。语音识别阶段目前已经达到了可用的程度,怎样才能使音节串(拼音串)更加准确的转化为汉字串,就是音字转换阶段的工作。音字转换的难点就在于一字多音,一音多字现象的存在。据统计,汉语音节只有400个左右,而GB2312编码的汉字就有6763个,GB18030收录的汉字则有27,484个。对于GB2312平均每个音节对应着17个汉字,而对GB18030则对应着69个汉字!又加上分布的不均匀,有的音节对应着汉字个数高达数百个,据我们统计,在400多个无调拼音中yi对应着496个汉字,yu对应着348个汉字,zhi对应着308个汉字。重码率如此之高,就是音字转换的一大困难。拼音流的切分就是把一串无分隔符的拼音串切分成单个音节或者是对应词的拼音串。女口"wojintianhengaoxing"(我今天很高兴)的切分结果是"wo,jintian'hen,gaoxing"。现在一般的拼音流切分算法有1.全切分算法考虑拼音串中所有可能的切分结果。2.正向最大匹配(FMM):按照正向最长的可能音节作为最后的切分音节。3.反向最大匹配(BMM):按照反向最长的可能音节作为最后的切分音节。4.正反双向最大匹配正向最大匹配和反向最大匹配同时考虑。5.最少分词算法切分出的音节数最少为此算法的切分标准。其中,尽管第一种全切分算法能找到所有的切分,但是全切分算法是个NP问题,信息的处理量过大,并不实用。而其它的算法都是局部最优的,存在切分盲点。拼音串的自动分词不仅具有汉语文本自动分词的所有问题,而且歧义现象更加严重。拼音代码串之间的错误组词的概率远大于汉字间组词的概率。除此之外,已有拼音流的切分算法还存在很多问题。比如不在字典中的词(OOV)和专有名词(人名,地名,组织机构名等)的切分上。但是经发现,除了OOV和专有名词识别问题外,还存在很多拼音流切分歧义的问题。如下表所示拼音串可能的切分woquhuanlewo'qu'huan,le(我去还了)wo,qu,hu,an,le(我去湖岸了)yigeminga誇entiyi,ge,ming,an'wen,ti(一个命案问题)yi'ge'min'gan'wen'ti(一个敏感问题)在本发明中,我们将拼音流的切分歧义分为两类I型切分歧义,即"交叉歧义",表示拼音流存在两种以上的切分方法的情形,例如mingan可以是ming'an(命案),也可以是min'gan(敏感);II型切分歧义,即"覆盖歧义",表示拼音流中的单个音节可以继续切分的情形,例如dianmen可以是di,an'men(地安门),也可以是dian,men(店门)。拼音流存在音节切分歧义主要由以下几种情况引起1.某些声母既可以做音节的结尾,又可以做音节的开头,特别是像g、r、n此类声母。除此以外,一些韵母也可单独构成一个音节(也称作"零声母"现象),这样就更容易造成歧义。如mingan,可以是ming,an(命案),也可以是min,gan(敏感)。特别是像a/ai/an/ang/ao/e/ei/en/eng/ou等容易与g、n构成歧义;对于声母r来说主要是由er引起的,如可以是er,an(二胺),也可以是e'ran(愕然)。据统计,此类歧义最多。2.某些含两个韵母的音节可以拆分为两个音节。如"huan"可以是hiian(换,还,缓),也可以是hu'an(湖岸);还有xian等类似的歧义组合有100多种。.—些韵母可以拆分成两个独立音节。如ao,可以拆分成a和o,而字母a又可能和前面的声母结合成另外一个音节,则几乎含有ao韵母的音节都可以拆分。4.上面提到的多个歧义切分相邻,造成更复杂的组合歧义。如句子"西安刚..."对应拼音xi肌gang…,如果用最长匹配方法切分音节,得到的结果是xiang,ang…,而正确切分是xi,an,gang…,可见没有一个音节和正确切分匹配。而且,该串还存在着xian,gang...、xian,gan'g...、xiang'an,g…、xi,ang'ang…、xi,ang,ang...等七禾中不同切分方式。语言模型是针对自然语言所建立的数学模型,它主要描述自然语言在统计和结构方面的内在规律。语言模型的研究主要包括两大分类一类是基于语言学知识的规则文法,另一类是基于统计的语言模型。研究发现,单纯依靠规则的语言模型几乎不可能完成对大规模真实文本的处理,只能处理受限文本。目前,以语料库为基础的统计语言建模方法成为潮流,它通过对语料库进行深层加工、统计和学习,获取大规模真实语料中的语言知识。而现在最常用的语言模型就是基于N-gmm的统计语言模型。如果用S表示一个句子中的n个词,即S-w"巧…'w",统计语言模型的任务就是给出该词序列在文中出现的概率大小P(S)。根据条件概率公式P(S)-P(w,)P(w2IWl)...IW|w2…,w,,—,)直观的看,可以利用前面所有的词来预测后面的词,但是这样涉及到的计算量会很大。如果假定在一个语句中第i个词出现的概率条件地依赖于它前面的N-l个词,即将一个词的上下文定义为该词前面出现的N-1个词,这样的语言模型就叫做N元文法统计语言模型(N-gram),表示如下=)P(w21)...尸O,iw,—+2...wM)...-nl=1.尸<—肝"j,_,)通常取n为2或者n为3,分别称之为2元模型(bi-gram)或者3元模型(tri-gram),在3元模型里面,就是用前2个词来预测第三个词,艮P:=(w2Iw!)户(w3I甲2)...P(wIH)一般n越大,模型越精确,但所用参数和所需要的训练集也越大。假设语料库词汇量大小是1000,下表给出了不同的n元模型的参数形式以及所用的参数数目。参数个数N-gram模它包含了前提供的全部信0<table>tableseeoriginaldocumentpage7</column></row><table>型的优点在于N-l个词所能息,这些信息对于当前词的出现具有很强的约束力。它的缺点在于需要相当规模的训练文本来确定模型的参数。当N较大时,模型的参数空间过大。
发明内容本发明的目的在于提供一种在音字转换时更加准确的解码方法,既照顾到所有切分歧义又不至于浪费太多存储空间。传统的基于统计语言模型的音字转换技术通过对大规模已知的语料的统计,利用字(词)的上下文信息,来预测未来的拼音串对应的可能汉字串。常用的音字转换模型(也是公认切实可行的)是基于统计语言模型的字词混合网格的分层模型。其分层结构框架如图l所示。和传统的分层模型(图1)相比,本发明在拼音流切分层和语言模型层之间增加了一个歧义处理模块(图2),该模块的主要作用就是判定连续的两个或单个音节是否含有I型或者II型切分歧义。其工作过程是这样的系统接收到一个未切分的拼音串,首先利用音节树和一定的规则(如正向最大切分)进行音节切分,然后利用词树层进行拼音音节到汉字词语的转化,与此同时,调用歧义处理模块对切分过的音节进行歧义判别,并将判别结果传递给拼音流切分层,若存在i型或者n型切分歧义则进行重新切分,否则就处理下一个音节。整个过程都是靠已经训练好的语言模型(比如N-gram语言模型)对音节的备选字词进行概率得分排序,最终产生字词混合网格。最后在通用解码层根据得分的高低进行回溯,得到最优的汉字解码序列。具体来说,本发明方法具体可通过下列歩骤实现a)输入拼音串,通过设定的拼音串切分方法将所述拼音串切分成音节组合;按照所述音节组合中的音节先后顺序,对每一个音节i重复下列步骤b-e:b)令j=WORD_MAX—LEN,所述WORD_MAX_LEN表示音节字串的最大长度;C)根据设定的字词检索方法,由音节(i-j+l)到音节i组成的长度为j的音节子串获得其对应的词,并由这些词组成集合Wij;当』=2时,判断音节组合[(i-l)+i]是否为I型歧义,若是,则重新切分该音节组合,并将检索结果并入W,2;和/或,当』=1时,判断音节组合i是否为I型歧义,若是,则重新切分该音节,并将检索结果并入WU;若Wy非空则转步骤d,否则转步骤e;d)对于音节(i-j)的候选词集W'(i-i)中的每个元素,由其对应的路径一一扩展Wi」中的每一个元素,并利用N-gram语言模型计算扩展后的路径的概率得分,并根据得分的高低顺序更新音节i的候选词集W',,W',的元素个数不超过BEAM—WIDTH个;e)令j叫-l,若j^l则转步骤c,否则处理下一音节;f)根据最后一个音节的候选词集中得分最高的元素所在的路径输出文字串。优选地,歩骤d所述N-gram语言模型是二元模型或三元模型。优选地,WORD—MAX—LEN是1-11的自然数,更优选为7-8的自然数。优选地,BEAM—WIDTH是3-10的自然数,更优选为4-6的自然数,最优选为4。和现有技术相比,本发明方法在产生字词混合网格时,融合了基于音节的音节切分和基于码元的音节切分,既照顾到了所有可能的切分,解决了大部分切分歧义问题,又保证了一定的效率,不至于产生基于码元切分的组合式爆炸,节省了内存存储空间,减小了对存储空间的限制。图l:传统的音字转换分层结构示意图2:本发明音字转换分层结构示意图3:按照现有技术方法的音字转换结果示意图4:按照本发明方法的音字转换结果示意图。具体实施例方式下面通过具体实施例结合附图对本发明作更详细的说明。8实施例l本实施例说明按照现有技术方法将拼音串"yigemingantian"转化为文字串的过程,如图3所示。在本实施例中,拼音串切分方法是正向最大匹配法,字词检索方法通过词典树实现,语言模型采用三元N-gram语言模型(即N取3),WORD_MAX—LEN是3(即,最多考虑三音节),BEAM—WIDTH是4(即,音节的候选词集包括4个元素,对应于图3每列中的四个矩形框)。具体过程描述如下1.输入拼音串"yigemingantian",并将其切分成"yi"+"ge,,+"ming"+"an"+"tian"的五音节音节组合,对于单个音节,以下以Y表示,例如,Y产"yi";2.令1=1'a)当〗=3时,由于不存在Y-i+Yo+Y!,因此W!3为空集;b)当1=2时,由于不存在Yo+Y,,因此W^为空集;C)当1=1时,检索Y!,得到W!尸(以,已,一,异,乙,...},进行概率计分,假设得分高低顺序为"起点-以">"起点-已"〉"起点-一"〉"起点-异">...,则W,l-(以,已,一,异};3.令i:2,a)当〗=3时,由于不存在Yo+Y!+Y2,因此23为空集;b)当^2时,检索Y,+Y2,得到Wi2^—个,一格},假设"起点-一个">"起点-一格",则\¥'2={—个,一格};c)当」=1时,检索Y2,得到\\^={个,各,歌,哥,...},假设和歩骤b的得分高低相结合后的顺序为"起点-一个"〉"起点-一格">"起点-一-个">"起点-一-哥">,则W'2更新为(一个,一格,个,哥};4.令i二3,a)当〗=3时,检索Y汁Y2+Y3,未得到结果,则W33为空集;b)当〗=2时,检索Y2+Y3,得到\^2={歌名,革命},假设"起点-一-歌名"〉"起点-一-革命"〉"起点-以-革命">"起点-以-歌名"〉...,贝UW'3-(歌名,革命,革命,歌名};C)当j:l时,检索Y3,得到W3产(名,命,明,鸣,...},假设"起点-一-歌名">"起点-一-革命">"起点-一个-名">"一-个-名"〉...,贝'jW'3更新为(歌名,革命,名,名};5.令i:4,a)当j^3时,检索Y2+Y3+Y4,未得到结果,则W43为空集;b)当,2时,检索Y3+Y4,得到W42^命案,明暗},假设"起点-一个-命案">"起点-一个-明暗">"一-个-命案"〉"一-个-明暗">...,贝UW'4^命案,明暗,命案,明暗};c)当j-l时,检索Y4,得到Wf(按,胺,铵,...},假设"起点-一个-命案"〉"起点-一个-明暗">"一个-名-按">"一个-名-案">...,则W'4更新为(命案,明暗,按,案};6.令i:5,a)当j4时,检索Y3+Y4+Y5,未得到结果,则Ws3为空集;b)当j-2时,检索Y4+Ys,未得到结果,则W52为空集;c)当j4时,检索Ys,得到W5产《天,田,添,...},假设"一个-命案-天">"一个-明暗-天"〉"名-按-天"〉"名-按-填">...,则W'产《天,天,天,填};7.以W、中得分最大的元素"天"所在的路径"一个命案天"(省略无意义的路径起点)作为文字串输出。实施例2本实施例说明按照本方法方法将拼音串"yigemingantian"转化为文字串的过程,如图4所示。其具体步骤和实施例1相同,区别在于对于各个音节,当]=2时,检査Yw+Yi是否属于I型歧义,当j-l时,检查Y,是否属于II型歧义。具体就本实施例而言,在歩骤5.b中,检出Y3+Y4,艮卩"mingan"属于I型歧义,因此将获得的词语"敏感"并入W42,则Wd命案,明暗,敏感},假设在歩骤5.c中最终的得分排序为"起点-一个-敏感">"起点-一个-命案"〉"起点-一个-明暗">"一个-名-按"〉"一个-名-案"〉...,则本实施例中的W'4^敏感,命案,明暗,按};另外,在歩骤6.c中检出Y5,即"tian"属于II型歧义,因此将获得的词语"提案"并入W51,则Ws尸(天,田,添,...,提案},假设在歩骤6.c中最终的得分排序为"一个-敏感-提案"〉"一个_命案-提案">"一个-敏感-天"〉"一个-命案-天"〉...,则W,d提案,提案,天,天};最终在歩骤7中输出的文字串为"一个敏感提案"。可见,本实施例方法较好地考虑了音节子串或者音节存在歧义的情况,可以更好地将音节串转化为正确的文字串,同时兼顾了效率,不至于产生组合式爆炸,节省了内存存储空间,减小了对存储空间的限制。值得说明的是,上述实施例仅用于解释本发明方法,其中各个字词的概率得分高低顺序并不一定是真实情况。权利要求1.一种音字转换方法,包括切分输入的拼音串,利用词树层将音节转化成汉字;利用训练好的语言模型对音节的备选字词进行概率得分排序,得到字词混合网格;在通用解码层根据得分高低得到文字串;其特征在于,还包括利用词树层将音节转化成汉字的同时调用歧义处理模块对切分后的音节进行歧义判定,若存在歧义,则重新切分;所述歧义包括I型歧义和/或II型歧义,所述I型歧义表示两个音节组成的音节组合存在两种以上的切分方法的情形;所述II型歧义表示音节可以继续切分的情形。2.如权利要求1所述的音字转换方法,其特征在于,通过下列方法切分输入的拼音串正向最大匹配法、反向最大匹配法、正反双向最大匹配法或最少分词法。3.如权利要求1所述的音字转换方法,其特征在于,所述语言模型是N-gram语言模型。4.如权利要求1-3任意一项所述的音字转换方法,其特征在于,包括下列步骤a)输入拼音串,通过设定的拼音串切分方法将所述拼音串切分成音节组合;按照所述音节组合中的音节先后顺序,对每一个音节i重复下列步骤b-e:b)令j二WORD—MAX_LEN,所述WORD_MAX—LEN表示音节字串的最大长度;c)根据设定的字词检索方法,由音节(i-j+l)到音节i组成的长度为j的音节子串获得其对应的词,并由这些词组成集合Wy;当」'=2时,判断音节组合[(i-l)+i]是否为I型歧义,若是,则重新切分该音节组合,并将检索结果并入Wi2;和/或,当j^时,判断音节组合i是否为I型歧义,若是,则重新切分该音节,并将检索结果并入Wu;若Wj」非空则转歩骤d,否则转步骤e;d)对于音节(i-j)的候选词集W'(w中的每个元素,由其对应的路径一一扩展w,中的每一个元素,并利用N-gram语言模型计算扩展后的路径的概率得分,并根据得分的高低顺序更新音节i的候选词集WVW、的元素个数不超过BEAM—WIDTH个;e)令j,-l,若j^l则转步骤c,否则处理下一音节;f)根据最后一个音节的候选词集中得分最高的元素所在的路径输出文字串。5.如权利要求4所述的音字转换方法,其特征在于,步骤d所述N-gram语言模型是二元模型或三元模型。6.如权利要求4所述的音字转换方法,其特征在于,WORD—MAX一LEN是1-11的自然数。7.如权利要求6所述的音字转换方法,其特征在于,WORD—MAX—LEN是7-8的自然数。8.如权利要求7所述的音字转换方法,其特征在于,BEAM一WIDTH是3-IO的自然数。9.如权利要求4所述的音字转换方法,其特征在于,BEAM一WIDTH是4-6的自然数。10.如权利要求9所述的音字转换方法,其特征在于,BEAM—WIDTH是4。全文摘要本发明公开了一种音字转换方法,属于中文信息处理
技术领域
。本发明方法包括切分输入的拼音串,利用词树层将音节转化成汉字,同时调用歧义处理模块对切分后的音节进行歧义判定,若存在歧义,则重新切分;所述歧义包括I型歧义和/或II型歧义;利用训练好的语言模型对音节的备选字词进行概率得分排序,得到字词混合网格;在通用解码层根据得分高低得到文字串。和现有技术相比,本发明方法既照顾到了所有可能的切分,解决了大部分切分歧义问题,又保证了一定的效率,不至于产生基于码元切分的组合式爆炸,节省了内存存储空间,减小了对存储空间的限制。本发明可用于中文信息处理,包括汉字输入,语音输入等。文档编号G06F17/28GK101493812SQ200910079270公开日2009年7月29日申请日期2009年3月6日优先权日2009年3月6日发明者乐孙,张顺昌,李文波申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1