王慶棒,汪顥懿,左 敏,*,張青川,溫 馨,袁玉梅
(1.北京工商大學(xué) 農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國(guó)家工程實(shí)驗(yàn)室,北京 100048;2.北京工商大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,北京 100048)
食品輿情領(lǐng)域知識(shí)圖譜以食品行業(yè)為基礎(chǔ),挖掘食品輿情信息的相互聯(lián)系,在食品安全、食品輿情分析等方面都有著重要作用。食品輿情的實(shí)體關(guān)系抽取是構(gòu)建食品輿情知識(shí)圖譜的重要基礎(chǔ)工作之一,旨在抽取句子中已標(biāo)記實(shí)體對(duì)之間的語(yǔ)義關(guān)系。
食品輿情信息的挖掘依賴(lài)于數(shù)據(jù)的多維度特征[1],多層次的網(wǎng)絡(luò)模型實(shí)現(xiàn)了基于大規(guī)模語(yǔ)料的自動(dòng)挖掘特征信息,目前的研究主要分為基于特征向量的方法[2]、基于核函數(shù)的方法[3]和基于神經(jīng)網(wǎng)絡(luò)模型的深度學(xué)習(xí)方法。黃衛(wèi)春等[4]為了解決特征空間維度過(guò)高的問(wèn)題,提出了4種文本文類(lèi)的特征選擇算法;姚全珠等[5]采用了子樹(shù)特征的實(shí)體關(guān)系抽取方法;Zeng等[6]采取建模的方式,在卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)中引入了位置向量,但對(duì)位置信息的挖掘程度有些不足;Nguyen等[7]在CNN上使用不同尺度的卷積核對(duì)文本的語(yǔ)義關(guān)系進(jìn)行了表征,但該模型仍然是基于淺層語(yǔ)義關(guān)系。本研究擬在注意力機(jī)制上,采用基于詞語(yǔ)位置的語(yǔ)義角色標(biāo)注(semantic role labeling,SRL)方法,使模型更好地對(duì)詞匯特征和位置信息進(jìn)行學(xué)習(xí),并提高模型的精確度。
Santors等[8]在CNN中對(duì)目標(biāo)函數(shù)做出了改進(jìn),雖然該方法提高了實(shí)體關(guān)系的識(shí)別力度,但是CNN卻仍然不能很好地學(xué)習(xí)語(yǔ)句中上下文的語(yǔ)義信息;Zhang和Wang[9]利用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)語(yǔ)句中的上下文語(yǔ)義,然而循環(huán)神經(jīng)網(wǎng)絡(luò)本身具有梯度消失和梯度爆炸等問(wèn)題。雙向長(zhǎng)短時(shí)記憶(bidirectional long short-term memory,BLSTM)網(wǎng)絡(luò)解決了梯度爆炸的問(wèn)題,同時(shí)能學(xué)習(xí)句子中的上下文語(yǔ)義信息,因此本研究模型中引入了BLSTM網(wǎng)絡(luò)。
翟社平等[10]采用BLSTM網(wǎng)絡(luò)來(lái)提取句子特征,不過(guò)該模型對(duì)于詞匯特征的挖掘還有些不足;Zhou等[11]改進(jìn)了BLSTM網(wǎng)絡(luò),使其模型能夠?qū)W習(xí)詞匯中的某些信息,然而對(duì)詞匯位置語(yǔ)義等重要信息沒(méi)有進(jìn)行很好的處理;吳佳昌等[12]提出了基于依存關(guān)系和雙通道CNN的關(guān)系抽取方法,對(duì)詞性的依存關(guān)系做出了進(jìn)一步研究。本研究在BLSTM網(wǎng)絡(luò)中引入了基于位置的語(yǔ)義角色標(biāo)注方法,依據(jù)食品輿情領(lǐng)域的文本特點(diǎn),引入了領(lǐng)域詞機(jī)制,進(jìn)一步挖掘詞語(yǔ)層面上的語(yǔ)義信息,使模型更好地識(shí)別不同實(shí)體及其關(guān)系。
本研究擬針對(duì)食品輿情領(lǐng)域的實(shí)體關(guān)系抽取方法,在分析現(xiàn)有的實(shí)體關(guān)系抽取方法優(yōu)劣的基礎(chǔ)上,采用CNN-BLSTM雙網(wǎng)絡(luò)模型結(jié)構(gòu),區(qū)分不同的實(shí)體關(guān)系的同時(shí),有效學(xué)習(xí)文本遠(yuǎn)程語(yǔ)義的信息和結(jié)構(gòu)。
模型訓(xùn)練所需數(shù)據(jù)集選用獨(dú)立構(gòu)建的食品輿情領(lǐng)域數(shù)據(jù)集(FO-Data)。通過(guò)搜集、整理2017~2019年食品伙伴網(wǎng)[13]、中國(guó)食品公眾科普網(wǎng)[14]、食安通網(wǎng)[15]公布的文章數(shù)據(jù),歸納為包裝材料、保健食品、焙烤食品、茶葉、寵物食品、調(diào)味品、方便食品、蜂蜜、罐頭、果蔬、進(jìn)出口、酒業(yè)、糧油、認(rèn)證體系、乳業(yè)、商超、食品儲(chǔ)運(yùn)、食品機(jī)械、食品檢測(cè)、食用菌、糖果、添加劑配料、畜禽肉品、飲料、有機(jī)食品、漁業(yè)、水產(chǎn)轉(zhuǎn)基因食品27個(gè)行業(yè),包括除港澳臺(tái)、西藏、新疆、內(nèi)蒙古、寧夏和甘肅以外的全國(guó)26個(gè)省份。
實(shí)驗(yàn)平臺(tái)使用基于PyTorch(https:∥pytorch.org/)的開(kāi)源深度學(xué)習(xí)框架,構(gòu)建深度學(xué)習(xí)模型。訓(xùn)練及使用的系統(tǒng)平臺(tái)為美國(guó)微軟公司的Windows和開(kāi)源的LinuxCentOS7系統(tǒng)。
采集的語(yǔ)料數(shù)據(jù)集按句劃分,剔除無(wú)效句子,分別標(biāo)注句子中的實(shí)體對(duì)及實(shí)體關(guān)系,并作為模型的訓(xùn)練輸入樣本,即每一條輸入語(yǔ)料分為3個(gè)部分,第1部分為輸入句子,第2部分為實(shí)體對(duì),第3部分為實(shí)體關(guān)系。數(shù)據(jù)集整體劃分為3個(gè)子數(shù)據(jù)集:訓(xùn)練集、測(cè)試集和驗(yàn)證集。子數(shù)據(jù)集的規(guī)模見(jiàn)表1。
表1 數(shù)據(jù)集規(guī)模的統(tǒng)計(jì)Tab.1 Statistics of data set size
本研究采用準(zhǔn)確率P、召回率R和F1值作為實(shí)驗(yàn)結(jié)果優(yōu)劣的評(píng)價(jià)指標(biāo),計(jì)算見(jiàn)式(1)~式(3)。
(1)
(2)
(3)
式(1)~式(3)中,TP為把正類(lèi)預(yù)測(cè)為正類(lèi)的數(shù)量;FP為把負(fù)類(lèi)預(yù)測(cè)為正類(lèi)的數(shù)量;FN為把正類(lèi)預(yù)測(cè)為負(fù)類(lèi)的數(shù)量。
在模型的開(kāi)始,使用提前訓(xùn)練好的詞嵌入模型,將食品輿情領(lǐng)域的語(yǔ)料進(jìn)行文本向量化處理。之后將得出的詞嵌入,分別作為CNN層和BLSTM層的輸入,由CNN生成卷積核,BLSTM生成隱層向量。模型將會(huì)分成2個(gè)部分引入網(wǎng)絡(luò)注意力機(jī)制:首先,將提前構(gòu)建好的領(lǐng)域詞詞庫(kù)與當(dāng)前的每個(gè)詞語(yǔ)進(jìn)行逐一匹配,在經(jīng)過(guò)基于位置感知的領(lǐng)域詞語(yǔ)義注意力機(jī)制的計(jì)算后,得出影響向量,同時(shí)模型將影響向量與CNN卷積核輸出的向量進(jìn)行結(jié)合,影響CNN模型輸出結(jié)果;其次,模型會(huì)對(duì)詞語(yǔ)的語(yǔ)義角色進(jìn)行標(biāo)注,判斷各個(gè)詞語(yǔ)是否為核心主語(yǔ)或謂詞,經(jīng)過(guò)基于位置感知的語(yǔ)義角色注意力機(jī)制的計(jì)算,將影響向量傳播到BLSTM的隱層向量中計(jì)算,從而影響B(tài)LSTM的輸出結(jié)果。最后模型將會(huì)在2個(gè)網(wǎng)絡(luò)輸出向量的結(jié)合層累積影響向量,進(jìn)一步得出實(shí)體及其關(guān)系抽取結(jié)果。網(wǎng)絡(luò)模型整體過(guò)程如圖1。
圖1 CNN-BLSTM模型Fig.1 Model of CNN-BLSTM
模型的輸出層包含3層輸出向量。第1層輸出的向量是關(guān)于實(shí)體關(guān)系的輸出向量,第2層是關(guān)于實(shí)體標(biāo)注中主體標(biāo)簽的輸出向量,第3層則是關(guān)于實(shí)體標(biāo)注中客體標(biāo)簽的輸出向量。
在實(shí)體關(guān)系抽取中,本研究在網(wǎng)絡(luò)的輸出層采用了SoftMax函數(shù),對(duì)于每種關(guān)系進(jìn)行歸一化處理,得到每種關(guān)系的概率值P,計(jì)算見(jiàn)式(4)。
P=softmax(CWT+bc) 。
(4)
式(4)中,W為權(quán)重向量,T為權(quán)重向量的轉(zhuǎn)置,C為輸出向量,bc為偏置向量。對(duì)于實(shí)體標(biāo)注部分,輸入句子的每一個(gè)詞都會(huì)被指派一個(gè)實(shí)體標(biāo)簽,標(biāo)簽采用相同的編碼模式:0-1標(biāo)簽(1是主體或者客體)。因此,實(shí)體標(biāo)注問(wèn)題可以轉(zhuǎn)變?yōu)椋簩?duì)于給定的長(zhǎng)度為m的句子S(s1,…st,…sm),假設(shè)標(biāo)注輸出結(jié)果為Y(s)(y1,…yt,…ym),在已知序列S下,找出使得Y=(y1,…yt,…ym)的概率為P(y1,…yt,…ym)的最大的序列[y1,…yt,…ym]。計(jì)算見(jiàn)式(5)。
(5)
式(5)中,S為輸入的句子,y為預(yù)測(cè)的關(guān)系概率,W為權(quán)重向量,ψi(y′,y,s)=exp (WTy′,yzi+bi,y)是一個(gè)隱含函數(shù),W為權(quán)重向量,T為權(quán)重向量的轉(zhuǎn)置,yi為句子中第i個(gè)詞向量,zi為句子中第i個(gè)詞向量的權(quán)重向量,bi為第i個(gè)詞向量的偏置向量。解碼時(shí)最高條件概率計(jì)算見(jiàn)式(6),使用維特比算法可以進(jìn)行有效的解碼運(yùn)算。
=arg maxy∈Y(s)P(y|s;W,b) 。
(6)
網(wǎng)絡(luò)模型對(duì)于實(shí)體標(biāo)注主體的處理過(guò)程如圖2。實(shí)體標(biāo)注中客體的標(biāo)注過(guò)程與主體標(biāo)注類(lèi)似,其輸出的位置是模型輸出的第3層向量。經(jīng)過(guò)最后的連接層可以得到客體的標(biāo)注結(jié)果。
圖2 實(shí)體標(biāo)注主體的處理過(guò)程Fig.2 Process of entity labeling subject
本研究以2層向量的方式,來(lái)對(duì)關(guān)系實(shí)體的主客體做出區(qū)分,第1層表示主體的標(biāo)記結(jié)果,第2層表示客體的標(biāo)記結(jié)果。
SRL是一種淺層的語(yǔ)義分析技術(shù),標(biāo)注句子中某些短語(yǔ)為給定謂詞的論元 (語(yǔ)義角色) ,如施事、受事、時(shí)間和地點(diǎn)等。本研究通過(guò)SRL劃分語(yǔ)義角色,得到不同的句子成分,使位置注意力影響在不同的語(yǔ)義角色中進(jìn)行傳播。
SRL會(huì)將詞語(yǔ)的語(yǔ)義角色、依存關(guān)系等標(biāo)注出來(lái),例如:對(duì)于“饅頭的鋁殘留量不符合國(guó)家標(biāo)準(zhǔn)”這句話(huà)進(jìn)行語(yǔ)義角色標(biāo)注,其標(biāo)注的結(jié)果為“饅頭”“鋁殘留量”“不符合”“國(guó)家標(biāo)準(zhǔn)”,并且對(duì)它們的依存關(guān)系進(jìn)行了標(biāo)注,最終可以確定各詞語(yǔ)的語(yǔ)義角色,從而確定核心主語(yǔ)和謂語(yǔ)的位置,標(biāo)注過(guò)程如圖3。
圖3 語(yǔ)義角色標(biāo)注的處理示例Fig.3 Example of semantic role labeling
在根據(jù)語(yǔ)義角色判斷語(yǔ)句中的核心主語(yǔ)和謂詞之后,需要讓模型學(xué)習(xí)到更多的位置信息,從而提高準(zhǔn)確率。假設(shè)語(yǔ)義角色在特定距離上的影響遵循隱層維度上的高斯分布,基于此假設(shè)定義影響的基礎(chǔ)矩陣K,其每一列表示與特定距離對(duì)應(yīng)的影響基礎(chǔ)矢量。K的數(shù)學(xué)定義見(jiàn)式(7)。
K(i,u)~N[Kernel(u),σ] 。
(7)
式(7)中,K(i,u)代表第i維度中語(yǔ)義角色距離為u時(shí)相應(yīng)的影響。并且N是符合Kernel(u)值的期望值和標(biāo)準(zhǔn)差σ的正態(tài)分布。Kernel(u)是高斯核函數(shù),用它來(lái)模擬基于位置感知的影響傳播,其數(shù)學(xué)定義見(jiàn)式(8)。
(8)
根據(jù)語(yǔ)義角色的位置關(guān)系,可以計(jì)算每個(gè)語(yǔ)義角色的影響矩陣,通過(guò)計(jì)算的積累,最后獲得每個(gè)特定位置下語(yǔ)義角色的影響向量,見(jiàn)式(9)。
Srj=KCj。
(9)
式(9)中,Srj代表語(yǔ)義角色在位置j處的累計(jì)影響向量,Cj表示一個(gè)距離的計(jì)數(shù)向量,來(lái)測(cè)量屬于各種核心語(yǔ)義角色的數(shù)量。將Cj展開(kāi),其標(biāo)準(zhǔn)的計(jì)算方法見(jiàn)式(10)。
(10)
式(10)中,w代表句子中的一個(gè)詞,S為詞語(yǔ)序列,即一個(gè)句子。pos(w)表示w在核心語(yǔ)義角色中出現(xiàn)的位置集合。符號(hào)[]為判斷符,如果條件滿(mǎn)足則為1,否則為0。
最后將得到的影響向量,與BLSTM的隱層向量結(jié)合?;谖恢酶兄恼Z(yǔ)義角色注意力機(jī)制在BLSTM的執(zhí)行和傳播過(guò)程如圖1右側(cè)模型。
本研究的實(shí)體關(guān)系抽取領(lǐng)域?yàn)槭称份浨轭I(lǐng)域,為了將食品輿情領(lǐng)域的語(yǔ)言特點(diǎn)融入網(wǎng)絡(luò)中,引入了領(lǐng)域詞機(jī)制。依據(jù)食品輿情領(lǐng)域的專(zhuān)業(yè)詞匯,構(gòu)建食品輿情領(lǐng)域詞詞庫(kù),依據(jù)詞語(yǔ)是否匹配到領(lǐng)域詞詞庫(kù)的原則,篩選詞語(yǔ),確定領(lǐng)域詞匯。
對(duì)于詞語(yǔ)的匹配計(jì)算見(jiàn)式(11)。
(11)
式(11)中,F(xiàn)ield(w)表示w在語(yǔ)句中領(lǐng)域詞匹配的位置集合。符號(hào)[]是判斷功能,如果條件滿(mǎn)足則為1,否則為0。
對(duì)于位置的影響力傳播,與2.3中基本相同,結(jié)合式(4)、式(5)得出基于位置感知的領(lǐng)域詞影響向量公式[式(12)]。
Fwj=KWj。
(12)
模型最后將得到的影響向量與CNN卷積層得出的最終向量結(jié)合?;谖恢酶兄念I(lǐng)域詞語(yǔ)義注意力機(jī)制在CNN的執(zhí)行過(guò)程為圖1左側(cè)。
本研究在詞嵌入層使用的是100維的Glove詞向量;BLSTM和CNN的網(wǎng)絡(luò)輸出向量的維度為128維;位置影響傳播的距離μ設(shè)置為8。另外,選取了交叉熵作為深度學(xué)習(xí)網(wǎng)絡(luò)的目標(biāo)函數(shù),同時(shí)使用Adam算法作為網(wǎng)絡(luò)的優(yōu)化器,進(jìn)行網(wǎng)絡(luò)參數(shù)的更新。表2是對(duì)比模型中所需的參數(shù)設(shè)置。
表2 網(wǎng)絡(luò)模型參數(shù)Tab.2 Parameters of network model
對(duì)比模型整體分為2類(lèi):一類(lèi)是無(wú)注意力機(jī)制的常規(guī)CNN和BLSTM神經(jīng)網(wǎng)絡(luò),一類(lèi)是引用注意力機(jī)制的CNN和BLSTM單神經(jīng)網(wǎng)絡(luò)。不同模型分別在獨(dú)立構(gòu)建的FO-Data數(shù)據(jù)集上進(jìn)行訓(xùn)練及預(yù)測(cè)實(shí)驗(yàn),表3是關(guān)系抽取結(jié)果。
表3 不同模型的關(guān)系抽取結(jié)果Tab.3 Experimental results of relationship extraction of different models
表3的實(shí)驗(yàn)結(jié)果顯示:在食品輿情語(yǔ)料中,常規(guī)的CNN模型的準(zhǔn)確率表現(xiàn)良好,但是在召回率上表現(xiàn)不佳,因此本研究在CNN的基礎(chǔ)上,對(duì)CNN模型引入了注意力機(jī)制,其召回率有了明顯的提升。對(duì)于句子整體的語(yǔ)義而言,CNN模型對(duì)比BLSTM模型的學(xué)習(xí)機(jī)制依然有所欠缺,這在第3個(gè)對(duì)比模型中得到了進(jìn)一步的驗(yàn)證。同時(shí),本文發(fā)現(xiàn)BLSTM整體上要比CNN具有更好的性能表現(xiàn)。值得注意的是,雙網(wǎng)絡(luò)模型均有著較好的準(zhǔn)確率和召回率,因?yàn)锽LSTM不僅能在上下文中根據(jù)語(yǔ)義角色有效地處理位置權(quán)重的分配,而且在CNN領(lǐng)域詞上,進(jìn)一步優(yōu)化了網(wǎng)絡(luò)整體的注意力權(quán)值計(jì)算。對(duì)于實(shí)體關(guān)系抽取而言,CNN-BLSTM網(wǎng)絡(luò)模型針對(duì)句子結(jié)構(gòu)上有著較好的反饋,同時(shí)又不拋棄垂直領(lǐng)域詞匯帶來(lái)的更多有用的信息。
關(guān)系抽取需要在驗(yàn)證集和測(cè)試集上觀(guān)測(cè)模型的表現(xiàn)優(yōu)劣,表4展示了不同模型在FO-Data數(shù)據(jù)集上的實(shí)驗(yàn)指標(biāo)數(shù)據(jù)。為了證明模型的有效性,加入了Zhou等[11]提出的基于注意力機(jī)制的BLSTM模型和殷纖慧等[16]提出的改進(jìn)的CNN模型。實(shí)驗(yàn)結(jié)果表明:本研究提出的模型在各評(píng)價(jià)指數(shù)方面均有較大的提升。
表4 不同模型的實(shí)體抽取結(jié)果Tab.4 Experimental results of entity extraction of different models
Zhou等[11]利用BLSTM模型進(jìn)行實(shí)體關(guān)系抽取,但未對(duì)句子中詞語(yǔ)的語(yǔ)義角色關(guān)系的信息加以利用,而本研究引入的基于位置的語(yǔ)義角色關(guān)系注意力機(jī)制,充分利用了實(shí)體和非實(shí)體詞語(yǔ)的語(yǔ)義角色,從而能夠進(jìn)一步提升模型效果。
本研究提出的CNN-BLSTM模型和兩大注意力機(jī)制,提高了CNN對(duì)于特殊領(lǐng)域詞的識(shí)別能力和BLSTM快速捕捉上下文的實(shí)體聯(lián)系的能力,使得模型能夠在食品輿情領(lǐng)域中比單獨(dú)的CNN和BLSTM模型有著更加優(yōu)秀的準(zhǔn)確率和召回率。
3.4.1損失函數(shù)下降趨勢(shì)分析
BLSTM是實(shí)體關(guān)系抽取領(lǐng)域常見(jiàn)的深度學(xué)習(xí)網(wǎng)絡(luò)模型,因此,本研究對(duì)比了BLSTM網(wǎng)絡(luò)模型和CNN-BLSTM模型的損失函數(shù)下降趨勢(shì),如圖4。
圖4 損失函數(shù)下降趨勢(shì)分析Fig.4 Downtrend analysis of loss function
根據(jù)圖4的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),CNN-BLSTM模型在訓(xùn)練的前期與BLSTM模型表現(xiàn)相似,但隨著模型訓(xùn)練次數(shù)的迭代,CNN-BLSTM模型的表現(xiàn)逐漸更優(yōu),而且學(xué)習(xí)能力和迭代速度仍然保持較高的表現(xiàn)。因?yàn)槟P统浞纸Y(jié)合了食品領(lǐng)域的特殊詞匯信息及其語(yǔ)義角色關(guān)系,使得模型能夠快速提取出更多有價(jià)值的句子信息,所以模型整體的收斂速度更快,而且能夠進(jìn)一步提升針對(duì)具有復(fù)雜句意或者多重句子結(jié)構(gòu)的語(yǔ)句的表現(xiàn)。
3.4.2詞嵌入維度分析
由于CNN-BLSTM模型的前部分引入了詞嵌入,所以詞嵌入的向量維度會(huì)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生一定的影響,為了展示這種影響關(guān)系,研究構(gòu)建了不同詞向量維度對(duì)模型F1值的影響,如圖5。
圖5 不同詞向量維度下的實(shí)驗(yàn)結(jié)果分析Fig.5 Experimental comparison of word vectors in different dimensions
實(shí)驗(yàn)結(jié)果表明,詞向量在300維附近,模型的整體表現(xiàn)更優(yōu),因而本模型使用的詞嵌入向量維度為300維。
本研究提出了一種基于CNN-BLSTM的食品輿情實(shí)體關(guān)系抽取模型。該模型在文本向量化的基礎(chǔ)上,通過(guò)語(yǔ)義角色標(biāo)注抽取輿情語(yǔ)句的主謂語(yǔ)語(yǔ)義,運(yùn)用上下文語(yǔ)義角色的位置感知來(lái)更新詞語(yǔ)權(quán)重,構(gòu)建基于位置感知的語(yǔ)義角色注意力機(jī)制;依據(jù)食品輿情領(lǐng)域詞詞庫(kù),運(yùn)用領(lǐng)域詞的位置感知來(lái)更新詞語(yǔ)權(quán)重,構(gòu)建基于位置感知的領(lǐng)域詞注意力機(jī)制,實(shí)現(xiàn)了食品輿情實(shí)體對(duì)多關(guān)系抽取。對(duì)比實(shí)驗(yàn)結(jié)果表明,該模型比以往常用的深度神經(jīng)網(wǎng)絡(luò)模型性能更優(yōu)。