摘要:以關(guān)系型數(shù)據(jù)庫、XML文件、HTML文件、一般文檔為信息源,運(yùn)用不同的方法分別將多信息源映射為概念圖,并按照擬定的概念邏輯結(jié)構(gòu)進(jìn)行統(tǒng)一存儲,最后運(yùn)用抽取算法實現(xiàn)本體的自動抽取。
關(guān)鍵詞:本體抽取; 語義網(wǎng); 本體映射
中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2007)11-0183-02
作為一種能在知識層提供知識表達(dá)和共享的概念體系,本體為語義網(wǎng)的實現(xiàn)奠定了語義基礎(chǔ)。本體也可定義Web服務(wù)間交互消息中的概念和意圖,以提高Web服務(wù)的表達(dá)能力和組合能力[1]。出于對各自問題域和具體工程的考慮,構(gòu)造本體的過程各不相同,目前還沒有一個標(biāo)準(zhǔn)的本體構(gòu)造方法。現(xiàn)階段的通常做法是在領(lǐng)域?qū)<覍π畔⑦M(jìn)行提取和歸納的基礎(chǔ)上,以手工方式構(gòu)建本體。然而,本體的手工構(gòu)建是一項工作量巨大并且異常繁雜的任務(wù)。在這種背景下,如何從已有的網(wǎng)頁、數(shù)據(jù)庫、文檔等信息源中自動抽取領(lǐng)域本體,提高本體的創(chuàng)建效率和質(zhì)量已成為近年來語義網(wǎng)和語義Web服務(wù)研究的熱點。
1多信息源的概念映射
1)關(guān)系型數(shù)據(jù)庫映射
關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)組織規(guī)范、結(jié)構(gòu)明確。關(guān)系型數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)表的關(guān)系視圖導(dǎo)航表示法,通過關(guān)系視圖導(dǎo)航工具可以直觀地獲取數(shù)據(jù)關(guān)系,同時可以通過生成SQL腳本工具來生成關(guān)系腳本文件。利用逆向方法可獲取數(shù)據(jù)庫的數(shù)據(jù)邏輯結(jié)構(gòu),進(jìn)而抽取出相關(guān)系統(tǒng)的本體概念。在數(shù)據(jù)庫中,每個數(shù)據(jù)表可映射為概念圖概念節(jié)點的實體類;數(shù)據(jù)表的屬性可映射為概念圖概念節(jié)點的屬性類;參照關(guān)系可映射為概念圖的連接類;數(shù)據(jù)表中的屬性值域可映射為概念的類標(biāo)號,有效性規(guī)則可映射為約束。
2)XML文件映射
DTD或XML schema定義了XML文檔的結(jié)構(gòu)和約束,規(guī)定了元素清單、屬性、文檔中的實體及其相互關(guān)系,為本體的抽取奠定了基礎(chǔ)。DTD包括內(nèi)部DTD、外部DTD和公用DTD三種形式。
a)內(nèi)部DTD包含在XML文件的序言中,其XML文件結(jié)構(gòu)為
〈?xml version=\"1.0\" encoding=\"GB2312\" standalone=\"yes\"?〉
〈!DOCTYPE 根元素名[元素描述]〉
文件體…
b)外部DTD是以DTD獨(dú)立文件形式存在的,引用其XML文件的結(jié)構(gòu)為
〈?xml version=\"1.0\" encoding=\"GB2312\" standalone=\"no\"?〉
〈!DOCTYPE 根元素名SYSTEM \"外部DTD文件的URL\"〉
c)公用DTD是由權(quán)威機(jī)構(gòu)制定的提供給特定行業(yè)或公眾使用的DTD。其引用形式為
〈!DOCTYPE 根元素 PUBLIC \"DTD名稱\" \"外部DTD的URL\"〉
進(jìn)行DTD的概念映射時,內(nèi)部DTD需要截取序言中的定義部分;外部和公用DTD需要首先獲得指定的文件,然后將包含有成組元素的元素映射為概念圖中概念節(jié)點的實體類。成組元素中的子元素如果不可映射為實體類,則映射為概念圖節(jié)點的屬性類。如果被包含的子元素可映射為實體類,則兩實體類之間存在的相互關(guān)系可映射為概念圖的連接類。元素內(nèi)容模型中以正則表達(dá)式表示的規(guī)則映射為對應(yīng)元素的約束。XML schema定義了簡單類型(simpleType)和復(fù)雜類型(complexType)兩種主要的數(shù)據(jù)類型。在進(jìn)行本體映射時,簡單類型的元素映射為概念圖中節(jié)點的屬性類;復(fù)雜類型的元素映射為概念圖中概念節(jié)點的實體類。復(fù)雜類型的元素嵌套復(fù)雜類型的元素時,就建立了兩實體類之間的關(guān)系;簡單類型的約束對應(yīng)著相應(yīng)元素的約束。
3)HTML文件映射
Web是供應(yīng)鏈內(nèi)部發(fā)布和獲取信息的主要渠道。WWW已成為快速增長的巨大信息庫。HTML頁面中部分有規(guī)律的信息可作為本體抽取的信息源。其中,頁面中數(shù)據(jù)表部分可從〈Table〉〈/Table〉中抽取本體的實體類;顯示表結(jié)構(gòu)的〈tr〉〈/tr〉中系列的〈td〉〈/td〉映射為屬性類;表中嵌套的表可映射為兩實體類之間的關(guān)系。針對頁面縱欄式數(shù)據(jù)部分,文本類對象的id值可映射為概念圖中節(jié)點的屬性類;緊接系列屬性類的對象的id值映射為概念圖中概念節(jié)點的實體類;屬性類值的超鏈接映射為類間關(guān)系[2~4]。
4)一般文檔映射
日常管理中產(chǎn)生了大量文檔,但規(guī)律性不強(qiáng),經(jīng)整理后可作為本體抽取的信息源。抽取時,首先對文檔進(jìn)行預(yù)處理,將停用詞、標(biāo)點符號、英文字母、數(shù)學(xué)運(yùn)算符等其他非漢字字符用空格代替;取出所有空格分割的字符串,并統(tǒng)計這些字符串的出現(xiàn)頻數(shù),去掉頻數(shù)小于一定閾值的字符串,得到統(tǒng)計模式的詞條集合候選集。采用TFIDF(term frequency inverse document frequency)法計算詞在文檔中的權(quán)重,構(gòu)建詞—文檔矩陣。權(quán)重TFIDF的公式為
2概念圖存儲
在獲取概念關(guān)系的前提下,可以將多信息源映射為概念圖,并按照擬定的概念邏輯結(jié)構(gòu)統(tǒng)一存儲以便供抽取本體之用[6]。在進(jìn)行存儲時所依據(jù)的原則有:
a)一個概念節(jié)點的邏輯結(jié)構(gòu)可以用一個記錄表示。這個記錄有概念標(biāo)記ID、概念標(biāo)記、概念類型三個屬性。概念標(biāo)記ID是概念系統(tǒng)中所給出的惟一編碼;概念標(biāo)記是指概念的規(guī)范名稱;概念類型是概念的類別說明,包括實體類、屬性類、實體子類、泛化類等。
b)屬性類的有效性規(guī)則可用具有屬性ID、概念標(biāo)記ID、屬性名、所指域和規(guī)則表達(dá)式五個屬性的記錄表示。屬性ID給定屬性的惟一標(biāo)志號;概念標(biāo)記ID依從于概念節(jié)點;屬性名為概念屬性的規(guī)范命名;所指域是該屬性必須有的值的集合;規(guī)則表達(dá)式則是使用正則表達(dá)式語法定義的規(guī)則模式。
c)一個關(guān)系節(jié)點可用具有關(guān)系ID、關(guān)系名和關(guān)系類型三個屬性的記錄表示。關(guān)系ID是關(guān)系的惟一標(biāo)志碼;關(guān)系名對應(yīng)于概念之間聯(lián)系的規(guī)范名稱;關(guān)系類型表明關(guān)系的類別,包括partof、kindof、instanceof、attributeof等關(guān)系。
d)一個連接概念節(jié)點和關(guān)系節(jié)點的記錄具有概念標(biāo)記ID、關(guān)系ID和關(guān)系標(biāo)記三個屬性。概念標(biāo)記ID依從于概念節(jié)點,關(guān)系ID依從于關(guān)系節(jié)點。
通過連接概念節(jié)點和關(guān)系節(jié)點的記錄可建立概念節(jié)點與關(guān)系節(jié)點的連接關(guān)系。這樣的結(jié)構(gòu)符合面向?qū)ο蟮年P(guān)系數(shù)據(jù)庫設(shè)計準(zhǔn)則,是相對穩(wěn)定的,可以滿足數(shù)據(jù)搜索的需求。概念圖邏輯存儲結(jié)構(gòu)視圖如圖1所示。
3本體自動抽取算法
概念邏輯結(jié)構(gòu)以數(shù)據(jù)表方式存儲,概念之間關(guān)系映射為數(shù)據(jù)表之間的聯(lián)系。這樣在抽取本體時就可利用 SQL語句直接進(jìn)行運(yùn)算。首先定義A(c)為概念c的所有屬性的集合;res(a)表示屬性類a的約束;range(a)表示屬性類a的值域;R(c,a)表示概念c具有屬性a,或者a是概念c的屬性;C(r)表示關(guān)系r所聯(lián)系的概念類的集合;R(C(r))表示C(r)中的概念間關(guān)系為r[7]。本體抽取算法的具體步驟如下:
a)提取概念進(jìn)入概念集合C(c)
//select ConceptLabel from ConceptNote;
b)for each Concept c in C(c) do
提取屬性進(jìn)入概念屬性集合A(c) /*select AttributeLabel from AttributeNote,ConceptNote where AttributeNote.ConceptID=ConceptNote.ConceptID and ConceptLabel=c*/
提取規(guī)則進(jìn)入約束集合res(a) /*select RuleExpress from AttributeNote,ConceptNote where AttributeNote.ConceptID=ConceptNote.ConceptID and ConceptLabel=c*/
提取屬性的值域進(jìn)入值域集合range(a) /*select Range from AttributeNote,ConceptNote where AttributeNote.ConceptID=ConceptNote.ConceptID and ConceptLabel=c*/
提取屬性關(guān)系進(jìn)入關(guān)系集合R(c,a)
調(diào)用泛化函數(shù)Find_Abstract_Concept(A(c))得到泛化類、類間關(guān)系、轉(zhuǎn)移約束
調(diào)用分類函數(shù)Find_Sub_Concept(A(c))得到子類、類間關(guān)系;
c)提取概念間關(guān)系進(jìn)入類關(guān)系集合R(r)
//select RelationLabel from RelationNote;
d)for each Relation r in R(r) do
提取關(guān)系所聯(lián)系的概念集C(r) /*select ConceptNote.ConceptLabel from Relation,RelationNote where RelationNote.RelationLabel=r and Relation.RelationID=RelationNote.RelationID and Relation.ConceptID=ConceptNote.ConceptID*/
構(gòu)造概念關(guān)系R(C(r))
提取子關(guān)系和互反關(guān)系 /*select Relation.RelationLabel from RelationNote,Relation where RelationNote.RelationLabel=r and Relation.RelationID=RelationNote.RelationID*/;
f)選用本體描述語言表示類、關(guān)系、約束、值域。
其中,泛化函數(shù)Find_Abstract_Concept(A(c))通過放寬屬性的約束和值域而得到更加抽象的父類。其計算過程如下:
當(dāng)未定義初始屬性x時,令x=a
for each Attribute x in A(c) do
獲取屬性x的約束res(x)和值域range(x),放寬屬性的約束和值域得到新的抽象類c′以及該類下的屬性x的新約束res(x)和新值域rang(x)
抽取子父類關(guān)系R(c,c′)
以x為初始屬性,調(diào)用泛化函數(shù)Find_Abstract_Concept(A(c′))
從A(c)中除去屬性x的約束res(x)和值域range(x)
相反,分類函數(shù)Find_Sub_Concept(A(c))則是通過收縮屬性的約束和值域來得到更加具體的子類。其計算過程如下:
當(dāng)未定義初始屬性x時,令x=a
for each Attribute a in A(c) do
獲取屬性x的約束res(x)和值域range(x),收縮屬性的約束和值域得到新的抽象類c′以及該類下的屬性x的新約束res(x)和新值域range(x)
抽取父子類關(guān)系R(c,c′)
以x為初始屬性,調(diào)用分類函數(shù)Find_Sub_Concept(A(c′))
從A(c)中恢復(fù)屬性x的約束res(x)和值域range(x)
A(c)=A(c)-c
4結(jié)束語
本文在分析關(guān)系型數(shù)據(jù)庫、XML文件、HTML文件和一般文檔特征的基礎(chǔ)上,提出了多信息源下本體的自動抽取方法。這種方法有利于克服單一信息源下本體抽取的不完整性以及發(fā)揮各類信息源在本體抽取中的優(yōu)勢,提高本體的創(chuàng)建效率和質(zhì)量。同時,本體的自動抽取過程也需要人工進(jìn)行檢驗和完善,以避免抽取的本體中存在著重復(fù)和矛盾。此外,本體自動抽取的學(xué)習(xí)機(jī)制、本體的一致性檢測、本體映射等問題還有待于進(jìn)一步研究。
參考文獻(xiàn):
[1]KERRIGAN M.WSMOViz:an ontology visualization approach for WSMO[C]//Proc of the Information Visualization.Baltimore:IEEE Computer Society,2006:411-416.
[2]成瑜,何潔月.本體驅(qū)動的半結(jié)構(gòu)化Web生物數(shù)據(jù)抽取[J].計算機(jī)工程,2006,32(5):192-194.
[3]王放,顧寧,吳國文.基于本體的Web表格信息抽取[J].小型微型計算機(jī)系統(tǒng),2003,24(12):2142-2146.
[4]TANAKA M,ISHIDA T.Ontology extraction from tables on the Web[C]//Proc of the 2005 Symposium on Applications and the Internet.Washington D C:IEEE Computer Society,2006:284-290.
[5]董慧,余傳明.中文本體的自動獲取與評估算法分析[J].情報理論與實踐,2005,28(4):415-418.
[6]黃偉,金遠(yuǎn)平.形式概念分析在本體構(gòu)建中的應(yīng)用[J].微機(jī)發(fā)展,2005,15(2):28-31.
[7]馬峻.一種從線性概念圖中自動抽取本體概念的算法[J].計算機(jī)工程與應(yīng)用,2004,40(23):161-164.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”