徐 巖, 浩慶波, 高 慧
(曲阜師范大學(xué) 網(wǎng)絡(luò)信息中心, 山東 濟(jì)寧 273100)
在認(rèn)知科學(xué)領(lǐng)域, 通常使用語義Web來長(zhǎng)期記憶存儲(chǔ)知識(shí)的表示。在語義Web中, 概念被表示為節(jié)點(diǎn), 通過關(guān)系進(jìn)行鏈接。語義網(wǎng)絡(luò)中的信息處理通常遵從擴(kuò)散激活理論(Spreading activation theory)[1], 在這個(gè)理論中每一個(gè)節(jié)點(diǎn)通過某一計(jì)算值傳播到其相鄰節(jié)點(diǎn),為網(wǎng)絡(luò)的特定節(jié)點(diǎn)提供了一組初始輸入。在傳播激活過程中, 網(wǎng)絡(luò)中的每個(gè)概念都將根據(jù)其關(guān)系而激活特定的值到相鄰節(jié)點(diǎn)。由于本體和語義Web結(jié)構(gòu)很相似并且由于擴(kuò)散激活理論已被證明在語義網(wǎng)絡(luò)中是有效的推理工具, 因此本文選擇該理論作為本體推薦的理論基礎(chǔ)[2]。
下面舉例說明擴(kuò)散激活理論在本體中的應(yīng)用。如圖1所示,概念節(jié)點(diǎn)"Team"初始時(shí)用值1.0來激活,這個(gè)節(jié)點(diǎn)激活后,在整個(gè)語義網(wǎng)絡(luò)中傳播激活。當(dāng)網(wǎng)絡(luò)穩(wěn)定時(shí), 所有的節(jié)點(diǎn)都將被激活,如圖2所示。每個(gè)節(jié)點(diǎn)的激活值不完全依賴于其與初始節(jié)點(diǎn)距離。例如: " Serie A " 的概念比 " Inter Milan " 的激活價(jià)值更高,這意味著在本體中 " Serie A" 認(rèn)為與 "Team" 更相關(guān)。

圖2 擴(kuò)散激活的結(jié)束狀態(tài)
在傳播激活擴(kuò)散理論中,給定源結(jié)點(diǎn)x和目標(biāo)結(jié)點(diǎn)y,激活過程可以用公式(1)來表示:
Iy(ti+1)=Ox(ti)×mxy×(1-α),α∈[0,1]
(1)
上式中的Iy(ti+1)是結(jié)點(diǎn)y在ti+1時(shí)刻傳播擴(kuò)散中的輸入值,Ox(ti)是結(jié)點(diǎn)x在時(shí)刻ti的輸出。mxy是結(jié)點(diǎn)x和y之間的權(quán)重,α是衰減因子,用來表示在傳播擴(kuò)散過程中的能力損失。
對(duì)于完整的激活擴(kuò)散理論可以用上式來表示,然而在工程實(shí)現(xiàn)中為了減少計(jì)算量,通常認(rèn)為結(jié)點(diǎn)y在時(shí)刻ti的輸出就是該結(jié)點(diǎn)的輸入,如公式(2):
oy(ti)=Iy(ti)
(2)
因此,在本體中的擴(kuò)散激活過程可以用公式(3)來表示:
o=[ε-(1-α)MT]-1I
(3)
上式中I=[I1,I2,I3,...,In]T是整個(gè)網(wǎng)絡(luò)的輸入;矩陣M代表整個(gè)本體,對(duì)于矩陣M中的任意一個(gè)元素mxy代表概念cx和cy之間的關(guān)系;α是衰減因子;ε是n階單位矩陣;O=[O1,O2,O3,...,On]T是整個(gè)激活擴(kuò)散過程的輸出結(jié)果,對(duì)于向量O中的任意一個(gè)元素Ox,則代表cx在整個(gè)激活擴(kuò)散過程中獲得的值。
利用上節(jié)的傳播激活擴(kuò)散理論,可以將基于關(guān)鍵詞搜索與基于本體搜索兩種方法相融合,最終達(dá)到較好的搜索效果[3]。搜索過程的流程如圖3所示。

圖3 2種搜索方法融合示意圖
當(dāng)用戶輸入關(guān)鍵詞搜索時(shí),首先利用基于關(guān)鍵詞的搜索方法得到原始的搜索結(jié)果,因?yàn)橄到y(tǒng)中的文檔都是預(yù)先標(biāo)注好的,同時(shí)也獲取了搜索結(jié)果隸屬于概念的概念列表[4]。對(duì)這些概念列表進(jìn)行分析,可以得到向量Iq,如公式(4)所示:
Iq=[I1, q,I2, q, ...,In, q]T
(4)
向量Iq作為整個(gè)傳播激活擴(kuò)散過程的輸入,對(duì)于向量Iq中的任一元素Ii,q,代表概念ci在查詢q結(jié)果中出現(xiàn)的頻率,Ii,q可以使用公式(5)來計(jì)算:
(5)
其中,freq(ci)代表概念ci在查詢q結(jié)果中出現(xiàn)的頻率。
計(jì)算出向量Iq后,繼續(xù)求解公式(3)中的變量,對(duì)于矩陣W中每一個(gè)元素Wi, j,代表搜索結(jié)果中概念集合中關(guān)系ri, j出現(xiàn)的權(quán)重。
根據(jù)公式(3)可以計(jì)算出擴(kuò)散激活過程的輸出O,向量O中任一元素Oi, q,代表概念ci和查詢q之間的相關(guān)性。最后對(duì)向量O歸一化,對(duì)向量的每一個(gè)元素按照實(shí)數(shù)大小倒序排序組成列表,就可以得到搜索結(jié)果中出現(xiàn)的概念和查詢q之間的相關(guān)性。
最后,取相關(guān)性最大的幾個(gè)概念和原來的關(guān)鍵詞一起使用,基于關(guān)鍵詞的搜索可以得到較好的搜索結(jié)果[5-6]。
本文針對(duì)基于關(guān)鍵詞的搜索方法和基于本體搜索方法存在的問題,分析兩種方法目前存在的瑕疵,并嘗試解決。本文首先根據(jù)《中圖法》構(gòu)建了適用于搜索引擎的本體庫,在此基礎(chǔ)上結(jié)合了兩種搜索方法的優(yōu)點(diǎn),提高了搜索結(jié)果質(zhì)量。兩種方法融合的優(yōu)點(diǎn):
(1)考慮到了原始基于關(guān)鍵詞搜索結(jié)果,出現(xiàn)的各個(gè)概念的權(quán)重是根據(jù)搜索結(jié)果出現(xiàn)的頻率來設(shè)定的,這樣不會(huì)偏離用戶查詢的本意。
(2)基于本體的搜索過程中,綜合考慮固有本體概念之間的結(jié)構(gòu)和本次搜索概念之間的權(quán)重關(guān)系,同時(shí)兼顧了用戶的查詢意圖和固有本體概念之間的關(guān)系。