馮 洋,張冬冬,劉 群
(1.中國科學(xué)院 計(jì)算技術(shù)研究所 智能信息處理重點(diǎn)實(shí)驗(yàn)室,北京100190;2.微軟亞洲研究院,北京100190)
不同語言之間的異構(gòu)性,導(dǎo)致了機(jī)器翻譯中源語言和目標(biāo)語言的詞語順序不同,詞語調(diào)序成為機(jī)器翻譯中的關(guān)鍵問題。一個(gè)句法成分覆蓋的詞語在經(jīng)過翻譯之后,其對(duì)應(yīng)的譯文通常也是相鄰的[1],這就是所謂的句法黏著性。于是,詞語順序的不同通常表現(xiàn)為在不同的語言中,句法成分的相對(duì)位置往往不同。在所有的句法成分中,介詞短語表現(xiàn)地尤為明顯。以中英文為例,在中文中,介詞短語通常在所修飾成分的前面,而在英文中,介詞短語通常在所修飾成分的后面,例如,英文句子“Bush held a talk with Sharon”,介詞短語“with Sharon”在“held a talk”的后面,而在其對(duì)應(yīng)的中文句子“布什 與 沙龍舉行 了 會(huì)談”中,介詞短語“與沙龍”就在“舉行 了會(huì)談”的前面。因此,要得到高質(zhì)量的譯文,不但要保證介詞短語的譯文不能被分開,還要保證譯文被放在正確的位置上。
層次短語模型[2]可以從雙語句對(duì)中自動(dòng)地抽取形式語法,而不需要語言學(xué)上的標(biāo)注和假設(shè),所以使用方便,目前被廣泛地應(yīng)用于機(jī)器翻譯中。其形式語法信息的載體為層次短語(規(guī)則),它不僅可以利用短語來捕捉一些局部翻譯,而且還可以利用層次短語來捕捉子短語之間的調(diào)序,所以層次短語模型對(duì)長(zhǎng)距離的調(diào)序具有一定的處理能力。但是形式語法也存在一定的問題,它沒有對(duì)子短語覆蓋的成分進(jìn)行區(qū)分,這導(dǎo)致了子短語可以匹配任何的句法成分,這往往會(huì)帶來翻譯錯(cuò)誤。例如,層次短語<held a talk X,X舉行 了 會(huì)談>,既可以被應(yīng)用在“held a talk with Sharon”,也可以被應(yīng)用在“held a talk and reached an agreement”上,但是對(duì)于后者,調(diào)序發(fā)生了錯(cuò)誤。所以,利用語言學(xué)信息來對(duì)非終結(jié)符覆蓋的句法成分進(jìn)行區(qū)分還是很有必要的。
本文我們?cè)趯哟味陶Z模型的基礎(chǔ)上,以介詞短語的形式引入語言學(xué)句法信息。一方面,我們利用層次短語來捕捉長(zhǎng)距離調(diào)序,另一方面我們對(duì)介詞短語進(jìn)行重點(diǎn)處理,以保證介詞短語被正確的調(diào)序,并滿足句法黏著性。我們把介詞短語的識(shí)別看成是一個(gè)序列標(biāo)注問題,用條件隨機(jī)場(chǎng)(Conditional RandomField,CRF)進(jìn)行標(biāo)注,然后基于已被識(shí)別的介詞短語抽取規(guī)則,將抽取的包含介詞短語的規(guī)則和層次短語模型的規(guī)則進(jìn)行合并,得到一個(gè)大的規(guī)則表。然后在測(cè)試句子已被標(biāo)注出介詞短語的情況,用大的規(guī)則表對(duì)其進(jìn)行匹配,得到最終的譯文。
本文的組織結(jié)構(gòu)如下:首先介紹添加介詞短語的層次短語模型,再介紹如何利用條件隨機(jī)場(chǎng)識(shí)別介詞短語,接著介紹規(guī)則抽取以及如何解碼,最后是實(shí)驗(yàn)結(jié)果和結(jié)論。
我們?cè)趯哟味陶Z模型的基礎(chǔ)上對(duì)介詞短語進(jìn)行重點(diǎn)處理,因?yàn)榻樵~短語的位置在不同語言中可能會(huì)差異很大。相對(duì)于層次短語模型中,普通規(guī)則只采用一個(gè)非終結(jié)符X,我們特地為介詞短語引進(jìn)一個(gè)非終結(jié)符Y。于是,對(duì)于圖1中所示例子,其包含兩個(gè)介詞短語“with Sharon'”和“in US'”,其可以匹配的規(guī)則包括:
我們除了還需要層次短語模型的粘貼規(guī)則r7、r8之外,還需要一條規(guī)則r9,來實(shí)現(xiàn)非終結(jié)符Y到非終結(jié)符X的轉(zhuǎn)變:
于是,對(duì)于圖1所示的例子,其對(duì)應(yīng)的翻譯過程如圖2所示。
圖1 一個(gè)英漢句對(duì)
圖2 翻譯過程
我們將模型形式化為對(duì)數(shù)線性模型,在規(guī)則上采用的特征以及整個(gè)推導(dǎo)上的特征與層次短語模型相同。其中,對(duì)于r7,其權(quán)重設(shè)為1。
標(biāo)注介詞短語,相當(dāng)于為句子中的每個(gè)詞打上一個(gè)標(biāo)簽,來表示該詞是一個(gè)介詞短語的開始詞(標(biāo)記為B),或者屬于一個(gè)介詞短語但不是其第一個(gè)詞(標(biāo)記為I),或者不屬于任何一個(gè)介詞短語(標(biāo)記為O)。因此,我們把識(shí)別介詞短語看成是一個(gè)序列標(biāo)注問題。
為了克服label bias,并且采用盡可能多的統(tǒng)計(jì)信息,我們用條件隨機(jī)場(chǎng)來進(jìn)行序列標(biāo)注。我們用x=x1…xn表示輸入句子,y=y(tǒng)1…yn表示相應(yīng)的標(biāo)記序列,一個(gè)條件隨機(jī)場(chǎng)可以用一個(gè)局部特征變量f和一個(gè)特征權(quán)重向量λ來表示。每個(gè)局部特征可以是以下兩類中的一類:狀態(tài)特征s(y,x,i);轉(zhuǎn)換特征t(y,y′,x,i)。所以,條件隨機(jī)場(chǎng)的全局特征可以表示為:
于是,條件隨機(jī)場(chǎng)定義的條件概率可以表示為
一個(gè)句子可以對(duì)應(yīng)多個(gè)標(biāo)注序列,我們只選取其中概率最大的標(biāo)注序列作為最終的標(biāo)注結(jié)果
關(guān)于條件隨機(jī)場(chǎng)的更多細(xì)節(jié)可以參照文獻(xiàn)[3-5]。
識(shí)別介詞短語的時(shí)候,對(duì)于每個(gè)位置i,我們用l=l1…ln表示輸入句子對(duì)應(yīng)的詞性標(biāo)注序列,采用的特征如表1所示。
表1 識(shí)別介詞短語采用的特征
續(xù)表
由于采用了詞性標(biāo)記作為特征,所以在識(shí)別介詞短語之前,需要得到每個(gè)詞的詞性。同樣,我們也采用條件隨機(jī)場(chǎng)來進(jìn)行詞性標(biāo)注,采用的特征如表2所示。除此之外,我們還采用了一些詞匯拼寫方面的特征,包括:一個(gè)單詞是否以數(shù)字或者大寫字母開頭,是否包括連字符,其后綴是否包括-ing,-ed,-ogy,-s,-ly,-ion,-tion,-ity,-ies。
表2 詞性標(biāo)注采用的特征
引入介詞短語的層次短語模型的訓(xùn)練過程與層次短語模型相同,只是抽取規(guī)則的時(shí)候有所不同。我們的模型抽取規(guī)則的時(shí)候分為兩步:第一步,不考慮介詞短語,采用層次短語的方法抽取規(guī)則;第二步,抽取包含介詞短語的規(guī)則。抽取包含介詞短語的規(guī)則也分兩步進(jìn)行:首先抽取初始短語和介詞短語,然后在此基礎(chǔ)上抽取包含介詞短語的層次化短語。
·ci=B;
·cj=I;
·fj是源句子的最后一個(gè)詞,或者cj+1≠I。
句對(duì)<f,e>的包含介詞短語的規(guī)則的抽取方法如下:
同樣,我們得到的規(guī)則數(shù)量很大,對(duì)于不包含介詞短語的規(guī)則,按照層次短語模型的方法進(jìn)行過濾,對(duì)于包含介詞短語的規(guī)則,為了加快解碼速度以及避免歧義性,我們添加了以下限制。
1)每個(gè)規(guī)則在源端和目標(biāo)端的邊界詞均不能對(duì)齊到空;
2)初始短語所包含的源端詞的個(gè)數(shù)不超過10,而層次短語在源端的符號(hào)數(shù)(包括非終結(jié)符和終結(jié)符)不超過5個(gè);
3)每條規(guī)則在源端不能為空,且至少要包含一個(gè)終結(jié)符;
4)每條規(guī)則最多可以有兩個(gè)非終結(jié)符;
5)每條規(guī)則在源端和目標(biāo)端的詞語之間至少要有一條對(duì)齊。
以上限制和層次短語的主要區(qū)別在于,我們?cè)试S包含介詞短語的規(guī)則的兩個(gè)非終結(jié)符相鄰,這主要是因?yàn)榫渲械慕樵~短語已經(jīng)確定,兩個(gè)非終結(jié)符相鄰不會(huì)引起很多模棱兩可組合的情況。
我們將包含介詞短語的規(guī)則和層次短語模型的規(guī)則分開估計(jì)概率,概率的估計(jì)方法和層次短語模型相同。
與層次短語模型相同,我們采用CKY算法來搜索概率最大的推導(dǎo),并將其對(duì)應(yīng)的譯文作為最終的譯文。我們采用柱搜索來減小搜索空間,采用的剪枝策略為:每個(gè)區(qū)間最多可以匹配的規(guī)則限制為c個(gè);每個(gè)柱對(duì)應(yīng)的棧中保留的譯文的個(gè)數(shù)最多為b個(gè);每個(gè)柱對(duì)應(yīng)的棧中保留譯文的分?jǐn)?shù)必須大于棧中當(dāng)前最好譯文的分?jǐn)?shù)的β倍。與此同時(shí),采用cube pruning[6]來加快解碼速度,并限制每個(gè)規(guī)則最多可以匹配的源端詞語個(gè)數(shù)不超過10。于是,整個(gè)解碼過程的時(shí)間復(fù)雜度為O(10ncb2),與句子長(zhǎng)度n成線性關(guān)系。
我們的模型在解碼的過程中,只有規(guī)則的匹配方法與層次短語模型不同。對(duì)于每個(gè)測(cè)試句子,我們采用兩部分規(guī)則:一部分是不考慮介詞短語的規(guī)則,其匹配方法與層次短語模型相同;一部分是包含介詞短語的規(guī)則。我們首先枚舉出句中的所有包含介詞短語的規(guī)則的源端部分,然后去規(guī)則表中查找相應(yīng)的規(guī)則。
我們首先測(cè)試采用CRF進(jìn)行詞性標(biāo)注和介詞短語識(shí)別的效果,因?yàn)榻樵~短語識(shí)別的準(zhǔn)確率直接影響到解碼效果,然后我們測(cè)試一下引入介詞短語的情況下解碼的性能。
我們將標(biāo)準(zhǔn)賓州樹庫的英語句法分析任務(wù)數(shù)據(jù)的1~22節(jié)的39 832個(gè)句子分成兩部分,前面的38 832個(gè)句子作為訓(xùn)練集,后面的1 000個(gè)句子作為測(cè)試集。對(duì)于訓(xùn)練集語料的獲得,我們采用后序遍歷的方法來識(shí)別介詞短語,對(duì)于標(biāo)注為PP的節(jié)點(diǎn)覆蓋的源語言串則標(biāo)注為介詞短語,且一旦一個(gè)節(jié)點(diǎn)被我們識(shí)別為介詞短語,我們不再遍歷其祖先節(jié)點(diǎn),這樣保證我們得到的介詞短語均為最小的介詞短語。為了保證與機(jī)器翻譯語料的一致性,我們將賓州樹庫中的`和"用”來替換。CRF采用L2方法來訓(xùn)練。
我們采用序列標(biāo)注問題中通用的標(biāo)準(zhǔn)——準(zhǔn)確率(P),召回率(R),F(xiàn)1值,來評(píng)估介詞短語識(shí)別的結(jié)果。我們還采用正確率(A)來評(píng)估每個(gè)詞的標(biāo)注結(jié)果。對(duì)于介詞短語標(biāo)注,準(zhǔn)確率P和正確率A是不同的。例如,下面的標(biāo)注序列
參考序列: O O B I O O B I
標(biāo)注序列: O O B I I O B I
其準(zhǔn)確率P為50%,正確率A為87.5%。詞性標(biāo)注的結(jié)果如表3所示,介詞短語識(shí)別的結(jié)果如表4所示。
從以上實(shí)驗(yàn)結(jié)果可以看出,詞形標(biāo)注的正確率比介詞短語識(shí)別的正確率要高很多,這主要是因?yàn)?,我們識(shí)別介詞短語的時(shí)候,窗口的大小只有3,而有的介詞短語的長(zhǎng)度超過3,對(duì)于這一部分介詞短語的識(shí)別會(huì)比較吃力。另外,由于識(shí)別介詞短語的時(shí)候用詞性作為特征,而詞性識(shí)別的時(shí)候會(huì)引入一部分錯(cuò)誤,這部分錯(cuò)誤會(huì)累加到介詞短語識(shí)別上來,導(dǎo)致最后的正確率降低。
表3 詞性標(biāo)注結(jié)果
表4 介詞短語識(shí)別結(jié)果
我們接下來比較引入介詞短語的模型和層次短語模型的性能。我們采用的開發(fā)集為NIST2008英漢雙語訓(xùn)練語料,除去其中的香港法律和香港會(huì)議記錄部分,大約剩下49萬句對(duì)。對(duì)于訓(xùn)練語料,我們先用GIZAC++工具包[7]進(jìn)行雙向?qū)R,然后采用“final-and”策略將雙向?qū)R合并成一個(gè)多到多對(duì)齊。采用的語言模型為在GIGA語料的新華部分上訓(xùn)練的一個(gè)五元語言模型,并采用KN方法進(jìn)行平滑。我們的實(shí)驗(yàn)結(jié)果都進(jìn)行了顯著性測(cè)試[8]。
我們采用的開發(fā)集為微軟亞洲研究院內(nèi)部的英漢新聞測(cè)試集,包括1 010個(gè)句子,分別在兩個(gè)測(cè)試集上比較兩個(gè)解碼器的性能:一個(gè)是NIST 2008英漢機(jī)器翻譯測(cè)試集,包括1 859個(gè)句子,另一個(gè)是我們內(nèi)部的另一個(gè)英漢新聞測(cè)試集,包括966個(gè)句子。翻譯結(jié)果的評(píng)測(cè)標(biāo)準(zhǔn)采用基于字的BLEU值[9],最高進(jìn)行四元的n-gram匹配取。我們?cè)陂_發(fā)集上采用最小錯(cuò)誤率[10]來進(jìn)行參數(shù)訓(xùn)練,訓(xùn)練的目標(biāo)為使得開發(fā)集上的BLEU值最大。
表5 機(jī)器翻譯性能比較
表5給出了實(shí)驗(yàn)結(jié)果,“**”表示在顯著性測(cè)試中ρ<0.01。從實(shí)驗(yàn)結(jié)果可以看出,引入介詞短語之后,在我們內(nèi)部的測(cè)試集上,BLEU值提高0.8個(gè)點(diǎn),在NIST 2008上提高了0.5個(gè)點(diǎn)。性能提高的原因在于通過引入介詞短語,可以針對(duì)介詞短語選擇更好的規(guī)則,從而減輕引言中提到的由于X可以匹配任何短語而導(dǎo)致規(guī)則使用不恰當(dāng)?shù)那闆r。
層次短語模型在短語模型的基礎(chǔ)上,引入在雙語句對(duì)上自動(dòng)學(xué)習(xí)得到的形式語法信息,這些形式句法信息不需要基于語言學(xué)的標(biāo)注和假設(shè),使得形式短語模型用起來很方便,所以現(xiàn)在層次短語模型使用很廣泛。在層次短語模型中,形式句法信息是以層次短語為載體的。而層次短語由詞和短語組成,所以層次短語模型一方面可以通過短語來學(xué)習(xí)局部翻譯,一方面可以利用層次短語來掌握短語之間的調(diào)序,所以層次短語具有一定的捕捉長(zhǎng)距離調(diào)序的能力。由于形式語法并不對(duì)每個(gè)短語的句法成分進(jìn)行細(xì)化,這導(dǎo)致了層次短語在規(guī)則匹配的時(shí)候可能會(huì)被用在不恰當(dāng)?shù)牡胤剑詫?duì)層次短語的短語進(jìn)行句法標(biāo)注還是很有必要的。我們嘗試在層次短語模型的基礎(chǔ)上,以介詞短語的形式來引入語言學(xué)句法信息,并對(duì)介詞短語的調(diào)序進(jìn)行重點(diǎn)處理。由于介詞短語在不同語言中相對(duì)位置差異很大,如此可以以較小的代價(jià)來獲得翻譯性能的較大提高。
對(duì)于介詞短語的識(shí)別,我們采用序列標(biāo)注的方法,通過對(duì)賓州樹庫中的句法分析樹進(jìn)行處理來得到短語識(shí)別的訓(xùn)練語料,來訓(xùn)練得到一個(gè)條件隨機(jī)場(chǎng)(CRF)。然后用訓(xùn)練得到的CRF在機(jī)器翻譯任務(wù)的訓(xùn)練集上識(shí)別介詞短語,對(duì)于規(guī)則抽取,除了抽取層次短語模型的規(guī)則,還抽取一些包含介詞短語的規(guī)則。在訓(xùn)練和解碼的時(shí)候,也是先識(shí)別介詞短語,然后一起應(yīng)用兩部分規(guī)則,一部分是層次短語模型的規(guī)則,一部分是包含介詞短語的規(guī)則。實(shí)際上,抽取出來的介詞短語并不多,對(duì)解碼器的速度影響不大,卻能取得顯著的效果,在我們內(nèi)部的英漢翻譯數(shù)據(jù)集上可以提高0.8個(gè)BLEU值,在NIST2008英漢機(jī)器翻譯測(cè)試集上可以提高0.5個(gè)點(diǎn)。這充分說明語言學(xué)句法信息對(duì)提高機(jī)器翻譯性能還是很有幫助的。
[1]Heidi Fox.Phrasal Cohesion and Statistical Machine Translation[C]//Proceedings of EMNLP,2002:304-311.
[2]David Chiang.Hierarchical phrase-based translation[J].Computational Linguistics,2007:201-228.
[3]John Lafferty,Andrew McCallum,F(xiàn)ernando Pereira.Conditional Random Fields:Probabilistic Models for Segmenting and Labeling Sequence Data [C]//Proceedings of ICML,2001:282-289.
[4]Ben Taskar, Pieter Abbeel, Daphne Koller.Discriminative Probabilistic Models for Relational Data[C]//Proceedings of Eighteenth Conference on Uncertainty in Artificial Intelligence,2002.
[5]Fei Sha,F(xiàn)ernando Pereira.Shallow Parsing with Conditional Random Fields[C]//Proceedings of HLTNAACL,2003:134-141.
[6]Liang Huang and David Chiang.Better k-best parsing[C]//Proceeding of IWPT,2005:53-64.
[7]Franz Josef Och,Hermann Ney.Improved Statistical Alignment Models[C]//Proceedings of the 38th ACL,2000.
[8]Michael Collins,Philipp Koehn,Ivona Kucerova.Clause restructuring for statistical machine translation[C]//Proceeding of ACL,2005:531-540.
[9]Kishore Papineni,Salim Roukos,Todd Ward,et al..Bleu:a Method for Automatic Evaluation of Machine Translation[C]//Proceedings of the 40th ACL,2002:311-318.
[10]Frans J. Och. Minimum error rate training in statistical machine translation [C]//Proceeding of ACL,2003:160-167.