莊 莉,陳又詠,黃雙雙,丁 陽,張 照
(1.福建億榕信息技術有限公司,福建 福州 350003;2.西安交通大學 電子與信息學部,陜西 西安 710049;3.北京國網(wǎng)信通埃森哲信息技術有限公司,北京 102211;4.北京中電普華信息技術有限公司,北京 102211)
長期以來,我國數(shù)據(jù)庫管理系統(tǒng)的市場主要被國外數(shù)據(jù)庫廠商占據(jù)。這種狀況既不利于我國信息產(chǎn)業(yè)的安全,更威脅我國基礎信息設施的可控權。為實現(xiàn)關鍵信息技術自主可控,研發(fā)并推廣應用國產(chǎn)數(shù)據(jù)庫管理系統(tǒng),已成為我國信創(chuàng)產(chǎn)業(yè)發(fā)展的戰(zhàn)略性任務之一。
為緊跟國家戰(zhàn)略、推動信創(chuàng)生態(tài)體系建設,當前國產(chǎn)數(shù)據(jù)庫迎來蓬勃發(fā)展時期,一大批優(yōu)秀的國產(chǎn)數(shù)據(jù)庫產(chǎn)品迅猛發(fā)展。雖然我國各機構在信息化辦公過程中逐步采用國產(chǎn)數(shù)據(jù)庫進行信息管理,但由于信息系統(tǒng)規(guī)模大、業(yè)務復雜性高,數(shù)據(jù)呈現(xiàn)出分布、海量、異構等特點,且大量歷史數(shù)據(jù)通常同時使用國外數(shù)據(jù)庫平臺存儲。在這種條件下,為了實現(xiàn)數(shù)據(jù)從國外數(shù)據(jù)庫到國產(chǎn)數(shù)據(jù)庫的轉移,有數(shù)據(jù)轉移需求的數(shù)據(jù)庫使用者需要完成數(shù)據(jù)跨庫遷移工作。因此,當前的重要任務是實現(xiàn)數(shù)據(jù)從國外數(shù)據(jù)庫到國產(chǎn)數(shù)據(jù)庫的遷移。
模式匹配是實現(xiàn)數(shù)據(jù)遷移任務的一項關鍵技術。圖1是一個模式匹配的示例,若要將源數(shù)據(jù)庫中的數(shù)據(jù)轉移到目標數(shù)據(jù)庫中,需要對數(shù)據(jù)庫的子模式和字段分別建立匹配關系。圖1中源模式的項目信息子模式和目標模式的交易信息模式建立匹配關系,源模式的單位信息子模式需要與目標模式的單位信息子模式建立映射關系,建立映射的子模式的各個字段也需要建立映射關系。要將源數(shù)據(jù)庫中的數(shù)據(jù)轉換到目標數(shù)據(jù)庫中,需要建立源數(shù)據(jù)庫子模式到目標數(shù)據(jù)庫子模式的聯(lián)系,以及源數(shù)據(jù)庫模式字段和目標數(shù)據(jù)庫模式字段之間的聯(lián)系。
圖1 模式匹配示例
現(xiàn)有研究一般使用批量學習實現(xiàn)數(shù)據(jù)庫的自動模式匹配,但在實際應用場景下,模式匹配任務具有時間順序性和經(jīng)驗積累增量性,批量學習進行模式匹配缺乏經(jīng)驗累積學習的能力。本文提出將集成學習與增量式貝葉斯思想用于模式匹配,利用在模式匹配過程中已得到的匹配模式對優(yōu)化模式的匹配算法,通過擴大訓練集規(guī)模提高分類準確率。
目前有關自動數(shù)據(jù)庫模式匹配的研究基于匹配知識的不同主要分為兩類:數(shù)據(jù)庫結構層級的匹配和實例層級的匹配。
結構層級的數(shù)據(jù)庫模式匹配利用模式字段名稱、字段類型、字段描述等模式級信息結構相似程度進行模式匹配。如文獻[3]利用模式映射的元映射以及模式名稱特征重用現(xiàn)有的模式映射,將元映射存儲在可搜索的存儲庫中,并建立索引以進行快速檢索。文獻[4]使用圖匹配的思想提出一種簡單的結構算法用于模式匹配。
實例層級的模式匹配通過判別數(shù)據(jù)的分布、統(tǒng)計特性、數(shù)據(jù)相關性等數(shù)據(jù)庫實例級信息的相似程度進行模式匹配。文獻[5]提出的統(tǒng)計數(shù)據(jù)模式中屬性列的概率分布,依據(jù)概率分布評估屬性列之間的相似性。文獻[6]提出了基于互信息的非透明列值數(shù)據(jù)模式匹配方法,能夠在不透明的列名和數(shù)據(jù)值的情況下實現(xiàn)數(shù)據(jù)庫的模式匹配。
本文針對現(xiàn)有模式匹配方法存在的主要問題,通過對現(xiàn)存模式匹配信息的學習,能夠減少人工標定樣本的工作量,在后續(xù)的增量模式匹配中提供完備的匹配信息。本文提出將集成學習與增量式貝葉斯思想用于模式匹配,利用在模式匹配過程中已經(jīng)得到的模式匹配關聯(lián)關系對模式匹配算法進行優(yōu)化。
本文提出的動態(tài)數(shù)據(jù)庫模式匹配算法如圖2所示(其中,為當前子模式分類后驗概率,為主動選擇的置信度閾值),分為初始模型訓練、模式分類、分類結果主動選擇、增量學習四個部分。初始模型訓練利用已有少量模式訓練集訓練一個初始模式匹配分類模型,用于后期增量學習過程中的模式分類;模式分類使用初始模式匹配分類器對增量集中沒有模式標簽的未知模式分類;分類結果主動選擇部分對增量集中的子模式樣本進行篩選,選擇最有利于提高分類器性能的實例加入訓練集;增量學習將滿足主動選擇篩選條件的實例以及主動在線模式匹配算法賦予該實例的模式標簽加入反饋集中,使用增量學習的思想再次訓練分類模型。
圖2 動態(tài)數(shù)據(jù)庫模式匹配算法
本節(jié)提出利用樸素貝葉斯和隨機森林模型實現(xiàn)對模式進行增量分類的算法,并詳細地介紹了子模式特征表示方法和主動在線模式匹配算法設計。
樸素貝葉斯分類方法一般使用多維特征向量表示數(shù)據(jù)樣本。數(shù)據(jù)庫子模式信息包括名稱、類型、屬性描述等內容,這些描述信息不易組織成維向量。因此,在提取子模式特征時將參考文獻[8]提出的模式特征表示方法,將多種描述信息組合成短文本,并對其進行修改以適用于本文中的模式匹配場景。將子模式用文本表示后可使用TF?IDF生成子模式的特征向量,在本文中,子模式的單個信息出現(xiàn)頻率SF可以表示為:
式中:SF 表示子模式的信息在子模式S 中的信息頻率;N 表示子模式的信息在子模式S 中的出現(xiàn)次數(shù);分母表示子模式S 所有信息總數(shù)。子模式單個信息的逆向模式頻率ISF 表示為:
式中:||表示子模式的總數(shù);|{:N ∈S }|表示含有信息的子模式個數(shù)。由于本文將子模式各個字段的信息組織成文本,故可以采用此方法提取每個子模式的特征,經(jīng)TF?IDF處理后可以得到一個能夠表示子模式特征的稀疏矩陣,作為主動在線模式匹配算法的輸入。
本文選用樸素貝葉斯模型和隨機森林模型實現(xiàn)子模式的增量匹配。數(shù)據(jù)庫模式的貝葉斯分類是根據(jù)訓練數(shù)據(jù)庫子模式的類先驗概率和類條件概率,預測子模式是否屬于某一數(shù)據(jù)庫模式類別。在當前模式匹配場景下,僅使用初始少量標定子模式訓練集顯然是片面且不合理的,需要使模式匹配的模式訓練集隨著模型訓練逐漸更完備,從而優(yōu)化數(shù)據(jù)庫模式匹配分類器。在數(shù)據(jù)庫模式匹配過程中使用增量學習可以解決此矛盾。挑選測試過程中的模式匹配實例,重新作為模式匹配的訓練集,順應數(shù)據(jù)增長變化趨勢,從而優(yōu)化匹配效果。
本文模式匹配增量方法假設為隨機變量,是先驗信息。如果有新增模式匹配樣本加入,計算(|,)的公式如下:
由上式可見,隨著樣本的加入,先驗信息由(|)變?yōu)?|,),先驗信息是貝葉斯增量學習模型的基礎。在增量模式匹配過程中,當新的子模式到來,之前的子模式匹配信息可以作為模型訓練的新樣本,這種迭代訓練方法利用測試子模式實例信息,是一個逐漸改進先前模式匹配模型的增量過程。
子模式增量學習模型構建的偽代碼如算法1所示。假定子模式類別為={,,…,C },子模式特征向量為F ={, ,…, },是特征數(shù)量,子模式類別的先驗概率(C )抽象為參數(shù)θ,特征的類條件概率(q | C )抽象為參數(shù)θ 。參數(shù)θ和θ 的值為:
式中:| |表示訓練集中類別C 的訓練子模式數(shù)量;||表示子模式類別總數(shù);||為子模式總數(shù);| ,C |表示子模式類別C 的特征q 的頻率;||表示子模式中特征q 出現(xiàn)的頻率。
根據(jù)θ和θ 可以得到子模式樸素貝葉斯分類器的初始分類模型NBM:
子模式增量修正模型是對子模式增量集中的實例選擇,根據(jù)新增子模式調整模型參數(shù)的動態(tài)過程,θ和θ 增量調整為:
具體算法流程如算法1所示。
算法1:主動在線模式匹配算法
輸入:模式匹配初始訓練集,模式匹配增量集,模式匹配反饋集,模式匹配置信度閾值
輸出:模式匹配分類模型
1:function OBSMMODEL(,,,)
2:←length()
3:NBM←InitialBayesTrain()
4:RFM←InitialRFTrain()
5:while<=do
6: if RFM([])==NBM([])then
7: if P_voting(RFM([]))>then
8:←+[]
9: end if
10: end if
11:end while
12:NBM←IncreBayesTrain(NBM,)
13:return NBM
14:end function
基于增量學習進行子模式匹配算法,其要點是從大量子模式樣本中選擇最適合模式匹配模型的模式實例,加入模式匹配訓練集,從而達到優(yōu)化子模式分類器分類性能的目的。通常有兩種實例選擇方法:被動選擇方法和主動選擇方法。
數(shù)據(jù)庫模式匹配模型增量訓練過程中,被動選擇策略對測試子模式實例的選擇具有隨機性,該策略下,模式匹配模型會被動地接收新信息。但是在模式匹配過程中使用被動選擇策略不適用于本文的模式匹配場景,在動態(tài)修正模式匹配的過程中,被動選擇策略就表現(xiàn)出明顯的不足,因為按照某一種單一沒有依據(jù)的篩選規(guī)則會使學習的分類器具有順序相關性,使得模式匹配模型對數(shù)據(jù)較為敏感。此外,如模式匹配過程中遇到噪音數(shù)據(jù),這種噪音持續(xù)下去會嚴重影響模式匹配結果。
相較而言,在本文的場景下采用主動選擇策略對子模式實例的選擇具有可控性,該策略會選擇最有利于子模式分類器性能提高的測試子模式實例,更智能也更適用于本文中的模式匹配場景。
本文主動選擇使用集成學習的思想主動選擇樣本。具體地,本文使用隨機森林算法對增量集中的樣本進行分類,能夠得到當前隨機森林中每一棵決策樹的分類結果,多個學習器的集成結果和投票分類結果更具有說服力,能夠和樸素貝葉斯的分類結果相互驗證。
其中,子模式增量集中的單個子模式樣本的主動選擇過程如圖3所示,本文將子模式增量集中的樣本實例輸入具有多棵決策樹的隨機森林中,每一棵決策樹的分類結果用T ()(1≤≤)表示,經(jīng)過決策樹投票,可以得出每種子模式類別C (1≤≤)的投票計數(shù)為(C ),則每個類別C 的投票占比可以表示為:
圖3 主動在線模式匹配算法主動選擇策略
計算每個類別的投票占比后選擇投票占比最高的類別滿足以下條件:
作為多棵決策樹的子模式分類類別,把投票占比()作為該類別的置信度,如果與初始貝葉斯模式分類模型的分類結果Bayes()的結果一致且置信度滿足閾值要求,即:
將子模式樣本實例以及對應分類標簽(,)加入子模式增量集中,完成單個樣本的主動選擇。
本文實驗需使用中文異構數(shù)據(jù)庫的遷移數(shù)據(jù)測試本文中的增量貝葉斯模式匹配模型,但由于目前沒有適用于本文的公開中文異構數(shù)據(jù)庫遷移數(shù)據(jù)集,本文選用公開中文文本分類sms數(shù)據(jù)集,對該數(shù)據(jù)集進行改造,經(jīng)改造的數(shù)據(jù)集與本文所需的國產(chǎn)數(shù)據(jù)庫遷移數(shù)據(jù)邏輯等價。實驗數(shù)據(jù)信息如表1所示,在實驗過程中,將數(shù)據(jù)集劃分成模式匹配初始訓練集、模式匹配增量集、模式匹配測試集。
表1 實驗數(shù)據(jù)集
本文中模式匹配的目標是尋找源數(shù)據(jù)庫子模式和目標數(shù)據(jù)庫子模式的匹配關系,為驗證動態(tài)模式匹配方案的有效性,分別使用批量學習和主動在線模式匹配算法使用相同初始訓練集訓練模型。此外,本文將模式匹配增量集劃分為10等份用于觀察本文所提方法隨模式匹配增量學習的表現(xiàn),使用同一測試集評估模式匹配模型的匹配效能。最后,為觀察本文所提方法對于置信度閾值的敏感性,通過設置多種閾值,記錄本文方法在不同置信度閾值時的模式匹配效能。
為了評估匹配質量,采用以下三個通用指標:
1)準確率:子模式測試實例中正確分類的數(shù)量占測試子模式實例總數(shù)的比例。計算公式為:
2)召回率:被正確分類的子模式正例個數(shù)占實際正例個數(shù)的比例。計算公式為:
3)全面性:
圖4為使用批量模式匹配算法和主動在線模式匹配算法在相同數(shù)據(jù)集上的模式匹配對比。
圖4 批量模式匹配與主動在線模式匹配對比
其中,批量模式匹配算法包括決策樹模式匹配算法、KNN模式匹配算法、批量貝葉斯模式匹配算法。相較于傳統(tǒng)的批量模式匹配方法,本文提出的動態(tài)模式分類匹配方法將模式匹配全面性提高了5%~33%。表2為本實驗中各類子模式的匹配情況。實驗結果顯示,各類別使用動態(tài)模式匹配方法表現(xiàn)明顯優(yōu)于傳統(tǒng)方法。
表2 批量貝葉斯模式匹配與主動在線模式匹配算法效果詳細對比
此外,為測試本文所提主動在線模式匹配算法在經(jīng)驗累積過程中的模式匹配效能,將子模式增量集劃分為10等份,每次增量訓練的數(shù)據(jù)為增量集的1 10,主動在線模式匹配算法增量學習表現(xiàn)如圖5所示。
圖5 主動在線模式匹配算法增量學習表現(xiàn)
根據(jù)圖5可知,在模式匹配信息增量的累積過程中,主動在線模式匹配算法增量學習表現(xiàn)總體呈上升趨勢。預計隨著模式匹配信息不斷增加,匹配效能將會不斷上升。
在使用模式匹配主動選擇策略時,模式匹配置信度的閾值設定是影響模式匹配效果的重要因素。為觀察不同模式匹配置信度閾值對主動在線增量學習的影響,本實驗設定不同的模式匹配置信度閾值,在同一模式匹配測試集上測試。
本實驗測試的主動在線模式匹配算法對置信度閾值的敏感情況如圖6所示,不同的模式匹配置信度概率閾值的設定對算法的效果有所影響。
圖6 置信度閾值敏感分析
圖6中主動在線模式匹配算法在部分模式匹配置信度閾值的表現(xiàn)呈現(xiàn)平臺趨勢,是因為部分增量集中的樣本在一定模式匹配閾值范圍內沒有滿足條件的樣本。在針對不同的應用場景時,需要根據(jù)增量模型的測試指標反向調整模式匹配置信度閾值。
本文介紹了一種主動在線的模式匹配方法,能夠有效減少模式匹配算法的搜索空間,并且相比傳統(tǒng)的復雜模式匹配算法,本文方法能夠充分利用已有模式匹配信息,為后續(xù)模式匹配提供更完備的匹配知識。在未來,本研究將準確定位源模式中子模式和目標子模式的匹配關系,并且把子模式匹配和子模式字段匹配有效結合,從而實現(xiàn)一套完整的模式匹配體系。