摘要:基于案例的推理常常會(huì)遇到一詞多義、多詞同義問(wèn)題,這會(huì)在計(jì)算案例相似性時(shí)導(dǎo)致錯(cuò)誤的匹配,進(jìn)而導(dǎo)致結(jié)論錯(cuò)誤。文章提出了基于本體的相似性計(jì)算方法,借此來(lái)檢索相似的案例,解決案例檢索中的一詞多義、多詞同義的問(wèn)題。實(shí)驗(yàn)證明,在基于本體的相似性計(jì)算的查全率和查準(zhǔn)率上,該方法優(yōu)于傳統(tǒng)的相似性計(jì)算。
關(guān)鍵詞:案例推理;案例檢索;本體;相似性計(jì)算
0 引言
基于案例推理(case-Based Reasoning,簡(jiǎn)稱CBR)是近年來(lái)人工智能領(lǐng)域的一項(xiàng)重要的問(wèn)題求解和學(xué)習(xí)的推理技術(shù)。案例推理能利用過(guò)去經(jīng)驗(yàn)中的特定知識(shí)即具體案例來(lái)解決新的問(wèn)題,即通過(guò)檢索歷史案例,獲得與當(dāng)前相似特征參數(shù)相匹配的案例,根據(jù)具體情況對(duì)匹配案例解決方案進(jìn)行修正,然后應(yīng)用于當(dāng)前情況。
為了在歷史案例中檢索相似性案例,在案例檢索中通常采用相似度計(jì)算。但是一詞多義、多詞同義問(wèn)題常常導(dǎo)致相似案例的錯(cuò)誤匹配。因此,本文提出了一個(gè)基于本體的相似性計(jì)算的案例推理的新方法,有效解決了案例檢索中的一詞多義、多詞同義問(wèn)題。
1 案例推理
1.1 案例推理概述
案例推理是以案例的形式來(lái)存儲(chǔ)經(jīng)驗(yàn)和知識(shí),利用先前相似的案例的解決方案來(lái)解決當(dāng)前問(wèn)題的方法。
CBR的工作原理,就是模仿人們的認(rèn)知心理過(guò)程。在CBR中,以案例為基礎(chǔ)進(jìn)行推理,把人們以往的經(jīng)驗(yàn)存儲(chǔ)成一個(gè)個(gè)的案例,當(dāng)面臨新的問(wèn)題時(shí),對(duì)案例庫(kù)進(jìn)行搜索,找到合適的案例作為參考.這其實(shí)是實(shí)現(xiàn)經(jīng)驗(yàn)的重用;如果對(duì)找到的案例有不滿之處,就可以進(jìn)行修改以適應(yīng)當(dāng)前情況,修改后的案例將被再次存入案例庫(kù),以便下次使用時(shí)作為參考,這其實(shí)是實(shí)現(xiàn)經(jīng)驗(yàn)的自學(xué)習(xí)。
CBR的生命周期,常常由“4R”組成,包括案例檢索(Retrieve)、案例重用(Reuse)、案例修正(Revise)、案例保存(Retain)4個(gè)工作過(guò)程,如圖1所示。CBR把經(jīng)驗(yàn)和知識(shí)存儲(chǔ)在案例中,通過(guò)案例的推理簡(jiǎn)化人工的知識(shí)獲取過(guò)程,并且以案例的形式提供知識(shí)的共享和重用。
1.2 案例檢索
案例檢索,從以前的案例中查找最有用案例并忽略那些不相關(guān)案例,從總體上可分為三個(gè)步驟,如圖2所示。首先,對(duì)新案例充分描述,詳細(xì)填充特征項(xiàng)。其次,從歷史案例中搜索那些對(duì)決策支持有潛在作用的案例。通常這種搜索在一定的粗限制條件下進(jìn)行,故常稱過(guò)濾。最后,對(duì)這些經(jīng)過(guò)篩選的案例進(jìn)行匹配,并按相似度順序排列。匹配過(guò)程即評(píng)價(jià)當(dāng)前案例同上述經(jīng)過(guò)篩選的歷史案例相似度的比較過(guò)程。
1.3 現(xiàn)有的CBR中的相似性計(jì)算研究
對(duì)于給定的目標(biāo)案例,如何從案例庫(kù)中檢索和選擇最為相似的案例決定了案例推理系統(tǒng)的學(xué)習(xí)與推理性能。案例間的相似性計(jì)算是檢索的關(guān)鍵。在案例間相似度的評(píng)估中,通常是建立一個(gè)相似性計(jì)算函數(shù)對(duì)當(dāng)前案例與舊案例進(jìn)行比較。下面簡(jiǎn)要介紹其中的一些算法。
最鄰近算法 最鄰近算法是CBR系統(tǒng)中最為廣泛使用的技術(shù),只用于簡(jiǎn)單的基于屬性的案例表述方式。最簡(jiǎn)單的最鄰近算法是采用加權(quán)平均的方法,將所有屬性的相似度加權(quán)加總后就可以得到2個(gè)案例的相似度。
多維空間檢索技術(shù) 雖然結(jié)構(gòu)化的案例表示能夠通過(guò)結(jié)構(gòu)表示出屬性之間的相關(guān)性和背景知識(shí),但是很多情況下案例只是簡(jiǎn)單地表示為屬性值對(duì)的組合。一個(gè)案例能夠映射成多維空間的矢量,距離就成為相似度的一種衡量,相似度問(wèn)題也就轉(zhuǎn)化為在多維空間中尋找最鄰近點(diǎn)。
基于歸納技術(shù)的相似算法歸納算法根據(jù)案例的歷史自動(dòng)構(gòu)建出決策樹。算法識(shí)別案例的模式,據(jù)此將案例庫(kù)分割成簇,每個(gè)簇存放相似的案例。本質(zhì)上說(shuō)歸納法是將相似案例進(jìn)行歸類的一種分類方法。
基于模糊邏輯的相似算法CBR匹配過(guò)程可以運(yùn)用模糊邏輯技術(shù)。CBR和模糊邏輯都能夠確定相似度,但是他們處理的對(duì)象不同:CBR通常是處理屬性、集合或結(jié)構(gòu),而模糊邏輯處理的是人們表示近似概念時(shí)的不確定性和模糊性。
這些相似性算法在不同的領(lǐng)域都有各自的應(yīng)用。但是在歷史案例中檢索相似性案例時(shí),常常會(huì)遇到同義詞問(wèn)題。同樣的概念術(shù)語(yǔ)在不同的案例中會(huì)有不同的意義,相同的概念也可能會(huì)使用不同的術(shù)語(yǔ)來(lái)描述,這些同義詞問(wèn)題可能會(huì)在計(jì)算案例相似性時(shí)導(dǎo)致錯(cuò)誤的匹配。因此,本文提出了基于本體的相似性計(jì)算的案例推理的新方法,解決案例檢索中的同義詞問(wèn)題。
2 使用本體和相似度計(jì)算來(lái)檢索案例
2.1 本體概述
本體(Ontology)最早是一個(gè)哲學(xué)的分支,隨著人工智能的發(fā)展,被賦予了新的定義?,F(xiàn)在本體的含義是:共享概念模型的明確的形式化規(guī)范說(shuō)明。它主要包括4個(gè)方面:概念化(conceptualization):客觀世界的現(xiàn)象的抽象模型;明確(explic-it):概念及它們之間聯(lián)系都被精確定義;形式化(formal):精確的數(shù)學(xué)描述;共享(share):本體中反映的知識(shí)是其使用者共同認(rèn)可的。
本體為案例描述提供了一種規(guī)范的語(yǔ)義描述。本體的概念或者描述可以分為三個(gè)部分:受約束的詞匯(有限的術(shù)語(yǔ)表),術(shù)語(yǔ)表(術(shù)語(yǔ)和術(shù)語(yǔ)含義表),辭典(同義詞之間的聯(lián)系)。本體的構(gòu)建可以基于分類的知識(shí)或者基于通用的知識(shí)。分類的知識(shí)被用于擁有許多共同屬性的知識(shí)分類。通用的知識(shí)主要由每個(gè)類別的特征組成。它允許用戶構(gòu)造明確的概念,構(gòu)建有層次的結(jié)構(gòu),定義概念之間的聯(lián)系。因此,本體可以更好地描述案例的語(yǔ)義信息,可以解決同義詞問(wèn)題。
2.2 基于本體的相似度計(jì)算
當(dāng)新案例產(chǎn)生的的時(shí)候,查詢語(yǔ)句將會(huì)被傳遞到查詢分析器。查詢分析器將查詢語(yǔ)句分解為動(dòng)詞和名詞,再與相似性歷史案例進(jìn)行匹配。由于同義詞的問(wèn)題,被分解的查詢語(yǔ)句可能不會(huì)與相似案例進(jìn)行匹配。因此,我們事先要先定義好一個(gè)和案例庫(kù)相關(guān)的本體庫(kù)。術(shù)語(yǔ)被傳遞到本體庫(kù)中去獲得本體樹中所有他的孩子術(shù)語(yǔ),然后創(chuàng)建相似性計(jì)算的查詢矢量Pq(V,N)。這里,V是動(dòng)詞矢量,N是名詞矢量。
帶有任何術(shù)語(yǔ)的V、N矢量的歷史案例作為一個(gè)案例集,案例庫(kù)中的某個(gè)歷史案例i通過(guò)Pq(V,N)來(lái)描述。由于問(wèn)題查詢矢量和歷史案例矢量在長(zhǎng)度上是相似的,所以為了計(jì)算在案例集和問(wèn)題查詢Pq中的問(wèn)題的相似性,文中采用相似性系數(shù)。
查詢矢量pq和歷史案例Pi之間的相似性系數(shù)計(jì)算如下:公式
SC(Pq,Pi)中加權(quán)系數(shù)Wij在歷史案例Pi中表示如下:公式其中fij是歷史案例Pi中術(shù)語(yǔ)tj出現(xiàn)的次數(shù);fj是歷史案例庫(kù)中所有不同案例的總數(shù);pfij是歷史案例庫(kù)包含術(shù)語(yǔ)tj的歷史案例數(shù)。
sc(Pq,Ri)中加權(quán)系數(shù)Wqj在查詢矢量Pq中表示如下:公式
其中fqj是查詢矢量Pq中術(shù)語(yǔ)tj出現(xiàn)的次數(shù);fj是本體庫(kù)中所有不同術(shù)語(yǔ)的總數(shù);pfqj是本體庫(kù)中與術(shù)語(yǔ)tj相似的術(shù)語(yǔ)數(shù)。
如果計(jì)算出的相似度性數(shù)值比較高,那么就意味著查詢問(wèn)題和歷史案例之間的相似性值也比較高。
3 實(shí)驗(yàn)結(jié)果及分析
在文中,采用recall(查全率)和precision(查準(zhǔn)率)來(lái)表現(xiàn)實(shí)驗(yàn)結(jié)果。recall和precision分別如下表示:
其中,P是歷史案例集,p是目標(biāo)案例,x是案例庫(kù)中與p真實(shí)相似的P的子集,Y是由案例檢索R中所檢索出的與p相似的P的子集。
在案例檢索中,相似性系數(shù)的閾值取值直接影響到案例檢索的結(jié)果,因此相似性系數(shù)的閾值對(duì)于recall和precision的計(jì)算結(jié)果非常重要。如果閾值取得太高,那么檢索到的相似的案例數(shù)就會(huì)相對(duì)較少,雖然可能會(huì)使precision的取值較高,但是會(huì)造成recall的取值偏低。同樣地,如果閾值取得太低,那么檢索到的相似的案例數(shù)就會(huì)相對(duì)比較多,這樣可能會(huì)使recall的取值比較高,但是會(huì)造成precision的取值偏低。因此,如何使recall和precision的取值都相對(duì)較高,也即檢索到的相似案例和案例庫(kù)中真實(shí)存在的相似案例之間既齊全又準(zhǔn)確,這直接取決于相似性系數(shù)的閾值取值。
在本文中,根據(jù)從網(wǎng)上搜集的《市場(chǎng)營(yíng)銷學(xué)》案例精選中提到的60個(gè)案例為基礎(chǔ)建立案例庫(kù),并且針對(duì)這個(gè)案例庫(kù)用Protege建立了相應(yīng)的本體庫(kù)。算法用Java語(yǔ)言實(shí)現(xiàn),開發(fā)平臺(tái)為Eclipse。
以產(chǎn)生的某個(gè)新案例為實(shí)驗(yàn),針對(duì)不同的相似性系數(shù)閾值,對(duì)應(yīng)的recall和precision如圖3所示。從圖3中可以看出,相似性系數(shù)的閾值取0.6到0.8之間的數(shù)值對(duì)應(yīng)的recall和precision值都比較高。針對(duì)每個(gè)不同的案例推理系統(tǒng),相似性系數(shù)的閾值的取值很可能是不同的。
現(xiàn)在取相似性,數(shù)閾值為0.75,再分別計(jì)算下面每個(gè)算法的recall和precision的值,計(jì)算結(jié)果如表1所示:
實(shí)驗(yàn)結(jié)果表明,基于本體的相似性計(jì)算的recall和precision比傳統(tǒng)的相似度計(jì)算要更加好。尤其是使用本文方法的recall結(jié)果顯示出該方法對(duì)于檢索案例庫(kù)中的相似案例的查全率有很大的提高。
4 結(jié)束語(yǔ)
針對(duì)基于案例的推理中遇到的一詞多義、多詞同義導(dǎo)致的問(wèn)題,本文提出了基于本體的相似性計(jì)算方法來(lái)檢索案例庫(kù)中相似的案例。實(shí)驗(yàn)結(jié)果表明,該方法是確實(shí)可行并且有效的,使用基于本體的相似性計(jì)算可以幫助解決相似性計(jì)算中一詞多義、多詞同義導(dǎo)致的問(wèn)題,提高了案例檢索中查到相似案例的比例。但是文中許多方面仍可以改進(jìn)。本體構(gòu)建的正確性對(duì)于實(shí)驗(yàn)結(jié)果有著很重要的影響,因此本體的改進(jìn)也是極其重要的部分。案例檢索中相似性系數(shù)的閾值取值對(duì)于檢索到的相似案例數(shù)影響也很大,因此也需要再深入研究。