張?zhí)燹?/p>
[摘? ? ? ? ? ?要]? 構(gòu)建雙語平行語料庫是實現(xiàn)基于實例的機器翻譯的主要工作,而實現(xiàn)雙語語料的對齊則是構(gòu)建雙語平行語料庫的基礎(chǔ)。主要目標是針對英語與漢語的特點,搭建一個面向文學(xué)領(lǐng)域的、句子級別對齊的英漢平行語料庫。語料庫的構(gòu)建過程包括英漢句子對齊,經(jīng)過清洗存入數(shù)據(jù)庫,并實現(xiàn)對語料庫的瀏覽、檢索、導(dǎo)出功能。最終目標是為機器自動翻譯提供可以定制的、高質(zhì)量的標注數(shù)據(jù)集。進而開發(fā)了一個用戶交互模塊,允許用戶調(diào)用包括爬蟲模塊、句子對齊模塊、語料導(dǎo)入模塊、句對檢索模塊、語料庫瀏覽和修改模塊、語料導(dǎo)出模塊在內(nèi)的所有功能模塊,最后展示實驗成果。
[關(guān)? ? 鍵? ?詞]? 英漢雙語;機器翻譯;平行語料庫;句子對齊
[中圖分類號]? H315? ? ? ? ? ?[文獻標志碼]? A? ? ? ? ? ? ? [文章編號]? 2096-0603(2020)44-0154-04
一、引言
(一)背景
在當(dāng)今信息社會,人們經(jīng)常會接觸到非母語的信息資源,而漢語與英語的使用都非常廣泛,英漢互譯已經(jīng)融入了我們的生活與工作之中。為了滿足人們的這一需求,研究發(fā)展機器翻譯技術(shù)已經(jīng)成為一種潮流。隨著計算機技術(shù)的進步,基于實例的機器翻譯思想正在逐步成為未來機器翻譯探索的重要方向,而基于實例的機器翻譯必須經(jīng)過查詢平行語料庫來完成翻譯,因此構(gòu)建一個雙語語料庫是實現(xiàn)基于實例的機器翻譯的前提。
20世紀80年代中期,語料庫就開始應(yīng)用于小說文本的翻譯。在20世紀90年代建立了一大批平行語料庫中,小說文本占有較大比例[1]。
漢語和英語在語法規(guī)則及語序上有著明顯的區(qū)別,且存在大量難以翻譯的俗語,這點在文學(xué)作品中尤為明顯。這使傳統(tǒng)的基于規(guī)則的機器翻譯在實現(xiàn)英漢互譯時面臨諸多問題,在機器翻譯英文時往往無法得到通順的中文譯文。這時需要建立一個內(nèi)容豐富、準確可靠的英漢平行語料庫,通過查詢該語料庫將有效地提高譯文的質(zhì)量,使機器翻譯向“信”“達”“雅”的方向發(fā)展。
(二)技術(shù)發(fā)展狀況
構(gòu)建英漢平行語料庫需要從收集并整理好的英漢雙語文本中提取對應(yīng)的雙語片段,將它們成批量地存放到數(shù)據(jù)庫當(dāng)中,為了完成這項工作我們需要高效且精確的句子對齊技術(shù)。
研究各個級別的對齊技術(shù)一直是構(gòu)建雙語平行語料庫的主要議題。平行語料庫中只保存已經(jīng)對齊的語料,語料對齊的精確度越高,平行語料庫越可靠。本文將使用句子級別的對齊思想,方法主要有以下三種[2]。
1.基于長度的對齊方法。這種方法的核心假設(shè)是一種語言及其譯文的長度是接近的。因為不需要參考詞典信息,邏輯簡單,所以運行效率高、容易實現(xiàn),但對齊的準確度則相對較低。這種對齊方法由Brown和Gale提出[3][4],他們使用這種方法完成了英法雙語的對齊任務(wù),因為英語與法語發(fā)源于拉丁語系,同屬字母文字,源語言與譯文的長度相差不大。但英語與漢語差別較大,互為譯文的英語與漢語中,往往英文的長度要明顯長于漢語的長度。如果采用這種方法實現(xiàn)英語與漢語的句子級別對齊,則需要另外尋找一種衡量句子長度的方法。
2.基于詞匯的對齊方法。通過計算一對雙語文本中翻譯匹配詞匯的數(shù)量占總詞匯數(shù)量的比例來衡量其對齊的概率。翻譯匹配詞匯的占比越大,其互為翻譯的概率就越高。該理論需要考慮三種情況。第一種是匹配兩種語言中單詞拼寫相似的詞匯信息,該情況面向英語法語等拉丁語系的字母語言,應(yīng)用于構(gòu)建英漢平行語料庫時,因為兩種語言區(qū)別太大,這種情況也就不再適用。第二種是匹配不同語言中存在的有著明確相同涵義的詞匯,例如數(shù)字、日期、專有名詞等,這些詞匯在不同的語言中表達固定的涵義,合理運用這些詞匯能夠有效地提高對齊的準確率。第三種是匹配不同語言中涵義相對靈活多變的詞匯,比如形容詞、動詞、名稱等,這些詞匯在不同語言中的涵義有所差異,匹配難度較大,但其詞匯基數(shù)大,因此對它們進行匹配也是提高句子級別對齊準確率的重要途徑?;谠~匯的對齊思想對齊的準確度較高,但往往需要訪問額外的雙語詞典作為參照,或者用已有的雙語語料作為訓(xùn)練集,統(tǒng)計詞匯匹配概率[5]。故而運行速度較慢。
3.混合方法。結(jié)合上述兩種方法,在精確度和運行速度之間折中,得出的對齊方法即是混合方法[6]。Moore將基于句子長度的對齊方法與詞典相結(jié)合來實現(xiàn)句子對齊[7]。Utsuro[8]等完成的日文與英文的句子對齊實驗證明,混合方法比單純?nèi)魏我环N方法效果都要好。一些語言學(xué)或非語言學(xué)的啟發(fā)式信息,例如同源詞、標點數(shù)字、由大寫字母構(gòu)成的專名以及在原文和譯文同形式出現(xiàn)的字符串等,都可以作為句子對齊的依據(jù)[9][10]。
(三)主要研究內(nèi)容
本文將在分析研究漢語與英語的語言特點的基礎(chǔ)上,構(gòu)建高質(zhì)量的平行語料實驗數(shù)據(jù),包括探索如何提高語料句子級別對齊的精確度。在此基礎(chǔ)上討論英漢平行語料庫的構(gòu)建方法。
1.平行語料庫爬蟲的設(shè)計與實現(xiàn)
編寫高效的、自動化的網(wǎng)絡(luò)爬蟲。使用爬蟲獲取一定數(shù)量的文學(xué)作品的中文版本和英文版本作為平行語料庫的信息來源。因為需要的數(shù)據(jù)量較為龐大,故需要較高的爬蟲運行速度。
2.平行語料的清洗、對齊及入庫工作
統(tǒng)一語料的格式,實現(xiàn)語料的句子對齊。將所有通過爬蟲收集到的語料以TXT的格式保存,因為TXT文件體積小,存儲簡單方便,兼容性好。之后根據(jù)實現(xiàn)句子對齊程序的要求修改語料的格式,將表達同一含義的漢語和英語的段落交替排列。
語料對齊處理。將表達同一含義的漢語和英語一一對應(yīng),這是搭建平行語料庫比較關(guān)鍵的一步。以段落為單位的語料對齊較為容易實現(xiàn),但以句子為單位的語料對齊處理則比較困難,由于英語和漢語在語法上存在差別,想要將句子內(nèi)的各種結(jié)構(gòu)全部嚴絲合縫地對齊是比較困難的。Paraconc、A-ligner等軟件可以實現(xiàn)句子的對齊,本文將在基于長度的對齊方法的基礎(chǔ)上,結(jié)合部分基于詞匯的對齊方法進行句子對齊處理研究。
3.平行語料庫的后臺管理平臺
將對齊的語料存入數(shù)據(jù)庫,數(shù)據(jù)庫使用mysql,數(shù)據(jù)庫的規(guī)模初步定為70000~100000條。制作一個圖形界面來實現(xiàn)上述的兩個功能,即輸入網(wǎng)絡(luò)地址自動獲取新的語料并以TXT的格式保存,以及實現(xiàn)語料的句子級別對齊并在顯示框中顯示對齊結(jié)果、將結(jié)果存入數(shù)據(jù)庫增大其數(shù)據(jù)量。此外,提供給用戶便于使用的接口,包括導(dǎo)出功能、檢索功能、瀏覽功能等。系統(tǒng)提供一個句子級別對齊的英漢平行語料庫,允許用戶自主維護語料庫,用戶可以自主地不斷完善該語料庫,以方便自己的使用。致力于為研究者們提供數(shù)據(jù)量充足的、可操作性強的、精確度高的、可以自主維護的英漢平行語料庫。用戶群體選擇正在學(xué)習(xí)機器翻譯或研究相關(guān)內(nèi)容的人員。
二、系統(tǒng)設(shè)計
(一)概要設(shè)計
該系統(tǒng)包含爬蟲模塊、句子對齊模塊、語料導(dǎo)入模塊、語料庫瀏覽與修改模塊、句對檢索模塊、語料導(dǎo)出模塊、人機交互模塊共七個功能模塊。
1.爬蟲模塊
爬蟲模塊實現(xiàn)下載英漢雙語文檔的功能,提供從指定的數(shù)個英文學(xué)習(xí)網(wǎng)站中下載文檔的接口,用戶需要在用戶界面中輸入網(wǎng)址與自定義的工程名稱,該模塊將自動完成下載工作。
該模塊使用Python的selenium模塊實現(xiàn)對Google Chrome瀏覽器的監(jiān)控,連接運行于5000端口上的Pyspider爬蟲框架,Pyspider將根據(jù)用戶輸入的網(wǎng)址與自定義的工程名稱創(chuàng)建新的工程,之后selenium將自動修改Pyspider爬蟲代碼、保存工程以及運行工程,最后輸出JSON格式的英漢雙語文檔。
2.句子對齊模塊
句子對齊模塊實現(xiàn)英漢雙語文檔句子級別的對齊工作。用戶需要手動將爬蟲模塊獲取的英漢雙語文檔從JSON格式轉(zhuǎn)換為TXT格式,并將互為譯文的英文與中文篇章交替排列。向句子對齊模塊輸入處理好的TXT文檔,該模塊將自動完成英漢雙語語料的篇章及段落級別的對齊,之后使用算法在英漢平行語料段落級別對齊的基礎(chǔ)上實現(xiàn)句子級別的對齊。
最后句子對齊模塊將輸出已經(jīng)對齊的句對,并將對齊的結(jié)果顯示在用戶圖形界面上,供用戶審閱。
3.語料導(dǎo)入模塊
語料導(dǎo)入模塊將句子對齊模塊輸出的已經(jīng)對齊的句對存儲到數(shù)據(jù)庫當(dāng)中構(gòu)成語料庫。數(shù)據(jù)庫選擇MYSQL,數(shù)據(jù)庫有用戶和管理員兩種角色,用戶角色可以讀取、調(diào)用數(shù)據(jù)庫中的語料但不能對數(shù)據(jù)庫進行增添、修改和刪除操作。管理員角色則可以完成對數(shù)據(jù)庫的修改工作。
該模塊實現(xiàn)了用戶對英漢平行語料庫的增添功能,用戶可以通過該模塊不斷地擴充英漢平行語料庫的數(shù)據(jù)量。該模塊必須使用數(shù)據(jù)庫的管理員角色才能使用,用戶角色沒有使用權(quán)限。
4.數(shù)據(jù)庫瀏覽與修改模塊
數(shù)據(jù)庫瀏覽與修改模塊提供接口使用戶可以通過圖形界面瀏覽語料庫中儲存的所有英漢平行句對,并允許用戶對句對的內(nèi)容進行修改或直接刪除某些句對。通過該模塊實現(xiàn)了用戶對英漢平行語料庫的修改與刪除功能,用戶可以在使用該英漢平行語料庫的過程中手動修改一些觀察到的翻譯錯誤,或直接刪除一些句子對齊出錯的句對,這有助于提高英漢平行語料庫的句子對齊精確度,使該語料庫更加可靠。同樣該模塊必須使用數(shù)據(jù)庫的管理員角色才能使用,用戶角色沒有使用權(quán)限。
5.句對檢索模塊
句對檢索模塊提供接口允許用戶從英漢平行語料庫中檢索英漢平行句對,用戶可以通過句對的序號檢索句對,輸入句對的序號之后所有符合條件的句對將全部顯示在用戶圖形界面上。用戶也可以使用英文詞匯和中文詞匯檢索句對,輸入英文或中文的關(guān)鍵詞,用戶圖形界面將顯示所有包含該關(guān)鍵詞的句對。通過該模塊用戶可以觀察某一個詞匯在英漢雙語翻譯中的具體實例。
6.語料導(dǎo)出模塊
語料導(dǎo)出模塊提供接口允許用戶從英漢平行語料庫中導(dǎo)出語料,導(dǎo)出文件的格式可以在TXT格式與CSV格式之間選擇。用戶可以通過該模塊將英漢平行語料導(dǎo)出以滿足自己的需求。
以上關(guān)于操作MYSQL數(shù)據(jù)庫的功能全部通過Python的Pymysql模塊完成。
7.人機交互模塊
人機交互模塊管理用戶圖形界面,為用戶呈現(xiàn)所有的接口。用戶可以在這里調(diào)用其他模塊的所有功能。用戶圖形界面使用Python的Tkinter模塊完成編寫。
(二)詳細設(shè)計
1.數(shù)據(jù)流動
各個模塊之間的數(shù)據(jù)流動情況如下圖。
如圖所示,爬蟲模塊從網(wǎng)絡(luò)中獲取到TXT格式的英漢雙語文檔之后將該TXT文檔輸入句子對齊模塊;句子對齊模塊處理TXT文檔后得到對齊的英漢平行句對組,將該句對組存入英漢平行語料庫;已經(jīng)構(gòu)建完成的英漢平行語料庫根據(jù)用戶的需求將語料信息傳遞到人機交互模塊,人機交互模塊將信息呈現(xiàn)給用戶。
2.主要算法
本實驗的核心算法是用于實現(xiàn)英漢語料句子級別對齊的句子對齊算法。
兩種語言之間的配對模式可以大致分為四種情況。分別是中文與英文句子一一對應(yīng)的‘1-1型配對;兩句中文對應(yīng)一句英文的‘1-2型配對;一句中文對應(yīng)兩句英文的‘2-1型配對以及多句中文對應(yīng)多句英文的‘m-m型配對,m一般大于2,我們將包含m-m在內(nèi)的其他配對類型統(tǒng)一定義為‘2-2型配對。因此雙語語料的配對模式共有‘1-1‘1-2‘2-1‘2-2四種[11]。在這四種配對類型中,大多數(shù)中文與英文句子是‘1-1型配對關(guān)系。為了簡化問題,這里我們假設(shè)相互對齊的雙語語料在文本中以相似的順序出現(xiàn),不會出現(xiàn)語料交叉對齊的現(xiàn)象[12][13]。
三、總結(jié)與展望
該系統(tǒng)完成了英漢平行語料在句子級別上的對齊工作,從對齊精確度和程序運行速度兩方面綜合考慮,改進已有的算法,提出了一種用于英漢平行語料句子級別對齊的算法。系統(tǒng)使用戶可以對英漢平行語料庫進行自我維護,用戶能夠根據(jù)自己的需要改進語料庫。
同時系統(tǒng)還有一些問題有待于進一步完善。
1.該系統(tǒng)在對齊精確度和運行速度之間存在較大的矛盾沖突,在只應(yīng)用基于長度的句子對齊思想時,系統(tǒng)的對齊精確度不足,引入了基于詞匯的句子對齊方法之后,對齊精確度有所提高,但又明顯地減緩了運行速度。如果能進一步優(yōu)化算法,將能使這個問題得到改善。
2.句子對齊模塊對輸入的英漢雙語文檔的格式要求比較苛刻,如果格式不符合標準就無法完成句子的對齊工作,需要進一步改進代碼優(yōu)化句子對齊模塊對輸入的英漢雙語文檔的兼容性。
參考文獻:
[1]黃立波.中國當(dāng)代小說漢英平行語料庫:研制與應(yīng)用[J].外語教學(xué),2013,34(6):104-109.
[2]王占軍,姚衛(wèi)東.一種漢英雙語句子自動對齊算法[J].計算機仿真,2009,26(2):329-333.
[3]P.F.Brown,J.C.Lai,R.L.Mercer.Aligning Sentences in Parallel Corpora[C].Proceeding of the 29th Annual Meeting of the Asso-
ciation for Computational Linguistics(ACL91).Stroudsburg:Asso-ciation for Computational Linguistics,1991:169-176.
[4]Gale,Church.A Program for Aligning Sentences in Bilingual Corpora[J].Computational Linguistics,1991,19[1]:75-102.
[5]Church K W.Char_align:A program for Aligning Parallel Texts at the Character Level[C].Proceedings of the 31st Annual Meeting of the Association for Computational Linguistics(ACL93),Coumbus,OH,USA.Stroudsburg:Association for Computational Lin-guistics,1993:1-8.
[6]劉昕,周明,朱勝火,等.基于自動抽取詞匯信息的雙語句子對齊[J].計算機學(xué)報,1998,21(8):135-139.
[7]Robert C Moore.Fast and accurate sentence alignment of bilingual corpora[C].Proceedings of AMTA 2012,2012:135-144.
[8]Utsuro T,Ikeda H,Yamane M,et al.Bilingual Text Matching Using Bilingual Dictionary and Statistics[C].Proceedings of the 15th International Conference on Computational Linguistics (COLING94), Kyoto,Japan.Stroudsburg: Association for Computational Linguistics,1994:1076-1082.
[9]熊文新.英漢環(huán)保領(lǐng)域平行語料的句對齊與再對齊[J].現(xiàn)代圖書情報技術(shù),2013(234):36-41.
[10]Simard M,F(xiàn)oster G F,Isabelle P.Using Cognates to Align Sentences in Bilingual Corpora[C].Proceedings of the 1993 Conference of the Centre for Advanced Studies on Collaborative Research:Distributed Computing(CASON93).IBM Press,1993:1071-1082.
[11]張艷,柏岡秀紀.基于長度的擴展方法的漢英句子對齊[J].中文信息學(xué)報,2005,19(5):31-37.
[12]Philippe Langlais,Michel Simard,Jean Veronis.Method and practical issues in evaluating alignment techniques[C].Proceedings of COLING-ACL,1998:711-717.
[13]Dekai Wu.Alignment[M].Handbook of Natural Language Processing,CRC Press,2010:367-408.
◎編輯 曾彥慧
Literature-Oriented English-Chinese Parallel Corpus Construction
ZHANG Tian-Yi
Abstract:Constructing a bilingual parallel corpus is the core work of realizing the Case-based machine translation,and achieving the alignment of bilingual corpus is the foundation of constructing a bilingual parallel corpus. According to the characteristics of English and Chinese, the main goal of this article is to build an English-Chinese parallel corpus that is focused on the literary field and aligned with the sentence level. The corpus construction process includes English-Chinese sentence alignment, storing in the database after cleaning and realizing the browsing, retrieval and export functions of the corpus. Providing a customizable, high-quality annotation data sets for automatic machine translation is the ultimate goal of this corpus. Furthermore, a user interaction module that allows users to call all functional modules that include web crawler module, sentence alignment module, corpus import module, sentence pair retrieval module, corpus browsing and modification module and corpus export module will be made, finally showing the experimental results.
Key words:English-Chinese bilingual;machine translation;parallel corpus;sentence alignment