楊雯迪,任春華,孫潔香
(1.西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都 611756;2.北京機(jī)械工業(yè)自動(dòng)化研究所有限公司,北京 100120)
在制造業(yè)產(chǎn)業(yè)協(xié)同與信息化技術(shù)支撐四川省重點(diǎn)實(shí)驗(yàn)室研發(fā)的汽車產(chǎn)業(yè)鏈協(xié)同平臺(tái)上匯聚了多條汽車產(chǎn)業(yè)價(jià)值鏈的銷售、配件、服務(wù)等業(yè)務(wù)協(xié)同數(shù)據(jù),其中包括大量非結(jié)構(gòu)化的文本數(shù)據(jù),由于描述性的故障文本信息包含了大量汽車維修知識(shí),具有增值服務(wù)價(jià)值。利用文本數(shù)據(jù)的前提是將文本數(shù)據(jù)轉(zhuǎn)換為知識(shí),針對(duì)故障文本的命名實(shí)體識(shí)別作為知識(shí)庫建立、故障分類、故障關(guān)系發(fā)現(xiàn)、故障診斷等應(yīng)用服務(wù)的上游任務(wù),為后期應(yīng)用提供基礎(chǔ)支撐。
在中文命名實(shí)體識(shí)別中,由于文本不像英文具有自然分割的特征,常見的做法使用分詞邊界標(biāo)記作為特征進(jìn)行基于詞的序列標(biāo)注,該類方法忽略了漢字字符的表征能力且依賴于分詞效果[1]。因此大多數(shù)模型為避免分詞工具帶來的分割錯(cuò)誤,直接利用字符進(jìn)行特征提取,模型主要包括長(zhǎng)短時(shí)記憶(LSTM)網(wǎng)絡(luò)、雙向長(zhǎng)短時(shí)記(Bi-LSTM)網(wǎng)絡(luò),以及條件隨機(jī)場(chǎng)(CRF)等[2],但是基于字符的命名實(shí)體識(shí)別并沒有充分利用漢語詞匯信息,對(duì)于汽車維修這樣的專業(yè)領(lǐng)域來說,故障件“后橋支架”在模型中經(jīng)常會(huì)被認(rèn)為是“后橋”和“支架”兩個(gè)實(shí)體。如何更好地在命名實(shí)體識(shí)別中利用中文詞匯信息一直受到研究的關(guān)注[2]。其中,文獻(xiàn)[3]提出了Lattice-LSTM模型,將詞匯信息整合到了基于字符的NER中。由于網(wǎng)絡(luò)結(jié)構(gòu)的增加,模型的可操作性小、訓(xùn)練難度大且與其他后續(xù)模型的結(jié)合性不高,模型的專業(yè)領(lǐng)域應(yīng)用性不高,因此本文提出一種面向?qū)I(yè)領(lǐng)域詞匯增強(qiáng)的命名實(shí)體識(shí)別模型(Named Entity Recognition model based on lexically Enhanced,Enhanced_NER模型)。模型首先采用一種基于詞典的雙層標(biāo)注方式對(duì)汽車維修領(lǐng)域故障文本進(jìn)行數(shù)據(jù)預(yù)處理。接著利用BERT獲取字符的上下文信息,其次利用Word2Vec獲取分詞后的詞匯信息,進(jìn)而得到文本數(shù)據(jù)的向量特征,并利用加權(quán)的方式將詞匯特征連接到相應(yīng)的字符表示中。最后利用詞匯增強(qiáng)的字符特征構(gòu)建BiLSTM_CRF模型實(shí)現(xiàn)文本的實(shí)體識(shí)別。
針對(duì)汽車維修領(lǐng)域的文本處理,由于數(shù)據(jù)的預(yù)處理難度大且缺乏足夠的標(biāo)記訓(xùn)練數(shù)據(jù)[7],研究主要集中于故障文本分類和特征提取。針對(duì)故障文本特征提取,文獻(xiàn)[5]利用TF-IDF實(shí)現(xiàn)了故障診斷模型中的文本特征提取。文獻(xiàn)[6]將字向量作為輸入,提出一種利用卷積神經(jīng)網(wǎng)絡(luò)的小樣本文本特征提取方法,并結(jié)合隨機(jī)森林模型實(shí)現(xiàn)了飛機(jī)設(shè)備的故障原因判別。然而,現(xiàn)有研究在涉及故障文本知識(shí)命名實(shí)體識(shí)別時(shí)多采用規(guī)則和詞典的方式,沒有特定的故障知識(shí)命名實(shí)體識(shí)別模型。
針對(duì)于汽車產(chǎn)業(yè)鏈平臺(tái)所產(chǎn)生的故障文本數(shù)據(jù)處理,除了缺少充足的標(biāo)注預(yù)料外,仍存在以下難點(diǎn):
(1)故障文本數(shù)據(jù)多為人工錄入的短文本表述,存在錄入不規(guī)范、描述口語化、語義不完整等現(xiàn)象[7]。
(2)故障文本實(shí)體識(shí)別具有領(lǐng)域?qū)I(yè)性,導(dǎo)致文本中的實(shí)體與領(lǐng)域?qū)I(yè)詞匯高度關(guān)聯(lián),分布密度高于通用領(lǐng)域文本,實(shí)體分布集中。
(3)部分實(shí)體結(jié)構(gòu)復(fù)雜,實(shí)體間存在相互嵌套的情況[8]。例如容易將“一缸噴油器”中的“噴油器”識(shí)別為一個(gè)單獨(dú)的實(shí)體,因此需要結(jié)合上下文位置信息,準(zhǔn)確定位實(shí)體邊界。
如何在基于字符向量的模型中融合詞匯信息是近期研究的熱點(diǎn)。文獻(xiàn)[9]通過對(duì)N-Gram的卷積操作來得到句子中的潛在詞語信息,并引入Rethinking機(jī)制,讓模型重新思考。文獻(xiàn)[10]提出的FLAT模型將格子轉(zhuǎn)化為一維平面結(jié)構(gòu),提高模型的性能和效率。文獻(xiàn)[11]提出WC-LSTM模型,對(duì)RNN編碼進(jìn)行了改進(jìn),并提出了4種編碼策略。文獻(xiàn)[12]利用一個(gè)多維圖結(jié)構(gòu)來融合詞匯信息,最后采用GRU網(wǎng)絡(luò)進(jìn)行更新。
對(duì)于詞匯融合的命名實(shí)體識(shí)別而言,大多模型都具有結(jié)構(gòu)復(fù)雜、計(jì)算性能低下、模型可移植性差的缺陷,且研究主要針對(duì)比較規(guī)整的公開數(shù)據(jù)集,未對(duì)專業(yè)領(lǐng)域進(jìn)行實(shí)際的應(yīng)用。一方面針對(duì)專業(yè)領(lǐng)域暫時(shí)無法獲得良好的標(biāo)注數(shù)據(jù),數(shù)據(jù)處理的難度大,另一方面模型的復(fù)雜度高難以達(dá)到實(shí)際應(yīng)用的要求。
通過對(duì)汽車維修領(lǐng)域故障文本分析,針對(duì)現(xiàn)有模型網(wǎng)絡(luò)層次復(fù)雜、專業(yè)領(lǐng)域應(yīng)用不強(qiáng)等問題,而本文提出的Enhanced_NER模型在不增加模型網(wǎng)絡(luò)復(fù)雜度的前提下,顯式地表示詞匯信息,以達(dá)到詞匯增強(qiáng)的字符表示效果,進(jìn)一步提高汽車故障文本實(shí)體識(shí)別的精確度。
本文提出的支持汽車故障數(shù)據(jù)增值的詞匯增強(qiáng)命名實(shí)體識(shí)別方法的技術(shù)路線如圖1所示,主要分為針對(duì)汽車故障專業(yè)領(lǐng)域的文本數(shù)據(jù)處理、融合字詞信息的文本特征構(gòu)建和命名實(shí)體識(shí)別模型實(shí)現(xiàn)3個(gè)部分。
圖1 詞匯增強(qiáng)命名實(shí)體識(shí)別技術(shù)路線
本文所研究的汽車故障領(lǐng)域數(shù)據(jù)來自于汽車產(chǎn)業(yè)鏈協(xié)同平臺(tái)。本文利用配件、故障等基礎(chǔ)信息結(jié)合汽車維修領(lǐng)域的第三方信息建立故障領(lǐng)域詞典,以適應(yīng)汽車維修領(lǐng)域故障知識(shí)識(shí)別的需求。保證專業(yè)領(lǐng)域的數(shù)據(jù)標(biāo)注能滿足模型訓(xùn)練需要,本文采用一種基于詞典的雙層標(biāo)注方式,該方法的流程在圖1中已有相應(yīng)展示。本文采用BIOES的序列標(biāo)注法,便于訓(xùn)練數(shù)據(jù)能在多個(gè)模型上進(jìn)行實(shí)驗(yàn)?;谠~典的雙層數(shù)據(jù)標(biāo)注的具體步驟如下:
(1)對(duì)于故障文本序列集合T=T1…T n,利用自主開發(fā)的標(biāo)注輔助工具進(jìn)行人工標(biāo)注,得到一層人工序列標(biāo)注X。
(2)根據(jù)建立的領(lǐng)域詞典D,與故障文本序列T詞典匹配,得到匹配結(jié)果Y=T∪D。
(3)利用極大似然估計(jì)計(jì)算故障文本序列T的聯(lián)合條件概率,如式(1)所示,最終得到二層核驗(yàn)序列標(biāo)注R。
Lattice-LSTM模型是將潛在的單詞信息集成到基于字符的LSTM-CRF模型中,通過利用Lattice結(jié)構(gòu)表示句子中的詞匯。為了保存所有可能匹配詞匯信息,Lattice-LSTM在LSTM中添加了一條字符與詞典的連接,這樣的結(jié)構(gòu)將LSTM的鏈?zhǔn)浇Y(jié)構(gòu)轉(zhuǎn)化成了圖結(jié)構(gòu),如圖2所示。本文通過調(diào)整字符表示,直接將詞匯信息融合到字符表示中。本文所建立的Enhanced_NER模型的字符表示層如圖3所示,主要分為基于BERT獲取的字符特征、基于Word2Vec獲取的詞匯特征以及字詞特征的融合3個(gè)方面。
圖2 Lattice-LSTM模型
圖3 Enhanced_NER模型字符表示層
2.2.1 文本字詞特征的獲取
本文為了在字符特征中融合詞匯特征,首先利用BERT獲取文本字符表示,接著利用Word2Vec對(duì)分詞后的文本數(shù)據(jù)進(jìn)行詞向量訓(xùn)練,獲得可能對(duì)應(yīng)的詞匯特征,最終利用加權(quán)融合的方式將詞匯特征融入到字符特征中。
(1)字符特征的獲取。對(duì)于語言模型的研究經(jīng) 歷 了One_Hot、Word2Vec、ELMO、GPT到BERT[13]。本文所研究的故障文本數(shù)據(jù),例如在“客戶反映發(fā)動(dòng)機(jī)下有漏油現(xiàn)象,經(jīng)檢查發(fā)現(xiàn)是油底殼有裂紋導(dǎo)致,更換油底殼”中,“客戶反映”后多為故障現(xiàn)象,出現(xiàn)“導(dǎo)致”字段的多為故障原因,出現(xiàn)“更換”字段的多為解決方案,這類文本數(shù)據(jù)具有強(qiáng)有力的上下文特征,因此本文利用具有較強(qiáng)語義表征優(yōu)勢(shì)的BERT模型對(duì)文本數(shù)據(jù)的字符特征進(jìn)行預(yù)訓(xùn)練,盡可能保存文本的語境,進(jìn)而提高命名實(shí)體識(shí)別的準(zhǔn)確率。
(2)詞匯特征的獲取。目前針對(duì)中文文本的分詞工具較多,研究環(huán)境較為成熟,通過對(duì)汽車維修領(lǐng)域故障文本的分析,本文選取Jieba工具庫提供的精確分詞模式對(duì)汽車產(chǎn)業(yè)鏈協(xié)同平臺(tái)上的故障文本數(shù)據(jù)進(jìn)行分詞,本文將2.1小節(jié)中所建立的專業(yè)領(lǐng)域詞典添加到結(jié)巴分詞中,利用自定義詞典的方式避免分割錯(cuò)誤,提高分詞的轉(zhuǎn)準(zhǔn)確性。為了向量化文本數(shù)據(jù)中可能存在的詞匯信息,本文采用Word2Vec對(duì)分詞后的文本數(shù)據(jù)進(jìn)行詞向量的預(yù)處理,獲得詞匯特征。
2.2.2 詞匯增強(qiáng)的字符特征融合
通過對(duì)文本數(shù)據(jù)字符特征以及詞匯特征的提取后,為了使特征能夠輸入到基于字符的BiLSTM_CRF模型中,本文采用加權(quán)的方式將詞向量特征匹配到對(duì)應(yīng)的字符特征中,即為每個(gè)字符選擇一個(gè)最可能的詞匯信息。以“回油管斷裂”為例,詞匯增強(qiáng)的字符特征融合示意圖如圖4所示,具體步驟如下:
圖4 詞匯增強(qiáng)的字符特征融合
(1)將字符C與所有相關(guān)的分詞進(jìn)行匹配,獲得該字可能出現(xiàn)的所有實(shí)體標(biāo)記數(shù)量,由于本文采用BIOES的標(biāo)記方式,所以一個(gè)字符C的S(Ci)由B(Ci)、I(Ci)、O(Ci)、E(Ci)、S(Ci)組成,其中B(Ci)表示所有以字符C開始的實(shí)體:
其中D[i,k]表示在領(lǐng)域詞典D中以該字符為首的詞匯時(shí)的實(shí)體類別。I(Ci)、E(Ci)、S(Ci)的表示與B(Ci)的表示類似,其中由于S(Ci)是由一個(gè)字符組成的實(shí)體,因此可將其進(jìn)行簡(jiǎn)化,即S(C i)=C i。如果一個(gè)字符沒有在已有詞典中出現(xiàn)過詞匯組合,則在融合詞匯信息的過程中它應(yīng)該作為O標(biāo)簽,因此O(Ci)表示該字符未被匹配,O(C i)=0。
(2)獲得字符C的B(Ci)、I(Ci)、O(Ci)、E(Ci)、S(Ci)后,利用加權(quán)的方式將五個(gè)詞匯表示集合變?yōu)橐粋€(gè)字符詞匯表示向量W(Ci),由于無法準(zhǔn)確判定哪個(gè)標(biāo)簽表示的詞匯信息對(duì)于所識(shí)別的字符類別最為接近,本文采取該詞匯的詞頻作為權(quán)重,對(duì)BIOES標(biāo)簽進(jìn)行加權(quán)平均,最終W(Ci)的表示為:
其中,T(Wi)為字符Ci對(duì)應(yīng)的B(Ci)、I(Ci)、O(Ci)、E(Ci)、S(Ci),f(Wi)為字符Ci匹配到的詞匯Wi在文本數(shù)據(jù)中出現(xiàn)的頻率。
(3)最終,將字符的詞匯向量表示W(wǎng)(Ci)添加到通過BERT提取的字符本身特征C(Ci)中,組成融合詞匯信息的字符最終特征R(Ci):
由于單向的LSTM模型無法同時(shí)處理過去和未來的信息,文獻(xiàn)[14]提出了BiLSTM模型,將同時(shí)刻的輸出進(jìn)行前向和后向合并,可以有效地利用同一時(shí)刻過去和未來的特征。BiLSTM能夠處理長(zhǎng)距離的文本信息,預(yù)測(cè)出每個(gè)字輸入不同標(biāo)簽的概率,但卻忽略了標(biāo)簽之間的關(guān)聯(lián)性,而CRF能夠通過轉(zhuǎn)移矩陣的方式,使模型考慮標(biāo)簽之間的關(guān)聯(lián)性,進(jìn)而彌補(bǔ)BiLSTM無法考慮相鄰標(biāo)簽間依賴關(guān)系的缺陷。BiLSTM_CRF是目前比較流行的序列標(biāo)注算法,已有研究表明,該模型具有更好的魯棒性且能產(chǎn)生準(zhǔn)確的標(biāo)記性能[15]。
本文提出的Enhanced_NER模型改變了BiLSTM_CRF模型中的字符表示層,結(jié)合2.2小節(jié)提出的詞匯增強(qiáng)的字符表示,Enhanced_NER模型由輸入層、字符表示層、序列建模層、標(biāo)簽推理層和輸出層構(gòu)成,模型總體架構(gòu)如圖5所示。
圖5 Enhanced_NER模型的架構(gòu)
為了證明模型的有效性,本文將使用基于詞序列的命名實(shí)體識(shí)別模型、基于字序列的命名實(shí)體識(shí)別模型、Lattice-LSTM模型與本文提出的模型進(jìn)行對(duì)比分析。本文還利用模型對(duì)汽車產(chǎn)業(yè)鏈協(xié)同平臺(tái)其他數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),進(jìn)一步驗(yàn)證了Enhanced_NER模型的領(lǐng)域通用性。
本文選用LD故障文本數(shù)據(jù)集進(jìn)行模型訓(xùn)練,表1展示了不同模型的結(jié)果對(duì)比。
本文進(jìn)行了基于詞序列CRF模型實(shí)驗(yàn),基于字序列的CRF、LSTM、BiLSTM_CRF模型實(shí)現(xiàn)和字詞融合的Lattice-LSTM模型的實(shí)驗(yàn),為了驗(yàn)證不同嵌入向量對(duì)Enhanced_NER模型的影響,本文還進(jìn)行了不同的詞匯增強(qiáng)字符表示方式對(duì)比,包括基于Word2Vec的字詞向量、基于BERT的字向量與Word2Vec的詞向量、基于BERT字向量與添加了自定義分詞的詞向量訓(xùn)練,共9組實(shí)驗(yàn),如表1所示。
表1 LD數(shù)據(jù)集不同模型對(duì)比
最終發(fā)現(xiàn)利用基于BERT的字向量和利用Word2Vec訓(xùn)練的詞向量融合的字符表示的Enhanced_NER模型的結(jié)果在3項(xiàng)評(píng)價(jià)指標(biāo)的表現(xiàn)上都達(dá)到了最好的效果,因此利用BERT、Word2 Vec、BiLSTM、CRF結(jié)合的Enhanced_NER模型可以滿足LD故障文本數(shù)據(jù)集命名實(shí)體識(shí)別的需求。
本文對(duì)Enhanced_NER模型在LD故障文本數(shù)據(jù)集中故障件、故障現(xiàn)象、故障原因、解決方案4類實(shí)體的識(shí)別效果進(jìn)行了對(duì)比,如表2所示。
表2 Enhanced_NER模型對(duì)各類實(shí)體的識(shí)別效果對(duì)比
通過分析發(fā)現(xiàn)Enhanced_NER模型在故障件、故障現(xiàn)象這兩類實(shí)體的識(shí)別效果最好,達(dá)到了90%以上,但對(duì)于其他類別的實(shí)體來說,特別是故障原因類實(shí)體的識(shí)別表現(xiàn)不佳。這可能是因?yàn)樗鶚?gòu)建的詞匯信息中沒有故障原因相關(guān)詞條,對(duì)于該實(shí)體類別所對(duì)應(yīng)的字符來說無法進(jìn)行詞匯增強(qiáng),加之故障原因在文本數(shù)據(jù)中描述形式多種多樣,缺少像類似于故障現(xiàn)象中的“反映”和解決方案中的“更換”這類明顯的結(jié)構(gòu)特點(diǎn),因此模型在識(shí)別故障原因類實(shí)體時(shí)效果欠佳。
本文為避免模型結(jié)果的偶然性,利用汽車產(chǎn)業(yè)鏈協(xié)同平臺(tái)上整車制造廠WP和CQ的服務(wù)協(xié)同數(shù)據(jù)對(duì)Enhanced_NER模型進(jìn)行了實(shí)驗(yàn)。由表3可以看出LD領(lǐng)域詞典對(duì)WP和CQ數(shù)據(jù)集也有較好的實(shí)驗(yàn)結(jié)果,為了進(jìn)一步證明Enhanced_NER模型的可遷移性,本文針對(duì)WP和CQ數(shù)據(jù)對(duì)領(lǐng)域詞典進(jìn)行了相應(yīng)變動(dòng),最終模型的實(shí)驗(yàn)效果與LD數(shù)據(jù)集較為接近。通過對(duì)不同數(shù)據(jù)集的實(shí)驗(yàn),Enhanced_NER模型都取得了較好的結(jié)果,進(jìn)而可以看出Enhanced_NER模型具有一定的模型可遷移性和領(lǐng)域適用性。
表3 不同數(shù)據(jù)集Enhanced_NER模型對(duì)比
本文面向汽車維修領(lǐng)域故障知識(shí)命名實(shí)體識(shí)別的應(yīng)用需求,研究了領(lǐng)域文本數(shù)據(jù)的現(xiàn)狀和詞匯信息在命名實(shí)體識(shí)別中的應(yīng)用現(xiàn)狀,針對(duì)基于字符的實(shí)體識(shí)別模型無法利用詞匯信息以及Lattice-LSTM模型中基于字元的詞匯在專業(yè)領(lǐng)域的表現(xiàn)不足,提出了詞匯增強(qiáng)的命名實(shí)體識(shí)別模型Enhanced_NER。該模型利用將詞匯信息融入到字符向量中,實(shí)現(xiàn)了詞匯增強(qiáng)的字符表示,進(jìn)而利用BiLSTM_CRF結(jié)構(gòu)實(shí)現(xiàn)了詞匯增強(qiáng)的命名實(shí)體識(shí)別。該模型最終實(shí)現(xiàn)了汽車維修領(lǐng)域故障知識(shí)中關(guān)于故障件、故障現(xiàn)象、故障原因、解決方案的實(shí)體識(shí)別,并在汽車產(chǎn)業(yè)價(jià)值鏈協(xié)同數(shù)據(jù)空間的真實(shí)數(shù)據(jù)集上達(dá)到了良好的識(shí)別效果,通過實(shí)驗(yàn)進(jìn)一步驗(yàn)證了Enhanced_NER模型在汽車維修領(lǐng)域故障知識(shí)提取的有效性和適用性。在未來的研究中,將繼續(xù)探索Enhanced_NER模型在維修故障知識(shí)中的應(yīng)用。