朱小龍,邱 林
(1. 荊楚理工學(xué)院計(jì)算機(jī)工程學(xué)院,湖北 荊門 448000;2. 湖北省荊門產(chǎn)業(yè)技術(shù)研究院智能信息技術(shù)研究所,湖北 荊門 448000;3. 長(zhǎng)江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,湖北 荊州 434023)
為了準(zhǔn)確、高效地在海量信息中抽取特定的信息,需要一種自動(dòng)化程度較高的計(jì)算機(jī)輔助工具。信息抽取系統(tǒng)的主要工作是在信息源中獲取所需的信息,并向用戶展示抽取的信息,將抽取的信息存儲(chǔ)在數(shù)據(jù)庫(kù)或電子表格中,方便后續(xù)工作的使用和分析[1,2]。目前針對(duì)半結(jié)構(gòu)化文本的信息抽取算法較多,在各個(gè)領(lǐng)域中都得到了廣泛的應(yīng)用,但目前的信息抽取算法都存在一些問題。
賴娟[3]等人在規(guī)則約束的基礎(chǔ)上構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)模型,首先在模型的學(xué)習(xí)模塊中輸入數(shù)據(jù),在多個(gè)維度上結(jié)合多頭注意力機(jī)制和Bi-GRU網(wǎng)絡(luò)生成單詞對(duì)應(yīng)的預(yù)測(cè)向量,利用規(guī)則庫(kù)中存在的邏輯規(guī)則約束模型的深度學(xué)習(xí),以此實(shí)現(xiàn)文本信息抽取,該算法沒有對(duì)文本信息實(shí)行降維處理,對(duì)高維文本信息抽取的復(fù)雜度較高,導(dǎo)致算法存在信息抽取精度低、召回率低的問題。孫新[4]等人在CNN和LSTM自編碼器的基礎(chǔ)上建立短語(yǔ)向量模型,用于表示復(fù)雜短語(yǔ)的語(yǔ)義,針對(duì)候選短語(yǔ),采用短語(yǔ)向量計(jì)算其對(duì)應(yīng)的主體權(quán)重,對(duì)計(jì)算結(jié)果排序,完成文本信息的抽取,該算法的抽取結(jié)果與用戶所需的信息之間存在差異,存在信息抽取準(zhǔn)確率低的問題。陳珂[5]等人通過BERT預(yù)訓(xùn)練語(yǔ)言模型提取文本信息的特征,通過依存句法根據(jù)信息特征選取最短依存路徑,在分類模型中輸入最短依存路徑完成文本信息的抽取,該方法抽取文本信息所用的時(shí)間較長(zhǎng),存在信息抽取效率低的問題。
為了解決上述方法中存在的問題,提出基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法。
基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法通過自編碼網(wǎng)絡(luò)完成文本信息的降維處理,用低維信息代替高維信息,降低后續(xù)半結(jié)構(gòu)化文本信息抽取的復(fù)雜度。用T={t1,…,tn}表示高維數(shù)據(jù)集,該數(shù)據(jù)集中共存在n個(gè)半結(jié)構(gòu)化文本信息,將高維數(shù)據(jù)集T輸入自編碼網(wǎng)絡(luò)中,獲取對(duì)應(yīng)的低維嵌套結(jié)構(gòu)M。
自編碼網(wǎng)絡(luò)結(jié)構(gòu)由兩個(gè)部分構(gòu)成,第一部分為編碼網(wǎng)絡(luò),第二部分為解碼網(wǎng)絡(luò)[6]。編碼網(wǎng)絡(luò)的主要目的是在維數(shù)固定的低維嵌套結(jié)構(gòu)中映射高維原始半結(jié)構(gòu)化文本信息;可用編碼網(wǎng)絡(luò)的逆過程描述解碼網(wǎng)絡(luò),其主要作用是還原低維嵌套結(jié)構(gòu)中存在的半結(jié)構(gòu)化文本信息,將其轉(zhuǎn)化為高維數(shù)據(jù)。自編碼網(wǎng)絡(luò)的核心是碼字層,存在于解碼網(wǎng)絡(luò)和編碼網(wǎng)絡(luò)之間的交叉部分,具有嵌套結(jié)構(gòu)的高維半結(jié)構(gòu)化文本數(shù)據(jù)集的本質(zhì)規(guī)律可通過碼字層得以描述,獲取本質(zhì)維數(shù)[7]。
采用自編碼網(wǎng)絡(luò)對(duì)半結(jié)構(gòu)化文本信息處理的具體過程為:對(duì)編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)的權(quán)值實(shí)行初始化處理,遵循誤差最小化原則訓(xùn)練自編碼網(wǎng)絡(luò),半結(jié)構(gòu)化文本信息依次經(jīng)過解碼和編碼網(wǎng)絡(luò),在鏈?zhǔn)椒▌t的基礎(chǔ)上計(jì)算梯度值,根據(jù)計(jì)算結(jié)果調(diào)整自編碼網(wǎng)絡(luò)的權(quán)值。
所提算法在限制玻爾茲曼機(jī)連續(xù)形式CRBM的基礎(chǔ)上完成連續(xù)數(shù)的建模,通過CRBM訓(xùn)練獲得對(duì)應(yīng)的權(quán)值,即編碼網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)在自編碼網(wǎng)絡(luò)中的初始權(quán)值。在全局調(diào)整階段中,利用反向傳播算法完成權(quán)值的調(diào)整,實(shí)現(xiàn)半結(jié)構(gòu)化文本信息的最佳重構(gòu)。
設(shè)dj代表的是隱單元j在可視單元狀態(tài)集{di}中的輸出,可通過下式計(jì)算得到
(1)
式中,wij代表的是CRBM的權(quán)值;函數(shù)γj的表達(dá)式為:
(2)
式中,?L、?H均描述的是漸近線中存在的點(diǎn);參數(shù)sj對(duì)sigmoid曲線的斜率具有調(diào)整作用,屬于噪聲控制變量,當(dāng)參數(shù)sj的值變大時(shí),可以將無噪聲的確定性狀態(tài)平滑過渡到二進(jìn)制隨機(jī)狀態(tài)。
高斯隨機(jī)變量Nj(0,1)與常數(shù)?構(gòu)成噪聲輸入分量nj=?Nj(0,1),通過下式計(jì)算分量nj的概率分布:
(3)
為了降低半結(jié)構(gòu)化文本信息降維的計(jì)算量,將最小化對(duì)比散度訓(xùn)練準(zhǔn)則引入CRBM中,更新參數(shù)sj和權(quán)值wij:
(4)
基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法通過計(jì)算文本信息的單詞間相似度和文本間相似度完成信息的聚類處理。
2.2.1 單詞間相似度
考慮半結(jié)構(gòu)化文本信息之間存在的關(guān)系類型,結(jié)合信息量和節(jié)點(diǎn)連接距離,通過下式計(jì)算父概念節(jié)點(diǎn)p和子概念節(jié)點(diǎn)c之間的連接權(quán)值wt(c,p)
×Y(c,p)[IC(c)-IC(p)]
(5)
IC(c)=log-1P(c)
(6)
式中,P(c)代表的是在語(yǔ)料庫(kù)中出現(xiàn)概念c的概率。
用D(w1,w2)表示兩個(gè)單詞之間存在的語(yǔ)義距離,其計(jì)算公式如下
(7)
式中,c1=sen(w1)、c2=sen(w2),path(c1,c2)描述的是節(jié)點(diǎn)在c1、c2最短路徑中構(gòu)成的集合;parent(c)代表的是概念c對(duì)應(yīng)的父概念;LSuper(c1,c2)代表的是上位概念。
各條邊在最短路徑中的權(quán)值和即為語(yǔ)義距離D(c1,c2)
(8)
結(jié)合上述公式計(jì)算概念之間存在的距離D(c1,c2)
D(c1,c2)=IC(c1)+IC(c2)-2ICLSuper(c1,c2)
(9)
兩個(gè)含義間語(yǔ)義距離的最小值即為單詞間的語(yǔ)義距離D(w1,w2)
(10)
2.2.2 文本間的相似度
考慮每個(gè)概念在聯(lián)合概念中的元素,用D(d1,d2)表示兩個(gè)半結(jié)構(gòu)化文本信息之間存在的語(yǔ)義距離[8,9],其計(jì)算公式如下
D(d1,d2)=D(C1∧…∧Ck,U1∧…∧Um)
(11)
式中,Ci、Ui描述的是半結(jié)構(gòu)化文本d1、d2的概念列表中存在的單詞;gi代表的是半結(jié)構(gòu)化文本d1中概念Ci出現(xiàn)的總數(shù);k、m代表的是半結(jié)構(gòu)化文本概念列表中存在的元組數(shù);n描述的是概念語(yǔ)義在半結(jié)構(gòu)化文本中存在的數(shù)量,可通過下式計(jì)算得到
(12)
半結(jié)構(gòu)化文本的語(yǔ)義相似度Sim(d1,d2)的計(jì)算公式如下
(13)
根據(jù)單詞相似度和文本相似度完成半結(jié)構(gòu)化文本信息的聚類處理。
通過上述過程完成半結(jié)構(gòu)化文本信息的預(yù)處理,在不同類別的文本信息中基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法通過隱馬爾可夫模型[10,11]完成信息抽取,具體步驟如下
采用隱馬爾可夫模型實(shí)現(xiàn)半結(jié)構(gòu)化文本信息抽取,首先學(xué)習(xí)訓(xùn)練文本,構(gòu)建隱馬爾可夫模型,通過EM算法[12,13]計(jì)算初始時(shí)刻各狀態(tài)的概率?i
(14)
設(shè)aij代表的是狀態(tài)為si的模型變?yōu)闋顟B(tài)sj的概率,其計(jì)算公式如下
(15)
式中,Vij描述的是狀態(tài)si變?yōu)闋顟B(tài)sj的次數(shù),根據(jù)上式計(jì)算結(jié)果構(gòu)建狀態(tài)轉(zhuǎn)移概率矩陣A。
設(shè)bj(k)代表的是在狀態(tài)sj下模型釋放觀察值bk的概率,其計(jì)算公式如下
(16)
式中,Rj(k)代表的是狀態(tài)sj釋放觀察值bk的數(shù)量。根據(jù)上式計(jì)算結(jié)果構(gòu)建觀察值概率分布矩陣B。
通過數(shù)據(jù)平滑解決數(shù)據(jù)稀疏問題
(17)
式中,E代表的是詞匯表的大小。
采用隱馬爾可夫模型[14,15]抽取半結(jié)構(gòu)化文本信息的過程如下:
2)在半結(jié)構(gòu)化文本序列P={p1,p2,…,pK}和給定模型λ=(A,B,?)的條件下,通過半結(jié)構(gòu)化文本中釋放概率最大的最優(yōu)狀態(tài)序列,完成文本信息抽?。?/p>
①設(shè)εt(i)代表的是模型在路徑中達(dá)到si狀態(tài)并釋放半結(jié)構(gòu)化文本序列P={p1,p2,…,pK}對(duì)應(yīng)的最大概率,對(duì)εt(i)實(shí)行初始化處理:εt(i)=?ibi(pt);
②歸納模型達(dá)到si狀態(tài)時(shí)經(jīng)過的最大概率的路徑ζt(j)
(18)
根據(jù)上述分析可知,將機(jī)器學(xué)習(xí)中的隱馬爾可夫模型應(yīng)用在不同的文本信息類別中,實(shí)現(xiàn)半結(jié)構(gòu)化文本信息的抽取。
為了驗(yàn)證基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法的整體有效性,需要對(duì)其做如下測(cè)試。
在加州大學(xué)歐文分校UCI的機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)中選取500篇論文,采用基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法實(shí)行半結(jié)構(gòu)化文本信息抽取測(cè)試。
按照文本結(jié)構(gòu)將500篇論文劃分為3個(gè)數(shù)據(jù)集,分別為數(shù)據(jù)集1、數(shù)據(jù)集2和數(shù)據(jù)集3,采用所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法在上述數(shù)據(jù)集中抽取設(shè)定的信息數(shù)量,測(cè)試不同方法的信息抽取精度,測(cè)試結(jié)果如表1所示。
表1 信息抽取精度
由表1中的數(shù)據(jù)可知,設(shè)定在數(shù)據(jù)集1中抽取80條信息,在數(shù)據(jù)集2中抽取90條信息,在數(shù)據(jù)集3中抽取70條信息。分析測(cè)試結(jié)果可知,采用所提算法在3個(gè)數(shù)據(jù)集中抽取的信息數(shù)與設(shè)定的抽取數(shù)量基本相符,文獻(xiàn)[3]算法的抽取數(shù)量總是低于設(shè)定的抽取數(shù)量,文獻(xiàn)[4]算法與文獻(xiàn)[3]算法相反,該算法抽取的數(shù)量總是高于設(shè)定的抽取數(shù)量。通過上述測(cè)試可知,所提算法可精準(zhǔn)地抽取所需的信息數(shù)量。
將召回率Recall和準(zhǔn)確率Precision作為測(cè)試指標(biāo),測(cè)試上述方法的抽取性能:
(19)
式中,X代表的是正確抽取半結(jié)構(gòu)化文本信息的次數(shù);Z代表的是半結(jié)構(gòu)化文本信息沒有被抽取到的次數(shù);Y代表的是錯(cuò)誤抽取半結(jié)構(gòu)化文本信息的次數(shù)。
所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的召回率、準(zhǔn)確率測(cè)試結(jié)果如圖1所示。
圖1 不同算法的召回率與準(zhǔn)確率對(duì)比結(jié)果
由圖1中的數(shù)據(jù)可知,所提算法的召回率均高于80%,準(zhǔn)確率均高于90%,而文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的召回率測(cè)試結(jié)果還是準(zhǔn)確率測(cè)試結(jié)果均低于所提算法,驗(yàn)證了所提算法具有良好的抽取性能,因?yàn)樗崴惴ㄔ诔槿“虢Y(jié)構(gòu)化文本信息之前對(duì)信息實(shí)行了降維處理,將高維原始數(shù)據(jù)轉(zhuǎn)變?yōu)榈途S數(shù)據(jù),降低了信息抽取的復(fù)雜度,進(jìn)而提高了所提算法的信息抽取性能。
采用所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法抽取半結(jié)構(gòu)化文本信息,對(duì)比不同方法的抽取時(shí)間,測(cè)試結(jié)果如表2所示。
表2 不同方法的抽取時(shí)間
分析表2中的數(shù)據(jù)可知,所提算法、文獻(xiàn)[3]算法和文獻(xiàn)[4]算法的信息抽取時(shí)間隨著信息數(shù)量的增加不斷增加,在相同信息數(shù)量下,所提算法的抽取時(shí)間明顯低于其 它兩種算法的抽取時(shí)間,且所提算法的抽取時(shí)間增加幅度較低,驗(yàn)證了所提算法具有較高的信息抽取效率。
在信息爆炸背景下,人們開始研究信息抽取技術(shù),以便在海量的信息中抽取用戶所需的信息。目前信息抽取算法存在抽取精度低、召回率低、準(zhǔn)確率低和抽取效率低的問題,提出基于機(jī)器學(xué)習(xí)的半結(jié)構(gòu)化文本信息抽取算法,該算法通過信息降維處理,降低了算法的復(fù)雜性,進(jìn)而提高了算法的整體性能,減少了抽取信息所用的時(shí)間。