王奧, 吳華瑞, 朱華吉
1. 廣西大學(xué) 計算機與電子信息學(xué)院,南寧 530004;2. 北京市農(nóng)林科學(xué)院 信息技術(shù)研究中心,北京 100097;3. 國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097;4. 農(nóng)業(yè)農(nóng)村部 數(shù)字鄉(xiāng)村技術(shù)重點實驗室,北京 100097
農(nóng)業(yè)復(fù)雜交互式問答平臺為農(nóng)戶提供專家在線指導(dǎo)、 在線學(xué)習(xí)、 農(nóng)業(yè)技術(shù)交流多種功能[1-2], 在協(xié)助用戶解決農(nóng)業(yè)生產(chǎn)生活和日常信息需求中發(fā)揮著重要作用. 平臺農(nóng)戶和專家實時在線互動, 問答文本海量增長, 但經(jīng)常出現(xiàn)不同表達方式表達相同語義的情況, 相似問題解答消耗大量人力、 物力, 因此構(gòu)建能夠快速準確給出答案的問答系統(tǒng)就顯得十分必要. 相似度匹配是語音、 人臉識別[3]、 問答等系統(tǒng)的基礎(chǔ)任務(wù), 其相似度計算的精度直接影響問答系統(tǒng)回復(fù)的準確率, 利用問句相似度匹配[4]開展高精度的農(nóng)業(yè)智能問答模型研究, 是農(nóng)業(yè)智能化的重要發(fā)展方向.
以往的語義匹配研究集中在短語、 語法和詞匯匹配, 如文獻[5]提出一種語法驅(qū)動的文本匹配方法, 通過融合具有魯棒性的非詞匯語法和由對數(shù)驅(qū)動的詞匯語法的線性模型進行文本匹配. 隨著深度學(xué)習(xí)的蓬勃發(fā)展[6-8], 語義匹配從基礎(chǔ)的文本嵌入到相似度計算, 再到復(fù)雜的神經(jīng)網(wǎng)絡(luò), 有效解決了人工設(shè)計特征提取量少、 泛化性差的問題. 卜維瓊等[9]針對農(nóng)業(yè)領(lǐng)域特征, 提出一種多重信息融合的相似度算法, 首次將深度學(xué)習(xí)與農(nóng)業(yè)問句匹配結(jié)合. 孿生神經(jīng)網(wǎng)絡(luò)在文本匹配領(lǐng)域表現(xiàn)出良好的性能[10]. 劉志超等[11]采用孿生神經(jīng)網(wǎng)絡(luò)架構(gòu), 結(jié)合雙向長短期神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)進行水稻問句語義匹配. 這種網(wǎng)絡(luò)結(jié)構(gòu)減少訓(xùn)練模型參數(shù), 提高了訓(xùn)練效率. 金寧等[12]采用孿生神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu), 運用雙向長短期記憶網(wǎng)絡(luò)、 卷積神經(jīng)網(wǎng)絡(luò)和密集連接網(wǎng)絡(luò)從深度語義、 詞語共現(xiàn)、 最大匹配度3個層面實現(xiàn)農(nóng)業(yè)短文本匹配, 但是直接進行句子表示的相似度匹配, 忽略了句間交互, 導(dǎo)致交互特征信息的損失, 無法有效學(xué)習(xí)句子關(guān)系特征.
注意力機制[13]可有效解決上述問題, 利用注意力機制對特征信息進行聚合或增強匹配信息, 挖掘豐富的句子關(guān)聯(lián)信息[14-16]. 融入注意力機制的交互模型通過賦予詞不同的權(quán)重, 能快速獲得有效信息, 有效提升文本匹配模型性能, 文獻[17]針對農(nóng)業(yè)文本特征, 利用基于協(xié)同注意力機制的緊密連接BiGRU(雙向門控循環(huán)單元)實現(xiàn)農(nóng)業(yè)問句相似度匹配. 在注意力機制基礎(chǔ)上從字、 詞、 句的角度研究文本相似度計算[18-21], 細粒度對比句子差異能夠提高相似度計算的效率和準確率. 但農(nóng)業(yè)文本數(shù)據(jù)存在詞匯總量較少、 專有名詞多, 具有冗余性、 稀疏性、 規(guī)范性差等特點, 導(dǎo)致傳統(tǒng)語義匹配方法提取句子間關(guān)聯(lián)特征信息不夠充分, 忽略了句間推理關(guān)系. 如何實現(xiàn)農(nóng)業(yè)相似問句語義智能檢索仍是農(nóng)業(yè)問答需要解決的一個重要問題.
針對農(nóng)業(yè)文本句子關(guān)聯(lián)特征信息難以深入挖掘, 句子多樣性捕獲不足等問題, 構(gòu)建雙向長短期循環(huán)神經(jīng)網(wǎng)絡(luò)提取特征, 融合自注意力機制、 多維注意力機制增強的文本語義推斷特征和距離特征, 通過多特征增強聚焦語義特征, 將增強特征嵌入多方位匹配層, 多角度對比句子特征信息, 捕獲句子的多樣性, 以期實現(xiàn)農(nóng)業(yè)問句精準、 自動的語義匹配.
如圖1所示, 農(nóng)業(yè)文本專業(yè)名詞多、 規(guī)范性差和高度依賴上下文等特點導(dǎo)致句子交互信息提取不足, 句間關(guān)系推理不夠深入; 本文構(gòu)建適用于農(nóng)業(yè)問句文本的特征增強文本匹配模型, 由特征提取層、 特征增強層、 多方位匹配層構(gòu)成. 特征增強層利用自注意力機制和多維注意力機制提取不同粒度的局部特征, 獲取具有豐富語義的交互向量特征. 將兩種增強特征信息嵌入多方位匹配函數(shù)中, 由3種匹配函數(shù)實現(xiàn)文本特征的多角度對比. 作為問答的基礎(chǔ)任務(wù), 相似度匹配精度的提升能有效提高問答系統(tǒng)的答案返回效率和準確率. 利用BILSTM(雙向長短期記憶網(wǎng)絡(luò))提取農(nóng)業(yè)文本輸入上下文向量, 獲得農(nóng)業(yè)問句文本前后關(guān)聯(lián)語義, 設(shè)置2層BILSTM網(wǎng)絡(luò), 每層LSTM的隱藏神經(jīng)單元為128個.
圖1 特征增強語義匹配模型架構(gòu)圖
傳統(tǒng)文本匹配模型獲取文本特征后直接進行相似度對比, 缺少關(guān)聯(lián)特征信息或挖掘不夠深入. 農(nóng)戶提問問句存在文本數(shù)據(jù)專業(yè)名詞多、 規(guī)范性差等特點, 文本關(guān)系特征信息難以挖掘. 利用自注意力機制、 多維注意力機制分別增強語義推理特征和文本距離特征, 準確聚焦語義特征, 合理建模上下文信息, 提高問答匹配精度.
1.1.1 語義推斷特征增強
通過自注意力機制計算注意力權(quán)重, 獲得文本向量間的對齊關(guān)系. 公式(1)為權(quán)重計算公式, 作為隱藏狀態(tài)的相似性矩陣.
(1)
(2)
(3)
(4)
(5)
1.1.2 文本距離特征增強
農(nóng)業(yè)特定領(lǐng)域中, 農(nóng)業(yè)專業(yè)術(shù)語比常用詞承載了更多信息, 可作為問句中關(guān)鍵詞. 循環(huán)神經(jīng)網(wǎng)絡(luò)提取特征時, 直接提取句子的每個詞向量, 忽略了關(guān)鍵詞在句子語義表示中的重要作用. 引入多維自注意力機制捕獲每個詞的上下文表示, 強調(diào)關(guān)鍵詞的重要性, 增強句子中原始語義特征的提?。?多維自注意力將傳統(tǒng)自注意力中的權(quán)重向量替換為權(quán)重矩陣, 使向量特征獲得獨自的權(quán)重. 注意力權(quán)重公式如下:
s(gi,gj)=tanh(giW1+gjW2+b)
(6)
式中,gi,gj為句中的隱藏狀態(tài),W1和W2為可學(xué)習(xí)的權(quán)重矩陣,b是大小為隱藏節(jié)點個數(shù)的偏置.
農(nóng)業(yè)問句文本中詞間的距離能代表其相關(guān)性, 引入距離感知掩碼使相近詞獲得更多關(guān)注, 距離更遠的詞關(guān)注更少. 計算相似度時詞間距離越遠所加負數(shù)越小, 經(jīng)過softmax函數(shù)后, 距離越遠的詞權(quán)重越小, 詞間的依賴也隨之削弱. 在公式(6)中加上掩碼M,M維度為1×1, 矩陣中的值在{0, -∞}之間, 由此構(gòu)建適用農(nóng)業(yè)問句文本函數(shù)(7):
s(gi,gj)=tanh((giW1+gjW2+b))+Mij
(7)
圖2 文本距離特征增強
(8)
f(i,j)=-|i-j|
(9)
f(i,j)=-exp|i-j|
(10)
將上述增強特征信息輸入特征融合層, 融合增強局部推理特征表示和增強距離感知特征表示, 不僅增強語義特征, 而且保留了句子間的交互特征, 獲得具有豐富語義特征信息的對齊特征向量.
為了解決農(nóng)業(yè)文本數(shù)據(jù)的稀疏性和文本詞匯總量少導(dǎo)致的句子間關(guān)系信息獲取不充分的問題, 使用3種匹配函數(shù)從不同角度獲取更豐富的聚合信息和更準確的句子關(guān)系. 余弦相似匹配根據(jù)詞頻對比匹配相似程度, 對單字分組匹配時準確率高.
(11)
(12)
(13)
式中, 特征在所有維度上均減去均值R, 減少余弦匹配因僅進行向量對比的影響.
余弦相似度是對向量空間的度量, 忽略了排序和重疊詞影響. 利用投影點積相似度匹配將向量進行投影, 通過點積乘法, 同時進行大小和角度的對比, 考慮整個句子值對相似度的影響. 其中Wp和Wq為可學(xué)習(xí)參數(shù),σ為sigmoid函數(shù).
m2=σ((vpWp)(vqWq))
(14)
元素匹配則從元素角度比較向量異同. 詞在句子中的重要程度不同, 其向量值也不同. 計算向量差異和能更好地學(xué)習(xí)句間關(guān)系. 同時使用3種匹配函數(shù), 從不同角度捕捉句子間的特征關(guān)聯(lián)得到最終的匹配向量.
m3=concat(vp,vq,vp*vq,vp-vq,vp+vq)
(15)
3種輸出向量通過平均池化和最大池化聚合全局語義, 導(dǎo)入語義特征, 對最終匹配向量進行聚合. 輸入到多層感知機(MLP)分類器, 使用tanh激活函數(shù)和softmax函數(shù)輸出, 模型采用端對端的訓(xùn)練方式, 損失函數(shù)為交叉熵損失函數(shù).
通過農(nóng)業(yè)領(lǐng)域最大的知識問答社區(qū)“中國農(nóng)技推廣信息平臺”后臺導(dǎo)出涉及5個種類的20 000個問答對來構(gòu)建農(nóng)業(yè)問句匹配數(shù)據(jù)集. 采用jieba分詞工具加載停用詞表, 剔除文本中的停用詞、 特殊符號等冗余信息. 人工篩選出信息不完整和無效問答的問句, 標注相似問句, 相同語義的問句占比為54%, 不同語義的問句標注占比為46%, 問答對包含病蟲草害、 土壤肥料、 栽培管理、 動物疫病、 養(yǎng)殖管理等5類. 訓(xùn)練集和測試集比例為8∶2, 利用 Adam優(yōu)化器迭代更新神經(jīng)網(wǎng)絡(luò)權(quán)重, 采用準確率、 精確率、 召回率和F1值作為評價指標. 表1為訓(xùn)練集樣本示例.
表1 訓(xùn)練集樣本示例
模型訓(xùn)練迭代次數(shù)設(shè)置為70, batchsize為110, BiLSTM模型輸出特征維度為128維, 全連接層隱藏單元設(shè)置為128, 學(xué)習(xí)率設(shè)置為0.001, 問句中有效詞語使用300維的詞向量表示, 句子最大長度為20, 孿生網(wǎng)絡(luò)共享參數(shù). 為防止過擬合, 模型使用dropout函數(shù), 隨機使神經(jīng)元失活, dropout設(shè)置為0.2.
掩碼矩陣由超參數(shù)k來決定距離函數(shù)的取值, 詞距離大于等于k時使用距離掩碼限制注意力權(quán)重, 如表2所示, 為驗證k值對模型性能的影響, 將k值分別設(shè)置為0,1,2,3,4,5,6. 分別在農(nóng)業(yè)文本數(shù)據(jù)和lcqmc數(shù)據(jù)集上進行試驗對比,k為0時, 使用掩碼矩陣限制注意力權(quán)重, 此時距離當前詞較遠的詞注意力權(quán)重較低,k為1時相鄰詞會得到更多的注意力權(quán)重. 試驗表明,k為3時性能較好,k繼續(xù)增大, 對模型性能影響變差, 因此關(guān)注距離當前詞2或3個詞時獲取信息更多. 在lacqmc數(shù)據(jù)集上準確率均在90%以上, 仍不及在農(nóng)業(yè)數(shù)據(jù)上的表現(xiàn), 說明模型具有一定的泛用性, 但更適合處理農(nóng)業(yè)文本.
表2 K值對模型性能的影響 %
通過一組試驗驗證本文模型各個模塊的有效性, 刪除語義推斷增強和文本距離增強得到模型2和模型3. 由表3可知, 正確率和F1值下降了1.7, 1.1個百分點和1.5, 0.9個百分點, 表明單獨的特征增強無法充分挖掘農(nóng)業(yè)問句文本的交互信息. 同時刪除兩種特征增強策略得到模型5, 可以看出兩種策略融合更能提高模型的效果. 模型6為共享參數(shù)的BILSTM模型, 刪除多角度匹配后正確度和F1值下降了0.6, 0.5個百分點, 因為單一角度的匹配無法獲取足夠的句子多樣性. 表4為試驗部分預(yù)測結(jié)果展示, 語義相同的問句標簽記為1, 反之標簽記為0, 預(yù)測與標簽值相同時則為預(yù)測成功.
表3 消融試驗 %
表4 部分預(yù)測結(jié)果
圖3為來自農(nóng)業(yè)文本數(shù)據(jù)集的一個實例的注意力權(quán)重?zé)崃D, 問句1為“土豆早疫病有哪些癥狀表現(xiàn)?”, 問句2為“土豆早疫病發(fā)病原因是什么?”. 圖3a是兩個句子自注意力的對齊情況, 其中“土豆-土豆”, “早疫病-早疫病”, “癥狀-發(fā)病”有很強的對齊關(guān)系, 這些為句子關(guān)鍵詞, 可明確表示句子語義, 通過捕捉兩句話對齊關(guān)系可一定程度上判斷詞間關(guān)系. 圖3b是同一問句注意力權(quán)重的可視化結(jié)果, 可以看出距離更近的詞間注意力權(quán)重更大, 融合語義推斷特征和文本距離特征進一步捕獲句子的語義對齊信息, 獲取豐富的交互信息, 提升語義匹配任務(wù)的性能.
圖3 注意權(quán)重可視化圖
本文與相似度匹配常用5個深度學(xué)習(xí)模型進行對比, ESIM[22]使用BILSTM提取文本特征, 計算兩個句子向量特征的相似度矩陣, 對向量特征加權(quán), 再由一層BILSTM整合向量特征, 獲得新的文本向量表示進行相似度匹配; DIIN[23]是一種交互推理網(wǎng)絡(luò), 使用密集連接的卷積神經(jīng)網(wǎng)絡(luò)在交互空間中分層提取語義特征實現(xiàn)句子對的理解; ABCNN[24]在CNN的基礎(chǔ)上引入注意力機制, 在卷積計算和池化計算之前進行注意力權(quán)重計算, 判斷文本相似情況; BIMPM[25]在BILSTM提取文本特征后, 根據(jù)兩句話不同的時間進行多角度對比; TextCNN[26]通過不同大小的內(nèi)核獲取句子信息, 使用CNN完成句子的匹配和分類.
表5展示了6種模型針對農(nóng)業(yè)問句數(shù)據(jù)集的試驗結(jié)果, 本文模型在正確率、 精確率、 召回率、 F1值均超過了95%, 較對比模型均有明顯提升, 對比模型中, ESIM模型4項指標均超過91%. 本文模型F1值較其他模型提高接近5個百分點. 說明該模型能較為全面地捕捉文本間的交互信息, 相似度計算總體性能較好. 以卷積神經(jīng)網(wǎng)絡(luò)框架為基礎(chǔ)的模型評價指標均低于以循環(huán)神經(jīng)網(wǎng)絡(luò)框架為基礎(chǔ)的模型, 這是由網(wǎng)絡(luò)結(jié)構(gòu)所決定的, 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)更擅長局部特征信息的提取, 并非文本序列化方向的特征提取, 且會丟失一些距離較遠的文本特征向量. 5種對比模型中ESIM模型召回率為93.8%, 但仍與本文模型有些差距.
表5 不同模型對比結(jié)果 %
如圖4, 與ESIM,DIIN,ABCNN,BIMPM,TextCNN 5種文本匹配模型相比, 本文模型在病蟲草害、 家畜疫病、 栽培管理、 養(yǎng)殖管理、 土壤肥料5個類別的問句數(shù)據(jù)集上均有最高的匹配準確率, 整體匹配效果優(yōu)于對比匹配模型. 在病蟲草害和栽培管理兩個試驗數(shù)據(jù)量充足的類別上準確率率為95.0%和94.7%, 因為數(shù)據(jù)集越充分, 對深度學(xué)習(xí)模型迭代訓(xùn)練的效果提升越高. 在養(yǎng)殖管理和土壤肥料兩個數(shù)據(jù)量較少的類別中也高于其他模型的精確率, 說明本文模型魯棒性較強, 在數(shù)據(jù)量不充足時也能有效提取文本特征進行相似度匹配.
圖4 不同模型在農(nóng)業(yè)問句數(shù)據(jù)集不同類別的準確率
為提高農(nóng)戶和農(nóng)技工作者對農(nóng)業(yè)問題檢索的效率, 減輕農(nóng)業(yè)專家回復(fù)相似問題的壓力及人工回復(fù)的延時性, 構(gòu)建了包含5個類別的農(nóng)業(yè)問句語料庫, 提出一種基于多特征增強的農(nóng)業(yè)問句語義匹配模型, 在特征增強層增強語義推斷特征和文本距離特征, 深層次挖掘出農(nóng)業(yè)文本交互特征信息, 進一步獲取豐富的文本間關(guān)聯(lián)特征信息, 由多方位匹配獲取更豐富的聚合信息和句子關(guān)系. 試驗證明, 在構(gòu)建的農(nóng)業(yè)問句數(shù)據(jù)集上較其他模型對語義匹配的計算性能有進一步提升, 實現(xiàn)農(nóng)業(yè)問句快速自動檢測, 有效提高農(nóng)業(yè)智能問答中海量問句匹配效率和問答結(jié)果的準確率, 進一步發(fā)揮智能問答在農(nóng)技推廣領(lǐng)域中的作用. 由于農(nóng)業(yè)具有地域性, 在未來的工作中可考慮開展對方言問句和非規(guī)范的口語化問句語義匹配的相關(guān)研究.