?

煤礦工種知識圖譜智能問答研究

2024-03-25 02:05程浩然丁恩杰
計算機技術與發展 2024年3期
關鍵詞:工種意圖圖譜

劉 鵬,程浩然,王 瑩,魏 微,丁恩杰

(1.礦山物聯網應用技術國家地方聯合工程實驗室,江蘇 徐州 221008;2.中國礦業大學 物聯網(感知礦山)研究中心,江蘇 徐州 221008;3.中國礦業大學 信息與控制工程學院,江蘇 徐州 221116)

0 引 言

中國是煤炭產銷大國,煤礦安全生產一直是關乎全局的大事。分析煤礦安全生產暴露出的問題,其深層次原因往往包括作業人員專業知識缺乏、安全意識淡漠、工種違規作業以及安全管理流于形式等重要人為因素。煤礦是一個復雜的巨系統,煤礦工種繁多[1],作業人員眾多,切實提高煤礦作業人員的專業知識,增強煤礦工種人員的專業安全意識和能力,對減少煤礦事故發生,有效促進安全生產水平,具有基礎而重大的意義。該文通過對知識圖譜和智能問答理論及實踐研究,通過多源搜集大量煤礦工種專業知識語料,構建了煤礦工種知識圖譜,并基于此實現了智能問答系統,為煤礦工種人員準確快速獲得安全生產專業知識提供一個有益路徑。

國內外在智能問答領域的研究經歷了很長一段發展時期。1950年,英國數學家阿蘭·圖靈提出了“圖靈測試”[2-3]的概念,被認為是智能問答的前身。20世紀60年代,QA(Question Answering)[4]的概念被正式提出,21世紀初開放域的檢索式問答逐漸發展起來[5]。2012年,知識圖譜(Knowledge Graph)[6]的概念由Google正式提出,此后,基于知識圖譜的智能問答(Knowledge Graph Question Answering,KGQA)成為研究熱點,其核心在于基于知識圖譜理解用戶問題給出對應答案,系統結合了機器學習、統計學習、自然語言處理等學科領域,主要通過信息檢索[7]、語義分析[8]、深度學習[9]等技術手段,從大量數據中提取關鍵信息。之后預訓練模型BERT[10]的提出,使得KGQA的研究又進了一步。Lukovnikov等人[11]使用BERT幫助檢測實體和預測實體關系,首次演示了通過BERT完成簡單的KGQA任務,基于查詢標簽相似性的排名獲得答案。Saxena等人[12]利用知識圖譜嵌入的方法提出了EmbedKGQA模型,通過RoBERTa[13]將問題進行詞嵌入。Nair等人[14]提出了一個結合知識圖譜和預訓練Bert的問答模型,并運用于遠程教育領域。

在煤礦技術領域,曹現剛等人通過定義煤礦裝備維護的關鍵概念進行本體建模,利用Neo4j構建煤礦裝備維護知識圖譜[15]。尚雅琪以煤礦事故案例為對象,基于深度學習研究知識圖譜的構建過程,并構建煤礦事故領域知識圖譜[16]。葉帥[17]通過知識抽取算法構建煤礦領域知識圖譜,并基于Spark的樸素貝葉斯分類器實現智能知識查詢。張淑霞[18]對煤礦領域知識進行細分并定義實體間關系,在此基礎上構建知識圖譜,并實現了煤礦領域的知識問答系統。

經文獻調研發現,目前尚沒有煤礦工種操作規范知識圖譜及智能問答系統的相關報道。經筆者分析研究,煤礦工種知識專業性極強,來源廣泛且離散,現有圖譜研究方法較難泛化至此領域。而且煤礦工種信息多為完整句式,如果只抽取關鍵詞三元組,將很難完整準確反映原文涵義。因此,為滿足圖譜構建和問答技術要求,同時保持煤礦工種知識的專業性和完備性,該文聚焦此領域開展研究工作,主要貢獻如下:

(1)結合命名實體識別和正則化方法,對煤礦工種信息進行抽取及專業分類,將各專業操作人員的崗位職責、操作流程等信息進行結構化存儲及利用,改善了煤礦工種結構化知識嚴重缺失的局面。

(2)通過聯合訓練方式,對用戶問句進行意圖識別和槽位提取,提高了問句解析的正確性,同時將Sentence-Bert用于實體鏈接過程,將問句解析與實體鏈接相結合,進一步保證了問句解析準確性和答案檢索的專業完備性。

(3)在業界首次構建了煤礦工種專業知識圖譜及其智能問答系統,為煤礦智能化實踐做出了有益探索。

1 系統設計與實現

1.1 系統架構

系統研究內容分為兩部分:第一部分為圖譜構建,第二部分為智能問答,系統架構如圖1所示。

圖1 系統研究總體架構

知識圖譜是一種多邊型關系網絡圖,由節點(實體)和邊(節點之間的連線關系)組成的<實體,屬性,屬性值><實體,關系,實體>三元組形式的數據構成,通過語義網絡描述事物間的聯系。

而基于知識圖譜的智能問答的核心在于理解用戶問題,并基于知識圖譜檢索返回答案。

1.2 知識圖譜構建

(1)數據獲取與信息抽取。

數據獲取階段,通過scrapy爬蟲框架從煤礦安全生產網等獲取相關煤礦數據。信息抽取階段,首先通過Re正則化方法抽取工種信息中的崗位人員信息,將作業工種分成十大專業,構成工種類別信息;然后利用序列標注模型Bert-BiLSTM-CRF[19]抽取其中的工種屬性信息,如崗位職責、設備描述、一般規定、崗位應急處理知識等。通過以上兩步驟,抽取的煤礦工種信息分別如表1和表2所示。

表1 煤礦工種專業分類(部分)

表2 煤礦工種屬性信息(部分)

(2)三元組知識存儲及展示。

該文采用Neo4j作為煤礦工種知識存儲平臺。與傳統的關系數據庫相比,Neo4j是一種圖數據庫,可以有效地對“實體-關系(節點-邊)”數據進行建模和存儲,有利于對知識進行高效檢索及后續的知識問答推理。對崗位抽取信息進行數據清洗,整理成<實體,關系,實體>三元組形式,其中實體類型定義有:專業、崗位、事故、危險源、故障、檢查、注意事項、設備等,各實體概念下又包含相關屬性,如崗位屬性有崗位職責、作業流程等。知識圖譜中的實體間需要建立連接詮釋實體間的聯系,提高圖譜中的實體及其關系的表示效果和可搜索范圍,因此歸納關系有:包含、操作設備、設備故障、檢查處理、危險源、注意、遭遇、案例等,形成的煤礦工種知識圖譜Schema如圖2所示,圖譜可視化展示如圖3所示。

圖2 工種知識圖譜Schema

圖3 煤礦工種知識圖譜可視化展示(部分)

1.3 智能問答研究

基于煤礦工種知識圖譜,進行智能問答系統研究,主要包括三部分內容:意圖識別和槽位提取、實體鏈接、查詢語句生成。

(1)意圖識別和槽位提取。

對于用戶輸入的自然語言問題,需對其進行意圖識別,簡單講就是分析判斷用戶要做什么,可將其作為文本分類問題處理;槽位提取,是進一步提取問句中的關鍵細節信息,對用戶意圖進行有效補充,以構成具體查詢內容,可將其視為序列標注任務。如問句:“采煤機司機發生事故的原因有哪些?”,意圖識別后可以得知其意圖是詢問“事故原因”,槽位即是句子中的關鍵信息,即{name:“采煤機司機”,accident:“事故”}。

首先,需處理數據集,設計問題模板,按照8∶2的比例將數據集分為訓練集和測試集,用于模型訓練與測試,如表3所示。

表3 意圖識別和槽位提取數據集(部分)

其中intent表示意圖,slot表示槽位,設計的意圖intent種類包括:包含、遭遇、危險源、注意、操作設備、檢查處理、設備故障、設備故障處理、法律法規、檢修項目、管理標準、崗位職責、作業流程、應急知識、一般規定、準備工作、收尾工作、處理措施、事故原因、防范措施、避災路線、案例。設計的槽位slot種類包括:equipment(設備)、breakdown(故障)、post(崗位)、major(專業)、accident(事故)、source(危險源)、name(崗位名)、注意事項(attention)、事故案例(case)。

隨后,采用特定模型方法進行意圖識別和槽位提取。兩個任務若分開訓練需二次構建訓練語料,而且會有誤差傳播,造成意圖和槽位不匹配的情況。因此,為提高問句理解的準確性,減少人工標注及高效利用數據,該文對意圖識別和槽位提取采用聯合訓練和提取,讓文本輸入層和中間層共享特征信息,端到端閉環完整實現,采用Bert-wwm-ext作為基礎模型,模型結構如圖4所示。由圖4可以看出,意圖intent采用[CLS]的輸出進行識別,通過“檢修”一詞可識別出意圖為檢修項目;“掘進機”經過e-mbedding層和內部編碼層輸出結果,再對結果進行序列標注,最終得到槽位類型為“設備equipment”。

圖4 Bert聯合模型架構

(2)實體鏈接。

通過意圖識別和槽位提取將問句中的“實體提及詞(entity mention)”識別出來后,需要將其與煤礦工種知識圖譜中的“目標實體”聯系起來,才能形成具體的查詢語句。實體鏈接則是將“實體提及詞”無歧義地指向知識圖譜中“目標實體”的技術方法,一般包括候選實體生成和實體消歧兩步驟[20]。由于本研究中知識圖譜的實體并不只是單個詞的節點,還包括句子類型的節點,因此采用Sentence-Bert(S-Bert)把識別出的提及詞和知識圖譜中的候選實體轉換成embeddings,保持其語義完整行,再計算余弦相似度進行相似度匹配,將相似度最大的作為最終的實體鏈接結果。其架構如圖5所示。

圖5 S-Bert架構

輸入“設備電纜破碎”,首先會得到知識圖譜中的候選實體集合,再進行相似度比對,最后預測出知識圖譜中的節點實體為“設備供電電纜破損,容易導致設備供電故障”,相似度結果示例如表4所示。

表4 相似度結果

(3)查詢語句生成。

實現KGQA,最后一步必須要形成對數據庫的查詢語句。Neo4j圖數據庫有專門的Cypher查詢語句,通過構造問題模板,填入意圖和槽位信息,并把實體進行替換,即可形成真實具體的查詢語句,從圖數據庫存儲的知識圖譜中查詢到結果。如問題“掘進專業包含哪些具體崗位?”,其對應的Neo4j查詢Cypher語句模板構建如下:cypher = ["MATCH (m:專業)-[r:包含]->(n:崗位) where m.name = '{0}' return m.name, r.name, n.name".format(i) for i in entities]。

由于問題包括崗位職責、檢修項目、應急知識等22個意圖,因此可構造22種Cypher語句模板,進一步可將其分為關系類問答、屬性類問答。關系類問答主要是通過兩實體間的關系構造查詢語句,如遭遇、操作設備等,屬性類問答則是詢問實體節點下的具體屬性值,如崗位作業流程,部分如表5所示。

表5 Cypher問題模板(部分)

2 實驗結果

2.1 實驗環境與參數配置

實驗運行環境為Windows10和Geforce RTX 3060,模型搭建采用Python3.7,pytorch1.12。配置參數為:訓練批量大小batchsize為32,問題最長長度max_len為70,學習率為1e-7,隱藏單元數hidden_size為768,隱層hidden_dropout為0.1,迭代次數epoch為50,采用Adam作為優化算法,采用交叉熵作為損失函數。

2.2 意圖識別和槽位提取結果

根據知識圖譜中存儲的煤礦工種信息和領域知識,構建意圖識別和槽位提取數據集,再通過數據增強技術擴充此數據集,擴充后的數據集包含8 158條問句,將其按照8∶2的比例分為訓練集和測試集。部分數據集樣式如表6所示。

表6 意圖識別和槽位提取數據集(部分)

實驗采用精確率(precision)、召回率(recall)以及F1值去評估實驗結果。如表7和表8所示,與Bert模型分開做意圖識別和槽位提取任務進行比較,可以發現該文聯合模型的效果更優,能夠識別出大多數意圖種類,如表9所示。

表7 槽位提取結果

表8 意圖識別結果

表9 與BERT對比結果

為進一步驗證聯合模型的效果,將其與Attention-RNN[21]和Slot-Gated[22]模型進行對比,結果如表10所示。通過實驗結果對比可以發現,該文構建的Bert聯合模型的效果更為優越。分析原因可知,將兩個任務進行聯合建模,能夠分別提高意圖識別和槽位提取的效果,每個任務在訓練過程中對另一任務的訓練效果均能起到促進作用。而且訓練語料均是根據煤礦工種知識圖譜中的實體屬性關系等進行構建,相當于在意圖識別和槽位提取訓練過程中,不斷向這兩個子任務注入真實知識以及時糾偏,保證它們的聯合訓練結果都能更接近最優解。

表10 模型對比結果

3 系統實現

采用Django框架搭建煤礦工種知識圖譜問答系統,系統最核心的功能就是對煤礦工種的操作規范等信息實現智能問答,并給出知識圖譜中相應的查詢實體及關系子圖分支,顯示該系統具有良好的可解釋性,如圖6所示。

圖6 系統運行效果圖

4 結束語

以煤礦工種操作規范為語料基礎,利用圖數據庫構建煤礦工種知識圖譜,并在此基礎上采用意圖識別和槽位提取的方式進行領域問答研究,設計了煤礦工種知識圖譜智能問答系統。實驗證明,該系統可以基本滿足煤礦工種人員的專業知識問答需求,對于煤礦人員安全上崗具有一定實踐指導意義。未來工作計劃在圖譜內容的細節完備性和復雜問句理解回答能力方面進一步開展工作。

猜你喜歡
工種意圖圖譜
原始意圖、對抗主義和非解釋主義
陸游詩寫意圖(國畫)
特殊工種提前退休問題探析
制定法解釋與立法意圖的反事實檢驗
繪一張成長圖譜
我能按照從事有毒有害特殊工種辦理提前退休嗎
補腎強身片UPLC指紋圖譜
新形勢下如何實行特殊工種提前退休政策
主動對接你思維的知識圖譜
特殊工種提前退休有哪些規定?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合