摘 要: 案例檢索是案例推理系統中的一個關鍵過程,是近年來人工智能領域的研究熱點之一。案例相似度的計算方法是案例檢索的關鍵技術。將集對分析理論引入目標案例,與案例庫中源案例的相似度比較,建立兩個比較案例的集對,通過屬性的重要度和聯系度構建了本體案例檢索模型;通過本體的詞義擴展解決檢索詞的多詞同義問題,有效提高了不確定性問題的檢索精度。實驗結果表明,基于集對分析的本體案例檢索模型不僅減少了運算量,還提高了查全率和查準率。
關鍵詞: 案例推理;屬性聯系度;相似度計算;本體;集對分析;語義擴展
0 引言
案例推理[1-2](Case-based Reasoning,CBR)是近年來人工智能領域的一項重要的問題求解和學習推理技術,是通過訪問知識庫中過去同類問題的求解,從而獲得當前問題解的一種類比推理模式。案例推理一般要經過案例檢索、案例重用、案例修正和案例存儲4個階段。為了解決問題案例,首先需要從案例庫中搜索與所給問題相似的案例,然后對檢索出來的案例信息和知識進行重用得到建議解,如果該建議解失敗或不滿意時需對其進行修正,并將修正后的案例作為新案例存入案例庫。
案例檢索是案例推理中的關鍵步驟,在相似性評估環(huán)節(jié),最常用的相似性評估方法是通過加權的海明距離[3]和歐幾里德距離反函數[4]來計算兩個案例的相似度。這些相似性度量方法,只考慮了有確定屬性值的情況, 或者將模糊屬性簡單地與確定性屬性同等處理,未考慮案例間的相異及相反因素。以這種度量方式計算案例間的相似度進行案例搜索、匹配的CBR 系統處理復雜問題時,不僅效率低,而且將影響對所獲得信息的準確判斷,難以根據現有的知識實現新的知識推理,也無法處理推理中的信息不確定性問題,進而降低決策的質量。集對分析[5](Set Pair Analysis,SPA)是在一定的問題背景下,對集對中兩個集合的確定性與不確定性以及確定性與不確定性的相互作用所進行的一種系統和數學分析,從同、異、反三個方面研究事物的確定性和不確定性,并引入聯系度的公式:u=a +bi+cj來統一描述模糊、隨機和信息不完全所致的不確定性,進而分析不確定因素。由于集對分析考慮了系統之間的相異及相反等因素,使得對獲取信息的判斷更加客觀,因而得到較為廣泛的應用[6-7]。
為了提高案例檢索的效率和決策質量,本文將集對分析理論和方法用于案例間相似性評估,構建了基于集對分析的案例檢索數學模型,充分考慮了案例中的不確定信息。通過對中醫(yī)喘癥醫(yī)案的案例推理應用,充分證實了這種方法能有效提高案例檢索的查全率和查準率。
1 案例的屬性聯系度計算
集對分析是一種處理不確定性問題的系統分析方法,其核心思想是先對兩個有關聯的集合構造集對,再對集對的特性作同一性、差異性、相反性分析,然后建立集對的同異反聯系度。
定義1 集對聯系度:根據問題W的需要對集對H的特性展開分析,共得到N個特性,其中在S個特性上具有同一性,在P個特性上相反,在其余的F=N-S-P個特性上既不同一,又不相反,即其性質不確定,則稱比值:
S/N為這兩個集合在問題W下的同一度,簡稱同一度;
F/N為這兩個集合在問題W下的差異度,簡稱差異度;
P/N為這兩個集合在問題W下的相反度,簡稱相反度,
用公式表示集對H的聯系度。
式中的i為差異度標記,j為對立度標記,但在運算時,i和j又同時作為系數參加運算。規(guī)定j恒取值-1,而i在[-1,1]區(qū)間視不同情況取值,為簡便記也可寫成:
顯然,在上述定義下, a、b、c三個數滿足歸一化條件,即a+b+c=1。
為了將集對分析理論引入案例檢索,給出以下定義:
定義2 案例集對:問題案例q與案例庫中每一個案例p間存在一定的映射關系,構成案例集對。并且用(q,p)表示兩者構成的案例集對。
定義3 案例集對的屬性集對:問題案例q與案例p關于同一屬性的屬性值構成案例集對的屬性集對。
例如,假設案例集對(q,p)與n個屬性有關,分別為x1, x2,…, xn,案例q與案例p關于這n個屬性的屬性值分別為xq1, xq2,…, xqn和xp1, xp2,…, xpn ,則(xq1, xp1), (xq2, xp2),…,(xqn, xpn) 均為案例集對(q,p)的屬性集對。
定義4 屬性的聯系數:每一對屬性集對間的聯系度表達式稱為屬性的聯系數。
例如,用表達式ul=al+blil+cljl表示案例集對(q,p)關于第l個屬性的聯系數,因為屬性值只有一個,所以表達式只有一項,如果兩個案例在第l個屬性上具有同一性,則聯系數記為:ul=al且al=1,若具有差異性則記為:ul=blil且bl=1。
這樣,在計算案例屬性聯系數時,對于有屬性值缺失的情況,根據集對分析理論,認為兩者具有差異性,即性質不確定,有效處理了推理中不確定性信息問題。
在本文實證研究的中醫(yī)喘癥案例中,從案例庫中獲取案例的屬性特征,假設與n個屬性有關,分別為x1, x2,…, xn,然后將問題案例q與案例庫中每一個案例p的n個屬性分別進行比較,確定案例集對(q,p)的每一個屬性集對聯系數:
其中,al表示問題案例q與目標案例p關于第l個屬性的同一度;bl表示它們之間的差異度;cl表示它們之間的相反度,且al+bl+cl=1,則問題案例與目標案例間的n個屬性集對的聯系數分別為:u1, u2,…, un,這是案例相似度計算中非常重要的一部分。
2 構建本體案例的檢索模型
2.1 案例的結構存儲
目前的CBR系統大多是用靜態(tài)的框架來描述案例[1,7-8],存在難以擴展、可重構性和學習性差等缺點。而本體[9]作為一種能在語義和知識層面描述概念的知識建模工具,概念化地表達了領域內相關概念和概念之間的關系,確定了共同認可的概念,具有可重用、可共享、語義可擴展等優(yōu)點,在知識表示領域得到很好的應用[10-12]。雖然在一個CBR系統中主要的知識源是以前的經驗集(案例) ,但是在實際應用中,可以把案例所表達的具體知識與一般的領域知識模型 (用本體表示)進行整合,有學者進行了嘗試[13-15]。為了實現案例檢索屬性關鍵詞的語義擴展,提高案例檢索查全率,本文的醫(yī)案采用本體結構的方式進行存儲。
參考文獻[7]計算聯系度時通過加權平均的方法盡量減少權系數的影響,但仍不能去除人為定制權系數的弊端。為了減少人為偏好,本文將案例屬性在本體知識庫中的層次作為體現屬性重要度的一個參考,定義位于上一層的屬性比下一層屬性有更高重要度。
2.2 案例相似度計算
假設案例集對(q,p)有關的屬性x1, x2,…, xn的權重分別為w1, w2,…, wn,則結合式(1)和式(2),得到問題案例q與目標案例p間的案例相似度,記為:
給定合適的i值,可以計算出問題案例與目標案例的相似度值,按照相似度值順序存入目標案例庫,相似度值大于預定閾值的案例即為要找的目標案例。
在有些案例中,特別是醫(yī)學案例中,由于古醫(yī)案描述的模糊性,人為的理解差異大大影響了數據的確定性,因此需要考慮相似度的主觀性認識。一般原則是:依據同一度A越大越好、對立度C和差異度B越小越好的原則,選取合適的案例。
2.3 案例檢索模型的系統架構
圖1展示了案例推理中檢索詞擴展、構造屬性集對、屬性聯系度計算、案例相似度計算的處理過程,其所對應的檢索步驟為:
⑴用戶輸入問題案例q的描述信息,抽取問題背景的關鍵詞;
?、仆ㄟ^本體知識庫進行近義或同義詞的擴展,得出問題案例有關的屬性集合,從而構造案例集對的屬性集對;
?、菍Π咐龓熘械拿恳粋€案例p應用式(2)和式(3)計算案例集對(q,p)的相似度,如果相似度大于設定閾值,則將其存入目標案例庫;
?、热绻繕税咐龓鞛榭?,則可以減小閾值,重復步驟(3),當閾值小到一定程度仍沒有目標案例,可以應用本體推理進一步擴展問題背景的屬性集合,轉步驟(2),否則轉步驟(5);
?、砂凑障嗨贫戎涤纱蟮叫≈嘏拍繕税咐龓?。
3 應用實例和分析
3.1 案例的本體片段和相似度計算
本文從中醫(yī)喘癥醫(yī)案中梳理600多條記錄作為案例庫,抽取出相關屬性,應用Protégé 4.1.0編輯器建立的本體片段如圖2所示。
表1所示為從案例庫中選取的12個比較有代表性的案例,其中2個作為問題案例,并附有中醫(yī)專家推薦且結合本體結構的屬性權重值。
為了驗證本文提出的案例相似度計算方法的高效性,尤其是某些屬性信息缺失或不確定情況下對案例的相似度計算影響,分別對問題案例1和問題案例2采用一般相似度(海明距離法)計算和基于集對分析的相似度計算,閾值設定為λ=0.8。計算結果的對比如表2所示。
3.2 結果分析
從表2可以看出,基于集對分析的相似度計算方法具有很好的區(qū)分度,對于問題案例1,用集對分析方法計算出大于閾值λ=0.8的案例有4個,用海明距離法有3個,通過觀察表1的數據且結合醫(yī)案的診斷結果,很明顯案例7與問題案例1相接近,說明基于集對分析的計算方法更接近事實。且用集對分析計算目標案例與源案例5的相似度值比與源案例9的值大,但是用海明距離法結果卻相反,原因可能是案例5屬性缺失較多,而集對分析法能有效地處理這些不確定信息。
對于問題案例2,用集對分析法計算出大于閾值的案例有0個而海明距離法有1個,通過觀察表1的數據且結合醫(yī)案的診斷結果,很明顯,問題案例2與源案例屬性不太接近,而用海明距離法檢索出的案例作為參考,就有可能做出錯誤診斷。由此表明,本文的相似度計算方法比傳統的基于海明距離的方法更加有效。
4 結束語
案例推理技術的優(yōu)勢主要體現在不需要完整的領域知識,不需要大量完備的數據,僅需要過去經驗中的具體案例即可解決新問題,并具有自學習的功能。本文將集對分析應用于基于案例推理的相似度評估,提出了一種新的相似度計算方法,并實現了檢索屬性的語義擴展。通過中醫(yī)喘癥醫(yī)案的應用證明此方法提高了案例檢索效率?;诩瘜Ψ治龅谋倔w案例相似度計算方法具有以下優(yōu)點:⑴本體的應用有效處理了一詞多義、多詞同義問題,提高了檢索的查全率;⑵集對分析考慮了系統之間的相異甚至對立等因素,使得對獲取信息的判斷更加客觀,更加全面,提高了檢索算法效率。
下一步的工作重點是以古醫(yī)案喘癥為研究對象,應用Jena推理引擎實現本體規(guī)則推理,進一步提高案例檢索的查全率。這為案例推理和語義網絡的進一步研究和應用提供了理論基礎和技術支持。
參考文獻
[1] 王東,劉懷亮,徐國華. 案例推理在故障診斷系統中的應用[J].計算機工程,2003,29(12):10-12.
[2] Liu Chenghang, Chen Longsheng , Hu Chunxin. An association- based case reduction technique for case-based reasoning [J].Information Sciences, 2008(17):3347-3355.
[3] Armengol E, Plaza E. Using symbolic descriptions to explain similarity on CBR[J].Artificial Intelligence Research and Development,2005,131:239-246.
[4] Gu Yinshan,Hua Qiang,Zhan Yan. Case-base maintenance based on representative selection for 1-NN algorithm[C].In:Machine Learning and Cybernetics,2003 International Conference on,2003:242l-2425.
[5] 趙克勤. 集對分析對不確定性的描述和處理[J].信息與控制,1995,24(3):162-166.
[6] 王文圣,向紅蓮,丁晶. 集對分析在水文地質單元相似性選擇中的應用[C]. 中國水論壇第四屆學術研討會,鄭州,2006:320-323.
[7] 阮光冊. 基于SPA案例推理的海關風險識別研究[J]. 情報學報, 2012,31(10):1090-1095.
[8] 李鋒剛,倪志偉,郜巒. 基于案例推理和多策略相似性檢索的中醫(yī)處方自動生成[J]. 計算機應用研究, 2010,27(2):544-547 .
[9] Studer R,Benjamins V R,Fensel D.Knowledge engineer,pnnciplesand methods[J]. Data and Knowledge Engineering,1998,25(1-2):161-197.
[10] 蔣宏潮,王大亮,張德政. 基于領域本體的中醫(yī)知識獲取方法[J]. 計算機工程,2008,34(12):16-19.
[11] 閻紅燦, 李敏強, 任蘊麗, 等. 結構和內容聯合提取的XML網頁分類研究[J]. 天津大學學報(社會科學版),2009,11(5):272-276.
[12] 黃風華, 晏路明. 基于Jena的臺風災害領域本體模型推理[J]. 計算機應用,2013,33(3):771-775.
[13] 徐桂臣. 基于本體的醫(yī)學案例推理研究[D]. 杭州:浙江工業(yè)大學, 2011.
[14] 王海棠,顧君忠,楊靜,等. 基于本體的相似性計算實現高性能案例推理[J]. 計算機時代, 2009(1):58-60.
[15] 謝紅薇,李建偉. 基于本體的案例推理模型研究[J]. 計算機應用研究,2009,26(4):1422-1424.