摘 要: 隨著國(guó)家和煤礦行業(yè)對(duì)煤礦應(yīng)急管理要求的逐步提高,對(duì)煤礦安全知識(shí)的學(xué)習(xí)也提出了更高的要求,因此建立一種煤礦安全知識(shí)智能問(wèn)答模型。有效學(xué)習(xí)煤礦安全知識(shí),對(duì)于確保煤礦企業(yè)工作人員的人身安全和預(yù)防煤礦安全事故的發(fā)生至關(guān)重要。首先,基于RoBERTa?wwm算法自動(dòng)生成問(wèn)答對(duì)數(shù)據(jù),獲取并分析煤礦安全知識(shí)原始文本數(shù)據(jù),定義問(wèn)題類(lèi)型并標(biāo)注問(wèn)答對(duì);然后,結(jié)合RoBERTa?wwm與UniLM,采用點(diǎn)互信息與鄰接熵發(fā)現(xiàn)新詞擴(kuò)充領(lǐng)域詞典,提出問(wèn)答對(duì)自動(dòng)生成算法,同時(shí)構(gòu)建煤礦安全培訓(xùn)知識(shí)問(wèn)答對(duì)數(shù)據(jù)集,解決煤礦安全知識(shí)系統(tǒng)問(wèn)答對(duì)數(shù)據(jù)集問(wèn)題;最后,引入問(wèn)題相似度機(jī)制,針對(duì)無(wú)法回答問(wèn)題和無(wú)關(guān)問(wèn)題提出答案生成策略,構(gòu)建基于問(wèn)題相似度機(jī)制的答案生成模型,使其只關(guān)注可回答問(wèn)題,從而提升模型的推理能力。實(shí)驗(yàn)結(jié)果表明,所提出的煤礦安全知識(shí)問(wèn)答系統(tǒng)答案生成模型可有效識(shí)別無(wú)法回答和無(wú)關(guān)的問(wèn)題,能夠?yàn)槊旱V企業(yè)工作人員提供知識(shí)支持,最大程度地提升煤礦企業(yè)工作人員安全培訓(xùn)學(xué)習(xí)效果。
關(guān)鍵詞: 智能問(wèn)答系統(tǒng); 煤礦安全; 答案生成; RoBERTa?wwm; UniLM; 點(diǎn)互信息; 鄰接熵; 問(wèn)題相似度
中圖分類(lèi)號(hào): TN929.5?34; TP391" " " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " " "文章編號(hào): 1004?373X(2025)02?0061?09
Research on answer generation model of coal mine safety knowledge
question answering system
YU Feifan, DONG Lihong, QIN Yi
(School of Computer Science and Technology, Xi’an University of Science and Technology, Xi’an 710600, China)
Abstract: With the gradual improvement of national and coal mining industry's requirements for emergency management of coal mines, higher requirements have been put forward for learning coal mine safety knowledge. Therefore, an intelligent question answering model for coal mine safety knowledge is established. The effective study of coal mine safety knowledge are crucial to ensure the personal safety of coal mining enterprise staff and prevent the occurrence of coal mine safety accidents. The answer pair data can be generated automatically based on RoBERTa?wwm algorithm, and the question types are defined and the question answering pairs are labeled by obtaining and analyzing the original text data of coal mine safety knowledge. By combining with RoBERTa?wwm and UniLM, the point mutual information and adjacent entropy are used to discover new word expansion domain dictionaries, propose an automatic question answering pair generation algorithm, and construct the question answering pair dataset of coal mine safety training knowledge, so as to solve the problem of question answering dataset in coal mine safety knowledge system. By introducing the question similarity mechanism, an answer generation strategy is proposed for unanswerable questions and irrelevant questions, and the answer generation model based on the question similarity mechanism is constructed to focus only on answerable questions and improve the reasoning ability of the model. The experimental results show that the proposed answer generation model of the coal mine safety knowledge question answering system can effectively identify the unanswerable and irrelevant questions, and can provide knowledge support for the coal mine enterprise staff, so as to improve the safety training and learning effect of the coal mine enterprise staff to the greatest extent.
Keywords: intelligent question answering system; coal mine safety; answer generation; RoBERTa?wwm; UniLM; point mutual information; adjacency entropy; problem similarity
隨著國(guó)家和煤業(yè)集團(tuán)對(duì)煤礦智能化和煤礦應(yīng)急管理要求的逐步提高,對(duì)煤礦安全知識(shí)的學(xué)習(xí)提出了更高的要求。因此,建立煤礦安全知識(shí)智能問(wèn)答模型,有效學(xué)習(xí)煤礦安全知識(shí),對(duì)于確保煤礦企業(yè)工作人員的人身安全和預(yù)防煤礦安全事故的發(fā)生至關(guān)重要。
問(wèn)答系統(tǒng)(Question Answering System, QAS)是一個(gè)知識(shí)信息系統(tǒng),在獲取問(wèn)題和回答問(wèn)題方面起著重要的作用[1]。目前,關(guān)于問(wèn)答系統(tǒng)的研究主要聚焦于基于檢索和基于生成兩類(lèi)方法?;跈z索的方法依賴(lài)于建立的知識(shí)庫(kù)或文本語(yǔ)料庫(kù),當(dāng)用戶(hù)提出問(wèn)題時(shí),系統(tǒng)通過(guò)檢索來(lái)匹配知識(shí)庫(kù)中的信息或語(yǔ)料庫(kù)中的文本,然后從中選擇或排名可能的答案?;跈z索的問(wèn)答系統(tǒng)如STUDENT系統(tǒng)[2],需要大量人工來(lái)標(biāo)注大規(guī)模數(shù)據(jù)集,且存在依賴(lài)于關(guān)鍵詞、缺乏語(yǔ)義理解、無(wú)法處理復(fù)雜邏輯等問(wèn)題。
因此,為更好地應(yīng)對(duì)復(fù)雜的自然語(yǔ)言理解和問(wèn)題回答任務(wù),研究者們逐漸轉(zhuǎn)向了基于生成的問(wèn)答方法。基于生成的方法使用深度學(xué)習(xí)模型來(lái)學(xué)習(xí)問(wèn)題和答案之間的復(fù)雜映射關(guān)系,具備一定的上下文理解和生成語(yǔ)言的能力,能夠更靈活地處理用戶(hù)提出的問(wèn)題。例如,文獻(xiàn)[3]通過(guò)對(duì)問(wèn)題分類(lèi),利用深度神經(jīng)網(wǎng)絡(luò)模型LSTM為問(wèn)題回答任務(wù)生成相關(guān)答案;文獻(xiàn)[4]提出一種基于SQuAD數(shù)據(jù)集預(yù)訓(xùn)練的BiLSTM問(wèn)答模型,對(duì)提出的問(wèn)題進(jìn)行排名,從而獲得更準(zhǔn)確的答案。
為獲得更好的性能,近年來(lái)BERT通過(guò)大規(guī)模訓(xùn)練未標(biāo)記的數(shù)據(jù)來(lái)生成豐富的上下文表達(dá),在問(wèn)答領(lǐng)域中被廣泛應(yīng)用[5]。BERT的迅速發(fā)展使得一系列基于BERT優(yōu)化改進(jìn)的模型,如RoBERTa[6]、SpanBERT[7]、ALBERT[8]、ELECTRA[9]等快速產(chǎn)生,加快了智能問(wèn)答領(lǐng)域的發(fā)展。文獻(xiàn)[10]對(duì)SQuAD[11]、CoQA[12]、QuAC[13]、NaturalQuestions[14]等多個(gè)流行問(wèn)答基準(zhǔn)進(jìn)行了測(cè)試,測(cè)試結(jié)果表明,以上問(wèn)答模型基于BERT及其變體,性能相較于其他模型更好。由此可見(jiàn),預(yù)訓(xùn)練語(yǔ)言模型已經(jīng)成為問(wèn)答領(lǐng)域新的基礎(chǔ)組件。文獻(xiàn)[15]基于RoBERTa和短語(yǔ)索引構(gòu)建問(wèn)答系統(tǒng),利用分布式計(jì)算在大規(guī)模數(shù)據(jù)集上進(jìn)行問(wèn)答處理,提高了系統(tǒng)性能和效率。文獻(xiàn)[16]利用RoBERTa提取文本語(yǔ)義特征表示,同時(shí)將其輸入LSTM進(jìn)行情感傾向分析,取得了較高的準(zhǔn)確率。但是這樣的問(wèn)答系統(tǒng)缺乏人類(lèi)的推理能力來(lái)識(shí)別問(wèn)題并理解,對(duì)于識(shí)別無(wú)法回答的問(wèn)題仍是一個(gè)挑戰(zhàn)[17?18]。
基于上述研究,本文構(gòu)建了一種煤礦安全知識(shí)問(wèn)答系統(tǒng)。首先基于RoBERTa?wwm算法自動(dòng)生成問(wèn)答對(duì)數(shù)據(jù),解決煤礦安全知識(shí)系統(tǒng)問(wèn)答對(duì)數(shù)據(jù)集構(gòu)建問(wèn)題;然后引入問(wèn)題相似度機(jī)制,針對(duì)無(wú)法回答的問(wèn)題和無(wú)關(guān)問(wèn)題提出答案生成策略,使其只關(guān)注可回答問(wèn)題,提高模型性能,提升模型的推理能力。
本文方法的技術(shù)路線(xiàn)如圖1所示,將條例文本作為輸入,通過(guò)問(wèn)答對(duì)自動(dòng)生成算法生成可能生成的問(wèn)題集,并與提出的問(wèn)題進(jìn)行問(wèn)題相似度計(jì)算,將可回答的問(wèn)題篩選出來(lái),再輸入到RoBERTa?wwm閱讀理解器來(lái)生成答案。
1" 煤礦安全知識(shí)問(wèn)答對(duì)數(shù)據(jù)集自動(dòng)構(gòu)建
合理、完備的數(shù)據(jù)集是提高答案生成模型推理能力的前提條件,因此,針對(duì)煤礦安全規(guī)范化對(duì)于煤礦企業(yè)工作人員的知識(shí)要求,提出自動(dòng)構(gòu)建煤礦安全知識(shí)問(wèn)答對(duì)數(shù)據(jù)集,流程如圖2所示。
首先分析收集現(xiàn)有煤礦安全領(lǐng)域相關(guān)數(shù)據(jù)風(fēng)格及內(nèi)容,同時(shí)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,明晰煤礦安全知識(shí)的不同類(lèi)型問(wèn)題,手工標(biāo)注設(shè)計(jì)問(wèn)答對(duì);然后采用點(diǎn)互信息和鄰接熵方法更好地發(fā)現(xiàn)、挖掘煤礦安全專(zhuān)業(yè)新詞,增強(qiáng)領(lǐng)域適配性;最后聯(lián)合RoBERTa?wwm和UniLM構(gòu)造問(wèn)答對(duì)自動(dòng)生成算法,生成煤礦安全知識(shí)問(wèn)答對(duì),實(shí)現(xiàn)煤礦安全知識(shí)問(wèn)答對(duì)數(shù)據(jù)集的自動(dòng)構(gòu)建。
1.1" 數(shù)據(jù)獲取
搜集與整理煤礦安全相關(guān)規(guī)程規(guī)范資料,將《煤礦安全規(guī)程2022》作為數(shù)據(jù)提取文本,由于爬取的規(guī)程文本為PDF格式,需解析為可編輯的TXT文本格式。隨后,針對(duì)其中的27個(gè)表格進(jìn)行相應(yīng)處理,將其內(nèi)容轉(zhuǎn)化為與規(guī)程一致的文字描述,確保詞匯合適,指代明確,表達(dá)清楚,防止因表格數(shù)據(jù)的缺少導(dǎo)致信息不完整。根據(jù)不同章節(jié)間文本內(nèi)容的相關(guān)性進(jìn)行合理的劃分,構(gòu)建連貫的段落和章節(jié)結(jié)構(gòu),并添加147個(gè)名詞解釋?zhuān)罱K得到了895篇煤礦安全規(guī)程文本。
根據(jù)《煤礦安全規(guī)程解讀2022》《煤礦安全規(guī)程隨身筆記2022》《煤礦安全規(guī)程實(shí)施指南2022》《煤礦安全規(guī)程班組學(xué)習(xí)指南2022》《煤礦安全規(guī)程》《專(zhuān)家解讀井工煤礦》等專(zhuān)業(yè)書(shū)籍,對(duì)上述收集的煤礦安全規(guī)程單篇文本進(jìn)行多角度提問(wèn),人工標(biāo)注煤礦安全規(guī)程問(wèn)答對(duì)共計(jì)5 100條,涉及時(shí)間、人物、地點(diǎn)、機(jī)構(gòu)、溫度、年份、操作標(biāo)準(zhǔn)和獎(jiǎng)罰規(guī)定等問(wèn)題。借鑒SQuAD數(shù)據(jù)集結(jié)構(gòu),使用“文本?問(wèn)題?答案”三元組數(shù)據(jù)形式并以JSON存儲(chǔ)格式儲(chǔ)存,同時(shí)對(duì)其進(jìn)行編號(hào)。具體的問(wèn)答對(duì)數(shù)據(jù)集結(jié)構(gòu)如圖3所示。
問(wèn)答對(duì)數(shù)據(jù)包括從專(zhuān)業(yè)解讀書(shū)籍標(biāo)注的問(wèn)答對(duì)數(shù)據(jù)以及從“煤礦安全網(wǎng)”導(dǎo)出的煤礦安全問(wèn)答對(duì)數(shù)據(jù)。本文使用正則表達(dá)式對(duì)所獲得的文本數(shù)據(jù)進(jìn)行清洗和過(guò)濾,去除無(wú)用信息,對(duì)煤礦安全提問(wèn)數(shù)據(jù)進(jìn)行人工標(biāo)注審核,共獲得12 050條問(wèn)答對(duì)數(shù)據(jù),表1為部分?jǐn)?shù)據(jù)樣例。
1.2" 數(shù)據(jù)預(yù)處理
上文收集標(biāo)注的煤礦安全問(wèn)答對(duì)數(shù)據(jù)集具有一定噪聲,為降低噪聲對(duì)結(jié)果的影響,對(duì)上述數(shù)據(jù)進(jìn)行預(yù)處理。首先對(duì)收集標(biāo)注的問(wèn)答對(duì)數(shù)據(jù)進(jìn)行過(guò)濾,同時(shí)根據(jù)分詞工具對(duì)數(shù)據(jù)進(jìn)行分詞。為保證分詞正確,選擇煤礦專(zhuān)業(yè)詞匯大全作為分詞字典。數(shù)據(jù)預(yù)處理流程如圖4所示。
1) 數(shù)據(jù)過(guò)濾:收集標(biāo)注的數(shù)據(jù)中包含一些多余的空格和非法字符,且經(jīng)格式轉(zhuǎn)換后會(huì)產(chǎn)生一些錯(cuò)誤字符,故本文使用正則表達(dá)式定義規(guī)則和人工處理過(guò)濾多余的錯(cuò)誤信息,確保數(shù)據(jù)的質(zhì)量,獲得可表達(dá)煤礦安全領(lǐng)域特點(diǎn)的語(yǔ)句。
2) 分詞:通過(guò)空格將經(jīng)過(guò)上述處理后的語(yǔ)句分隔,將其作為基于RoBERTa?wwm問(wèn)答對(duì)自動(dòng)生成算法的輸入。其中,在使用分詞工具實(shí)現(xiàn)分詞時(shí),存在一些煤礦安全領(lǐng)域的專(zhuān)業(yè)名詞不能被識(shí)別的問(wèn)題,例如“回風(fēng)巷”可能被錯(cuò)誤地分為“回”和“風(fēng)巷”。
1.3" 基于RoBERTa?wwm問(wèn)答對(duì)自動(dòng)生成算法
為生成高質(zhì)量問(wèn)答對(duì),設(shè)計(jì)煤礦安全知識(shí)問(wèn)答對(duì)自動(dòng)生成算法,結(jié)構(gòu)如圖5所示。將理解能力與編碼能力強(qiáng)的RoBERTa?wwm作為編碼器,但其文本生成能力不足,因此在下游任務(wù)微調(diào)中使用文本生成能力更強(qiáng)的UniLM作為解碼器,確保解碼生成具有上下文的問(wèn)題和答案。其中,通過(guò)基于點(diǎn)互信息與鄰接熵新詞發(fā)現(xiàn)方法更好地挖掘煤礦安全專(zhuān)業(yè)詞匯信息,提高任務(wù)領(lǐng)域適配性。同時(shí),采用Top?P策略解碼生成答案序列,提高文本利用率,生成多樣性的答案序列;使用集束搜索策略生成問(wèn)題序列,提高問(wèn)題語(yǔ)句表述能力與流暢性。
1.3.1" 基于點(diǎn)互信息與鄰接熵新詞發(fā)現(xiàn)方法
為使所提模型應(yīng)用于煤礦安全領(lǐng)域,使得煤礦安全專(zhuān)業(yè)詞匯被更好地理解,本文針對(duì)煤礦安全專(zhuān)業(yè)詞語(yǔ)的特點(diǎn),使用基于點(diǎn)互信息和鄰接熵的新詞發(fā)現(xiàn)方法發(fā)現(xiàn)新詞擴(kuò)充詞庫(kù),從而提高分詞效果。根據(jù)上文對(duì)收集的數(shù)據(jù)進(jìn)行預(yù)處理后,如果直接進(jìn)行點(diǎn)互信息的計(jì)算,生詞識(shí)別的速度會(huì)較慢,因此,有必要采用[n-gram]方法來(lái)統(tǒng)計(jì)詞頻,對(duì)低頻詞進(jìn)行切片和刪除。在經(jīng)過(guò)詞頻處理和統(tǒng)計(jì)后,對(duì)收集到的語(yǔ)料庫(kù)進(jìn)行過(guò)濾,再計(jì)算點(diǎn)互信息。以“風(fēng)巷道”為例,點(diǎn)互信息計(jì)算公式如下:
[PMI=log2p(a)p(b)p(c)] (1)
式中:[p(a)]表示字“風(fēng),巷道”在句中共同出現(xiàn)的概率;[p(b)]、[p(c)]表示“風(fēng)”“巷道”單獨(dú)出現(xiàn)在語(yǔ)料中的概率。
當(dāng)點(diǎn)互信息計(jì)算值大于閾值時(shí),對(duì)該詞進(jìn)行鄰接熵計(jì)算,計(jì)算公式如下:
[HL=i=1n-pi·logp(i)] (2)
[HR=j=1M-pj·logp(j)] (3)
式中:[i]和[j]分別表示左右數(shù);[n]和[m]分別表示不重復(fù)的左右鄰接的總數(shù);[pi]和[pj]分別表示左右鄰接的條件概率;[HL]和[HR]分別表示左右鄰接的熵。
根據(jù)計(jì)算的結(jié)果保留較大的鄰接熵,刪除較小的鄰接熵,最后采用現(xiàn)有的字典將新詞進(jìn)行過(guò)濾。采用以上新詞方法獲得1 165個(gè)新詞,通過(guò)實(shí)驗(yàn)驗(yàn)證,該方法能發(fā)現(xiàn)大量新詞,但也會(huì)產(chǎn)生一些“噪詞”,即一些可能被錯(cuò)誤分割或者完全沒(méi)有意義的詞。
根據(jù)新詞方法擴(kuò)充到分詞詞典后,使用煤礦安全領(lǐng)域語(yǔ)料進(jìn)行二次預(yù)訓(xùn)練,通過(guò)分詞詞典進(jìn)一步提高算法在煤礦安全的字詞表達(dá)能力。
1.3.2" 編解碼器
本文編碼器采用的是RoBERTa?wwm,由12層雙向Transformer堆疊。對(duì)于給定輸入序列,如煤礦安全條例文本為[cimi=1],將其初始化為[H0]后輸入到第一層的編碼模塊,前一層編碼模塊的輸出[HL-1]作為后一層模塊的輸入,[HN]為最后一層輸出的文本向量表示。計(jì)算公式如下:
[H0=[c1,c2,…,cm]] (4)
[HL=TransformerL(HL-1)," L=1,2,…,12] (5)
1) Transformer注意力機(jī)制
注意力機(jī)制通過(guò)對(duì)文本進(jìn)行權(quán)重分析,計(jì)算文本中每個(gè)詞與文本中所有詞的關(guān)系,得到每個(gè)詞與所有文本的關(guān)聯(lián)度,使得上下文的語(yǔ)言信息可以更好地學(xué)習(xí)。在編碼器的L層Transformer中,單個(gè)注意力權(quán)重采用如下公式進(jìn)行計(jì)算:
[Q=HL-1WQL," K=HL-1WKL," V=HL-1WVL] (6)
[Mi,j=0," " "可見(jiàn)信息-∞," 不可見(jiàn)信息] (7)
[AL=softmaxQKTdk+MVL] (8)
式中:上一層Transformer輸出[HL-1∈RM×dh],基于3個(gè)參數(shù)矩陣[WQL]、[WKL]、[WVL∈Rdh×dk],通過(guò)線(xiàn)性映射到不同的空間,得到查詢(xún)矩陣Q、鍵矩陣K和值矩陣V;[Mi,j]表示這對(duì)token是否可以相互被注意到;[AL]表示注意力權(quán)重;[KT]表示鍵矩陣的轉(zhuǎn)置矩陣;[dk]表示縮放因子,用于平衡點(diǎn)積得分的量級(jí)。
基于以上計(jì)算,利用多頭注意力機(jī)制融入不同角度的注意力。該過(guò)程先對(duì)[Q]、[K]、[V]進(jìn)行線(xiàn)性變換投影,然后進(jìn)行單個(gè)注意力計(jì)算,重復(fù)這一操作h次,將它們拼接在一起,最后通過(guò)映射回到單個(gè)注意力計(jì)算結(jié)果的維度。計(jì)算公式如下:
[MultiHead(Q,K,V)=Concat(head1,head2,…,headh)W0L] (9)
式中:[MultiHead(Q,K,V)]表示多頭注意力的輸出向量;[head]表示不同頭的輸出,通過(guò)[Concat]將其拼接在一起。
2) Seq?to?Seq語(yǔ)言模型
本文針對(duì)Seq?to?Seq語(yǔ)言模型的訓(xùn)練目標(biāo)設(shè)置Mask方式,如圖6所示,不可見(jiàn)信息由黑色方格表示,設(shè)為負(fù)無(wú)窮;白色方格則是需要Attention的信息,設(shè)為0。
圖6中:[S0]區(qū)域表示輸入序列前半部分,對(duì)應(yīng)編碼為0的原始條例序列C;[S1]區(qū)域則表示輸入序列后半部分,對(duì)于編碼為1的目標(biāo)答案和問(wèn)題序列。在左邊白色區(qū)域設(shè)置為0,表示前半部分的信息都可被關(guān)注到;右上黑色區(qū)域設(shè)置為負(fù)無(wú)窮,以阻止后半部分的目標(biāo)文本信息被前半部分關(guān)注;在右下黑白區(qū)域中,黑色區(qū)域也被設(shè)置為負(fù)無(wú)窮,而白色區(qū)域?yàn)?,這表示[S1]區(qū)域自身之前的信息,但對(duì)于后文信息卻不能提前關(guān)注到。Seq?to?Seq語(yǔ)言模型示意圖如圖7所示,輸入部分內(nèi)部做雙向Attention,輸出部分只做單向Attention,其中連線(xiàn)表示關(guān)注信息流向。
3) 解碼生成
基于編碼器實(shí)現(xiàn)生成編碼語(yǔ)義向量[HN]后,需將問(wèn)答對(duì)序列解碼生成,將最后一層變量([Kt,Vt,Qt])通過(guò)利用全連接層,softmax以及學(xué)習(xí)參數(shù)[b]來(lái)計(jì)算每個(gè)字的概率,從而預(yù)測(cè)下一個(gè)詞的可能位置。[P(w)]計(jì)算公式如下:
[P(w)=softmax(WTQQt+WTKKt+WTVVt+b)] (10)
為提高序列解碼效率,并以多角度關(guān)注文本中關(guān)鍵的信息,采用Top?P解碼策略,使得在不同的時(shí)間步下解碼結(jié)果可能會(huì)有所不同,保證了生成一對(duì)多的目標(biāo)答案。在問(wèn)題生成中為確保生成可靠的問(wèn)題,使用穩(wěn)定的集束搜索解碼算法。本文通過(guò)以上方法生成煤礦安全知識(shí)問(wèn)答對(duì),實(shí)現(xiàn)煤礦安全知識(shí)問(wèn)答對(duì)數(shù)據(jù)集的自動(dòng)構(gòu)建。
2" 答案生成策略
2.1" 問(wèn)題相似度機(jī)制相關(guān)工作
相似度是指兩個(gè)文本、句子或詞語(yǔ)之間在語(yǔ)義或結(jié)構(gòu)上的接近程度。假定兩段問(wèn)題文本A和B,語(yǔ)義文本相似度計(jì)算旨在衡量?jī)啥螁?wèn)題文本在語(yǔ)義上的相近程度。通常,問(wèn)題文本的語(yǔ)義相似度數(shù)值越小,則說(shuō)明兩個(gè)問(wèn)題之間的語(yǔ)義差異性越大,即在語(yǔ)義層面上越不相似;反之,該數(shù)值越大,則說(shuō)明這兩個(gè)問(wèn)題所表達(dá)出的語(yǔ)義越相似。由于人類(lèi)語(yǔ)言表達(dá)十分復(fù)雜,文本當(dāng)中包含許多同義詞、縮略詞、否定詞等,還有多變的句法結(jié)構(gòu),加大了語(yǔ)義文本相似度計(jì)算的難度。
在問(wèn)答模型中,提出的問(wèn)題與問(wèn)答對(duì)數(shù)據(jù)集中的問(wèn)題相似度計(jì)算結(jié)果直接影響問(wèn)答模型生成答案的性能。近年來(lái),學(xué)者們提出了許多方法來(lái)進(jìn)行問(wèn)題之間的相似度計(jì)算,以提高問(wèn)答模型的效率。例如,文獻(xiàn)[19]提出基于向量空間模型來(lái)計(jì)算查詢(xún)和存檔問(wèn)題之間的余弦相似度,但是其只針對(duì)簡(jiǎn)短的問(wèn)題。文獻(xiàn)[20]使用解析器構(gòu)建問(wèn)題的語(yǔ)法樹(shù),并根據(jù)語(yǔ)法樹(shù)之間的相似度對(duì)問(wèn)題進(jìn)行排序。但這種方法需要大量的訓(xùn)練數(shù)據(jù),也沒(méi)有受過(guò)良好的訓(xùn)練來(lái)分析非正式的書(shū)面問(wèn)題。文獻(xiàn)[21]開(kāi)發(fā)了一種向量袋方法,并使用CNN和基于注意力的LSTM來(lái)捕獲社區(qū)問(wèn)題之間的語(yǔ)義相似性,并相應(yīng)地對(duì)它們進(jìn)行排名。文獻(xiàn)[22]基于詞嵌入,在句子和詞級(jí)別使用文本相似度計(jì)算了新問(wèn)題和前一個(gè)問(wèn)題之間的相似性,以及新問(wèn)題和與前一個(gè)問(wèn)題相關(guān)的答案之間的相似性。文獻(xiàn)[23]針對(duì)問(wèn)答模型中的噪聲數(shù)據(jù),提出基于課程學(xué)習(xí)的常識(shí)問(wèn)答模型,根據(jù)相似度方法設(shè)計(jì)問(wèn)題難度策略來(lái)提高對(duì)問(wèn)題的學(xué)習(xí)。
2.2" 問(wèn)題相似度計(jì)算方法
為了只關(guān)注可回答問(wèn)題,引入問(wèn)題相似度機(jī)制,該機(jī)制計(jì)算提出的問(wèn)題和生成的問(wèn)題之間的余弦相似度。
令[GQ]為生成的問(wèn)題集,[QP]為提出的問(wèn)題,則[GQ=m],[QP=1]。生成問(wèn)題的句子嵌入由下式給出:
[XGQSE={E(i)GQ∈R512," i=1,2,…,m}] (11)
式中:[XGQSE]是生成問(wèn)題[(GQ)]的句子嵌入[(SE)] 集合;[EGQ]是每個(gè)生成問(wèn)題[(GQ)]的句子嵌入。
提出問(wèn)題的句子嵌入為:
[XQPSE=E(i)QP∈R512," i=1] (12)
式中:[XQPSE]是提出的問(wèn)題[(QP)]的句子嵌入 [(SE)]集合;[E(i)QP]是每個(gè)提出的問(wèn)題[(QP)]的句子嵌入。
提出的問(wèn)題和生成的問(wèn)題之間的余弦相似度根據(jù)以下公式計(jì)算:
[cos(E(i)GQ,XQPSE)=E(i)GQ,XQPSEE(i)GQXQPSE," i=1,2,…,m] (13)
式中[E(i)GQ,XQPSE]表示[E(i)GQ]和[XQPSE]的內(nèi)積。
為了計(jì)算問(wèn)題相似度得分,需要在生成的問(wèn)題中識(shí)別出與所提出的問(wèn)題的余弦相似度最高的問(wèn)題。最高相似度問(wèn)題max是由式(14)獲得的。
[max=argmaxi∈{1,2,…,m}cosE(i)GQ,XQPSE] (14)
生成的問(wèn)題(根據(jù)式(14)識(shí)別)與提出的問(wèn)題之間的最高問(wèn)題相似度分?jǐn)?shù)s由下式給出:
[s=cos(EjGQ,XQPXE)] (15)
式中,[EjGQ]和[XQPXE]分別是第[j]個(gè)生成的問(wèn)題(通過(guò)式(14)獲得)和提出的問(wèn)題的句子嵌入。
2.3" 問(wèn)題分類(lèi)
引入問(wèn)題相似度機(jī)制,使用其對(duì)輸入給答案生成模型的問(wèn)題進(jìn)行識(shí)別。該機(jī)制根據(jù)閾值對(duì)無(wú)法回答、無(wú)關(guān)和可回答的問(wèn)題進(jìn)行識(shí)別和過(guò)濾,將提出的問(wèn)題分為無(wú)法回答的問(wèn)題、無(wú)關(guān)的問(wèn)題和可回答的問(wèn)題。
1) 無(wú)法回答的問(wèn)題:當(dāng)文章中有上下文但用戶(hù)提出的問(wèn)題非常復(fù)雜,問(wèn)答系統(tǒng)無(wú)法回答時(shí),該問(wèn)題被標(biāo)記為不可回答的問(wèn)題。
2) 無(wú)關(guān)的問(wèn)題:當(dāng)用戶(hù)提出一個(gè)與給定文章無(wú)關(guān)的問(wèn)題時(shí),這個(gè)問(wèn)題被標(biāo)記為無(wú)關(guān)。
3) 可回答的問(wèn)題:在給定的文章中有上下文的問(wèn)題,并且這個(gè)問(wèn)題可以被問(wèn)答系統(tǒng)回答。
根據(jù)問(wèn)題的分類(lèi),將提取問(wèn)答對(duì)數(shù)據(jù)集中1 000個(gè)問(wèn)題作為無(wú)法回答的問(wèn)題、無(wú)關(guān)的問(wèn)題和可回答的問(wèn)題。實(shí)驗(yàn)得出,無(wú)關(guān)問(wèn)題的問(wèn)題相似度得分在0.00~0.50之間,而無(wú)法回答問(wèn)題的問(wèn)題相似度得分在0.50~0.85之間。進(jìn)一步,實(shí)驗(yàn)檢查了可回答問(wèn)題的問(wèn)題相似度得分,發(fā)現(xiàn)問(wèn)題相似度得分在0.85~1.00之間。因此,將提出問(wèn)題的相應(yīng)標(biāo)簽與問(wèn)題相似度評(píng)分閾值設(shè)置為如表2所示。
3" 實(shí)驗(yàn)與結(jié)果分析
3.1" 實(shí)驗(yàn)設(shè)置
實(shí)驗(yàn)所采用的硬件配置為Intel[?] Xeon[?] Gold 6330處理器,32 GB運(yùn)行內(nèi)存,GPU為NVIDIA GeForce RTX 3090。所使用的軟件環(huán)境為Ubuntu 20.04.2 LTS操作系統(tǒng)下Tensorflow 1.14深度學(xué)習(xí)框架,Python 3.7編譯器,具體配置如表3所示。
3.2" 數(shù)據(jù)集評(píng)估
采用基于RoBERTa?wwm問(wèn)答對(duì)自動(dòng)生成算法生成問(wèn)答對(duì),并對(duì)其進(jìn)行評(píng)估。
3.2.1" 評(píng)估指標(biāo)
BLEU(Bilingual Evaluation Understudy)是一種常用的自動(dòng)評(píng)價(jià)指標(biāo),用于衡量自然語(yǔ)言生成系統(tǒng)生成的文本與參考答案之間的相似程度[24]。BLEU需要計(jì)算[1-gram],[2-gram],…,[n-gram]的精確率,一般[n]設(shè)為4,與BLEU?1、BLEU?2、BLEU?3、BLEU?4指標(biāo)對(duì)應(yīng)。BLEU計(jì)算公式如下:
[BLEU=BPexpn=1NWnlogPn] (16)
[BP=1," " " " " cgt;se1-s/c," "c≤s] (17)
[Pn=c∈n-gram∈cCountclip(n-gram)c'∈an-gram'∈c'Count(n-gram)] (18)
[Countclipwi=min(Countwi,Ref_Countwi)] (19)
式中:BP表示懲罰因子;[Wn]表示[n-gram]的權(quán)重,一般采用均勻權(quán)重;[Pn]為[n-gram]的精確率;[c]為預(yù)測(cè)答案序列長(zhǎng)度;[s]為標(biāo)記答案序列長(zhǎng)度;a為預(yù)測(cè)答案;[Count]表示[n-gram]在預(yù)測(cè)答案中出現(xiàn)的次數(shù);[Ref_Count]表示[n-gram]在標(biāo)記答案中出現(xiàn)的次數(shù)。
3.2.2" 評(píng)估結(jié)果
本實(shí)驗(yàn)采用BLEU評(píng)價(jià)指標(biāo)統(tǒng)計(jì)了解碼策略選擇對(duì)算法的影響效果,如表4所示。
基準(zhǔn)實(shí)驗(yàn)采用表4中第1組實(shí)驗(yàn),在答案序列和問(wèn)題序列中,不使用解碼策略而是直接使用貪婪策略對(duì)答案和問(wèn)題序列進(jìn)行生成。
由表4實(shí)驗(yàn)結(jié)果可得,當(dāng)答案序列解碼策略和問(wèn)題序列解碼策略均采用貪婪策略時(shí),BLEU?1~BLEU?4的得分都處于相對(duì)較低的水平,貪婪策略在生成答案和問(wèn)題時(shí)可能導(dǎo)致較低的質(zhì)量和多樣性。當(dāng)答案序列解碼策略采用貪婪策略,而問(wèn)題序列解碼策略采用集束搜索(B=2)時(shí),BLEU得分相對(duì)提高,表明集束搜索在生成答案序列時(shí)能夠提高BLEU分?jǐn)?shù)。使用Top?P策略進(jìn)行答案序列解碼,同時(shí)采用集束搜索(B=2)或更高B值時(shí),BLEU得分顯著提高。Top?P策略在生成答案序列時(shí)能夠更好地捕捉多樣性和相關(guān)性,這使得BLEU分?jǐn)?shù)有所提高,而隨著B(niǎo)值的增加,BLEU?1~BLEU?4的得分逐漸下降。
使用Top?P策略進(jìn)行答案序列解碼,同時(shí)采用集束搜索(B=2)作為問(wèn)題序列解碼策略時(shí),能夠獲得最高的BLEU分?jǐn)?shù),在生成問(wèn)答對(duì)時(shí)能夠在多樣性和準(zhǔn)確性之間取得良好的平衡,并有效提高問(wèn)答對(duì)算法的性能。
為了驗(yàn)證本文提出算法的有效性,在收集的煤礦安全問(wèn)答數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),使用如下算法進(jìn)行對(duì)比。
1) LSTM?based:采用LSTM模型構(gòu)建序列到序列的編碼器?解碼器問(wèn)答對(duì)生成算法。
2)RoBERTa?LSTM:采用RoBERTa作為編碼器,LSTM作為解碼器,構(gòu)建序列到序列的算法。
3) RoBERTa?UniLM:將RoBERTa與UniLM結(jié)合,不使用wwm結(jié)構(gòu),從而驗(yàn)證在問(wèn)答對(duì)自動(dòng)中RoBERTa?wwm算法優(yōu)于RoBERTa。
4) RoBERTa?wwm?UniLM:本文提出的問(wèn)答對(duì)自動(dòng)生成算法,采用原始參數(shù),從而驗(yàn)證使用特定領(lǐng)域內(nèi)繼續(xù)預(yù)訓(xùn)練的有效性。
5) PreTrain RoBERTa?wwm?UniLM:為本文提出的最終算法,在RoBERTa?wwm?UniLM算法的基礎(chǔ)上繼續(xù)進(jìn)行預(yù)訓(xùn)練,增強(qiáng)算法對(duì)煤礦安全領(lǐng)域的表達(dá)能力。
不同模型BLEU評(píng)估實(shí)驗(yàn)結(jié)果如表5所示。由表5可知:LSTM?based為基準(zhǔn)算法,沒(méi)有采用預(yù)訓(xùn)練的語(yǔ)言模型,難以理解文本語(yǔ)境,因此在自問(wèn)題生成方面詞匯相關(guān)性答案時(shí)的性能較差,導(dǎo)致其BLEU分?jǐn)?shù)相對(duì)較低;引入RoBERTa模型后,利用RoBERTa的向量表征能力更好地捕捉了文本的語(yǔ)境,從而提高了生成答案的質(zhì)量;在引入U(xiǎn)niLM后,UniLM作為一個(gè)預(yù)訓(xùn)練算法,能更好地理解文本的復(fù)雜性,從而提高了問(wèn)題生成的準(zhǔn)確性和多樣性。同時(shí),全詞掩蓋訓(xùn)練方式有助于提高算法在特定領(lǐng)域中的適應(yīng)性,從而提高BLEU值。
PreTrain RoBERTa?wwm?UniLM算法在所有BLEU指標(biāo)上取得最高分?jǐn)?shù),特別是BLEU?4,表明它在生成高度相關(guān)且多詞匯相關(guān)性答案時(shí)表現(xiàn)出色。各個(gè)算法的BLEU指標(biāo)評(píng)估對(duì)比圖如圖8所示。
3.3" 實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)使用的數(shù)據(jù)為上文收集煤礦安全規(guī)程文本及問(wèn)答對(duì)數(shù)據(jù),利用上文問(wèn)答對(duì)自動(dòng)生成算法來(lái)隨機(jī)抽取的煤礦安全規(guī)程文本篇章生成問(wèn)題。表6所示為文本可能生成的問(wèn)題。
根據(jù)表6從文本中生成所有可能的問(wèn)題,這些問(wèn)題被進(jìn)一步交給問(wèn)答對(duì)自動(dòng)生成算法生成可能的問(wèn)題的答案。表7顯示了問(wèn)答對(duì)自動(dòng)生成算法生成的問(wèn)答對(duì)。原始文本條例:凍結(jié)井筒的井壁結(jié)構(gòu)應(yīng)當(dāng)采用雙層或者復(fù)合井壁,井筒凍結(jié)段施工結(jié)束后應(yīng)當(dāng)及時(shí)進(jìn)行壁間充填注漿。注漿時(shí)壁間夾層混凝土溫度應(yīng)當(dāng)不低于4 ℃,且凍結(jié)壁仍處于封閉狀態(tài),并能承受外部水靜壓力。
表8為問(wèn)題相似度結(jié)果。
表8中,第1列為提出的問(wèn)題;第2列為指定提出的問(wèn)題和生成的問(wèn)題之間的最高問(wèn)題相似度得分;第3列為通過(guò)與閾值的比較,根據(jù)最高的問(wèn)題相似度得分來(lái)判斷問(wèn)題是可回答問(wèn)題還是無(wú)法回答問(wèn)題或無(wú)關(guān)問(wèn)題;第4列表示提出的問(wèn)題生成的答案。從煤礦安全規(guī)程中隨機(jī)抽100個(gè)段落進(jìn)行實(shí)驗(yàn),其中包含無(wú)法回答和無(wú)關(guān)的問(wèn)題,當(dāng)生成問(wèn)題與提出問(wèn)題的余弦相似度得分不超過(guò)閾值時(shí),將其標(biāo)記或標(biāo)記為不可回答問(wèn)題或無(wú)關(guān)問(wèn)題。因此,低于閾值的問(wèn)題將不會(huì)被傳遞到問(wèn)答算法。本文提出的問(wèn)題相似度機(jī)制不允許RoBERTa?wwm閱讀理解器通過(guò)錯(cuò)誤猜測(cè)來(lái)回答無(wú)法回答或無(wú)關(guān)的問(wèn)題。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)可回答問(wèn)題的問(wèn)題相似度得分在0.90以上,由此說(shuō)明問(wèn)題相似度機(jī)制可以識(shí)別出與人類(lèi)判斷水平相當(dāng)?shù)膯?wèn)題。如表9所示,本文共提取了1 000個(gè)問(wèn)題,包括無(wú)法回答的問(wèn)題和無(wú)關(guān)的問(wèn)題。實(shí)驗(yàn)結(jié)果表明問(wèn)題相似度機(jī)制的引入對(duì)算法識(shí)別無(wú)法回答問(wèn)題及無(wú)關(guān)問(wèn)題的效率進(jìn)一步提高,從而只關(guān)注可回答問(wèn)題。
對(duì)于數(shù)據(jù)集中的特定文本,從不同的文本中隨機(jī)選擇無(wú)關(guān)的問(wèn)題,這樣隨機(jī)選擇的問(wèn)題就不會(huì)與上下文相關(guān)。該方法的效率[η]計(jì)算公式為:
[η=w1+w21 000×100%] (20)
式中:[w1]為無(wú)關(guān)問(wèn)題的數(shù)量;[w2]為沒(méi)有回答的無(wú)關(guān)問(wèn)題的數(shù)量。
4" 結(jié)" 語(yǔ)
本文對(duì)煤礦安全知識(shí)的問(wèn)答模型進(jìn)行研究,結(jié)合自然語(yǔ)言處理技術(shù),提出一種煤礦安全問(wèn)答對(duì)數(shù)據(jù)集自動(dòng)構(gòu)建方法和基于問(wèn)題相似度機(jī)制答案生成模型。本文完成的主要研究工作如下。
1) 提出煤礦安全領(lǐng)域問(wèn)答對(duì)自動(dòng)構(gòu)建方法。收集現(xiàn)有煤礦安全領(lǐng)域相關(guān)數(shù)據(jù)風(fēng)格及內(nèi)容,明晰煤礦安全的不同類(lèi)型問(wèn)題,手工標(biāo)注設(shè)計(jì)問(wèn)答對(duì);采用點(diǎn)互信息和鄰接熵方法更好地發(fā)現(xiàn)專(zhuān)業(yè)新詞匯,增強(qiáng)領(lǐng)域適配性;結(jié)合RoBERTa?wwm和UniLM構(gòu)造問(wèn)答對(duì)自動(dòng)生成算法,自動(dòng)生成高質(zhì)量的煤礦安全問(wèn)答對(duì)數(shù)據(jù)。該方法一方面能夠減輕人工標(biāo)注數(shù)據(jù)的負(fù)擔(dān),并對(duì)本文研究答案生成模型提供支持;另一方面,還可為未來(lái)相關(guān)研究提供語(yǔ)料庫(kù),拓展了研究領(lǐng)域的可能性。
2) 提出基于問(wèn)題相似度機(jī)制答案生成模型。引入了一個(gè)模仿人類(lèi)推理的問(wèn)題相似度機(jī)制,以識(shí)別所提出的問(wèn)題是可回答的問(wèn)題還是無(wú)法回答或無(wú)關(guān)的問(wèn)題。如果提出的問(wèn)題是無(wú)法回答或無(wú)關(guān)問(wèn)題,那問(wèn)題就不會(huì)傳遞給算法,幫助算法專(zhuān)注于可回答的問(wèn)題,以提高性能。
參考文獻(xiàn)
[1] 王寰,孫雷,吳斌,等.基于閱讀理解智能問(wèn)答的RPR融合模型研究[J].計(jì)算機(jī)應(yīng)用研究,2022,39(3):726?731.
[2] TERRY W. Five lectures on artificial intelligence [J]. Linguistic structures processing, 1997, 5(8): 399?520.
[3] UPADHYA B A, UDUPA S, KAMATH S S. Deep neural network models for question classification in community question?answering forums [C]// 2019 10th International Conference on Computing, Communication and Networking Technologies (ICCCNT). [S.l.]: IEEE, 2019: 1?6.
[4] AGRAWAL A, GEORGE R A, RAVI S S, et al. ARS_NITK at MEDIQA 2019: analysing various methods for natural language inference, recognising question entailment and medical question answering system [C]// Meeting of the Association for Computational Linguistics. [S.l.]: ACL, 2019: 533?540.
[5] 袁里馳.利用深度神經(jīng)網(wǎng)絡(luò)并結(jié)合配價(jià)信息的語(yǔ)義角色標(biāo)注[J].小型微型計(jì)算機(jī)系統(tǒng),2022,43(9):1925?1930.
[6] LIU Y, OTT M, GOYAL N, et al. Roberta: a robustly optimized bert pretraining approach [EB/OL]. [2023?01?17]. https://www.xueshufan.com/publication/2965373594.
[7] JOSHI M, CHEN D, LIU Y, et al. Spanbert: improving pre?training by representing and predicting spans [J]. Transactions of the association for computational linguistics, 2020, 8: 64?77.
[8] RANI V, NABI S T, KUMAR M, et al. Self?supervised learning: a succinct review [J]. Archives of computational methods in engineering, 2023, 30(4): 2761?2775.
[9] CLARK K, LUONG M T, LE Q V, et al. Electra: pre?training text encoders as discriminators rather than generators [EB/OL]. [2023?08?13]. https://www.xueshufan.com/publication/2996035354.
[10] JI Z, LEE N, FRIESKE R, et al. Survey of hallucination in natural language generation [J]. ACM computing surveys, 2023, 55(12): 1?38.
[11] YIN Z, SUN Q, GUO Q, et al. Do large language models know what they don't know? [EB/OL]. [2023?10?28]. https://arxiv.org/pdf/2305.18153.
[12] REDDY S, CHEN D, MANNING C D. COQA: a conversational question answering challenge [J].Transactions of the association for computational linguistics, 2019, 7: 249?266.
[13] CHOI E, HE H, IYYER M, et al. QuAC: question answering in context [EB/OL]. [2024?01?21]. https://arxiv.org/pdf/1808.07036.
[14] KWIATKOWSKI T, PALOMAKI J, REDFIELD O, et al. Natural questions: a benchmark for question answering research [J]. Transactions of the association for computational linguistics, 2019, 7: 453?466.
[15] CHAYBOUTI S, SAGHE A, SHABOU A. Efficient QA: a roBERTa based phrase?indexed question?answering system [EB/OL]. [2023?11?21]. https://www.xueshufan.com/publication/3118838679.
[16] 王恒,吳鐵峰.基于RoBERTa?wwm和Bi?LSTM的短文本情感分析[J].佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2022,40(4):50?54.
[17] QIAO C, HU X. A neural knowledge graph evaluator: combining structural and semantic evidence of knowledge graphs for predicting supportive knowledge in scientific QA [J]. Information processing amp; management, 2020, 57(6): 102309.
[18] YE Y, ZHANG S, LI Y, et al. Video question answering via grounded cross?attention network learning [J]. Information processing amp; management, 2020, 57(4): 102265.
[19] CAO X, CONG G, CUI B, et al. A generalized framework of exploring category information for question retrieval in community question answer archives [C]// Proceedings of the 19th International Conference on World Wide Web. [S.l.]: ACM, 2010: 201?210.
[20] WANG K, MING Z, CHUA T S. A syntactic tree matching approach to finding similar questions in community?based QA services [C]// Proceedings of the 32nd International ACM SIGIR Conference on Research and Development in Information Retrieval. [S.l.]: ACM, 2009: 187?194.
[21] SANTOS C D, BARBOSA L, BOGDANOVA D, et al. Learning hybrid representations to retrieve semantically equivalent questions [C]// International Joint Conference on Natural Language Processing. [S.l.]: Association for Computational Linguistics, 2015: 694?699.
[22] MOHTARAMI M, BELINKOV Y, HSU W N, et al. SLS at SemEval?2016 task 3: neural?based approaches for ranking in community question answering [C]// Proceedings of the 10th International Workshop on Semantic Evaluation. San Diego, CA, USA: ACM, 2016: 828?835.
[23] 李偉,黃賢英,馮雅茹.基于課程學(xué)習(xí)的無(wú)監(jiān)督常識(shí)問(wèn)答模型[J].計(jì)算機(jī)應(yīng)用研究,2023,40(6):1674?1678.
[24] REITER E. A structured review of the validity of BLEU [J]. Computational linguistics, 2018, 44(3): 393?401.