溫家凱
(廣西達(dá)譯商務(wù)服務(wù)有限責(zé)任公司,廣西 南寧 530007)
【摘 要】多語(yǔ)種翻譯詞匯是解決跨語(yǔ)言信息檢索中未登錄詞問(wèn)題的有效途徑,而高質(zhì)量的翻譯詞匯特別是專有名詞、新詞和命名實(shí)體難以在普通詞典中找到。文章提出一種從維基百科中自動(dòng)抽取出多語(yǔ)種翻譯詞匯的方法,主要通過(guò)在維基百科離線數(shù)據(jù)文件中根據(jù)其文件結(jié)構(gòu)特征進(jìn)行抽取。實(shí)驗(yàn)證明,該方法能夠有效獲取高質(zhì)量的多語(yǔ)種翻譯詞匯。
【關(guān)鍵詞】多語(yǔ)種翻譯詞匯;信息自動(dòng)抽??;維基百科
【中圖分類號(hào)】TP391.3 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】1674-0688(2016)07-0129-05
0 引言
隨著世界經(jīng)濟(jì)一體化的進(jìn)展,各國(guó)之間互聯(lián)網(wǎng)交流更為廣泛、頻繁,互聯(lián)網(wǎng)信息的多語(yǔ)種特點(diǎn),給交流帶來(lái)的語(yǔ)言障礙日顯突出。為解決語(yǔ)言障礙問(wèn)題,跨語(yǔ)言信息檢索(CLIR)[1]技術(shù)應(yīng)運(yùn)而生??缯Z(yǔ)言信息檢索給用戶提供了一種使用自己熟悉的語(yǔ)言提交查詢,檢索其他語(yǔ)言文檔的途徑??缯Z(yǔ)言信息檢索技術(shù)讓使用各種語(yǔ)言的信息用戶也可以方便地利用日益豐富的多語(yǔ)種信息資源,解決不同語(yǔ)種間的交流障礙。根據(jù)解決查詢條件和文檔集的語(yǔ)言障礙的技術(shù)路線,把跨語(yǔ)言信息檢索技術(shù)主要分為查詢表達(dá)式翻譯(Query Translation)、文獻(xiàn)翻譯(Document Translation)、不翻譯(No Translation)和中間語(yǔ)種轉(zhuǎn)換(Interlingual Representation)[2]。其中,查詢翻譯是CLIR中采用最廣泛的方法,實(shí)現(xiàn)簡(jiǎn)單,速度快。該方法將用戶提交的查詢請(qǐng)求翻譯成系統(tǒng)支持的多種語(yǔ)言,然后對(duì)不同語(yǔ)言的文檔集進(jìn)行檢索。但由于查詢中有很多詞為專有名詞,有很多新詞、專業(yè)詞匯和命名實(shí)體無(wú)法在系統(tǒng)詞典中找到,導(dǎo)致對(duì)查詢請(qǐng)求的翻譯質(zhì)量受到影響,這種現(xiàn)象被稱為未登錄詞(Out of Vocabulary,OOV)問(wèn)題。新詞和專業(yè)詞匯一般都是通過(guò)擴(kuò)充雙語(yǔ)詞典來(lái)解決,而命名實(shí)體是一個(gè)開(kāi)放集,無(wú)法通過(guò)擴(kuò)充詞典的方式來(lái)解決[3]。
維基百科(Wikipedia)是一個(gè)基于維基技術(shù)的全球性多語(yǔ)言百科全書協(xié)作計(jì)劃,其大部分頁(yè)面都可以由任何人使用瀏覽器進(jìn)行閱覽和修改。這本全球人民參與編寫,自由、開(kāi)放的在線百科全書是知識(shí)社會(huì)條件下用戶參與、大眾創(chuàng)新、開(kāi)放協(xié)同的生動(dòng)詮釋[4]。截至2015年11月1日,維基百科條目數(shù)第一的英文維基百科已有500萬(wàn)個(gè)條目,所有版本共突破3 700個(gè)條目,已發(fā)展成為互聯(lián)網(wǎng)上規(guī)模最大、使用最廣泛的百科全書,也成為最大的資料來(lái)源網(wǎng)站之一,這為未登錄詞的挖掘提供了有利的條件。維基百科擁有253種不同語(yǔ)言的版本,無(wú)形中已經(jīng)具備非常豐富的翻譯資源。并且,由于其自由、人人均可編輯的特點(diǎn),往往能夠找到比較新、比較流行的詞語(yǔ)。由于維基百科中有很多條目都存在著對(duì)應(yīng)的多種語(yǔ)言版本,因此維基百科可以用于雙語(yǔ)或多語(yǔ)詞典的自動(dòng)構(gòu)建,進(jìn)而應(yīng)用于機(jī)器翻譯、跨語(yǔ)言信息檢索等。經(jīng)過(guò)實(shí)驗(yàn)證實(shí),使用維基百科能夠有效地抽取多語(yǔ)種的翻譯詞匯,幫助解決跨語(yǔ)言檢索中未登錄詞的問(wèn)題,進(jìn)而提升檢索的準(zhǔn)確度。
1 基本原理
在維基百科的內(nèi)容頁(yè)面中,有可能存在鏈接到不同語(yǔ)言版本維基百科的“跨語(yǔ)言鏈接”,這樣讀者可以很方便地查看另一語(yǔ)言內(nèi)當(dāng)前主題的相關(guān)內(nèi)容。由于這些鏈接是以半人工的方式添加到頁(yè)面,詞匯的翻譯質(zhì)量比較高。維基百科內(nèi)容頁(yè)面如圖1所示。
以英漢翻譯詞匯獲取為例,在英文維基百科中輸入關(guān)鍵詞“Fifteen puzzle”進(jìn)行查詢,在返回結(jié)果頁(yè)面的左下角區(qū)域?yàn)椤癓anguages”,即鏈接到其他語(yǔ)言版本的鏈接,該鏈接的HTML信息中已經(jīng)包含了經(jīng)翻譯后的詞匯,抽取出來(lái)就是我們所想要的結(jié)果。
2 具體實(shí)現(xiàn)
具體的實(shí)現(xiàn)有2種途徑:一是在線方式,即遍歷詞典,構(gòu)造維基百科的URL,下載其內(nèi)容頁(yè)面實(shí)時(shí)分析抽??;二是先下載離線數(shù)據(jù)庫(kù),分析其文本結(jié)構(gòu)再抽取。下面詳細(xì)描述這2種方法。
2.1 在線方式
在線方式必須先分析清楚維基百科的URL結(jié)構(gòu)和返回結(jié)果頁(yè)面的HTML構(gòu)成,然后使用程序遍歷詞典模擬請(qǐng)求得到返回結(jié)果頁(yè)面,從中抽取出詞條翻譯結(jié)果。
2.1.1 構(gòu)造查詢請(qǐng)求
查詢請(qǐng)求為:“http://”+語(yǔ)言代碼+“.wikipedia.org/wiki/”+URI編碼詞條。
其中,“語(yǔ)言代碼”為維基百科中的語(yǔ)言代碼,見(jiàn)表1。
“URI編碼詞條”是指經(jīng)過(guò)URI編碼的關(guān)鍵詞。
此外,由于中文有簡(jiǎn)體和繁體等幾種版本的維基百科,與上述查詢URL有此不同。
簡(jiǎn)體版本:http://zh.wikipedia.org/zh-cn/+URI編碼詞條;繁體版本:http://zh.wikipedia.org/zh-tw/+URI編碼詞條。
2.1.2 查詢結(jié)果頁(yè)面HTML分析
主要是分析頁(yè)面中“語(yǔ)言列表”部分的HTML結(jié)構(gòu)。該部分結(jié)構(gòu)如下:每一種語(yǔ)種都是用一個(gè)
2.1.3 具體實(shí)現(xiàn)過(guò)程
下面以使用Perl程序?qū)崿F(xiàn)模擬維基百科Web請(qǐng)求獲取漢語(yǔ)詞條的越南語(yǔ)翻譯詞匯為例。
(1)漢語(yǔ)詞典中取出中文詞條AAA。
(2)對(duì)該中文詞條進(jìn)行URI編碼:去除詞條首尾空格,將非空格串用URI模塊進(jìn)行編碼轉(zhuǎn)換。
(3)構(gòu)造維基百科網(wǎng)站關(guān)于該詞條的中文簡(jiǎn)繁版Web請(qǐng)求的URL。
簡(jiǎn)體版:http://zh.wikipedia.org/zh-cn/XXX;繁體版:http://zh.wikipedia.org/zh-tw/XXX。
首先嘗試下載繁體版本的頁(yè)面。注意使用LWP::UserAgent(并設(shè)置代理信息)來(lái)下載,不能簡(jiǎn)單使用LWP::Simple來(lái)下載,因?yàn)榫S基百科有可能會(huì)拒絕沒(méi)有代理信息的客戶端訪問(wèn)。
如果失敗則嘗試下載簡(jiǎn)體版本頁(yè)面。
(4)解析請(qǐng)求返回結(jié)果頁(yè)面,分析頁(yè)面中“語(yǔ)言列表”部分的HTML代碼。使用模塊HTML::TreeBuilder::Xpath解析整個(gè)網(wǎng)頁(yè),通過(guò)如下指定xql取出相應(yīng)Html結(jié)點(diǎn):
/html/body/descendant::li[@class="interwiki-vi"]/a
該xql模式表示解析器尋找頁(yè)面中所有class=interwiki-vi 的結(jié)點(diǎn)下的超鏈接結(jié)點(diǎn)
另外一個(gè)方法是從維基百科的重定向數(shù)據(jù)文件包redirect.sql.gz中抽取。例如:viwiki-20100627-re-
direct.sql.gz,解壓后得到的是sql文件,導(dǎo)入數(shù)據(jù)庫(kù)后得到數(shù)據(jù)庫(kù)表redirect,該表中保存有所有的詞條目重定向記錄。但由于數(shù)據(jù)字段是以“條目A的page_id->重定向到的條目B的標(biāo)題”形式存在,因此需要用程序進(jìn)行轉(zhuǎn)換提取。
2.2.5 具體操作步驟
(1)從網(wǎng)上搜索下載維基百科公開(kāi)的離線數(shù)據(jù)文件,不同語(yǔ)言版本的維基百科有不同的數(shù)據(jù)文件。根據(jù)用戶需求下載不同版本的數(shù)據(jù)文件。
(2)解壓數(shù)據(jù)文件。數(shù)據(jù)文件解壓后得到非常龐大的XML文本文件。
(3)考慮到系統(tǒng)內(nèi)存限制,需要使用腳本程序?qū)?shù)據(jù)庫(kù)文件切分成多個(gè)小文件以便進(jìn)行下一步的處理。
(4)讀入待處理文件內(nèi)容到內(nèi)存,刪除所有換行符。
(5)使用正則表達(dá)式找出所有page節(jié)點(diǎn),即 ge>和