本發(fā)明屬于機(jī)械故障診斷,特別涉及一種用于機(jī)械故障診斷知識(shí)圖譜構(gòu)造的實(shí)體抽取方法。
背景技術(shù):
1、為實(shí)現(xiàn)對(duì)機(jī)械設(shè)備的狀態(tài)分析、故障預(yù)判、風(fēng)險(xiǎn)評(píng)估、維保優(yōu)化等安全運(yùn)行需求,往往需要收集設(shè)備的各方面信息,對(duì)其進(jìn)行整合、篩選,最終提取出其中的關(guān)鍵信息來(lái)對(duì)設(shè)備進(jìn)行分析。
2、知識(shí)圖譜是一種用圖模型來(lái)描述知識(shí)和建模世界萬(wàn)物之間的關(guān)聯(lián)關(guān)系的技術(shù)方法,知識(shí)圖譜的構(gòu)建涉及知識(shí)建模、實(shí)體抽取、關(guān)系抽取、知識(shí)融合、圖存儲(chǔ)、關(guān)系推理等多方面的技術(shù),實(shí)體抽取是其中的一個(gè)關(guān)鍵技術(shù),能否準(zhǔn)確提取需要的實(shí)體將直接影響后續(xù)知識(shí)建模時(shí)的數(shù)據(jù)質(zhì)量和數(shù)量。同時(shí),知識(shí)圖譜的實(shí)體抽取過(guò)程實(shí)際上是一個(gè)將非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化的過(guò)程,通過(guò)傳統(tǒng)的算法來(lái)實(shí)現(xiàn)具有一定的難度。隨著transformer架構(gòu)的提出,越來(lái)越多基于其結(jié)構(gòu)的大模型在自然語(yǔ)言處理領(lǐng)域有了更好的效果,特別是在其基礎(chǔ)上設(shè)計(jì)了雙向結(jié)構(gòu)的bert模型,能夠在實(shí)體抽取領(lǐng)域有不錯(cuò)的性能提升。但是目前基于bert的方法仍存在一些問(wèn)題,?例如下述論文:david?s,?carrell,?robert?e,?schoen,daniel?a,?leffler,?et?al.?challenges?in?adapting?existing?clinical?naturallanguage?processing?systems?to?multiple,?diverse?health?care?settings.journal?of?the?american?medical?informatics?association?:?jamia.?2017,?以及,祁鵬年等.?基于深度學(xué)習(xí)的中文命名實(shí)體識(shí)別研究綜述.?小型微型計(jì)算機(jī)系統(tǒng).?2023;44(09):1857-68,是基于英文的提取,對(duì)于中文的命名實(shí)體識(shí)別需要對(duì)算法進(jìn)行改進(jìn),面對(duì)比較寬泛和抽象的任務(wù),在實(shí)際專(zhuān)業(yè)領(lǐng)域中應(yīng)用效果還有待提高。
3、同時(shí),目前算法主要是以一些較為綜合的評(píng)價(jià)指標(biāo)作為標(biāo)準(zhǔn),但在實(shí)際操作中不同的應(yīng)用場(chǎng)景往往有不同的需求,也需要從不同的角度對(duì)模型進(jìn)行評(píng)價(jià)和優(yōu)化。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述缺點(diǎn),本發(fā)明提供了一種用于機(jī)械故障診斷知識(shí)圖譜構(gòu)造的實(shí)體抽取方法。
2、為解決上述問(wèn)題,本發(fā)明采用如下技術(shù)方案實(shí)現(xiàn):
3、一種用于機(jī)械故障診斷知識(shí)圖譜構(gòu)造的實(shí)體抽取方法,包括如下步驟:
4、步驟s1:構(gòu)建機(jī)械故障診斷語(yǔ)料數(shù)據(jù)庫(kù),并將其劃分為訓(xùn)練集和測(cè)試集;
5、步驟s2:構(gòu)建融合bert-bilstm-crf模型、數(shù)據(jù)增強(qiáng)模塊和對(duì)抗訓(xùn)練模塊的機(jī)械故障診斷知識(shí)圖譜命名實(shí)體識(shí)別模型ebbc-dam-patm,并對(duì)其進(jìn)行訓(xùn)練測(cè)試,得到訓(xùn)練后的ebbc-dam-patm模型;
6、步驟s3:利用訓(xùn)練好的ebbc-dam-patm模型進(jìn)行命名實(shí)體識(shí)別;
7、步驟s4:利用neo4j圖數(shù)據(jù)庫(kù)將提取得到的實(shí)體字構(gòu)建成知識(shí)圖譜。
8、進(jìn)一步優(yōu)化,所述步驟s1包括如下步驟:
9、步驟s1.1:抽取機(jī)械設(shè)備實(shí)際運(yùn)行過(guò)程中的運(yùn)行日志、維護(hù)記錄以及相關(guān)的操作手冊(cè)和教學(xué)書(shū)籍中的文本信息;
10、步驟s1.2:將抽取得到的文本信息進(jìn)行初步篩選,得到語(yǔ)料數(shù)據(jù)庫(kù);
11、步驟s1.3:通過(guò)人工操作對(duì)語(yǔ)料數(shù)據(jù)庫(kù)中的每個(gè)文本信息打上標(biāo)簽,生成對(duì)應(yīng)的標(biāo)簽序列,標(biāo)簽序列中的每一個(gè)字母對(duì)應(yīng)文本序列中的一個(gè)字;
12、步驟s1.4:將打好標(biāo)簽序列的文本信息按照7:3劃分為訓(xùn)練集和測(cè)試集用。
13、進(jìn)一步優(yōu)化,所述步驟s2中,數(shù)據(jù)增強(qiáng)模塊對(duì)輸入的文本信息進(jìn)行如下處理:
14、步驟s2.1:?設(shè)置可調(diào)閾值 h,依據(jù)每個(gè)字在文本中的位置,計(jì)算其重要性分?jǐn)?shù),比對(duì)和可調(diào)閾值 h,對(duì)的字進(jìn)行刪除操作,重要性分?jǐn)?shù)計(jì)算公式如下:
15、???????????????????(1)
16、其中,為當(dāng)前字在文本中的位置,為距離當(dāng)前字最近的實(shí)體字的位置,和為可調(diào)參數(shù);tanh()為雙曲正切函數(shù)。
17、步驟s2.2:計(jì)算閾值,作為控制文本信息中數(shù)據(jù)增強(qiáng)策略的參數(shù),具體公式如下:
18、????????????????(2)
19、其中,為所需提取的實(shí)體字種類(lèi)數(shù),當(dāng)提取實(shí)體字種類(lèi)增加,提取任務(wù)的復(fù)雜度也會(huì)相應(yīng)提升,所需的數(shù)據(jù)量也更多。、、分別為系數(shù)。
20、步驟s2.3:根據(jù)文本信息中的數(shù)據(jù)行數(shù)和閾值計(jì)算概率,再依據(jù)概率對(duì)實(shí)體字進(jìn)行隨機(jī)替代,概率計(jì)算公式如下:
21、??????????????????(3)
22、其中,l為文本信息中的數(shù)據(jù)行數(shù),為閾值。
23、步驟s2.4:將步驟s2.1處理后的文本信息和步驟s2.3處理后的文本信息相結(jié)合,通過(guò)以句為單位交替穿插生成最終增強(qiáng)后的文本數(shù)據(jù)。交替穿插具體為:經(jīng)過(guò)步驟s2.1處理后的文本信息中的第1句、經(jīng)過(guò)步驟s2.3處理后的文本信息中的第1句、經(jīng)步驟s2.1處理后的文本信息中的第2句、經(jīng)步驟s2.3處理后的文本信息中的中的第2句…,按著這種方式穿插結(jié)合。
24、進(jìn)一步優(yōu)化,所述步驟s2.3,基于概率將訓(xùn)練集中對(duì)應(yīng)的實(shí)體詞替換為隨機(jī)漢字,具體為:首先,基于之前的標(biāo)簽序列找到每句文本中對(duì)應(yīng)的實(shí)體字;其次,在(0,1)范圍內(nèi)生成一個(gè)隨機(jī)數(shù),當(dāng),則不對(duì)該字進(jìn)行操作,反之則用一個(gè)隨機(jī)漢字覆蓋它。
25、進(jìn)一步優(yōu)化,述步驟s2中,機(jī)械故障診斷知識(shí)圖譜命名實(shí)體識(shí)別模型ebbc-dam-patm是在bert-bilstm-crf模型基礎(chǔ)上增加了數(shù)據(jù)增強(qiáng)模塊和退化pgd對(duì)抗訓(xùn)練模塊;bert-bilstm-crf模型是由bert層、bilstm層和crf層串聯(lián)而成,對(duì)文本進(jìn)行如下處理:
26、bert是基于transformer?編碼器結(jié)構(gòu)的雙向語(yǔ)言網(wǎng)絡(luò),先由bert的分詞器將文本序列轉(zhuǎn)化為對(duì)應(yīng)的id序列進(jìn)行輸入,再由模型將其轉(zhuǎn)化為[1,n,768]的詞向量序列,提取其中的語(yǔ)義信息,n為文本序列長(zhǎng)度。
27、bilstm層是一種通過(guò)將兩個(gè)方向相反的長(zhǎng)短期記憶網(wǎng)絡(luò)結(jié)合得到的一個(gè)可以同時(shí)捕捉序列中前向和后向信息的網(wǎng)絡(luò)。輸出一個(gè)[1,n,768]詞向量序列,進(jìn)一步提取上下文的關(guān)系信息,n為文本序列長(zhǎng)度。
28、crf層是一種常用于結(jié)構(gòu)化預(yù)測(cè)任務(wù)的概率網(wǎng)絡(luò),根據(jù)輸入的詞向量序列計(jì)算每個(gè)字對(duì)應(yīng)為實(shí)體或非實(shí)體的條件概率,根據(jù)概率判斷句中每個(gè)字是否為實(shí)體詞,每句話(huà)形成對(duì)應(yīng)的標(biāo)簽序列作為輸出。
29、進(jìn)一步優(yōu)化,退化pgd對(duì)抗訓(xùn)練模塊在傳統(tǒng)pgd對(duì)抗訓(xùn)練的基礎(chǔ)上減少其迭代次數(shù),大幅降低計(jì)算開(kāi)支,對(duì)抗訓(xùn)練的具體步驟為:
30、首先,在bert層的嵌入層輸出中加入一個(gè)擾動(dòng) r,嵌入層輸出和擾動(dòng) r都為[1,n,768]的矩陣,通過(guò)對(duì)應(yīng)元素相加得到結(jié)果;
31、其次,先在內(nèi)部循環(huán)中采用投影梯度下降算法對(duì)擾動(dòng) r會(huì)進(jìn)行次更新迭代,公式如下:
32、????????????????(4)
33、其中,表示投影算子,表示步長(zhǎng),設(shè)置為0.4,表示梯度;表示第k次迭代時(shí)的最優(yōu)解,通過(guò)對(duì)其進(jìn)行一步迭代再將所得解投影到由表示的可行集上,產(chǎn)生第k+1個(gè)最優(yōu)解,實(shí)際更新擾動(dòng)時(shí)可行集為長(zhǎng)度為1的球形空間。
34、其中, t為當(dāng)前迭代輪次,r為總迭代輪次,表示向下取整,m為原始pgd對(duì)擾動(dòng)的迭代次數(shù);
35、第一輪訓(xùn)練時(shí)會(huì)對(duì)擾動(dòng)進(jìn)行m次迭代,之后每輪訓(xùn)練對(duì)擾動(dòng)的迭代次數(shù)逐步衰減,直到最后一輪訓(xùn)練只對(duì)擾動(dòng)進(jìn)行一次迭代更新。
36、所述內(nèi)部循環(huán)擾動(dòng)r的更新過(guò)程如下:
37、1)、進(jìn)入內(nèi)部循環(huán)前會(huì)先備份模型的各層參數(shù);
38、2)、進(jìn)入循環(huán)后,模型會(huì)進(jìn)行訓(xùn)練,更新模型參數(shù);
39、3)、通過(guò)梯度反向傳播得到bert嵌入層的梯度,利用投影梯度下降法更新擾動(dòng)r;
40、4)、將2)、3)步循環(huán)次后跳出內(nèi)部循環(huán),將模型參數(shù)還原到第一步中備份的狀態(tài),只保留次更新后的擾動(dòng)r。
41、然后跳出循環(huán)將更新后的擾動(dòng)r加入bert嵌入層再進(jìn)行一次模型訓(xùn)練,更新模型參數(shù)并保留;以上一次訓(xùn)練完成后,擾動(dòng)r會(huì)重新進(jìn)入下一次訓(xùn)練,以此反復(fù)r次,最終實(shí)現(xiàn)對(duì)抗訓(xùn)練的效果。每一輪次訓(xùn)練中又會(huì)擾動(dòng)進(jìn)行多次迭代更新,這個(gè)更新次數(shù)隨訓(xùn)練輪次而衰減,直到最后一輪訓(xùn)練只對(duì)擾動(dòng)進(jìn)行單次更新迭代。
42、退化pgd對(duì)抗訓(xùn)練相較于原始pgd對(duì)抗訓(xùn)練其迭代更新次數(shù)更少,小于原始pgd對(duì)抗迭代更新次數(shù)的一半。具體原因如下:?原始pgd由于退化pgd對(duì)抗訓(xùn)練迭代更新次數(shù)如公式(5),可得退化pgd對(duì)抗訓(xùn)練的額外計(jì)算開(kāi)支小于原始pgd對(duì)抗訓(xùn)練的額外計(jì)算開(kāi)支的一半,具體如公式(6),m:
43、???????(6)
44、由于每一次迭代更新的計(jì)算開(kāi)支差別不大,且這里強(qiáng)調(diào)了額外計(jì)算開(kāi)支,所以本技術(shù)中所述的退化pgd對(duì)抗訓(xùn)練模塊,相較于原始的pgd對(duì)抗可以節(jié)省50%以上由對(duì)抗訓(xùn)練而產(chǎn)生的額外計(jì)算開(kāi)支。
45、進(jìn)一步優(yōu)化,所述步驟s4中,利用neo4j圖數(shù)據(jù)庫(kù)將提取得到的實(shí)體字構(gòu)建成知識(shí)圖譜,將提取到的實(shí)體字作為知識(shí)圖譜中的節(jié)點(diǎn),并用相對(duì)應(yīng)的關(guān)系將節(jié)點(diǎn)連接起來(lái),形成一個(gè)網(wǎng)絡(luò)結(jié)構(gòu),即知識(shí)圖譜。知識(shí)圖譜的網(wǎng)絡(luò)結(jié)構(gòu)使其能夠把與機(jī)械設(shè)備相關(guān)的信息,如:結(jié)構(gòu)關(guān)系、故障原因、故障現(xiàn)象、解決措施、位置信息等,全部以節(jié)點(diǎn)和關(guān)系的方式組合在一張圖中,并可以根據(jù)查詢(xún)語(yǔ)句快速找出具體的某個(gè)節(jié)點(diǎn)和與之相關(guān)的節(jié)點(diǎn),幫助進(jìn)行機(jī)械故障的排查和診斷。
46、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
47、1、本發(fā)明所述的退化pgd對(duì)抗訓(xùn)練模塊相較于原始pgd對(duì)抗可以節(jié)省50%以上由對(duì)抗訓(xùn)練而產(chǎn)生的額外計(jì)算開(kāi)支,同時(shí)依舊能起到很好的效果。
48、2、本發(fā)明所述的數(shù)據(jù)增強(qiáng)模塊能夠依據(jù)數(shù)據(jù)量的多少自適應(yīng)地進(jìn)行數(shù)據(jù)增強(qiáng),減輕樣本不平衡的問(wèn)題并緩解模型的過(guò)擬合。