張 彤 ,宋明艷 ,王 俊 ,2,白 洋
(1.北京京航計算通訊研究所,北京100071;2.哈爾濱工業大學 經濟與管理學院,黑龍江 哈爾濱150006)
汽車、機械等工業制造行業的產品是涉及多個技術領域的高精度、高可靠性產品,具有結構復雜,生產周期長、生產狀態多等特點[1]。 隨著信息化時代的發展,在生產研制過程中產生的各類質量數據日趨龐大,但由于現階段缺乏統一的數據管理,各類質量信息散落在業務系統中,以電子或紙質文檔方式存在,這些離散存儲的質量信息包含各類質量問題的原因、問題部件、采取措施等關鍵信息。 如何從這些離散存儲的質量信息中抽取出有效信息,為工業制造提供數據支撐,幫助相關人員有效監督產品生產、快速解決質量問題,構成工業制造領域質量管理的迫切需求。 本文從質量文本出發,利用關系抽取技術挖掘文本中實體間存在的語義關系,為后續構建質量知識圖譜、質量問答系統奠定堅實基礎。
質量文本通常為非結構化數據,信息抽取技術可以從非結構化數據中挖掘出結構化信息,關系抽取作為該技術的關鍵環節,一直備受關注[2]。 近年來,學者們開始采用遠程監督關系抽取[3]來解決關系抽取方法標注成本高的問題,包括使用基于概率圖的方法[4]、基于矩陣補全的方法[5]、基于嵌入的方法[6]。 遠程監督方法可以自動地從海量無標注的數據中抽取出大量的實體對,具有較強的可移植性。文獻[7]將分段卷積神經網絡(Piecewise Convolutional Neural Network,PCNN)應用到關系抽取領域并在對應的數據集中取得了很好的效果。 本文在此基礎上,對工業制造領域質量文本的實體關系抽取進行相關研究。
本文的主要工作主要有以下兩個方面:
(1)本文針對在工業制造領域的質量知識圖譜構建過程中尚無公開數據集可用的情況,收集了質量文本,在質量專家的指導下進行了相應的實體類別和關系類別標注,構建了工業制造領域質量知識圖譜關系抽取專業數據集。
(2)基于PCNN,本文針對工業制造領域質量文本實體關系抽取提出利用PCNN 模型融合詞本身的語義信息和位置信息,進行質量文本的關系抽取。首先根據句中的兩個實體,PCNN 將句子分成三段進行卷積,然后進行分段最大池化,最后通過softmax分類器完成關系抽取。此外,本文根據中文特點,利用 LTP 對句子進行分詞,從而改進 PCNN 模型,提高模型性能。 實驗結果表明,改進后的模型應用于質量文本的關系抽取中,極大地減少對人工的依賴,驗證了該模型的有效性,為構建該領域質量知識圖譜和實現質量問答系統提供支持和幫助。
基于規則的方法[8]主要利用專家經驗構造領域知識規則,通過模式匹配的方式進行關系抽取,但存在人工及時間成本高、召回率低、對跨領域的可移植性差等缺點,而工業制造領域的質量文本往往是多個技術領域的集合。 基于機器學習的方法[9]依賴人工完成特征向量的選擇,需要大量的專業領域知識。 而基于深度學習的方法[10]可以不依賴于人工,通過訓練大量的數據自動獲取模型。
基于深度學習的方法一般分為有監督的方法、預測模型BERT 和遠程監督的方法。 基于深度學習的有監督方法利用神經網絡模型進行關系抽取[11],可以自動學習大量特征,避免了人工選擇特征,但對大量沒有標注的數據效果并不理想。 BERT 模型是一種預訓練語言表示模型,通過上下文全向的方式理解整個語句的語義,將訓練到的知識用于關系抽取,但是不適合用于長文本,無法較好地處理一詞多義的問題[12],而工業制造領域的質量文本一般為長文本。 遠程監督的方法基于如下假設:假如兩個實體之間存在某種關系,那么所有這兩個實體共現的句子中,至少有一句表達了這種關系[13]。 遠程監督的方法可以極大地減少對人工的依賴,自動地抽取大量的實體對,有較強的可移植性。
遠程監督的方法目前普遍存在兩類錯誤標注:一類是由“至少有一句表達了實體對間關系”假設引起的錯誤標注,另一類是由于知識庫不完全引起的錯誤標注[9]。 為了解決第一類問題,文獻[7]提出PCNN 模型,將關系抽取問題視為多實例問題,認為一個句袋的預測值最接近于句袋中實例預測值中最大的一個。 針對第二類問題,文獻[7]根據句中兩個實體的位置信息,將句子分為三個部分,對卷積層輸出采用分段池化策略。 基于以上兩點,本文選擇PCNN 算法挖掘工業制造領域的質量文本中的語義關系。
近年來,隨著實體關系抽取技術的發展,出現了許多用于模型訓練與預測的公開數據集,但在工業制造等專業領域卻鮮有公開可用的關系抽取數據集。 在工業制造領域的質量管理中,各相關單位整理匯總的質量報告匯集了技術設計人員在產品生產研制過程中遇到問題的經驗,可以為該領域的質量管控提供參考。 本文通過搜集工業制造領域中的一些質量文本,在質量專家的指導下,構建了一個工業制造領域質量文本實體關系抽取的數據集。
在質量專家的指導下,根據質量文本的內容,結合工業制造領域質量管理的特點,確定該領域的質量實體類別共有 9 類,包含產品、系統、型號、質量問題、問題部件、故障定位部件、責任單位、原因定位和異常描述。 本文提取了20 篇質量文本中的語料,然后根據質量實體類別,對提取到的語料進行人工標注,生成對應的詞典。
為確定質量實體類別間的關系類別,本文首先人工地從20 篇質量文本中抽取出與問題分析及采取措施相關的章節,構建語料庫。然后根據詞典,識別語料庫中每個句子包含的實體,對句中的實體進行的排列組合以發現其中可能存在的關系,其中n 為一個句子中的實體個數。 若語料庫中一共有N 個句子,則需要進行 N 次排列組合。 根據組合輸出的結果,在質量專家的指導下對實體類別間的關系進行定義,最終一共構建了6 種關系,具體如表1所示。

表1 關系類別
根據前文提到的詞典、語料庫和關系類別,構建數據集。數據集中的標簽類別包括句子、實體、關系類別。 本文共搜集了 26 120 條語料,具體關系類別分布比例如圖1 所示,可以看出因果關系占比最大,這是因為質量文本更多的描述是關于質量問題的分析。 數據集按照7:3 的比例切分為訓練集與測試集。

圖1 數據集中各關系比例圖
參照文獻[7]給出模型設計,模型結構如圖2 所示,包括 Vectorzation 層、卷積層、分段最大池化層和softmax 分類層。
3.1.1 Vectorzation

圖 2 PCNN 模型結構
這一層的作用是進行詞向量化、位置向量化,將輸入的句子轉化成計算機可以理解的向量形式。不同于其他神經網絡模型,PCNN 模型在考慮詞的語義信息的同時,還考慮每個實體詞相對于其他詞的位置信息。 故 Vectorzation 層由兩部分組成,一部分是詞向量化,另一部分是位置向量化。
(1)詞向量化
本文的實驗數據為中文文本,為了將詞轉化成計算機可以理解的形式,利用Embedding,訓練得到每個詞的向量。
(2)位置向量化
本文對句子進行如下位置向量化:依次以兩個實體詞為基準實體,令其位置為0,分別計算其他詞相對于基準實體的位置。 如“AGM-88 的主要承包商是德州儀器公司”,可以分為“AGM-88”、“的”、“主要承包商”、“是”、“德州儀器公司”5 個詞,其中“AGM-88”和“德州儀器公司”為實體,那么其他詞相對于“AGM-88”的位置信息為[0,1,2,3,4],相對于“德州儀器公司”的位置信息為[-4,-3,-2,-1,0]。
3.1.2 卷積層
這一層設計了三個卷積,每個卷積有100 個卷積核,大小分別為 1×3,1×5,1×7。
根據質量文本中數據的特點,卷積層的激活函數為 GELU 函數。 GELU 函數將非線性與隨機正則化結合,公式為:

3.1.3 分段最大池化層

圖3 分段池化
如圖 3 所示,PCNN 模型根據兩個實體的位置將輸入的句子分成三部分:一部分是句首到第一個實體,一部分是第一個實體到第二個實體,一部分是第二個實體到句末。
為了便于計算,這三個分句進行padding,以最長句子的長度為標準,對另兩個句子進行padding,記錄填充的位置,即填充的部分標記1,未填充部分標記0。
每個卷積核的輸出被兩個實體分為三個部分,設n 為卷積核的數量,分段最大池化輸出向量為:

3.1.4 softmax 分類器
為增強模型的魯棒性,避免模型出現過擬合現象, 本文在進行分類前, 先通過線性層、ReLU 層和Dropout 層對卷積層的輸出進行進一步處理,然后經過一個線性層將數據的維度降為N 維, 用于最后的分類,N 為關系類別。 最后 softmax 分類器用于做最后的預測,如式(3)所示:

盡管PCNN 網絡模型是通過開源語料預訓練過的,但是整個網絡模型參數并沒有針對工業制造領域的實體關系抽取任務進行訓練,本文通過構建的工業制造領域的質量數據集對提出的網絡模型進行訓練微調。設N 為關系類別數;tic為指示變量,如果樣本 i 屬于類別 c 則為 1,否則為 0;yic為對于觀測樣本 i 屬于類別 c 的預測概率, 訓練損失函數如式(4)所示,并選擇 Adam 算法計算每個參數的自適應學習率。

PCNN 在網絡訓練的時候隨機從輸入序列中掩蓋(mask)掉一部分單詞,然后通過上下文輸入到 PCNN 網絡中來預測。 PCNN 一開始是針對英文的訓練方法,因此可以針對單詞進行mask 而不會損失句子本身的語義。而應用到中文領域, 這個任務會將中文詞語分割,從而導致損失了中文句子本身的語義。文獻[14]曾針對 BERT 模型的類似問題,提出不以字為粒度切分隨機掩蓋(mask),而是利用哈工大LTP 分詞[15]工具先對句子分詞,然后再以詞為粒度隨機掩蓋(mask),進行自監督訓練,從而提高對中文語料特征的抽取效果。針對工業制造領域質量關系抽取,為更好地提高中文語義理解,首先利用LTP 對句子分詞,從而提高對中文語料特征的抽取效果。
針對本次實驗,本文采用準確率 P、召回率 R 和F1 值來評價提出方法的性能,具體公式如下:

其中,TP 為正例被正確預測的樣本數,FP 為正例被錯誤預測的樣本數,FN 為負例被錯誤預測的樣本數。
在本文的實驗中,為了充分對比本文提出的網絡模型,在同一工業制造領域質量文本關系抽取數據集下,除了使用 PCNN、C-PCNN 模型,還選取了RNN 模型作為對比實驗。
為控制實驗變量,三個模型使用同一套訓練好的詞向量。本文提出的C-PCNN 模型訓練時的超參數如表 2 所示。

表2 實驗參數設置
在上述實驗設置下,3 個模型對 6 種關系進行提取,具體結果如表3 所示。
從表 3 可以看出,PCNN 模型較于RNN 模型的準確率、召回率和 F1值都略有提升,說明 PCNN 可以更好地抽取出語料之間的特征信息。這是因為本文構建的數據集中的句子大多為中短長度,PCNN 模型通過分段最大池化獲取更豐富的上下文信息,可以更好地發揮其優勢。 與PCNN 模型相比,C-PCNN模型的準確率、召回率和F1值也有明顯提升,說明在中文自然語言處理中,通過對中文的分詞預處理能夠提高模型的性能。

表3 不同模型的關系抽取效果
此外,本文實驗還統計了3 個模型對各類關系的抽取效果,如圖4 所示。

圖4 各類關系抽取的 F1 值
由圖 4 可以看出,PCNN 模型對各類關系的抽取,相較于RNN 模型有明顯的提升,加入中文分詞預處理后的C-PCNN 模型對各類關系的抽取相較于 PCNN、RNN 模型均取得了最好的抽取效果。 同時可以發現,在3 個不同模型中各類關系抽取的F1值均呈現出了類似的差異,因果關系、定位關系的抽取效果明顯優于其他關系的抽取效果,而供應關系的抽取效果則最差。 這是因為訓練樣本中各類關系的分布不均,因果關系、定位關系的樣本較多,模型在訓練時可以較充分地學習到該類關系的特征,而供應關系的樣本最少,模型難以充分學習其特征信息。
本文通過關系抽取技術,針對工業制造領域的質量文本的關系抽取問題,提出了針對該領域的PCNN 關系抽取實體關系抽取模型,該模型既具有PCNN 模型通過分段最大池化提取句子局部特征的優點,又充分考慮了中文的特性,從而可以提取出更有意義的中文語義關系特征。 實驗結果表明,本文提出的C-PCNN 模型相較于 PCNN 模型能夠更好地抽取出工業制造領域的質量文本中的實體關系,為后續構建質量知識圖譜、質量問答系統奠定堅實基礎。