于再富,袁 滿
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
信息檢索是人們獲取信息和知識的主要途徑,隨著網(wǎng)絡(luò)的高速發(fā)展和普及,當(dāng)今社會(huì)已經(jīng)進(jìn)入智能時(shí)代和大數(shù)據(jù)時(shí)代,信息已從以前的單一性,變?yōu)槎嘣?、海量化。如今人們對信息的需求急劇增?如何能在最短的時(shí)間內(nèi)得到全面、準(zhǔn)確的結(jié)果,成為人們關(guān)注的焦點(diǎn)。與此同時(shí),隨著經(jīng)濟(jì)全球化的發(fā)展以及世界各國頻繁交流溝通,各種文化彼此之間相互交流、相互融合。人們?nèi)绾慰焖贉?zhǔn)確的得到并理解非母語的信息成為傳統(tǒng)信息檢索面臨的難題。因此跨語言信息檢索(CLIR:Cross-Language Information Retrieval)隨之產(chǎn)生,跨語言信息檢索是指以一種語言檢索出其他語言信息資源的檢索方法[1]。在國外,康奈爾大學(xué)早在1969年就進(jìn)行了跨語言信息檢索實(shí)驗(yàn),但是該術(shù)語首次出現(xiàn)在文獻(xiàn)標(biāo)題中則是計(jì)算機(jī)情報(bào)檢索專家Salton教授在1973年發(fā)表的一篇論文[2]。后來,Monti等[3]通過知識驅(qū)動(dòng)的方法建立了一種基于本體的跨語言信息檢索系統(tǒng),其可半自動(dòng)地將自然語言映射到形式語言,實(shí)現(xiàn)了多種語言的自然語言查詢翻譯。Di等[4]研究設(shè)計(jì)了在特定語言的本體中映射數(shù)據(jù)和元數(shù)據(jù),并用英語和意大利語做實(shí)驗(yàn),驗(yàn)證了方法的可行性。國內(nèi),對于跨語言信息檢索的研究主要集中在構(gòu)建語義模型方面,鄭德權(quán)等[5]根據(jù)本體和統(tǒng)計(jì)學(xué)的方法構(gòu)建了語義模型,并利用NTCIR-3 workshop中英數(shù)據(jù)集進(jìn)行試驗(yàn),取得了不錯(cuò)的結(jié)果。司莉等[6]通過本體及檢索功能模塊設(shè)計(jì)并建立了一個(gè)基于數(shù)字出版領(lǐng)域本體的中英跨語言信息檢索模型,并且試驗(yàn)成功。
目前,國內(nèi)外對跨語言信息檢索系統(tǒng)實(shí)現(xiàn)方法雖然多種多樣,但大部分主要以本體論和統(tǒng)計(jì)學(xué)的方法構(gòu)建跨語言信息檢索模型?;诮y(tǒng)計(jì)學(xué)的方法主要可以解決源語言與目標(biāo)語言映射時(shí)的歧義問題,但不能保證具有語義性,由于本體可以在語義層面對概念進(jìn)行描述,因此筆者綜合了兩種方法,結(jié)合統(tǒng)計(jì)學(xué)和本體論各自的優(yōu)點(diǎn)建立跨語言信息檢索模型。
1.1.1 跨語言信息檢索的實(shí)現(xiàn)方法
不同語言之間的匹配問題,即如何將源語言與目標(biāo)語言建立準(zhǔn)確的映射關(guān)系是跨語言信息檢索的難點(diǎn)問題。目前,跨語言信息檢索中提問詞與文檔匹配技術(shù)主要分為4類[7]。
1)文檔翻譯。此方法是將文檔翻譯成為用戶輸入的查詢源語言。此方法解決了用戶對目標(biāo)文檔不能閱讀理解的問題以及語境問題。由于翻譯文檔工作量巨大,雖然這個(gè)方法在實(shí)驗(yàn)環(huán)境下效果優(yōu)于提問式翻譯,但實(shí)際并不適用[8]。
2)中間語言翻譯。此方法利用中間語言將用戶的輸入和檢索文檔轉(zhuǎn)換為同一邏輯格式,或轉(zhuǎn)換為第3種語言,避免了直接翻譯導(dǎo)致的語義偏離。一般當(dāng)源語言與目標(biāo)語言不能直接互譯時(shí)采用此方法,但此方法需要大量的轉(zhuǎn)換計(jì)算,因此響應(yīng)性和可靠性相對較低。
3)提問式翻譯。此方法是指將用戶輸入的概念語言翻譯成文檔的語言,然后再進(jìn)行單語言信息檢索。此方法的優(yōu)點(diǎn)在于實(shí)現(xiàn)時(shí)經(jīng)濟(jì)簡單,難點(diǎn)在于如何解決消岐、建庫問題以及用戶對于目標(biāo)文檔的閱讀理解問題。
4)不翻譯。目前不翻譯的方法主要是構(gòu)建雙語或多語訓(xùn)練集,再進(jìn)行分析獲得文檔與提問詞的映射關(guān)系,然后進(jìn)行單語言信息檢索。目前主要有語義標(biāo)注的方法、本體的方法和同源匹配的方法等。
不同的實(shí)現(xiàn)方法有不同的規(guī)則和優(yōu)點(diǎn),但同樣也面臨不同的問題?;谔釂柺降男畔z索面臨的問題主要是當(dāng)用戶使用信息檢索系統(tǒng)時(shí),通常輸入的都是關(guān)鍵詞或簡短的句子,沒有上下文有關(guān)語境支持,信息檢索系統(tǒng)很難做出語義關(guān)聯(lián)性判斷,并不能很好的表達(dá)用戶的需求想法,因此檢索系統(tǒng)反饋的結(jié)果也不盡人意。因此查詢擴(kuò)展(Query Expansion)一詞被提出,查詢擴(kuò)展結(jié)合了計(jì)算機(jī)語言學(xué)和信息學(xué)等多種技術(shù)方法,將用戶輸入的原始概念進(jìn)行擴(kuò)展、修正得到新的概念,然后把新的概念作為輸入檢索系統(tǒng)的查詢初值,利用查詢擴(kuò)展這種方法可以彌補(bǔ)用戶輸入的缺陷。
1.1.2 源語言與文檔翻譯技術(shù)
通過上述跨語言信息檢索的實(shí)現(xiàn)方法可知,跨語言信息檢索的核心主要是翻譯,翻譯是實(shí)現(xiàn)跨語言信息檢索的核心,目前國內(nèi)外相關(guān)跨語言信息檢索的實(shí)現(xiàn)與應(yīng)用中,主要有以下4種翻譯方法。
1)基于機(jī)器翻譯的方法?;跈C(jī)器翻譯目的就是將用戶的提問語言翻譯為目標(biāo)文檔語言或?qū)⒛繕?biāo)文檔翻譯為用戶提問的語言,然后再進(jìn)行單語言信息檢索[9]。由于機(jī)器翻譯是基于計(jì)算機(jī)語言學(xué)等原理設(shè)計(jì)的,但因各種語言對應(yīng)不同的語法規(guī)則,所以翻譯的質(zhì)量也參差不齊。隨著基于統(tǒng)計(jì)學(xué)的機(jī)器翻譯不斷地完善,目前翻譯的可靠性相對較高,并且容易使用。
2)基于詞典翻譯的方法?;谠~典的翻譯方法主要是利用雙語或多語詞典將用戶的提問語言與目標(biāo)語言建立映射。該方法雖然準(zhǔn)確率提高很多,但雙語詞典或多語詞典的構(gòu)建周期太長,費(fèi)時(shí)費(fèi)力,很難構(gòu)建出面向領(lǐng)域全面并且實(shí)時(shí)更新的詞典。
3)基于語料庫的方法。語料庫是指將大量相關(guān)信息經(jīng)過半自動(dòng)或自動(dòng)整理構(gòu)建的可以被計(jì)算機(jī)使用的數(shù)據(jù)集合。語料庫一般分為平行語料庫和可比語料庫,基于語料庫的方法需通過平行語料庫中的互譯對、可比語料庫相似主題詞組的映射關(guān)系,提取出翻譯結(jié)果或者過濾翻譯后產(chǎn)生的歧義翻譯項(xiàng)[10]。語料庫的建立初期目的是為了自然語言處理和機(jī)器翻譯,所以將其用于跨語言信息檢索所得的效果相對較差。
4)詞典與語料庫混合方法。該方法結(jié)合了基于詞典翻譯和基于語料庫翻譯兩種方法各自的優(yōu)點(diǎn)。首先對基于提問式方法采用詞典進(jìn)行翻譯,翻譯后可能會(huì)出現(xiàn)多個(gè)結(jié)果或結(jié)果模棱兩可的情況,此時(shí),再利用專業(yè)語料庫中相關(guān)術(shù)語過濾翻譯結(jié)果。該方法雖然具有基于詞典翻譯和基于語料庫翻譯各自的優(yōu)點(diǎn),但構(gòu)建詞典和語料庫都是浩大工程。
筆者在基于提問式翻譯的基礎(chǔ)上采用統(tǒng)計(jì)機(jī)器翻譯?;诮y(tǒng)計(jì)機(jī)器翻譯實(shí)現(xiàn)跨語言信息檢索的方法就是源語言使用經(jīng)過大量平行語料訓(xùn)練建立的統(tǒng)計(jì)機(jī)器翻譯模型得到翻譯結(jié)果即目標(biāo)語言,從而實(shí)現(xiàn)跨語言信息檢索。但是機(jī)器翻譯不能對源語言和目標(biāo)語言在語義層面進(jìn)行擴(kuò)展,因此語義關(guān)聯(lián)性較差。針對以上問題筆者在基于提問式統(tǒng)計(jì)機(jī)器翻譯的基礎(chǔ)上引入本體,本體包含大量語義關(guān)系,可以解決語義關(guān)聯(lián)度問題以及結(jié)果反饋的準(zhǔn)確性問題。
1.2.1 詞匯本體
本體可以理解為概念及概念之間關(guān)系的規(guī)范化、形式化、可共享和明確化的描述[11],可以從概念的層次讓機(jī)器理解和處理用戶的輸入。由于本體具有豐富的語義概念關(guān)系,可以保證概念之間通過概念鏈、關(guān)系鏈互相連接,因此可以用來查詢擴(kuò)展。另外,王惠等[12]在漢語框架網(wǎng)絡(luò)本體的研究中,指出語義型詞典作為語言信息處理的基礎(chǔ),應(yīng)用于機(jī)器翻譯、自然語言接口、文獻(xiàn)檢索、信息自動(dòng)提取、語音識別與合成、文字識別、中文輸入、詞義消歧、文本校對、語料庫加工等多種處理領(lǐng)域。并將例如WordNet、HowNet、同義詞詞林、漢語言框架此類語義型詞典稱為詞匯本體。它們和傳統(tǒng)的按字母順序組織詞匯信息的詞典不同,其更多地從詞匯的概念角度出發(fā),將具有相同、相近含義或具有一定關(guān)聯(lián)度的詞匯聚集在一起,從單詞、句法的層面提取語義信息,并將這些信息以網(wǎng)狀形式呈現(xiàn),使計(jì)算機(jī)能像人一樣的理解和利用其中的信息[13]。下面是對WordNet、同義詞詞林以及BabelNet的簡單闡述。
1)WordNet。WordNet是由Princeton大學(xué)的心理學(xué)家、語言學(xué)家和計(jì)算機(jī)工程師等聯(lián)合設(shè)計(jì)的一種基于認(rèn)知語言學(xué)的英語詞典[14]。WordNet是根據(jù)詞義而不是詞形組織詞匯信息的,因此可以說WordNet是一部語義詞典,其中包含同義關(guān)系、反義關(guān)系、上下位關(guān)系和整體部分關(guān)系等,因此可以稱之為詞匯本體。WordNet將詞匯分為5類:名詞、動(dòng)詞、形容詞、副詞和虛詞(功能詞)。其中名詞包含11個(gè)基本類如表1所示,動(dòng)詞包含15個(gè)基本類如表2所示,形容詞主要分為兩類:描寫性形容詞和關(guān)系性形容詞。
表1 WordNet名詞基本類表
表2 WordNet動(dòng)詞基本類表
目前WordNet已經(jīng)達(dá)到3.1版本,包含155 327個(gè)字和175 979個(gè)同義詞組合,總共207 016個(gè)字檢測對[15],各個(gè)概念之間通過復(fù)雜的詞匯關(guān)系、語義關(guān)系等相互關(guān)聯(lián)形成龐大的語義網(wǎng)絡(luò)。
圖1 同義詞詞林5層結(jié)構(gòu)
2)同義詞詞林。《同義詞詞林》最初是由梅家駒等人于1983年編纂而成的,后由哈爾濱工業(yè)大學(xué)信息檢索研究實(shí)驗(yàn)室更新修改后并發(fā)布《哈工大信息檢索研究室同義詞詞林?jǐn)U展版》1.0版,其共含有77 343條詞語,是目前涵蓋漢語詞匯量最大的本體詞匯表[16]。該詞匯表按照樹狀的層次結(jié)構(gòu)組織詞條,將77 343條詞語分成12個(gè)大類,97個(gè)中類以及1 400個(gè)小類。每個(gè)小類中,根據(jù)詞義的遠(yuǎn)近和相關(guān)性分為若干個(gè)段落,然后又細(xì)分成若干行,同一行的詞語詞義相近或相關(guān)性較強(qiáng)。同義詞詞林5層結(jié)構(gòu)如圖1所示。
《同義詞詞林》按3層編碼規(guī)則組織,編碼規(guī)則如表3所示,第8個(gè)編碼位有3種表示,“=”表示相等、同義關(guān)系。末尾的“#”表示不等,屬于詞群中的相關(guān)詞語。末尾的“@”代表獨(dú)立在詞典中既沒有相關(guān)詞,也沒有同義詞。
表3 同義詞詞林編碼規(guī)則
3)BabelNet。BabelNet是由羅馬大學(xué)計(jì)算機(jī)科學(xué)系的計(jì)算語言學(xué)實(shí)驗(yàn)室所創(chuàng)建的,其將維基百科鏈接到WordNet以自動(dòng)映射的方式構(gòu)建了多語詞匯語義網(wǎng)絡(luò)和本體,如圖2所示。BabelNet(v3.7)已覆蓋了271種語言并且包含了大約1 400萬個(gè)同義詞集和7.46億個(gè)詞義,目前已經(jīng)為4.0版本,涵蓋284種語言,包含近1 600萬個(gè)同義詞和大約8.33億個(gè)詞義[17]。BabelNet提供了多種語言的概念和命名實(shí)體,并包含了它們之間的豐富的語義關(guān)系,在處理語義相關(guān)性、多語詞義消岐、自然語言處理和神經(jīng)網(wǎng)絡(luò)訓(xùn)練等方面均發(fā)揮強(qiáng)大作用。
圖2 BabelNet構(gòu)建圖
1.2.2 語義關(guān)聯(lián)度算法實(shí)現(xiàn)
本體包含大量的概念之間的關(guān)系,如相等關(guān)系、上下位關(guān)系和互斥關(guān)系等,因此筆者使用多本體解決查詢擴(kuò)展中語義偏離的問題。利用多本體設(shè)計(jì)語義關(guān)聯(lián)度算法并構(gòu)建語義權(quán)重模型,再將語義權(quán)重模型結(jié)合下文中的Okapi BM25F模型實(shí)現(xiàn)語義關(guān)聯(lián)排序算法。語義關(guān)聯(lián)度算法實(shí)現(xiàn)步驟如下:
Step1 將用戶輸入初始詞a賦予最高權(quán)值au;
Step2 a的翻譯結(jié)果b按照在各個(gè)翻譯器出現(xiàn)的頻率依次賦予不同的權(quán)值{b1,b2,…,bu};
Step3 將a經(jīng)過同義詞林?jǐn)U展的結(jié)果c按照語義相似度依次賦予不同的權(quán)值{c1,c2,…,cu};
Step4 將b經(jīng)過WordNet擴(kuò)展的結(jié)果d按照語義相似度進(jìn)行依次賦予不同的權(quán)值{d1,d2,…,du};
Step5 將c,d經(jīng)過BabelNet處理依次賦予不同的權(quán)值{e1,e2,…,eu}。
通過以上方法,即可根據(jù)擴(kuò)展詞匯之間不同的語義關(guān)聯(lián)程度賦予不同的權(quán)值,詞匯帶有的權(quán)值即可表示為與用戶原始輸入的相關(guān)程度,再將帶有權(quán)值的詞輸入到信息檢索模型,最后排序結(jié)果反饋給用戶。
檢索系統(tǒng)中的檢索模型用來確定一個(gè)文檔相對于一個(gè)查詢的相關(guān)度,檢索模型在檢索系統(tǒng)中通常處于核心地位[18]。根據(jù)以上研究,筆者提出基于提問式統(tǒng)計(jì)機(jī)器翻譯融合多本體的多語言信息檢索模型,模型主要包含用戶輸入、查詢擴(kuò)展、數(shù)據(jù)組織、檢索排序及結(jié)果展示5個(gè)部分。模型整體架構(gòu)如圖3所示。
圖3 跨語言信息檢索架構(gòu)圖
1)查詢擴(kuò)展首先是對用戶的輸入使用IKAnalyzer進(jìn)行分詞,IKAnalyzer是Java語言開發(fā)的開源輕量級中文分詞器,其特有正向迭代最細(xì)粒度切分算法,支持細(xì)粒度和智能分詞兩種分詞模式,并且用戶可自定義擴(kuò)展詞典,而且其擁有高速切分處理能力。
2)分詞后再對分詞結(jié)果使用統(tǒng)計(jì)機(jī)器翻譯,本模型共使用谷歌、百度、歐米、愛詞霸、騰訊、有道、搜狗和Trycan8種機(jī)器翻譯,目的是保證全面和準(zhǔn)確的映射。
3)將翻譯結(jié)果與兩個(gè)詞匯本體結(jié)合進(jìn)行擴(kuò)展并賦予權(quán)值,目的是為了保證語言映射的過程中減少語義損失。
4)將擴(kuò)展結(jié)果結(jié)合BabelNet增加語義關(guān)聯(lián)進(jìn)一步改變權(quán)值,被賦予權(quán)值的結(jié)果使用BM25F信息檢索模型進(jìn)行檢索匹配,將結(jié)果排序反饋給用戶。
筆者排序算法是將上文的語義權(quán)重模型與基于概率檢索Okapi BM25F模型進(jìn)行整合改進(jìn)。傳統(tǒng)的Okapi BM25F是在Okapi BM25模型的基礎(chǔ)上將結(jié)構(gòu)化數(shù)據(jù)拆分為各個(gè)域,例如:一篇新聞拆分為標(biāo)題、記者、新聞事件、落款,顯然標(biāo)題是對整篇報(bào)道的總結(jié)概括,因此將標(biāo)題域權(quán)重升高。經(jīng)過查詢拓展之后得到的拓展結(jié)果,與用戶初始輸入的關(guān)鍵詞已經(jīng)有語義距離,因此對查詢拓展后的結(jié)果使用基于多語本體的語義權(quán)重模型進(jìn)行權(quán)重調(diào)整,再將其架構(gòu)在Okapi BM25F模型上,從而得到排序結(jié)果。Okapi BM25F計(jì)算方式如下
(1)
(2)
(3)
通過以上方法構(gòu)建的排序算法保證了檢索反饋的結(jié)果與用戶的理想結(jié)果較高的契合度。使用BabelNet和Okapi BM25F模型減少了查詢拓展后語義的損失,增加了信息檢索過程中輸入與目標(biāo)文檔的關(guān)聯(lián)匹配程度,使結(jié)果更符合用戶的需求。
筆者的原型系統(tǒng)是基于Lucene搭建的Java Web工程,lucene是一套開源的用于全文檢索的程序,它提供了完整的索引引擎以及查詢引擎,并采用基于Scrapy+Selenium+BeautifulSoup的爬蟲方法,爬取Wiki中100個(gè)國家的中英文對應(yīng)介紹,共兩百個(gè)文檔對該系統(tǒng)進(jìn)行測試。當(dāng)用戶輸入“俄羅斯”時(shí)系統(tǒng)反饋結(jié)果如圖4所示。
圖4 檢索結(jié)果
然后通過傳統(tǒng)的基于機(jī)器翻譯的跨語言信息檢索模型與筆者的基于統(tǒng)計(jì)機(jī)器翻譯和本體的跨語言信息檢索模型的對比分析,驗(yàn)證該模型的有效性。實(shí)驗(yàn)中,選取“日本”、“美國”、“俄羅斯”、“中國”、“法國”、“英國”和“意大利”等7個(gè)詞語作為輸入關(guān)鍵詞進(jìn)行實(shí)驗(yàn)分析。
現(xiàn)有的信息檢索系統(tǒng)主要的評價(jià)指標(biāo)包括查全率(召回率)、查準(zhǔn)率、系統(tǒng)對用戶的友好程度等。查全率和查準(zhǔn)率的計(jì)算公式分別如下
W=(Rn+Wn)×100%
(4)
A=(Rn+Sn)×100%
(5)
其中W為查全率,A為查準(zhǔn)率,Rn為檢索出的符合用戶要求的相關(guān)結(jié)果數(shù),Wn為檢索庫中的符合用戶要求的總信息量,Sn為檢索出的信息總量。
查全率和查準(zhǔn)率通常保持一種相反關(guān)系,因此通常在評價(jià)IR系統(tǒng)時(shí)保持兩者中的一個(gè)為適當(dāng)?shù)闹?改變另一個(gè)條件,以觀察IR系統(tǒng)的參數(shù)變化。目前TREC和CLEF對于跨語言信息檢索的評價(jià)指標(biāo)為平均查準(zhǔn)率(MAP:Mean Average Precision)[20]。其計(jì)算公式為
圖5 檢索結(jié)果效果對比圖
(6)
其中M為平均查準(zhǔn)率,Q為提問式的數(shù)量,A(q)表示第q個(gè)查詢的平均查準(zhǔn)率。平均查準(zhǔn)率可以反映出IR系統(tǒng)對系統(tǒng)用戶的貢獻(xiàn)價(jià)值。
通過實(shí)驗(yàn),得到筆者的基于本體論的方法與傳統(tǒng)的基于機(jī)器翻譯的方法查準(zhǔn)率對比如圖5所示,通過數(shù)據(jù)可以直觀地看出無論查準(zhǔn)率還是平均查準(zhǔn)率,筆者方法均優(yōu)于傳統(tǒng)基于機(jī)器翻譯的方法。
筆者針對傳統(tǒng)跨語言信息檢索中的語義關(guān)聯(lián)性較差等問題,將本體引入提問式統(tǒng)計(jì)翻譯的跨語言信息檢索模型,從而構(gòu)建了基于本體的提問式統(tǒng)計(jì)翻譯的跨語言信息檢索模型。該方法將WordNet、同義詞詞林、BabelNet本體引入,從而豐富了信息檢索中的語義關(guān)聯(lián)性;最后通過爬蟲獲取wiki中有關(guān)100個(gè)國家的200條中英文對照數(shù)據(jù)進(jìn)行試驗(yàn),并通過平均查準(zhǔn)率對該模型與原始信息檢索模型進(jìn)行對比分析,結(jié)果顯示,筆者提出的基于提問式統(tǒng)計(jì)翻譯并融合本體的跨語言信息檢索模型優(yōu)于傳統(tǒng)的基于機(jī)器翻譯的跨語言信息檢索模型。