田 野(上海財經大學人事處)
近年來,伴隨著 Thomson Reuters、MIT、JISC、美國國會圖書館、美國政府、英國政府及英國廣播公司、紐約時報等機構出版發行關聯數據,[1]關聯數據的應用研究逐漸引起學術界和工業界的廣泛關注。關聯數據允許用戶發現、關聯、描述并利用各種數據,它已經成為推動語義Web發展的重要力量之一,從關聯數據中獲取的數據既可以來自一個組織內部的不同系統,也可以來自不同組織的不同系統,這些數據在內容、存儲地點及存儲方式等方面可能是完全不同的。關聯數據作為語義網的重要特征之一,提供了一種基于可鏈接的URI發布、分享和連接Web頁面中各種資源的有效方法,[2]其目的在于構建一種計算機和用戶都能理解的結構化語義數據網絡。它把原來相互孤立的數據通過語義關聯的形式連接在一起,形成一個巨大的數據網絡中心,實現了可動態關聯的知識對象網絡,并支持構建各種智能化的應用系統及各種知識挖掘與應用。[3,4]
Hausenblas[5]指出,關聯數據應用主要包括兩方面:關聯數據在特定領域的應用;基于關聯數據的各種Web應用系統。黃永文等[1]從目前已進行關聯數據發布和實踐應用的多個國家型圖書館、大學圖書館及圖書館聯盟機構案例角度分析,指出在圖書館領域關聯數據的應用主要包括改善檢索服務系統的效果、增強資源發現服務、提供靈活的跨領域數據存取和重用。
Health等人[6]指出,關聯數據應用系統的一般體系框架主要包括關聯數據的發布層,關聯數據的獲取、集成和存儲層及應用層(見圖1)。基于關聯數據的應用系統包含以下幾個特點:① 使用遵循關聯數據發布原則的數據,對可訪問數據發出請求、檢索和處理指令;② 根據不同數據源間的關聯關系,進一步挖掘知識信息;③ 把關聯數據與已有數據(可能是非關聯數據)結合;④ 根據關聯數據的創建原則,把融合后的數據再發布到Web頁面上;⑤ 為用戶提供增值服務。[7]
目前,推薦系統已經廣泛應用于多種學術資源信息庫中。如,萬方數據知識平臺會根據用戶輸入的單一關鍵詞,推薦相似論文、引證文獻、讀者關聯閱讀文獻及相關博文等;Elsevier數據庫同樣也有檢索相似文獻的推薦功能。

圖1 關聯數據應用的一般體系框架[6]
學術資源信息庫中所有文獻間的關聯性主要包括以下幾個方面:① 類別關聯性,即在學術資源數據庫中的所有資源可以劃分成多種類型,相同類型的資源歸于同一集合中;② 引用關聯性,即在學術資源數據庫中所有資源間的相互引用關系;③ 語義關聯性,即在學術資源數據庫中所有資源間在文本語義上的關聯性;④ 時間關聯性,即在學術資源數據庫中所有資源出現時間的先后順序。
學術資源數據庫推薦系統大都以用戶閱讀行為為基礎,利用所有文獻在類別、引用、語義及時間上的關聯性,為用戶推薦學術資源。Watanabe等[8]開發了文獻支持系統Papits,該系統具有論文共享、論文推薦、論文抽取、論文分類等功能,基于用戶的瀏覽記錄利用Scale-free網絡構建用戶模型,然后通過計算用戶模型與文獻模型之間的相似度,將具有較高相似度的文獻推薦給用戶。這屬于基于內容的推薦方法,只需要考慮用戶模型與文獻模型間匹配度,不需要關注用戶對文獻的任何評價,對于瀏覽記錄比較稀少的用戶,此推薦方法是失效的。Huang等[9]提出了基于圖模型的文獻推薦系統,系統包括兩層:第一層是書與書之間的關聯,第二層是用戶與用戶之間的關聯,兩層節點之間的鏈接是用戶對書的打分或者預測打分。Gori等[10]根據文獻之間的引用關系,以圖表形式展示了整個文獻數據庫,將相應的圖矩陣進行歸一化處理后,使用改進的PageRank算法進行推薦。Sullivan等[11]將激活-擴散模型應用于文獻推薦中,用戶輸入的不再是一些關鍵詞,而是其感興趣的文檔,發現基于文本信息的算法要優于基于引文信息的算法,基于文本信息和引文信息的算法要優于僅僅基于單一信息的算法。李琳娜等[12]和Goodrum A[13]利用文獻共引關系實現文獻的查找與推薦。
雖然這些推薦方法靈活地利用了學術資源信息庫中所有文獻間的關聯關系及用戶查詢瀏覽文獻時的歷史行為數據,在推薦效果與用戶體驗方面取得了較好的效果,但是,這些方法大都忽略了學術資源信息庫中所有文獻間最重要的一種關聯關系——語義關聯性。幾乎所有的文獻都是以文字形式存儲在學術資源信息庫中,對文獻內容的文字語義及文獻間文字語義關聯性的認知和研究就顯得至關重要,特別是隨著語義網技術的發展及關聯開放數據源的不斷擴大,原來相互隔離的數據源逐步以語義關聯性串聯在一起,這使得用戶可以實現跨多數據源的信息檢索與查詢,有效擴展了用戶檢索查詢的范圍。Zarrinkalam等[14]把外部關聯數據與本地數據相融合,填補本地出版物數據在介紹文本、引用列表、參考列表、作者名單和出版年份等方面的缺失,把參考關系、引用關系及作者的共著關系作為建立出版物關聯機制的準則,提出一種基于用戶輸入文件相關聯的混合式引文推薦方法。其中,文獻間的語義關聯性是通過文獻間引用關系反襯出來的,并沒有真正利用文獻內容的文本語義關聯性。
已有的大多數學術資源推薦系統利用了學術資源間的類別關聯性、互引關聯性和學術資源本身的語義關聯性。[8,10,14]在這些學術資源檢索推薦系統中,學術資源相關性的計算通常僅通過單一的本地數據源,不能為用戶推薦與查詢關鍵詞匹配度更高的學術資源信息。為了克服上述缺陷,筆者在本地數據源的基礎上,以本體關聯的形式引入外部關聯數據,提出一種基于本體的文本語義關聯性計算方法,構建一個關聯數據驅動的學術資源語義檢索推薦系統。關聯數據一方面能夠幫助提高文本語義相關聯的匹配度,提高用戶對推薦結果的滿意度;另一方面能夠緩解單一數據源而導致的數據稀疏性推薦的冷啟動問題。
把關聯數據和推薦系統應用到學術資源檢索過程中,能夠進一步改善學術資源檢索系統的效果,并實現多數據源系統的檢索查詢功能,同時推薦給用戶與檢索內容相關的文獻資源,擴展檢索功能。根據關聯數據應用的一般框架,[6]筆者把推薦系統及關聯數據應用到學術資源檢索推薦中,設計關聯數據驅動的學術資源語義檢索推薦系統的框架模型,本文的創新點是探索關聯數據的引入對語義相似性計算的改進(見圖 2)。

圖2 關聯數據驅動的語義檢索推薦系統框架
① 關聯數據的融合。首先,將中科院機構知識庫網格平臺中的本地數據發布成五星級的關聯數據(http://5stardata.info),這種由本體支持的關聯數據形式可以直接與LOD云中其他學術資源數據進行融合;其次,從LOD云中挑選出可用的學術資源,采用恰當的關聯數據融合手段實現外部關聯數據與本地數據的融合,形成最終的檢索推薦數據集。② 語義相關性的計算。計算出與用戶輸入關鍵詞語義相關的檢索文獻和推薦文獻,筆者選擇直接在融合關聯數據上采用基于本體的語義相關性計算方法,避免了在單一本地數據集上的語義相關計算而產生低匹配度問題。③推薦引擎。選擇合適的推薦算法,并把推薦結果反饋給用戶。
如,在Elsevier和萬方知識服務平臺中,當用戶在對話框中輸入檢索關鍵詞之后,檢索系統把數據庫與用戶輸入關鍵詞匹配度最高的學術資源文獻反饋給用戶,同時還把與每一個反饋文獻相似度較高的文獻資源形成推薦列表,反饋給用戶。在此應用背景下,結合關聯數據,學術資源檢索推薦系統主要由如下模塊構成:① 學術關聯數據的整理和數據庫的構建,包括檢索數據庫的設計與構建、學術關聯數據的融合、數據的導入;② 用戶交互界面,主要包括檢索關鍵詞的輸入界面和檢索推薦結果的呈現界面;③檢索推薦過程。
在學術資源檢索推薦系統中,用戶輸入檢索關鍵詞發起檢索查詢請求,系統要根據用戶輸入的關鍵字從資源庫為用戶返回語義相關性較高的文獻資源,同時把文獻資源語義相關性較高的其他文獻資源以推薦列表的形式推薦給用戶。此過程主要涉及兩方面的語義相關性:用戶輸入關鍵詞與文獻文本的語義相關性、文獻資源文本的語義相關性。其中,文獻資源可以用多維關鍵詞向量表示。
假設是一文檔資源,那么此文檔資源的多維關鍵詞為:D={w1,w2,w3,…,wn}。因此,如果能夠計算兩個詞語間的語義相關性,那么就可以解決用戶輸入的關鍵詞與文獻文本的語義相關性的計算問題。一般來說,兩個詞語間的語義相關性被定義為一個0-1之間的實數值,當兩個詞語語義完全一樣時,他們之間的語義相關性為1,當兩個詞語屬于兩個完全不同語義概念時,它們之間的相關性為0。
詞語間的語義相關性與語義距離之間存在著密切關系:兩個詞語間的語義距離越大,其語義相關性越低;兩個詞語間的語義距離越小,其語義相關性越大。[15]
設w1和w2是兩個詞語,記sim(w1,w2)為其語義相關性,dis(w1,w2)為其語義距離,那么sim(w1,w2)和dis(w1,w2)之間存在反比關系,即dis(w1,w2)越大,sim(w1,w2)就越小。① 當dis(w1,w2)為0時,則sim(w1,w2)為1,表示兩個詞語在語義上完全相關的;② 當趨于無窮大時,則sim(w1,w2)為0,表示兩個詞語間在語義上完全無關。兩者之間的對應關系計算方法見式(1):

其中,α為調節因子。詞語的語義距離有兩種常見的計算方法:基于某種世界知識的或者分類體系的計算方法、基于大規模語料庫的統計計算方法。基于分類體系語義距離計算方法又稱為基于樹的語義相關性計算方法,此類方法可以分為基于距離的語義相關性測度和基于信息內容的語義相關性測度。一般情況下,利用一部語義詞典將所有的詞組織在一顆或者幾顆樹狀的層次結構中,[16]任意兩個節點(詞語)之間有且只有一條路徑,那么這條路徑的長度可以作為這兩個詞語概念間語義距離的一種度量,詞語概念在樹結構中的節點越深,其包含的語義信息就越深,也越能準確地決定概念的性質。基于語料庫的詞語相關性度量的研究大都采用上下文語境的統計描述方法,即認同如下論斷:詞語的上下文可以為詞語定義提供足夠信息。[17]詞語向量空間模型是目前基于統計的詞語相關性計算策略使用比較廣泛的一種。
Lin[18]利用信息理論,提出通過樹狀結構中兩個節點所含的信息量的大小來計算語義相關性。設s1和s2是兩個義原,sp為距離它們最近的共同祖先,P(s)為節點s的子節點個數(包括其本身)與樹中所有節點個數的比值。則s1和s2之間的相關性計算方法見式(2):

Rudi L C等利用信息論、壓縮原理、柯爾莫哥洛夫復雜性、語義學等知識,把Internet作為一個大型的語料庫,以Google搜索的結果數為計算的數據依據,提出了一種語義相關性計算方法。[19]設NGD(Normalized Google Distance,0-1之間)表示標準谷歌距離,用以衡量語義相關性的大小,f(x)和f(y)分別表示包含概念x和y的網頁數,N表示Google引用網頁總數,那么概念間的語義相關性計算方法見式 (3):

在關聯數據中,領域本體提供共享詞表,用來表示特定領域中存在的個體概念和個體間的相互關系。每個個體包含多種屬性信息,不同屬性信息對個體相似性會有不同的影響力。如,在文獻相關性計算過程中,文獻標題明顯比文獻出版年份更重要。設文獻i和文獻j的基本屬性集分別為{ia1,ia2,…,ia}I和{ja1,ja2,…,ja}J,其中I和J分別表示文獻i和文獻j的屬性數目。那么文獻i和文獻j的屬性相似權重和定義為如下形式:


文獻和文獻間本體語義相關性計算方法為:

大多數文本語義相關性的計算都會涉及本體語義相似性的計算。劉宏哲等[21]把基于本體的語義相似性計算粗略分成基于樹狀本體結構的語義相似性計算方法和基于有向圖的語義相關度計算方法。前者是基于概念語義分類詞典WordNet構建的本體樹型結構圖,樹中節點稱為本體概念,將文本的每一個關鍵詞映射到本體樹型結構的概念節點,從而把文本語義相關性的計算轉化成多維關聯詞組的語義相關性計算,兩個關鍵詞之間的語義相關性通常采用關鍵詞在本體樹型分類體系中的路徑長度來度量,路徑長度越大,關鍵詞的語義相似性就越小;后者是基于Wikipedia中的頁面網和類別網的抽象有向圖結構,包含多種本體語義相關性計算方法。[22,23]
許多文獻[24,25]把文本表示成一個個相關孤立的關鍵詞列表,在文本語義相關性的計算過程中忽略了概念本體間的語義關聯和語義擴展。本文把構成文本的每一個關鍵詞在本體概念樹中的映射節點的父節點和子節點的集合稱為語義擴展集,并將其應用到語義相關性的計算過程中。
在如圖3所示的本體概念層次樹中,文本中的任意兩個關鍵詞為worda和wordb,它們在本體概念層次樹中的映射對象分別為C3和C4,用dis(worda,wordb)表示它們之間的本體語義距離。此外,對C3和C4進行本體語義擴展:如果向上擴展,那么概念節點的本體語義擴展集合由該節點的父節點組成;如果向下擴展,則概念節點的本體語義擴展集合由該節點的子節點組成;把這兩種擴展方式形成的本體語義擴展集合的并集稱為此概念節點的本體語義擴展集。概念節點C3父節點本體語義擴展集為{C1},子節點的本體語義擴展集為{C7,C8,C9,C10};同樣的,C4的父節點本體語義擴展集為{C1,C2},子節點的本體語義擴展集為空。那么,概念節點C3和C4的本體語義擴展集分別為 ={C1,C7,C8,C9,C10}和 ={C1,C2}。
筆者結合概念節點的本體語義距離和本體語義擴展集的相似性,計算兩個關鍵詞在本體語義上的相似性。采用Jaccard系數來計算兩個關鍵詞在本體概念層次樹中的本體語義擴展上的相似性,具體計算方法如下:

基于本體語義距離的相似度為:

筆者采用加權平均法,計算兩個關鍵詞的最終的本體語義相似度:


圖3 本體概念層次樹
在沒有涉及關聯數據條件下,文本(本體)語義相關性的計算方法只會涉及本地單一數據庫中的文檔信息,如果存在缺失或遺漏,就很難計算出此類文檔的語義相關文檔,這容易導致推薦系統冷啟動問題的出現。此外,在計算本體語義相關性的過程中,還需要領域專家參與領域本體的定義。在關聯數據中,語義相關性的算法過程就不會存在此類問題。關聯數據條件下的語義相關性計算方法融合了文獻間的互引關系和本體語義性,充分利用了關聯數據學術資源數據庫中固有的屬性本體語義關聯性和相互引用關聯性,提高了文獻的查準率。
推薦算法是推薦系統的核心部分,能夠直接影響推薦系統的效率和性能。推薦算法的類型大致可以分為3種:基于內容的推薦方法、協同過濾方法、組合推薦方法。為了適應學術資源檢索推薦系統的要求,筆者采用基于內容的推薦方法,該方法不需要存儲用戶歷史瀏覽日志,能夠有效降低系統的存儲空間,也不需要建立用戶模型,更不涉及其他用戶的歷史數據。因此,該方法不存在用戶冷啟動問題。學術資源檢索推薦算法的簡化流程見圖4。

圖4 學術資源檢索推薦算法簡化流程
① 用戶輸入檢索關鍵詞。② 采用分類體系語義距離計算方法,計算關鍵詞與學術資源文獻詞語向量中每個元素間的語義相關性。③ 根據預設的語義相關性閾值,判斷學術資源信息庫中的每個文獻與用戶輸入關鍵詞間的語義相關性是否大于預設相關性閾值。如果成立,把這些學術資源文獻進行排序,選出相關性最大的前Top-N項文獻,稱之為檢索文獻;如果不成立,舍棄。④ 采用文獻文本語義相關性的計算方法,計算之前選出的Top-N項文獻與學術資源信息庫中其他文獻的相關性,并為每個文獻挑選出語義相關性較高的Top-M項文獻資源,稱之為推薦文獻。⑤ 把與用戶輸入關鍵詞語義相關性較高的前Top-N項檢索文獻及每個檢索文獻的Top-M項推薦文獻反饋給用戶,完成檢索推薦任務。
伴隨著關聯開放數據的不斷增加,基于關聯數據的應用研究逐漸成為熱點。為了便于數據的融合,本文把中科院機構知識庫網格(CAS IR GRID)平臺中的本地數據發布成五星級的關聯數據,提出一種基于本體語義的文本語義相關性計算方法,并構建了基于文本語義的文獻檢索推薦方法和具體實現框架模型。在此推薦模型中,實現了本體數據與關聯數據的語義融合,避免了一般推薦系統因數據源單一而造成的數據稀疏性和冷啟動問題,同時擴大了用戶檢索查詢的范圍,能夠有效提高檢索查詢的效率。