楊春蕾
(河北地質大學,河北 石家莊 050022)
知識檢索是一種基于語義和知識關聯(lián)的高級信息檢索方式。相較于信息檢索,知識檢索實現(xiàn)了信息查詢語義化、智能化,提高了檢索的效率和準確率。知識檢索過程中最重要的一步便是語義相似度計算,它用來表示概念之間的相關性,語義相似度越高,則越符合檢索要求。因此,提出一種計算結果準確且高效的計算方法尤為重要。
近年來,一些學者研究了多種語義相似度計算方法并將其運用到了多個領域。文獻[1]提出了一種基于農業(yè)本體的語義相似度計算方法,但是該算法受到地理實體、文獻資料、經驗等各個因素的影響,效率較低。文獻[2]提出了一種計算義原相似度的算法,提高了檢索結果的準確性,但第一獨立義原對結果影響很大。文獻[3]提出了加權語義復雜網絡文本相似度計算方法,利用了文本網絡中特征詞節(jié)點間的信息,對于復雜的文本網絡仍有一定的局限性。文獻[4-5]提出了基于WordNet的語義相似度計算方法,具有更高的皮爾森相關系數(shù),但只適用于詞匯語義相似度計算。文獻[6]提出一種自適應相似度綜合加權計算方法,解決了傳統(tǒng)綜合加權計算時人工賦權的不足。文獻[7]利用結構化的維基百科節(jié)點中的最短路徑關系,對2個詞條之間的關系進行刻畫,過程略顯復雜。
本文運用可拓學基礎,提出的語義相似度算法,充分考慮信息量、距離、屬性等信息對語義相似度的影響,具有更高的準確性。將本文算法應用于農產品生產銷售知識檢索,為農產品的供需雙方提供便利。
1983年,我國學者蔡文、楊春燕等人提出了一個新的學科—可拓學(extenics)??赏卣?、可拓創(chuàng)新方法和可拓工程構成了可拓學[8]??赏貙W的主要思想是利用創(chuàng)新的方法和理論解決各個領域中的矛盾問題。通過形式化描述矛盾問題將其轉換為不矛盾問題,研究解決該問題的方法形成理論體系,形式化描述解決過程,轉換成計算機可讀的語言,智能化解決問題。不管面對什么樣的問題,都需要遵循可拓邏輯,充分考慮事物本身的概念和特征,定量的表示邏輯值,形成可拓模型,通過可拓變換,推導矛盾問題,使計算機能夠處理該問題。
實現(xiàn)農產品的生產銷售平臺首先需要解決的是農業(yè)知識表示這個關鍵問題[9]。通過使用統(tǒng)一的規(guī)則將知識進行描述,形成計算機可以識別的語言,方便進行語義相似度的計算[10]。本文的研究通過可拓學中的創(chuàng)新方法來對農業(yè)知識進行相似度的計算,從而完成知識檢索。
本文所設計的流程圖如圖1所示。
圖1 農產品產銷平臺的知識檢索流程圖Fig.1 Knowledge retrieval flowchart of agricultural product production and marketing platform
本文引入可拓論,對農業(yè)知識進行表示,為語義相似度計算提供結構化的描述??赏貙W中事元、物元和關系元組成基元,是形式化描述事物及其相互關系的基本邏輯單元。我們以有序三元組R=(c,m,v)表示基元,其中c為對象,m為特征,v為量值,通過基元建立解決問題的可拓模型。
定義系統(tǒng)中有概念c,此概念具有n個特征分別為m1,m2,…,mn,各自對應的量值為v1,v2…,vn。所構成的陣列即為物元R,物元模型為:
本文將農業(yè)知識用物元模型表示,知識由信息構成,信息的基元表示稱為信息元??赏貙W以可拓模型為基礎,研究可拓信息-知識-策略的形式化體系[9]。在本系統(tǒng)中,c為相關概念,有多個取值,對于在農產品生產銷售中所需要的特征稱為m,每個特征對應的值或描述稱為v。
例如,對于農產品玉米,其物元表示為:
該物元表示的對象是玉米,選取了價格、產地、品種和別名等四個特征,其中特征價格的量值是2.3/kg,產地是石家莊,品種是鄭丹958,別名有包谷、棒子、苞米等。該物元模型形象且準確的表示了玉米這個農業(yè)知識的相關信息,在農產品銷售系統(tǒng)中,可以根據(jù)供需雙方的物元計算語義相似度。
本文語義相似度計算方法從信息、語義距離和屬性等方面來計算。在對農業(yè)知識進行可拓描述時,了解到各個概念的信息及相關屬性值,形成物元模型,將其以樹形結構存儲。這樣將各個概念進行了分類,得到了知識的層次結構。我們可以直觀形象地觀察出各個節(jié)點信息和節(jié)點之間的路徑長度。
基于信息的語義相似度計算是通過概念之間共有信息量來判斷的[12],兩個概念共有的信息的信息量需要追溯到二者的父節(jié)點[13],對共有信息在父節(jié)點中出現(xiàn)的次數(shù)進行量化。共有信息越多時,相似度越高[14]。概念C的信息量定義為:
其中,P(C)表示概念C出現(xiàn)的概率;n(C)表示概念C在物元中出現(xiàn)的次數(shù);N(O)是物元中概念的總數(shù);表示概念C的子概念集合。
計算概念C1,C2的相似度,計算方法可表示為:
通過該方式對兩個概念的相似度粗略計算后,需對其語義距離進行計算以提高準確率。
將農業(yè)知識的物元以樹形結構進行存儲,計算兩個概念的語義距離,需從樹狀圖中分析兩個節(jié)點之間的距離。由于兩個節(jié)點之間的路徑不同,距離也就不同,本文以二者之間的最短路徑為準[15]。同時,將語義距離的單位距離統(tǒng)一為1。兩個概念節(jié)點C1,C2的語義距離表示為:
Distance(C1,C2)表示概念 C1,C2節(jié)點之間的語義距離,Length(Li)表示在連接 C1,C2兩個概念的最短路徑中,第i條邊Li的長度。這樣一來,概念之間的語義距離為:
上述將語義距離的單位距離定為 1,概念之間的語義距離可以定義為:
節(jié)點深度即概念節(jié)點在形成的結構樹中的深度,若語義距離一定時,兩個節(jié)點的深度越大,概念劃分的準則越細致,則概念之間的相似度越大[16]。另Depth(C)表示概念C的節(jié)點深度,對于概念C1,C2,深度影響因子可以定義為:
且 Dep(C1,C2)>1。
節(jié)點密度是針對于兩個概念節(jié)點的最近公共父節(jié)點而言,當此節(jié)點所產生的直接子節(jié)點越多,它的節(jié)點密度越大,子節(jié)點之間的關聯(lián)程度越大,語義相似度也就越大[17]。同樣定義Density(C)為節(jié)點C的子節(jié)點數(shù)量,是節(jié)點C1,C2的最近公共父節(jié)點,節(jié)點密度影響因子定義為:
其中,Degree(O)為在由物元形成的整顆樹中,最大的度。
綜上所述,這些條件對語義相似度的結果都有影響,為保證計算的準確度,本文引入加權概念,根據(jù)對結果影響程度,對各個影響因素分配不同的權值。經過分析,得到的加權之后的語義相似度計算公式為:
其中,α+β+γ=1
每個屬性都是對概念的一種描述,如果兩個概念之間屬性值相同或是相似,也能夠在一定程度上反應兩個概念之間的相似程度。通過參考文獻[6]得出:
在式(12)(13)中,Pro(C1∩C2)表示概念C1,C2屬性的交集,即二者的公共屬性;Pro(C1–C2)表示概念的差集,即概念C1有而C2沒有的屬性,同理Pro(C1–C2)表示概念C2有而C1沒有的屬性;D(C1)和D(C2)表示在形成的物元結構的樹中,概念所在的深度。
經過對語義相似度影響因素的研究,我們得到信息、語義距離、屬性等三個影響因子,但若計算綜合語義相似度需要結合3.1-3.3中介紹的三種情況[18-20]。通過請教專業(yè)領域的專家得知,三種影響因子對計算結果的影響程度不盡相同,因此,得到最后的加權語義相似度計算公式:
隨著互聯(lián)網的發(fā)展,工作生活中的各項服務越發(fā)智能化,各應用系統(tǒng)迫切需要高準確性的語義相似度算法,農產品相關系統(tǒng)也不例外。
本文抽取部分實驗數(shù)據(jù)進行語義相似度計算,這些實驗數(shù)據(jù)形成的結構樹如圖2所示。
圖2 結構樹Fig.2 S tructure tree
經過查閱相關資料與市場調查,選定對生產銷售影響較大的屬性,現(xiàn)選取物元中部分屬性進行舉例,價格定為市場調查當日的數(shù)值。本文選取的幾種概念的部分屬性如表1所示。
表1 農作物物元的部分屬性Tab.1 Some attributes of crop matter elements
下面以計算“生菜”“小白菜”為例,計算二者的語義相似度,過程如下。
根據(jù)圖 2物元樹狀圖,計算“生菜”和“小白菜的”語義相似度。為了確定各個權值和參數(shù),進行了大量的數(shù)據(jù)研究和實際考察,采用專家經驗和試錯法,得到結果 α=0.5,β=0.2,γ=0.3,ω1=0.2,ω2=0.1,ω3=0.7。
在圖2中,“生菜”和“小白菜”的父節(jié)點是“葉菜類”,根據(jù)式(3)可以計算得到“葉菜類”的概率為1/5,這樣根據(jù)式(4)計算出“葉菜類”的信息量為 0.699,最后由式(5)得到“生菜”和“小白菜”的信息相似度為0.699。
在圖2中,“生菜”和“小白菜”的高度均為4,結合式(9)算得到,節(jié)點深度是 8。在圖 2所示的樹中,最大度為3,“生菜”和“小白菜”父節(jié)點的度也是3,利用式(10)節(jié)點密度是1。最終利用公式11二者語義距離為2.067。
根據(jù)上文計算“生菜”和“小白菜”的深度,可得到 λ=μ=1/2,參照表1中的屬性,“生菜”和“小白菜”的共有屬性為5,利用式(12)(13)性相似度為0.625。
最終,利用式(14)算出“生菜”和“小白菜”的語義相似度為0.785。
根據(jù)項目需求分析和實際情況,得到對概念影響較大的屬性并確定相應描述和數(shù)值,建立物元模型,對所有農業(yè)信息進行物元表示,然后根據(jù)調研結果將這些農作物的物元采用樹的結構存儲,建立農作物物元的樹形結構,最后計算語義相似度。本文現(xiàn)只選取圖2中的部分概念進行語義相似度計算。
為了更好地驗證本文算法的準確性,采用文獻[1]中的算法和目前常用的計算方法與本文算法進行對比,表 2為三種算法語義相似度計算結果。
表2 三種算法語義相似度計算結果Tab.2 Se mantic similarity calculation results of three algorithms
圖3是三種算法的語義相似度計算結果的對比圖,其中橫坐標代表用于計算語義相似度的概念對,縱坐標代表數(shù)值,藍色、橘色和灰色折線分別代表本文算法、文獻[1]算法和一般算法的計算結果。
圖3 三種算法計算結果對比圖Fig.3 Comparison of calculation results of three algorithms
根據(jù)圖 3我們可以看出上述三種算法的走勢基本相同,其中在三種算法中相似度最高的均是金桔和檸檬,最低的是金桔和蓮藕。
為方便比較三種算法的準確度,本文采用靈敏度比較,如式(15)所示:
其中,φmax為優(yōu)選中最大值,φsec為優(yōu)選中的次大值。
三種算法的靈敏度如表3所示。
表3 三種算法靈敏度比較Tab.3 Comparison of the sensitivity of the three algorithms
可見本文算法有較高的靈敏性,可以應用到實際案例中。
本文所描述的農產品生產銷售知識檢索系統(tǒng)采用Java語言,數(shù)據(jù)庫使用MySql完成。
通過采用上文所述流程,完成需求分析,信息采集,將數(shù)據(jù)以物元形式提供給計算機,完成語義相似度計算后,知識檢索的結果采用語義相似度由高到低的順序排列,提供給用戶。
本文改進了一種新的語義相似度算法并成功應用與農產品的生產銷售平臺,該算法從信息量、語義距離、屬性等三個方面進行分析,最后進行加權計算。充分考慮各個影響因素的同時,聯(lián)系實際情況,研究各個因素對實驗結果的影響程度,得到參數(shù)值,物元模型的應用直觀形象地展現(xiàn)各個信息的概念、關系和屬性,提高語義相似度的計算效率,節(jié)約存儲空間。同時,為農產品的供需雙方建立一個便捷可靠地平臺。但是本文仍存在一些問題,計算結果容易受到主觀因素的影響,這是需要繼續(xù)研究的問題。