專利名稱:分析轉(zhuǎn)換過程中動(dòng)態(tài)路徑選擇方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分析轉(zhuǎn)換過程中動(dòng)態(tài)路徑選擇方法,屬于G06F15/38類計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域。
在自然語言理解和機(jī)器翻譯系統(tǒng)中,傳統(tǒng)型分析轉(zhuǎn)換系統(tǒng)是程序和數(shù)據(jù)緊密相關(guān)的,或是采用最長(zhǎng)路徑或最短的路徑方法實(shí)現(xiàn)的,因此不能根據(jù)類啟發(fā)式搜索信息實(shí)現(xiàn)有效的路徑選擇,其分析轉(zhuǎn)換速度不高,在分析轉(zhuǎn)換中自左向右(自右向左)最長(zhǎng)或最短路徑組合匹配中,存在許多無效路徑及信息爆炸等問題。
本發(fā)明的目的是提出一種以類為啟發(fā)式搜索信息的動(dòng)態(tài)路徑選擇方法,它可簡(jiǎn)化分析轉(zhuǎn)換算法和推理過程,可提高系統(tǒng)的整個(gè)分析轉(zhuǎn)換速度。
本發(fā)明的目的是通過以下方法實(shí)現(xiàn)的一種使用計(jì)算機(jī)進(jìn)行的分析轉(zhuǎn)換過程中動(dòng)態(tài)路徑選擇方法,其特征在于一.確定動(dòng)態(tài)路徑選擇原則,即1)實(shí)行自右向左推理或自左向右推理;2)以類及子類結(jié)構(gòu)搜索起始匹配項(xiàng)和項(xiàng)數(shù);3)根據(jù)當(dāng)前句子狀態(tài)中起始匹配項(xiàng)和項(xiàng)數(shù)與規(guī)則合一,匹配成功后生成新的項(xiàng)(歸約項(xiàng)),并形成新的句子狀態(tài),再從1)開始執(zhí)行;4)經(jīng)3)、2)、1)之后都不能使規(guī)則和當(dāng)前句子狀態(tài)中的項(xiàng)合一成功,則進(jìn)行屬性輪換后,再從1)開始執(zhí)行;5)經(jīng)所有單詞的屬性輪換和3)、2)、1)之后,都不能使規(guī)則和當(dāng)前句子中的項(xiàng)合一成功,則回溯到上一個(gè)句子狀態(tài),并根據(jù)當(dāng)時(shí)的狀態(tài)信息,轉(zhuǎn)1)開始執(zhí)行;二.分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇方法的步驟為1)初始化句子狀態(tài)中棧頂?shù)刂罚剑維tackP2)取句子狀態(tài)中信息取句子末項(xiàng)位置StackP.XiangAddr=>EndXiangP取句子中總項(xiàng)數(shù)StackP.XiangS=>XiangS=>TempxiangS取句子中開始推理項(xiàng)位置StackP.P_si=>P_si
如果XiangS為1且項(xiàng)分類符為句子結(jié)束標(biāo)志,則結(jié)束;3)根據(jù)P_si項(xiàng)類及子類取下列信息起始匹配項(xiàng)項(xiàng)址=>TempP_si匹配項(xiàng)數(shù)=>cls4)從起始匹配項(xiàng)TempP_si開始cls個(gè)項(xiàng)和規(guī)則合一,如果匹配成功,則執(zhí)行5);否則執(zhí)行6);5)生成一個(gè)新的句子狀態(tài)申請(qǐng)一個(gè)新句子狀態(tài)所需空間,地址=>TempAddr置句子末項(xiàng)位置TempAddr+14+(XiangS-cls)×4=>TempAddr.XiangAddr置句子總項(xiàng)數(shù)XiangS-cls=>TempAddr.XiangS置句子開始推理位置TempAddr+14+(XiangS-cls)×4=>TempAddr.P_si將棧頂匹配項(xiàng)左部的項(xiàng)地址繼承到TempAddr相應(yīng)項(xiàng)位置將歸約項(xiàng)地址送到TempAddr中對(duì)應(yīng)項(xiàng)位置將棧頂匹配右部的項(xiàng)地址繼承到TempAddr相應(yīng)項(xiàng)位置將新生成的句子狀態(tài)壓入棧頂,并轉(zhuǎn)2)執(zhí)行;6)若有下一個(gè)匹配項(xiàng)數(shù),則取匹配項(xiàng)數(shù)=>cls并轉(zhuǎn)4)執(zhí)行;7)P_si向左指向前一項(xiàng)TempXiangS減1,如果不為0,則轉(zhuǎn)3)執(zhí)行;否則轉(zhuǎn)8)執(zhí)行;8)項(xiàng)內(nèi)屬性輪換,如果輪換不成功,則退棧(StackP.Next=>StackP,并轉(zhuǎn)2)執(zhí)行;否則轉(zhuǎn)9)執(zhí)行;9)P_si指向輪換成功的項(xiàng)位置從P_si所指項(xiàng)到首項(xiàng)的項(xiàng)數(shù)=>TempXiangS轉(zhuǎn)3)繼續(xù)執(zhí)行。
本發(fā)明是在基于SC文法和規(guī)則體系之上,結(jié)合類啟發(fā)式搜索信息、實(shí)現(xiàn)的高效動(dòng)態(tài)路徑選擇算法,它簡(jiǎn)化了分析轉(zhuǎn)換路徑選擇算法,防止了路徑選擇過程中信息組合爆炸等問題,壓縮了過程信息量,提高了整句翻譯速度和翻譯準(zhǔn)確率,在世界首創(chuàng)了袖珍英漢翻譯機(jī)。
下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
圖1為分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇算法流程圖。
本發(fā)明方案提出了在計(jì)算機(jī)中進(jìn)行的基于規(guī)則體系的結(jié)合類啟發(fā)式搜索信息的高效動(dòng)態(tài)路徑選擇算法,嚴(yán)格地說,能廣泛應(yīng)用于自然語言理解和多語種、多專業(yè)的基于規(guī)則體系的分析轉(zhuǎn)換過程中的路徑選擇。
一)概念說明1)句子狀態(tài)結(jié)構(gòu)句子狀態(tài)結(jié)構(gòu)由句子狀態(tài)信息和記錄項(xiàng)地址兩部份組成。句子狀態(tài)信息記錄棧指針、首項(xiàng)(或末項(xiàng))地址、句子中項(xiàng)總數(shù)、當(dāng)前推理地址和還剩推理項(xiàng)項(xiàng)數(shù)五個(gè)狀態(tài)信息,這些狀態(tài)信息用于句子的推理和回溯整個(gè)過程;記錄項(xiàng)地址是記錄了當(dāng)前句子中所有項(xiàng)的地址,在該系統(tǒng)中項(xiàng)有單詞、歸約項(xiàng)和標(biāo)點(diǎn)三種類型,其中只有單詞類型的項(xiàng)才能實(shí)現(xiàn)屬性輪換。
例如單詞work的結(jié)構(gòu)如下work VP()″工作″NP()″著作″這樣推理過程中遇到VP不能再推理時(shí),可輪回為NP例如I buy the work.
只有當(dāng)work換成NP后才能使整個(gè)句子歸約成功歸約項(xiàng)是指幾個(gè)單詞或項(xiàng)歸約后產(chǎn)生的項(xiàng),歸約項(xiàng)只有唯一的內(nèi)容,不能進(jìn)行屬性輪換。例如the books,當(dāng)這兩項(xiàng)歸約之后產(chǎn)生一個(gè)項(xiàng)NP,只有唯一中文解釋。
2)規(guī)則形式NP()—>|NP(THE),!NPVP(V201)NP()—>|VP(V201,OBJ),!VP!NPVP(V301)NP()NP()—>|VP(V301,OBJ),!VP!NP(P1)!NP(P2).
在上述規(guī)則中,符號(hào)″—>″為規(guī)則左部和右部的分隔符,規(guī)則左部為推理項(xiàng),可以有一個(gè)或多個(gè)項(xiàng)所組成,規(guī)則右部為歸約項(xiàng)的生成信息,其中NP、VP等為歸約項(xiàng)的分類信息(分類符和語義信息),!VP、!NP等為繼承規(guī)則左部項(xiàng)的中文信息。
例如I send him a book.
首先將a book歸約成NP,然后執(zhí)行第三條規(guī)則將send him NP歸約成VP(V301),同時(shí)將生成中文″送他一本書″,VP(V301)和生成中文合在一起構(gòu)成歸約項(xiàng)。
3)類(子類)啟發(fā)式信息庫類(子類)啟發(fā)式信息庫數(shù)據(jù)結(jié)構(gòu)定義如下類(子類)匹配項(xiàng)數(shù)超前項(xiàng)數(shù)例如VP(V2)20VP(V3)30VP(V3)40T( )20PROP()3-1其中超前項(xiàng)數(shù)n定義如下=0指該類當(dāng)前項(xiàng)址n<0指該類當(dāng)前項(xiàng)前移n項(xiàng)>0指該類當(dāng)前項(xiàng)后移n項(xiàng)在類(子類)啟發(fā)式信息庫中對(duì)類及子類明確規(guī)定了項(xiàng)數(shù)和超前項(xiàng)數(shù),而且每個(gè)類及子類可以有一個(gè)或多個(gè)項(xiàng)數(shù)和超前項(xiàng)數(shù),如VP(V3)項(xiàng)數(shù)可以是3項(xiàng)也可為4項(xiàng),以適應(yīng)英語中靈活的句子結(jié)構(gòu)組織。
例如I send him a book和I send a book to him.
二)分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇算法說明確定分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇原則為1)實(shí)行自右向左推理或自左向右推理;2)以類及子類結(jié)構(gòu)搜索起始匹配項(xiàng)和項(xiàng)數(shù);3)根據(jù)當(dāng)前句子狀態(tài)中起始匹配項(xiàng)和項(xiàng)數(shù)與規(guī)則合一,匹配成功后生成新的項(xiàng)(歸約項(xiàng)),并形成新的句子狀態(tài),再從1)開始執(zhí)行;4)經(jīng)3)、2)、1)之后都不能使規(guī)則和當(dāng)前句子狀態(tài)中的項(xiàng)合一成功,則進(jìn)行屬性輪換后,再從1)開始執(zhí)行;5)經(jīng)所有單詞的屬性輪換和3)、2)、1)之后,都不能使規(guī)則和當(dāng)前句子中的項(xiàng)合一成功,則回溯到上一個(gè)句子狀態(tài),并根據(jù)當(dāng)時(shí)的狀態(tài)信息,轉(zhuǎn)1)開始執(zhí)行。
分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇算法的步驟為1)初始化句子狀態(tài)中棧頂?shù)刂罚剑維tackP2)取句子狀態(tài)中信息取句子末項(xiàng)位置StackP.XiangAddr=>EndXiangP取句子中總項(xiàng)數(shù)StackP.XiangS=>XiangS=>TempXiangS取句子中開始推理項(xiàng)位置StackP.P_si=>P_si
如果XiangS為1且項(xiàng)分類符為句子結(jié)束標(biāo)志,則結(jié)束。
3)根據(jù)P_si項(xiàng)類及子類取下列信息起始匹配項(xiàng)項(xiàng)址=>TempP_si匹配項(xiàng)數(shù)=>cls4)從起始匹配項(xiàng)TempP_si開始cls個(gè)項(xiàng)和規(guī)則合一,如果匹配成功,則執(zhí)行5);否則執(zhí)行6)。
5)生成一個(gè)新的句子狀態(tài)申請(qǐng)一個(gè)新句子狀態(tài)所需空間,地址=>TempAddr置句子末項(xiàng)位置TempAddr+14+(XiangS-cls)×4=>TempAdd r.XiangAddr置句子總項(xiàng)數(shù)XiangS-cls=>TempAddr.XiangS置句子開始推理位置TempAddr+14+(XiangS-cls)×4=>TempAddr.P_si將棧頂匹配項(xiàng)左部的項(xiàng)地址繼承到TempAddr相應(yīng)項(xiàng)位置將歸約項(xiàng)地址送到TempAddr中對(duì)應(yīng)項(xiàng)位置將棧頂匹配右部的項(xiàng)地址繼承到TempAddr相應(yīng)項(xiàng)位置將新生成的句子狀態(tài)壓入棧頂,并轉(zhuǎn)2)執(zhí)行。
6)若有下一個(gè)匹配項(xiàng)數(shù),則取匹配項(xiàng)數(shù)=>cls并轉(zhuǎn)4)執(zhí)行。
7)P_si向左指向前一項(xiàng)TempXiangS減1。如果不為0,則轉(zhuǎn)3)執(zhí)行;否則轉(zhuǎn)8)執(zhí)行。
8)項(xiàng)內(nèi)屬性輪換。如果輪換不成功,則退棧(StackP.Next=>StackP,并轉(zhuǎn)2)執(zhí)行;否則轉(zhuǎn)9)執(zhí)行。
9)P_si指向輪換成功的項(xiàng)位置從P_si所指項(xiàng)到首項(xiàng)的項(xiàng)數(shù)=>TempXiangS轉(zhuǎn)3)繼續(xù)執(zhí)行。
三)下面以兩個(gè)實(shí)際例子來說明該算法的執(zhí)行過程例1I send him a good book.
例2I send a good book.
每個(gè)單詞對(duì)應(yīng)的項(xiàng)為I<->NP″我″send<->VP(V301)″送″VP(V201)″送″
him<—>R()″他″a<—>T() ″一″good<—>AP() ″好″book<—>NP() ″書″規(guī)則體系A(chǔ)P 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.類啟發(fā)式信息庫類(子類)匹配項(xiàng)數(shù)超前項(xiàng)數(shù)VP(V2) 20VP(V3) 30VP(V3) 40VP(OBJ) 2-1NP()2-1CS()20標(biāo)點(diǎn)00以例句1生成的句子狀態(tài)為NPVP(V301) RTAPNP.
1 2 34 56 7算法執(zhí)行過程描述如下1)P_si指向項(xiàng)7,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為7;根據(jù)p_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)6,TempXiangS為6。2P_si指向項(xiàng)6
根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始匹配項(xiàng)TempP_si指向項(xiàng)5;經(jīng)步驟4),與規(guī)則AP NP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)NP VP(V301) RTNP.
12345 6轉(zhuǎn)2)繼續(xù)執(zhí)行。3)P_si指向項(xiàng)6,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為6;根據(jù)P-si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)5,TempXiangS為5。4)P_si指向項(xiàng)5根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始匹配項(xiàng)TempP_si指向項(xiàng)4;經(jīng)步驟4),與規(guī)則T NP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)NP VP(V301) RNP.
1 2 3 45轉(zhuǎn)2)繼續(xù)執(zhí)行。5)P_si指向項(xiàng)5根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)4,TempXiangS為4。6)P_si指向項(xiàng)4根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始匹配項(xiàng)T empP_si指向項(xiàng)3;執(zhí)行步驟4),與規(guī)則無法匹配;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù)cls;轉(zhuǎn)步驟7),P_si指向項(xiàng)3,推理項(xiàng)數(shù)TempXiangS為3。7P_si指向項(xiàng)3根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);
執(zhí)行步驟7)后,P_si指向項(xiàng)2,TempXiangS為2。8)P_si指向項(xiàng)2根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為3,起始匹配項(xiàng)TempP_si指向項(xiàng)2;經(jīng)步驟4),與規(guī)則VPR NP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)NPVP(V301,OB J).
1 23轉(zhuǎn)2)繼續(xù)執(zhí)行。9)P_si指向項(xiàng)3,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為3;根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后P_si指向項(xiàng)2,TempXiangS為2。10)P_si指向項(xiàng)2根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始推理項(xiàng)TempP_si指向項(xiàng)1;經(jīng)步驟4),與規(guī)則NP VP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)CS.
12轉(zhuǎn)2)繼續(xù)執(zhí)行。11)P_si指向項(xiàng)2,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為2;根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)1,TempXiangS為1。12)P_si指向項(xiàng)1根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始匹配項(xiàng)TempP_si指向項(xiàng)1;經(jīng)步驟4),與規(guī)則CS.匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)S轉(zhuǎn)2)判斷成功,整個(gè)句子共經(jīng)歷6次路徑選擇后歸約成功。
對(duì)例2生成的句子狀態(tài)為
NPVP(V301)TAPNP.
1 2 34 56算法執(zhí)行過程描述如下1)P_si指向項(xiàng)6,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為6;根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)5,TempXiangS為5。2)P_si指向項(xiàng)5根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始匹配項(xiàng)TempP_si指向項(xiàng)4;經(jīng)步驟4),與規(guī)則AP NP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)NPVP(V301)TNP.
123 45轉(zhuǎn)2)繼續(xù)執(zhí)行。3)P_si指向項(xiàng)5,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為5;根據(jù)P_si,經(jīng)步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)4,TempXiangS為4。4)P_si指向項(xiàng)4根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始推理項(xiàng)TempP_si指向項(xiàng)3;經(jīng)步驟4),與規(guī)則T NP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)NP VP(V301)NP.
12 34轉(zhuǎn)2)繼續(xù)執(zhí)行。5)P_si指向項(xiàng)4,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為4;根據(jù)P_si,執(zhí)行步驟3),取cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后,P_si指向項(xiàng)3,推理項(xiàng)數(shù)為3。6)P_si指向項(xiàng)3根據(jù)P_si,經(jīng)步驟3),取匹配項(xiàng)數(shù)cls為2,起始推理項(xiàng)TempP_si指向項(xiàng)2;經(jīng)步驟4),無法與規(guī)則匹配;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后P_si指向項(xiàng)2,TempXiangS為2。7)P_si指向項(xiàng)2根據(jù)P_si,經(jīng)步驟3),取匹配項(xiàng)數(shù)cls為3,起始推理項(xiàng)TempP_si指向項(xiàng)2;執(zhí)行步驟4),無法與規(guī)則匹配;執(zhí)行步驟6),取下一個(gè)項(xiàng)數(shù)cls為4;執(zhí)行步驟4),仍無法與規(guī)則匹配;轉(zhuǎn)步驟6)已無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后P_si指向項(xiàng)1,TempXiangS為1。8)P_si指向項(xiàng)1根據(jù)P_si,經(jīng)步驟3),無法取到cls為2(因P_si已指頭部);執(zhí)行步驟4),無法與規(guī)則匹配;執(zhí)行步驟6),無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7),TempXiangS為0;執(zhí)行步驟8)進(jìn)行屬性輪換。
屬性輪換后,句子狀態(tài)如下所示NPVP(V201)NP.
12 34P_si指向項(xiàng)2,推理項(xiàng)數(shù)TempXiangS為2;轉(zhuǎn)3)繼續(xù)執(zhí)行。9)P_si指向項(xiàng)2根據(jù)P_si,經(jīng)步驟3),取匹配項(xiàng)數(shù)cls為2,起始推理項(xiàng)TempP_si指向項(xiàng)2;經(jīng)步驟4),與VPNP規(guī)則匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)NPVP(V201,0BJ).
12 3轉(zhuǎn)2)繼續(xù)執(zhí)行。10)P_si指向項(xiàng)3,為標(biāo)點(diǎn)符號(hào),推理項(xiàng)數(shù)TempXiangS為3;
根據(jù)P_si,經(jīng)步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后P_si指向項(xiàng)2,推理項(xiàng)數(shù)TempXiangS為2。11)P_si指向項(xiàng)2根據(jù)P_si,經(jīng)步驟3),取匹配項(xiàng)數(shù)cls,為2,起始推理項(xiàng)TempP_si指向項(xiàng)1;經(jīng)步驟4),與規(guī)則NP VP匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)CS.
1 2轉(zhuǎn)2)繼續(xù)執(zhí)行。12)P_si指向項(xiàng)2,推理項(xiàng)數(shù)TempXiangS為2;根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為0;執(zhí)行步驟4),無法與規(guī)則匹配成功;執(zhí)行步驟6)也無下一個(gè)匹配項(xiàng)數(shù);執(zhí)行步驟7)后P_si指向項(xiàng)1,推理項(xiàng)數(shù)TempXiangS為2。13)P_si指向項(xiàng)1根據(jù)P_si,執(zhí)行步驟3),取匹配項(xiàng)數(shù)cls為2,起始推理項(xiàng)TempP_si指向項(xiàng)1;經(jīng)步驟4),與規(guī)則CS.匹配成功,轉(zhuǎn)步驟5)生成新的句子狀態(tài)S經(jīng)2)判斷成功,整個(gè)句子共經(jīng)歷8次路徑選擇后歸約成功。
四)其它實(shí)例說明本發(fā)明是一個(gè)分析轉(zhuǎn)換過程中采用自右向左動(dòng)態(tài)路徑選擇的高效算法,也可以很方便地修改成自左向右路徑選擇算法。在英漢機(jī)譯系統(tǒng)中整句分析轉(zhuǎn)換采用自右向左動(dòng)態(tài)路徑選擇比自左向右動(dòng)態(tài)路徑選擇效率要高,路徑選擇次數(shù)要少;但另一方面在詞組定義格式中有左邊界而不一定有右邊界,故識(shí)別短語時(shí)需要采用自左向右動(dòng)態(tài)路徑選擇算法。在機(jī)譯系統(tǒng)分析轉(zhuǎn)換過程中根據(jù)英語詞組和英語句子結(jié)構(gòu)特點(diǎn),有機(jī)地選擇自右向左和自左向右動(dòng)態(tài)路徑選擇算法,是減少路徑選擇、避免組合爆炸,提高翻譯速度的有機(jī)組成部份。
權(quán)利要求
1.一種使用計(jì)算機(jī)進(jìn)行的分析轉(zhuǎn)換過程中動(dòng)態(tài)路徑選擇方法,其特征在于一.確定動(dòng)態(tài)路徑選擇原則,即1)實(shí)行自右向左推理或自左向右推理;2)以類及子類結(jié)構(gòu)搜索起始匹配項(xiàng)和項(xiàng)數(shù);3)根據(jù)當(dāng)前句子狀態(tài)中起始匹配項(xiàng)和項(xiàng)數(shù)與規(guī)則合一,匹配成功后生成新的項(xiàng)(歸約項(xiàng)),并形成新的句子狀態(tài),再從1)開始執(zhí)行;4)經(jīng)3)、2)、1)之后都不能使規(guī)則和當(dāng)前句子狀態(tài)中的項(xiàng)合一成功,則進(jìn)行屬性輪換后,再從1)開始執(zhí)行;5)經(jīng)所有單詞的屬性輪換和3)、2)、1)之后,都不能使規(guī)則和當(dāng)前句子中的項(xiàng)合一成功,則回溯到上一個(gè)句子狀態(tài),并根據(jù)當(dāng)時(shí)的狀態(tài)信息,轉(zhuǎn)1)開始執(zhí)行;二.分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇方法的步驟為1)初始化句子狀態(tài)中棧頂?shù)刂罚剑維tackP2)取句子狀態(tài)中信息取句子末項(xiàng)位置StackP.XiangAddr=>EndXiangP取句子中總項(xiàng)數(shù)StackP.XiangS=>XiangS=>TempXiangS取句子中開始推理項(xiàng)位置StackP.P_si=>P_si如果XiangS為1且項(xiàng)分類符為句子結(jié)束標(biāo)志,則結(jié)束;3)根據(jù)P_si項(xiàng)類及子類取下列信息起始匹配項(xiàng)項(xiàng)址=>TempP_si匹配項(xiàng)數(shù)=>cls4)從起始匹配項(xiàng)TempP_si開始cls個(gè)項(xiàng)和規(guī)則合一,如果匹配成功,則執(zhí)行5);否則執(zhí)行6);5)生成一個(gè)新的句子狀態(tài)申請(qǐng)一個(gè)新句子狀態(tài)所需空間,地址=>TempAddr置句子末項(xiàng)位置TempAddr+14+(XiangS-cls)×4=>TempAddr.XiangAddr置句子總項(xiàng)數(shù)XiangS-cls=>TempAddr.XiangS置句子開始推理位置.TempAddr+14+(XiangS-cls)×4=>TempAddr.Psi將棧頂匹配項(xiàng)左部的項(xiàng)地址繼承到TempAddr相應(yīng)項(xiàng)位置將歸約項(xiàng)地址送到TempAddr中對(duì)應(yīng)項(xiàng)位置將棧頂匹配右部的項(xiàng)地址繼承到TempAddr相應(yīng)項(xiàng)位置將新生成的句子狀態(tài)壓入棧頂,并轉(zhuǎn)2)執(zhí)行;6)若有下一個(gè)匹配項(xiàng)數(shù),則取匹配項(xiàng)數(shù)=>cls并轉(zhuǎn)4)執(zhí)行;7)P_si向左指向前一項(xiàng)TempXiangS減1,如果不為0,則轉(zhuǎn)3)執(zhí)行;否則轉(zhuǎn)8)執(zhí)行;8)項(xiàng)內(nèi)屬性輪換,如果輪換不成功,則退棧(StackP.Next=>StackP,并轉(zhuǎn)2)執(zhí)行;否則轉(zhuǎn)g)執(zhí)行;9)P_si指向輪換成功的項(xiàng)位置從P_si所指項(xiàng)到首項(xiàng)的項(xiàng)數(shù)=>TempXiangS轉(zhuǎn)3)繼續(xù)執(zhí)行。
全文摘要
分析轉(zhuǎn)換過程動(dòng)態(tài)路徑選擇算法是基于SC文法體系和規(guī)則體系,以類(子類)為啟發(fā)式搜索信息而實(shí)現(xiàn)的一個(gè)高效路徑選擇算法,可根據(jù)英語詞組格式和英語句子結(jié)構(gòu),選擇自左向右或自右向左動(dòng)態(tài)路徑選擇算法,將大大減少分析轉(zhuǎn)換中的路徑選擇次數(shù),避免信息組合爆炸,簡(jiǎn)化分析轉(zhuǎn)換過程,提高翻譯效率。
文檔編號(hào)G06F17/27GK1129829SQ9511955
公開日1996年8月28日 申請(qǐng)日期1995年12月26日 優(yōu)先權(quán)日1995年12月26日
發(fā)明者陳肇雄 申請(qǐng)人:陳肇雄