王 歡,王興芬,呂金娜
(1.北京信息科技大學(xué) 信息管理學(xué)院,北京 100192;2.北京信息科技大學(xué) 商務(wù)大數(shù)據(jù)分析研究中心,北京 100192)
隨著深度學(xué)習(xí)技術(shù)的崛起,研究者們開始將其應(yīng)用到實體關(guān)系抽取任務(wù)中[1]?;谏疃葘W(xué)習(xí)的實體關(guān)系抽取主要思想是利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)句子的高層語義特征表示,以進行關(guān)系分類[2]。因此,語義特征提取準(zhǔn)確與否對最終關(guān)系分類有著重大影響。當(dāng)前研究主要以字符或詞為單位提取句子語義特征?;谧址奶崛3-6]將每個輸入的句子看作一個字符序列,不能充分利用詞和詞序列信息,容易丟失文本語義信息。例如“金融”這個詞,如果以字粒度進行拆分為“金”、“融”,意義就變成“金子融化”,語義完全改變?;谠~或字詞混合的提取[7-10]首先要進行分詞,然后利用預(yù)訓(xùn)練模型將每個詞表示為詞向量,再輸入到神經(jīng)網(wǎng)絡(luò)模型中,容易因為分詞歧義導(dǎo)致語義提取不準(zhǔn)確。
對于金融領(lǐng)域來說,在市場交易和投資過程中會產(chǎn)生大量信用實體,這些實體間存在著大量且復(fù)雜的關(guān)聯(lián)關(guān)系,當(dāng)某些信用實體出現(xiàn)失信行為,與其密切關(guān)聯(lián)的實體可能會產(chǎn)生信用風(fēng)險。如何從結(jié)構(gòu)各異、信息冗雜的金融文本中抽取實體關(guān)系,就變得十分有意義。目前金融文本實體關(guān)系抽取主要面臨以下挑戰(zhàn):①金融領(lǐng)域文本中存在大量專業(yè)詞匯,以致語義特征難以準(zhǔn)確提取。②文本中存在大量易產(chǎn)生歧義的分割,現(xiàn)有分詞方法無法準(zhǔn)確分詞。③關(guān)系類型分布不均衡,樣本數(shù)量少的關(guān)系類型分類效果不佳。針對以上挑戰(zhàn),本文提出一種基于時序格子網(wǎng)絡(luò)的金融文本實體關(guān)系抽取方法FB-Lattice。
根據(jù)輸入神經(jīng)網(wǎng)絡(luò)特征的不同,基于神經(jīng)網(wǎng)絡(luò)的實體關(guān)系抽取方法[3-12]可以分為基于字的關(guān)系抽取[3-6],基于詞的關(guān)系抽取[7,8]和基于字詞混合的關(guān)系抽取[9,10]。
基于字的關(guān)系抽取將輸入文本看作一個字符序列,忽略了單詞和單詞序列信息。Wu等[3]提出使用BERT(bidirectional encoder representations from transformers)獲取輸入文本向量表示,并通過在實體前后添加標(biāo)識符取代位置向量,從而進行關(guān)系抽取。Zhao等[4]提出一種結(jié)合BERT提取的句子特征和圖神經(jīng)網(wǎng)絡(luò)提取的知識圖譜中實體對的子圖拓撲特征進行關(guān)系分類的方法。Zhang等[5]和Tran等[6]將注意力機制引入雙向長短期記憶和卷積神經(jīng)網(wǎng)絡(luò)的混合模型中,從而對句子級別的特征進行進一步的學(xué)習(xí)。
基于詞的關(guān)系抽取和基于字詞混合的關(guān)系抽取首先需要分詞,容易由于分詞歧義導(dǎo)致語義提取不準(zhǔn)確。Zhang等[7]提出了基于詞級別注意力的門控循環(huán)單元算法來捕獲句子中的重要語義信息。Lee等[8]提出使用詞向量和位置向量作為輸入特征,利用長短期記憶網(wǎng)絡(luò)結(jié)合自注意力機制增加有用特征的關(guān)注度。Li等[9]提出一種基于字粒度和詞粒度信息的中文關(guān)系抽取框架,同時借助外部語言知識HowNet獲取多義詞詞向量緩解多義詞歧義問題。但其受限于外部語言知識,難以準(zhǔn)確提取金融文本中專業(yè)詞匯的語義特征。葛俊偉等[10]提出基于字詞混合和混合擴張卷積的聯(lián)合抽取方法,并通過實驗驗證字詞混合嵌入比詞嵌入和字嵌入更能改善抽取模型效果。
近年來,針對金融文本的實體關(guān)系抽取也逐漸受到關(guān)注。吳粵敏等[11]采用基于字和句級別注意力的雙向門控循環(huán)單元算法進行農(nóng)業(yè)金融文本關(guān)系自動抽取,通過雙重注意力機制更有效地利用了句子中重要的信息。唐曉波等[12]在預(yù)訓(xùn)練模型BERT的基礎(chǔ)上結(jié)合雙向門控循環(huán)單元和條件隨機場構(gòu)建端到端的序列標(biāo)注模型,改善了對金融文本中復(fù)雜重疊關(guān)系的識別。戴志宏等[13]提出基于映射矩陣和詞向量相似度相結(jié)合的上下文關(guān)系抽取方法,從而識別金融文本中實體間的上下位關(guān)系,有助于研究公司相似度和股票聯(lián)動相關(guān)性。一方面,以上方法都是以字符為單位提取文本語義特征,不能充分利用詞和詞序列信息。另一方面,這些方法使用word2vec、BERT等通用領(lǐng)域預(yù)訓(xùn)練模型提取文本語義特征,對于金融文本中的專業(yè)詞匯難以準(zhǔn)確提取。因此,當(dāng)前金融文本實體關(guān)系抽取方法都沒有很好地解決金融文本語義特征難以準(zhǔn)確提取的問題。
基于以上分析,本文提出一種金融本文實體關(guān)系抽取方法FB-Lattice,采用FinBERT獲取具有金融領(lǐng)域先驗知識的特征表示,使用時序格子網(wǎng)絡(luò)將詞級特征和位置特征動態(tài)融合到字符特征中,進而使模型獲取更豐富、準(zhǔn)確的文本語義特征,得到更準(zhǔn)確的關(guān)系分類。
本文針對金融文本實體關(guān)系抽取所面臨的難點,提出一種融合FinBERT和時序格子網(wǎng)絡(luò)的金融文本實體關(guān)系抽取方法FB-Lattice。該方法的整體架構(gòu)如圖1所示,分為以下幾層。
(3)注意力機制:使用字級別注意力合并上一層獲得的隱藏層狀態(tài)向量,得到最終的句子向量表示h*。
金融文本包含大量專業(yè)詞匯,當(dāng)前開源的各類中文領(lǐng)域的深度預(yù)訓(xùn)練模型,多是面向通用領(lǐng)域應(yīng)用需求,難以準(zhǔn)確提取金融文本的語義特征,因此在嵌入層本文選取預(yù)訓(xùn)練模型FinBERT對輸入句子中的字符和詞進行特征表示。
為了促進自然語言處理技術(shù)在金融科技領(lǐng)域的應(yīng)用和發(fā)展,熵簡科技人工智能實驗室開源了基于BERT架構(gòu)的金融領(lǐng)域預(yù)訓(xùn)練語言模型FinBERT[14]。FinBERT是國內(nèi)首個在金融領(lǐng)域大規(guī)模語料上訓(xùn)練的開源中文BERT預(yù)訓(xùn)練模型。其在網(wǎng)絡(luò)結(jié)構(gòu)上采用與Google發(fā)布的原生BERT相同的架構(gòu),使用在金融業(yè)務(wù)專家指導(dǎo)下進行篩選預(yù)處理的大規(guī)模金融領(lǐng)域語料進行預(yù)訓(xùn)練。并且為了更好地讓模型學(xué)習(xí)到金融領(lǐng)域先驗知識,F(xiàn)inBERT首先從金融詞典、金融類學(xué)術(shù)文章中,通過自動挖掘結(jié)合人工核驗的方式,構(gòu)建出金融領(lǐng)域內(nèi)的詞典,約有10萬詞。然后抽取預(yù)訓(xùn)練語料和金融詞典中共現(xiàn)的單詞或詞組進行全詞MasK預(yù)訓(xùn)練,從而使模型學(xué)習(xí)到領(lǐng)域內(nèi)的先驗知識,如金融學(xué)概念、金融概念之間的相關(guān)性等。另外,為了讓模型更好地學(xué)習(xí)到語義層的金融領(lǐng)域知識,更全面地學(xué)習(xí)到金融領(lǐng)域詞句的特征分布,其在預(yù)訓(xùn)練時還同時引入了兩類有監(jiān)督學(xué)習(xí)任務(wù),分別是研報行業(yè)分類和財經(jīng)新聞的金融實體識別任務(wù)。因此,對于金融文本來說,使用FinBERT能夠獲得更好的具有金融領(lǐng)域先驗知識的字、詞向量表示。
(1)
(2)
同時使用輸入文本的字粒度特征和詞粒度特征能夠幫助我們更加全面地提取文本語義特征,然而,提取到的語義特征準(zhǔn)確性會受到分詞歧義的影響。通過將一個句子與一個自動獲得的大型詞典進行匹配,構(gòu)造一個字詞格子網(wǎng)絡(luò)[15]。一個句子的格子網(wǎng)絡(luò)是一個有向無環(huán)圖,每個節(jié)點是一個字或者一個詞,如圖2所示。長短時記憶網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的變種,它有3個門結(jié)構(gòu):一個輸入門it,用來控制哪些輸入信息能夠流入單元狀態(tài);一個遺忘門ft,用來控制哪些歷史信息將被網(wǎng)絡(luò)單元移除;一個輸出門ot,控制當(dāng)前單元狀態(tài)有多少輸出,單元狀態(tài)ct用來記錄當(dāng)前為止的所有歷史信息流,因此它可以自動控制從句首到句尾的信息流。
圖2 字詞格子網(wǎng)絡(luò)
將長短時記憶網(wǎng)絡(luò)與字詞格子網(wǎng)絡(luò)相結(jié)合形成時序格子網(wǎng)絡(luò),如圖3所示,從圖中可以看到,門控細胞單元將來自不同路徑的所有潛在詞的詞級信息動態(tài)集成到每個字符信息中,解決了可能由分詞歧義帶來的語義特征提取不準(zhǔn)確的問題。為了最大限度地減少金融文本中大量易產(chǎn)生歧義的分割的影響,本文選取由清華大學(xué)自然語言處理與社會人文計算實驗室整理推出的一套高質(zhì)量的中文詞庫THUOCL[16](THU open Chinese lexcion)構(gòu)造字詞格子網(wǎng)絡(luò)。由于THUOCL詞庫包含IT、成語、歷史名人、醫(yī)學(xué)、飲食、汽車等多個與金融無關(guān)的領(lǐng)域詞匯,本文只使用其中的財經(jīng)、地名、法律以及常用詞詞庫,共約12萬條詞匯,以減少其它領(lǐng)域詞匯的干擾。
接下來將詳細介紹時序格子網(wǎng)絡(luò)是如何將詞級信息動態(tài)融入到字符信息中的,如式(3)~式(11)所示。
(3)
(4)
其中,σ()表示Sigmoid激活函數(shù),W和U表示可訓(xùn)練權(quán)重矩陣,b為偏置。
(5)
(6)
第e個字符的單元狀態(tài)將通過合并所有以索引e結(jié)尾的詞信息來計算,為了控制每個詞的貢獻,設(shè)置一個額外的門
(7)
則第e個字符的單元狀態(tài)
(8)
(9)
(10)
(11)
H=tanh(h)
(12)
α=Softmax(ωTH)
(13)
h*=hαT
(14)
其中,ω為可訓(xùn)練參數(shù)矩陣,α為h所對應(yīng)的權(quán)重向量。
p(y|x)=Softmax(Wh*+b)
(15)
(16)
其中,W∈Y×dh為變換矩陣,b∈Y為偏置向量,p(y|x)=[p1,…,pC]為一個概率分布,每個元素pi表示樣本屬于第i個類別的概率,C表示類別總數(shù)。
給定T個訓(xùn)練樣本,采用交叉熵損失函數(shù)進行訓(xùn)練,如式(17)所示
(17)
然而,實際情況下信用實體間的關(guān)系類型分布是不均勻的,由此本文對交叉熵損失函數(shù)進行改進以避免少數(shù)類樣本被多數(shù)類覆蓋,從而提高樣本數(shù)量少的關(guān)系類型的分類效果,改進后的交叉熵損失函數(shù)如式(18)所示
(18)
其中,wj表示第j個類別對應(yīng)的類別權(quán)重,具體計算方式如式(19)所示
(19)
其中,n為超參數(shù),dj表示第j個類別的數(shù)據(jù)條數(shù)。對于不平衡數(shù)據(jù)集,通過類別權(quán)重可以強化少數(shù)類對模型參數(shù)的影響,從而提高少數(shù)類的分類效果。本文使用Adam算法優(yōu)化模型,同時在LSTM層使用Dropout防止訓(xùn)練時出現(xiàn)過擬合。
3.1.1 數(shù)據(jù)集
表1 數(shù)據(jù)集關(guān)系類型示例
圖4 數(shù)據(jù)集樣本分布情況
3.1.2 評估標(biāo)準(zhǔn)
本文采用精確率(Precision,P)、召回率(Recall,R)及F1值作為金融文本實體關(guān)系抽取任務(wù)的評價指標(biāo)。具體定義和計算公式參見文獻[17]。
通過對驗證集進行網(wǎng)格搜索來調(diào)整模型的參數(shù),得到的模型超參數(shù)設(shè)置見表2。
表2 模型超參數(shù)設(shè)置
由于目前針對金融文本的實體關(guān)系抽取方法較少,為了驗證FB-Lattice方法的有效性,本文選取3種當(dāng)前取得較好效果的通用實體關(guān)系抽取模型和兩種針對金融文本的關(guān)系抽取模型作為基準(zhǔn)模型進行對比實驗。具體如下:
Bi-LSTM+ATT模型[8]:一種端到端的遞歸神經(jīng)網(wǎng)絡(luò)模型,使用雙向長短時記憶網(wǎng)絡(luò)結(jié)合自注意力機制進行實體關(guān)系抽取。
CNN+ATT模型[10]:一種基于字詞混合的實體關(guān)系聯(lián)合抽取方法,使用擴張卷積網(wǎng)絡(luò)結(jié)合自注意力機制獲取更大距離的上下文信息。
BiLSTM+CNN+ATT[6]:使用雙向長短時記憶網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)混合模型結(jié)合注意力機制進行實體關(guān)系抽取。
Bi-GRU+ATT模型[11]:一種基于字和句級別注意力的雙向門控循環(huán)單元算法,用于農(nóng)業(yè)金融文本關(guān)系自動抽取。
Bi-GRU+CRF模型[12]:結(jié)合雙向門控循環(huán)單元和條件隨機場(conditional random field,CRF)構(gòu)建端到端的序列標(biāo)注模型進行金融領(lǐng)域?qū)嶓w關(guān)系聯(lián)合抽取。
結(jié)果見表3。
表3 對比實驗結(jié)果
實驗結(jié)果表明,在金融文本實體關(guān)系抽取任務(wù)上,本文提出的FB-Lattice模型在精確率、召回率和F1值上比基準(zhǔn)模型均有所提高,F(xiàn)1值分別提高0.0676、0.0807、0.0511、0.583、0.559。一方面,金融文本含有大量專業(yè)詞匯,基準(zhǔn)模型使用通用領(lǐng)域上的預(yù)訓(xùn)練模型獲取輸入文本特征,可能不準(zhǔn)確;另一方面Bi-LSTM+ATT模型和CNN+ATT模型使用了詞向量作為輸入特征,容易由于分詞歧義導(dǎo)致語義特征提取有誤差;BiLSTM+CNN+ATT模型、Bi-GRU+ATT模型以及Bi-GRU+CRF模型只使用字向量作為輸入特征,可能會丟失語義信息。因此,基準(zhǔn)模型難以準(zhǔn)確提取金融文本語義特征,從而影響關(guān)系抽取的效果。
接下來,通過實驗分別驗證FinBERT、時序格子網(wǎng)絡(luò)以及損失函數(shù)對模型效果的提升作用。
3.3.1 FinBERT的作用
為了驗證使用FinBERT提取語義特征對關(guān)系抽取效果的改善,在圖2所示模型嵌入層分別使用word2vec[18]和BERT替換FinBERT提取特征,其它參數(shù)保持一致。其中BERT預(yù)訓(xùn)練模型使用由哈工大訊飛實驗室開源的BERT-wwm[19]。實驗結(jié)果見表4。
表4 FinBERT消融實驗結(jié)果
從表4中可以看出,本文所使用的FinBERT相比BERT-wwm和word2vec,在F1值上分別提高了0.048和0.0511。金融文本數(shù)據(jù)集中包含大量金融領(lǐng)域?qū)I(yè)知識,使用word2vec、BERT等預(yù)訓(xùn)練模型提取的語義特征不準(zhǔn)確。FinBERT能夠幫助我們獲得更具有金融領(lǐng)域先驗知識的特征向量,解決語義特征提取不準(zhǔn)確的問題,從而影響實體關(guān)系抽取的結(jié)果。
3.3.2 時序格子網(wǎng)絡(luò)的作用
為了驗證使用時序格子網(wǎng)絡(luò)動態(tài)融合字詞粒度特征對關(guān)系抽取效果的提升,在數(shù)據(jù)集上使用雙向長短時記憶網(wǎng)絡(luò)替代時序格子網(wǎng)絡(luò),分別進行了基于字、基于詞和基于字詞混合的關(guān)系抽取實驗作為對比實驗,其中基于詞和字詞混合的方法,先使用分詞工具對輸入文本進行分詞,再通過FinBERT提取對應(yīng)詞向量,其它參數(shù)保持一致。實驗結(jié)果見表5。
表5 時序格子網(wǎng)絡(luò)消融實驗結(jié)果
從表5中可以看出,基于字的方法比基于詞和字詞混合的方法在精確率、準(zhǔn)確率和F1值上均有提高。這是因為金融文本中存在大量易產(chǎn)生歧義和多義的分割,使用分詞工具分詞,可能會產(chǎn)生分詞歧義,從而導(dǎo)致對輸入文本的語義特征提取有誤差,進而導(dǎo)致模型效果受到影響。本文采用基于時序格子網(wǎng)絡(luò)的關(guān)系抽取方法,在精確率、召回率上比起基于字的方法有大幅提高,綜合評估值F1提高了0.087,取得了最佳結(jié)果,說明利用時序格子網(wǎng)絡(luò)將字粒度信息和詞粒度信息動態(tài)融合,能有效緩解語義特征提取不準(zhǔn)確的問題,從而提高實體關(guān)系抽取的效果。
3.3.3 損失函數(shù)的作用
分別使用無權(quán)重交叉熵損失函數(shù)(式(17))和本文改進后的帶權(quán)重交叉熵損失函數(shù)(式(18))進行對比實驗,兩組實驗都使用圖2中所示模型,只是在關(guān)系分類層使用不同損失函數(shù)進行訓(xùn)練,其它參數(shù)保持一致。實驗結(jié)果見表6。從表中可以看出,使用有權(quán)重的損失函數(shù)訓(xùn)練模型,在精確率和召回率上分別提高0.0304和0.0495,F(xiàn)1值提高了0.0442。
表6 損失函數(shù)對比實驗結(jié)果
圖5展示了損失函數(shù)有無權(quán)重對比實驗在每個關(guān)系類型上的F1值對比。由圖可以看出,第4和第10類的F1值有大幅提高,其它關(guān)系類型F1值保持不變或有小幅提高。從圖4中,我們可以發(fā)現(xiàn)第4和第10類樣本數(shù)量最少。這說明,本文改進后的帶權(quán)重交叉熵損失函數(shù),不僅能夠保持樣本數(shù)量多的關(guān)系類型的分類性能,同時還提高了樣本數(shù)量少的關(guān)系類型的分類性能。
圖5 損失函數(shù)有無權(quán)重F1值對比
綜上所述,在金融文本實體關(guān)系抽取任務(wù)上,F(xiàn)B-Lattice模型具有一定優(yōu)勢。使用FinBERT結(jié)合時序格子網(wǎng)絡(luò)提取輸入文本特征,能夠改善語義特征提取不準(zhǔn)確的問題,從而提升關(guān)系抽取效果。
本文提出了一種融合FinBERT和時序格子網(wǎng)絡(luò)的金融文本實體關(guān)系抽取方法(FB-Lattice)。首先采用FinBERT預(yù)訓(xùn)練模型提取輸入文本的字詞特征,獲取包含金融領(lǐng)域先驗知識的特征向量。然后采用時序格子網(wǎng)絡(luò)對特征向量進行編碼,將詞粒度信息和位置信息動態(tài)集成到字粒度信息中,獲取充足的上下文語義信息,解決了金融文本語義特征提取不準(zhǔn)確的問題。最后采用改進后的帶權(quán)重交叉熵損失函數(shù)進行訓(xùn)練,改善了樣本數(shù)量少的關(guān)系類型的分類效果。實驗結(jié)果初步驗證了本文所提出的方法對于金融文本實體關(guān)系抽取的有效性。