摘 要:為了實現企業本體的重用、整合、演化和通信,研究了本體的語義內涵和語義距離,包括語義的差異性、共性和綜合性;提出一種語義貼近度算法,并通過定量計算獲得不同本體的語義貼近度,提供了面向本體應用的決策依據;最后通過一個實例給出企業本體中兩個概念的貼近度計算方法,表明了該語義貼近度算法的實用性和有效性。
關鍵詞:本體; 語義; 語義貼近度
中圖法分類號:TP301.6 文獻標識碼:A 文章編號:1001-3695(2006)10-0046-04
Semantic Proximity Algorithm for Enterprise Ontology Reused
ZHU Junwu1,2
(1.School of Information Engineering,Yangzhou University,Yangzhou Jiangsu 225009,China; 2.College of Information Science Technology, Nanjing University of Aeronautics Astronautics, Nanjing Jiangsu 210016, China )
Abstract:In order to realize enterprise ontology to be reused, combined, evolved and communicated, I have studied ontology semantic and semantic distance, including difference, generality and comprehensive of semanteme. Described in detail the algorithms of semantic proximity, and calculated the semantic proximity of different ontology to offer decisionmaking basis that ontology uses. Provided one degree of computing technologies of closeness of two concepts in enterprise’s ontology through an instance finally, indicated the algorithm’s validity and practicability.
Key words:Ontology; Semantic; Semantic Proximity
在知識工程領域,本體思想及其應用越來越受到重視。本體借助對現實世界的充分認知和一定的知識表示手段,實現對特定對象的語義刻畫。從認知過程看,現實世界經過抽象獲得一個概念化,本體正是對概念化的說明和描述。本體對現實世界的刻畫以一定的語法為基礎,但它刻畫的是語義知識。隨著本體在工程和企業建模領域中的廣泛使用,本體的重用、整合、演化和通信問題也日益嚴峻。例如,本體重用需要評價已有本體與目標本體之間的關聯性;本體整合必須借助本體中概念的內涵和外延,這是本體的語義和解釋范疇的問題;本體演化必須首先對原有本體與新本體進行語義比較,才能給出本體演化及修改策略;本體通信的基礎是語義共享,不是簡單的術語共享。只有在不同人員、不同的系統開發工具、不同的環境之間提供共同的詞匯概念,并對其語義達成共識,才能真正實現共享和通信。企業本體是企業領域內重要實體、屬性、過程及其相互關系形式化描述的基礎。重用可以實現在不同的企業信息系統之間載入或取出模塊;整合和通信是企業知識連通及一致性檢查的前提;本體演化是根據需求實現企業本體修正和本體完善的基本途徑。企業本體對處理企業中的問題和任務有共同的理解,便于確定企業信息系統(如知識庫)的需求和規范[1~4]。隨著本體在企業建模領域的深入使用,如何解決本體重用、整合、演化和通信問題已經迫在眉睫。
1 本體
1.1 本體的概念
本體起源于哲學,是關于存在及其本質和規律的學說。在近一、二十年中,本體被計算機及建模領域所采用,用于知識表示、知識共享和重用。1993年,Gruber給出了本體一個最為流行的定義,即“本體是概念模型的明確的規范說明”。本體論是對概念化對象的明確表示和描述,是對客觀世界存在的現實系統化的描述。本體可以用六元組來表示:Ontology_Name={C,AC,R,AR,H,X},其中C={c1,c2,c3…};AC={AC(c1),AC(c2),AC(c3)…};R={r1(c1,c2),r2(c2,c3),r3(c4,+c2)…};AR={AR(r1),AR(r2),AR(r3)…};H={(c1,c2),(c1,c4),(c2,c3)…};X ={x1, x2, x3…}。C表示概念或類的集合;AC表示每個類的屬性集合;R表示關系的集合;H表示類的分類體系;X表示公理的集合。ci是類的一系列對象,并能由AC(ci)標志的屬性來描述;ri(cx,cy)是cx和cy的二元關系,并能被AR(ri)的屬性來描述;(cx,cy)∈H的cx是cy的父類;xi是對AC,AR的屬性值以及R對象關系的限制。
從本質上講,本體是一個或幾個領域的概念以及反映這些概念的關系的集合,關系反映了概念的約束和聯系,而關系本身也是概念,關系之間也可能構成新的關系。由此可以看出在創建本體時是構建一系列詞匯的集合L,它包括具有特定語義的概念C與概念之間的關系R,也就是L=C∪R。本體是共享概念的規范說明,是一種知識的結構,通過詞匯集L描述信息資源的語義。用有向圖來描述本體可以更加直觀地表示概念C之間的關系,形象化地表示本體有向圖G=(N,L,λ,δ)。節點N表示概念;有向線段LN×N×R表示概念之間的關系;節點對應的概念由λ∶N→C表示;有向線段對應的關系由δ∶L→R表示。為了簡化描述關系,本體有向圖也可直接表示為G=(N,L)。在圖1本體實例中有概念C={企業實體,人員,銷售,生產,賣,銷售員,生產者,產品},關系R={Subclass_of,Role,Perform,Motive}。
1.2 本體的語義
語義是語言形式化表達的內容,語義是思維的體現者,是客觀事物在人腦中的反映,是人們交際過程中的中心所在。從計算機科學的角度來講,語義是構建在一定的語法上,反映一定認知結果的數據對象,是數據對象之間關系的描述與客觀存在的一種對應關系。信息模型中的語義與客觀存在的概念化以及描述認知結果的語言密切相關[1]。定義該語義的核心就是在數據的相互關系中定義數據的含義。
本體實現人或應用系統之間進行有效的語義上的理解和通信。如圖2所示,存在兩個應用系統嘗試交換數據。從直覺來看兩個應用系統能共享概念。A中的Material和B中的Workplace對應同一個概念Workinprogress。但是,如果對術語沒有清晰的定義,就很難看出在一個應用系統中的概念對應于另一個應用系統的哪一個概念。兩個應用系統中均有Resource這個術語,但每一個應用系統對這一術語賦予不同的含義。單一的術語共享還不足以支持互操作,應用系統還要共享語義,就是說共享術語的含義。
在工程應用中,本體支持語義的可操作性,本體提供了一種對客觀世界形式描述的解釋機制。本體既是形式描述的解釋模板,又是對形式描述進行解釋的限制和約束。語義的可交互性要求數據易于理解,并能方便地在已知和未知的數據之間定義映射[4]。使用語義的貼近度來計算本體中術語之間的相似程度易于實現本體的信息交流、本體的共享復用和集成。
2 語義貼近度
2.1 語義距離
語義貼近度最初來源于語義距離。在表示本體的有向圖G中,定義兩個節點之間的語義距離為SD,SD有如下特征:
SD(x,y)=SD(x,y)(對稱性)
SD(x,x)=0
SD(x,y)+SD(y,z)≥SD(x,z)(歐幾里得幾何學)
設圖1中每條有向線段的權為1,那么SD(銷售,銷售員)=SD(銷售員,銷售)=1,SD(銷售員,企業實體)=2。
可以通過語義的共性、差異性和綜合性三方面的特征來求語義距離。在此之前,先定義H(A)為父節點集合,定義C(x)為x節點到根節點的所有經過的路徑集合,如:
H(銷售員)={人員,銷售,企業實體}
C(銷售員)={(銷售員,銷售),(銷售,企業實體),(銷售員,人員),(人員,企業實體)}
2.1.1 共性
定義最近的公共父節點(Nearest Common Ancestors,NCA),NCA是C(x)∩C(y)的子節點,但不是C(x)∩C(y)的父節點,如:
C(銷售員)∩C(生產者)={(人員,企業實體)}
SonNodes(C(銷售員)∩C(生產者))={人員}
AncestorNodes(C(銷售員)∩C(生產者))={企業實體}
如果AncestorNodes不在SonNodes中出現,則有NCA=SonNodes,NCA(銷售員,生產者)={銷售,人員}。
求兩個詞的共性語義距離的公式如下:
SDsim(x,y)=1n∑ni=1(SD(x,NCAi)+SD(y,NCAi))(1)
如圖1中NCA(銷售員,生產者)={銷售,人員},SDsim(銷售員,生產者)=(SD(銷售員,銷售)+SD(銷售,生產者)+SD(銷售員,人員)+SD(人員,生產者))/2=(1+1+1+1)/2=2;同樣可以得到SDsim(生產者,銷售員)=2。
2.1.2 差異性
對于差異性的語義距離先引入不對稱性的最近的公共父節點(Asymmetric Nearest Common Ancestor,ANCA),ANCA是C(y)∩C(x)的父節點的集合,是H(x)的直接父節點,但不是H(y)的直接父節點。如AncestorNodesNotNCA(C(銷售員)∩C(生產者))={企業實體},在企業實體的子節點中,是銷售員的直接父節點但不是生產者的直接父節點的節點不存在,故得到ANCA(銷售員,生產者)=Ф;而ANCA(生產者,銷售員)={企業實體}。
求兩個詞的差異性語義距離的公式如下:
SDdif(x,y)=1n∑ni=1(SD(x,ANCAi)+SD(y,ANCAi))(2)
SDdif(x,y)的特點是:如果ANCA非空集,SDdif(x,y)≠SDdif(y,x),則它是不對稱的。
如圖1中ANCA(生產者,銷售員)={企業實體},SDdif(生產者,銷售員)=(SD(生產者,企業實體)+SD(銷售員,企業實體))/1=(2+2)/1=4;同樣由于ANCA(銷售員,生產者)=Ф,得到SDdif(銷售員,生產者)=0。
2.1.3 綜合性
既考慮語義的共性又考慮語義之間的差異性,將兩者結合在一起求語義的距離。其公式為
SDcom(x,y)=SDsim(x,y)+SDdif(x,y)(3)
SDcom(x,y)的特征與SDdif(x,y)的特征相同,SDcom(x,y)的特點是:如果ANCA非空集
SDcom(x,y)≠SDcom(y,x)
SDcom(x,x)=0
SDcom(x,y)+SDcom(y,z)≥SDcom(x,z)
如圖1所示SDcom(銷售員,生產者)=2;SDcom(生產者,銷售員)=6。
語義的距離越大表明兩個詞的語義貼近度越小,反之則表示語義的貼近度越大。通過不同方面對語義距離的計算,可以檢測本體有向圖是否正確,從而檢測概念的定義以及概念之間關系的正確性。語義的距離是概念在本體有向圖中的一個特性的表現,在計算語義貼近度時可用于術語特征值的計算。
2.2 基于相似學的語義貼近度
2.2.1 相似性原理[6]
系統間存在一個相似要素,便在系統間構成一個相似單元,簡稱相似元。當系統A中要素ai與系統B中要素bi為對應的相似要素時,用相似元描述,記為ui(ai,bi)。
要素可具有多個特征,設相似要素具有m個共有特征,記這m個共有特征依次為si,s2,…,sm;記uj(ai)為要素ai相對于同一特征sj的特征值;要素ai,bi相對于特征sj的特征值比例系數記為rij。
rij=min{Uj(ai),Uj(bi)}max{Uj(ai),Uj(bi)}(4)
其中i=1,2,…,n; j=1,2,…,m;0<rij<1。
根據特征s1,s2,…,sm對要素ai,bi的相似程度影響大小,分別給出s1,s2,…,sm的特征權數d1,d2,…,dm。dj表示第j個特征對相似要素的相似程度影響的權重值,則系統A,B間第i個相似元ui(ai,bi)的值記為q(ui),得到
q(ui)=d1ri1+d2ri2+…+dmrim=∑mj=1djrij(5)
其中i=1,2,…,n;0<rij≤1;0≤dj≤1;∑mj=1dj=1。權重系數的確定方法有許多種,如數理統計、模糊數學、實驗方法或專家集體智慧等。q(ui)=0時,表示兩個要素之間不存在任何相似性;0<q(ui)<1時,表示兩個要素彼此相似,相似元數值的大小反映相似程度的大小;q(ui)=1時,表示兩個要素的特征全等。
設系統A由k個要素組成,系統B由l個要素組成,系統A與系統B之間存在n個要素相似,構成n個相似元。相似元值記為q(ui),每一相似元對相似性系統的相似程度影響的權重值為wi。相似性系統的相似程度,簡稱相似度Q,計算公式如下:
Q=f(k,l,n,m,q(ui))=nk+l-n ∑ni=1wiq(ui)(6)
其中i=1,2,…,n;1≤n≤min(k,l);k=1,2,…,N;l=1,2,…,N;0≤wi≤1;∑ni=1wi=1。由系統的相似程度可分為相同系統:k=l=n,q(ui)=1,Q=1;相似系統:0<Q<1,k,l,n之間不全等,且q(ui)≠0,q(ui)≠1;相異系統:Q=0,n=0。
2.2.2 基于相似學的語義貼近度算法
根據相似性原理,語義貼近度算法的基本過程是確定相似要素,構造相似元,計算特征值的比例系數、特征權數,相似系數等。具體步驟如下:
(1)確定相似性要素
本體可以用自然語言、本體描述語言、形式化、半形式化、框架描述等多種方法來描述。無論用何種方法,一個概念或者類均包含屬性、關系、公理以及對象。因此概念和對象的要素可以分為三個方面,用數學模型表示為O(oi)={Op(Oi),OR(Oi),OA(Oi)}。OP(Oi)為Oi的屬性集合,OR(Oi)為Oi的關系集合,OA(Oi)為Oi的公理集合。由此可見,概念或對象的要素分別又由包含不同小要素的集合組成。相似要素的屬性或特征值反映出概念的語義貼近度。
很多要素的屬性和特征相似是模糊的,根據模糊數學的理論,分析和識別模糊的相似要素是牽涉到模式識別的。要善于區分不同要素的屬性和特征;同時要區分某要素的主要特征和次要特征,即以其主要特征為依據,確定要素的特征,當然要素的主次也是有其相對性的;要善于區分要素的特征是穩定的還是易變的,要防止被假象所迷惑。
(2)構造相似元
確立了相似要素之后就可建立相似元,對于概念和對象來說,可分為三種類型,M個層次的相似元。它們之間的構成關系如圖3所示。
因篇幅有限,下列敘述中以屬性為例,設有兩個概念A和B,則第一層中up=(Op(OA),Op(OB));第二層中upi=(ai,bi),其中ai∈Op(OA),bi∈OP(OB),i∈[1,n]。
(3)定義第M層(最底層)要素的特征值
根據第M層相似元共有的屬性選取要素共有特征值。
Sp={Sp1,Sp2,…,Spn},i=1,2,…,n(7)
在特征屬性和特征的描述過程中,大多體現半結構化甚至非結構化的信息特點,故難以直接通過定量的方式精確化,即呈現模糊性,因此可以采用模糊評定的方法。對于本體概念特征值的計算可以利用本體有向圖來計算語義距離來描述。
(4)計算第M層相似元的數值評判
qp(upi)=∑mj=1dpjrpij(8)
dpj為M級相似要素的權重系數,rpij可根據式(4)計算得出。
(5)計算各層次的特征值和相似元的數值評判
重復(3)和(4),由底向上計算第M-1層到第一層的各層特征值和相似元的數值評判。
(6)計算語義貼近度
利用式(6)計算語義貼近度,wi為第一層的相似權重數值,Q值的取值范圍是[0,1]。Q=0表示概念或對象語義貼近度為0,完全不相似;Q=1全相似;Q∈(0,1),Q越趨向于1則表示相似程度越大。
3 應用實例
企業資源管理是企業本體重要的一部分,其中有兩個常用的術語:入庫和出庫,對這兩個術語進行語義相似度的計算。對于入庫來說其輸入信息是入庫單,根據資源的定額、資源的質量及庫存量來控制入庫,受到物資供應部門和會計部門的監控,最終的輸出信息是入庫單文件;同樣對于出庫術語來說與它相關的輸入信息是出庫單,根據資源的定額、資源的質量及庫存量控制出庫,受到物資供應部門和會計部門的監控,最終的輸出信息是出庫單文件。這兩個術語的形式化定義如下:
EO_資源={C,AC,R,AR,H,X}
C={入庫,出庫,…}
AC={AC(入庫),AC(出庫)…}
R={庫存管理(入庫,出庫)…}
AR={AR(庫存管理)…}
H={(入庫,出庫)…}
X={x1,x2,x3…}
AC(入庫)={入庫單,定額,質量,庫存,物資供應部,會計部,入庫單文件}
AC(出庫)={出庫單,定額,質量,庫存,物資供應部,會計部,出庫單文件}
AR(庫存管理)={采購管理,采購入庫,領料單,庫存臺賬,收發存匯總表,質檢信息,庫存信息,計劃科,采購科,資金科,倉庫}
X={入庫公理,出庫公理,…}
對入庫和出庫術語進行語義相似度的計算。由該術語的形式化描述可以得到相似要素:
O(O入庫)={OP(O入庫),OR(O入庫),OA(O入庫)}
O(O出庫)={OP(O出庫),OR(O出庫),OA(O出庫)}
OP(O入庫)=AC(入庫)={入庫單,定額,質量,庫存,物資供應部,會計部,入庫單文件},OR(O入庫)=庫存管理(入庫,出庫)= {采購管理,采購入庫,領料單,庫存臺賬,收發存匯總表,質檢信息,庫存信息,計劃科,采購科,資金科,倉庫},OA(O入庫)={入庫公理};OP(O出庫)=AC(出庫)={出庫單,定額,質量,庫存,物資供應部,會計部,出庫單文件},OR(O出庫)=庫存管理(入庫,出庫)= {采購管理,領料單,庫存臺賬,收發存匯總表,質檢信息,庫存信息,計劃科,采購科,資金科,倉庫},OA(O出庫)={出庫公理}。
得到相似元:up=(Op(入庫),Op(出庫))={AC(入庫),AC(出庫)}={{入庫單,定額,質量,庫存,物資供應部,會計部,入庫單文件},{出庫單,定額,質量,庫存,物資供應部,會計部,出庫單文件}};uR=(OR(入庫),OR(出庫))=庫存管理(入庫,出庫);uA=(OA(入庫),OA(出庫))={入庫公理,出庫公理}。
特征值:Sp={輸入文件,輸出文件,控制機制,管理機制},SR={輸入文件關系,輸出文件關系,控制機制關系,管理部門關系},SA={輸入,輸出,控制機制,管理部門}。在求各個相似元的特征值時,可以用求相似度的方法進一步求子相似元,如輸入文件、輸出文件等。
特征值比例系數和權重值的取值按照前文所述的方法可得到:
dp={0.3,0.3,0.2,0.2},dr={0.1,0.1,0.4,0.4},da={0.23,0.26,0.25,0.26},wi={0.5,0.25,0.25},rp={0.72,0.75,0.93,0.95},rr={0.67,0.76,0.96,0.97},ra={0.54,0.64,0.70,0.97}將數據代入式(5),得到q(up)=0.817,q(ur)=0.915,q(ua)=0.717 8。利用式(6)得到Q=0.816 7。
由此可見,通過本體語義貼近度算法可以獲得一個定量的語義貼近度值。語義貼近度值為本體復用策略、演化修正和整合方案的重要決策依據。語義貼近度值越大,本體可復用性越強,本體演化時修正內容越少,用于整合的頂層本體越簡單。
4 總結
本體在計算機、人工智能和領域建模等領域越來越受到重視。本體針對概念的描述并基于語義層次來實現人與系統的信息交流、信息共享。它是概念模型明確的部分描述,進一步細化增強語義信息,并疊加公理定義,形成復雜的語義關系,實現智能推理。本體定義共享知識,從而對各種資源之間的語義關系進行描述,揭示資源本身以及資源之間更為復雜而豐富的語義信息。本體語義貼近度的計算有利于對語義信息的比較、查詢,從而便于實現信息的交流與集成。對語義的距離進行計算,并利用相似學的原理來計算語義相似度,比較術語之間的相似性,為知識庫的檢測和使用提供依據。
參考文獻:
[1]尹奇驊. 基于語義Web的信息表達與語義化過程研究[D].杭州:浙江大學,2003.10-23.
[2]MyoMyo Naing, EePeng Lim, Dion Goh HoeLian. Ontologybased Web Annotation Framework for Hyperlink Structures[C]. Singapore: Proceedings of the International Workshop on Data Semantics in Web Information Systems(DASWIS’02), 2002.183194.
[3]Mike Uschold, Michael Gruninger. Ontologies: Principles, Methods and Applications[J]. Knowledge Engineering Review, 1996,11(2):93136.
[4]林春梅,金鑫,何躍.基于RDF構建語義化本體模型[J].計算機應用與軟件,2002,19(6):32-34,40.
[5]Dominique Dutoit, Thierry Poibeau. Inferring Knowledge from a Large Semantic Network[C]. Taipei, Taiwan: Proceeding of the Semantic Networks Workshop, During the Computational Linguistics Conference, 2002.
[6]周美立.相似學[M].北京:中國科學技術出版社,1993.
[7]葛世倫.大型單件小批企業信息模型研究[D].南京:南京理工大學,2002.
作者簡介:
朱俊武(1972-),男,江蘇揚州人,講師,博士,主要研究方向為知識工程、人工智能。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文