杜潔,李 芹,潘 媛,梁國迪
(云南電網(wǎng)有限責(zé)任公司信息中心,云南昆明 650214)
計(jì)算機(jī)處理技術(shù)的進(jìn)步推動了自然語言的數(shù)字化發(fā)展,使得數(shù)字化自然語言在計(jì)算機(jī)運(yùn)算中逐漸占據(jù)主導(dǎo)地位。由于網(wǎng)絡(luò)數(shù)據(jù)的增加,文檔信息的數(shù)量也隨之增加。將一份新檔案歸入現(xiàn)有檔案是一種有效的節(jié)約網(wǎng)絡(luò)空間的方式,這其中就涉及到文檔相似度的對比。
當(dāng)前,文獻(xiàn)間的相似性比較已有許多理論研究,蔣楚[1]等人提出了一種基于表達(dá)式樹的gadget 語義分析算法,利用表達(dá)式樹的變體形式描述其表達(dá)式信息,提高gadget 工具語義分析的效率,并設(shè)計(jì)能對多種gadget 工具的分析效率和效能進(jìn)行判斷的gadgetAnalysis 算法。該算法能夠較好地衡量gadget工具的語義分析效率和效能,實(shí)現(xiàn)較好的語義分析效果,但是該算法在判斷語義相似度方面的精準(zhǔn)度仍有待提高。石彩霞[2]等人提出了一種多重檢驗(yàn)加權(quán)融合的短文本相似度算法,使用三種方法分別計(jì)算短文本的相似度,對滿足已設(shè)定的多重檢驗(yàn)標(biāo)準(zhǔn)的短文本加權(quán)融合,再計(jì)算短文本的相似度。該算法在計(jì)算短文本相似度方面的準(zhǔn)確率有所提高,但仍難以滿足對語義相似度判斷的需要。為了解決上述問題,提出了基于堆棧集成學(xué)習(xí)的文檔隱含語義相似度判斷算法。
堆棧集成學(xué)習(xí)是一種元學(xué)習(xí)方式,其主要思路是利用基礎(chǔ)學(xué)習(xí)器生成問題數(shù)據(jù),再利用元學(xué)習(xí)器的學(xué)習(xí)程序來處理。基于該原理構(gòu)建堆棧集成學(xué)習(xí)模型,如圖1 所示。

圖1 堆棧集成學(xué)習(xí)模型
圖1 中,第0 層表示基礎(chǔ)學(xué)習(xí)層,第1 層表示元學(xué)習(xí)層。元學(xué)習(xí)層是在堆棧集成學(xué)習(xí)層之上進(jìn)行學(xué)習(xí)的一種行為,在整個堆棧集成過程中,確定了定義組合規(guī)則,經(jīng)過模型訓(xùn)練,融合學(xué)習(xí)結(jié)果[3-4]。
通常情況下,堆棧集成學(xué)習(xí)是一個簡單的學(xué)習(xí)過程,能夠有效避免過度擬合。
在堆棧集成學(xué)習(xí)模型中,輸入文檔隱含語義進(jìn)行識別,步驟如下:
步驟1:對原始文檔庫進(jìn)行預(yù)處理,獲取與原文一一對應(yīng)的詞袋矢量[5];
步驟2:通過對輸入文本的詞袋矢量與初始語料庫矢量之間的關(guān)系進(jìn)行分析,得出與輸入語料庫相似度最高的原始文本[6];
步驟3:通過對原始文本中的虛詞進(jìn)行篩選,把虛詞的賦值設(shè)為0,在虛詞賦值之后,將名詞賦值為1;取得與名詞相匹配的動詞,并把該動詞分配到一個文本矩陣內(nèi),可表示為式(1):
式中,N表示動詞與名詞之間存在的單詞數(shù)量。
步驟4:取得符合名詞的副詞,把它和名詞再配成一個新的詞組,把新的詞組賦值為1,但是保持原有的名詞,對原有的名詞進(jìn)行重新賦值,該過程可表示為式(2):
式中,m表示新詞組與原始名詞詞組出現(xiàn)頻率之比。
步驟5:獲取與名詞相匹配的形容詞,并指定一個形容詞賦值,可表示為式(3):
式中,p表示形容詞賦值成名詞的頻率。
步驟6:以名詞為基礎(chǔ),其他詞性名詞為基礎(chǔ)進(jìn)行賦值,充分考慮各個關(guān)鍵詞性特點(diǎn)獲取單個關(guān)鍵詞的賦值[7]。需要注意的是,賦值并不只是用來表示關(guān)鍵詞的重要程度,其還可以用來區(qū)別不同的關(guān)鍵詞。在考慮到關(guān)鍵詞出現(xiàn)的頻次后,經(jīng)過閾值篩選,篩選的單詞會極大地影響到文檔隱含語義[8-10]。借助于一個輔助詞庫矢量,能夠在基礎(chǔ)文本中發(fā)現(xiàn)類似于輸入文本的文件[11],可以得到更好的識別結(jié)果。
通過在堆棧集成學(xué)習(xí)模型上識別隱含語義,根據(jù)閾值篩選結(jié)果獲取與輸入文本類似的文檔,構(gòu)建文檔隱含語義向量模型,保證文檔隱含的關(guān)鍵詞能夠描述具有語義的關(guān)鍵詞,并將其轉(zhuǎn)換為向量形式[12-13]。文檔隱含語義向量模型構(gòu)建,具體如圖2 所示。

圖2 文檔隱含語義向量模型
圖2 中,從文件中抽取出能夠表達(dá)其主題內(nèi)容的基本概念和特征[14]。在建立文件的語義矢量時,首先要對已處理過的文件進(jìn)行預(yù)處理;其次,對文檔中的概念詞語進(jìn)行抽取;最后,利用基于本體粗糙集的知識,從實(shí)例中抽取出與之相關(guān)的特征,從而構(gòu)造出一個含有概念詞語和屬性描述的文件語義矢量[15]。
對于文檔隱含語義向量的提取,首先確定文檔抽取概念詞O=(O1,O2,…,On),這組詞在領(lǐng)域本體中的屬性可表示為D1,D2,…,Dn,其中n表示領(lǐng)域本體屬性個數(shù)。為了提取文檔隱含語義向量屬性,需在確保本體中包含所有實(shí)例的前提下,依次提取相關(guān)屬性,由此形成一個屬性集,以此類推,能夠獲取文檔全部隱含語義向量。
為方便檢索,每一個文檔都有一個語義矢量索引。首先,把從文檔中抽取的關(guān)鍵詞歸類到索引文件中,按照一定的次序進(jìn)行分類,并在此基礎(chǔ)上創(chuàng)建一個指針來表示這個概念。每一種概念都有一個語義矢量,將相同的關(guān)鍵詞向量聚類為一簇,而文本的語義特征矢量則指向相應(yīng)的文件[16]。
為方便提取關(guān)鍵詞,將文本劃分為以標(biāo)點(diǎn)為邊界的小字符串,用最大公共字符串和傳統(tǒng)分詞的關(guān)鍵詞抽取方法,使關(guān)鍵詞盡量完整,過濾與標(biāo)準(zhǔn)要求不一致的關(guān)鍵詞。
使用信息增益法提取關(guān)鍵詞,從文檔中直接提取相關(guān)信息,再將這些信息與標(biāo)準(zhǔn)信息對比,獲取的信息熵之差就是信息增益。信息增益評估函數(shù)定義為式(4):
式中,n(tk)、n(hi)分別表示不同類的特征文檔的數(shù)量;p(hi∣tk)表示特征hi中出現(xiàn)特征tk的文檔概率,由此實(shí)現(xiàn)基于文檔隱含語義索引關(guān)鍵詞。
對于提取的文檔隱含語義索引關(guān)鍵詞,使用堆棧集成學(xué)習(xí)方法對關(guān)鍵詞進(jìn)行訓(xùn)練,由此產(chǎn)生的元數(shù)據(jù)經(jīng)過反復(fù)堆疊后,產(chǎn)生一個完整的訓(xùn)練數(shù)據(jù)集和元數(shù)據(jù)。
根據(jù)訓(xùn)練結(jié)果,令文檔f1與f2的屬性集為E1、E2,設(shè)α是E1的導(dǎo)出路徑,β是E2的導(dǎo)出路徑,是通過α從文檔f1中導(dǎo)出的一段文本,是通過β從文檔f2中導(dǎo)出的一段文本,兩個文本的相似度為:
式中,Lα,β表示路徑α與β間最長的共同子路徑長度;ω表示相似度的權(quán)重系數(shù)。
根據(jù)式(6)計(jì)算結(jié)果可知,向量融合了隱含語音基本結(jié)構(gòu)和內(nèi)容特征,同時也反應(yīng)了文檔中相似的部分。根據(jù)該計(jì)算結(jié)果,可體現(xiàn)出語義相似度判斷結(jié)果。
為了驗(yàn)證基于堆棧集成學(xué)習(xí)的文檔隱含語義相似度判斷算法的準(zhǔn)確性,選擇某省電力企業(yè)數(shù)據(jù)庫中的文檔集作為實(shí)驗(yàn)對象,原始文本如圖3 所示。

圖3 原始文本
原始的文本都屬于電力工單,提取其中的關(guān)鍵詞,結(jié)果如圖4 所示。

圖4 關(guān)鍵詞提取結(jié)果
由圖4 可獲取全部關(guān)鍵詞提取結(jié)果,以此為研究對象進(jìn)行實(shí)驗(yàn)驗(yàn)證分析。
用關(guān)鍵詞個體提取結(jié)果準(zhǔn)確率和召回率作為評價標(biāo)準(zhǔn),可表示為式(7)、(8):
式(7)和(8)中,fA表示語義相似度計(jì)算結(jié)果大于零且判斷為同一屬性的同類文檔;fB表示語義相似度計(jì)算結(jié)果大于零且判斷為不同屬性的同類文檔;fC表示語義相似度計(jì)算結(jié)果等于零且判斷為同一屬性的同類文檔。計(jì)算結(jié)果越大,相似度判斷結(jié)果越精準(zhǔn)。
以圖4 所示關(guān)鍵詞為研究對象,分別使用基于表達(dá)式樹的方法、基于多重檢驗(yàn)加權(quán)融合方法和堆棧集成學(xué)習(xí)算法,對比分析關(guān)鍵詞個數(shù)提取結(jié)果,如表1 所示。

表1 三種方法關(guān)鍵詞個數(shù)提取結(jié)果對比
由表1 可知,應(yīng)用基于表達(dá)式樹的方法后,關(guān)鍵詞個數(shù)提取結(jié)果與實(shí)際個數(shù)最大誤差為兩個;應(yīng)用基于多重檢驗(yàn)加權(quán)融合方法后,關(guān)鍵詞個數(shù)提取結(jié)果與實(shí)際個數(shù)最大誤差為三個;應(yīng)用堆棧集成學(xué)習(xí)算后,關(guān)鍵詞個數(shù)提取結(jié)果與實(shí)際個數(shù)最大誤差為一個。通過上述分析結(jié)果可知,應(yīng)用堆棧集成學(xué)習(xí)算法后,關(guān)鍵詞個數(shù)提取結(jié)果與實(shí)際個數(shù)基本一致,說明使用該方法語義相似度判斷結(jié)果更精準(zhǔn)。
三種方法的召回率對比分析結(jié)果如圖5 所示。

圖5 三種方法召回率對比分析
由圖5 可知,基于表達(dá)式樹方法的最高召回率為64%,最低為58%;基于多重檢驗(yàn)加權(quán)融合方法的最高召回率為72%,最低為68%;基于堆棧集成學(xué)習(xí)的相似度判斷算法的最高召回率為86%,最低為80%。由此可知,應(yīng)用基于堆棧集成學(xué)習(xí)的相似度判斷算法召回率較高。
基于堆棧集成學(xué)習(xí)的文檔隱含語義相似度判斷算法考慮了文檔隱含語義的結(jié)構(gòu)特點(diǎn)和文檔內(nèi)容特性,對文檔隱含語義的相似性展開具體分析。該算法可以更好地支持多源、異構(gòu)信息集成和個性化信息服務(wù)。