索俊鋒,鄭海晨
(西北民族大學 土木工程學院,甘肅 蘭州 730124)
信息檢索已逐漸成為人們獲取信息的最主要方式之一.在用戶提交的查詢中,和位置相關的查詢占有較大的比重[1].然而,目前大多數(shù)搜索引擎在查詢時把地理位置當作關鍵詞、主題詞進行簡單字面匹配,缺乏一定的推理能力,沒有考慮到地理位置的特殊性,導致用戶的需求常常難以滿足.網(wǎng)頁中地理位置信息通常是以地名的形式出現(xiàn),人們習慣使用地名而不是地理坐標來描述空間信息,以此作為獲取信息的地理參考.地名知識反映人們對客觀世界地理命名實體的描述,缺乏統(tǒng)一的地名知識形式化表達方法.在實際使用時經常出現(xiàn)一地多名、一名多地、一名多義等多源異構性問題[1],直接導致了地名知識難以共享和集成.而地名本體能夠為業(yè)界提供地名的形式化定義以及語義上的共同理解,可以為語義地名引擎提供知識庫以及規(guī)則庫.專業(yè)搜索首要解決的問題是如何高效準確地在海量信息資源中發(fā)掘其特定領域或特定主題的網(wǎng)絡信息,然而信息資源異構性的存在,尤其是語義異構性的存在,使得傳統(tǒng)以字符串匹配為基礎的信息檢索系統(tǒng)難以滿足用戶對信息和知識的深層次需求,因此,加強基于概念匹配的信息檢索系統(tǒng)的研究就顯得尤為重要.此問題的核心和關鍵點是如何計算目標網(wǎng)絡資源的主題相關度[2].語義相關度計算是對信息進行智能化處理的核心技術之一,可以用來迅速定位與查詢密切相關的信息,一直是自然語言處理領域的研究熱點[3].然而,現(xiàn)有的相關度算法基本上在字符層次上計算主題相關度,未能全面考慮詞語語義,處理概念或語義的能力相對不足,結果是主題相關度判斷不準確,導致獲取主題信息的準確性較低,難以滿足用戶的需求.
針對以上存在的問題,本文簡要回顧了語義相關度理論和定義,以蘭州市地名本體為例研究了領域本體的構建方法,基于protégé本體平臺構建了中國西北地名本體.在傳統(tǒng)詞語間本體關聯(lián)度計算模型的基礎上,引入地名本體相關度計算模型,提出了一種加權語義相關度計算模型.該模型考慮詞語所在的語境和語義等信息.根據(jù)資源對象的語義關系、概念匹配以及有關推理機制來引導用戶的查詢和檢索反饋,其根本特點在信息檢索過程中的檢索匹配不是基于字面的機械匹配,而是基于知識單元的、面向語義的匹配,可以有效抽取利用網(wǎng)頁中的地理位置信息來滿足不同用戶位置相關的查詢需求,從而大大提高信息檢索反饋的相關性和準確度[4,5],并以中國西北地名本體的片段為例,詳細闡述了基于地名本體相關度計算過程,表明本文提出的語義相關度綜合模型在語義檢索應用中可以達到更好的檢索效果.
語義相似度和相關度既有聯(lián)系又有區(qū)別[4,6].語義相似度是指兩個概念間的相似程度,通常指兩個概念本身之間具有某些共同特性[7].語義相關度是指兩個詞語的關聯(lián)程度[8],這兩個詞可以是同義詞、近義詞、反義詞,也可以是具有包含關系(如“森林”和“植被”)、層次關系(如“國家”和“省”“市”等)、關聯(lián)關系等的兩個詞語.相關是對兩個有關系的對象關系的定性分析,如蘭州市和定西市,存在相接關系;相關度就是對相關性的定量分析,用一個數(shù)值表示兩個對象間的關聯(lián)程度的大小,這個數(shù)值介于0~1之間.語義相關度計算已廣泛應用在信息檢索、文本分類、詞義消歧,基于實例的機器翻譯、智能問答、自動摘要、拼寫糾正、意見挖掘、詞匯選擇、復合名詞解釋和信息系統(tǒng)關鍵詞分類等自然語言處理領域[3,9,10].國內外許多學者提出了大量語義相關度算法,這些算法大致分為4類:基于路徑、基于信息內容、基于特征以及混合算法[4,7,8,11-14].基于路徑的模型主要依據(jù)概念之間的距離、深度計算相似度,計算模型簡單但考慮因素過于單一,難以詳細說明領域的范圍或在概念空間中的尺度,僅能計算語義距離[15];基于特征的方法考慮了概念共同擁有的特征,忽略了二者在本體樹種的層次結構且特征的計算相對復雜[16].由于復合特征(特征匹配與否)可能很多,因此基于特征的模型不能很好度量語義相似性[15].基于信息量的方法通過統(tǒng)計概念及其下義詞在語料庫中出現(xiàn)的頻率來表征概念的信息量.概念出現(xiàn)的次數(shù)越高,信息量則越少,忽略了概念的層次信息,且不同語料庫的計算結果可能不同[6].近年來,為了得到更為精確的結果,綜合考慮多種影響因素,但在算法性能以及效率方面難以達到平衡.呂歡歡[17]提出了一種綜合概念關系類型,強度、信息量、節(jié)點密度等多個因素的計算模型,概念相似度準確性得到了一定提高,然而計算太復雜.
在語義相關度計算中涉及本體,通常采用通用本體,如WordNet[18]、知識百科Wikipedia[19]、知網(wǎng)HowNet[10,20]等,其中WordNet可以被看作一種樹狀的本體,其本體結構采用上下位關系作為主要關系連接概念節(jié)點,采用基于本體邊[21]和基于距離[4,22]進行語義相關度計算.通用本體難以應用于專業(yè)領域,領域本體常用于行業(yè)語義相關度計算[7].近年來,更多的學者開始重視面向領域知識本體在文本處理技術中的應用[7,23-25],挖掘本體概念關系,提高信息自動化處理的效率.陳小紅等[7]基于地學領域本體,綜合考慮本體層級信息量、拓撲結構,提出了加入約束條件下的相關度算法;盧艷平[3]基于儒學領域本體,提出了一個考慮語義距離、層次深度、公共祖先集及本體之間基本關系的相關度計算模型,并將其應用于圖書館古典文學檢索系統(tǒng).Shrutilipi Bhattachearjee,etc[26]提出了一個基于土地覆被本體計算空間土地覆被烈性之間語義相似度的方法.程剛[27]針對基于字面和空間數(shù)據(jù)的地名匹配方法存在的不足,面向規(guī)范地名提出一種綜合了地名專名字面相似度和地名通名語義相似度兩種因素的復合相似度匹配算法模型.
盡管學者們基于不同領域本體提出了不同的語義相關度算法,但是針對地名本體的語義相關度算法鮮有報道.基于此,本文提出基于地名本體的綜合語義相關度算法在與位置相關的信息檢索中有十分重要的現(xiàn)實意義.
本體(Ontology)來源于哲學領域,隨后引入到信息科學領域.Gruber[28]認為:本體就是概念化的明確規(guī)范化說明.該定義包含四層含義:概念模型、明確、形式化和共享.地理本體(Geo-Ontology)是空間信息科學中具體應用領域里共享的一個概念化的知識系統(tǒng)的形式化和顯示的說明規(guī)范[29].
地名本體是關于地理位置的本體,是一種特殊的地理本體,也是一種面向地名的領域本體.與一般地理本體比較,地名本體主要表達的是人類常識性的地理信息需求,而不是反映整個地理空間世界[30].本文采用五元組數(shù)據(jù)結構表示地名本體:DO=
圖1 蘭州市地名本體對象表達
定義1 路徑長度[32]:概念結點ti與tj之間的路徑長度Len(ti,tj)是指從概念結點ti到達tj的路徑上經過的邊的條數(shù).
定義2 語義深度:任意概念結點t的深度是指由結點t到根結點R之間的路徑長度,Dep(t) =Len(t,R),根結點的深度Dep(R)=0.同樣距離的兩個概念,其相似度隨著他們所處層次的綜合增加而增加,隨著他們之間層次差的增加而減小[33].
圖2 語義距離示意圖
定義3 語義距離:本體中任意兩個概念節(jié)點ti與tj之間的最短路徑,即從概念節(jié)點ti到概念ti與tj最近父節(jié)點p的距離與概念節(jié)點tj到概念ti與tj最近父節(jié)點p的距離之和,記為Dist(ti,tj).特殊情況下,當兩個節(jié)點不能聯(lián)通時為無窮大[3],它是用來量化兩個概念間的相關或相似程度.圖2所示為語義距離概念間的樹結構圖.按照上述定義可得:Dep(A)=1,Dep(E)=3,Len(E,A)=2,Dist(E,D)=5.
基于本體的語義檢索是在傳統(tǒng)檢索的基礎上,引入本體推理機制,從而達到語義檢索的目的.本文在分析經典檢索模型的基礎上,提出基于空間本體的語義檢索相關度的計算模型.
兩個術語ti與tj之間的本體關聯(lián)度[32]指屬于同一個領域本體的兩個術語ti與tj之間的語義關聯(lián)程度,記為Ocd(ti,tj),可以利用它們之間的語義距離來計算.詞語間語義距離與它們之間的路徑以及術語在本體樹中的位置有關.詞語間本體關聯(lián)度[32]的計算公式為:
(1)
式中,Distmax是本體結構中最大的語義距離;β是調節(jié)參數(shù).
地名本體語義計算模型可以表達為:
(2)
式中Dist(ti,tj)為本體ti和tj間的語義距離,Wk為語義距離關系鏈中的任意一段的權值.上式實際上是語義距離關系鏈中各段權值以10為底的對數(shù)的積.
語義距離Dist(ti,tj)可用下式來表示:
Dist(ti,tj)=mink∈(1,2,…,m){Len(ti,Pij)+Len(Pij,tj)}
其中,Pij為ti和tj的父節(jié)點.語義距離是ti,tj間存在m條關系鏈中最短的一條.
語義檢索是在傳統(tǒng)全文檢索的基礎上,另外增加了基于本體推理過程的檢索.所以,其相關度的值應該是兩者綜合后的結果,可以通過一個系數(shù)ω調整兩者的比重,生成一個加權相關度,其公式為:
ωCorr(ti,tj)=ω×Ocd(ti,tj)+(1-ω)×Corr(ti,tj)
(3)
式中,ωCorr(ti,tj)為加權相關度,由關聯(lián)度和相關度綜合影響.
實驗所用的地名本體是中國西北地名本體的片段.該本體共包含3級,包括要素類:中國西北(1個)、省級類(5個)、毗鄰省級類(7個)、市級類(其中甘肅省包含14個,青海省包含8個,陜西省包含10個,寧夏回族自治區(qū)包含5個,新疆維吾爾族自治區(qū)包含23個).對象屬性主要包括兩類,在protégé本體平臺上人工構建完成,如圖3所示,從中可以看出:
圖3 地名本體局部關系圖
1)地名本體主要通過“包含”(contain)和“相接”(touch)兩種空間拓撲關系建立.其中“甘肅省”類和“蘭州市”類通過“contain”屬性關聯(lián),“甘肅省”類和“四川省”類通過“touch”屬性關聯(lián),兩者的語義距離是相同的,都是直接的二元關系,但應用于不同的場景中,兩種關系的關聯(lián)程度卻表現(xiàn)不同.比如,在空間語義搜索應用中,可以認為“甘肅省”類和“蘭州市”類的“contain”關系比“甘肅省”類和“四川省”類通過“touch”關系更相關.因為當用戶搜索與甘肅有關的地理專題數(shù)據(jù)時,通過語義推理搜索到蘭州的數(shù)據(jù)也滿足用戶的需求,因為蘭州在甘肅的范圍內,四川不在甘肅省范圍內,所以從這層含義上講,“contain”關系的相關性就比“touch”關系要強.甘肅省包含蘭州市(或天水市、嘉峪關市)比甘肅省與四川省接壤具有更高的相關度,可以通過關系路徑的權值反映這種關聯(lián)程度的強弱.
2)盡管“蘭州市”“天水市”“嘉峪關市”類在同一層次,但是由于蘭州市是甘肅的省會城市,從語義搜索的角度來看,蘭州市包含的信息更豐富.如果要體現(xiàn)蘭州作為省會,地位略高于天水,就可以賦予“甘肅—蘭州”的“contain”關系略高于“甘肅—天水”的“contain”關系,這可以通過賦予不同的權值來實現(xiàn).
3)上述本體關系圖表現(xiàn)了本體的傳遞性,即由西北包含甘肅省,甘肅省包含蘭州市,可以推出西北包含蘭州市.但是本例中,西北與甘肅的關聯(lián)程度比西北與蘭州市的關聯(lián)程度高,這是基于語義距離的觀點得出的,即西北與甘肅的語義距離為1,而西北與蘭州的語義距離為2,關聯(lián)程度與語義距離成反比.
根據(jù)以上分析,本實驗中的本體關系權值經多次實驗選取如表1所示參數(shù).
表1 空間本體間關系和權值
實驗中為了選取合理的參數(shù),在EXCEL中編程,按照提出的加權語義相關度算法和表1的本體關系權值,以表2所列參數(shù)進行了多次實驗,實驗結果如圖4所示.由圖可知,不同實驗參數(shù)對于實驗結果變化趨勢影響不大,惟一受影響的是實驗1和實驗3在C1-C10和C3-C10加權本體相關度數(shù)值發(fā)生了變化,說明參數(shù)w的選取一定程度上會影響實驗結果,但是不影響加權本體相關度數(shù)值變化的趨勢.
表2 實驗序號和參數(shù)選取對應表
圖4 不同參數(shù)計算的實驗結果
為了說明加權本體相關度的具體計算過程和分析實驗結果,選取參數(shù)β=1,w=0.5實例,計算出本體與其他相關聯(lián)本體間的相關度值,如表3所示.
表3 本體類與其他相關聯(lián)本體間的相關度值
Dist(西北,蘭州)=2; Distmax= 4
wCorr(西北,蘭州)=0.5×0.911+0.5×0.75=0.8305
分析表2可以得出以下結果:
1)“西北”本體和“寧夏”“甘肅”“陜西”“青?!薄靶陆北倔w間的相關度與“甘肅”本體與“蘭州”本體的相關度相同,并且最高.表現(xiàn)出它們是直接的二元關系,具有最短的語義距離,權值也最高.
2)“西北”本體和“蘭州”本體的相關度高于“西北”本體和“天水”“嘉峪關”本體的相關度,這是因為蘭州實驗假定了蘭州作為省會,地位略高于天水、嘉峪關的假設,賦予“西北—蘭州”較高的權值,而天水和嘉峪關都是地級市,賦予相同的權值.
3)“西北”本體和“四川”本體的相關度相對較低.這是因為在本實驗中,基于空間本體的“包含”關系比“相接”關系更重要的觀點,而賦予“西北—四川”本體相對較低的權值.
4)本體樹枝葉越茂盛,層次越向下,本體相關度就越小,這一點可以從表3的“蘭州”本體與其他本體的相關度值和“西北”本體與其他本體的相關度值看出來.“甘肅—天水”本體的相關度(0.903)高于“蘭州—天水”本體的相關度(0.862).
5)“蘭州—天水”本體的相關度(0.862)小于“蘭州—陜西”本體的相關度(0.868),這是因為本實驗將“西北—甘肅”和“甘肅—蘭州”的權值都設置成9不盡合理,需要對合理的權值設置做進一步的研究.但是經過加權相關度計算,“蘭州—天水”本體的加權相關度(0.806)大于“蘭州—陜西”本體的加權相關度(0.7465),因為蘭州和天水市都屬于甘肅省,二者之間的關系緊密度要大于蘭州與陜西省的關系.從“蘭州—陜西”本體的加權相關度(0.7465)和“蘭州—四川”本體的加權相關度(0.662)來分析,陜西省相比較四川省與蘭州市的拓撲關系緊密,這是因為陜西省和蘭州市同屬于西北,而四川省與蘭州市只是在甘肅省這個節(jié)點上有鄰接關系.這一結論充分驗證了經加權相關度計算后的結果與實際行政區(qū)劃本體在地域空間上的一致性,因而計算結果更合理也更準確.
基于上述分析結果,在應用到空間語義檢索場景中,當用戶輸入“西北”這個主題詞時,如果直接匹配到“西北”這個本體,則語義相關度為1,即完全相關;如果通過推理匹配到了與“西北”本體相關的其他本體,則匹配到“寧夏”“甘肅”“陜西”“青?!薄靶陆北倔w的結果排在前面,接著是“蘭州”“天水”“嘉峪關”本體,最后才是“四川”本體.
通過分析可知,面向特定的應用,賦予本體關系不同的權值,計算得到的相關度符合預期效果.
語義相關度計算是自然語言處理中的重要課題[19].本文基于地理本體的概念層次樹所提供的豐富的語義信息,探討了基于地名本體的空間數(shù)據(jù)語義加權相關度算法,不僅考慮了字符串的匹配,同時考慮了空間本體語義關系的相關性和關聯(lián)性,使語義檢索相關度計算更具有合理性和準確性.通過地名本體實例加以驗證,按本算法獲取的相關度值能較好地體現(xiàn)地名本體樹中不同概念對的重要程度,進行相關度值按從大到小的排列順序的語義檢索結果符合實際情況,從而驗證了該算法在地理信息語義檢索應用中可以達到良好的效果,為相關度計算提供了一種新思路.
本算法是基于地理信息系統(tǒng)的空間拓撲理論,并按照本體樹自上而下提出的,考慮了各種空間拓撲關系在不同語義檢索應用中重要程度有所不同,從而通過地名本體關系設置不同的權值來體現(xiàn)不同拓撲關系的重要程度.要說明的是,本體樹中本體關系的權值對相關度的計算影響較大,如果權值設置不合理,使相關度計算結果與實際情況不相符合,如本例中將“西北—甘肅”和“甘肅—蘭州”的權值都設置成9不盡合理.如果在查詢“甘肅”,按照重要性來講,則優(yōu)先匹配到“蘭州”,而不是“西北”,如果綜合考慮空間距離要素和信息量等因子,基于地名本體的相關度計算結果將更趨完善,這也是本算法研究進一步努力的方向.