?

融合歧義感知的檢索式問答方法*

2024-01-30 01:46蒲曉何睿王志文黃珊珊袁霖吳渝
關鍵詞:多義詞歧義基線

蒲曉,何睿,王志文,黃珊珊,袁霖,吳渝?

(1.重慶郵電大學網絡空間安全與信息法學院,重慶 400065;2.武昌首義學院馬克思主義學院,湖北 武漢 430064)

0 引言

隨著信息化程度的提升與人工智能的飛速發展,自動問答(Question Answering)得到了較為廣泛的關注和應用,如阿里巴巴的AliMe[1]、微軟的SuperAgent[2]以及各類移動設備上的語音助手等.從答案獲取的途徑來看,自動問答可以分為檢索式(Retrieval-based)問答方法[3]與生成式(Generation-based)問答方法[4]兩大類.本文主要圍繞檢索式問答方法展開研究.檢索式自動問答盡管有不同任務,但是構建流程類似,即針對用戶給定的問題,對問題與知識庫中的候選答案進行語義相似性匹配,并通過計算結果對候選答案進行重新排序,最終找到針對該問題的最佳答案.

然而在當前問答任務中,模型通常用同樣的詞向量來表示每個詞在該文本數據中所有出現語義.但是,文本數據中存在語義多元化的詞(或稱多義詞),即一個相同的詞在不同的語境下可能表達不同的語義.用相同的詞嵌入表達多義詞的所有出現會導致其語義的多樣性被隱藏,甚至導致當前語境的語義被錯誤理解.與此同時,檢索式自動問答中,文本長度本身較短,所包含的語義信息較為缺乏,模型根據問題的文本特征進行問題-答案相似性匹配時,多義詞語義的錯誤表達會嚴重影響模型對該句的理解,從而做出錯誤的判斷.

針對上述問題,本文提出了一種融合歧義感知的檢索式自動問答方法.模型由兩部分組成:歧義感知模塊和問題-答案語義相似性匹配模塊.首先,我們將問題-候選答案文本對輸入到歧義感知模塊中,該模型通過雙向循環神經網絡(Bidirectional Recurrent Neural Network,BRNN)[5]以及Transformer[6]的協同分析,挖掘出輸入文本更為細粒度的上下文語義信息,并結合外部詞典WordNet的語義注解信息,生成該詞在當前場景中的精準語義特征表達.最后將生成的語義特征融合到相似性匹配模塊,使模型在計算問題-答案語義相似性的同時,能夠更加全面地理解該句的當前語義,從而作出更加精準的判斷.本文的主要貢獻如下:

1)提出一個針對輸入問題-答案文本對的歧義感知方法,該方法主要由Bi-GRU以及Transformer構成,通過不同維度的上下文語義聯合分析,挖掘出文本中更深層次的語義信息.同時結合WordNet知識源提供的多義詞相關信息,對多義詞在當前語境下的精準語義進行判斷和表達.

2)在三個經典語義匹配基線模型(BCNN、RE2和BERT)上進行融合對比,將歧義感知模塊融合到這三個基線模型中,融合了歧義感知的檢索問答模型在計算文本相似度的同時,對文本中每個多義詞的語義進行檢測和特征生成.

3)將設計的融合歧義感知的檢索問答模型與其基線模型,以及當前具有代表性的語義相似性匹配方法進行了性能評估,通過使用WikiQA、TrecQA兩個基準數據集,對提出的算法性能進行了全面的評估,實驗結果表明,所提方法優于基線算法,同時也優于當前其它算法.

1 相關工作

問答任務中,用戶輸入問題時不可避免地出現多義詞.而在文書數據中,多義詞出現也十分頻繁.大部分NLP任務都使用相同的詞特征向量表示每個在文本中出現的多義詞[7-9].使用該種方式強制將多義詞映射為同一向量會喪失該詞在當前維度下的豐富語義信息,導致模型對每個詞的理解不充分,從而對整個句子的理解產生歧義[10].如圖1所示,針對給定問題,共有兩個候選答案.問題文本中含有“程序”一詞,該詞可表達為“手續、步驟”,也可表達為“應用程式”.該詞在第一句中表達的是“手續、步驟”的含義,模型應判斷兩者的關聯性較高,而在第二句中表達的是“電腦軟件”含義,該樣本的關聯度與源問題較低.由此可見,如果我們能夠將文本中的多義詞在不同場景下的語義進行精準表達,則可使問答模型能夠更加全面和準確地理解樣本含義,從而作出更為精準的判斷.

圖1 檢索式自動問答示例

1.1 檢索式自動問答

檢索式自動問答方法旨在通過對問題及候選答案的語義相似性計算,找到語義最為匹配的對應答案.其本質是對問題-候選答案對之間進行相似度匹配的過程.近幾年深度學習引入后,檢索式自動問答任務得到了飛速的發展.目前的方法主要采用注意力機制、多通道等方式.如Chen等[11]通過計算文本對之間的注意力矩陣,從而獲得問題與候選答案的語義相似性.Kundu等[12]在獲取問題與候選答案的相似矩陣后進行歸一化處理,依次得到問題與回答的相關性.Du等[13]利用時態卷積網絡(Temporal Convolutional Network)得到輸入問題的主題轉移特征,結合注意力機制進行模型融合.對于多通道機制,Yan等[14]利用融合了輸入文本上下文特征的多通道機制,分別計算候選答案與各通道問題的語義相似性,根據獲取分數進行排名,而Wu等[15]結合多通道與注意力機制,在使用多通道獲取上下文特征的同時,結合注意力機制捕獲局部信息,以此檢索回答.

2019年,隨著BERT模型(Bidirectional Encoder Representations from Transformers,BERT)的提出,文本語義相似度計算領域取得了巨大的突破.BERT是由Google公司基于Transformer模型改進且由大量數據訓練而成,該模型很好地抓取了樣本對之間以及自身之間的特征信息,并在NLP多個領域取得了較大的突破.但是,即便BERT擁有很好的語義抓取能力,它依舊存在多義詞不同語義特征表示統一的問題,這其實是語義編碼的一種錯誤.

1.2 語義消歧

歧義與消歧是自然語言理解中非常典型且普遍的問題,且在詞義、語義、篇章含義層次都會出現語言根據上下文描述而語義不同的現象.消歧即根據上下文確定對象語義的過程[16].詞義消歧即在詞語層次上的語義消歧.根據所使用的的資源類型不同,可以將詞義消歧方法分為兩類:基于知識的方法和基于監督的方法.

基于知識的方法依賴如WordNet[17]這樣的詞典資源.該詞典中,每個多義詞可能的語義都配有相應的語義注解.該注解開始被應用在Lesk算法中[18-19],然后被廣泛運用到各類任務中[20-21].與此同時,語義結構模型也通過圖模型算法被利用起來[20].隨著深度學習在NLP領域的應用,基于深度學習方法的詞義消歧成為這一領域的一大熱點.深度學習算法自動提取分類需要的低層次或高層次特征,減少了很多特征工程方面的工作量.近幾年由于BERT模型在NLP領域的巨大成功,一些研究嘗試將BERT引入到語義消歧任務中[21-22].該類研究借助詞典WordNet的幫助,將樣本中多義詞的上下文和詞典中該多義詞每個可能語義的注解進行相似度匹配.

2 融合歧義感知的檢索式問答方法

如圖2所示,該項工作整體分為兩個模塊:歧義感知與語義融合.歧義感知模塊旨在檢測文本中的多義詞,通過將檢測到的多義詞的上下文信息與知識源中對應多義詞注解信息之間的語義相似度計算,從而判斷出該詞在當前場景下的精準詞義;語義融合模塊旨在將前者生成的每個多義詞在當前場景下的精準語義融合到主任務中,使模型在計算問題-答案語義相似性的同時,能夠更加全面理解該句的精準語義,從而提高問答性能.

圖2 融合歧義感知的檢索式自動問答模型框架

2.1 WordNet詞匯知識庫

WordNet提供了一種詞匯知識:多義詞語義注解.該詞典列出所有多義詞可能的語義,每個語義附帶一句文字注解.如多義詞“season”在WordNet知識庫中主要包含兩種含義,即season.n.01: a period of the year marked by special activities in some field(一年中以特殊事件的活動為標志的時期),season.n.02: time of year(一年中的一段時間).本文基于WordNet中的多語義信息,針對輸入文本中的每個單詞進行多義詞識別,即如果該詞在知識庫中存在至少一個以上可能的詞義(Word Sense),則該詞將被標注為多義詞.并對該詞進行之后的詞義分析與選擇(Sense Selection).值得注意的是,在歧義感知模型中,我們新建了一個多義詞語義向量詞典,該詞典會在訓練迭代過程中進行更新優化.

2.2 語義消歧

歧義感知模塊中,我們設計了一個孿生的文本編碼器,即語義編碼器和詞義解釋編碼器.兩個部分結構相似,但是不共享網絡權重參數.兩個語義編碼器分別提取待分析多義詞的上下文語義特征和該多義詞在WordNet上羅列的所有可能詞義的文本解釋語義特征.最終獲得當前場景下該多義詞所有可能詞義的權重分布.

針對數據集中的每一個名詞和動詞Wt,我們首先將該詞所在的整個文本作為該詞的上下文信息,即T={w1,···,wL},其中L為該句的長度.然后通過NLTK[23]工具抓取出WordNet中針對Wt羅列出的所有可能語義以及對應的解釋Gt={Gt,1,···,Gt,N},其中N為該詞在詞典中羅列的所有詞義總數.每一個語義解釋都是一句短文本.我們假設,該多義詞所在的上下文語義與WordNet羅列出的可能語義所對應的解釋越相近,則該詞在當前場景下為該語義的可能性越高.

語義編碼器.首先我們將整個句子輸入到當前基線模型的詞嵌入層中,獲取初始文本向量.然后將該向量輸入到語義編碼器中,該編碼器首先采用Bi-GRU模塊,通過在每個時間步從前后兩個方向捕獲句子中的上下文信息:

其中每一個文字特征將由雙向GRU的輸出特征的平均值表示.通過該層后,我們獲得具有初步上下文語義的文本表征Rwt.

Transformer編碼層主要由自注意力機制(Self-attention)組成.其中包含多個編碼器(Encoder),而每個編碼器中包含一個自注意力機制單元和兩層全連接網絡.首先我們將上述Bi-GRU層獲取的語義向量Rwt進行轉換并代入該模塊中,通過Transformer強大的上下文語義挖掘能力,可獲取更為細粒度的語義特征ZWt:

其中:Q=K=V=Rwt,dk為縮放因子.得到自適應機制的輸出ZWt后,它被送到Transformer中的下一個模塊F,即前饋網絡層(Feed Forward Network,FFN),可以表示為μwt=F(ZWt).之后Transformer中該編碼層的輸出μwt將作為下一個自注意力編碼層的輸入.經過多個編碼層后的輸出,為該詞wt在上下文解碼器的語義向量輸出:

其中:Encodert為Transformer中第t個自注意力編碼器,為第t-1個自注意力編碼器的輸出,Θt為第t個自注意力編碼器中所有待優化的參數集.

從之前的編碼層中,針對每個多義詞wt,我們獲得了該詞所在句子的局部語義表征μwt.在該層將對該表征進行深度語義挖掘與融合,從而獲得一個能夠概括整個句子的全局語義向量Cwt.首先對局部語義特征通過內積計算獲得權重分布,然后通過加權平均獲得該句的全局語義信息:

接下來,我們將該語義融合層的結果輸入到前饋神經網絡中,其輸出經過一個映射函數則得到該詞最終的語義向量Cwt=F(Cwt).

詞義解釋編碼器.詞義解釋編碼器在結構上與上述編碼器相似,旨在獲取WordNet中針對多義詞wt羅列出的所有可能詞義對應的短文本解釋的全局語義向量Gt.

語義相似性計算層.該語義相似性計算層旨在計算多義詞所在文本的全局語義與候選詞義特征之間的相似度.該層我們采用了一個基于注意力機制的方法.該層的輸入為詞義解釋編碼器和語義編碼器的輸出.其目的是計算多義詞語義信息與各注解特征的相似度.基于Cwt和Gt,k的相似分數計算方法為:

其中WCwt和WGt,k為可學習參數.最后通過Softmax歸一化之后獲得其權重分布.

2.3 語義消歧

從歧義感知模塊我們獲取到數據中每個多義詞在當前場景下的所有可能詞義的權重分布,下一步我們嘗試將得到的詞義信息融合到問答系統中的問題-答案語義相似性匹配模型中,通常語義匹配模型可分為三個部分,即詞向量編碼層、語義編碼層以及語義融合層.本文針對每個問題與待匹配答案對,結合WordNet挖掘出存在的多義詞wt,然后將原始文本通過匹配模型中的向量編碼層和語義編碼層,獲得該文本從基線語義匹配模型中挖掘出的語義特征Owt.與此同時,歧義感知模塊也學習出該詞在上下文中的詞義權重分布αt,k以及對應每個詞義的表征向量Gt,k.本文采用基于注意力機制的加權平均方式來獲得消歧模型產生的語義特征St.針對每個被分析的多義詞,我們的歧義感知模塊會生成一個歸一化后的所有可能語義的權重分布.最后用該詞的語義向量加權平均作為該詞的語義向量:

其中St,k為多義詞wt的語義特征表示.我們將上述得到的加權平均后的語義特征向量與基線模型的語義編碼層獲得的文本語義向量進行融合,其融合方式為語義疊加:

其中:Owt是多義詞wt所在問題或候選答案經過基線模型編碼層所獲得的語義特征,F為前饋神經網絡.

訓練過程中,我們定義了一個為檢索問答系統的答案匹配任務收斂的損失函數.采用交叉熵(Cross-Entropy)作為其優化過程.收斂函數為:

其中:yi是二元標簽0或1,代表當前樣本屬于某一類別的預測概率.通過上述方法獲得融合了多義詞的準確語義,將經過基線模型編碼后的語義表征與該向量一同輸入到如圖2所示的融合層.該融合模型的優勢為增強了多義詞語義信息對檢索問答任務的影響,本文嘗試了相加或拼接的融合方式,由于并不是每個詞都含有多義詞的語義信息,拼接方式容易引入較多的噪音,而疊加融合方式可以很好地提高該細粒度特征信息對整個模型結果的影響,且對其它非多義詞的語義影響較小.融合后的向量不僅具有該文本自有的語義向量,同時還具有多義詞的語義信息.將融合后的向量再輸入到語義匹配基線模型中的特征融合層進行語義融合及特征降維計算,然后得到該文本對的相似分數.最后利用該相似分數對所有候選答案進行排序,最終將最佳匹配答案輸出.

2.4 檢索問答系統的基線模型

檢索式問答方法的核心是問題-答案的語義相似度計算.因此本文選擇了包括BERT在內的三個經典語義匹配模型進行實驗對比,從多個維度證明歧義感知對檢索式問答領域的性能影響.

基線模型從采用的實現方法上考慮,可以分為表示型(Representation Based)和互交型(Interaction Based).前者的特點是將樣本對中的兩個文本分別映射成兩個向量,再將兩個向量通過神經網絡,最終輸出一個相似性分數;而后者則是將樣本對中的兩個文本映射成向量之后,先進行交叉融合,再將融合后的矩陣輸入神經網絡,得到是否相似的結論.兩種類型的模型各有利弊.因此我們各選擇了一個互交型模型和一個表示型模型中的經典模型RE2和BCNN作為其中兩個基線模型.與此同時,我們也選擇了基于Transformer的BERT作為基線模型.三個基準模型各自代表了三種不同的匹配思想.

BCNN[24]是2016年提出的一個經典的表示型匹配模型,該模型由兩組卷積網絡層組成,每組卷積網絡分別提取樣本對中的兩個文本特征向量,然后通過池化層進行特征提取和降維計算,最后再輸入到融合層兩個特征向量的相似度計算,得到其匹配概率.BCNN的特點是模型簡單且效率高,其結果針對短文本匹配任務效果較好.

RE2[25]是2018年由阿里巴巴達摩院提出的基于互交型的文本匹配模型,作者在不同任務的公開數據集上分別獲得了SOTA結果.且RE2模型的速度相較其它模型更快,魯棒性也有所提升,同時在不同的文本匹配任務上都取得了更好的成績.

BERT[26]是2018年Google AI研究員提出的一種預訓練模型,其采用Transformer Encoder Block進行連接,是一個典型的雙向編碼模型.該模型的預訓練結果可以用到其它的任務中.

圖3闡釋了基于以上三種不同匹配思想的基線模型的歧義感知融合方法細節.如圖3所示,BCNN模型分為詞向量編碼層、語義編碼層以及語義融合層.我們將歧義感知模型提取的消歧信息St與編碼層輸出Owt進行融合,并將融合后的特征作為其語義融合層的輸入,最終使模型基于歧義感知信息做出準確的匹配判斷;RE2模型由詞向量編碼層、編碼層、融合層以及語義融合層組成,該模型我們選擇在最終語義融合層之前將歧義感知信息與其輸入相融合.同樣在BERT模型中,我們將由Transformer組成的編碼層輸出Owt與歧義感知特征St融合,使模型在最后的判斷中能夠更加精準地理解文本的細節語義,從而做出更為準確的判斷.

圖3 基于不同基線模型的歧義感知特征融合示例

3 實驗

3.1 實驗數據與評價指標

我們在檢索式問答任務的公開數據集上進行實驗,包括WikiQA與TrecQA.表1給出了數據集所對應的詳細項目信息.

表1 實驗數據集

WikiQA[27]是一個基于Wikipedia的答案選擇數據集.針對開放領域并使用Bing搜索日志作為問題來源,它包含了問題與其多個候選答案,使用二元標簽判斷候選回答是否為它所屬的正確答案.實驗中使用該數據集的原始拆分比例,使用平均精度均值MAP(Mean Average Precision)、平均倒數排名MRR(Mean Reciprocal Rank)作為評價指標.

TrecQA[28]是一個為開放域問題回答設置而設計的答案選擇數據集.與WikiQA類似,每對數據包含一個問題、一個候選答案和一個二元標簽.我們選擇數據集的clean版本作為實驗數據集,該版本排除了開發和測試集中沒有答案和只有正面/負面答案的文本.實驗中使用該數據集的原始拆分比例,且同樣選擇MAP和MRR作為該數據集的評價指標.

表1展示了每個實驗中用到的數據集的具體信息.其中“多義詞數量”表示該數據集中所檢測到且進行分析的多義詞個數;“語義數量”表示該數據集中被提取到的多義詞的不同語義的總數量.

3.2 實驗設置

預處理.樣本對中每個詞將被輸入到WordNet詞庫中查看該詞是否為多義詞.我們只考慮語義小于等于4個的多義詞.運用mask機制表示每個多義詞不同的語義個數.

歧義感知模型設置.我們使用基線模型中的文本特征向量層輸出的詞向量作為歧義感知模型的文本向量輸入.與此同時,新建一個關于多義詞語義的詞匯表,并隨機初始化每個語義的特征向量,該向量在之后的參數優化過程中會同時進行優化.為保持與原本詞向量的一致性,我們設置該語義向量的維度和詞向量的維度相同,如針對BERT基準模型融合,我們設置其語義向量維度為768;針對BCNN和RE2基準模型融合,我們設置其語義向量維度為300.

基線模型設置.針對BERT基準模型,我們的參數設置與文獻[28]設置一致,即L=12、H=768,參數總數為110 M.批量大小設置為8、16、32,訓練輪次為5~7次.針對RE2基線模型,我們的參數設置同樣與文獻[27]設置一致,如文本最大長度為20、Block最大設置為3等.

4 結果與分析

4.1 總體結果分析

我們分別在WikiQA和TrecQA兩個答案選擇任務的公開數據集上對設計的融合歧義感知的檢索式問答模型進行性能驗證.表2為本文融合模型與其它研究在相同數據集上的性能比較.由表2可知,我們設計的三個融合歧義感知模型在MAP與MRR評估下均優于其基線模型.其中基于BCNN模型的融合模型的MRR評估比BCNN基線模型提高近1%.融合了歧義感知的BERT模型,在測試數據上的MAP評估達到83.5,其性能優于BERT基線模型,在相同數據集下也優于近幾年其它相關研究.

表2 融合歧義感知的模型在答案選擇任務數據集上的性能對比

4.2 多義詞的結果分析

為了驗證融合歧義感知模型性能的改善,我們對被模型標記為多義詞所在的樣本進行了進一步的分析.選擇WikiQA和TrecQA數據集,用多義詞所在的文本構建了一個子集(稱為多義詞測試集),該子集僅包含被檢測到多義詞的文本.然后,在多義詞測試集和原始測試集上運行我們之前選擇的三種基線模型以及對應的融合歧義感知模型,并比較二者的性能差異.由表3可知,針對MAP評估標準,每個語料庫的多義詞測試集上的性能低于基線模型性能,這意味著數據集中語義模棱兩可的單詞會阻礙基線模型做出正確決策.在歧義感知模塊的作用下,所提模型在多義詞測試集上實現了比原始測試集更高的精度.這意味著我們設計的歧義感知模塊確實有助于自動問答模型正確區分句子之間的語義差異.

4.3 案例分析

為了更好地理解歧義感知對自動問答的影響機理,圖4展示了WikiQA測試數據集中挑選的兩個案例.第一個案例中有兩個候選答案,基線模型錯誤的將答案2判斷為最佳答案.而通過歧義感知的語義增補,我們的方法能夠正確地將答案1判斷為該問題的最佳答案.同理,在第二個案例中,數據集提供了三個候選答案.通過對問題和候選答案中的多義詞(如“country”“bank”)的正確理解,我們的方法能夠正確預測出該問題的最佳答案為第3個答案.

圖4 WikiQA數據集中包含多義詞的示例

5 總結

針對多義詞在檢索式問答數據中的影響,本文設計了三個融合歧義感知的檢索式問答模型,使問答模型在計算問題-答案語義相似度的過程中將文中多義詞的語義進行檢測,并將檢測得到的多義詞的語義進行編碼表達,再融入到原任務中進行計算.我們設計了一個基于Transformer的語義感知模型,深度挖掘輸入文本語義上下文特征表達,并借助WordNet提供的語義注解信息,判斷該詞在當前語境中的精準語義.然后將消歧后的語義信息進行編碼并融合到問題-答案語義相似性計算中.設計的基于BCNN、RE2以及BERT的融合模型,尤其是基于BERT的問答模型,性能不僅優于其基線模型,而且比近年來的相關研究性能更優.

猜你喜歡
多義詞歧義基線
多義詞
適用于MAUV的變基線定位系統
航天技術與甚長基線陣的結合探索
eUCP條款歧義剖析
English Jokes: Homonyms
一種改進的干涉儀測向基線設計方法
淺議多義詞在語境中的隱喻認知
“那么大”的語義模糊與歧義分析
多義詞way的語義認知分析及實證研究
技術狀態管理——對基線更改的控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合