国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)系數(shù)據(jù)庫的實(shí)體間關(guān)系提取方法的研究

2019-10-18 11:13王嘉慶楊衛(wèi)東何亦征
關(guān)鍵詞:關(guān)系數(shù)據(jù)庫語義實(shí)體

王嘉慶 楊衛(wèi)東 何亦征

1(復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 上海 201203)2(中國航空無線電電子研究所 上海 200233)

0 引 言

關(guān)系數(shù)據(jù)庫作為一種物理模型,出于自身模式、軟件限制、數(shù)據(jù)庫設(shè)計(jì)考慮等多方面因素,普遍存在缺乏語義的問題。數(shù)據(jù)庫中存儲(chǔ)著大量數(shù)據(jù),人工添加語義關(guān)系耗時(shí)耗力[1]。因此提出了各種從關(guān)系數(shù)據(jù)庫中自動(dòng)提取語義信息,構(gòu)建知識(shí)圖譜中RDF三元組的方法。

目前,眾多相關(guān)學(xué)者和機(jī)構(gòu)已經(jīng)關(guān)注于這一領(lǐng)域[2-3],W3C提出了直接映射法,定義了將關(guān)系數(shù)據(jù)庫映射為RDF圖的簡單映射規(guī)則,可將數(shù)據(jù)資源轉(zhuǎn)換為機(jī)讀格式。文獻(xiàn)[4]中的方法注重于映射的自動(dòng)發(fā)現(xiàn),使用基于上下文的方法,利用已有的本體網(wǎng)絡(luò),構(gòu)建起數(shù)據(jù)庫到本體的映射關(guān)系。D2R Map[5],以及在其基礎(chǔ)上進(jìn)一步改進(jìn)的DB2OWL[6]均利用了外部的SQL查詢語句,利用SQL中涉及的表格和屬性構(gòu)建RDF。R2RML[7]、D2RQ[8]則在SQL語句之外加入了特殊映射語言,允許在構(gòu)建的映射規(guī)則上進(jìn)行人工修改和補(bǔ)充。Triplify[9]與數(shù)據(jù)庫發(fā)布后的網(wǎng)頁應(yīng)用交互,將關(guān)系數(shù)據(jù)庫轉(zhuǎn)為連接數(shù)據(jù)發(fā)布。

上述基于規(guī)則的轉(zhuǎn)換方法主要考慮數(shù)據(jù)庫結(jié)構(gòu)信息的轉(zhuǎn)換,較少研究數(shù)據(jù)庫實(shí)體間關(guān)系的發(fā)現(xiàn),導(dǎo)致其轉(zhuǎn)換結(jié)果未能完全展現(xiàn)數(shù)據(jù)庫中蘊(yùn)含的語義信息,最終生成的RDF中存在冗余實(shí)體,也缺失了部分實(shí)體間關(guān)系?;谝?guī)則的轉(zhuǎn)換方法對(duì)圖1中關(guān)系數(shù)據(jù)庫表的轉(zhuǎn)換結(jié)果如圖2所示。表示Movie表與Actor表間多對(duì)多關(guān)系的MovieActor屬性被轉(zhuǎn)換為MovieActor實(shí)體,造成了冗余,表示Director表與Movie表之間一對(duì)多關(guān)系的DirectorID屬性被轉(zhuǎn)換為Movie實(shí)體的屬性,缺失了對(duì)該關(guān)系的表達(dá)。

圖1 關(guān)系數(shù)據(jù)庫表示例

圖2 基于規(guī)則的轉(zhuǎn)換方法構(gòu)造的實(shí)體關(guān)系圖

針對(duì)上述問題,本文提出了一種新的關(guān)系數(shù)據(jù)庫到RDF的構(gòu)造方法,使用基于隨機(jī)森林算法發(fā)現(xiàn)和提取的實(shí)體間語義關(guān)系提升RDF結(jié)果的質(zhì)量。該方法構(gòu)建融合了數(shù)據(jù)庫模式和數(shù)據(jù)內(nèi)容的特征向量,設(shè)計(jì)并實(shí)現(xiàn)了基于隨機(jī)森林的實(shí)體間語義關(guān)系發(fā)現(xiàn)算法,發(fā)現(xiàn)實(shí)體間潛在的語義關(guān)系,并基于發(fā)現(xiàn)的語義關(guān)系,提出了關(guān)系數(shù)據(jù)庫的一般轉(zhuǎn)換規(guī)則與多對(duì)多、一對(duì)多等實(shí)體語義關(guān)系的特殊轉(zhuǎn)換規(guī)則,完善了RDF中對(duì)關(guān)系的表達(dá),減少了RDF中的冗余。

該方法對(duì)圖1中數(shù)據(jù)庫轉(zhuǎn)換結(jié)果如圖3所示。虛線代表發(fā)現(xiàn)的實(shí)體間語義關(guān)系。圖1中表示多對(duì)多關(guān)系的MovieActor表被轉(zhuǎn)換為Movie實(shí)體與Actor實(shí)體間的Movie-has-Actor關(guān)系,Movie中表示一對(duì)多關(guān)系的DirectorID屬性被轉(zhuǎn)換為Movie實(shí)體與Director實(shí)體間的Director-of-Movie的一對(duì)多關(guān)系。與圖2對(duì)比可以看出,圖3中發(fā)現(xiàn)的實(shí)體間多對(duì)多、一對(duì)多等語義關(guān)系有效地連接了各個(gè)實(shí)體,減少了最終結(jié)果的冗余。

圖3 實(shí)體間關(guān)系提取方法構(gòu)造的實(shí)體關(guān)系圖

1 整體流程

本文提出的實(shí)體間關(guān)系發(fā)現(xiàn)與轉(zhuǎn)換方法的基本流程如圖4所示。

圖4 實(shí)體間關(guān)系發(fā)現(xiàn)轉(zhuǎn)換方法的流程圖

整個(gè)構(gòu)建過程可被分為實(shí)體間語義關(guān)系發(fā)現(xiàn)和實(shí)體間語義關(guān)系轉(zhuǎn)換兩部分。

在語義關(guān)系發(fā)現(xiàn)部分,主要發(fā)現(xiàn)了數(shù)據(jù)庫中可以表示為實(shí)體的表,以及實(shí)體間的潛在語義關(guān)系。首先,從關(guān)系數(shù)據(jù)庫中抽取關(guān)系模式和內(nèi)容數(shù)據(jù),利用模式特征構(gòu)建和內(nèi)容特征構(gòu)建,組成數(shù)據(jù)庫關(guān)系特征向量。然后,利用數(shù)據(jù)庫內(nèi)已有的關(guān)系,使用隨機(jī)森林算法對(duì)特征向量進(jìn)行訓(xùn)練獲得模型。最后,使用模型對(duì)潛在語義關(guān)系進(jìn)行判斷,其判斷結(jié)果被存儲(chǔ)為Table-Graph。Table-Graph是本文定義的用于描述數(shù)據(jù)庫語義關(guān)系的圖。關(guān)系數(shù)據(jù)庫模型主要由一系列關(guān)系模式及關(guān)系模式間的引用關(guān)系組成,若將關(guān)系模式作為節(jié)點(diǎn),將關(guān)系模式之間的引用關(guān)系作為圖中的有向線段,這樣的圖即可用于對(duì)關(guān)系數(shù)據(jù)庫模型的描述。

在語義關(guān)系轉(zhuǎn)換部分,通過對(duì)Table-Graph的分析,區(qū)分出數(shù)據(jù)庫中用于表示關(guān)系的表和表示實(shí)體的表,對(duì)多對(duì)多、一對(duì)多等關(guān)系進(jìn)行轉(zhuǎn)換,并給出一系列規(guī)則來描述如何將數(shù)據(jù)庫中的實(shí)體、屬性、關(guān)系及數(shù)據(jù)轉(zhuǎn)換到RDF中。

本方法側(cè)重于數(shù)據(jù)庫內(nèi)實(shí)體間語義關(guān)系的發(fā)現(xiàn)工作,因此將關(guān)系模式信息和RDF轉(zhuǎn)換分離進(jìn)行,使用Table-Graph作為中間結(jié)果。這樣的好處是可以更好地評(píng)估整個(gè)關(guān)系數(shù)據(jù)庫內(nèi)部的實(shí)體關(guān)系,同時(shí),若實(shí)體間關(guān)系發(fā)現(xiàn)部分加入了新的規(guī)則,不會(huì)影響到實(shí)體間關(guān)系的轉(zhuǎn)換部分。

2 實(shí)體間關(guān)系發(fā)現(xiàn)

在關(guān)系數(shù)據(jù)庫中,由于數(shù)據(jù)庫軟件自身的限制,或者是設(shè)計(jì)人員在構(gòu)建時(shí)缺乏數(shù)據(jù)庫相關(guān)知識(shí),數(shù)據(jù)庫模型存在缺乏語義的問題[10]。因此在實(shí)體間關(guān)系轉(zhuǎn)換之前,先要發(fā)現(xiàn)關(guān)系數(shù)據(jù)庫模型中的潛在語義關(guān)系。

潛在語義關(guān)系可由數(shù)據(jù)庫模式推斷而來,例如圖1中Movie表中有DirectorID字段,而Director表中存在ID字段,那么這兩個(gè)字段之間很有可能有語義關(guān)系。但是,僅僅通過數(shù)據(jù)庫模式判斷常常存在大量的假陽性問題。例如圖1中Movie表有ID字段,Actor表亦有ID字段,僅通過數(shù)據(jù)庫模式判定,會(huì)認(rèn)為二者間具有語義關(guān)系,但事實(shí)上這兩者并不相關(guān)。因此引入內(nèi)容數(shù)據(jù)進(jìn)行判斷,Actor的ID字段內(nèi)容與Movie的ID字段內(nèi)容差異較大,判斷二者并無語義關(guān)系,從而減少判斷的假陽性問題。本文融合了數(shù)據(jù)庫模式和數(shù)據(jù)內(nèi)容構(gòu)建特征向量,用于發(fā)現(xiàn)潛在的語義關(guān)系。

從關(guān)系數(shù)據(jù)庫到Table-Graph的步驟如下:1) 根據(jù)數(shù)據(jù)庫模式和數(shù)據(jù)庫內(nèi)容實(shí)例構(gòu)建特征向量;2) 使用分類算法對(duì)特征進(jìn)行學(xué)習(xí)訓(xùn)練;3) 使用訓(xùn)練出的模型對(duì)所有語義關(guān)系進(jìn)行判定,檢測(cè)其是否成立,構(gòu)成最終的Table-Graph。

為了方便討論,將數(shù)據(jù)庫表記為T,數(shù)據(jù)庫表的屬性記為a,待判定的語義關(guān)系記為IND(a1,a2),其中a1∈T1,a2∈T2且T1≠T2。如果IND(a1,a2)成立,將a1稱為依賴屬性,將a2稱為引用屬性。

2.1 實(shí)體間關(guān)系特征構(gòu)建

2.1.1屬性名稱相近度特征

由于數(shù)據(jù)庫屬性名稱命名存在不規(guī)范現(xiàn)象,為了提高評(píng)判的精準(zhǔn)性,本文對(duì)屬性名稱進(jìn)行規(guī)范化后構(gòu)建詞集,使用詞集判定IND(a1,a2)中屬性名稱的相近度。該算法偽碼描述如算法1所示。

算法1屬性名稱相似度特征

Input:屬性名稱a1、a2,表名T1,T2

Output:詞集相似度特征R1、R2

1S1←split(a1),S2←split(a2),R1←1.0,R2←1.0

2 ifS1equalS2then

3 returnR1,R2

4 end if

5S1←S1∪split(T1),S2←S2∪split(T2)

6S1←S1∪headof(T1),S2←S2∪headof(T2)

7S1←S1-stopWord,S2←S2-stopWord

8R1=length(S1∩S2)/length(S1)

9 R2=length(S1∩S2)/length(S2)

10 returnR1,R2

該算法包括以下步驟:

1) 復(fù)合詞組拆分,使用符號(hào)分析器split函數(shù),將屬性名稱字符串根據(jù)連接符、大小寫、數(shù)字等將復(fù)合詞組拆成單獨(dú)的單詞集合。若拆分后的詞集相同,則直接返回屬性A1到屬性A2,屬性A2到屬性A1的詞集相似度均為1.0。

2) 將表名歸入單詞集合,對(duì)表名進(jìn)行同樣的復(fù)合詞組拆分,使用用headof函數(shù),取表名首字母組成表名縮寫,將拆分后的表名詞組和表名首字母縮寫一并歸入詞集,然后從詞集中去除id、key等常見stopWord。

3) 計(jì)算詞集的交集對(duì)(a1,a2)各自詞集的覆蓋情況,作為一項(xiàng)特征歸入接下來的計(jì)算。

2.1.2數(shù)據(jù)類型匹配特征

同一數(shù)據(jù)在不同表格中可能有多種存儲(chǔ)形式,例如電話號(hào)碼,在一個(gè)數(shù)據(jù)庫表格中存儲(chǔ)為vchar類型,而在另一數(shù)據(jù)庫表格中存儲(chǔ)為Integer類型。為了提高語義關(guān)系發(fā)現(xiàn)的召回率,本文結(jié)合文獻(xiàn)[11]中提到的方法,根據(jù)數(shù)據(jù)類型之間相互轉(zhuǎn)換的情況定義了相似度表格判定屬性間的數(shù)據(jù)類型匹配程度。表1展示了部分?jǐn)?shù)據(jù)類型間的匹配特征矩陣。

表1 數(shù)據(jù)類型相似度表

2.1.3數(shù)據(jù)庫關(guān)系特征

在數(shù)據(jù)庫中已經(jīng)存在的語義關(guān)系IND(ai,aj)包含了數(shù)據(jù)庫所涉及領(lǐng)域的語義,因此可以對(duì)潛在的IND(a1,a2)的推斷提供信息,主要有以下三種情況:

1) 被引用中的依賴:該特征計(jì)算IND(ai,a1)已經(jīng)成立的次數(shù)。通常,一個(gè)依賴屬性不會(huì)在其他IND中作為引用屬性出現(xiàn),即不會(huì)出現(xiàn)依賴傳遞的情況。IND(ai,a1)出現(xiàn)的次數(shù)越多,IND(a1,a2)成立的可能性越小。

2) 多重引用:該特征計(jì)算IND(ai,a2)已經(jīng)成立的次數(shù)。從對(duì)現(xiàn)有數(shù)據(jù)庫的分析中得知,引用屬性通常被多個(gè)屬性依賴著。IND(ai,a2)出現(xiàn)的次數(shù)越多,IND(a1,a2)成立的可能性越大。

3) 多重依賴:該特征計(jì)算IND(a1,ai)已經(jīng)成立的次數(shù)。根據(jù)現(xiàn)有的實(shí)驗(yàn)分析,同一屬性通常不會(huì)出現(xiàn)多重依賴關(guān)系。若已有IND(a1,ai)成立,則IND(a1,a2)成立的可能性下降。

2.1.4數(shù)據(jù)庫內(nèi)容交集特征

在絕大多數(shù)情況下,引用屬性覆蓋了依賴屬性的大部分取值,而依賴屬性是引用屬性的一個(gè)隨機(jī)取樣。這里使用屬性a1、a2的值交集情況作為判定IND(a1,a2)成立的特征。設(shè)d1、d2是屬性a1、a2的中獨(dú)特值的集合,使用文獻(xiàn)[12]中的Jaccard系數(shù)進(jìn)行判定:

2.1.5數(shù)據(jù)庫內(nèi)容實(shí)例特征

描述同一實(shí)體的屬性的數(shù)據(jù)內(nèi)容通常有相似的分布情況,這里使用屬性a1、a2的值的分布情況作為判定IND(a1,a2)成立的特征。使用Wilcoxon rank-sum算法[16]進(jìn)行隨機(jī)性測(cè)試,判定屬性a1、a2的值的分布情況是否相同。該算法不要求對(duì)比的屬性具有相同數(shù)量的值,適合計(jì)算IND(a1,a2)屬性值的分布相似特征。

2.2 實(shí)體關(guān)系發(fā)現(xiàn)模型訓(xùn)練

在獲取特征之后,需要對(duì)每個(gè)特征進(jìn)行估值,以決定其在對(duì)新數(shù)據(jù)集進(jìn)行處理時(shí)所占的權(quán)重。本文從已有IND的數(shù)據(jù)庫中構(gòu)建數(shù)據(jù)庫模式特征和內(nèi)容特征,組成特征向量,使用了scikit-learn[13]提供的隨機(jī)森林算法對(duì)特征進(jìn)行有監(jiān)督的學(xué)習(xí),訓(xùn)練相應(yīng)的模型,以獲得特征的權(quán)重。在訓(xùn)練好模型后,對(duì)需要進(jìn)行轉(zhuǎn)換的數(shù)據(jù)庫中所有的IND(ai,aj)進(jìn)行判定,分離出成立的IND(a1,a2),構(gòu)建Table-Graph。其中特別處理了以下情況:

1) 空表格。若已有的IND(a1,a2)中的a1或a2中沒有內(nèi)容,因?yàn)闊o法從屬性中提取實(shí)體,所以該IND(a1,a2)視為不成立。

2) 被引用的依賴屬性。該情況中的特征已在2.1節(jié)中剔除,但存在例外情況,當(dāng)已有的IND(a1,a2)和IND(a2,a3)均成立時(shí),則IND(a1,a3)視為成立。

3) 一對(duì)一關(guān)系。當(dāng)兩個(gè)主鍵一一對(duì)應(yīng)時(shí),則IND(a1,a2)和IND(a2,a1)均視為成立。

2.3 生成Table-Graph

為了表示數(shù)據(jù)庫中各個(gè)表之間的關(guān)聯(lián),發(fā)掘出數(shù)據(jù)庫內(nèi)蘊(yùn)含的語義信息,本文提出Table-Graph。Table-Graph是用于描述數(shù)據(jù)庫語義關(guān)系的有向圖,將數(shù)據(jù)庫表作為圖中的元素,數(shù)據(jù)庫表間引用關(guān)系作為圖中的邊,從而表示數(shù)據(jù)庫表間的關(guān)聯(lián),為接下來的實(shí)體間關(guān)系轉(zhuǎn)換提供指導(dǎo)。

若將原關(guān)系數(shù)據(jù)庫模型形式化地表示為T(A,D,F),其中T為數(shù)據(jù)庫表;A為組成該表的屬性集合;D為屬性域的集合;F代表屬性間的約束關(guān)系,包括主鍵、外鍵及其他完整性約束。為了方便,給定以下函數(shù):

PK(T):表示T的主鍵,為一屬性組。

FK(T):表示T的外鍵,為一屬性組。

IND(a1,a2):當(dāng)其為真時(shí),表示來自T1表的a1屬性,引用了來自T2表中的a2屬性。

那么,將Table-Graph所有元素的集合記為V,所有有向邊的集合記為E。假設(shè)有兩個(gè)元素a1∈T1,a2∈T2,且IND(a1,a2)為真,則a1∈V,a2∈V,且(a1,a2)∈E。

在分辨出所有成立的IND(a1,a2)后,可以按以下步驟自動(dòng)生成Table-Graph:

1) 將所有T(A,D,F)構(gòu)成元組,作為元素加入圖中。元組內(nèi)容為T中所有屬性A,元素命名使用T的名稱。

2) 對(duì)所有為真的IND(a1,a2),在圖中將a1和a2這兩個(gè)元素連接起來,由a1指向a2。

對(duì)圖1中數(shù)據(jù)庫生成的Table-Graph如圖5所示。

圖5 Table-Graph示例

3 實(shí)體間關(guān)系轉(zhuǎn)換

在獲得了Table-Graph后,可利用一些著名且普遍出現(xiàn)的關(guān)系數(shù)據(jù)庫模式,例如經(jīng)常出現(xiàn)的多對(duì)多關(guān)系、一對(duì)多關(guān)系,為轉(zhuǎn)換結(jié)果提供額外的轉(zhuǎn)換信息。接下來介紹Table-Graph的一般轉(zhuǎn)換規(guī)則以及這幾類關(guān)系的特殊轉(zhuǎn)換規(guī)則。

3.1 一般轉(zhuǎn)換規(guī)則

根據(jù)W3C的直接映射規(guī)則規(guī)定,本文針對(duì)Table-Graph的一般轉(zhuǎn)換規(guī)則如下:

1) 利用2.1節(jié)中提到的屬性名稱詞集構(gòu)建方法,去除Table-Graph中各屬性的冗余部分,如數(shù)據(jù)庫表名縮寫、連接符等。但若數(shù)據(jù)庫屬性詞集只含有常見后綴,則不去除。例如:若屬性名為DirectorID,則將其化簡為Director;若屬性名為ID,則保持屬性名仍為ID。

2) 對(duì)Table-Graph中每一元素的主鍵生成一個(gè)RDF實(shí)體,其URI由表格名稱和主鍵名稱組成,用符號(hào)“=”連接主鍵名稱和主鍵內(nèi)容。例如在Actor表中,屬性ID值為11的條目將被轉(zhuǎn)換為實(shí)體

3) 為上面的每一個(gè)實(shí)體增加一個(gè)rdf:type,它的值來自數(shù)據(jù)庫庫關(guān)系圖元素的名稱。例:rdf:type

4) 對(duì)Table-Graph元素的各個(gè)非主鍵屬性生成RDF三元組。用符號(hào)“#”連接數(shù)據(jù)庫元素名和屬性名作為這一關(guān)系的名稱,它的值來自Table-Graph該屬性的值。如上述的Actor表中有Name屬性,則會(huì)生成三元組Marry。

5) 對(duì)一般的實(shí)體間關(guān)系,根據(jù)上面的第一步生成兩個(gè)實(shí)體,使用依賴屬性的Table-Graph元素名加-rel-加依賴屬性名的方法作為這一關(guān)系的名稱。若Actor表有一age屬性,依賴于另一張Date表中屬性year,則這一關(guān)系轉(zhuǎn)換的RDF三元組為:。

3.2 特殊轉(zhuǎn)換規(guī)則

在關(guān)系數(shù)據(jù)庫模型中,有時(shí)一些表格并不代表實(shí)體,而是作為鄰接表存在,屬于對(duì)關(guān)系的一種表示,因此在最終的RDF結(jié)果中不應(yīng)轉(zhuǎn)為實(shí)體。與文獻(xiàn)[14]不同,本文對(duì)這些關(guān)系的轉(zhuǎn)換無需現(xiàn)有的本體網(wǎng)絡(luò)參與,而是利用Table-Graph,提出了針對(duì)實(shí)體間關(guān)系的特殊轉(zhuǎn)換規(guī)則:

1) 多對(duì)多關(guān)系。在Table-Graph中,若有v∈V,v中僅包含屬性e1和e2,且(e1,ei)∈E,(e2,ej)∈E,ei∈PK(vi),ej∈PK(vj),則v只是用來描述vi和vj之間的多對(duì)多關(guān)系。對(duì)屬性e1和e2無需提取RDF三元組,而是根據(jù)v中的每一元素內(nèi)容構(gòu)建一條RDF,其主體和客體分別是ei和ej對(duì)應(yīng)的實(shí)體,而關(guān)系的命名法是v1-has-v2。例如圖5中的MovieActor表,在轉(zhuǎn)換為RDF可表示為:

2) 一對(duì)多關(guān)系。若有v1∈V,v2∈V,e1為v1中屬性,e2為v2中屬性,有(e1,e2)∈E,e1?PK(v1),e2∈PK(v2),則存在e1到e2的多對(duì)一關(guān)系。這種多對(duì)一關(guān)系將被轉(zhuǎn)換為RDF中的屬性。這一RDF屬性的命名法是v2-of-v1,RDF屬性的domian為e2屬性,RDF屬性的range為v1中除e1外的其他屬性。該屬性轉(zhuǎn)換后的客體將是v1對(duì)應(yīng)的實(shí)體。例如圖5中的Movie表中的DirectorID屬性,則會(huì)轉(zhuǎn)換為:

4 實(shí)驗(yàn)評(píng)估

4.1 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)

本節(jié)通過實(shí)驗(yàn)驗(yàn)證本文所提方法的有效性,使用綜合評(píng)價(jià)指標(biāo)(F-Measure)進(jìn)行評(píng)估。假設(shè)方法返回的所有相關(guān)關(guān)系中正確的為TP,錯(cuò)誤的為FP,所有領(lǐng)域?qū)<胰斯ぐl(fā)現(xiàn)正確的關(guān)系數(shù)為R,則綜合評(píng)價(jià)指標(biāo)定義如下:

4.2 實(shí)驗(yàn)分析

在實(shí)驗(yàn)數(shù)據(jù)方面,選用TPC-H、TPC-DS、MovieLens和AdventureWorks這四個(gè)數(shù)據(jù)集。表2列出了這些數(shù)據(jù)的表格數(shù)量、屬性數(shù)量、元組數(shù)量和實(shí)體間關(guān)系數(shù)量等數(shù)據(jù)特征。

表2 實(shí)驗(yàn)數(shù)據(jù)特征

由于這些數(shù)據(jù)庫沒有標(biāo)準(zhǔn)的RDF轉(zhuǎn)換后結(jié)果,因此采用去除數(shù)據(jù)庫表間已有實(shí)體間關(guān)系構(gòu)成新的數(shù)據(jù)集。在該數(shù)據(jù)集進(jìn)行挖掘,將挖掘出的實(shí)體間關(guān)系與原數(shù)據(jù)集的實(shí)體間關(guān)系進(jìn)行對(duì)照,以評(píng)估算法。

在實(shí)驗(yàn)部分,首先構(gòu)建如表3所示的4個(gè)訓(xùn)練/測(cè)試集。保證來自同一數(shù)據(jù)庫的實(shí)體間關(guān)系不會(huì)被用在同一數(shù)據(jù)庫的驗(yàn)證過程中。

表3 訓(xùn)練/測(cè)試數(shù)據(jù)特征

然后使用文獻(xiàn)[15]中的實(shí)體間關(guān)系預(yù)測(cè)辦法(MLA),對(duì)數(shù)據(jù)集進(jìn)行提取,其對(duì)比結(jié)果如圖6所示。接著使用本文的算法,對(duì)同一數(shù)據(jù)集進(jìn)行提取,并對(duì)比提取結(jié)果。在MLA中提到了四種算法,這里選擇與其中表現(xiàn)效果最好的J48進(jìn)行對(duì)比。

圖6 MLA與本文的提取結(jié)果的對(duì)比

可以看出,本文的方法在四個(gè)數(shù)據(jù)集上均獲得了優(yōu)于前者的效果,足以證明所提方法的有效性。特別的,在T2/D2和T4/D4這兩個(gè)數(shù)據(jù)集上,由于這兩個(gè)測(cè)試數(shù)據(jù)集中的關(guān)系數(shù)據(jù)庫屬性存在命名不規(guī)范現(xiàn)象,MLA的表現(xiàn)較明顯地弱于本文所使用的方法,而本文使用詞集構(gòu)建的名稱特征以及內(nèi)容特征處理這一問題,獲得了更好的效果。

此外,本文還對(duì)數(shù)據(jù)庫內(nèi)已存在實(shí)體間關(guān)系的情況進(jìn)行了實(shí)驗(yàn)。不使用已有實(shí)體間關(guān)系,基于數(shù)據(jù)庫劃分?jǐn)?shù)據(jù)集的實(shí)驗(yàn)結(jié)果如表4所示。而利用了數(shù)據(jù)庫內(nèi)已有實(shí)體間關(guān)系,使用交叉驗(yàn)證方法進(jìn)行預(yù)測(cè)的實(shí)驗(yàn)結(jié)果如表5所示。平均預(yù)測(cè)準(zhǔn)確度從0.78上升到0.87,可見引入同一數(shù)據(jù)庫內(nèi)的實(shí)體間關(guān)系能有效提升潛在實(shí)體間關(guān)系的預(yù)測(cè)效果,印證了數(shù)據(jù)庫內(nèi)可使用已有約束特征對(duì)實(shí)體間關(guān)系的預(yù)測(cè)效果這一假設(shè)。

表4 基于數(shù)據(jù)庫層級(jí)的實(shí)驗(yàn)結(jié)果

表5 基于交叉驗(yàn)證的實(shí)驗(yàn)結(jié)果

在完成上述的外鍵發(fā)現(xiàn)后,本文按照2.3節(jié)中的方法構(gòu)建Table-Graph,用鄰接矩陣保存Table-Graph。根據(jù)3節(jié)中的數(shù)據(jù)庫設(shè)計(jì)模式,分析Table-Graph,發(fā)現(xiàn)其中的實(shí)體間關(guān)系,并完成到RDF的轉(zhuǎn)換。針對(duì)這一部分的測(cè)試,本文使用W3C RDB2RDF工作組提供的直接映射測(cè)試樣例進(jìn)行實(shí)驗(yàn)。該測(cè)試樣例中提供了使用直接映射方法構(gòu)建的三元組,因此適合進(jìn)行評(píng)估對(duì)比。該文使用測(cè)試集D011進(jìn)行展示,該測(cè)試樣例不使用實(shí)體間關(guān)系發(fā)現(xiàn)的轉(zhuǎn)換結(jié)果如圖7所示,使用本文方法發(fā)現(xiàn)實(shí)體間多對(duì)多關(guān)系轉(zhuǎn)換結(jié)果如圖8所示??梢钥闯?,發(fā)現(xiàn)的實(shí)體間關(guān)系減少了最終生成實(shí)體的數(shù)量,明確了其中潛含的語義關(guān)系,提升了最終生成RDF的質(zhì)量。

圖7 未發(fā)現(xiàn)實(shí)體間關(guān)系的轉(zhuǎn)換結(jié)果示例

圖8 發(fā)現(xiàn)多對(duì)多關(guān)系的轉(zhuǎn)換結(jié)果示例

5 結(jié) 語

本文針對(duì)關(guān)系數(shù)據(jù)庫到RDF的轉(zhuǎn)換問題,在已有研究的基礎(chǔ)上,提出了一種利用數(shù)據(jù)庫中實(shí)體間關(guān)系發(fā)現(xiàn)與提取的方法。利用數(shù)據(jù)庫模式和數(shù)據(jù)庫內(nèi)容構(gòu)建特征,基于特征利用隨機(jī)森林算法搜索潛在實(shí)體間關(guān)系,利用實(shí)體間關(guān)系的相互結(jié)構(gòu)構(gòu)建數(shù)據(jù)庫到RDF的轉(zhuǎn)換。經(jīng)實(shí)驗(yàn)證明,該方法提升了發(fā)現(xiàn)數(shù)據(jù)庫中各屬性間的潛在關(guān)系的準(zhǔn)確度,使用這些實(shí)體關(guān)系帶來的數(shù)據(jù)庫常見設(shè)計(jì)模式,發(fā)現(xiàn)其中潛藏的語義關(guān)系,能有效地減少最終生成RDF的冗余,提升了后續(xù)知識(shí)圖譜構(gòu)建的質(zhì)量。

當(dāng)然,本文還有一些可以改進(jìn)與擴(kuò)展之處。比如,可以考慮提取更多種類的實(shí)體間關(guān)系,如繼承關(guān)系的提取,以進(jìn)一步豐富最終結(jié)果的語義;另外,數(shù)據(jù)庫查詢的SQL語句中也存在一定的實(shí)體間關(guān)系,利用這些信息,亦可對(duì)實(shí)體間關(guān)系的提取問題產(chǎn)生積極的影響。

猜你喜歡
關(guān)系數(shù)據(jù)庫語義實(shí)體
真實(shí)場(chǎng)景水下語義分割方法及數(shù)據(jù)集
前海自貿(mào)區(qū):金融服務(wù)實(shí)體
實(shí)體書店步入復(fù)興期?
兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
基于單表結(jié)構(gòu)的Web動(dòng)態(tài)樹設(shè)計(jì)與實(shí)現(xiàn)
探討關(guān)系數(shù)據(jù)庫設(shè)計(jì)中范式理論的教學(xué)方法
“吃+NP”的語義生成機(jī)制研究
情感形容詞‘うっとうしい’、‘わずらわしい’、‘めんどうくさい’的語義分析
漢語依憑介詞的語義范疇