個(gè)類(lèi),將其合并,如算法中②到 ④所示;迭代過(guò)程會(huì)一直進(jìn)行,直到達(dá)到k個(gè)結(jié)果類(lèi)。
[0128] 以圖4示例的可重疊團(tuán)為例,當(dāng)指定結(jié)果類(lèi)個(gè)數(shù)k為2時(shí),層次聚類(lèi)在得到兩個(gè)結(jié) 果類(lèi)后停止。如圖5所示,此時(shí)模式圖被劃分為2個(gè)結(jié)果類(lèi),且關(guān)系表Supply為兩個(gè)類(lèi)的 重疊部分。
[0129] 步驟4、為每個(gè)結(jié)果類(lèi)選取主題表,將最終的模式摘要返回給用戶(hù)。
[0130] 第4. 1、通過(guò)關(guān)系表中的主外鍵信息、屬性信息以及元組信息衡量每張關(guān)系表的重 要性。表1中列出了示例數(shù)據(jù)庫(kù)中部分關(guān)系表重要度計(jì)算結(jié)果信息。
[0131] 表1示例數(shù)據(jù)庫(kù)關(guān)系表重要度計(jì)算結(jié)果信息
[0132]
[0133] 計(jì)算關(guān)系表重要度具體實(shí)現(xiàn)的偽代碼如下:
[0134] 算法3 :計(jì)算關(guān)系表重要度方法TableImportance
[0135] 輸入:標(biāo)簽圖G
[0136] 輸出:關(guān)系表重要度向量I
[0137] ①· FOR EACH node R IN G
[0138] ②.IC[R]:=關(guān)系表R的信息量
[0139] ③· I0[R] : = IC[R]
[0140] ④.END FOR
[0141] ⑤· FOR EACH edge e IN G
[0142] ⑥.Π :=關(guān)系表間的轉(zhuǎn)移矩陣
[0143] ⑦.END FOR
[0144] ⑧· done = FALSE ;/*隨機(jī)過(guò)程收斂標(biāo)識(shí)符*/
[0145] ⑨.WHILE (! done) DO
[0146] ⑩· I: = Ι0*Π
[0147] :?,IF(dist(I,I。)彡ε)/*使用無(wú)窮范數(shù)計(jì)算向量距離,ε為極小值*/
[0148] done = TRUE ;
[0149] 13. I0: = I
[0150] 14'. END WHILE
[0151] 15'. RETURN I
[0152] IjK算法結(jié)束
[0153] 該算法描述了計(jì)算關(guān)系表重要度的方法。首先,根據(jù)關(guān)系表中的主外鍵信息、屬性 信息以及元組信息計(jì)算每張關(guān)系表的信息量,通過(guò)計(jì)算所得的信息量作為隨機(jī)游走的初始 值,然后通過(guò)關(guān)系表之間的外鍵引用關(guān)系計(jì)算所得關(guān)系表間的轉(zhuǎn)移概率,沿著圖中的邊根 據(jù)轉(zhuǎn)移概率反復(fù)發(fā)送和接收信息,直至隨機(jī)過(guò)程收斂到一個(gè)穩(wěn)定分布。最后,將平穩(wěn)分布時(shí) 各個(gè)關(guān)系表的信息量值定義為該關(guān)系表的重要度。
[0154] 第4. 2、選擇每個(gè)結(jié)果類(lèi)中重要度最高的關(guān)系表作為該類(lèi)的主題表,返回給用戶(hù)最 終的模式摘要。
[0155] 以圖5示例的結(jié)果類(lèi)為例,為每個(gè)結(jié)果類(lèi)選取重要度最高的關(guān)系表作為主題表, 其中類(lèi)別1中最重要的表為Company,類(lèi)別2中最重要的表為Product。圖6為自動(dòng)生成的 可重疊模式摘要圖,其中圖6(a)和(b)所示為聚類(lèi)結(jié)果映射到關(guān)系數(shù)據(jù)庫(kù)后的結(jié)果顯示。
【主權(quán)項(xiàng)】
1. 一種基于多標(biāo)簽傳播的數(shù)據(jù)庫(kù)重疊模式摘要生成方法,其特征在于該方法包括: 第1、將數(shù)據(jù)庫(kù)模式映射為一個(gè)帶權(quán)重的多標(biāo)簽圖; 第1.1、將數(shù)據(jù)庫(kù)模式映射為一個(gè)多標(biāo)簽圖, 定義1 :一個(gè)關(guān)系數(shù)據(jù)庫(kù)模式能夠映射為一個(gè)多標(biāo)簽圖,用一個(gè)三元組G = (V,E,Lm)表 示,其中: ① .V表示數(shù)據(jù)庫(kù)中關(guān)系表節(jié)點(diǎn)的集合,V e V表示數(shù)據(jù)庫(kù)中的關(guān)系表節(jié)點(diǎn); ② .E表示數(shù)據(jù)庫(kù)中外鍵關(guān)系的集合,e e E表示數(shù)據(jù)庫(kù)中的外鍵關(guān)系; ③ .Lm為一個(gè)標(biāo)簽映射函數(shù),將節(jié)點(diǎn)映射到對(duì)應(yīng)的一個(gè)或者多個(gè)標(biāo)簽,其中標(biāo)簽用 (c, b)表不,c表不一個(gè)結(jié)果類(lèi)標(biāo)不符,b為標(biāo)簽隸屬度,表不一個(gè)數(shù)據(jù)庫(kù)關(guān)系表V與其結(jié)果 類(lèi)標(biāo)示符c的隸屬?gòu)?qiáng)度; 第1. 2、計(jì)算多標(biāo)簽圖中連接邊的兩個(gè)關(guān)系表間的相似性,作為標(biāo)簽圖權(quán)重; 第1. 2. 1、使用空間向量模型計(jì)算關(guān)系表的表名和屬性名的文本相似度,作為關(guān)系表的 名稱(chēng)相似度; 第1. 2. 2、使用Jaccard系數(shù)對(duì)關(guān)系表屬性列的值進(jìn)行數(shù)值相似度分析,并通過(guò)貪心算 法找到最佳匹配屬性對(duì),取最佳匹配屬性對(duì)值相似度的平均值求得關(guān)系表值相似度; 第1. 2. 3、通過(guò)分析關(guān)系表之間的計(jì)數(shù)比率,計(jì)算出關(guān)系表的映射關(guān)系相似度, 定義2 :關(guān)系表R與關(guān)系表S之間的映射關(guān)系相似度,記作Simni (R,S),定義如下:其中: ① .T表不關(guān)系表的所有兀組; ② .fan ( T 為元組t ;在連接邊e上的扇出度,扇出度是針對(duì)元組與元組之間的連接 邊條數(shù)而定義的,表示某一行元組能夠連接的不同元組個(gè)數(shù); ③ .為關(guān)系表R中所有滿(mǎn)足fan( TJ> 〇的元組數(shù); 第1. 2. 4、基于上述第1. 2. 1至第1. 2. 3步中的三種相似度特征,采用多元線(xiàn)性回歸模 型計(jì)算得到關(guān)系表相似度,并將該相似度作為多標(biāo)簽圖的權(quán)重; 第2、采用多標(biāo)簽傳播算法對(duì)多標(biāo)簽圖進(jìn)行聚類(lèi),生成可重疊團(tuán); 第2. 1、確定多標(biāo)簽傳播算法的參數(shù)0,0為每個(gè)節(jié)點(diǎn)最多可攜帶的標(biāo)簽數(shù);若用戶(hù)指 定模式摘要最終結(jié)果類(lèi)個(gè)數(shù)為k,則0嘗試取值為k-1到k+3,最終選擇使得多標(biāo)簽傳播所 得的可重疊團(tuán)的內(nèi)部聚類(lèi)相似度最大的0,內(nèi)部聚類(lèi)相似度的定義如下: 定義3 :假設(shè)多標(biāo)簽傳播將多標(biāo)簽圖聚類(lèi)為C = IC1, C2, ...,CJ的可重疊團(tuán),那么多標(biāo) 簽傳播結(jié)果C的聚類(lèi)內(nèi)部相似度如下:其中: ① .Sim (Vi,Vj)為關(guān)系表vJPV」之間的相似度; ② .Ic1I表示C1中的關(guān)系表個(gè)數(shù); 第2. 2、為標(biāo)簽圖中的每個(gè)節(jié)點(diǎn)設(shè)置一個(gè)唯一的標(biāo)簽,該標(biāo)簽的類(lèi)別標(biāo)示符設(shè)置為該 節(jié)點(diǎn)的關(guān)系表名稱(chēng),隸屬度設(shè)置為1 ; 第2. 3、每次迭代將一個(gè)節(jié)點(diǎn)所有鄰居節(jié)點(diǎn)的標(biāo)簽按照隸屬度和邊的權(quán)重加入到該節(jié) 點(diǎn)的標(biāo)簽中,并做標(biāo)準(zhǔn)化使該節(jié)點(diǎn)的隸屬度和為1, 定義4 :標(biāo)準(zhǔn)化函數(shù)bx (c,V1)表示在第X次迭代時(shí),節(jié)點(diǎn)\的標(biāo)簽中,社團(tuán)標(biāo)示符c與 其隸屬度b的映射關(guān)系為:其中: ① .N(Vi)為節(jié)點(diǎn)Vi的所有鄰居節(jié)點(diǎn); ② .14V,表示邊(V1, Vj)的權(quán)重; 第2. 4、刪除隸屬度低于1/0的標(biāo)簽; 第2. 5、當(dāng)被標(biāo)記的最少的類(lèi)別標(biāo)示符所標(biāo)記的節(jié)點(diǎn)數(shù)不變時(shí),迭代停止;假設(shè)迭代結(jié) 束后,剩余的類(lèi)別標(biāo)示符為m個(gè),將帶有標(biāo)示符Cni的節(jié)點(diǎn)歸類(lèi)到團(tuán)C "中,此時(shí),多標(biāo)簽圖被 劃分為m個(gè)可以有重疊部分的團(tuán)C = IC1, C2, ...,CJ ; 第2. 6、0取不同的值,重復(fù)上述第2. 2至第2. 5步,選擇內(nèi)部聚類(lèi)相似度最大的一組 可重疊團(tuán)作為多標(biāo)簽傳播的結(jié)果; 第3、對(duì)可重疊團(tuán)進(jìn)行層次聚類(lèi),生成結(jié)果類(lèi); 第3. 1、計(jì)算可重疊團(tuán)間相似度, 定義5心和C炎別代表多標(biāo)簽傳播聚類(lèi)所得到的兩個(gè)可重疊團(tuán),C種C j之間的相似 度可以定義為:其中,SinKC1, Cj)代表關(guān)系表\和V j之間的相似度,若兩表之間沒(méi)有關(guān)聯(lián)邊,它們之間 的相似度為〇 ; 第3. 2、將每一個(gè)可重疊團(tuán)作為一個(gè)單獨(dú)的類(lèi),在每一次迭代中,合并相似度最大的兩 個(gè)類(lèi),直到合并至用戶(hù)所指定的k個(gè)結(jié)果類(lèi)后停止迭代; 第4、為每個(gè)結(jié)果類(lèi)選取主題表,將最終的模式摘要返回給用戶(hù); 第4.1、計(jì)算關(guān)系表的重要度; 第4. 1.1、計(jì)算關(guān)系表的信息量, 定義6 :將關(guān)系表R中的屬性A記作R. A,該屬性上的信息熵定義為: 其中,h表示屬性A上所有不相同值的數(shù)目;設(shè)屬性A上的取值可以表示為h個(gè)不同值 的集合R. A = Ia1,. . .,ah},用Pi來(lái)表示a;出現(xiàn)的概率; 定義7 :將關(guān)系表R的信息量定義為:其中,IR|表示R中的元組個(gè)數(shù); 第4. 1. 2、計(jì)算關(guān)系表間轉(zhuǎn)移概率, 定義8 :以關(guān)系表R與關(guān)系表S為例,由R轉(zhuǎn)移到S的概率定義如下:其中: ① .R. A-S. B表示關(guān)系表R的A屬性與關(guān)系表S的B屬性之間的外鍵引用; ② .對(duì)于R中的任意屬性Y,qA,表示R. A^上所有外鍵連接數(shù)目; 第4. 3、采用隨機(jī)游走模型,以關(guān)系表的信息量作為隨機(jī)游走的初始值,以關(guān)系表間的 轉(zhuǎn)移概率作為隨機(jī)游走的轉(zhuǎn)移概率,模型達(dá)到穩(wěn)態(tài)時(shí)的信息量分布即為關(guān)系表的重要度; 第4. 4、選擇每個(gè)結(jié)果類(lèi)中重要度最高的關(guān)系表作為該類(lèi)的主題表,返回給用戶(hù)最終的 模式摘要。
【專(zhuān)利摘要】一種基于多標(biāo)簽傳播的數(shù)據(jù)庫(kù)重疊模式摘要生成方法。包括:將數(shù)據(jù)庫(kù)模式信息映射為多標(biāo)簽圖模型;采用多標(biāo)簽傳播算法對(duì)數(shù)據(jù)庫(kù)模式信息進(jìn)行聚類(lèi),生成可重疊團(tuán);采用層次聚類(lèi)算法對(duì)可重疊團(tuán)進(jìn)行聚類(lèi),進(jìn)一步生成規(guī)模適當(dāng)?shù)慕Y(jié)果類(lèi);最后基于信息熵及隨機(jī)游走模型為每個(gè)結(jié)果類(lèi)選取主題表,以生成最終的數(shù)據(jù)庫(kù)重疊模式摘要。本發(fā)明提出的重疊模式摘要生成方案能夠?yàn)橛脩?hù)提供更加準(zhǔn)確、具有意義的數(shù)據(jù)庫(kù)重疊模式摘要,幫助用戶(hù)快速地理解數(shù)據(jù)庫(kù)信息。
【IPC分類(lèi)】G06F17/30
【公開(kāi)號(hào)】CN105138588
【申請(qǐng)?zhí)枴緾N201510464314
【發(fā)明人】袁曉潔, 于漫, 王超, 靳宇東, 溫延龍
【申請(qǐng)人】南開(kāi)大學(xué)
【公開(kāi)日】2015年12月9日
【申請(qǐng)日】2015年7月31日