分析转换过程中动态路径选择方法

文档序号:6409409阅读:156来源:国知局
专利名称:分析转换过程中动态路径选择方法
技术领域
本发明涉及分析转换过程中动态路径选择方法,属于G06F15/38类计算机科学技术领域。
在自然语言理解和机器翻译系统中,传统型分析转换系统是程序和数据紧密相关的,或是采用最长路径或最短的路径方法实现的,因此不能根据类启发式搜索信息实现有效的路径选择,其分析转换速度不高,在分析转换中自左向右(自右向左)最长或最短路径组合匹配中,存在许多无效路径及信息爆炸等问题。
本发明的目的是提出一种以类为启发式搜索信息的动态路径选择方法,它可简化分析转换算法和推理过程,可提高系统的整个分析转换速度。
本发明的目的是通过以下方法实现的一种使用计算机进行的分析转换过程中动态路径选择方法,其特征在于一.确定动态路径选择原则,即1)实行自右向左推理或自左向右推理;2)以类及子类结构搜索起始匹配项和项数;3)根据当前句子状态中起始匹配项和项数与规则合一,匹配成功后生成新的项(归约项),并形成新的句子状态,再从1)开始执行;4)经3)、2)、1)之后都不能使规则和当前句子状态中的项合一成功,则进行属性轮换后,再从1)开始执行;5)经所有单词的属性轮换和3)、2)、1)之后,都不能使规则和当前句子中的项合一成功,则回溯到上一个句子状态,并根据当时的状态信息,转1)开始执行;二.分析转换过程动态路径选择方法的步骤为1)初始化句子状态中栈顶地址=>StackP2)取句子状态中信息取句子末项位置StackP.XiangAddr=>EndXiangP取句子中总项数StackP.XiangS=>XiangS=>TempxiangS取句子中开始推理项位置StackP.P_si=>P_si
如果XiangS为1且项分类符为句子结束标志,则结束;3)根据P_si项类及子类取下列信息起始匹配项项址=>TempP_si匹配项数=>cls4)从起始匹配项TempP_si开始cls个项和规则合一,如果匹配成功,则执行5);否则执行6);5)生成一个新的句子状态申请一个新句子状态所需空间,地址=>TempAddr置句子末项位置TempAddr+14+(XiangS-cls)×4=>TempAddr.XiangAddr置句子总项数XiangS-cls=>TempAddr.XiangS置句子开始推理位置TempAddr+14+(XiangS-cls)×4=>TempAddr.P_si将栈顶匹配项左部的项地址继承到TempAddr相应项位置将归约项地址送到TempAddr中对应项位置将栈顶匹配右部的项地址继承到TempAddr相应项位置将新生成的句子状态压入栈顶,并转2)执行;6)若有下一个匹配项数,则取匹配项数=>cls并转4)执行;7)P_si向左指向前一项TempXiangS减1,如果不为0,则转3)执行;否则转8)执行;8)项内属性轮换,如果轮换不成功,则退栈(StackP.Next=>StackP,并转2)执行;否则转9)执行;9)P_si指向轮换成功的项位置从P_si所指项到首项的项数=>TempXiangS转3)继续执行。
本发明是在基于SC文法和规则体系之上,结合类启发式搜索信息、实现的高效动态路径选择算法,它简化了分析转换路径选择算法,防止了路径选择过程中信息组合爆炸等问题,压缩了过程信息量,提高了整句翻译速度和翻译准确率,在世界首创了袖珍英汉翻译机。
下面结合附图和实例对本发明进行详细描述。


图1为分析转换过程动态路径选择算法流程图。
本发明方案提出了在计算机中进行的基于规则体系的结合类启发式搜索信息的高效动态路径选择算法,严格地说,能广泛应用于自然语言理解和多语种、多专业的基于规则体系的分析转换过程中的路径选择。
一)概念说明1)句子状态结构句子状态结构由句子状态信息和记录项地址两部份组成。句子状态信息记录栈指针、首项(或末项)地址、句子中项总数、当前推理地址和还剩推理项项数五个状态信息,这些状态信息用于句子的推理和回溯整个过程;记录项地址是记录了当前句子中所有项的地址,在该系统中项有单词、归约项和标点三种类型,其中只有单词类型的项才能实现属性轮换。
例如单词work的结构如下work VP()″工作″NP()″著作″这样推理过程中遇到VP不能再推理时,可轮回为NP例如I buy the work.
只有当work换成NP后才能使整个句子归约成功归约项是指几个单词或项归约后产生的项,归约项只有唯一的内容,不能进行属性轮换。例如the books,当这两项归约之后产生一个项NP,只有唯一中文解释。
2)规则形式NP()—>|NP(THE),!NPVP(V201)NP()—>|VP(V201,OBJ),!VP!NPVP(V301)NP()NP()—>|VP(V301,OBJ),!VP!NP(P1)!NP(P2).
在上述规则中,符号″—>″为规则左部和右部的分隔符,规则左部为推理项,可以有一个或多个项所组成,规则右部为归约项的生成信息,其中NP、VP等为归约项的分类信息(分类符和语义信息),!VP、!NP等为继承规则左部项的中文信息。
例如I send him a book.
首先将a book归约成NP,然后执行第三条规则将send him NP归约成VP(V301),同时将生成中文″送他一本书″,VP(V301)和生成中文合在一起构成归约项。
3)类(子类)启发式信息库类(子类)启发式信息库数据结构定义如下类(子类)匹配项数超前项数例如VP(V2)20VP(V3)30VP(V3)40T( )20PROP()3-1其中超前项数n定义如下=0指该类当前项址n<0指该类当前项前移n项>0指该类当前项后移n项在类(子类)启发式信息库中对类及子类明确规定了项数和超前项数,而且每个类及子类可以有一个或多个项数和超前项数,如VP(V3)项数可以是3项也可为4项,以适应英语中灵活的句子结构组织。
例如I send him a book和I send a book to him.
二)分析转换过程动态路径选择算法说明确定分析转换过程动态路径选择原则为1)实行自右向左推理或自左向右推理;2)以类及子类结构搜索起始匹配项和项数;3)根据当前句子状态中起始匹配项和项数与规则合一,匹配成功后生成新的项(归约项),并形成新的句子状态,再从1)开始执行;4)经3)、2)、1)之后都不能使规则和当前句子状态中的项合一成功,则进行属性轮换后,再从1)开始执行;5)经所有单词的属性轮换和3)、2)、1)之后,都不能使规则和当前句子中的项合一成功,则回溯到上一个句子状态,并根据当时的状态信息,转1)开始执行。
分析转换过程动态路径选择算法的步骤为1)初始化句子状态中栈顶地址=>StackP2)取句子状态中信息取句子末项位置StackP.XiangAddr=>EndXiangP取句子中总项数StackP.XiangS=>XiangS=>TempXiangS取句子中开始推理项位置StackP.P_si=>P_si
如果XiangS为1且项分类符为句子结束标志,则结束。
3)根据P_si项类及子类取下列信息起始匹配项项址=>TempP_si匹配项数=>cls4)从起始匹配项TempP_si开始cls个项和规则合一,如果匹配成功,则执行5);否则执行6)。
5)生成一个新的句子状态申请一个新句子状态所需空间,地址=>TempAddr置句子末项位置TempAddr+14+(XiangS-cls)×4=>TempAdd r.XiangAddr置句子总项数XiangS-cls=>TempAddr.XiangS置句子开始推理位置TempAddr+14+(XiangS-cls)×4=>TempAddr.P_si将栈顶匹配项左部的项地址继承到TempAddr相应项位置将归约项地址送到TempAddr中对应项位置将栈顶匹配右部的项地址继承到TempAddr相应项位置将新生成的句子状态压入栈顶,并转2)执行。
6)若有下一个匹配项数,则取匹配项数=>cls并转4)执行。
7)P_si向左指向前一项TempXiangS减1。如果不为0,则转3)执行;否则转8)执行。
8)项内属性轮换。如果轮换不成功,则退栈(StackP.Next=>StackP,并转2)执行;否则转9)执行。
9)P_si指向轮换成功的项位置从P_si所指项到首项的项数=>TempXiangS转3)继续执行。
三)下面以两个实际例子来说明该算法的执行过程例1I send him a good book.
例2I send a good book.
每个单词对应的项为I<->NP″我″send<->VP(V301)″送″VP(V201)″送″
him<—>R()″他″a<—>T() ″一″good<—>AP() ″好″book<—>NP() ″书″规则体系AP NP—>|NP.!AP!NP.
T NP—>NP.!T!NP.
VP(V201)NP—>|VP(V201,OBJ),!VP!NP.
VP(V301)R NP>|VP(V301,OBJ),!VP!R!NP.
NP VP(OBJ)—>CS(),!NP!VP.
CS.—>S.!CS.类启发式信息库类(子类)匹配项数超前项数VP(V2) 20VP(V3) 30VP(V3) 40VP(OBJ) 2-1NP()2-1CS()20标点00以例句1生成的句子状态为NPVP(V301) RTAPNP.
1 2 34 56 7算法执行过程描述如下1)P_si指向项7,为标点符号,推理项数TempXiangS为7;根据p_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)无下一个匹配项数;执行步骤7)后,P_si指向项6,TempXiangS为6。2P_si指向项6
根据P_si,执行步骤3),取匹配项数cls为2,起始匹配项TempP_si指向项5;经步骤4),与规则AP NP匹配成功,转步骤5)生成新的句子状态NP VP(V301) RTNP.
12345 6转2)继续执行。3)P_si指向项6,为标点符号,推理项数TempXiangS为6;根据P-si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后,P_si指向项5,TempXiangS为5。4)P_si指向项5根据P_si,执行步骤3),取匹配项数cls为2,起始匹配项TempP_si指向项4;经步骤4),与规则T NP匹配成功,转步骤5)生成新的句子状态NP VP(V301) RNP.
1 2 3 45转2)继续执行。5)P_si指向项5根据P_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后,P_si指向项4,TempXiangS为4。6)P_si指向项4根据P_si,执行步骤3),取匹配项数cls为2,起始匹配项T empP_si指向项3;执行步骤4),与规则无法匹配;执行步骤6)也无下一个匹配项数cls;转步骤7),P_si指向项3,推理项数TempXiangS为3。7P_si指向项3根据P_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;
执行步骤7)后,P_si指向项2,TempXiangS为2。8)P_si指向项2根据P_si,执行步骤3),取匹配项数cls为3,起始匹配项TempP_si指向项2;经步骤4),与规则VPR NP匹配成功,转步骤5)生成新的句子状态NPVP(V301,OB J).
1 23转2)继续执行。9)P_si指向项3,为标点符号,推理项数TempXiangS为3;根据P_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后P_si指向项2,TempXiangS为2。10)P_si指向项2根据P_si,执行步骤3),取匹配项数cls为2,起始推理项TempP_si指向项1;经步骤4),与规则NP VP匹配成功,转步骤5)生成新的句子状态CS.
12转2)继续执行。11)P_si指向项2,为标点符号,推理项数TempXiangS为2;根据P_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后,P_si指向项1,TempXiangS为1。12)P_si指向项1根据P_si,执行步骤3),取匹配项数cls为2,起始匹配项TempP_si指向项1;经步骤4),与规则CS.匹配成功,转步骤5)生成新的句子状态S转2)判断成功,整个句子共经历6次路径选择后归约成功。
对例2生成的句子状态为
NPVP(V301)TAPNP.
1 2 34 56算法执行过程描述如下1)P_si指向项6,为标点符号,推理项数TempXiangS为6;根据P_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后,P_si指向项5,TempXiangS为5。2)P_si指向项5根据P_si,执行步骤3),取匹配项数cls为2,起始匹配项TempP_si指向项4;经步骤4),与规则AP NP匹配成功,转步骤5)生成新的句子状态NPVP(V301)TNP.
123 45转2)继续执行。3)P_si指向项5,为标点符号,推理项数TempXiangS为5;根据P_si,经步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后,P_si指向项4,TempXiangS为4。4)P_si指向项4根据P_si,执行步骤3),取匹配项数cls为2,起始推理项TempP_si指向项3;经步骤4),与规则T NP匹配成功,转步骤5)生成新的句子状态NP VP(V301)NP.
12 34转2)继续执行。5)P_si指向项4,为标点符号,推理项数TempXiangS为4;根据P_si,执行步骤3),取cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后,P_si指向项3,推理项数为3。6)P_si指向项3根据P_si,经步骤3),取匹配项数cls为2,起始推理项TempP_si指向项2;经步骤4),无法与规则匹配;执行步骤6)也无下一个匹配项数;执行步骤7)后P_si指向项2,TempXiangS为2。7)P_si指向项2根据P_si,经步骤3),取匹配项数cls为3,起始推理项TempP_si指向项2;执行步骤4),无法与规则匹配;执行步骤6),取下一个项数cls为4;执行步骤4),仍无法与规则匹配;转步骤6)已无下一个匹配项数;执行步骤7)后P_si指向项1,TempXiangS为1。8)P_si指向项1根据P_si,经步骤3),无法取到cls为2(因P_si已指头部);执行步骤4),无法与规则匹配;执行步骤6),无下一个匹配项数;执行步骤7),TempXiangS为0;执行步骤8)进行属性轮换。
属性轮换后,句子状态如下所示NPVP(V201)NP.
12 34P_si指向项2,推理项数TempXiangS为2;转3)继续执行。9)P_si指向项2根据P_si,经步骤3),取匹配项数cls为2,起始推理项TempP_si指向项2;经步骤4),与VPNP规则匹配成功,转步骤5)生成新的句子状态NPVP(V201,0BJ).
12 3转2)继续执行。10)P_si指向项3,为标点符号,推理项数TempXiangS为3;
根据P_si,经步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配;执行步骤6)也无下一个匹配项数;执行步骤7)后P_si指向项2,推理项数TempXiangS为2。11)P_si指向项2根据P_si,经步骤3),取匹配项数cls,为2,起始推理项TempP_si指向项1;经步骤4),与规则NP VP匹配成功,转步骤5)生成新的句子状态CS.
1 2转2)继续执行。12)P_si指向项2,推理项数TempXiangS为2;根据P_si,执行步骤3),取匹配项数cls为0;执行步骤4),无法与规则匹配成功;执行步骤6)也无下一个匹配项数;执行步骤7)后P_si指向项1,推理项数TempXiangS为2。13)P_si指向项1根据P_si,执行步骤3),取匹配项数cls为2,起始推理项TempP_si指向项1;经步骤4),与规则CS.匹配成功,转步骤5)生成新的句子状态S经2)判断成功,整个句子共经历8次路径选择后归约成功。
四)其它实例说明本发明是一个分析转换过程中采用自右向左动态路径选择的高效算法,也可以很方便地修改成自左向右路径选择算法。在英汉机译系统中整句分析转换采用自右向左动态路径选择比自左向右动态路径选择效率要高,路径选择次数要少;但另一方面在词组定义格式中有左边界而不一定有右边界,故识别短语时需要采用自左向右动态路径选择算法。在机译系统分析转换过程中根据英语词组和英语句子结构特点,有机地选择自右向左和自左向右动态路径选择算法,是减少路径选择、避免组合爆炸,提高翻译速度的有机组成部份。
权利要求
1.一种使用计算机进行的分析转换过程中动态路径选择方法,其特征在于一.确定动态路径选择原则,即1)实行自右向左推理或自左向右推理;2)以类及子类结构搜索起始匹配项和项数;3)根据当前句子状态中起始匹配项和项数与规则合一,匹配成功后生成新的项(归约项),并形成新的句子状态,再从1)开始执行;4)经3)、2)、1)之后都不能使规则和当前句子状态中的项合一成功,则进行属性轮换后,再从1)开始执行;5)经所有单词的属性轮换和3)、2)、1)之后,都不能使规则和当前句子中的项合一成功,则回溯到上一个句子状态,并根据当时的状态信息,转1)开始执行;二.分析转换过程动态路径选择方法的步骤为1)初始化句子状态中栈顶地址=>StackP2)取句子状态中信息取句子末项位置StackP.XiangAddr=>EndXiangP取句子中总项数StackP.XiangS=>XiangS=>TempXiangS取句子中开始推理项位置StackP.P_si=>P_si如果XiangS为1且项分类符为句子结束标志,则结束;3)根据P_si项类及子类取下列信息起始匹配项项址=>TempP_si匹配项数=>cls4)从起始匹配项TempP_si开始cls个项和规则合一,如果匹配成功,则执行5);否则执行6);5)生成一个新的句子状态申请一个新句子状态所需空间,地址=>TempAddr置句子末项位置TempAddr+14+(XiangS-cls)×4=>TempAddr.XiangAddr置句子总项数XiangS-cls=>TempAddr.XiangS置句子开始推理位置.TempAddr+14+(XiangS-cls)×4=>TempAddr.Psi将栈顶匹配项左部的项地址继承到TempAddr相应项位置将归约项地址送到TempAddr中对应项位置将栈顶匹配右部的项地址继承到TempAddr相应项位置将新生成的句子状态压入栈顶,并转2)执行;6)若有下一个匹配项数,则取匹配项数=>cls并转4)执行;7)P_si向左指向前一项TempXiangS减1,如果不为0,则转3)执行;否则转8)执行;8)项内属性轮换,如果轮换不成功,则退栈(StackP.Next=>StackP,并转2)执行;否则转g)执行;9)P_si指向轮换成功的项位置从P_si所指项到首项的项数=>TempXiangS转3)继续执行。
全文摘要
分析转换过程动态路径选择算法是基于SC文法体系和规则体系,以类(子类)为启发式搜索信息而实现的一个高效路径选择算法,可根据英语词组格式和英语句子结构,选择自左向右或自右向左动态路径选择算法,将大大减少分析转换中的路径选择次数,避免信息组合爆炸,简化分析转换过程,提高翻译效率。
文档编号G06F17/27GK1129829SQ9511955
公开日1996年8月28日 申请日期1995年12月26日 优先权日1995年12月26日
发明者陈肇雄 申请人:陈肇雄
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1