孫劭芃,汪顥懿*,左 敏,張青川
(北京工商大學(xué) 電商與物流學(xué)院 農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國家工程實驗室,北京 100048)
作為最基本的民生問題,食品安全牽動著億萬民眾的神經(jīng),一經(jīng)曝光,就能迅速引起社會各階層的普遍關(guān)注,激發(fā)負(fù)面聯(lián)想,甚至誘發(fā)非理性的線下集合行為,危及社會穩(wěn)定。隨著越來越多的食品安全報道在網(wǎng)絡(luò)上傳播,快速且準(zhǔn)確的對突發(fā)報道中的關(guān)鍵信息進(jìn)行抽取對于政府對食品安全領(lǐng)域的監(jiān)管和預(yù)測都有著尤為重要的意義和價值。
隨著信息時代的到來,互聯(lián)網(wǎng)技術(shù)高速發(fā)展。作為自然語言處理[1]的重點課題之一,實體關(guān)系抽取[2]作為實現(xiàn)語義關(guān)系自動抽取和查詢匹配的一種新興技術(shù),近年來一躍成為熱門研究領(lǐng)域,受到越來越多科研人員的重視。在諸多的實體關(guān)系抽取方法中[3-6],有監(jiān)督的實體關(guān)系抽取方法[3]依然是目前最基本最常見的方法,其主要過程是在已標(biāo)注過的訓(xùn)練數(shù)據(jù)集上訓(xùn)練出關(guān)系分類模型,從而在測試集上進(jìn)行對應(yīng)的實體關(guān)系抽取。本文也采用了有監(jiān)督的深度學(xué)習(xí)網(wǎng)絡(luò)模型對實體關(guān)系抽取進(jìn)行研究。
實體關(guān)系抽取一直是經(jīng)典而又富有挑戰(zhàn)性的任務(wù),在過去二十多年的研究發(fā)展下取得了很多階段性的突破,同時也廣泛應(yīng)用在知識圖譜[7]的構(gòu)建、自動問答[8]、文本摘要[9-10]等諸多重要領(lǐng)域。隨著以深度學(xué)習(xí)為基礎(chǔ)的人工智能潮流席卷全球,深度學(xué)習(xí)下的實體關(guān)系抽取也同樣得到了快速發(fā)展,它有效改善了傳統(tǒng)標(biāo)注工具的自身缺陷,取得了良好的效果。文獻(xiàn)[11-15]對基于深度學(xué)習(xí)的實體關(guān)系抽取方法進(jìn)行了總結(jié)歸納。文獻(xiàn)[12]介紹了基于深度學(xué)習(xí)的實體關(guān)系抽取方法,并進(jìn)行比對;文獻(xiàn)[13]對基于深度學(xué)習(xí)的實體關(guān)系抽取的基本框架和流程進(jìn)行了介紹。自2018年以來,BERT(bidirectional encoder representations from transformers)網(wǎng)絡(luò)被應(yīng)用到自然語言處理(natural language processing,NLP)的各個領(lǐng)域,并都取得了突破性的效果[16-20],其獨有的Transformer Encoder編碼模型,能夠解決句子中的依賴關(guān)系,對句子的內(nèi)部結(jié)構(gòu)進(jìn)行有效地學(xué)習(xí),保證了句子字向量訓(xùn)練的質(zhì)量,從數(shù)據(jù)基礎(chǔ)的角度為后續(xù)的預(yù)測模型提供了保障,提高了后續(xù)模型的預(yù)測準(zhǔn)確性[21-22]。值得注意的是,最近注意力機(jī)制在NLP上取得了廣泛的應(yīng)用和成功。本研究也基于領(lǐng)域詞的位置感知注意力機(jī)制,對雙向長短期記憶網(wǎng)絡(luò)進(jìn)行了改進(jìn),取得了較好的效果[23-24]。
本文主要研究針對食品安全領(lǐng)域語料的實體關(guān)系抽取方法,在分析現(xiàn)有的實體關(guān)系抽取方法優(yōu)劣的基礎(chǔ)上,采用了BERT-雙向長短期記憶網(wǎng)絡(luò)(bi-directional long shortterm memory,BiLSTM)雙維度雙網(wǎng)絡(luò)模型結(jié)構(gòu),不僅很好的處理了不同實體關(guān)系的區(qū)分度,而且有效學(xué)習(xí)了文本遠(yuǎn)程語義的信息和結(jié)構(gòu)。同時,在注意力機(jī)制的層面上,為了使BiLSTM網(wǎng)絡(luò)更好的對詞匯特征的語義和文本內(nèi)部位置信息的學(xué)習(xí),采用了領(lǐng)域詞識別和詞語位置分布信息結(jié)合計算的處理方法。整個雙網(wǎng)絡(luò)模型在獨立構(gòu)建的食品安全領(lǐng)域數(shù)據(jù)集上進(jìn)行實驗和測試,展示出較好的性能效果。
在進(jìn)行研究之前,需要充足的語料資源作為數(shù)據(jù)基礎(chǔ),因此首先構(gòu)建了食品安全領(lǐng)域語料庫,并對庫中所有語料做預(yù)處理工作,最終將處理好的語料作為本次研究的數(shù)據(jù)集。
食品安全領(lǐng)域語料庫中的語料主要來自于百度新聞、食安通平臺、食品伙伴網(wǎng)、新浪微博等平臺近年來發(fā)布的食品安全領(lǐng)域相關(guān)文章,包括檢驗檢疫、生產(chǎn)銷售、制度發(fā)布、公眾投訴、安全事件等相關(guān)類型,共計5 000余篇。語料庫部分截圖見圖1。
圖1 食品安全領(lǐng)域語料庫(部分)Fig.1 Corpus of food safety (part)
本文實體和關(guān)系的抽取分別是句子級別的關(guān)系識別和標(biāo)簽級別的實體識別任務(wù),目的是抽取食品安全領(lǐng)域語料中的二元關(guān)系和實體。將食品安全語料中實體關(guān)系定義為R,兩個實體的關(guān)系用三元組(Ei,R,Ej)表示,其中Ei為實體關(guān)系中的主體,Ej為客體,R為映射關(guān)系,根據(jù)食品安全領(lǐng)域語料的行文特點,定義映射關(guān)系和識別的三元組見表1。
表1 食品安全領(lǐng)域語料實體關(guān)系抽取類型明細(xì)(部分)Table 1 Detailed list of entity relation extraction types of corpus in food safety field (part)
在識別模型訓(xùn)練過程中,把食品安全領(lǐng)域語料劃分成多個待識別關(guān)系和實體的句子并為每個句子進(jìn)行標(biāo)注,貼上正確的標(biāo)簽。標(biāo)注結(jié)果部分截圖見圖2。
圖2 實體關(guān)系標(biāo)注結(jié)果(部分)Fig.2 Results of entity relation annotation (part)
根據(jù)設(shè)計的三元組形式,在模型訓(xùn)練中,分別輸入語料句子和相應(yīng)已標(biāo)注的三元組信息(實體1,實體2和實體關(guān)系)。訓(xùn)練完成后,在模型測試時,輸入一個新的語料句子,也按訓(xùn)練集標(biāo)注格式輸出識別的關(guān)系與實體對。
采用準(zhǔn)確率(precision,P)、召回率(recall,R)與F1值作為實驗的評價指標(biāo)。準(zhǔn)確率(P)計算公式如下:
式中:P代表準(zhǔn)確率;TP代表模型將一個關(guān)系的正類預(yù)測為正類的數(shù)量,個;FP代表模型將一個關(guān)系的負(fù)類預(yù)測為正類的數(shù)量,個。
召回率(R)計算公式如下:
式中:R為召回率;TP代表模型將一個關(guān)系的正類預(yù)測為正類的數(shù)量,個;FN代表模型將一個關(guān)系的正類預(yù)測為負(fù)類的數(shù)量,個。
F1值是機(jī)器學(xué)習(xí)評價體系中的一個通用評價指標(biāo),其公式計算如下:
在以上各個評價指標(biāo)中,準(zhǔn)確率P、召回率R它們兩者之間有明顯的負(fù)相關(guān)關(guān)系,當(dāng)實驗的結(jié)果準(zhǔn)確率高時,其對應(yīng)召回率普遍較低,反之同理。所以使用F1值作為來衡量分類器綜合性能的評價指標(biāo),防止上述問題的出現(xiàn)。
增量訓(xùn)練是指在對語料進(jìn)行Word2Vec詞向量訓(xùn)練時,對現(xiàn)有的訓(xùn)練模型進(jìn)行語料補充和修正的二次訓(xùn)練。一般所用Word2Vec的訓(xùn)練模型是基于通用語料訓(xùn)練而來,對于垂直領(lǐng)域的詞匯用法和關(guān)聯(lián)程度有所不同,當(dāng)用專業(yè)領(lǐng)域的語料經(jīng)過增量訓(xùn)練后,可以在垂直領(lǐng)域?qū)ΜF(xiàn)有模型進(jìn)行專業(yè)化的補充。
食品安全領(lǐng)域相關(guān)語料具有一定的專業(yè)特殊性,尤其在專業(yè)的領(lǐng)域詞、檢測因子、專業(yè)語義上與公共領(lǐng)域的語料存在較大的差異,用現(xiàn)有詞向量訓(xùn)練工具進(jìn)行分詞、詞語向量化較難有很好的訓(xùn)練效果,因此需要對Word2Vec模型進(jìn)行增量訓(xùn)練。
本文首先在一個公共開放的預(yù)訓(xùn)練模型的基礎(chǔ)上進(jìn)行語料擴(kuò)充,加入實驗構(gòu)建的食品安全領(lǐng)域語料庫以及領(lǐng)域詞匯百科、領(lǐng)域檢測因子等語料,進(jìn)行詞向量模型的訓(xùn)練。增量訓(xùn)練模型參數(shù)見表2。
表2 食品安全領(lǐng)域詞語Embedding模型增量訓(xùn)練參數(shù)Table 2 Incremental training parameters of embedding model in food safety field
隨著時間的推移,未來可能出現(xiàn)新的領(lǐng)域詞匯,而且業(yè)務(wù)情景可能發(fā)生變更。此后每隔一段時間,當(dāng)積累了一定的核技術(shù)利用單位的檢察建議語料時,對詞向量模型再進(jìn)行增量訓(xùn)練。持續(xù)的增量訓(xùn)練可以使得詞向量模型能學(xué)習(xí)到新詞匯的向量表示并適應(yīng)最新語料的語義關(guān)系,更好地將文本向量化,以提升后續(xù)算法準(zhǔn)確性。
整個雙網(wǎng)絡(luò)模型結(jié)構(gòu)見圖3。由圖3可知,右半部分的網(wǎng)絡(luò)結(jié)構(gòu)圖展示了基于領(lǐng)域詞的位置感知注意力機(jī)制的雙向長短期記憶網(wǎng)絡(luò)模型(BiLSTM)提取出語料中的關(guān)系,左半部分的網(wǎng)絡(luò)結(jié)構(gòu)圖展示了基于BERT網(wǎng)絡(luò)提取出語料中存在的實體對。
圖3 網(wǎng)絡(luò)模型結(jié)構(gòu)圖Fig.3 Network model structure
在模型的右半部分,使用提前訓(xùn)練好的詞嵌入模型將食品安全領(lǐng)域的語料進(jìn)行文本向量化處理。之后將得出的詞級別向量作為BiLSTM網(wǎng)絡(luò)層的輸入,由BiLSTM生成隱層向量。首先,將提前構(gòu)建好的領(lǐng)域詞詞庫與當(dāng)前的每個詞語進(jìn)行逐一匹配,引入基于領(lǐng)域詞的位置感知注意力機(jī)制,通過進(jìn)行計算之后,則可計算出相應(yīng)的影響向量,同時模型將影響向量與隱層向量進(jìn)行結(jié)合,影響B(tài)iLSTM模型輸出結(jié)果;在模型的左半部分,將標(biāo)注好的文本句子輸入BERT模型進(jìn)行訓(xùn)練,并將訓(xùn)練所得字向量加入偏旁部首的修正向量,進(jìn)一步修正訓(xùn)練結(jié)果,最終提取出句子中包含的實體對并提取其隱層向量,最后模型將會在兩個網(wǎng)絡(luò)輸出向量的結(jié)合層累積影響向量,進(jìn)一步得出實體及其關(guān)系抽取結(jié)果。
在實體關(guān)系抽取模型的輸出層中,利用SoftMax層,對每個輸出節(jié)點的輸出向量進(jìn)行概率轉(zhuǎn)化,并找到概率最高的輸出節(jié)點所對應(yīng)的詞作為該句子的關(guān)系詞。關(guān)系詞的概率轉(zhuǎn)化計算公式如下:
式中:P(q|S)為關(guān)系詞的概率值,%;S為輸入的句子;q為預(yù)測的關(guān)系詞;wν為權(quán)重;V為輸出向量;bν為偏置向量。
對于關(guān)系標(biāo)注部分,輸入句子的每一個詞會被指派一個關(guān)系標(biāo)簽,本文中采用0~1標(biāo)簽為關(guān)系做標(biāo)注,其中識別出的關(guān)系詞被標(biāo)記為1,非關(guān)系詞標(biāo)記為0。因此,關(guān)系標(biāo)注問題可以轉(zhuǎn)變?yōu)椋簩τ诮o定的長度為n的句子S=(s1,…st,…sn),假設(shè)標(biāo)注輸出結(jié)果為Q=(q1,…qt,…qn),在已知序列S下,找出使得Q=(q1,…qt,…qn)的概率P=(q1,…qt,…qn)最大的序列(q1,…qt,…qn)。概率P計算公式如下:
式中:P(q|S;W,b)表示輸出序列Q為最優(yōu)序列的概率;W為權(quán)重;b為偏置向量;ψ(q',q,S)=exp(WTq',qz+b,q)是一個隱含函數(shù)(其中,WT表示權(quán)重向量的轉(zhuǎn)置,b表示偏置向量,z表示詞向量的權(quán)重向量)。
最后,使用維特比算法對式(5)所得P(q|S;W,b)進(jìn)行有效的解碼運算,得到每個詞最終的標(biāo)注向量。
為了將食品安全領(lǐng)域的語言特點融入模型網(wǎng)絡(luò)中,使得實體關(guān)系抽取效果更加優(yōu)異,在模型中引入了基于領(lǐng)域詞的位置感知注意力機(jī)制。
依據(jù)食品安全領(lǐng)域的專業(yè)詞匯,構(gòu)建食品安全領(lǐng)域詞庫,依據(jù)詞語是否匹配到領(lǐng)域詞庫的原則,篩選詞語,確定領(lǐng)域詞匯。具體執(zhí)行過程見圖4。
圖4 領(lǐng)域詞匯匹配示例Fig.4 Examples of domain vocabulary matching
本模型對輸入詞向量中的領(lǐng)域詞進(jìn)行識別,經(jīng)過基于領(lǐng)域詞的位置感知注意力機(jī)制的計算,將影響向量傳播到BiLSTM隱層向量中結(jié)合計算,從而影響B(tài)iLSTM的輸出結(jié)果。最后模型將會在兩個網(wǎng)絡(luò)輸出向量的結(jié)合層累積影響向量,進(jìn)一步得出實體及其關(guān)系抽取結(jié)果。
注意力機(jī)制所生成的影響向量具體計算過程為:假設(shè)領(lǐng)域詞在隱層向量各維度上的影響是基于高斯分布的,同時設(shè)K為影響的基礎(chǔ)矩陣,則其影響的表達(dá)式如下:
式中:K(i,m)表示距離向量第i維度距離為m的領(lǐng)域詞對其產(chǎn)生的影響;N(Kernel(m),σ2)表示期望值為Kernel(m)、標(biāo)準(zhǔn)差為σ的正態(tài)分布。Kernel(m)表示高斯核函數(shù),可以對位置感知的影響傳播進(jìn)行模擬,其表達(dá)式如下:
式中:m表示領(lǐng)域詞到其影響維度的距離;σ表示高斯濾波器寬度。
根據(jù)領(lǐng)域詞的位置關(guān)系,可以計算每個領(lǐng)域詞的影響矩陣,通過計算的積累,最后獲得每個特定位置下領(lǐng)域詞的影響向量:
式中:cfj代表領(lǐng)域詞在位置j處的累計影響向量;Sj表示一個距離的計數(shù)向量,用來測量屬于領(lǐng)域詞的數(shù)量,K為設(shè)定的基礎(chǔ)影響矩陣。
本次實驗以Python3.7語言為依托,利用Tensorflow和Pytorch框架構(gòu)建深度學(xué)習(xí)模型,同時選用MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)的調(diào)用與存儲。實驗設(shè)備方面,工作站內(nèi)存為16 GB,搭載Windows 10(X64)和Linux CentOS7操作系統(tǒng),Intel酷睿i7 7700HQ處理器。
本次實驗數(shù)據(jù)集按4∶1的比例拆分,其中訓(xùn)練集有效語句近6 000條,主要用作對BERT模型和雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)模型進(jìn)行訓(xùn)練,并使各項參數(shù)達(dá)到最優(yōu)值;測試集有效語句約為1 500條,用于對模型的實體關(guān)系抽取效果進(jìn)行評估。
實驗參數(shù)的設(shè)置與選擇上,設(shè)置詞嵌入層使用100維的Glove詞向量,BiLSTM網(wǎng)絡(luò)輸出向量的維度是128維,注意力機(jī)制中設(shè)置μ為8。BERT模型的參數(shù)設(shè)置見表3。
表3 BERT模型參數(shù)設(shè)置Table 3 Parameters setting of BERT model
為了展示雙網(wǎng)絡(luò)及其注意力模型的效果,利用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型與本文模型針對同一數(shù)據(jù)集展開了一系列對比實驗。對比模型整體分為卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型、BiLSTM模型和BERT模型,并通過是否引用注意力機(jī)制來提升對比效果。具體的實驗結(jié)果見表4。
表4 不同模型在實驗數(shù)據(jù)集上的性能對比Table 4 Performance comparison of different models on experimental data set
由表4可知,BiLSTM-ATT模型在實驗數(shù)據(jù)集上準(zhǔn)確率、召回率、F1值分別達(dá)到了0.801、0.748和0.774,整體上要比CNN及CNN-ATT模型具有更好的性能表現(xiàn),但帶有注意力的CNN仍有著不俗的表現(xiàn),F(xiàn)1值達(dá)到了0.743。而BERT模型憑借著自身強大的訓(xùn)練機(jī)制,不出意外的將整體實體關(guān)系抽取效果提升了一個檔次,三項評價指標(biāo)均達(dá)到了0.850以上,較傳統(tǒng)的深度學(xué)習(xí)模型有很大的提升。值得注意的是,本文提出的BERT-BiLSTM-Attention雙網(wǎng)絡(luò)模型在準(zhǔn)確率和召回率層面上均體現(xiàn)出了更好的性能,分別達(dá)到了0.894和0.867,F(xiàn)1值高達(dá)0.880,較單網(wǎng)絡(luò)的BERT模型提高了1.5個百分點。在本文模型中,BERT模型自身就有著優(yōu)秀的字向量訓(xùn)練機(jī)制,并根據(jù)偏旁部首的加強訓(xùn)練,結(jié)合BiLSTM在領(lǐng)域詞上的注意力機(jī)制,進(jìn)一步優(yōu)化了網(wǎng)絡(luò)整體的注意力權(quán)值計算。對于關(guān)系抽取而言,本文所使用的雙網(wǎng)絡(luò)模型針對句子結(jié)構(gòu)上有著較好的反饋,同時又不拋棄垂直領(lǐng)域詞匯帶來的更多有用的信息。
本研究完成的主要工作是基于BERT-BiLSTM-Attention構(gòu)建了一個關(guān)系抽取模型,應(yīng)用到食品安全領(lǐng)域的關(guān)系和實體識別中,進(jìn)行關(guān)系抽取,通過BERT模型對語料中的關(guān)系進(jìn)行提取,并將隱層向量與BiLSTM-Attention模型隱層向量相結(jié)合,更優(yōu)的提取出食品安全語料中的對應(yīng)實體,這兩個模型共同組合成食品安全事件實體關(guān)系抽取模型,其在測試集上取得了很好的實體關(guān)系抽取效果,準(zhǔn)確率、召回率、F1值分別達(dá)到了0.894、0.867和0.880。
本文的研究為食品安全領(lǐng)域的文本抽取以及知識圖譜構(gòu)建提供了新的方法及思路,為實現(xiàn)相關(guān)食品安全監(jiān)管可視化平臺、智能問答等應(yīng)用奠定了基礎(chǔ)。此外如何對抽取后出現(xiàn)的噪音數(shù)據(jù)進(jìn)行識別、校正以及對食品領(lǐng)域詞、知識的補全將會是下一步工作的重點。未來可通過人工智能進(jìn)一步打造食品安全監(jiān)管智能化系統(tǒng),實現(xiàn)資源共享,提高監(jiān)管力度,為人民群眾提供更優(yōu)質(zhì)的服務(wù)。