會(huì)員中心 |  會(huì)員注冊(cè)  |  兼職信息發(fā)布    瀏覽手機(jī)版!    精選9.9元!    人工翻譯    英語(yǔ)IT服務(wù) 貧困兒童資助 | 留言板 | 設(shè)為首頁(yè) | 加入收藏  繁體中文
當(dāng)前位置:首頁(yè) > 機(jī)翻技術(shù) > 機(jī)器翻譯 > 正文

把合一結(jié)合到Earley剖析器中

發(fā)布時(shí)間: 2022-07-27 09:26:22   作者:etogether.net   來(lái)源: 網(wǎng)絡(luò)   瀏覽次數(shù):
摘要: Earley算法在運(yùn)算時(shí)要使用一套無(wú)裝飾的上下文無(wú)關(guān)語(yǔ)法規(guī)則,來(lái)填充一種稱(chēng)為線圖的數(shù)據(jù)結(jié)構(gòu),這種線圖由狀態(tài)的集合組成。


把特征結(jié)構(gòu)與合一運(yùn)算結(jié)合到Earley算法中的目的有兩個(gè):第一,使用特征結(jié)構(gòu),從而為剖析的組成成分提供更豐富的表達(dá)方式;第二,阻止成分進(jìn)入破壞合一約束的非良構(gòu)成分的線圖中。只要最小限度地改變?cè)瓉?lái)的Earley算法,就可以達(dá)到這樣的目的。


第一個(gè)改變是改變?cè)谠瓉?lái)的代碼中使用的各種表達(dá)方法。Earley算法在運(yùn)算時(shí)要使用一套無(wú)裝飾的上下文無(wú)關(guān)語(yǔ)法規(guī)則,來(lái)填充一種稱(chēng)為線圖的數(shù)據(jù)結(jié)構(gòu),這種線圖由狀態(tài)的集合組成。在剖析的終點(diǎn),構(gòu)成線圖的狀態(tài)可以表示對(duì)于輸入的一切可能的剖析結(jié)果。因此,我們要進(jìn)行的改變首先從改變上下文無(wú)關(guān)語(yǔ)法規(guī)則和線圖中的狀態(tài)開(kāi)始。


在改變規(guī)則時(shí),除了它們當(dāng)前的成分之外,還包括從它們的合一約束推導(dǎo)出的特征結(jié)構(gòu)。更具體地說(shuō),我們將使用由規(guī)則列出的約束來(lái)建立特征結(jié)構(gòu),把特征結(jié)構(gòu)表示為DAG,以便在剖析過(guò)程中與規(guī)則一起使用它們。


我們來(lái)研究如下的帶有合一約束的上下文無(wú)關(guān)規(guī)則:


S → NP VP

=


把這些約束轉(zhuǎn)變?yōu)樘卣鹘Y(jié)構(gòu),得到如下的結(jié)構(gòu):

圖1.png



在這個(gè)推導(dǎo)中,我們首先對(duì)上下文無(wú)關(guān)規(guī)則中的每個(gè)部分創(chuàng)建頂層特征,在這個(gè)例子中,這些頂層特征是S,NP和VP;使用這樣的方法,把各種不同的約束結(jié)合到一個(gè)單獨(dú)的結(jié)構(gòu)中。然后,順著約束中的路徑等式,進(jìn)一步再把各種成分加到這個(gè)結(jié)構(gòu)中。注意,這只是一種純粹的表記法的變換,DAG和約束等式中包含的信息都是完全一樣的。但是,把各種約束捆綁到一個(gè)單獨(dú)的特征結(jié)構(gòu)中,這樣的形式就可以直接放到合一算法中。


第二個(gè)改變是改變用于表示Earley算法中局部剖析的狀態(tài)。原來(lái)的狀態(tài)包括所用的上下文無(wú)關(guān)規(guī)則、表示規(guī)則已經(jīng)完成部分的點(diǎn)的位置、狀態(tài)的開(kāi)始和終止位置以及表示狀態(tài)中已完成子部分的其他狀態(tài)的一個(gè)表?,F(xiàn)在再加上一個(gè)附加的區(qū)域,這個(gè)區(qū)域包含表示與狀態(tài)相應(yīng)的特征結(jié)構(gòu)的DAG。注意,當(dāng)一個(gè)規(guī)則首次被PREDICTOR用來(lái)建立一個(gè)狀態(tài)時(shí),與狀態(tài)相聯(lián)系的DAG將由規(guī)則中檢索出來(lái)的DAG組成。例如,當(dāng)PREDICTOR使用上面的S規(guī)則而進(jìn)入到線圖中的一個(gè)狀態(tài)時(shí),上面給出DAG將是初始的DAG。我們把狀態(tài)表示如下,其中DAG表示上面給出的特征結(jié)構(gòu):


S → ?NP VP, [0,0], [], Dag


給出了這些新增加的表示之后,就可以來(lái)改變算法本身了。在行動(dòng)方面的最重要的改變是:當(dāng)通過(guò)擴(kuò)充現(xiàn)有狀態(tài)建立一個(gè)新?tīng)顟B(tài)時(shí),在COMPLETER程序中發(fā)生了變化。我們知道,當(dāng)一個(gè)完成的成分加到線圖中時(shí),就要調(diào)用COMPLETER。COMPLETER的任務(wù)是發(fā)現(xiàn)并擴(kuò)充線圖中現(xiàn)有狀態(tài),這個(gè)狀態(tài)正在查找與新完成的成分相容的成分。因此,COMPLETER是一種結(jié)合兩個(gè)狀態(tài)中的信息建立新?tīng)顟B(tài)的功能,它要使用合一的操作。


更具體地說(shuō),COMPLETER通過(guò)發(fā)現(xiàn)現(xiàn)有狀態(tài)的方式,把一個(gè)新的狀態(tài)加到線圖中,并把現(xiàn)有狀態(tài)中的“.”由新的完成狀態(tài)向前推進(jìn)。當(dāng)直接在“.”后面的成分的范疇與新完成的成分的范疇相匹配時(shí),就可以把“.”向前推進(jìn)。為了便于使用特征結(jié)構(gòu),我們可以改變這樣的做法,而把與新的完成狀態(tài)相聯(lián)系的特征結(jié)構(gòu)與被推進(jìn)的特征結(jié)構(gòu)中的適當(dāng)部分進(jìn)行合一。如果這樣的合一取得成功,那么新?tīng)顟B(tài)的DAG就接受合一后的結(jié)構(gòu),并進(jìn)入線圖中。如果合一失敗,則沒(méi)有新的狀態(tài)進(jìn)入線圖中。COMPLETER的這種改變情況如圖2所示。

圖2.png

圖2a.png


圖2 修改Earley算法使之包括合一運(yùn)算



微信公眾號(hào)

[1] [2] [下一頁(yè)] 【歡迎大家踴躍評(píng)論】
  • 上一篇:類(lèi)型與繼承的應(yīng)用
  • 下一篇:合一的數(shù)據(jù)結(jié)構(gòu)


  • 《譯聚網(wǎng)》倡導(dǎo)尊重與保護(hù)知識(shí)產(chǎn)權(quán)。如發(fā)現(xiàn)本站文章存在版權(quán)問(wèn)題,煩請(qǐng)30天內(nèi)提供版權(quán)疑問(wèn)、身份證明、版權(quán)證明、聯(lián)系方式等發(fā)郵件至info@qiqee.net,我們將及時(shí)溝通與處理。


我來(lái)說(shuō)兩句
評(píng)分: 1分 2分 3分 4分 5分
評(píng)論內(nèi)容:
驗(yàn)證碼:
【網(wǎng)友評(píng)論僅供其表達(dá)個(gè)人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述?!?
評(píng)論列表
已有 0 條評(píng)論(查看更多評(píng)論)