趙俊生,王鑫宇,尹玉潔,張 林
(1.內(nèi)蒙古工業(yè)大學(xué)信息工程學(xué)院,內(nèi)蒙古 呼和浩特 010080;2.特警學(xué)院基礎(chǔ)部,北京 100875)
由于蒙古語(yǔ)的研究持續(xù)深入和對(duì)研究成果的普及推廣,蒙古語(yǔ)記載的文字得到了快速網(wǎng)絡(luò)化,促使傳統(tǒng)Web向語(yǔ)義Web發(fā)展,導(dǎo)致語(yǔ)義Web的數(shù)據(jù)量迅速增長(zhǎng)。語(yǔ)義Web作為當(dāng)下研究的熱點(diǎn),在西文和中文領(lǐng)域發(fā)展迅速,但是在少數(shù)民族的語(yǔ)言文字領(lǐng)域卻發(fā)展緩慢。由于蒙古族的文明與文化越來(lái)越受到國(guó)內(nèi)外的關(guān)注,許多機(jī)構(gòu)和學(xué)者開始對(duì)蒙古族文化進(jìn)行探索和研究。而語(yǔ)言作為文化的載體,在文化的傳承和研究中起著重要的作用。蒙古語(yǔ)是蒙古民族使用的語(yǔ)言,屬于阿爾泰語(yǔ)系,且我國(guó)蒙古語(yǔ)的方言較多,主要有中部方言、東北部方言、西部方言,分別是內(nèi)蒙古方言、衛(wèi)拉特方言和巴爾虎布里亞特方言,方言中有不同的讀音和詞法,亟需統(tǒng)一,而畏吾體蒙古文就是各種方言通用的蒙古文。
隨著蒙古文信息檢索技術(shù)的不斷發(fā)展以及Windows對(duì)蒙古文的支持,使用蒙古文檢索的用戶越來(lái)越多。內(nèi)蒙古地區(qū)各個(gè)盟市,已經(jīng)有各自的蒙古語(yǔ)官方新聞網(wǎng)站[1],但是網(wǎng)站數(shù)量多且繁雜,使得蒙古族人民在眾多網(wǎng)站中查找自己需要的內(nèi)容很困難,實(shí)現(xiàn)一個(gè)可以讓蒙古語(yǔ)使用者使用的新聞?lì)I(lǐng)域語(yǔ)義Web檢索系統(tǒng)已成為迫在眉睫的任務(wù)。
目前對(duì)于蒙古語(yǔ)語(yǔ)義Web的研究也在逐漸開展,文獻(xiàn)[2]構(gòu)建了“人工智能”蒙古語(yǔ)領(lǐng)域本體,實(shí)現(xiàn)了蒙古語(yǔ)“人工智能領(lǐng)域”的學(xué)習(xí)系統(tǒng)。文獻(xiàn)[3]旨在提出一種構(gòu)建蒙古語(yǔ)名詞語(yǔ)義詞典的方法,該詞典收納了使用頻率較高的常用名詞18 000條,翔實(shí)描述了每個(gè)詞語(yǔ)的各種語(yǔ)義屬性,為多義詞的消歧、同形異義詞的辨別和短語(yǔ)結(jié)構(gòu)關(guān)系的判定提供了形式化的語(yǔ)義知識(shí)。文獻(xiàn)[4]提出了一種融合主題模型LDA與語(yǔ)言模型的方法,更好地實(shí)現(xiàn)了蒙古文文檔的主題語(yǔ)義檢索,提高了檢索的準(zhǔn)確性。但是,目前的研究大多都是在單機(jī)環(huán)境下實(shí)現(xiàn)的,對(duì)于分布式環(huán)境下的蒙古語(yǔ)檢索研究還比較少。
本文利用構(gòu)建本體的原則和方法以及本體的相關(guān)理論[5 - 11]構(gòu)建蒙古語(yǔ)新聞?lì)I(lǐng)域的本體,并將語(yǔ)義Web檢索技術(shù)與分布式計(jì)算環(huán)境相結(jié)合,實(shí)現(xiàn)對(duì)蒙古語(yǔ)的新聞?lì)I(lǐng)域信息檢索。分別將系統(tǒng)部署在單機(jī)環(huán)境和分布式環(huán)境下,對(duì)單機(jī)環(huán)境下的查詢響應(yīng)時(shí)間和分布式環(huán)境下的查詢響應(yīng)時(shí)間進(jìn)行實(shí)驗(yàn)對(duì)比,驗(yàn)證分布式環(huán)境下的檢索優(yōu)勢(shì)。該方法的實(shí)現(xiàn)可以推動(dòng)蒙古語(yǔ)信息檢索技術(shù)的發(fā)展,對(duì)于蒙古語(yǔ)信息資源共享具有重要意義。
(1)需求分析。
新聞是當(dāng)下各用戶獲取信息最直接的載體,而近幾年隨著政府對(duì)蒙古語(yǔ)推廣力度的加大,蒙古語(yǔ)新聞逐漸增多,蒙古語(yǔ)新聞網(wǎng)站也層出不窮,例如:中國(guó)蒙古語(yǔ)新聞網(wǎng)、新華社蒙古文網(wǎng)、人民網(wǎng)蒙古文網(wǎng)、蒙古語(yǔ)央視網(wǎng)和中國(guó)蒙古語(yǔ)廣播網(wǎng)等。在內(nèi)蒙古自治區(qū)各個(gè)旗縣盟市也陸續(xù)有了新聞媒體、黨政機(jī)關(guān)和教育機(jī)構(gòu)的蒙古語(yǔ)網(wǎng)站。蒙古語(yǔ)網(wǎng)站建設(shè)取得了顯著成績(jī),蒙古語(yǔ)資源也呈指數(shù)級(jí)增長(zhǎng)。但是,從未來(lái)發(fā)展的角度來(lái)看,對(duì)這些網(wǎng)絡(luò)資源進(jìn)行集成處理將是蒙古語(yǔ)網(wǎng)絡(luò)建設(shè)者亟需解決的新課題。
傳統(tǒng)的基于關(guān)鍵字的信息檢索技術(shù)會(huì)產(chǎn)生“詞語(yǔ)孤島”問(wèn)題,這種方法往往存在檢索出的結(jié)果不全、不完整和質(zhì)量不高的問(wèn)題,從而無(wú)法滿足用戶的需求,用戶要在海量數(shù)據(jù)中找到自己需要的信息困難較大。而語(yǔ)義Web信息檢索技術(shù)可有效提高獲取信息的查準(zhǔn)率和查全率,減少信息搜索的時(shí)間,是滿足用戶檢索需求的好方法。語(yǔ)義Web的技術(shù)核心是領(lǐng)域本體,通過(guò)對(duì)本體網(wǎng)的語(yǔ)義相似性計(jì)算,將關(guān)鍵詞進(jìn)行語(yǔ)義擴(kuò)展之后再進(jìn)行檢索,就可以在一定程度上提升檢索的查全率和查準(zhǔn)率。新聞?lì)I(lǐng)域本體與實(shí)例的數(shù)據(jù)量龐雜,容量可達(dá)TB級(jí)別,而 Hadoop的分布式計(jì)算環(huán)境可以方便地解決大數(shù)據(jù)量的存儲(chǔ)與運(yùn)算問(wèn)題,所以將新聞?lì)I(lǐng)域本體與分布式系統(tǒng)結(jié)合,實(shí)現(xiàn)蒙古語(yǔ)語(yǔ)義Web信息檢索是必然的解決方案。
(2)本體構(gòu)建方法。
目前為止,本體構(gòu)建仍沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),在構(gòu)建領(lǐng)域本體的過(guò)程中,還是需要有領(lǐng)域?qū)<业膮⑴c和協(xié)同工作,即需要人工構(gòu)建本體。對(duì)于研究人員或者用戶來(lái)說(shuō),構(gòu)建本體的方法有很多種,沒(méi)有特定的方法去建立本體,且不同領(lǐng)域的本體語(yǔ)義不相同。對(duì)于任意一個(gè)學(xué)科領(lǐng)域,應(yīng)針對(duì)學(xué)科領(lǐng)域的特點(diǎn)和需求來(lái)選擇某一種適合的方法。本文選擇七步法結(jié)合骨架法來(lái)構(gòu)建蒙古語(yǔ)新聞?lì)I(lǐng)域本體,采用Protégé應(yīng)用軟件和支持蒙古語(yǔ)的OWL(Web Ontology Language)網(wǎng)絡(luò)本體描述語(yǔ)言來(lái)具體實(shí)現(xiàn)本體的建立。
(1)蒙古語(yǔ)言的特點(diǎn)。
蒙古語(yǔ)在語(yǔ)音、詞匯和語(yǔ)法上與漢語(yǔ)有較大的區(qū)別。蒙古語(yǔ)將音節(jié)分為元音和輔音2部分,是根據(jù)音素本身的性質(zhì)分析的。蒙古語(yǔ)沒(méi)有字的單位,主要以多音節(jié)詞為主,詞匯一般分為詞根和詞綴2部分,詞根由1個(gè)或2個(gè)音節(jié)構(gòu)成,詞綴僅含有一種意義,屬于實(shí)詞的一般分為靜詞類和不變?cè)~類。蒙古語(yǔ)的語(yǔ)法是主語(yǔ)-賓語(yǔ)-謂語(yǔ)的句式,與漢語(yǔ)剛好相反。相同的是蒙古語(yǔ)也有同義詞、多義詞、同形異義詞、同義異形詞、近義詞、上位詞和下位詞等。蒙古語(yǔ)的這些特點(diǎn)是分析蒙古語(yǔ)新聞?lì)I(lǐng)域本體概念間的語(yǔ)義關(guān)系和層次結(jié)構(gòu)的依據(jù)和基礎(chǔ)。
(2)領(lǐng)域本體概念之間的關(guān)系及層次結(jié)構(gòu)。
Figure 1 One level concept structure of news ontology
Figure 2 Structure chart of ontology concept under economics concept
Figure 3 Structure chart of ontology concept under politics concept
Figure 4 Structure chart of ontology concept under society concept
Figure 5 Structure chart of ontology concept under culture concept
Figure 6 Structure chart of ontology concept under education concept
按照類之間的關(guān)系及關(guān)聯(lián)性,依次自上而下、從左到右構(gòu)建本體的2級(jí)、3級(jí)、4級(jí)、5級(jí)和6級(jí)概念,共計(jì)包含了137個(gè)領(lǐng)域概念類,形成了完整的蒙古語(yǔ)新聞?lì)I(lǐng)域本體結(jié)構(gòu)。本體中各節(jié)點(diǎn)序號(hào)對(duì)應(yīng)的概念信息如表1所示。
Table 1 Mongolian news domain ontology
本文選擇的本體構(gòu)建工具是Protégé,它是基于Java語(yǔ)言開發(fā)的知識(shí)獲取本體和本體編輯軟件,也是基于知識(shí)的編輯器,屬于開放源代碼軟件,主要用來(lái)構(gòu)建語(yǔ)義Web中的本體。Protégé為開發(fā)人員提供了定義本體概念的功能,開發(fā)人員也可以定義本體之間的關(guān)系、屬性和實(shí)例。因?yàn)樵撥浖帘瘟司唧w的本體描述語(yǔ)言,開發(fā)人員不會(huì)看到概念層次以下的結(jié)構(gòu),只需在概念層次上構(gòu)建領(lǐng)域本體模型。
本文選擇OWL語(yǔ)言實(shí)現(xiàn)本體數(shù)據(jù)的描述,OWL是RDFS(Resource Description Framework Schema)的一個(gè)擴(kuò)展,OWL具有靈活快速的數(shù)據(jù)建模能力,并且可以進(jìn)行高效的自動(dòng)推理。OWL可以描述類、屬性、個(gè)體和公理等類型的數(shù)據(jù),本體模型中的概念在OWL中被描述成類,類中包含屬性和實(shí)例對(duì)象。RDFS是基于RDF(Resource Description Framework)提出的,RDFS包括了類(rdfs:Class)、屬性(rdfs:Property)、子類(rdfs:subClassOf)、子類屬性(rdfs:PropertyOf)、定義域(rdfs:domain)和值域(rdfs:range)等。RDF本質(zhì)是一個(gè)數(shù)據(jù)模型DM(Data Model),用三元組(s,p,o)來(lái)表示數(shù)據(jù),其中,s、p和o分別代表主語(yǔ)(subject)、謂語(yǔ)(predicate)和賓語(yǔ)(object)。主語(yǔ)和謂語(yǔ)確定唯一的URI資源,賓語(yǔ)可以是資源或文字。RDF提供了處理元數(shù)據(jù)的基礎(chǔ)設(shè)施和互操作標(biāo)準(zhǔn),從而使計(jì)算機(jī)可以理解元數(shù)據(jù)的精確含義。RDF可使用自己的詞匯表描述任何資源,并使計(jì)算機(jī)理解我們描述資源所使用的詞匯表,自動(dòng)便捷地處理Web上的各種資源,使得語(yǔ)義搜索更加準(zhǔn)確和智能,解決了搜索引擎中返回?zé)o關(guān)數(shù)據(jù)的情況。下面是一個(gè)RDF/XML的展示。
〈rdf:RDF
xmlns:rdf="http://www.w3.org/2000/01/rdf-schema#"
xmlns:cd="http://www.semanticweb.org/chen/ontologies/2019/2/12/biye#"〉
〈rdf:Description
〈cd:from〉CCTV〈/cd:from〉
〈cd:time〉 2019/6/11 11:03 〈/cd:time〉
〈/rdf:Description〉
〈/rdf:RDF〉
其中,rdf:RDF定義了RDF文檔根元素;xmlns:rdf定義了命名空間,規(guī)定了帶有前綴rdf 的元素來(lái)自的命名空間;rdf:Description包含了被 rdf:about屬性標(biāo)識(shí)的資源描述;rdf:about定義了唯一標(biāo)識(shí)的一個(gè)資源,剩下的就是資源的屬性。
定義好類和類屬性以及類之間的關(guān)系后,要為每一個(gè)類創(chuàng)建實(shí)例。應(yīng)用網(wǎng)絡(luò)爬蟲從蒙古語(yǔ)新聞網(wǎng)站爬取的大量新聞數(shù)據(jù)已存入MySQL數(shù)據(jù)庫(kù)中,在數(shù)據(jù)表中的各個(gè)字段對(duì)應(yīng)本體的各個(gè)數(shù)據(jù)屬性,存儲(chǔ)的每條記錄對(duì)應(yīng)本體類的一個(gè)實(shí)例。Jena是一個(gè)開源的基于Java的語(yǔ)義Web工具包,可以處理基于RDF的本體數(shù)據(jù),為OWL和RDFS 提供不同的接口支持,并支持MySQL的數(shù)據(jù)存儲(chǔ)及存取訪問(wèn)。本文使用Jena API將MySQL表的一條記錄創(chuàng)建為本體的一個(gè)實(shí)例,并分配唯一的標(biāo)識(shí)符,然后將MySQL表的字段值轉(zhuǎn)換為本體類的相應(yīng)數(shù)據(jù)屬性值,用記錄的外鍵索引來(lái)創(chuàng)建本體實(shí)例之間的關(guān)系,從而實(shí)現(xiàn)了由數(shù)據(jù)庫(kù)為本體類創(chuàng)建實(shí)例的過(guò)程[7]。
蒙古語(yǔ)新聞?lì)I(lǐng)域本體可依據(jù)概念定義的明確性、客觀性、完整性、一致性、最大單向可擴(kuò)展性和最少約束等規(guī)則來(lái)進(jìn)行定性評(píng)價(jià)[10],評(píng)價(jià)合格則完成本體構(gòu)建,評(píng)價(jià)不合格則重新獲取概念,并修改類間關(guān)系及層次結(jié)構(gòu),依照本體的構(gòu)建步驟進(jìn)行修改和完善,直到本體進(jìn)化合格為止。
語(yǔ)義相似度是衡量詞語(yǔ)之間關(guān)系的一個(gè)重要指標(biāo),也是語(yǔ)義Web中最重要的一部分。國(guó)內(nèi)學(xué)者朱征宇等[12]給出的定義是幾個(gè)詞語(yǔ)或詞語(yǔ)之間可能替代或相互交換的程度。通過(guò)語(yǔ)義相似度的計(jì)算結(jié)果實(shí)現(xiàn)隱藏概念的擴(kuò)充和語(yǔ)義的擴(kuò)展,利于檢索關(guān)鍵詞的語(yǔ)義解析和檢索范圍的擴(kuò)大,從而提高檢索的查全率和查準(zhǔn)率[12-14]。
首先依據(jù)本體的層次結(jié)構(gòu),從頂級(jí)概念開始,依自上而下、從左到右的次序賦予每個(gè)概念節(jié)點(diǎn)的id序號(hào)為1,2,3,…。在本體層次結(jié)構(gòu)中用路徑長(zhǎng)度和概念之間的深度差來(lái)表示概念之間的語(yǔ)義距離。概念之間的語(yǔ)義距離和語(yǔ)義相似度成反比,當(dāng)2個(gè)概念之間有較大的語(yǔ)義距離時(shí),它們的相似度較低;相反,則它們的相似度較高。語(yǔ)義距離與路徑長(zhǎng)度和深度有關(guān),用Distance(a,b)表示在本體中概念a到達(dá)概念b中所需要的最少的邊數(shù)。Depth(a,b)表示概念a與概念b的深度差,計(jì)算深度值又與自身深度和共有祖先深度有關(guān),2個(gè)概念深度差越大,說(shuō)明2個(gè)概念距離越遠(yuǎn),語(yǔ)義相似度越低;反之,語(yǔ)義相似度較高。用式(1)表示為:
(1)
其中,d(NCA(a,b))代表共同祖先深度,d(a)代表概念a的深度,d(b)代表概念b的深度。
令根節(jié)點(diǎn)新聞的深度為1,則4層本體結(jié)構(gòu)的概念深度最大為5。任意2個(gè)概念a和b之間的語(yǔ)義距離Distance(a,b)應(yīng)介于0~2*Depth(T),Depth(T)是樹的最大深度。再考慮到距離和深度的關(guān)系應(yīng)是同增同減,那么基于距離深度的概念語(yǔ)義相似度計(jì)算如式(2)所示為:
(2)
其中,Simdistance(a,b)∈[0,1]。
在本體層次結(jié)構(gòu)中,對(duì)于父節(jié)點(diǎn)來(lái)說(shuō),它的每一個(gè)概念子節(jié)點(diǎn)都是對(duì)其概念的細(xì)化和具體化,所以可以通過(guò)比較概念之間所包含的信息量和公共祖先概念節(jié)點(diǎn)的信息量來(lái)衡量概念之間的相似度。信息量的計(jì)算方式如式(3)所示:
IC(c)=-lbP
(3)
其中P代表概念節(jié)點(diǎn)c出現(xiàn)的概率,用概率來(lái)表示概念的信息量。概率P的計(jì)算如式(4)所示:
(4)
其中,countleaves是葉子節(jié)點(diǎn)的個(gè)數(shù)。當(dāng)p為葉子節(jié)點(diǎn)時(shí),p出現(xiàn)的概率就是總?cè)~子節(jié)點(diǎn)數(shù)的倒數(shù);當(dāng)p為非葉子節(jié)點(diǎn)時(shí),p出現(xiàn)的概率就是p的子節(jié)點(diǎn)出現(xiàn)的概率之和。其中C(p)是p節(jié)點(diǎn)的子節(jié)點(diǎn)個(gè)數(shù),ci是p節(jié)點(diǎn)的第i個(gè)子節(jié)點(diǎn),而P(ci)是ci出現(xiàn)的概率。
根據(jù)分析可知,概念a和b信息量的相似度也取決于最近共同祖先節(jié)點(diǎn)的信息量,所以本文基于內(nèi)容的語(yǔ)義相似度計(jì)算方式如式(5)所示:
(5)
其中,σ是平衡因子,以確保分子不為0。經(jīng)過(guò)實(shí)驗(yàn)得知,平衡因子取0.5時(shí),語(yǔ)義相似度計(jì)算的結(jié)果與主觀判斷的結(jié)果相符度高。
語(yǔ)義重合度是指概念擁有相同的祖先節(jié)點(diǎn)的個(gè)數(shù),相同祖先節(jié)點(diǎn)越少,表明它們不在一個(gè)分支,則相似度越低;反之,語(yǔ)義相似度越高。而語(yǔ)義密度是指概念所擁有的子節(jié)點(diǎn)的個(gè)數(shù)。在本體層次中不同分支節(jié)點(diǎn)擁有的子節(jié)點(diǎn)的數(shù)量不同。如果在本體中,某一概念的節(jié)點(diǎn)密度越大,說(shuō)明對(duì)該節(jié)點(diǎn)概念的具體化、細(xì)化程度越高,語(yǔ)義相似度越高?;谡Z(yǔ)義重合和語(yǔ)義密度的語(yǔ)義相似度計(jì)算如式(6)所示:
Simpro(a,b)=
(6)
其中,Count(a∩b)代表概念a與b的共同父節(jié)點(diǎn)數(shù);Density(a∩b)代表概念a與b的共同子節(jié)點(diǎn)數(shù);Count(T)則是整棵樹的父節(jié)點(diǎn)數(shù);Densitymax(T)則是整棵樹密度最大的節(jié)點(diǎn)數(shù),也就是擁有子節(jié)點(diǎn)數(shù)最大的那個(gè)概念的子節(jié)點(diǎn)數(shù)。
本文采用混合式語(yǔ)義相似度計(jì)算方式,根據(jù)實(shí)際情況進(jìn)行混合,同時(shí)考慮了概念詞的位置信息、概念詞的信息量和概念詞的密度等,如式(7)所示:
Sim(a,b)=α*Simdistance(a,b)+
β*Simic (a,b)+γ*Simpro(a,b)
(7)
因?yàn)槊恳粋€(gè)因素對(duì)語(yǔ)義相似度的影響不同,所以所占的比例也不同,故要對(duì)α、β、γ這3個(gè)參數(shù)的值進(jìn)行實(shí)驗(yàn)確定。已知α+β+γ=1 ,用函數(shù)生成隨機(jī)的60組滿足條件的α、β、γ。通過(guò)實(shí)驗(yàn)得到,當(dāng)α=0.35,β=0.2,γ=0.45時(shí),既可以表達(dá)出父子節(jié)點(diǎn)的關(guān)系,也可以看出距離、信息量和語(yǔ)義密度以及重合度對(duì)語(yǔ)義相似度的影響。
表2中給出了4種語(yǔ)義相似度計(jì)算方法的實(shí)驗(yàn)結(jié)果。
Table 2 Comparison of experimental results of four semantic similarity calculation methods
首先看基于距離的語(yǔ)義相似度,本體概念1與本體概念2、本體概念3、本體概念4、本體概念5是兄弟關(guān)系,根據(jù)距離與深度計(jì)算的結(jié)果都是0.25,因?yàn)楸倔w概念2含有的子節(jié)點(diǎn)比較多,所以說(shuō)本體概念1和本體概念2的相似度應(yīng)該比其他兄弟本體概念的語(yǔ)義相似度高;再看基于信息量的計(jì)算結(jié)果,當(dāng)2個(gè)本體概念所包含的子節(jié)點(diǎn)個(gè)數(shù)相同但處于不同的分支時(shí),比如本體概念1和本體概念9,本體概念1和本體概念39,它們基于信息量的語(yǔ)義相似度一樣,所以該方法沒(méi)有辦法考慮到位置信息;本體概念7和本體概念8均是本體概念1的子節(jié)點(diǎn),本體概念11~13是本體概念1兄弟節(jié)點(diǎn)的子節(jié)點(diǎn),而根據(jù)語(yǔ)義重合度的計(jì)算結(jié)果,無(wú)法判斷哪個(gè)本體概念是兄弟節(jié)點(diǎn),哪個(gè)本體概念是兄弟節(jié)點(diǎn)的子節(jié)點(diǎn),所以也不適用于本文的本體。
經(jīng)過(guò)對(duì)表2的分析,把數(shù)據(jù)結(jié)果大于0.5的本體概念取出,認(rèn)為本體概念b和a相似。由實(shí)驗(yàn)結(jié)果得出,基于語(yǔ)義距離深度的語(yǔ)義相似度計(jì)算方法簡(jiǎn)單,易于實(shí)施,但是不能很好地體現(xiàn)節(jié)點(diǎn)密度和節(jié)點(diǎn)信息量之間的關(guān)系?;谛畔⒘康恼Z(yǔ)義相似度計(jì)算相對(duì)比較客觀,能綜合反映本體概念之間的相似性和差異,但是又不能完全分辨2個(gè)本體概念的位置信息。基于語(yǔ)義重合和語(yǔ)義密度的語(yǔ)義相似度計(jì)算必須依靠具有完備概念的概念集,本體概念語(yǔ)義重合和語(yǔ)義密度越大語(yǔ)義相似度越高,但不能反映概念節(jié)點(diǎn)距離和信息量之間的差異。
混合式的計(jì)算方法是將前3種計(jì)算方法混合起來(lái),并且把每一個(gè)因素按照不同占比相加,最后所得出的語(yǔ)義相似度結(jié)果比單一因素的語(yǔ)義相似度結(jié)果更加準(zhǔn)確。所以,本文采用混合式的語(yǔ)義相似度計(jì)算方法來(lái)對(duì)查詢關(guān)鍵詞進(jìn)行語(yǔ)義擴(kuò)展,然后在已經(jīng)標(biāo)記索引的本體實(shí)例庫(kù)中進(jìn)行搜索,從而得到所需的查詢結(jié)果,最終充分提高檢索的查全率和查準(zhǔn)率。
將蒙古語(yǔ)新聞?lì)I(lǐng)域本體作為底層的知識(shí)組織基礎(chǔ),利用本體良好的概念層次結(jié)構(gòu)和語(yǔ)義關(guān)系對(duì)用戶查詢請(qǐng)求進(jìn)行規(guī)范化預(yù)處理和查詢擴(kuò)展,該模型主要由蒙古語(yǔ)新聞?lì)I(lǐng)域本體、用戶界面模塊、語(yǔ)義擴(kuò)展模塊、索引模塊和Web信息管理庫(kù)組成,如圖7所示,只有Web信息管理庫(kù)在本地。
Figure 7 Model of Mongolian news domain retrieval system in distributed environment
本系統(tǒng)是基于Hadoop平臺(tái)而設(shè)計(jì)的,Hadoop提供了基礎(chǔ)的功能服務(wù),因此要對(duì)Hadoop分布式平臺(tái)進(jìn)行規(guī)劃和部署[15,16]。系統(tǒng)將使用3個(gè)節(jié)點(diǎn),其中1個(gè)是master節(jié)點(diǎn),其余2個(gè)為sla- ver節(jié)點(diǎn)。部署3臺(tái)虛擬機(jī)系統(tǒng)為Ubuntu14.04版本,先部署Hadoop,再部署HBase(Hadoop Database),并使用HBase自帶的ZooKeeper。因Hadoop和HBase版本要對(duì)應(yīng),所以本文使用的是Hadoop-2.7.3、HBase-1.2.4、Sqoop-1.4.7。機(jī)器名稱和分配的地址如表3所示。
Table 3 Machine name and assigned address
HBase是構(gòu)建在HDFS(Hadoop Distributed File System)之上的分布式、面向列的數(shù)據(jù)庫(kù),HBase表由行和列組成,列分為若干個(gè)列族,行和列的坐標(biāo)交叉決定了一個(gè)單元格,一個(gè)單元格需要根據(jù)行鍵、列族、列限定符和時(shí)間戳來(lái)確定,單元格中的數(shù)據(jù)都是字符串,沒(méi)有類型。每個(gè)表的每一行都有一個(gè)可以排序的主鍵RowKey和任意多的列組成,列可以根據(jù)需要?jiǎng)討B(tài)增加,同一個(gè)表中不同的行可以有截然不同的列。一個(gè)表可以有上億行,上百萬(wàn)列,故能進(jìn)行海量存儲(chǔ)。HBase表是稀疏的,當(dāng)表中某單元格沒(méi)有數(shù)據(jù)時(shí),該單元格將不會(huì)占用存儲(chǔ)空間,因此減少了需要的存儲(chǔ)量。由于HBase表由若干行組成,每行有一個(gè)行鍵RowKey作為這一行的唯一標(biāo)識(shí),則有如下3種方式訪問(wèn)表中的行:第1種是通過(guò)單個(gè)RowKey進(jìn)行查詢;第2種是通過(guò)RowKey的一個(gè)區(qū)間來(lái)訪問(wèn);第3種是全表掃描。依上所述,RowKey是HBase表結(jié)構(gòu)設(shè)計(jì)中重要的環(huán)節(jié),其設(shè)計(jì)的好壞直接影響程序和HBase交互的效率和數(shù)據(jù)存儲(chǔ)的性能[17,18]。在單機(jī)實(shí)驗(yàn)中,已將數(shù)據(jù)保存到了MySQL中,現(xiàn)在將借用Sqoop來(lái)將MySQL的數(shù)據(jù)存入HBase。根據(jù)上述考慮,將設(shè)計(jì)3個(gè)表,分別是:alldb表、idx表和sim表。alldb表存儲(chǔ)的是所有本體的實(shí)例,idx表存儲(chǔ)的是所有索引,sim表存儲(chǔ)的是語(yǔ)義相似度的計(jì)算結(jié)果。
在alldb表中RowKey是本體的id,列名分別是f1、f2、f3。在f1列下存儲(chǔ)實(shí)例的新聞鏈接(link)、新聞標(biāo)題(top)和新聞內(nèi)容(text);f2列下存儲(chǔ)新聞的來(lái)源(from)和新聞的作者(author);f3列下存儲(chǔ)新聞發(fā)布的時(shí)間(time)和新聞的id(num)。sim表中RowKey是本體概念的id,列名分別是f1、f2。在f1列下存儲(chǔ)蒙古語(yǔ)本體概念(ont)和其中文含義(chn),f2列下存儲(chǔ)每個(gè)蒙古語(yǔ)本體概念(1,2,3,…137)的語(yǔ)義相似度計(jì)算結(jié)果。idx表中RowKey是蒙古語(yǔ)本體概念(ont),列名分別是f1、f2。f1列下存儲(chǔ)本體概念的id和索引(idx),f2列下存儲(chǔ)中文含義(chn)。
本系統(tǒng)采用B/S結(jié)構(gòu),用Sqoop來(lái)進(jìn)行批量數(shù)據(jù)傳輸。Sqoop可以分割數(shù)據(jù)集并創(chuàng)建MapReduce任務(wù)來(lái)處理每個(gè)區(qū)塊的任務(wù),可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(例如:MySQL、Oracle、Postgres等)中的數(shù)據(jù)導(dǎo)入Hadoop的HDFS、HBase和Hive中,也可以將HDFS的數(shù)據(jù)導(dǎo)入關(guān)系型數(shù)據(jù)庫(kù)中[19]。Sqoop底層用MapReduce程序?qū)崿F(xiàn)抽取、轉(zhuǎn)換和加載,本體數(shù)據(jù)的檢索過(guò)程由MapReduce算法完成。與傳統(tǒng)的ETL(Extract Transform Load)工具(如:Kettle等)相比,Sqoop中由于MapReduce的特性保證了并行化和高容錯(cuò)率。Sqoop的MapReduce任務(wù)在Hadoop集群上運(yùn)行,減少了ETL服務(wù)器資源的使用。在特定情況下,抽取過(guò)程會(huì)有很大的性能提升。如果要使用Sqoop,因MapReduce任務(wù)的啟動(dòng)依賴于本地的Hadoop,所以必須在PC上正確地安裝并配置Hadoop,MySQL數(shù)據(jù)庫(kù)的JDBC(Java Data Base Connectivity)驅(qū)動(dòng)也要放到Sqoop的lib目錄下。
Figure 8 Query results
當(dāng)用戶把查詢?cè)~提交到檢索系統(tǒng)后,系統(tǒng)首先進(jìn)行語(yǔ)義的擴(kuò)展,在idx表中得到與查詢?cè)~語(yǔ)義相似度大于0.5的本體id,然后在實(shí)例庫(kù)表alldb中將本體id中的新聞實(shí)例取出,返回給查詢結(jié)果顯示模塊。
本文通過(guò)對(duì)比單機(jī)環(huán)境和分布式環(huán)境下單用戶和多用戶的查詢響應(yīng)時(shí)間來(lái)反映查詢效率。
(1)單機(jī)環(huán)境下的實(shí)驗(yàn)結(jié)果分析。
隨機(jī)選擇10個(gè)概念作為響應(yīng)時(shí)間實(shí)驗(yàn)的對(duì)象。同時(shí)訪問(wèn)MySQL數(shù)據(jù)庫(kù)進(jìn)行檢索操作,得到的結(jié)果如圖9中單機(jī)環(huán)境下的單用戶和多用戶查詢響應(yīng)時(shí)間曲線所示。
由圖9可以看出,單機(jī)環(huán)境下單用戶查詢不同關(guān)鍵詞的響應(yīng)時(shí)間普遍在30~35 s,對(duì)于用戶來(lái)說(shuō)這個(gè)檢索時(shí)間就很長(zhǎng)了,如果同時(shí)有10個(gè)用戶訪問(wèn)服務(wù)器進(jìn)行查詢,那么查詢響應(yīng)時(shí)間普遍在148~236 s,這對(duì)于當(dāng)下的使用環(huán)境,用戶體驗(yàn)是極其不友好的。
(2)分布式環(huán)境下的實(shí)驗(yàn)結(jié)果分析。
將單機(jī)環(huán)境下所選擇的10個(gè)關(guān)鍵詞同樣用到Hadoop上做實(shí)驗(yàn)[20,21],得到的結(jié)果如圖9中分布式環(huán)境下的單用戶和多用戶查詢響應(yīng)時(shí)間曲線所示。
由圖9可以看出,在分布式環(huán)境下查詢不同關(guān)鍵詞的響應(yīng)時(shí)間普遍在5~15 s左右,相比較單機(jī)環(huán)境檢索的響應(yīng)時(shí)間有所下降,如果同時(shí)有10個(gè)用戶訪問(wèn)服務(wù)器進(jìn)行查詢,那么查詢響應(yīng)時(shí)間普遍在60~70 s。
(3)單機(jī)和分布式環(huán)境下的響應(yīng)時(shí)間對(duì)比分析。
由圖9可知,單機(jī)環(huán)境下查詢處理的時(shí)間是分布式環(huán)境下的處理時(shí)間的2~3倍,分布式環(huán)境下多用戶的查詢響應(yīng)時(shí)間大幅度縮短,隨著并發(fā)用戶數(shù)的大幅增加,減少的幅度會(huì)更加明顯,差距會(huì)越來(lái)越大。所以,本文將大量的數(shù)據(jù)放在分布式環(huán)境下來(lái)縮短檢索的響應(yīng)時(shí)間是可行的。
Figure 9 Comparison of query response time between single machine environment and distributed environment
本文采用查全率和查準(zhǔn)率相結(jié)合的綜合評(píng)價(jià)指標(biāo)F值來(lái)對(duì)蒙古語(yǔ)新聞檢索系統(tǒng)的傳統(tǒng)檢索法和基于距離、信息量、語(yǔ)義重合和密度及混合語(yǔ)義相似度的檢索方法作出評(píng)價(jià),客觀地反映混合語(yǔ)義相似度檢索方法的優(yōu)勢(shì)和穩(wěn)定性。
因?yàn)椴槿屎筒闇?zhǔn)率有時(shí)會(huì)出現(xiàn)矛盾的情況,所以需要綜合考慮查全率和查準(zhǔn)率。本文中查準(zhǔn)率P(Precision)是檢索出的相關(guān)信息量與檢索出的信息總量的百分比。而查全率R(Recall)是檢索出的相關(guān)信息量與檢索系統(tǒng)中相關(guān)信息總量的百分比。通常采用綜合了查全率R和查準(zhǔn)率P的評(píng)價(jià)指標(biāo)F值,如式(8)所示。
(8)
F綜合了P和R的結(jié)果,當(dāng)F較高時(shí),說(shuō)明本文提出的方法比較有效。選擇5.1節(jié)中的10個(gè)概念進(jìn)行實(shí)驗(yàn),分別計(jì)算不同語(yǔ)義相似度檢索方法下檢索的查全率R、查準(zhǔn)率P和綜合評(píng)價(jià)指標(biāo)F,得到的F值比較結(jié)果如圖10所示。
Figure 10 Comparison of retrieval evaluation index F of different semantic similarity calculation methods
由圖10實(shí)驗(yàn)結(jié)果得出,傳統(tǒng)檢索方法的綜合評(píng)價(jià)指標(biāo)F值平均為21.5%,普遍低于語(yǔ)義Web的。而基于距離的語(yǔ)義相似度檢索方法的F值平均為68.2%,基于信息量的語(yǔ)義相似度檢索方法的F值平均為70.1%,基于語(yǔ)義重合和密度的語(yǔ)義相似度檢索方法的F值平均為68.6%,以上3種檢索方法的綜合評(píng)價(jià)指標(biāo)基本相當(dāng)。本文改進(jìn)的基于混合語(yǔ)義相似度檢索方法的F值平均為81.3%,綜合評(píng)價(jià)指標(biāo)得到了較大的提升,從而表明混合語(yǔ)義相似度檢索方法有效地提高了關(guān)鍵詞查詢的查全率和查準(zhǔn)率。從圖10可看出,混合語(yǔ)義相似度檢索的綜合評(píng)價(jià)指標(biāo)的穩(wěn)定性也明顯好于其他方法的,沒(méi)有出現(xiàn)太大的波動(dòng),并且普遍高于其他語(yǔ)義相似度的檢索方法,所以本文改進(jìn)的混合語(yǔ)義相似度檢索方法提升了蒙古語(yǔ)新聞?lì)I(lǐng)域信息檢索的查全率和查準(zhǔn)率。
面對(duì)日益增長(zhǎng)的蒙古語(yǔ)數(shù)據(jù)量和新聞網(wǎng)站,如果能快速、準(zhǔn)確、全面地獲取到需要的蒙古語(yǔ)新聞網(wǎng)絡(luò)信息資源,就能很好地滿足蒙古族人民在新聞?lì)I(lǐng)域中對(duì)信息檢索的大量需求,滿足對(duì)蒙古族文化傳播和信息共享的需要。本文在建立蒙古語(yǔ)新聞?lì)I(lǐng)域本體的基礎(chǔ)上,研究合適的混合式語(yǔ)義相似度計(jì)算方法進(jìn)行語(yǔ)義擴(kuò)展,分別研究和實(shí)現(xiàn)了單機(jī)環(huán)境下和分布式環(huán)境下的蒙古語(yǔ)新聞?lì)I(lǐng)域語(yǔ)義Web信息檢索系統(tǒng)。系統(tǒng)性能分析結(jié)果表明,在支持大規(guī)模本體數(shù)據(jù)存儲(chǔ)擴(kuò)展的同時(shí),分布式環(huán)境下的查詢響應(yīng)時(shí)間遠(yuǎn)少于單機(jī)環(huán)境下的查詢響應(yīng)時(shí)間,有效提高了蒙古語(yǔ)新聞的檢索速度,同時(shí)也提高了蒙古語(yǔ)新聞關(guān)鍵詞查詢的查全率和查準(zhǔn)率。