高達(dá)林,周金柱,樊國壯,甘宇鵬,董曉冬
(西安電子科技大學(xué)高性能電子裝備機(jī)電集成制造全國重點實驗室,陜西 西安 710071)
電子技術(shù)的迅猛發(fā)展正在塑造著未來的生活方式。微波技術(shù)作為電子領(lǐng)域的前沿科技,在無線通信[1]、雷達(dá)探測[2]、醫(yī)療設(shè)備[3]等眾多領(lǐng)域展現(xiàn)出卓越的應(yīng)用潛力。微波組件作為微波技術(shù)的核心,承擔(dān)著傳輸、接收和處理微波信號的關(guān)鍵任務(wù)。隨著微波組件的高度復(fù)雜化和精密化,微波組件的裝配也愈發(fā)困難。裝配過程中引起組件性能下降的裝調(diào)因素是多種多樣的,往往發(fā)生即使?jié)M足裝配要求產(chǎn)品性能仍可能不達(dá)標(biāo)的現(xiàn)象,因而產(chǎn)生了大量調(diào)試工作[4]。微波組件的調(diào)試是確保其正常運(yùn)行的關(guān)鍵環(huán)節(jié),也是保障電子設(shè)備正常生產(chǎn)裝配不可或缺的一環(huán)[5]。
目前,微波產(chǎn)品調(diào)試過程面臨挑戰(zhàn),調(diào)試經(jīng)驗的積累困難,且傳承困難。傳統(tǒng)的調(diào)試方法仍然以口口相傳和經(jīng)驗積累為主[6],缺乏系統(tǒng)性的教學(xué)與指導(dǎo),導(dǎo)致初調(diào)者在面對微波產(chǎn)品故障時無法迅速獲取有效的解決方案。但值得注意的是,當(dāng)前存在著大量的故障文本數(shù)據(jù),這些數(shù)據(jù)具有潛在的價值,可以為調(diào)試工程師提供有效的指導(dǎo)。不過在過去的調(diào)試實踐中,雖然故障文本存在,但由于缺乏系統(tǒng)性的整理和指導(dǎo),初調(diào)者往往難以從中獲得清晰、系統(tǒng)的調(diào)試路徑。
隨著人工智能的發(fā)展[7–8],利用知識抽取技術(shù),通過智能算法和模型,能夠從海量非結(jié)構(gòu)化數(shù)據(jù)中提取出有用的信息和知識。知識抽取技術(shù)為微波組件裝調(diào)測帶來了全新的可能性,通過充分利用微波組件的歷史歸零報告、失效案例、故障文本等非結(jié)構(gòu)化數(shù)據(jù),將其中蘊(yùn)含的寶貴知識抽取出來,用以指導(dǎo)微波組件調(diào)試工作及對裝配過程中的重要裝調(diào)要素預(yù)警,有助于及早發(fā)現(xiàn)和解決潛在問題,提高產(chǎn)品質(zhì)量,降低生產(chǎn)成本。該技術(shù)的通用性在生物醫(yī)療、法律、金融領(lǐng)域得到了證實[9]。
本文將深入探討如何運(yùn)用知識抽取技術(shù),使得歷史故障數(shù)據(jù)不再是信息的簡單堆砌,而成為指導(dǎo)調(diào)試的寶貴知識資產(chǎn)。探討知識抽取技術(shù)在微波組件調(diào)試中的應(yīng)用,使調(diào)試人員更高效地解決微波組件裝調(diào)測中的復(fù)雜問題。在這一新興領(lǐng)域的探索中,知識抽取技術(shù)將為微波組件的裝調(diào)測帶來智能化變革。
本文收集了400余條微波組件維修案例、60余篇相關(guān)論文和專業(yè)領(lǐng)域的書籍,構(gòu)建了一份詳實的實驗數(shù)據(jù)集。其示例如圖1所示,其中涉及微波組件失效現(xiàn)象、失效機(jī)理、失效模式、針對微波組件失效所采取的調(diào)試手段等的具體描述。
圖1 微波組件故障文本示例
通過對全部超16萬字的微波組件故障文本語料進(jìn)行分析統(tǒng)計,得到構(gòu)建微波組件故障知識圖譜所需的微波組件、芯片/無源器件、失效現(xiàn)象、失效模式、失效機(jī)理及調(diào)試手段6種實體類型(表1)以及組成、發(fā)生、伴隨、屬于、原因及方案6種關(guān)系類型(表2)。
表1 實體類型
表2 實體類型
依據(jù)規(guī)定的實體和關(guān)系類型,構(gòu)建微波組件故障知識圖譜的模式層,如圖2所示。
圖2 微波組件故障模式層
微波組件故障數(shù)據(jù)通過非結(jié)構(gòu)化文本的方式描述微波組件故障領(lǐng)域?qū)嶓w及相互關(guān)系。相比于圖形結(jié)構(gòu)的表達(dá)方式,自然語言的表述方式存在關(guān)系描述形式多樣且涵義模糊不清等問題。
針對微波組件故障領(lǐng)域的特殊性,本文在構(gòu)建好模式層后,依據(jù)6種實體類型和6種關(guān)系類型,將故障數(shù)據(jù)進(jìn)行數(shù)據(jù)標(biāo)注。
本文采用“BIO”策略處理標(biāo)注的實體,其中“B”表示實體的起始位置(Beginning),“I”表示實體內(nèi)部的位置(Inside),“O ”表示非實體的位置(Outside)。將文本序列中的每個字符標(biāo)記為實體的起始位置、內(nèi)部位置或非實體位置,從而對實體進(jìn)行準(zhǔn)確的定位和識別。
如圖3所示,針對句子“微波二極管用于頻率合成器,外場使用時鎖相環(huán)路失鎖”一句中,“微波二極管”一詞標(biāo)注為“無源器件”標(biāo)簽,“微”字作為首字母,由“B–”作開頭,以其標(biāo)簽的英文簡寫“DEV”作為后綴;“頻率合成器”一詞標(biāo)注為“微波組件”標(biāo)簽,“頻”字作為首字母,由“B–”作開頭,以其標(biāo)簽的英文簡寫“COM”作為后綴。
圖3 BIO標(biāo)注示例
BIO策略的設(shè)計簡單直觀,易于理解和實現(xiàn)。通過對微波故障文本數(shù)據(jù)集進(jìn)行“BIO”標(biāo)注,可以輕松地確定實體的起始位置和邊界,有利于后續(xù)的處理和分析,因較靈活可適用于多種模型。
為了構(gòu)建抽取效果更好的微波組件故障知識抽取模型,本文采用CasRel-LN模型。該模型分為3個部分:BERT編碼器、主體標(biāo)記模型(subject tagging model)和特定關(guān)系下客體標(biāo)記模型(relation-specific object tagging model),如圖4所示。其中,BERT編碼器用于文本編碼;主體標(biāo)記模型用于句子中的主體(Subject)識別;特定關(guān)系下客體標(biāo)記模型根據(jù)識別出的主體,尋找可能的關(guān)系(Relation)和客體(Object)。
圖4 CasRel-LN模型
從總體來看,抽取任務(wù)分為3個步驟:1)通過預(yù)訓(xùn)練BERT模型對微波組件故障文本進(jìn)行編碼;2)通過主體標(biāo)記模型得到所有微波組件故障文本中所有可能的實體;3)針對每一個主體,使用特定關(guān)系下客體標(biāo)記模型來同時識別所有可能的關(guān)系和特定關(guān)系下的客體。
CasRel-LN模型中使用了BERT預(yù)訓(xùn)練編碼器來獲取句子的語義信息、句法結(jié)構(gòu)、位置信息等深層語義信息。其中BERT 編碼層包含多層雙向“Transformer”結(jié)構(gòu),在大規(guī)模未標(biāo)注數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,為實體關(guān)系抽取任務(wù)提供初始化參數(shù)時,使用雙向自注意力機(jī)制,使其可以學(xué)到更深層的語法和語義信息。
基于CasRel-LN模型中預(yù)訓(xùn)練的BERT編碼器對微波組件故障文本進(jìn)行編碼的主要過程如下:1)使用Tokenization分詞器將輸入的微波組件故障文本分解成基本的單元詞向量“Token Embeddings”,并為輸入微波組件故障文本的開頭添加特殊標(biāo)記[CLS],結(jié)尾添加特殊標(biāo)記[SEP];2)添加“Segment Embeddings”,用于區(qū)分句子對任務(wù)中的兩個句子;3)添加“Positional Embeddings”用于表征“token”在序列中的相對位置。最終形成的輸入由上述3部分組成,如圖5所示。
圖5 BERT編碼層輸入示意圖
用BERT模型為微波組件故障文本編碼,輸出文本的詞向量,用主體及實體類型標(biāo)記模型標(biāo)記出每個實體的起始位置和結(jié)束位置,如圖6所示。
圖6 標(biāo)注實體結(jié)果示例
主體標(biāo)記模型將輸出的字符作為主體(Subject)開始和結(jié)束位置的概率,表示如下:
模型會為文本中每個“token”計算出一個概率值,并將其轉(zhuǎn)化為二元標(biāo)記(0或1),標(biāo)記為1則認(rèn)定為實體的邊界。判斷每個概率值是否超過設(shè)定的閾值,如果概率值大于閾值,則將對應(yīng)的token標(biāo)記為1,否則標(biāo)記為0。
CasRel模型在主體抽取模塊中不支持實體類型解碼,而知識抽取時需要對實體的具體類型進(jìn)行解碼,因此需要額外添加一個實體類型分類器,以在實體邊界標(biāo)注的基礎(chǔ)上對實體類型進(jìn)行額外的分類,同時獲取實體的邊界和類型信息,如圖7所示。
圖7 實體類型分類示例
為了抽取特定關(guān)系下的客體時融合主體的特征信息,將預(yù)訓(xùn)練BERT模型輸出的編碼數(shù)據(jù)hN與主體及實體類型標(biāo)記模型標(biāo)注出的主體特征信息相加,獲得特定關(guān)系下客體標(biāo)記模型的輸入向量X:
在模型訓(xùn)練中要防止特征的學(xué)習(xí)能力降低,確保模型能夠更好地捕捉輸入數(shù)據(jù)的信息。本文采用層歸一化(Layer Normalization, LN)方法,有助于提高模型的魯棒性,防止梯度爆炸,加速收斂,表示如下:
式中:xi為輸入向量X中對應(yīng)第i個位置的向量;μ為輸入向量的均值;σ是輸入向量的標(biāo)準(zhǔn)差;β和γ′分別是尺度參數(shù)和偏移參數(shù),是神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練的參數(shù);ε為一個很小的常量,用于防止相除時分母為0。
將編碼數(shù)據(jù)hN與實體特征信息融合后得到輸入向量X,通過特定關(guān)系下客體標(biāo)記模型標(biāo)記出所有對應(yīng)關(guān)系下客體的起始和結(jié)束位置,如圖8所示。
圖8 標(biāo)注關(guān)系結(jié)果示例
特定關(guān)系下客體標(biāo)記模型將輸出的字符作為客體(Object)開始和結(jié)束位置的概率,表示如下:
實驗環(huán)境使用的是Windows操作系統(tǒng),GPU選用NVIDIA GeForce GTX2080Ti,基于pytorch框架使用python 3.6版本進(jìn)行搭建,其中BERT使用的是谷歌提供的中文BERT預(yù)訓(xùn)練模型“bert-base-chinese”。設(shè)計Focal Loss損失函數(shù)的目的之一是解決類別不平衡問題。平衡因子α用于調(diào)節(jié)正負(fù)樣本的權(quán)重,使模型更關(guān)注少數(shù)類別樣本。選擇較大的α值有助于增加少數(shù)類別樣本的權(quán)重,從而提高模型對少數(shù)類別的關(guān)注度。焦點因子γ用于調(diào)節(jié)Focal Loss函數(shù)中的聚焦程度。設(shè)置γ值有助于減輕模型對易分類樣本的影響,更加關(guān)注難分類的樣本,從而提高模型的泛化能力。選擇α= 0.96,γ= 2的組合可以取得較好的模型性能。超參數(shù)設(shè)置見表3。
表3 模型參數(shù)表
BERT模型的最大輸入長度是512個“token”,因此最大句子長度取512。開始時可以設(shè)置較小的迭代次數(shù),再逐步增加,直到模型性能不再提高,最終迭代次數(shù)取100。根據(jù)經(jīng)驗,批量大小取32。由于微波組件故障文本數(shù)據(jù)語料庫規(guī)模較小,為防止過擬合,節(jié)省計算資源,詞嵌入大小取50,字符嵌入大小取50。根據(jù)經(jīng)驗,學(xué)習(xí)率取0.01。
文中使用精確率P(Precision)、召回率R(Recall)及F1值(F1-score)[10]3個指標(biāo)來評估模型的性能。在通常情況下,精確率和召回率是相互矛盾的,提高精確率會降低召回率,反之亦然。F1值是一個直觀易懂的評價指標(biāo),將模型的精確率和召回率綜合在一個值中,便于比較不同模型的性能。計算公式如下:
式中:TP為被成功識別到的正確三元組數(shù)目;FP為識別到的錯誤三元組數(shù)目;FN為未被成功識別到的正確三元組數(shù)目。F1值范圍在0到1之間,值越大表示模型的性能越好,同時兼顧了模型的精確性和全面性。本文對來源原文的應(yīng)用領(lǐng)域進(jìn)行了擴(kuò)展,將精確率P、召回率R以及F1值應(yīng)用在微波組件故障文本的知識抽取上。
為了驗證所提模型在微波組件故障數(shù)據(jù)集上知識抽取的有效性,將其與其他幾個較好的知識抽取模型進(jìn)行比較。其他幾個較好的知識抽取模型為NovelTagging[11],CopyRE[12],GraphRel[13]和Cas-Rel[14]。NovelTagging提出了一種新的標(biāo)注模式,把聯(lián)合任務(wù)轉(zhuǎn)化為標(biāo)簽問題,然后通過雙向樹結(jié)構(gòu)的長短時記憶神經(jīng)網(wǎng)絡(luò),將每種關(guān)系以及主體和客體的序號組合起來進(jìn)行關(guān)系抽取,并根據(jù)最后的標(biāo)注結(jié)果進(jìn)行解碼,進(jìn)而得到關(guān)系三元組。CopyRE使用了基于Seq2Seq學(xué)習(xí)框架的端到端神經(jīng)網(wǎng)絡(luò)模型。該模型將關(guān)系三元組的抽取問題視為序列到序列的生成問題,模型可以學(xué)習(xí)從給定的句子中提取實體和關(guān)系任務(wù),類似于將其翻譯成目標(biāo)語言,能更好地處理結(jié)構(gòu)化信息的抽取任務(wù)。GraphRel提出了一種基于圖卷積網(wǎng)絡(luò)(Graphic Convolutional Nets, GCNs)的端到端關(guān)聯(lián)抽取模型GraphRel,利用圖卷積網(wǎng)絡(luò)聯(lián)合學(xué)習(xí)命名實體和關(guān)系。通過關(guān)系加權(quán)的GCN來考慮命名實體和關(guān)系之間的相互作用,以更好地提取關(guān)系。CasRel是基于參數(shù)共享的實體關(guān)系聯(lián)合抽取方法。它首先檢測出輸入文本中所有可能的主體,然后為預(yù)測主體找到關(guān)系和對應(yīng)客體。
為了確保實驗的準(zhǔn)確性,下面的所有模型都是在相同輸入下進(jìn)行比較的,輸入皆為對微波組件故障文本分析與預(yù)處理后得到的文本數(shù)據(jù)集。各模型的對比實驗結(jié)果見表4。
表4 實驗對比結(jié)果
本文實體關(guān)系抽取使用的CasRel-LN算法成功實現(xiàn)了對測試集文本的實體抽取驗證,共抽取了16 586個字符,準(zhǔn)確率為63.3%,召回率為51.9%,F(xiàn)1值為61.6%,其性能在較常見的相關(guān)模型基礎(chǔ)上皆有所提高。與基線模型CasRel相比,CasRel-LN算法加入LN層進(jìn)行預(yù)測后,測試F1值提升了1.2%,表明LN層對標(biāo)簽預(yù)測產(chǎn)生了正向約束效果,提升了整體性能。
綜上所述,CasRel-LN模型的知識抽取綜合性能比其他模型更優(yōu),并且可以識別實體類型,證明了CasRel-LN模型對微波組件故障專業(yè)領(lǐng)域知識抽取的有效性。
本文通過知識抽取算法,從微波組件故障文本數(shù)據(jù)集中抽取出1 568個實體和1 618條三元組,選擇使用Neo4j圖數(shù)據(jù)庫作為知識圖譜的存儲引擎,并利用其內(nèi)置的可視化工具展示圖譜結(jié)構(gòu)。圖9為微波組件故障知識圖譜部分示意圖。
圖9 微波組件故障知識圖譜
本文探討了知識抽取技術(shù)在微波組件故障文本數(shù)據(jù)中的應(yīng)用,旨在通過抽取微波組件維修記錄、相關(guān)論文和領(lǐng)域書籍中的故障文本信息提高微波組件調(diào)試的效率與準(zhǔn)確性。本文充分考慮微波組件故障文本的特點,針對文本中存在的知識三元組重疊問題,提出了一種基于CasRel-LN模型的知識抽取算法。以真實的微波組件故障文本數(shù)據(jù)為基礎(chǔ)進(jìn)行實驗,得到F1值為61.6%,證明該模型可完成微波組件領(lǐng)域的知識抽取任務(wù)。不過,該算法仍存在抽取不精確的問題,在后續(xù)研究中需進(jìn)一步完善數(shù)據(jù)集,改進(jìn)模型,使微波組件故障知識抽取更全面。