諾明花,張立強,劉匯丹,吳 健,丁治明
(1. 中國科學院 軟件研究所,北京 100190;2. 中國科學院 研究生院,北京 100049)
本文核心問題是針對特定領域漢藏多策略機器輔助翻譯系統(簡稱MSCT_CAT)構建短語對齊詞典。MSCT_CAT是基于實例的輔助翻譯系統。首先把輸入的漢語句子正確地分解為一些短語碎片,接著把這些短語碎片翻譯成藏文的短語碎片,最后再把這些短語碎片組織成完整的句子,每個短語碎片的翻譯是通過類比的原則來識別和比較已有實例與待譯短語的相似之處和相差之處,從而挑選出正確的譯文。
基于短語的統計機器翻譯的優勢在于短語能夠抓住局部上下文的依賴關系。迄今為止,已經出現了多種短語對抽取方法。Marcu[1]給出了一種直接計算短語對列表和相應概率值的方法;Wu[2]用一個雙語框架(Bracketing)的方法來抽取短語。這兩種方法的計算復雜性太高。Zhang[3]為雙語句子對建立一個互信息矩陣,從這個矩陣中抽取互信息相似的矩形區域即得到短語對,此方法并不要求詞對齊,而是充分利用詞對的互信息。后來Zhang[4]將短語抽取看作一個句子分割問題,在固定源短語時,尋找目標短語的最優左邊界和右邊界。這種方法的問題在于只能抽取連續的短語。Kaji[5]對源句子和目標句子分別進行句法分析,然后按照詞對齊結果來提取源子樹和目標子樹就得到短語對,該方法依賴于句法分析的結果。Och[6]提出了對齊模板方法,將單詞映射到詞類中。該方法由于算法簡單,容易實現,故而應用較廣,但是利用的信息較少。有的學者也提出了一些非連續短語的抽取方法,Chiang[7]的層次短語,允許短語內部包含子短語,但是由于沒有加入句法信息導致抽取的規則會帶來太多的噪音信息,對時間和空間的要求較高。何彥青[8]給出了一種基于“松弛尺度”的短語抽取方法,對Och的方法進行了修改。
考慮到目前藏文在詞性標注、句法層面加工處理技術不成熟,藏文短語獲取方法必須擺脫對詞對齊、句法分析等資源的依賴。
Wang[9]提出了一種基于序列相交的短語譯文獲取方法。該方法將句子視為詞的序列,在中日句對齊語料庫中包含待譯短語的所有漢語句子對應的日語句子進行序列相交,在不需要詞對齊、句法分析及詞典等資源的情況下,通過充分挖掘句對齊雙語語料庫,獲得高質量的短語譯文。
方法由基本模型、高頻干擾詞限制模塊、支持度限制模塊組成。基本模型從句子級對齊雙語語料庫中提取高質量的短語翻譯對候選并對其進行排序;高頻詞限制模塊解決譯文的輸出結果中的高頻詞干擾問題;支持度限制模塊控制輸出結果的個數。其中支持度限制模塊是因為基本模型沒有使用詞典、詞對齊等資源,無法判斷求出的交集結果是否符合譯文要求。故當求交結果的支持度很低時,往往得到的不是正確譯文;當候選譯文之間的支持度比較相近時,只輸出一個譯文,很可能漏掉正確的譯文結果。因此為了提高譯文結果的質量,需要一個判定模塊,在基本模型中增加對候選譯文的支持度的限制。

本文從句對齊漢藏語料中先獲取所有有效漢語語塊,對包含待譯漢語語塊的句對求交集,經過后處理得到相應的藏語譯文即得到漢藏互譯短語。本文獲取的短語是廣義上的,它是由若干個單詞組成的語塊。MSCT_CAT的短語對齊詞典中每條記錄包含漢語有效短語以及對應的藏文譯文。
藏文詞序列相交算法(簡稱TIA)使用的語料庫為漢藏句對齊雙語語料庫SABC,其中包含若干個漢藏對齊的句對。漢語句子是沒有像英文那樣自然形成的分詞標記。作為一種拼音文字,藏文中各音節之間由音節點分隔,但是詞與詞之間沒有分隔標記[10],很難區分詞的邊界。為了詞序列相交,本文分別使用斯坦福的中文分詞開源項目和中國科學院軟件研究所多語言信息處理研究室開發的藏文分詞模塊對漢藏單語語料進行分詞,為TIA做準備。TIA的核心是通過漢藏詞序列相交模型,獲取1-n的漢藏互譯短語對。
基本模型中,句子和短語均以詞序列的形式表示。句子和短語的序列表示以及句子的序列相交定義沿用文獻[9]的公式表示,表1給出漢藏雙語句對詞序列相交的示例。

表1 漢藏雙語句對詞序列相交示例表

續表
本節介紹藏文詞序列相交算法短語譯文獲取模型,簡稱SIBPTM模型。

從以上分析可以得出,兩個句對SPr與SPt相交結果表示如下:
Q={Q1,Q2, …,Qk} 為句對SPr和SPt中漢語句子CSr和CSt的交集(漢語短語集合),其中包含Qi(1≤i≤k)待翻譯的中文短語,T={T1,T2, …,Tg} 為SPr和SPt中藏文句子TSr和TSt的交集。T中肯定包含Qi的翻譯譯文,可以查找漢藏詞典確定漢藏互譯對(Qi,Tj)。
待翻譯中文短語由多個漢語單詞構成,表示為如下公式(2):
假設Qi中任意單詞Qi+θ(1≤θ≤l)在詞典中查到一個以上譯文,這些譯文保存到鏈結構L中,一定會存在某個Tj+ω能夠滿足Tj+ω∩L≠ Ф的條件。這些Tj+ω(1≤ω≤g)最終構成Qi的譯文Tj。Tj可以是連續的,也可以是非連續的。
從公式(1)得知,句對的序列相交由若干個藏文公共子串CS組成。其中為每個CS構造一個樹結構T的話,句對的序列相交可以組成一個森林。設定兩種節點。其中有存儲藏文CS的某個單詞的節點,用ITN表示;還有某個藏文單詞節點的同義詞、時態變化或格變化的節點,用SYN表示,約定SYN在其關聯的ITN的右子節點中記錄;ITN的左子節點中記錄同一個CS中相鄰的藏文單詞。因此,某個T的根節點是tag 域為1的ITN節點,T的葉子是左子節點為空的ITN節點。CS中某個單詞對應節點的所有同義詞、格變化或時態變化等形態變化形式構成一個列表SL。
假設,在SABC中有42個中文句子包含待翻譯語塊Q,其對應藏文句子取交后獲取兩個公共子串P1和P2。P1和P2的樹結構分別用T1和T2表示,如圖1。

圖1 譯文確認過程
確認(Qi,Tj)的過程是對由T1和T2組成的森林的搜索過程。在圖1中,P11出現頻次等于42,被接受為譯文Tj的一部分。P12節點最后一個域指向P12_sy1、P12_sy2和P12_sy3組成的鏈表,同時P12、P12_sy1、P12_sy2和P12_sy3出現頻次的和等于42,因此詞組[P12,P12_sy1,P12_sy2,P12_sy3] 被接受。P13出現頻次為42,它被接受為Tj的一部分。P14和P14_sy1出現頻次和為38,從而它們被丟棄。同樣,P21和P23出現頻次等于42,它們被接受為Tj的一部分。P22、P22_sy1、P22_sy2的頻次和等于42,詞組[P22,P22_sy1,P22_sy2] 被接受為Tj的一部分。Qi的最終翻譯結果Tj是一個集合P={P11[P12,P12_sy1,P12_sy2,P12_sy3]P13,P21[P22,P22_sy1,P22_sy2]P23}。
為了不依賴于額外資源,本文提出兩步抽取漢藏短語方法。漢藏短語對抽取流程如圖2所示。漢語和藏文語塊抽取先后分兩步來進行。在面向中文信息處理的研究工作中,呂學強和張樂[12]利用Nagao的N-gram 統計算法,在大規模漢語語料中進行抽取語塊的實驗,他們在論文中還提出一個刪除同頻子串的算法(SSR),提高了語塊抽取的準確率。SSR可靠并復雜度不高。在大規模語料中很實用。從漢語語塊抽取的實際需求出發,本文在Nagao的串頻統計方法的基礎上開展基于詞語的中文語塊抽取并刪除同頻詞串。提取的中文語塊是連續的。具體串頻統計和刪除同頻詞串不是本文的重點,不再贅述,可以參考文獻[12-13]。

圖2 漢藏短語對抽取流程
除了藏文語塊抽取(虛線內部)外,漢藏短語對抽取需要做的工作有以下幾點。虛線內部算法將在4.2節詳細說明。首先,用腳本程序將SABC分為漢藏各自的單語語料,漢語語料和藏文語料分別標記為CC和TC。其次,用Nagao的算法計算出CC中所有2-gram 到5-gram 語塊做為候選漢語連續語塊。根據文獻[12]中算法,通過子串歸并刪除同一頻度的子串。最后對這些候選漢語語塊進行過濾和排序后將漢語語塊集CPS保存到文本文檔中。另,構建TC中的藏文停用詞表TSW為邊界高頻干擾過濾模塊使用做準備。

藏文詞串序列相交(簡稱TIA)算法不依賴于額外資源的前提下,對句對齊雙語語料庫中包含待翻譯漢語語塊Q的句對TSS求交集,通過后處理得到漢語語塊的譯文,從而構建漢藏短語詞典。為了提高準確率TIA用到漢藏詞典[11],并設定閾值來解決部分未登錄現象。TIA重點解決1-n的短語對。
TIA算法的核心由兩步組成。第一步使用第二節介紹的序列相交翻譯模型,對藏文句子集中任意兩句取交來為已知的Q構建公共子串森林F。在公式(2),Q由若干個詞Qi(1≤i≤l) 組成。取交過程中任意Qi的譯文均被保存并生成公共子串樹T或森林F。并不是T或F中所有節點構成Q的譯文P,節點滿足以下兩個條件才能組成P的候選。
1) 譯文中一定包含任意Qi(1≤i≤l) 的譯文;
2) 所有候選譯文的支持度和等于Sn。
第二步遍歷F,篩選出滿足以上條件的候選單詞并確認Q的譯文P。P是CS的集合,P的生成過程描述如下。
輸入:藏文句子集公共子串森林F
1. 初始化tn:= 0 ,用于記錄森林中樹的個數。
2. 初始化con:=true,用于記錄一棵樹中出現的候選是否連續。
3.Fornumfrom 1 to subTreeCount(F)
4. Foridfrom 1 to nodeCount(T)
5.nodeList:= RightChild(id) .
6. If (nodeList==null && Freq(id)==Sn)
7. then節點id添加到{Pi} 中。
8. Else if ( Freq(nodeList)==Sn)
9. then 節點id的左子節點組合添加到{Pi} 中。
10. Else
11. 拋棄當前節點id,con:=false。
12. End for
13. 公共子串樹的個數tn自動加1。
14. End for
15. If (tn==1 )
16. then (Q,P) 標記為 A 。
17. If (tn> 1 )
18. then (Q,P) 標記為 B。
19. If (i==1 )
20. then P 被標記為 C。
21. If (i> 1 )
22. then P 被標記為D。
輸出:連續性和對應關系被標記的漢藏互譯對(Q,P)
偽代碼中,函數subTreeCount(F)表示組成森林的樹的個數;nodeCount(T)表示一個樹中節點個數;RightChild(id)表示節點id的右子節點,null值表示沒有右子節點;Freq(id)表示節點id出現頻率,如果其參數是節點列表,計算出列表中所有節點出現頻率之和;Sn表示包含待譯語塊Q的句對個數;con用于記錄一棵樹中出現的候選是否連續, 值等于false表示一棵樹中出現的候選譯文中只有部分滿足頻率條件而構成不連續譯文P,值等于true表示一棵樹中出現的候選譯文是連續;{Pi}表示候選譯文集合。用A,B,C,D分別將P標記為1-1,1-n,連續或非連續等不同短語類型。
公共子串樹和森林結構可以充分體現藏文語料中時態變化和格變化等形態變化引起的一對多的互譯短語;同時能夠正確找出非連續的藏文短語。譯文生成過程中標識了所有藏文短語類型。因此,TIA抽取的短語既能滿足藏文短語的連續性,又能滿足短語對應關系。
實驗數據是漢藏法律法規和公文報告等特定領域語料。收集到的原始語料通過篇章對齊和句子對齊后,再抽取單語語料,最終形成短語對抽取模塊可以處理的五份漢藏單語語料。通過分析發現, 語料
1和語料4中低頻短語對(在語料中出現次數很少)較頻繁,語料5在五組語料中句對數最多。實驗的準確率(P)定義為:
其中,N為算法從語料庫中抽取出的所有藏文短語的個數,Nr為其中正確短語的個數。
Giza++是用于從句子對齊雙語語料中訓練詞語對齊,但工作組在特定領域已收集的句子對齊漢藏語料規模還無法達到較大的規模,Giza++雙向詞對齊結果合并后很不理想。因此本文提出擺脫詞對齊結果的短語抽取方案SIBPTM模型。
Moses是一個基于短語的統計機器翻譯系統,從訓練到解碼完全開放源代碼。Moses在解碼之前可以生成雙語短語表和重排序表,但其在本實驗設計中使用的漢藏句對齊五份實驗語料上性能和短語準確率沒有TIA算法運行效果好。就性能而言,搭建Moses前需要安裝Giza、Srilm等額外工具之外生成短語表之前需要生成目標語語言模型,這些工作較費時間;TIA只需要句子對齊漢藏語料作為輸入,計算出來的即為漢藏短語。就準確率而言,請參見圖3。圖中橫坐標表示語料序號,縱坐標表示準確率。

圖3 TIA和Moses準確率比較圖
圖3結果表明,為實驗準備的五份漢藏語料上TIA算法生成漢藏短語對準確率明顯高于Moses生成的短語表準確率。Moses要用到基于統計的語言模型,工作組收集語料初步階段的漢藏法律法規和公文領域對齊語料規模無法達到Moses及相關統計機器翻譯開源工具對語料規模的要求。目前的語料規模下,MSCT_CAT抽取短語互譯對再生成待譯句子的譯文過程中,Moses生成的短語表還不可取。
在實驗中,對五組漢語語料用Nagao的N-gram 統計算法和刪除同頻子串的算法(SSR)后處理停用詞,再人工篩選得到語法意義較明確的漢語語塊。藏文語料先用TIA進行短語抽取,再采用計算機輔助人工的方法判斷互譯對正確與否,表2列出TIA抽取的連續短語和非連續短語統計結果。表2中D表示Discontinuous,C表示Continuous。

表2 TIA抽取結果的連續性統計表
為了證明TIA算法抽取1-n短語對的有效性,對TIA抽取到的結果分析其漢藏對應關系。表3顯示對應關系分布情況。該方法獲得的短語譯文準確率均值達到81%。

表3 TIA抽取結果的對應關系統計表
顯而易見,語料中非連續短語對和1-n的短語對不可以忽略不計。TIA可以抽取連續和非連續的短語對。同時能夠有效地抽取1-1和1-n漢藏短語對。從實驗結果分析,由于數據稀疏問題,語料1和語料4兩組準確率在同組試驗中低于其他語料。低頻短語在序列相交過程中很容易帶著額外的與譯文無關內容,這些干擾信息導致這兩組的準確率降低。設定頻率限度可以提高準確率,損失召回率。在每組實驗結果中,語料5的準確率最佳,這表明可以通過擴大領域對齊語料規模提高覆蓋率,較高的覆蓋率能提高準確率。
目前漢藏雙語語料資源不足,語料處理技術正處于起步階段。這種前提下,文章提出兩步抽取漢藏語塊的方法。第一步利用Nagao的N-gram 統計算法和呂學強的SRR抽取有效漢語語塊。第二步計算包含待譯漢語語塊的漢藏句對公共子串的思想出發,嘗試藏文詞串序列相交算法獲取譯文。其結果能滿足多策略漢藏輔助翻譯系統的短語實例建設需求。然而,目前收集的漢藏對齊語料中存在數據稀疏問題。N-gram、SSR以及TIA都是依賴于統計的,對于數據稀疏問題無濟于事。提高語料覆蓋率有利于擴建漢藏短語詞典。序列相交模型將漢藏詞典作為輔助資源進行短語對獲取,由于召回率不高而導致未登陸現象。另外,雙語語料中形態變化現象比較復雜,進一步分析和解決有助于提高準確率并解決未登錄現象。下一步工作中提高準確率的同時提高召回率,使得抽取的短語融入生成模型中為漢藏輔助翻譯工作發揮作用。
[1] Daniel Marcu,William Wong. A Phrase-based,Joint Probability Model for Statistical Machine Translation[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP). Philadelphia,PA,USA. July 2002: 133-139.
[2] Dekai wu. Stochastic inversion transduction grammars and bilingual parsing of parallel corpora[J]. Computational Linguistics, 1997, 23(3):377-404.
[3] Ying Zhang,Stephan Vogel,Alex Waibel. Integrated phrase segmentation and alignment algorithm for statistical machine translation[C]//Proceeding of International Conference on Natural Language Processing and Knowledge Engineering. Beijing,2003: 567-573.
[4] Ying Zhang,Stephan Vogel. Competitive Grouping in Integrated Phrase Segmentation and Alignment Model[C]//Proceeding of ACL Workshop On Building and Using Parallel Texts. Ann Arbor,2005:159-162.
[5] H Kaji,Y Kida,Y Morimoto. Learning Translation Templates from Bilingual Texts[C]//Proceedings of the 14thInternational Conference on Computational Linguistics. Nantes France,1992:672-678.
[6] Franz Josef Och,Hermann Ney. The alignment template approach to statistical machine translation[J]. Computational Linguistics,2004,30(4): 417-449.
[7] David Chiang. A Hierarchical Phrase-Based Model for Statistical Machine Translation[C]//Proceedings of the 43thAnnual Meeting of the Association for Computational Linguistics. Arbor,2005: 263-270.
[8] 何彥青,周玉,宗成慶,等. 基于“松弛尺度”的短語翻譯對抽取方法[J]. 中文信息學報,2007,21(5):91-95.
[9] 王辰,宋國龍,吳宏林,等. 基于序列相交的短語譯文獲取[J]. 中文信息學報,2009,23(1):39-43.
[10] 周季文,傅同和. 藏漢互譯教程[J]. 北京,民族出版社,1999.
[11] 張怡蓀. 藏漢大辭典[J]. 北京,民族出版社,1993.
[12] Xueqiang Lv, Le Zhang, and Junfeng Hu. Statistical Substring Reduction in Linear Time[C]//Proceedings of IJCNLP-2004,2004:320-327.
[13] Nagao,Makoto,Shinsuke Mori. A new method of N-gram statistics for large number of n and automatic extraction of words and phrases from large text data of Japanese[C]//COLING-94,1994: 611-615.