傅源坤,柳先輝,趙衛(wèi)東
(同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201800)
近年來智能制造行業(yè)受到廣泛的關(guān)注,在構(gòu)建智能制造裝備分析領(lǐng)域時,命名實體識別是智能制造裝備分析的基礎(chǔ)工作。其中,對于智能制造裝備來說,當(dāng)中的命名實體不但涉及多個子領(lǐng)域,而且智能制造裝備命名實體長度不一,種類復(fù)雜;智能制造裝備描述中往往伴隨多個意思相近的詞,以及多個詞并列的情況。命名實體識別的模型需要有足夠的語料庫來進(jìn)行訓(xùn)練,使智能制造裝備文本中的句子語法表述和語義信息能夠被包含在詞語的表示當(dāng)中,進(jìn)而提高實體識別的準(zhǔn)確度。但由于該領(lǐng)域目前缺少已標(biāo)注的專業(yè)語料庫,針對上述的問題,本文以智能制造裝備的專利為例,構(gòu)建智能制造裝備專利方面的命名實體識別語料庫,提出了基于預(yù)訓(xùn)練模型的中文智能制造裝備命名實體識別模型,并取得了較好的效果。
命名實體識別技術(shù)(Named Entity Recognition,NER)[1]按照業(yè)務(wù)需求可以將特定的實體從非結(jié)構(gòu)的文本中識別出來。在初期,命名實體識別需要專家根據(jù)不同實體的特征構(gòu)建不同的配套規(guī)則模板來提取實體。該方法依賴于已有的知識庫和字典,并且對于不同領(lǐng)域的表述而言,存在所需要的關(guān)鍵詞不同和相同的詞語表達(dá)意思不同的問題。因此,該方法所需的時間很長而且難以覆蓋全部領(lǐng)域。之后,有人提出將命名實體識別看作序列標(biāo)注任務(wù),即將每個字詞都看成待標(biāo)簽的向量,通過標(biāo)簽的形式將字詞劃分成不同的實體類型。該類方法通過大量語料來訓(xùn)練標(biāo)注模型,使模型代替專家來做實體特征的表示,進(jìn)而達(dá)到識別的效果。這類模型中較為代表的有隱馬爾可夫[2]、決策樹[3]、最大熵[4]、條件隨機場[5]以及支持向量機[6,7]。隨著深度學(xué)習(xí)的興起,在命名實體識別中開始出現(xiàn)了神經(jīng)網(wǎng)絡(luò)的影子[8],長短期記憶模型(Long Short Term Memory,LSTM)[9]便是其中的代表之一,它的優(yōu)勢于其可以學(xué)習(xí)長距離依賴的信息,并將這些信息融入到當(dāng)前詞向量中,這對于詞在句子中的學(xué)習(xí)有了更好的效果。在長距離學(xué)習(xí)的基礎(chǔ)上,Guillaume[10]等人引入條件隨機場來增強約束條件,使預(yù)測的序列結(jié)果更加合理。Chang[11]等人提出了一種預(yù)訓(xùn)練模型,該預(yù)訓(xùn)練模型采用Transformer,Transformer的attention機制對于語境中詞語的特征抽取有較好的效果。楊飄[12]、趙平[13]、楊春明[14]、郭知鑫[15]等人將預(yù)訓(xùn)練模型應(yīng)用到命名實體識別領(lǐng)域,提高了中文實體識別的效果。其中,郭軍成[16]、王傳濤[17]等人分別在簡歷實體識別領(lǐng)域做出了不少貢獻(xiàn)。
在本文研究的智能制造裝備領(lǐng)域中,以專利文本為例,主要存在以下幾個問題:
1)由于部分智能制造裝備名字由多個詞語組成,在實體識別時這類名字便會被識別成多個單體詞語從而導(dǎo)致結(jié)果不精確。例如,對于名字“基于面向?qū)ο蠹夹g(shù)的數(shù)控機床輔助裝置智能控制系統(tǒng)”的識別會被拆分成“數(shù)控機床”、“輔助裝置”、“智能控制”、“系統(tǒng)”,使整體實體被拆分。
2)一個智能制造裝備通常由多個模塊組成、每個模塊實體之間的詞法描述存在近似的情況,導(dǎo)致實體識別不準(zhǔn)確。例如存在“套筒”、“雙向套筒”、“套筒軸”只識別出“套筒”的情況。
3)目前專門針對智能制造裝備專利領(lǐng)域的命名實體識別研究還十分稀少,相應(yīng)的語料庫也還未見到。
本文提出一種基于BERT預(yù)訓(xùn)練模型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),使用預(yù)訓(xùn)練模型獲得智能制造裝備專利領(lǐng)域的詞向量,并將該詞向量作為BiLSTM網(wǎng)絡(luò)的輸入,接著結(jié)合CRF來增添約束條件使得獲得的標(biāo)記序列更加合理,進(jìn)而確定實體的類型。本文構(gòu)建了智能制造裝備專利領(lǐng)域的語料庫共1838個文本、8685個句子,并在該語料上進(jìn)行實驗,對比分析基于LSTM的方法、基于LSTM-CRF的方法以及文本的方法。
本文采用的模型由三部分組成:首先通過BERT表示文本中的字向量;然后將字向量輸入到BiLSTM模型中得到雙向的狀態(tài)序列,獲得的各狀態(tài)序列的結(jié)合其位置關(guān)系得到更完整的狀態(tài)序列,并映射到標(biāo)簽類別中,之后對每一個映射標(biāo)簽類別進(jìn)行打分,選取最優(yōu)的分?jǐn)?shù)值作為輸出結(jié)果,并根據(jù)這個結(jié)果來預(yù)測標(biāo)簽序列;最后結(jié)合CRF中的狀態(tài)轉(zhuǎn)移矩陣對BiLSTM模型的輸出序列進(jìn)行約束處理,根據(jù)相鄰標(biāo)簽信息得到一個全局最優(yōu)標(biāo)簽序列,其模型的整體結(jié)構(gòu)如圖1所示。
圖1 BERT-BiLSTM-CRF模型整體結(jié)構(gòu)圖
BERT采用掩碼機制對雙向的Transformers進(jìn)行預(yù)訓(xùn)練從而代替?zhèn)鹘y(tǒng)的單向語言模型或者對單項語言模型進(jìn)行淺層拼接的方法進(jìn)行預(yù)訓(xùn)練的方式。在文本建模方面,BERT采用基于注意力機制的方法,讓輸入序列中的每個詞都聚焦到其他詞中,更好地實現(xiàn)語義層面的理解。BERT采用雙向編碼的機制更好地將詞的上下文信息填充到詞向量當(dāng)中,使該詞向量的表示更為準(zhǔn)確。該模型的具體結(jié)構(gòu)圖如圖2所示。
圖2 BERT預(yù)訓(xùn)練模型結(jié)構(gòu)圖
由于傳統(tǒng)的RNN根據(jù)信息傳遞的機制,將之前神經(jīng)元的輸出信息作為當(dāng)前神經(jīng)元學(xué)習(xí)的一部分來表示當(dāng)前字詞與上文的信息關(guān)聯(lián)特征,這種單線記錄方式會導(dǎo)致RNN很難處理具有長期依賴的信息內(nèi)容,在相同場景有類似詞語出現(xiàn)在相同位置時很難做出正確的選擇。LSTM通過引入“門”的概念來控制向后傳遞的信息量,從而可以達(dá)到篩選信息量的效果。門實質(zhì)是一個σ函數(shù),具體的有以下三種:遺忘門、輸入門和輸出門。如圖3所示。
圖3 LSTM細(xì)胞單元結(jié)構(gòu)
1)遺忘門:選擇要從傳遞過來的信息中丟棄哪些信息,其計算公式如式(1)所示:
2)輸入門:選擇與當(dāng)前詞相關(guān)的信息進(jìn)行輸入。式(2)表示上一個時刻輸入的信息;式(3)表示細(xì)胞狀態(tài)的候選值;式(4)表示當(dāng)前細(xì)胞的狀態(tài):
3)輸出門:根據(jù)細(xì)胞的狀態(tài)來確定輸出的值,其計算公式分別為式(5)和式(6):
上述式中,t表示時刻,h表示隱藏狀態(tài),x表示輸入詞,C表示細(xì)胞狀態(tài)。
本文采用的BiLSTM是以LSTM為理論基礎(chǔ),通過采用雙向傳遞的形式解決LSTM無法傳遞從后往前的信息的問題。
雖然BiLSTM通過判斷每個標(biāo)簽的預(yù)測分?jǐn)?shù)來選取最優(yōu)的輸出標(biāo)簽,但在正常的輸出的標(biāo)簽當(dāng)中,由于標(biāo)簽和標(biāo)簽中存在限制關(guān)系,單獨根據(jù)BiLSTM輸出的標(biāo)簽并不能完整的顯示輸出的標(biāo)簽情況,為此需要在BiLSTM輸出的基礎(chǔ)之上添加一層網(wǎng)絡(luò)結(jié)構(gòu)來引入標(biāo)簽之間的約束關(guān)系,形成最終的預(yù)測標(biāo)簽。
CRF(條件隨機場)是一個序列化標(biāo)注算法,作用為在輸入標(biāo)簽序列的基礎(chǔ)上增加約束關(guān)系來確保預(yù)測序列的輸出更加合理。假設(shè)輸入序列為X=(x1,x2,x3,...,xn),輸出的標(biāo)簽序列為y=(y1,y2,y3,...,yn),則標(biāo)簽序列的分?jǐn)?shù)如式(7)所示:
式(7)中狀態(tài)轉(zhuǎn)移矩陣為W,標(biāo)簽的狀態(tài)轉(zhuǎn)換分?jǐn)?shù)值為Wyi,yi+1,對應(yīng)位置為i+1的輸入輸出序列分?jǐn)?shù)值為Pi+1,yi+1,則y的概率如式(8)所示:
式(8)中為真實值,Yx為所有可能的標(biāo)簽序列集合,通過極大似然估計法最終得到的標(biāo)簽序列,如式(9)所示:
本文采用的是自建數(shù)據(jù)集,所用的語料為自行收集的關(guān)于智能制造裝備的專利摘要,通過對收集到的語料進(jìn)行分析篩選,選取智能制造中具有一定代表性的類型(如數(shù)控機床、工業(yè)機器人等)進(jìn)行實驗,共得到有效摘要文本1838個。通過分析智能制造裝備的專利摘要的特點,設(shè)置了三種實體類別,分別為智能制造裝備的名稱(NAM)、智能制造裝備的應(yīng)用領(lǐng)域(DOM)以及構(gòu)成智能制造裝備所涉及的模塊部件(PAR)。各類實體的統(tǒng)計信息如表1所示。
表1 各類實體統(tǒng)計信息
本文構(gòu)建針對智能制造裝備的專利的命名實體識別數(shù)據(jù)集的標(biāo)注處理采用的是BIO的方式,結(jié)合本文分類的實體類別,一共有7種待預(yù)測的標(biāo)簽類型,分別為:“B-NAM”,“I-NAM”,“B-DOM”,“I-DOM”,“B-PAR”,“I-PAR”,“O”。標(biāo)注示例如表2所示。
表2 標(biāo)注示例
按照實驗要求,將數(shù)據(jù)集分為訓(xùn)練集、測試集和驗證集,三者文本占比大致為71.11%、15.34%、13.55%,具體信息如表3所示。
表3 數(shù)據(jù)集組成情況
本文采用的三個評價指標(biāo),分別為:準(zhǔn)確率(P)、召回率(R)和F1值,這幾項指標(biāo)的值越高,表示模型的綜合性能越好。各項指標(biāo)的具體計算公式如式(10)~式(12)所示:
本實驗環(huán)境基于Ubuntu16.04,內(nèi)存32G,GPU采用1080Ti(11GB)。軟件環(huán)境包括Python3.6、Tensorflow1.12.0。
本文模型參數(shù)設(shè)置如表4所示。
表4 模型參數(shù)
BERT-BiLSTM-CRF模型中,BERT采用谷歌的中文預(yù)訓(xùn)練模型,并對模型部分參數(shù)進(jìn)行更新設(shè)置。本文根據(jù)對數(shù)據(jù)集中句子長度的分析發(fā)現(xiàn),每個句子中的漢字?jǐn)?shù)大概集中在200-300字左右,因此,最大序列長度設(shè)置為256個漢字,當(dāng)句子長度大于256字時,從前向后截取前256個字作為輸入,不足256個字的則采用padding的方法進(jìn)行補齊,填充的內(nèi)容為0。
本文設(shè)置了與傳統(tǒng)BiLSTM、BiLSTM-CRF的對比試驗來進(jìn)一步描述本文模型的有效性。
4.4.1 模型實驗結(jié)果
本文模型的識別結(jié)果如表5所示。
表5 各類實體識別的性能
從表5中可以看出,模型對于智能制造裝備的專利領(lǐng)域的識別效果已經(jīng)達(dá)到90%以上,對名字的識別達(dá)到了85%以上。由于智能制造裝備的專利中,一個智能制造裝備的組成部分往往有許多、部分專利中描述的組成部分占據(jù)了大量的文本內(nèi)容,而部分裝置的組成部分卻比較簡單,造成文本和文本之間存在一定的差異,其次智能制造裝備專利中關(guān)于裝置的組成部分含有一些不常見的部件表述,所以在識別起來存在一定難度,但本文所述的模型在組成部分方面也達(dá)到了80%以上的值。由于一個智能制造裝備的專利文本中,包含的組成部分的數(shù)據(jù)往往大于名字和領(lǐng)域的數(shù)據(jù),故最終結(jié)果會偏向于組成部分的性能。在現(xiàn)有有限的數(shù)據(jù)樣本中,本文的模型結(jié)果仍能達(dá)到80%左右的識別水平。
4.4.2 相關(guān)對比實驗
本文對下述模型在實驗自建的智能制造專利數(shù)據(jù)集上分別進(jìn)行多次實驗,并對各個標(biāo)簽類型的實驗結(jié)果進(jìn)行匯總?cè)∑骄?,具體的實驗結(jié)果如表6所示。
表6 各模型實驗結(jié)果
根據(jù)對比實驗分析,本文采用的基于BERT命名實體識別模型相比于其他模型在各項指標(biāo)上都得到了一定的提升。
本文針對智能制造裝備的專利的分析,采用BERTBiLSTM-CRF模型,通過BERT預(yù)訓(xùn)練模型來表述文本的字向量,通過BiLSTM做上下文特征提取,最后采用CRF來達(dá)到增加約束條件的效果,使預(yù)測的標(biāo)簽序列更加規(guī)范合理。本文通過對智能制造裝備的專利摘要進(jìn)行命名實體識別,提取出專利的名稱、應(yīng)用領(lǐng)域和智能制造裝備的組成成分。實驗結(jié)果表明,本文的模型在自建的智能制造裝備的專利數(shù)據(jù)集上與傳統(tǒng)的方法相比,三項指標(biāo)均占優(yōu)勢。這為后續(xù)智能制造裝備的專利的進(jìn)一步分析提供了基礎(chǔ),也為后續(xù)智能制造裝備其余自然語言處理的工作提供了基礎(chǔ)。在未來的工作中,該自建的數(shù)據(jù)集數(shù)據(jù)量還不足,后續(xù)仍需繼續(xù)完善數(shù)據(jù)集;在數(shù)據(jù)集實體分類上,將增加組成部分的劃分,平衡每個實體類別的數(shù)量。