張 彤 ,宋明艷 ,王 俊 ,2,白 洋
(1.北京京航計算通訊研究所,北京100071;2.哈爾濱工業(yè)大學(xué) 經(jīng)濟(jì)與管理學(xué)院,黑龍江 哈爾濱150006)
汽車、機(jī)械等工業(yè)制造行業(yè)的產(chǎn)品是涉及多個技術(shù)領(lǐng)域的高精度、高可靠性產(chǎn)品,具有結(jié)構(gòu)復(fù)雜,生產(chǎn)周期長、生產(chǎn)狀態(tài)多等特點(diǎn)[1]。 隨著信息化時代的發(fā)展,在生產(chǎn)研制過程中產(chǎn)生的各類質(zhì)量數(shù)據(jù)日趨龐大,但由于現(xiàn)階段缺乏統(tǒng)一的數(shù)據(jù)管理,各類質(zhì)量信息散落在業(yè)務(wù)系統(tǒng)中,以電子或紙質(zhì)文檔方式存在,這些離散存儲的質(zhì)量信息包含各類質(zhì)量問題的原因、問題部件、采取措施等關(guān)鍵信息。 如何從這些離散存儲的質(zhì)量信息中抽取出有效信息,為工業(yè)制造提供數(shù)據(jù)支撐,幫助相關(guān)人員有效監(jiān)督產(chǎn)品生產(chǎn)、快速解決質(zhì)量問題,構(gòu)成工業(yè)制造領(lǐng)域質(zhì)量管理的迫切需求。 本文從質(zhì)量文本出發(fā),利用關(guān)系抽取技術(shù)挖掘文本中實體間存在的語義關(guān)系,為后續(xù)構(gòu)建質(zhì)量知識圖譜、質(zhì)量問答系統(tǒng)奠定堅實基礎(chǔ)。
質(zhì)量文本通常為非結(jié)構(gòu)化數(shù)據(jù),信息抽取技術(shù)可以從非結(jié)構(gòu)化數(shù)據(jù)中挖掘出結(jié)構(gòu)化信息,關(guān)系抽取作為該技術(shù)的關(guān)鍵環(huán)節(jié),一直備受關(guān)注[2]。 近年來,學(xué)者們開始采用遠(yuǎn)程監(jiān)督關(guān)系抽取[3]來解決關(guān)系抽取方法標(biāo)注成本高的問題,包括使用基于概率圖的方法[4]、基于矩陣補(bǔ)全的方法[5]、基于嵌入的方法[6]。 遠(yuǎn)程監(jiān)督方法可以自動地從海量無標(biāo)注的數(shù)據(jù)中抽取出大量的實體對,具有較強(qiáng)的可移植性。文獻(xiàn)[7]將分段卷積神經(jīng)網(wǎng)絡(luò)(Piecewise Convolutional Neural Network,PCNN)應(yīng)用到關(guān)系抽取領(lǐng)域并在對應(yīng)的數(shù)據(jù)集中取得了很好的效果。 本文在此基礎(chǔ)上,對工業(yè)制造領(lǐng)域質(zhì)量文本的實體關(guān)系抽取進(jìn)行相關(guān)研究。
本文的主要工作主要有以下兩個方面:
(1)本文針對在工業(yè)制造領(lǐng)域的質(zhì)量知識圖譜構(gòu)建過程中尚無公開數(shù)據(jù)集可用的情況,收集了質(zhì)量文本,在質(zhì)量專家的指導(dǎo)下進(jìn)行了相應(yīng)的實體類別和關(guān)系類別標(biāo)注,構(gòu)建了工業(yè)制造領(lǐng)域質(zhì)量知識圖譜關(guān)系抽取專業(yè)數(shù)據(jù)集。
(2)基于PCNN,本文針對工業(yè)制造領(lǐng)域質(zhì)量文本實體關(guān)系抽取提出利用PCNN 模型融合詞本身的語義信息和位置信息,進(jìn)行質(zhì)量文本的關(guān)系抽取。首先根據(jù)句中的兩個實體,PCNN 將句子分成三段進(jìn)行卷積,然后進(jìn)行分段最大池化,最后通過softmax分類器完成關(guān)系抽取。此外,本文根據(jù)中文特點(diǎn),利用 LTP 對句子進(jìn)行分詞,從而改進(jìn) PCNN 模型,提高模型性能。 實驗結(jié)果表明,改進(jìn)后的模型應(yīng)用于質(zhì)量文本的關(guān)系抽取中,極大地減少對人工的依賴,驗證了該模型的有效性,為構(gòu)建該領(lǐng)域質(zhì)量知識圖譜和實現(xiàn)質(zhì)量問答系統(tǒng)提供支持和幫助。
基于規(guī)則的方法[8]主要利用專家經(jīng)驗構(gòu)造領(lǐng)域知識規(guī)則,通過模式匹配的方式進(jìn)行關(guān)系抽取,但存在人工及時間成本高、召回率低、對跨領(lǐng)域的可移植性差等缺點(diǎn),而工業(yè)制造領(lǐng)域的質(zhì)量文本往往是多個技術(shù)領(lǐng)域的集合。 基于機(jī)器學(xué)習(xí)的方法[9]依賴人工完成特征向量的選擇,需要大量的專業(yè)領(lǐng)域知識。 而基于深度學(xué)習(xí)的方法[10]可以不依賴于人工,通過訓(xùn)練大量的數(shù)據(jù)自動獲取模型。
基于深度學(xué)習(xí)的方法一般分為有監(jiān)督的方法、預(yù)測模型BERT 和遠(yuǎn)程監(jiān)督的方法。 基于深度學(xué)習(xí)的有監(jiān)督方法利用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行關(guān)系抽取[11],可以自動學(xué)習(xí)大量特征,避免了人工選擇特征,但對大量沒有標(biāo)注的數(shù)據(jù)效果并不理想。 BERT 模型是一種預(yù)訓(xùn)練語言表示模型,通過上下文全向的方式理解整個語句的語義,將訓(xùn)練到的知識用于關(guān)系抽取,但是不適合用于長文本,無法較好地處理一詞多義的問題[12],而工業(yè)制造領(lǐng)域的質(zhì)量文本一般為長文本。 遠(yuǎn)程監(jiān)督的方法基于如下假設(shè):假如兩個實體之間存在某種關(guān)系,那么所有這兩個實體共現(xiàn)的句子中,至少有一句表達(dá)了這種關(guān)系[13]。 遠(yuǎn)程監(jiān)督的方法可以極大地減少對人工的依賴,自動地抽取大量的實體對,有較強(qiáng)的可移植性。
遠(yuǎn)程監(jiān)督的方法目前普遍存在兩類錯誤標(biāo)注:一類是由“至少有一句表達(dá)了實體對間關(guān)系”假設(shè)引起的錯誤標(biāo)注,另一類是由于知識庫不完全引起的錯誤標(biāo)注[9]。 為了解決第一類問題,文獻(xiàn)[7]提出PCNN 模型,將關(guān)系抽取問題視為多實例問題,認(rèn)為一個句袋的預(yù)測值最接近于句袋中實例預(yù)測值中最大的一個。 針對第二類問題,文獻(xiàn)[7]根據(jù)句中兩個實體的位置信息,將句子分為三個部分,對卷積層輸出采用分段池化策略。 基于以上兩點(diǎn),本文選擇PCNN 算法挖掘工業(yè)制造領(lǐng)域的質(zhì)量文本中的語義關(guān)系。
近年來,隨著實體關(guān)系抽取技術(shù)的發(fā)展,出現(xiàn)了許多用于模型訓(xùn)練與預(yù)測的公開數(shù)據(jù)集,但在工業(yè)制造等專業(yè)領(lǐng)域卻鮮有公開可用的關(guān)系抽取數(shù)據(jù)集。 在工業(yè)制造領(lǐng)域的質(zhì)量管理中,各相關(guān)單位整理匯總的質(zhì)量報告匯集了技術(shù)設(shè)計人員在產(chǎn)品生產(chǎn)研制過程中遇到問題的經(jīng)驗,可以為該領(lǐng)域的質(zhì)量管控提供參考。 本文通過搜集工業(yè)制造領(lǐng)域中的一些質(zhì)量文本,在質(zhì)量專家的指導(dǎo)下,構(gòu)建了一個工業(yè)制造領(lǐng)域質(zhì)量文本實體關(guān)系抽取的數(shù)據(jù)集。
在質(zhì)量專家的指導(dǎo)下,根據(jù)質(zhì)量文本的內(nèi)容,結(jié)合工業(yè)制造領(lǐng)域質(zhì)量管理的特點(diǎn),確定該領(lǐng)域的質(zhì)量實體類別共有 9 類,包含產(chǎn)品、系統(tǒng)、型號、質(zhì)量問題、問題部件、故障定位部件、責(zé)任單位、原因定位和異常描述。 本文提取了20 篇質(zhì)量文本中的語料,然后根據(jù)質(zhì)量實體類別,對提取到的語料進(jìn)行人工標(biāo)注,生成對應(yīng)的詞典。
為確定質(zhì)量實體類別間的關(guān)系類別,本文首先人工地從20 篇質(zhì)量文本中抽取出與問題分析及采取措施相關(guān)的章節(jié),構(gòu)建語料庫。然后根據(jù)詞典,識別語料庫中每個句子包含的實體,對句中的實體進(jìn)行的排列組合以發(fā)現(xiàn)其中可能存在的關(guān)系,其中n 為一個句子中的實體個數(shù)。 若語料庫中一共有N 個句子,則需要進(jìn)行 N 次排列組合。 根據(jù)組合輸出的結(jié)果,在質(zhì)量專家的指導(dǎo)下對實體類別間的關(guān)系進(jìn)行定義,最終一共構(gòu)建了6 種關(guān)系,具體如表1所示。
表1 關(guān)系類別
根據(jù)前文提到的詞典、語料庫和關(guān)系類別,構(gòu)建數(shù)據(jù)集。數(shù)據(jù)集中的標(biāo)簽類別包括句子、實體、關(guān)系類別。 本文共搜集了 26 120 條語料,具體關(guān)系類別分布比例如圖1 所示,可以看出因果關(guān)系占比最大,這是因為質(zhì)量文本更多的描述是關(guān)于質(zhì)量問題的分析。 數(shù)據(jù)集按照7:3 的比例切分為訓(xùn)練集與測試集。
圖1 數(shù)據(jù)集中各關(guān)系比例圖
參照文獻(xiàn)[7]給出模型設(shè)計,模型結(jié)構(gòu)如圖2 所示,包括 Vectorzation 層、卷積層、分段最大池化層和softmax 分類層。
3.1.1 Vectorzation
圖 2 PCNN 模型結(jié)構(gòu)
這一層的作用是進(jìn)行詞向量化、位置向量化,將輸入的句子轉(zhuǎn)化成計算機(jī)可以理解的向量形式。不同于其他神經(jīng)網(wǎng)絡(luò)模型,PCNN 模型在考慮詞的語義信息的同時,還考慮每個實體詞相對于其他詞的位置信息。 故 Vectorzation 層由兩部分組成,一部分是詞向量化,另一部分是位置向量化。
(1)詞向量化
本文的實驗數(shù)據(jù)為中文文本,為了將詞轉(zhuǎn)化成計算機(jī)可以理解的形式,利用Embedding,訓(xùn)練得到每個詞的向量。
(2)位置向量化
本文對句子進(jìn)行如下位置向量化:依次以兩個實體詞為基準(zhǔn)實體,令其位置為0,分別計算其他詞相對于基準(zhǔn)實體的位置。 如“AGM-88 的主要承包商是德州儀器公司”,可以分為“AGM-88”、“的”、“主要承包商”、“是”、“德州儀器公司”5 個詞,其中“AGM-88”和“德州儀器公司”為實體,那么其他詞相對于“AGM-88”的位置信息為[0,1,2,3,4],相對于“德州儀器公司”的位置信息為[-4,-3,-2,-1,0]。
3.1.2 卷積層
這一層設(shè)計了三個卷積,每個卷積有100 個卷積核,大小分別為 1×3,1×5,1×7。
根據(jù)質(zhì)量文本中數(shù)據(jù)的特點(diǎn),卷積層的激活函數(shù)為 GELU 函數(shù)。 GELU 函數(shù)將非線性與隨機(jī)正則化結(jié)合,公式為:
3.1.3 分段最大池化層
圖3 分段池化
如圖 3 所示,PCNN 模型根據(jù)兩個實體的位置將輸入的句子分成三部分:一部分是句首到第一個實體,一部分是第一個實體到第二個實體,一部分是第二個實體到句末。
為了便于計算,這三個分句進(jìn)行padding,以最長句子的長度為標(biāo)準(zhǔn),對另兩個句子進(jìn)行padding,記錄填充的位置,即填充的部分標(biāo)記1,未填充部分標(biāo)記0。
每個卷積核的輸出被兩個實體分為三個部分,設(shè)n 為卷積核的數(shù)量,分段最大池化輸出向量為:
3.1.4 softmax 分類器
為增強(qiáng)模型的魯棒性,避免模型出現(xiàn)過擬合現(xiàn)象, 本文在進(jìn)行分類前, 先通過線性層、ReLU 層和Dropout 層對卷積層的輸出進(jìn)行進(jìn)一步處理,然后經(jīng)過一個線性層將數(shù)據(jù)的維度降為N 維, 用于最后的分類,N 為關(guān)系類別。 最后 softmax 分類器用于做最后的預(yù)測,如式(3)所示:
盡管PCNN 網(wǎng)絡(luò)模型是通過開源語料預(yù)訓(xùn)練過的,但是整個網(wǎng)絡(luò)模型參數(shù)并沒有針對工業(yè)制造領(lǐng)域的實體關(guān)系抽取任務(wù)進(jìn)行訓(xùn)練,本文通過構(gòu)建的工業(yè)制造領(lǐng)域的質(zhì)量數(shù)據(jù)集對提出的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練微調(diào)。設(shè)N 為關(guān)系類別數(shù);tic為指示變量,如果樣本 i 屬于類別 c 則為 1,否則為 0;yic為對于觀測樣本 i 屬于類別 c 的預(yù)測概率, 訓(xùn)練損失函數(shù)如式(4)所示,并選擇 Adam 算法計算每個參數(shù)的自適應(yīng)學(xué)習(xí)率。
PCNN 在網(wǎng)絡(luò)訓(xùn)練的時候隨機(jī)從輸入序列中掩蓋(mask)掉一部分單詞,然后通過上下文輸入到 PCNN 網(wǎng)絡(luò)中來預(yù)測。 PCNN 一開始是針對英文的訓(xùn)練方法,因此可以針對單詞進(jìn)行mask 而不會損失句子本身的語義。而應(yīng)用到中文領(lǐng)域, 這個任務(wù)會將中文詞語分割,從而導(dǎo)致?lián)p失了中文句子本身的語義。文獻(xiàn)[14]曾針對 BERT 模型的類似問題,提出不以字為粒度切分隨機(jī)掩蓋(mask),而是利用哈工大LTP 分詞[15]工具先對句子分詞,然后再以詞為粒度隨機(jī)掩蓋(mask),進(jìn)行自監(jiān)督訓(xùn)練,從而提高對中文語料特征的抽取效果。針對工業(yè)制造領(lǐng)域質(zhì)量關(guān)系抽取,為更好地提高中文語義理解,首先利用LTP 對句子分詞,從而提高對中文語料特征的抽取效果。
針對本次實驗,本文采用準(zhǔn)確率 P、召回率 R 和F1 值來評價提出方法的性能,具體公式如下:
其中,TP 為正例被正確預(yù)測的樣本數(shù),F(xiàn)P 為正例被錯誤預(yù)測的樣本數(shù),F(xiàn)N 為負(fù)例被錯誤預(yù)測的樣本數(shù)。
在本文的實驗中,為了充分對比本文提出的網(wǎng)絡(luò)模型,在同一工業(yè)制造領(lǐng)域質(zhì)量文本關(guān)系抽取數(shù)據(jù)集下,除了使用 PCNN、C-PCNN 模型,還選取了RNN 模型作為對比實驗。
為控制實驗變量,三個模型使用同一套訓(xùn)練好的詞向量。本文提出的C-PCNN 模型訓(xùn)練時的超參數(shù)如表 2 所示。
表2 實驗參數(shù)設(shè)置
在上述實驗設(shè)置下,3 個模型對 6 種關(guān)系進(jìn)行提取,具體結(jié)果如表3 所示。
從表 3 可以看出,PCNN 模型較于RNN 模型的準(zhǔn)確率、召回率和 F1值都略有提升,說明 PCNN 可以更好地抽取出語料之間的特征信息。這是因為本文構(gòu)建的數(shù)據(jù)集中的句子大多為中短長度,PCNN 模型通過分段最大池化獲取更豐富的上下文信息,可以更好地發(fā)揮其優(yōu)勢。 與PCNN 模型相比,C-PCNN模型的準(zhǔn)確率、召回率和F1值也有明顯提升,說明在中文自然語言處理中,通過對中文的分詞預(yù)處理能夠提高模型的性能。
表3 不同模型的關(guān)系抽取效果
此外,本文實驗還統(tǒng)計了3 個模型對各類關(guān)系的抽取效果,如圖4 所示。
圖4 各類關(guān)系抽取的 F1 值
由圖 4 可以看出,PCNN 模型對各類關(guān)系的抽取,相較于RNN 模型有明顯的提升,加入中文分詞預(yù)處理后的C-PCNN 模型對各類關(guān)系的抽取相較于 PCNN、RNN 模型均取得了最好的抽取效果。 同時可以發(fā)現(xiàn),在3 個不同模型中各類關(guān)系抽取的F1值均呈現(xiàn)出了類似的差異,因果關(guān)系、定位關(guān)系的抽取效果明顯優(yōu)于其他關(guān)系的抽取效果,而供應(yīng)關(guān)系的抽取效果則最差。 這是因為訓(xùn)練樣本中各類關(guān)系的分布不均,因果關(guān)系、定位關(guān)系的樣本較多,模型在訓(xùn)練時可以較充分地學(xué)習(xí)到該類關(guān)系的特征,而供應(yīng)關(guān)系的樣本最少,模型難以充分學(xué)習(xí)其特征信息。
本文通過關(guān)系抽取技術(shù),針對工業(yè)制造領(lǐng)域的質(zhì)量文本的關(guān)系抽取問題,提出了針對該領(lǐng)域的PCNN 關(guān)系抽取實體關(guān)系抽取模型,該模型既具有PCNN 模型通過分段最大池化提取句子局部特征的優(yōu)點(diǎn),又充分考慮了中文的特性,從而可以提取出更有意義的中文語義關(guān)系特征。 實驗結(jié)果表明,本文提出的C-PCNN 模型相較于 PCNN 模型能夠更好地抽取出工業(yè)制造領(lǐng)域的質(zhì)量文本中的實體關(guān)系,為后續(xù)構(gòu)建質(zhì)量知識圖譜、質(zhì)量問答系統(tǒng)奠定堅實基礎(chǔ)。