郭煒杰,包曉安
(浙江理工大學(xué),浙江 杭州 310018)
隨著互聯(lián)網(wǎng)技術(shù)[1]的飛速發(fā)展,計算機中以電子文檔形式存儲與處理的事件信息數(shù)量與日俱增。作為信息的主要載體與交流平臺,互聯(lián)網(wǎng)已成為不同信息的匯集處。盡管互聯(lián)網(wǎng)使信息獲取更及時、全面、便捷,但與此同時也帶來了一定的負(fù)面影響。如信息搜索時間長、搜索結(jié)果模糊等。因此,為用戶提供更準(zhǔn)確信息的信息抽取技術(shù)[2]應(yīng)時而生。大數(shù)據(jù)時代的到來導(dǎo)致存儲于網(wǎng)絡(luò)上的大部分信息數(shù)據(jù)形式均為非結(jié)構(gòu)化[3]形式,這對現(xiàn)有信息抽取技術(shù)提出了巨大的挑戰(zhàn)。為此,該領(lǐng)域相關(guān)研究者進行了大量的研究,并取得了一定成果。
文獻[4]提出基于深度學(xué)習(xí)的信息實體抽取方法。該方法以簡歷信息為目標(biāo),利用數(shù)據(jù)清洗、分詞等預(yù)處理手段,將非結(jié)構(gòu)化信息變成詞序列,再將word2vec無監(jiān)督訓(xùn)練得到的詞向量表映射成低維實數(shù)向量,采用LSTM層融合語境信息,CRF層獲取全部標(biāo)簽序列分值,根據(jù)標(biāo)簽約束計算最優(yōu)序列,完成信息的抽取。該方法在可有效將非結(jié)構(gòu)化信息進行轉(zhuǎn)化,且抽取的信息精度較高,但該方法在信息轉(zhuǎn)化和最有序列獲取中耗時較長,存在一定局限性。文獻[5]提出 基于大數(shù)據(jù)技術(shù)的文檔關(guān)鍵詞提取方法。該方基于Hadoop平臺的HDFS與HBase,分布式存儲多種地學(xué)文檔資料,自動讀取、處理非結(jié)構(gòu)化數(shù)據(jù),通過融合多種算法,得出一種組合關(guān)鍵詞提取,實現(xiàn)了相關(guān)信息數(shù)據(jù)的提取,但該方法研究的信息數(shù)據(jù)較少,存在信息數(shù)據(jù)抽取精度較低的問題。
針對上述方法中存在的不足,提出設(shè)計一種新的非結(jié)構(gòu)化文本關(guān)鍵信息抽取模型。通過改進隱馬爾可夫模型,挖掘觀察值出現(xiàn)對前后狀態(tài)標(biāo)注的相關(guān)性關(guān)聯(lián),提升信息分類準(zhǔn)度;應(yīng)用勢分布概率假設(shè)密度平滑算法,有效解決不完整訓(xùn)練樣本引發(fā)的零概率事件與稀疏矩陣問題;改進Viberbi算法,增加狀態(tài)序列的最優(yōu)程度;結(jié)合觀察值序列的正序、逆序解碼,使信息抽取結(jié)果更加精準(zhǔn)。與傳統(tǒng)方法相比所提方法抽取的非結(jié)構(gòu)化文本關(guān)鍵信息精度更高,效果更好。
在非結(jié)構(gòu)化文本關(guān)鍵信息抽取模型設(shè)計中,采用隱馬爾可夫模型實現(xiàn)文本關(guān)鍵信息的抽取。
在隱馬爾可夫模型中,待識別觀察序列為可視層,馬爾可夫過程為隱含層,該模型也是一個有限狀態(tài)機[6],各狀態(tài)轉(zhuǎn)移均存在轉(zhuǎn)移概率。利用五元組界定一個隱馬爾可夫模型,即
λ={S,V,A,B,Π}
(1)
五元組中各參數(shù)表達式分別為
S={S1,S2,…,SN}
(2)
V={V1,V2,…,VM}
(3)
A={aij=P(qt+1=Sj|qt=Si)},i≥1,j≤N
(4)
B={bj(Vk)=P(Vt=Vk|qt=Sj)},
1≤j≤N,1≤k≤M
(5)
Π={πi=p(q1=Si)},1≤i≤N
(6)
上述各式中,與隱馬爾可夫模型隱含層相對應(yīng)的狀態(tài)集為S,狀態(tài)數(shù)量為N種;與模型可視層相對應(yīng)的觀察值輸出集為V,輸出數(shù)量有M個;N*N狀態(tài)轉(zhuǎn)移概率矩陣為A,由Si到Sj的狀態(tài)轉(zhuǎn)移概率為aij;N*M釋放概率矩陣為B,狀態(tài)Sj下模型釋放單詞Vk的概率為bj(Vk);模型初始狀態(tài)概率集合用Π表示,當(dāng)狀態(tài)為第i個時,初始狀態(tài)概率用πi表示。
通過改進隱馬爾可夫模型,挖掘觀察值出現(xiàn)對前后狀態(tài)標(biāo)注的相關(guān)性關(guān)聯(lián)。改進t時刻的觀察值Oi出現(xiàn)與當(dāng)前狀態(tài)Si、t+1時刻狀態(tài)Si+1之間的依賴關(guān)系。改進隱馬爾可夫模型的發(fā)生概率為
BB={bij(k)=P(Ot=Vk|qt=Si,qt+1=Sj)}
(7)
根據(jù)上式將改進的隱馬爾可夫模型界定為一個六元組,即
λ={S,V,A,B,BB,Π}
(8)
因訓(xùn)練文本的各樣本與狀態(tài)轉(zhuǎn)移、符號輸出路徑一一對應(yīng)。所以,模型參數(shù)估計通過最大似然法[7]實現(xiàn),令模型中A,B,Π是為固定值,則采用下列表達式求解發(fā)生概率BB,即
(9)
式中,訓(xùn)練樣本狀態(tài)為Emission(i,j,k)。
在參數(shù)估計過程中,不完整的訓(xùn)練樣本會引發(fā)零概率事件與稀疏矩陣。此時,可利用CPHD平滑算法[8]對其展開平滑處理,即
(10)
(11)
式中,當(dāng)樣本在訓(xùn)練樣本里的發(fā)生次數(shù)為1時用N1表示,發(fā)生次數(shù)為2時用N2表示;對應(yīng)樣本占比為sum(N1)、sum(N2);N1樣本的發(fā)生次數(shù)總和為Num(N1)。在平滑處理階段,超過兩次發(fā)生次數(shù)的事件需與折扣系數(shù)D1做差,而零概率事件則要與折扣系數(shù)D2做和,確?!芇取值為1。
假設(shè)模型處理對象為中文引文,為抽取出引文含的文本關(guān)鍵信息段,諸如:標(biāo)題、作者、期刊名稱等,構(gòu)建基于改進隱馬爾可夫模型的抽取模型。
2.3.1 Viterbi優(yōu)化解碼算法
在模型參數(shù)估計完成后,采用Viterbi解碼算法選取出最優(yōu)狀態(tài)序列,該序列在給定觀察值序列的相應(yīng)狀態(tài)序列內(nèi)具有最大概率。在改進隱馬爾可夫模型時,將其從五元組轉(zhuǎn)變?yōu)榱M,因此,對Viterbi算法[9-10]也需做出對應(yīng)的優(yōu)化改進。
若q1,q2,…,qt(qt-1=Si,qt=Sj)表示路徑,O1,O2,…,Ot為該路徑上t時刻的釋放觀察值序列,其最大概率為δt(i,j),即:
i≥1,j≤N,2≤t≤T
(12)
推導(dǎo)得出t+1時刻釋放觀察值序列最大概率表達式為
j≥1,k≤N,2≤t≤T-1
(13)
假定記錄節(jié)點數(shù)組為ψt+1(j,k),利用以下Viberbi優(yōu)化算法流程,獲取最優(yōu)狀態(tài)序列。
步驟1 :采用下列各式實現(xiàn)釋放觀察值序列的初始化處理,即
δ2(i,j)=πiaijbi(O1)bij(O2)
(14)
ψ2(i,j)=0
(15)
其中,i≥1,j≤N。
步驟2 :當(dāng)滿足j≥1,k≤N,2≤t≤T-1時,可得出以下表達式
(16)
(17)
步驟3:終結(jié)操作主要通過下列兩個表達式完成
(18)
(19)
步驟4 :利用下列表達式獲得最優(yōu)狀態(tài)序列
(20)
2.3.2 逆序Viterbi解碼算法
采用Viberbi優(yōu)化算法解碼觀察值序列O=(O1,O2,…,OT)時滿足下列等式
P(qi+1|q1,q2,…,qi)=P(qi+1|qi)
(21)
該式表明O1的標(biāo)識狀態(tài)對O2狀態(tài)有決定性作用。
針對觀察值序列O′=(OT,OT-1,…,O1),t時刻的狀態(tài)qt決定t+1時刻狀態(tài)qt+1。此時,O2的標(biāo)識狀態(tài)對O1狀態(tài)有決定性作用。綜上所述,解碼觀察值序列O′=(OT,OT-1,…,O1)的關(guān)鍵點為:基于觀察值序列O=(O1,O2,…,OT),t+1時刻的狀態(tài)qt+1決定t時刻狀態(tài)qt,此時需滿足下列等式
P(qi|q1,q2,…,qi,qi+1)=P(qi|qi+1)
(22)
2.3.3 歧義消除
經(jīng)過解碼觀察值序列,對比得到的正序解碼序列與逆序解碼序列,濾除無解碼歧義的狀態(tài),篩選出存在的解碼歧義與前N(N≤3)個狀態(tài),對歧義進行消除。
已知狀態(tài)序列S=(S1,S2,…,Si,…,SN)的發(fā)生概率表達式為
P(S)=[P(S1),P(S2|S1),…,P(SN|S1S2…SN-1)]
(23)
結(jié)合觀察值序列的正序、逆序解碼,得出以下兩個狀態(tài)序列為
S=(S1,S2,…,Si,…,SN)
(24)
S′=(S′1,S′2,…,S′k,…,S′N)
(25)
式中,狀態(tài)Si的觀察值等同于狀態(tài)S′k的觀察值,且滿足i+k-1=N。若兩狀態(tài)的觀察值存在差異性,則提取出狀態(tài)序列TS與TS′,前者包含狀態(tài)Si在內(nèi)的前n(n=min(i,k))個狀態(tài),后者包含狀態(tài)S′k在內(nèi)的后n個狀態(tài)。采用常用于詞性標(biāo)注的統(tǒng)計語言模型——N-Gram模型[11-12],對序列概率P(TS′)、P(TS)進行求解,最佳解碼序列即為最大概率的狀態(tài)序列,也就是所要抽取的文本關(guān)鍵信息。
為驗證所提方法的有效性,進行仿真分析。實驗在Matlab 平臺上進行,操作系統(tǒng)為Windows XP 系統(tǒng),運行內(nèi)存為8 GB ,CPU 為3.6 GHz。
實驗中在搜索引擎中檢索附有答案的NLPCC 2017問答評測問題集,經(jīng)過預(yù)處理后,從中抽選15000條數(shù)據(jù)作為實驗用數(shù)據(jù)集,驗證抽取模型的有效性。其中,由百度搜索引擎檢索得到的文本片段分別為候選信息集與候選信息句集,如果候選信息答案正確,則標(biāo)注1;反之,則標(biāo)注0。由訓(xùn)練集與測試集組成所用數(shù)據(jù)集,各類語料具體分布情況如表1所示:
表1 數(shù)據(jù)集語料分布信息統(tǒng)計表(單位:條)
利用IG方法對文本各信息特征的重要性展開檢驗,特征重要性與信息增益得分之間成正相關(guān),文本各信息特征的重要性如表2 所示:
表2 文本信息特征重要性統(tǒng)計表
基于相同數(shù)據(jù)集,利用準(zhǔn)確率precision、召回率recall、綜合指標(biāo)F,對比抽取出的關(guān)鍵詞集合,檢驗?zāi)P偷某槿⌒阅埽髦笜?biāo)計算公式為
(26)
(27)
(28)
為驗證所提方法的有效性,從數(shù)據(jù)集中選取人物、地點以及時間等關(guān)鍵詞,對比了所提方法、深度學(xué)習(xí)的信息實體抽取方法以及大數(shù)據(jù)技術(shù)的關(guān)鍵詞提取方法的關(guān)鍵詞抽取效果如圖1 所示。
圖1 不同方法抽取效果對比
分析圖1 可以看出,在相同實驗環(huán)境下,采用三種方法進行文本關(guān)鍵信息的效果存在一定差異。其中,采用所提方法抽取文本關(guān)鍵信息的準(zhǔn)確率、召回率以及綜合指標(biāo)值均在0.9 以上,而其它兩種方法抽取文本關(guān)鍵信息的準(zhǔn)確率、召回率以及綜合指標(biāo)值始終低于本文方法。這是由于本文模型改進了隱馬爾可夫模型與Viberbi算法,解決了零概率事件與稀疏矩陣問題,取得了最優(yōu)狀態(tài)序列,通過對比得到的正序解碼序列與逆序解碼序列,濾除了無解碼歧義的狀態(tài),消除了歧義,進而提升了關(guān)鍵信息抽取準(zhǔn)度,驗證了所提方法的科學(xué)有效性。
為進一步驗證所提方法的可行性,實驗對比了三種方法在抽取文本關(guān)鍵信息的耗時,實驗結(jié)果如表3 所示:
表3 不同方法文本關(guān)鍵信息抽取耗時(s)
分析表3 中數(shù)據(jù)可以看出,隨著迭代次數(shù)的改變,三種方法抽取文本關(guān)鍵信息的耗時隨之發(fā)生改變。其中,所提方法的抽取耗時始終低于1.3 s,深度學(xué)習(xí)信息實體抽取方法的耗時最短約為3.2 s,大數(shù)據(jù)技術(shù)關(guān)鍵詞提取的最短耗時約為3.6 s,始終高于所提方法,驗證了所提方法的可行性。
文本信息抽取技術(shù)是自然語言處理領(lǐng)域的重要組成部分,隨著信息技術(shù)的發(fā)展與應(yīng)用,文本信息抽取技術(shù)成為研究熱點,并引起了廣泛關(guān)注,為解決其存在的弊端與問題,本文以知識數(shù)據(jù)庫為背景,構(gòu)建出一種非結(jié)構(gòu)化文本關(guān)鍵信息抽取模型。通過改進隱馬爾可夫模型與Viberbi算法,解決零概率事件與稀疏矩陣問題,獲取正序解碼序列與逆序解碼序列,濾除無解碼歧義的文本狀態(tài),實現(xiàn)了文本關(guān)鍵信息的抽取。實驗結(jié)果表明:采用所提方法抽取文本關(guān)鍵信息的準(zhǔn)確度始終高于0.9,且抽取的耗時較短。