?

基于CoSENT的航空裝備領域問句相似度匹配算法*

2023-12-11 12:10翟一琛顧佼佼姜文志
艦船電子工程 2023年9期

翟一琛 顧佼佼 劉 濤 姜文志

(海軍航空大學 煙臺 264001)

1 引言

隨著軍事裝備信息化的高速發展,裝備配套相關技術保障文檔大量增加,戰場形勢瞬息萬變,如何高效地利用這些非結構化文本,快速檢索到需要的信息,對提升裝備使用和維護效率、掌握戰場主動權具有重要意義。傳統的信息檢索通常采取基于關鍵詞匹配的方式,這種方式沒有考慮到用戶語義表述的多樣性,常常無法準確地理解用戶意圖[1]。近年來,基于深度學習的自然語言處理技術快速發展,通過使用深度學習模型考慮文字的上下文信息,產生向量化的語義表示,可以更加準確地表示文本語義。

基于文本語義表示的文本匹配技術是實現智能問答的關鍵技術[2],這類方法通常使用文本對作為知識來源,通過文本相似度匹配將用戶輸入的檢索項與知識庫中存儲的文本進行匹配,是目前工業界實現智能問答系統的主要方式之一[3~4]。隨著深度學習的發展,使用深度學習模型進行文本相似度匹配是當前的主流研究方向,主要分為特征式和交互式兩類方式[5~6]。特征式指輸入的兩個句子分別通過編碼器獲得句向量表示再進行相似度匹配,文獻[7]提出的InferSent 模型是典型的特征式模型,文中驗證了將兩路句向量進行拼接等操作后作為輸入分類器的特征可以有效提升文本匹配模型的性能。文獻[8]提出Sentence-BERT 模型,驗證了使用BERT(Bidirectional Encoder Representation from Transformers)[9]預訓練模型作為特征抽取器可以有效提升模型性能。交互式指將兩個句子進行拼接后再輸入模型,這種方式使得文本在模型內可以進行更多的交互,模型性能一般較特征式更好,缺點是無法提前存儲計算好的緩存向量,在檢索場景下的效率較差。文獻[10]提出交互式文本匹配模型ESIM,表明了通過構建匹配矩陣進行句子間交互的有效性。文獻[11]借鑒卷積神經網絡(Convolutional Neural Networks,CNN)處理圖像的原理,提出MatchPyramid 模型,通過CNN 提取句子間的相似度矩陣特征,達到融合特征表示,提升模型性能的目的。

將知識庫問答技術應用到垂直領域面臨諸多困難,在數據集構建方面,現有研究大多基于社區問答數據自動構建[12~14]。對于垂直領域下非結構化文本內容的問句對構建,通常需要組織行業專家針對文檔內容人工提出問題,在問答系統啟動初期,人工標注工作量大。為此,本文提出一種面向航空裝備領域技術文檔的問句對構建方法。首先,針對文檔行文特點,對文檔內各級標題采取規則模板和SimBERT[15]生成模型進行問句生成,然后使用語義相似的關鍵詞替換方法擴充數據集,調整數據集正負比例,減輕人工標注工作量。

考慮特征式模型在檢索場景下的優點和數據集規模小的問題,使用基于預訓練BERT 的特征式文本相似度匹配模型CoSENT 作為基準模型。通過關鍵詞注意力機制引入外部領域詞典知識指導模型訓練;同時針對特征式模型缺乏句對間交互的問題,加入交互機制進一步提升模型性能。

2 命名實體識別模型

2.1 CoSENT模型

BERT 是一種基于多層雙向Transformer 編碼器的預訓練語言模型,可以生成融合上下文信息的句子表征。通常采取預訓練加微調的訓練方式,首先在大量無監督數據上進行掩碼語言模型(Masked Language Model,MLM)和下一句預測(Next Sentence Prediction,NSP)訓練,之后結合具體的任務在少量標注數據上進行微調,這種訓練方式使得BERT 具有較強的泛化能力,即使在小數據集上進行訓練也能取得良好的性能。

SBERT(Sentence-BERT)模型將BERT 引入到孿生網絡結構中,利用BERT 生成更有效的句子嵌入用于文本相似性度量任務,模型結構如圖1所示?;赟BERT 模型改進的CoSENT 模型[16]主要針對原模型訓練與預測不一致的問題,對模型的損失優化部分進行了改進,由原來先特征拼接再連接Softmax 分類器輸出類別,優化分類損失的方式,改為直接優化句子對間的余弦距離,模型結構如圖2所示,損失計算公式為

圖1 Sentence-BERT模型結構圖

圖2 CoSENT模型結構圖

其中(i'j)∈Ωpos,(k'l)∈Ωneg,Ωpos為正樣本集合,Ωneg為負樣本集合,uk、ul、ui、uj分別為正樣本對和負樣本對的句向量表示,λ為超參數。

2.2 SimBERT模型

Seq2Seq[17]指的是給模型輸入一段文本后,模型會輸出另一段文本,Seq2Seq 模型一般采用編碼器-解碼器結構,編碼器將輸入文本編碼為固定大小的向量,解碼器將這個向量以自回歸的方式進行解碼,生成對應的文本。BERT 模型在提出時用于進行自然語言理解任務,其核心Transformer[18]編碼器采用雙向自注意力機制,對于輸入的句子,句子中每個詞之間都是可見的,無法用于自然語言生成任務。微軟提出通過構建如圖3所示的特殊的注意力掩碼矩陣,將BERT 模型改造為可以進行自然語言生成任務的統一預訓練語言模型(Unified Language Model,UniLM)[19]。

圖3 UniLM模型的注意力掩碼矩陣

SimBERT 是一種以BERT 模型為基礎的融合檢索與生成于一體的模型,與BERT 模型相比,其具有文本生成能力的核心就是使用了UniLM 中的Seq2Seq 訓練方式。訓練SimBERT 生成相似問句首先需要收集大量的相似問句對,同一相似問句對在輸入模型時通過[SEP]進行分割,之后對輸入語句使用特殊的注意力掩碼矩陣,這種形式的注意力掩碼矩陣使得[SEP]之前的字符之間實現了雙向注意力,[SEP]之后的字符之間實現了單向注意力,從而使得模型具有遞歸的預測后半句的能力。

2.3 關鍵詞注意力機制

與交互式模型相比,特征式模型由于缺乏對句子間的特征融合,模型無法更加有效地關注文本中的關鍵信息,本文借鑒文獻[20]提出的關鍵詞自注意力機制,利用外部領域關鍵詞知識指導模型訓練。自注意力機制可以計算句子內部字符之間的相關性,本文首先通過對文本輸入X=[x1'...'xn]使用領域詞典W進行關鍵詞識別,之后構建關鍵詞掩碼矩陣作用在關鍵詞掩碼自注意力層上,強制模型關注句子中的關鍵詞。其表達形式如下:

改進后的模型整體結構如圖4所示,句子1、2通過的網絡均共享權重。首先,句子按字符粒度輸入到BERT 模型中,BERT 模型輸出包含上下文信息的語義表示,其中[CLS]向量作為句子原始的整體信息直接送入特征拼接層,其余每個字符的輸出向量送入關鍵詞掩碼自注意力層。在關鍵詞掩碼矩陣的作用下,句子內的關鍵詞進行注意力交互,之后輸出向量至池化層進行特征的進一步提取,兩路池化層的輸出向量之間進行特征拼接與交互,與Sentence-BERT、InferSent等特征式模型不同,CoSENT模型直接對句子表示的余弦相似度進行優化,所以在進行特征拼接和交互后,特征向量仍應保持句子表示的相對獨立性,即拼接后的特征向量仍然可以表示該輸入語句的語義信息。

圖4 融合關鍵詞注意力機制的CoSENT模型

3 實驗驗證

3.1 數據集構建

自建數據集來源于航空行業IETM相關技術手冊中的PDF 文檔,根據文檔文本的行文特點,首先使用PDF 文本抽取技術和正則表達式匹配的方法提取文檔內所有的標題,根據標題的層級關系,建立常見問句模板將標題關鍵詞擴充成句,然后使用在2200萬個問句對數據集上預訓練的SimBERT模型自動生成大量相似問句,生成示例如表1所示。人工挑選出表達通順的句子并判斷相似或不相似,根據此方法標注數據集共2463條。

表1 文本生成示例

利用SimBERT 生成的相似問句多數與原句語義相似,數據集會出現正負比例不均衡的現象。通過隨機替換、隨機刪除等方法生成的負例與真實標注相差較大,使得數據集噪聲過大,訓練效果差。本文使用領域詞典對句子中的關鍵詞進行識別,并在與關鍵詞同類型的詞語中選擇字面不同但語義相關的詞語進行替換,通過此方法生成的負樣例更難區分,更接近真實負例,有助于模型訓練。語義相似度使用在所有語料上訓練的Word2Vec[21]模型進行計算,本文選取相似度大于0.8但小于0.9的詞語進行相似詞替換,生成負樣本示例如表1所示。

在非結構化文本數據上,通過這種方式生成數據集不需要人工生成問句,只需要進行選擇,減輕了人工標注的工作量。最終得到4000 對相似問句對數據集,數據集平均文本長度為17,最大文本長度為42,問句對正負比例為1.25∶1,按6∶2∶2 劃分為訓練集、驗證集和測試集。

訊飛文本相似度數據集來自訊飛中文問題相似度挑戰賽,為通用領域下的相似問句對數據集。本文使用可供下載的5000 對問句對進行實驗,數據集平均文本長度為21,最大文本長度為83,問句對正負比例為1.37∶1,在數據集規模、文本長度和正負比例上與本文自建數據集相近,按6∶2∶2 劃分為訓練集,驗證集和測試集。

3.2 實驗配置

1)實驗設置

實驗環境為處理器Inter(R)Xeon(R)Gold 5218R、操作系統Ubuntu 18.04.2LTS、顯卡RTX 3090,開發環境為Python3.7,使用Pytorch1.8.0 框架。

模型參數設置如下:BERT 輸入的最大序列長度為64,批處理大小為128,向量維度為768,使用AdamW優化器,學習率設置為2e-5,超參數λ=5。

2)評價指標

在檢索場景下,更關注預測分數的順序,Spearman 相關系數定義為兩個變量的秩統計量間的Pearson 相關系數,其值與兩組變量的具體值無關,僅與值之間的大小關系有關。首先將模型輸出的相似度與真實標簽值分別進行排序(同時為升序或降序),得到集合x和y后其計算公式如下:

其中兩個集合的元素個數均為N,、分別表示兩集合平均位次的值。

3.3 實驗結果及分析

本文選取了ESIM,InferSent,Sentence-BERT,BERT,CoSENT共五種主流的文本匹配模型進行對比實驗,其中InferSent 和ESIM 模型均采用CNN 進行特征抽取,表2 展示了選取的幾種基準模型在自建數據集和訊飛文本相似度數據集上的實驗結果。實驗結果表明,不論是交互式模型還是特征式模型,在使用預訓練BERT 模型后,模型性能均得到較大提升。選擇同樣的特征抽取模型時,交互式模型的表現明顯優于特征式模型。由于交互式模型不能離線獲得文本的向量表示,檢索場景下效率較低,本文選取特征式模型中表現最優的CoSENT作為基準模型。

表2 模型對比實驗

為加強文本中關鍵信息在模型訓練過程中的重要性,使用詞典識別輸入文本中的名詞、動詞和動名詞,構建關鍵詞掩碼矩陣,并作用在CoSENT模型向量輸出部分的關鍵詞自注意力層上,對該層的輸出向量進行三種池化策略的實驗,實驗結果如表3所示,在自建數據集上,直接取關鍵詞自注意力層的CLS向量與CoSENT模型的CLS輸出向量進行拼接時,Spearman 相關系數由0.791 提升到了0.806;在訊飛文本相似度數據集上對關鍵詞自注意力層使用平均池化策略輸出的向量與CoSENT模型的CLS輸出向量進行拼接時,Spearman相關系數由0.749 提升到了0.763。同時注意到,不論使用何種形式的關鍵詞注意力機制,模型性能都會穩定提升,驗證了本文提出方法的有效性。

表3 關鍵詞注意力機制實驗

圖5 為CoSENT 模型加入關鍵詞自注意力層前后的損失函數曲線圖,從圖中可以看出加入關鍵詞注意力機制可以有效幫助模型收斂,使得模型性能更加穩定。

圖5 損失函數曲線圖

在使用關鍵詞注意力機制的基礎上,對特征交互階段的向量拼接策略進行實驗,表4 中列出了特征拼接時選擇三種池化策略時各自最好的實驗結果。對于本文使用的兩個數據集而言,選擇平均池化策略和最大池化策略的效果都要優于直接使用CLS向量,兩個數據集的Spearman相關系數分別達到了0.814 和0.766。另外,在表4 中還分別展示了在自建數據集和訊飛文本相似度數據集下分別使用平均池化策略和最大池化策略進行特征拼接的實驗結果,ucls'表示當前輸入句子BERT 層的CLS輸出向量,u,v分別表示兩句子的輸出向量。實驗結果顯示,在自建數據集和訊飛文本相似度數據集上,特征交互階段分別使用(ucls''u'u-v) 和(ucls''u'|u-v|) 拼接策略時模型性能最好,代表在CoSENT 模型中,表示兩句子間差異信息的u-v和|u-v|向量可以為相似性度量提供更多的特征信息。同時,使用u*v向量作為交互特征均會降低模型性能。

表4 特征向量拼接實驗

4 結語

首先針對航空維修領域技術手冊中非結構化文本問句對數據集構建困難的問題,提出一種面向該領域技術手冊的數據集構建方法,結合文本行文特點,利用規則模板、Word2Vec 模型、深度學習生成模型等手段自動生成有實際意義的問句對,減輕人工標注的工作量,構建了一個數據量大小為4000對的航空維修領域問句相似對數據集。

對主流的文本相似度匹配模型進行實驗,選取檢索場景下效率更高的特征式模型CoSENT 作為基準模型,使用外部詞典知識通過關鍵詞注意力機制指導模型訓練,同時針對特征式模型文本交互不夠充分的特點加入特征交互機制,并對關鍵詞注意力機制和特征融合方式在自建數據集和訊飛文本相似度數據集上進行實驗,結果表明本文提出的方法可以有效提升CoSENT模型的文本匹配性能。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合