張?zhí)燹?/p>


[摘? ? ? ? ? ?要]? 構(gòu)建雙語平行語料庫是實(shí)現(xiàn)基于實(shí)例的機(jī)器翻譯的主要工作,而實(shí)現(xiàn)雙語語料的對(duì)齊則是構(gòu)建雙語平行語料庫的基礎(chǔ)。主要目標(biāo)是針對(duì)英語與漢語的特點(diǎn),搭建一個(gè)面向文學(xué)領(lǐng)域的、句子級(jí)別對(duì)齊的英漢平行語料庫。語料庫的構(gòu)建過程包括英漢句子對(duì)齊,經(jīng)過清洗存入數(shù)據(jù)庫,并實(shí)現(xiàn)對(duì)語料庫的瀏覽、檢索、導(dǎo)出功能。最終目標(biāo)是為機(jī)器自動(dòng)翻譯提供可以定制的、高質(zhì)量的標(biāo)注數(shù)據(jù)集。進(jìn)而開發(fā)了一個(gè)用戶交互模塊,允許用戶調(diào)用包括爬蟲模塊、句子對(duì)齊模塊、語料導(dǎo)入模塊、句對(duì)檢索模塊、語料庫瀏覽和修改模塊、語料導(dǎo)出模塊在內(nèi)的所有功能模塊,最后展示實(shí)驗(yàn)成果。
[關(guān)? ? 鍵? ?詞]? 英漢雙語;機(jī)器翻譯;平行語料庫;句子對(duì)齊
[中圖分類號(hào)]? H315? ? ? ? ? ?[文獻(xiàn)標(biāo)志碼]? A? ? ? ? ? ? ? [文章編號(hào)]? 2096-0603(2020)44-0154-04
一、引言
(一)背景
在當(dāng)今信息社會(huì),人們經(jīng)常會(huì)接觸到非母語的信息資源,而漢語與英語的使用都非常廣泛,英漢互譯已經(jīng)融入了我們的生活與工作之中。為了滿足人們的這一需求,研究發(fā)展機(jī)器翻譯技術(shù)已經(jīng)成為一種潮流。隨著計(jì)算機(jī)技術(shù)的進(jìn)步,基于實(shí)例的機(jī)器翻譯思想正在逐步成為未來機(jī)器翻譯探索的重要方向,而基于實(shí)例的機(jī)器翻譯必須經(jīng)過查詢平行語料庫來完成翻譯,因此構(gòu)建一個(gè)雙語語料庫是實(shí)現(xiàn)基于實(shí)例的機(jī)器翻譯的前提。
20世紀(jì)80年代中期,語料庫就開始應(yīng)用于小說文本的翻譯。在20世紀(jì)90年代建立了一大批平行語料庫中,小說文本占有較大比例[1]。
漢語和英語在語法規(guī)則及語序上有著明顯的區(qū)別,且存在大量難以翻譯的俗語,這點(diǎn)在文學(xué)作品中尤為明顯。這使傳統(tǒng)的基于規(guī)則的機(jī)器翻譯在實(shí)現(xiàn)英漢互譯時(shí)面臨諸多問題,在機(jī)器翻譯英文時(shí)往往無法得到通順的中文譯文。這時(shí)需要建立一個(gè)內(nèi)容豐富、準(zhǔn)確可靠的英漢平行語料庫,通過查詢?cè)撜Z料庫將有效地提高譯文的質(zhì)量,使機(jī)器翻譯向“信”“達(dá)”“雅”的方向發(fā)展。
(二)技術(shù)發(fā)展?fàn)顩r
構(gòu)建英漢平行語料庫需要從收集并整理好的英漢雙語文本中提取對(duì)應(yīng)的雙語片段,將它們成批量地存放到數(shù)據(jù)庫當(dāng)中,為了完成這項(xiàng)工作我們需要高效且精確的句子對(duì)齊技術(shù)。
研究各個(gè)級(jí)別的對(duì)齊技術(shù)一直是構(gòu)建雙語平行語料庫的主要議題。平行語料庫中只保存已經(jīng)對(duì)齊的語料,語料對(duì)齊的精確度越高,平行語料庫越可靠。本文將使用句子級(jí)別的對(duì)齊思想,方法主要有以下三種[2]。
1.基于長度的對(duì)齊方法。這種方法的核心假設(shè)是一種語言及其譯文的長度是接近的。因?yàn)椴恍枰獏⒖荚~典信息,邏輯簡單,所以運(yùn)行效率高、容易實(shí)現(xiàn),但對(duì)齊的準(zhǔn)確度則相對(duì)較低。這種對(duì)齊方法由Brown和Gale提出[3][4],他們使用這種方法完成了英法雙語的對(duì)齊任務(wù),因?yàn)橛⒄Z與法語發(fā)源于拉丁語系,同屬字母文字,源語言與譯文的長度相差不大。但英語與漢語差別較大,互為譯文的英語與漢語中,往往英文的長度要明顯長于漢語的長度。如果采用這種方法實(shí)現(xiàn)英語與漢語的句子級(jí)別對(duì)齊,則需要另外尋找一種衡量句子長度的方法。
2.基于詞匯的對(duì)齊方法。通過計(jì)算一對(duì)雙語文本中翻譯匹配詞匯的數(shù)量占總詞匯數(shù)量的比例來衡量其對(duì)齊的概率。翻譯匹配詞匯的占比越大,其互為翻譯的概率就越高。該理論需要考慮三種情況。第一種是匹配兩種語言中單詞拼寫相似的詞匯信息,該情況面向英語法語等拉丁語系的字母語言,應(yīng)用于構(gòu)建英漢平行語料庫時(shí),因?yàn)閮煞N語言區(qū)別太大,這種情況也就不再適用。第二種是匹配不同語言中存在的有著明確相同涵義的詞匯,例如數(shù)字、日期、專有名詞等,這些詞匯在不同的語言中表達(dá)固定的涵義,合理運(yùn)用這些詞匯能夠有效地提高對(duì)齊的準(zhǔn)確率。第三種是匹配不同語言中涵義相對(duì)靈活多變的詞匯,比如形容詞、動(dòng)詞、名稱等,這些詞匯在不同語言中的涵義有所差異,匹配難度較大,但其詞匯基數(shù)大,因此對(duì)它們進(jìn)行匹配也是提高句子級(jí)別對(duì)齊準(zhǔn)確率的重要途徑。基于詞匯的對(duì)齊思想對(duì)齊的準(zhǔn)確度較高,但往往需要訪問額外的雙語詞典作為參照,或者用已有的雙語語料作為訓(xùn)練集,統(tǒng)計(jì)詞匯匹配概率[5]。故而運(yùn)行速度較慢。
3.混合方法。結(jié)合上述兩種方法,在精確度和運(yùn)行速度之間折中,得出的對(duì)齊方法即是混合方法[6]。Moore將基于句子長度的對(duì)齊方法與詞典相結(jié)合來實(shí)現(xiàn)句子對(duì)齊[7]。Utsuro[8]等完成的日文與英文的句子對(duì)齊實(shí)驗(yàn)證明,混合方法比單純?nèi)魏我环N方法效果都要好。一些語言學(xué)或非語言學(xué)的啟發(fā)式信息,例如同源詞、標(biāo)點(diǎn)數(shù)字、由大寫字母構(gòu)成的專名以及在原文和譯文同形式出現(xiàn)的字符串等,都可以作為句子對(duì)齊的依據(jù)[9][10]。
(三)主要研究內(nèi)容
本文將在分析研究漢語與英語的語言特點(diǎn)的基礎(chǔ)上,構(gòu)建高質(zhì)量的平行語料實(shí)驗(yàn)數(shù)據(jù),包括探索如何提高語料句子級(jí)別對(duì)齊的精確度。在此基礎(chǔ)上討論英漢平行語料庫的構(gòu)建方法。
1.平行語料庫爬蟲的設(shè)計(jì)與實(shí)現(xiàn)
編寫高效的、自動(dòng)化的網(wǎng)絡(luò)爬蟲。使用爬蟲獲取一定數(shù)量的文學(xué)作品的中文版本和英文版本作為平行語料庫的信息來源。因?yàn)樾枰臄?shù)據(jù)量較為龐大,故需要較高的爬蟲運(yùn)行速度。
2.平行語料的清洗、對(duì)齊及入庫工作
統(tǒng)一語料的格式,實(shí)現(xiàn)語料的句子對(duì)齊。將所有通過爬蟲收集到的語料以TXT的格式保存,因?yàn)門XT文件體積小,存儲(chǔ)簡單方便,兼容性好。之后根據(jù)實(shí)現(xiàn)句子對(duì)齊程序的要求修改語料的格式,將表達(dá)同一含義的漢語和英語的段落交替排列。
語料對(duì)齊處理。將表達(dá)同一含義的漢語和英語一一對(duì)應(yīng),這是搭建平行語料庫比較關(guān)鍵的一步。以段落為單位的語料對(duì)齊較為容易實(shí)現(xiàn),但以句子為單位的語料對(duì)齊處理則比較困難,由于英語和漢語在語法上存在差別,想要將句子內(nèi)的各種結(jié)構(gòu)全部嚴(yán)絲合縫地對(duì)齊是比較困難的。Paraconc、A-ligner等軟件可以實(shí)現(xiàn)句子的對(duì)齊,本文將在基于長度的對(duì)齊方法的基礎(chǔ)上,結(jié)合部分基于詞匯的對(duì)齊方法進(jìn)行句子對(duì)齊處理研究。
3.平行語料庫的后臺(tái)管理平臺(tái)
將對(duì)齊的語料存入數(shù)據(jù)庫,數(shù)據(jù)庫使用mysql,數(shù)據(jù)庫的規(guī)模初步定為70000~100000條。制作一個(gè)圖形界面來實(shí)現(xiàn)上述的兩個(gè)功能,即輸入網(wǎng)絡(luò)地址自動(dòng)獲取新的語料并以TXT的格式保存,以及實(shí)現(xiàn)語料的句子級(jí)別對(duì)齊并在顯示框中顯示對(duì)齊結(jié)果、將結(jié)果存入數(shù)據(jù)庫增大其數(shù)據(jù)量。此外,提供給用戶便于使用的接口,包括導(dǎo)出功能、檢索功能、瀏覽功能等。系統(tǒng)提供一個(gè)句子級(jí)別對(duì)齊的英漢平行語料庫,允許用戶自主維護(hù)語料庫,用戶可以自主地不斷完善該語料庫,以方便自己的使用。致力于為研究者們提供數(shù)據(jù)量充足的、可操作性強(qiáng)的、精確度高的、可以自主維護(hù)的英漢平行語料庫。用戶群體選擇正在學(xué)習(xí)機(jī)器翻譯或研究相關(guān)內(nèi)容的人員。
二、系統(tǒng)設(shè)計(jì)
(一)概要設(shè)計(jì)
該系統(tǒng)包含爬蟲模塊、句子對(duì)齊模塊、語料導(dǎo)入模塊、語料庫瀏覽與修改模塊、句對(duì)檢索模塊、語料導(dǎo)出模塊、人機(jī)交互模塊共七個(gè)功能模塊。
1.爬蟲模塊
爬蟲模塊實(shí)現(xiàn)下載英漢雙語文檔的功能,提供從指定的數(shù)個(gè)英文學(xué)習(xí)網(wǎng)站中下載文檔的接口,用戶需要在用戶界面中輸入網(wǎng)址與自定義的工程名稱,該模塊將自動(dòng)完成下載工作。
該模塊使用Python的selenium模塊實(shí)現(xiàn)對(duì)Google Chrome瀏覽器的監(jiān)控,連接運(yùn)行于5000端口上的Pyspider爬蟲框架,Pyspider將根據(jù)用戶輸入的網(wǎng)址與自定義的工程名稱創(chuàng)建新的工程,之后selenium將自動(dòng)修改Pyspider爬蟲代碼、保存工程以及運(yùn)行工程,最后輸出JSON格式的英漢雙語文檔。
2.句子對(duì)齊模塊
句子對(duì)齊模塊實(shí)現(xiàn)英漢雙語文檔句子級(jí)別的對(duì)齊工作。用戶需要手動(dòng)將爬蟲模塊獲取的英漢雙語文檔從JSON格式轉(zhuǎn)換為TXT格式,并將互為譯文的英文與中文篇章交替排列。向句子對(duì)齊模塊輸入處理好的TXT文檔,該模塊將自動(dòng)完成英漢雙語語料的篇章及段落級(jí)別的對(duì)齊,之后使用算法在英漢平行語料段落級(jí)別對(duì)齊的基礎(chǔ)上實(shí)現(xiàn)句子級(jí)別的對(duì)齊。
最后句子對(duì)齊模塊將輸出已經(jīng)對(duì)齊的句對(duì),并將對(duì)齊的結(jié)果顯示在用戶圖形界面上,供用戶審閱。
3.語料導(dǎo)入模塊
語料導(dǎo)入模塊將句子對(duì)齊模塊輸出的已經(jīng)對(duì)齊的句對(duì)存儲(chǔ)到數(shù)據(jù)庫當(dāng)中構(gòu)成語料庫。數(shù)據(jù)庫選擇MYSQL,數(shù)據(jù)庫有用戶和管理員兩種角色,用戶角色可以讀取、調(diào)用數(shù)據(jù)庫中的語料但不能對(duì)數(shù)據(jù)庫進(jìn)行增添、修改和刪除操作。管理員角色則可以完成對(duì)數(shù)據(jù)庫的修改工作。
該模塊實(shí)現(xiàn)了用戶對(duì)英漢平行語料庫的增添功能,用戶可以通過該模塊不斷地?cái)U(kuò)充英漢平行語料庫的數(shù)據(jù)量。該模塊必須使用數(shù)據(jù)庫的管理員角色才能使用,用戶角色沒有使用權(quán)限。
4.數(shù)據(jù)庫瀏覽與修改模塊
數(shù)據(jù)庫瀏覽與修改模塊提供接口使用戶可以通過圖形界面瀏覽語料庫中儲(chǔ)存的所有英漢平行句對(duì),并允許用戶對(duì)句對(duì)的內(nèi)容進(jìn)行修改或直接刪除某些句對(duì)。通過該模塊實(shí)現(xiàn)了用戶對(duì)英漢平行語料庫的修改與刪除功能,用戶可以在使用該英漢平行語料庫的過程中手動(dòng)修改一些觀察到的翻譯錯(cuò)誤,或直接刪除一些句子對(duì)齊出錯(cuò)的句對(duì),這有助于提高英漢平行語料庫的句子對(duì)齊精確度,使該語料庫更加可靠。同樣該模塊必須使用數(shù)據(jù)庫的管理員角色才能使用,用戶角色沒有使用權(quán)限。
5.句對(duì)檢索模塊
句對(duì)檢索模塊提供接口允許用戶從英漢平行語料庫中檢索英漢平行句對(duì),用戶可以通過句對(duì)的序號(hào)檢索句對(duì),輸入句對(duì)的序號(hào)之后所有符合條件的句對(duì)將全部顯示在用戶圖形界面上。用戶也可以使用英文詞匯和中文詞匯檢索句對(duì),輸入英文或中文的關(guān)鍵詞,用戶圖形界面將顯示所有包含該關(guān)鍵詞的句對(duì)。通過該模塊用戶可以觀察某一個(gè)詞匯在英漢雙語翻譯中的具體實(shí)例。
6.語料導(dǎo)出模塊
語料導(dǎo)出模塊提供接口允許用戶從英漢平行語料庫中導(dǎo)出語料,導(dǎo)出文件的格式可以在TXT格式與CSV格式之間選擇。用戶可以通過該模塊將英漢平行語料導(dǎo)出以滿足自己的需求。
以上關(guān)于操作MYSQL數(shù)據(jù)庫的功能全部通過Python的Pymysql模塊完成。
7.人機(jī)交互模塊
人機(jī)交互模塊管理用戶圖形界面,為用戶呈現(xiàn)所有的接口。用戶可以在這里調(diào)用其他模塊的所有功能。用戶圖形界面使用Python的Tkinter模塊完成編寫。
(二)詳細(xì)設(shè)計(jì)
1.數(shù)據(jù)流動(dòng)
各個(gè)模塊之間的數(shù)據(jù)流動(dòng)情況如下圖。
如圖所示,爬蟲模塊從網(wǎng)絡(luò)中獲取到TXT格式的英漢雙語文檔之后將該TXT文檔輸入句子對(duì)齊模塊;句子對(duì)齊模塊處理TXT文檔后得到對(duì)齊的英漢平行句對(duì)組,將該句對(duì)組存入英漢平行語料庫;已經(jīng)構(gòu)建完成的英漢平行語料庫根據(jù)用戶的需求將語料信息傳遞到人機(jī)交互模塊,人機(jī)交互模塊將信息呈現(xiàn)給用戶。
2.主要算法
本實(shí)驗(yàn)的核心算法是用于實(shí)現(xiàn)英漢語料句子級(jí)別對(duì)齊的句子對(duì)齊算法。
兩種語言之間的配對(duì)模式可以大致分為四種情況。分別是中文與英文句子一一對(duì)應(yīng)的‘1-1型配對(duì);兩句中文對(duì)應(yīng)一句英文的‘1-2型配對(duì);一句中文對(duì)應(yīng)兩句英文的‘2-1型配對(duì)以及多句中文對(duì)應(yīng)多句英文的‘m-m型配對(duì),m一般大于2,我們將包含m-m在內(nèi)的其他配對(duì)類型統(tǒng)一定義為‘2-2型配對(duì)。因此雙語語料的配對(duì)模式共有‘1-1‘1-2‘2-1‘2-2四種[11]。在這四種配對(duì)類型中,大多數(shù)中文與英文句子是‘1-1型配對(duì)關(guān)系。為了簡化問題,這里我們假設(shè)相互對(duì)齊的雙語語料在文本中以相似的順序出現(xiàn),不會(huì)出現(xiàn)語料交叉對(duì)齊的現(xiàn)象[12][13]。
三、總結(jié)與展望
該系統(tǒng)完成了英漢平行語料在句子級(jí)別上的對(duì)齊工作,從對(duì)齊精確度和程序運(yùn)行速度兩方面綜合考慮,改進(jìn)已有的算法,提出了一種用于英漢平行語料句子級(jí)別對(duì)齊的算法。系統(tǒng)使用戶可以對(duì)英漢平行語料庫進(jìn)行自我維護(hù),用戶能夠根據(jù)自己的需要改進(jìn)語料庫。
同時(shí)系統(tǒng)還有一些問題有待于進(jìn)一步完善。
1.該系統(tǒng)在對(duì)齊精確度和運(yùn)行速度之間存在較大的矛盾沖突,在只應(yīng)用基于長度的句子對(duì)齊思想時(shí),系統(tǒng)的對(duì)齊精確度不足,引入了基于詞匯的句子對(duì)齊方法之后,對(duì)齊精確度有所提高,但又明顯地減緩了運(yùn)行速度。如果能進(jìn)一步優(yōu)化算法,將能使這個(gè)問題得到改善。
2.句子對(duì)齊模塊對(duì)輸入的英漢雙語文檔的格式要求比較苛刻,如果格式不符合標(biāo)準(zhǔn)就無法完成句子的對(duì)齊工作,需要進(jìn)一步改進(jìn)代碼優(yōu)化句子對(duì)齊模塊對(duì)輸入的英漢雙語文檔的兼容性。
參考文獻(xiàn):
[1]黃立波.中國當(dāng)代小說漢英平行語料庫:研制與應(yīng)用[J].外語教學(xué),2013,34(6):104-109.
[2]王占軍,姚衛(wèi)東.一種漢英雙語句子自動(dòng)對(duì)齊算法[J].計(jì)算機(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]劉昕,周明,朱勝火,等.基于自動(dòng)抽取詞匯信息的雙語句子對(duì)齊[J].計(jì)算機(jī)學(xué)報(bào),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)域平行語料的句對(duì)齊與再對(duì)齊[J].現(xiàn)代圖書情報(bào)技術(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ì).基于長度的擴(kuò)展方法的漢英句子對(duì)齊[J].中文信息學(xué)報(bào),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