?

面向小樣本抽取式問答的多標簽語義校準方法

2024-02-18 13:46陳艷平鄒安琪秦永彬黃瑞章
應用科學學報 2024年1期
關鍵詞:跨度實例標簽

劉 青,陳艷平,鄒安琪,秦永彬,黃瑞章

1.貴州大學公共大數據國家重點實驗室,貴州 貴陽 550025

2.貴州大學文本計算與認知智能教育部工程研究中心,貴州 貴陽 550025

基于跨度的小樣本抽取式問答(extractive question answering,EQA)任務是機器閱讀理解(machine reading comprehension,MRC)領域中最具挑戰性的任務之一。與常規的抽取式問答任務相同,其模型能夠理解給定的上下文,因此可以利用包含答案的上下文生成針對特定問題的答案[1]。小樣本抽取式問答廣泛應用于智能客服、自然語言理解和知識圖譜等人工智能領域。

目前,常規抽取式問答的標準方法是通過微調預訓練語言模型來預測答案跨度[2],其中,常用的預訓練語言模型包括BERT[3]、SpanBERT[4]以及RoBERTa[5]等。該方法在多個問答基準數據集上表現出色,但其需要對大量帶標注的問答實例進行微調。在實際應用場景中,訓練高質量的標注數據不僅是耗時費力,而且成本很高,因此在實際場景中獲得的帶有標注信息的訓練實例是非常有限的,在訓練樣本很少的情況下模型性能會受到嚴重限制。以基準數據集SQuAD[6]為例,當訓練集包含10 萬個問答實例時,預訓練語言模型Roberta-base[5]和SpanBERT-base[4]分別實現90.3 和92.0 的F1 得分。但當只有16 個訓練實例可用時[7],預訓練語言模型Roberta-base 和SpanBERT-base 的F1 得分將下跌至7.7 和18.2。

為了使EQA 任務適用于更加現實和實用的場景,文獻[7] 在現有的基準數據集中進行采樣,構建并發布了不同尺寸的小樣本訓練集,形成了小樣本EQA 任務場景下訓練實例使用的統一標準。同時該文獻還提出了適用于小樣本場景的基線模型Splinter,該模型作為一個預訓練語言模型,主要通過引入特殊字符[QUESTION] 來重構輸入,并利用該特殊字符學習實例中不同的循環跨度,以此模擬問題回答。在此基礎上,模型進一步使用問題感知跨度選擇(question-aware span selection,QASS)層來感知答案范圍,最終通過該特殊字符[QUESTION] 返回預測的答案跨度。該模型雖然能有效縮小EQA 任務與預訓練語言模型任務間的差距,提升模型在小樣本EQA 任務中的性能,但這種方法仍然存在著以下不足:首先,模型只利用循環跨度訓練該特殊標簽,會導致該標簽的語義信息缺乏全局語義;其次,模型使用不同循環跨度訓練相同標簽,會導致該標簽在答案跨度預測時語義存在偏差。為了解決上述問題,本文利用不同層級的語義來獲取答案,同時提出了一個多標簽語義校準方法,該方法有效提升了模型對文本的理解,進一步提高了模型的準確性。

本文利用頭標簽[CLS] 與Splinter 模型特有的[QUESTION] 標簽構成了多標簽,引入雙門控機制實現了多標簽語義之間的交互。首先,針對頭標簽的隱藏層進行線性變換,利用語義融合門選擇性地保留全局語義信息,以解決[QUESTION] 標簽缺乏全局語義信息的問題;其次,利用語義篩選門,在引入全局語義信息的基礎上保留或舍棄信息以控制信息的流動,調整了答案預測標簽[QUESTION] 的語義信息,解決了標簽語義在預測答案跨度時的語義偏差問題。最后,在輸出階段,通過引入KL(Kullback-Leibler)散度[8]來優化損失計算,平衡了信息數據中誤分類和正確分類的情況,校準了模型對答案范圍的感知,提高了模型預測的準確性。本文在抽取式問答的8 個小樣本數據集上進行了共56 組實驗,相較于基線模型Splinter和SpanBERT,本文方法的F1 值普遍得到提高。此外,為驗證雙門控機制的校準能力,本文對各門控單元進行了研究分析。

本文的主要貢獻有以下3 點:1)用原有輸入構建多標簽的語義融合方法實現了多標簽與語義的交互。2)通過語義融合門和語義篩選門的組合使用,實現了多標簽間信息流的控制,有效彌補了基線模型Splinter 的不足,校準了模型對答案范圍的感知,提高了模型預測的準確性。3)在8 個小樣本EQA 數據集上進行了56 組實驗,相較于基線模型,本文模型擁有更好的性能,證明了所提方法的有效性。

1 相關工作

EQA 任務是自然語言處理領域中一個常見任務,其形式是根據給定問題在上下文中獲取能回答該問題的答案片段。該任務目前被廣泛應用于各種不同的場景,例如問答系統、信息檢索等。本節將概述與EQA 相關的數據集,并簡要介紹針對小樣本EQA 任務的相關研究工作。

1.1 抽取式問答數據集

抽取式問答數據集是指適配抽取式問答任務的數據集統稱。此類數據集的數據來源廣、涉及領域多,在數據的結構上擁有以下共性:每個數據集都至少包含上下文、問題以及從上下文中獲取的答案片段。近年來出現了許多大規模的抽取式問答數據集,極大地促進了EQA任務的發展。其中,斯坦福大學于2016 年發布了SQuAD 數據集[6],包含536 篇維基百科文章,涵蓋超過10 萬個抽取式問答對。該數據集推廣了從給定文本中選擇連續跨度作為答案的評估格式,目前已被多個領域的數據集采用。例如,文獻[9] 提出的NewsQA 數據集,該數據集包含1.1 萬篇以上的新聞文章和12 萬個以上的問答對,屬于新聞專業領域的數據集;文獻[10] 提出的ScienceQA 數據集涉及了視覺背景信息和文本背景信息,屬于科學問答領域;MLQA 數據集[11]和TyDi QA 數據集[12]專門用于評估模型跨語言問答的性能。文獻[13] 通過WikiReading 數據集[14]構建了Slot-Filling 標注數據,引入了無答案問題作為負樣本。此外,斯坦福大學在2018 年發布了SQuAD2.0[15],在原有數據集的基礎上進一步加入了“無法回答”的問題,該數據集所涉及的文章達到13 萬篇,問答對數量高達15 萬。另外還有需要根據給定信息細節進行回答的DROP 數據集[16]和涉及廣泛知識領域的Quoref[17]數據集等。以上EQA 數據集均采用了相同的評估格式。

本文所述的8 個小樣本數據集的原始數據集已被MRQA2019[18]采集,并經過規范化處理形成統一的輸入格式。MRQA2019 同樣遵循以上評估格式,關注的問題類型為單跨度問題。為了更好地進行對比試驗,本文使用的小樣本數據集是從MRQA2019 中抽樣來的,且抽樣結果與基線模型保持一致。

1.2 抽取式問答模型

在抽取式問答任務中,基于大規模數據集的抽取式問答任務已引起相關學者的廣泛研究。早期的模型利用注意力機制捕獲上下文與問題之間交互的語義信息,例如文獻[19] 提出的門控自匹配網絡模型以及文獻[20] 提出的指針網絡模型。近幾年,預訓練語言模型諸如GPT[21]、BERT[3]、RoBERTa[5]和SpanBERT[4]等強大的建模能力使得基于預訓練-微調的語言模型在抽取式問答任務上擁有了極高的性能。

然而,在小樣本的情況下,采用這種標準的微調方式可能會導致過擬合,這使得相關學者對使用大規模數據集來訓練模型的實用性產生了疑慮。于是,需要進一步研究針對小樣本數據集的相關模型。文獻[22] 提出的LinkBERT 模型在傳統的預訓練語言模型基礎上,利用文檔鏈接作為預訓練信息,融入更多的知識以提高模型的理解能力。文獻[23] 利用生成式神經網絡的特點,形成簡單易用的框架以支持小樣本抽取式問答任務。文獻[24] 提出了基于知識增強的對比提示模型,利用外部知識庫來提高模型對小樣本數據的適應性,并在任務的不同階段引入了提示和對比學習等方法,進一步提高了模型對正確答案跨度的識別能力。文獻[7]提出了Splinter 模型,在利用重復跨度訓練特殊字符[QUESTION] 的基礎上,通過QASS 層感知答案范圍,最終通過該特殊字符預測答案跨度的開始位置和結束位置。

上述的小樣本模型在構造數據集時,其采樣和評估方式均存在標準不統一的情況,為更好地進行對比實驗,本文所采用的小樣本數據集和評估方法與小樣本基線模型Splinter 的保持一致。

2 模型

本文提出的多標簽語義融合校準模型的整體架構如圖1 所示。下文將詳細描述模型的輸入以及多標簽的構造,并介紹如何利用雙門控機制控制信息的流動實現多標簽語義的最終校準。

圖1 模型結構Figure 1 Model architecture

2.1 多標簽構造

本文使用小樣本EQA 任務中的基準模型Splinter 作為編碼器來獲取不同標簽的上下文嵌入。Splinter 模型是一種基于Transformer 架構的抽取式問答模型,和其他預訓練語言模型一樣,只有一個統一的輸入。在Splinter 模型中,語義信息的交互和建模通過Transformer 模型[25]的自注意機制實現,這種機制能夠自動地對輸入進行加權和選擇,從而更好地捕捉上下文語義信息。本文省略預訓練語言模型完整的公式陳述,只描述Splinter 模型涉及的高級架構。

在預訓練語言模型Splinter 中,給定一個輸入序列IInput={a1,···,al},其中l表示最大序列長度。嵌入層由詞嵌入、位置嵌入和標記類型嵌入組成,Splinter 通過嵌入層和連續堆疊L層的transformer 將輸入轉換為上下文表示,以捕捉輸入文本中的語義信息和關系,公式為HL∈Rl×h,其中h表示隱藏層維度。在預訓練語言模型Splinter 中,輸入IInput由問題(Q)、文段(C)以及特殊的字符([CLS]、[SEP] 和[QUESTION])串聯而成。

上述操作在遍歷Splinter 模型之后可以得到兩個“表示”。一是包含全局語義信息的[CLS] 語義表示,記為HC∈Rh。另一個是用于預測跨度開始位置S和結束位置E的[QUESTION] 語義表示,記為HQ∈Rh。

預訓練語言模型的全局語義信息是由頭標簽[CLS] 所承載的,因此本文使用頭標簽的語義信息為模型預測引入全局語義,在模型圖的輸入中將頭標簽[CLS] 用綠色標記加以突出。

另外,[QUESTION] 標簽的語義信息通過預訓練語言模型Splinter 訓練而來,Splinter 可使用[QUESTION] 標簽替換循環跨度,即對文本中重復出現的跨度進行替換。例如,圖1 中上下文片段部分表明了[QUESTION] 標簽的訓練信息來源。為便于理解,本文對不同循環跨度使用不同顏色進行標記,同時將循環跨度和其對應的[QUESTION] 標簽標記為相同顏色。在模型輸入部分,使用橙色對[QUESTION] 標簽進行標記。

綜上所述,本文在不引入額外的標簽語義信息的情況下,使用原始輸入中頭標簽[CLS]和預訓練語言模型Splinter 特有的標簽[QUESTION] 構成了本文的多標簽。

2.2 多標簽語義融合

受文獻[26] 的啟發,本文構造雙門控機制進行多標簽的語義融合。模型通過雙門控機制來控制全局語義信息HC的引入量和標簽語義信息HQ的保留量,并生成表示HN,用于預測答案跨度。

首先,通過語義融合門實現了HC和HQ的交互。根據交互結果確定全局語義信息HC的具體引入量為

其次,通過語義篩選門確定HQ表示的語義信息的保留量,公式為

式中:W2、b2為可訓練參數;p2是用于計算標簽語義信息保留量的權重值。

最后,表示HN經過QASS 層輸出最終的預測答案。具體來說,在QASS 層中,通過計算HN與每個字符表示的內積,輸出整個序列的概率分布情況,進而獲取預測答案跨度的開始位置S和結束位置E。QASS 層的作用與標準預測方法[3]相同,但由于預訓練語言模型Splinter 是通過[QUESTION] 標簽動態計算答案開始和結束邊界的,標準方法在該模型中并不適用,為了與Splinter 模型協同使用,需要用QASS 層替換標準方法。本文使用預訓練語言模型Splinter 獲取編碼輸入,因此在進行答案預測時,同樣使用QASS 層獲取答案邊界。

在小樣本EQA 任務中,訓練實例最小取至16 例。當訓練實例過少時,神經網絡會過度記憶數據中的噪聲和細節,導致模型出現過擬合的情況。為此,本文在損失計算時引入KL 散度優化損失計算,形式化結果為

式中:sg,eg分別為正確答案跨度的開始位置和結束位置;q為標簽[QUESTION];lossKL表示計算的KL 散度損失。

3 實驗

3.1 數據集

在小樣本EQA 任務中,由于訓練實例較少,對數據集使用不同的采樣方法會顯著影響模型的性能評估。為確保實驗的有效性,本文使用了基線模型Splinter 采樣的小樣本數據集進行實驗。該小樣本數據集利用MRQA2019 統一了輸入格式,其中涉及了MRQA2019 中Split I的6 個大型問答數據集即SQuAD[6]、NewsQA[9]、TriviaQA[27]、SearchQA[28]、HotpotQA[29]和Natural Questions[30](NQ),以及Split II 中兩個領域專家注釋的數據集BioASQ[31]和TextbookQA[10]。

分別對Split I 中6 個大型數據集的訓練集進行隨機采樣,產生6 種小樣本訓練集。在每種小樣本訓練集中,根據采樣數量的不同構建出不同尺寸的訓練集,訓練集的大小在對數尺度上變化,且訓練實例尺寸范圍為16~1 024。為減少方差,對每個尺寸的訓練集均使用5 個隨機種子并采樣5 組,取5 組平均性能作為最終性能結果。同時,由于MRQA 2019 的Split I不包含測試集,因此使用官方開發集作為測試集進行評估。

對于Split II 所選取的兩個數據集,MRQA2019 中只公開了開發集,所以本文使用的訓練集與測試集均來源于開發集。使用其中400 個實例作為測試集進行評估,并在余下實例中,采用與Split I 中同樣的方法構建不同尺寸訓練集。

3.2 實驗參數

本文使用Adam 優化器進行模型訓練,并對小樣本學習過程中的偏差進行實時校正。在訓練過程中,使用了2.4 M 個訓練步驟。每個批次包含256 個序列,每個序列長度為512。使用Warmup 的方式對學習速率進行預熱,這能使學習速率在其達到最大值之后線性衰減。在所有層中dropout rate 取0.1。當數據集的尺寸為1 024 或更小時,將模型訓練10 個epoch 或200個最小步長(使用訓練性能較好的模型進行評估)。設置訓練批次大小為12,評估批次大小為16。使用最大學習率為3×10-5。設置訓練實例的尺寸為16、32、64、128、256、512、1 024。模型使用指標F1[32]進行評估,具體超參數設置如表1 所示。

表1 超參數設置Table 1 Hyperparameter setting

3.3 實驗結果

本文針對小樣本EQA 進行了多個實驗,表2 展示了在8 個數據集中使用16、32、64、128、256、512、1 024 個訓練實例時,本文模型與基線模型Splinter 和預訓練語言模型SpanBERT 的實驗對比結果。

表2 實驗結果Table 2 Experimental results

從單個實驗結果來看:在TriviaQA 數據集中,當訓練實例尺寸為16 時,本文方法的F1值達到了26.6,比Splinter 高7.7%,比SpanBERT 高13.8%;當訓練實例尺寸為64 時,比Splinter 高9.2%,比SpanBERT 高21.9%。從總體實驗結果來看:本文方法在56 組實驗中的平均性能比Splinter 模型高1.9%,比SpanBERT 模型高17.3%。

實驗表明,當目標任務是小樣本EQA 時,無論訓練實例的尺寸是16 還是1 024,相較于基線模型Splinter 和SpanBERT,本文提出的多標簽語義校準方法都具有更好的性能。

從觀察數據集TriviaQA 和數據集SearchQA 的實驗結果可以發現,隨著使用的訓練實例尺寸增加,本文模型與基線模型Splinter 的預測準確率都在提高,同時兩個模型的性能逐漸趨于接近,如圖2 所示。

圖2 TriviaQA 和SearchQA 實驗結果實例Figure 2 Examples of TriviaQA and SearchQA experimental results

本文推測造成上述結果的原因是,當有足夠多的可用訓練實例時,模型利用訓練實例就可以得到很好的學習效果。本文將通過消融實驗,進一步驗證本文模型的有效性。同時,本文模型在個別訓練實例中存在實驗結果略低于基線模型Splinter 的情況,如在TextbookQA 數據集中,訓練實例的尺寸為64 時,本文模型性能略低于Splinter 模型。對此本文在下一節將做進一步分析。

3.3.1 實驗數據分析

分析發現,本文模型在樣本更小的情況下引入全局語義信息的效果更為明顯。然而,在不同數據集或者同一數據集不同尺寸的訓練實例中仍然存在一些差異。這些差異主要來源兩方面:

1)數據集差異 本文涉及的8 個數據集在文章來源、提問風格和文章與問題的連接關系3 個方面存在較大差異。不同數據集的文章來源不同,涉及的知識領域也存在差異。如BIOASQ 數據集涉及生物和醫學領域的知識,NewsQA 數據集來源為新聞信息等。在提問風格上,不同數據集的問題側重點也不同,如TriviaQA 數據集的問題更集中于評估推理方面。各數據集的問題獲取方式也不同,如HotpotQA 數據集的提問內容由眾包工作者提供,Natural Questions 數據集的問題則由Google 搜索引擎中的真實問題匯總而來。在文章與問題的連接關系方面,部分數據集的問題根據文章內容設計而來,而部分數據集的問題是獨立提出的,如SearchQA。另外,對于本文中所使用的8 個數據集,雖然數據集通過MRQA2019統一了輸入格式,但是這些數據集的原始構造是為了測試模型的不同能力和特點而設計的。例如,TextbookQA 數據集涉及文本、圖表和推理的復雜解析,涉及的知識領域也比較廣泛。這種設計可能會導致問題答案與文章的關聯性存在差異,特別是在EQA 任務中。

表3 具體展示了這些數據集在文章來源、提問風格、文章與問題的連接關系等方面存在的差異,其中問題獨立性表示問題是否是根據文章內容設計的,如果是,標記為“是”,否則標記為“否”。

表3 數據集差異Table 3 Dataset difference

2)數據采樣差異 本文的數據集通過隨機采樣而來,在評估時使用5 組的平均得分作為最終得分。然而,在問答任務中,不同的提問內容占比不同,使用“What”針對“是什么”的提問頻次遠高于使用“Who”針對“是誰”的提問頻次。單純使用隨機抽樣的方式可能會導致抽取的訓練實例相似度過高,從而造成小樣本數據集不平衡,進一步使得實驗結果存在差異。

綜合56 組實驗結果和數據分析來看,盡管在某些數據集上本文所提出的方法的性能會隨著訓練實例數量的增加而突然下降,出現低于基線模型的情況,但總體而言,本文方法仍然能夠成功地引入全局語義信息,在小樣本EQA 任務中獲得了有效的性能提升。值得注意的是,該效果在數據樣本較少時表現得更為顯著。

3.4 消融實驗

為了進一步評估雙門控機制在多標簽語義融合中的貢獻,本文進行了消融實驗,通過減少和增加門控數量來探究其影響。具體實驗包括:

1)在NewsQA 數據集中,選取7 組不同尺寸的訓練實例,進行單門控與雙門控的縱向對比實驗;

2)在8 個數據集中,分別選取了尺寸為32 的訓練實例和尺寸為512 的訓練實例,進行單門控與雙門控的橫向對比實驗;

3)在HotpotQA 數據集中,選取7 組不同尺寸的訓練實例,進行雙門控與三門控的對比實驗。

表4 展示了在數據集NewsQA 中7 組不同尺寸的訓練實例下,僅使用單門控機制與本文雙門控機制的縱向對比實驗結果。表5 展示了在8 個數據集中且尺寸為32 的訓練實例和尺寸為512 的訓練實例下,僅使用單門控機制與本文雙門控機制的橫向對比實驗結果。

表4 單門控和雙門控縱向對比實驗Table 4 Longitudinal comparison test of single and double gate control

表5 單門控和雙門控縱向對比實驗Table 5 Single and double gate lateral comparison test

本文在設置單門控機制時,僅使用單一門控對[QUESTION] 標簽的語義信息進行篩選。通過以上實驗可以發現,相較于單門控機制,無論是針對同一數據集的不同訓練尺寸還是針對相同訓練尺寸的不同數據集,雙門控機制都擁有更顯著的性能。

表6 展示了在數據集HotpotQA 中使用7 組不同尺寸訓練示例下,三門控機制與本文雙門控機制的縱向對比實驗結果。在單雙門控的兩組對比實驗中可以看出:雙門控機制能更顯著地提升模型性能?;诖?,本文進一步構造三門控機制以驗證增加門控數量能否繼續提升模型性能。三門控機制是在雙門控機制的基礎上建立的,它進一步對舍棄的[QUESTION] 語義部分構建門控,進行二次過濾。從對比實驗結果可以看出:門控的數量與模型性能不呈現正相關,雙門控機制在提升模型性能方面優于三門控機制。

表6 雙門控和三門控縱向對比實驗Table 6 Comparison test of double and triple gate control

綜上所述,相較于單門控機制和三門控機制,模型使用雙門控機制能夠最有效地實現標簽間的語義融合,更顯著地提升模型性能。

4 結語

本文旨在通過基于門控機制的多標簽語義校準方法,利用全局語義信息解決小樣本EQA任務中基線模型的語義校準問題。該方法使用特殊標簽[QUESTION] 與頭標簽[CLS] 構成多標簽,并構建雙門控機制實現多標簽間的語義融合。通過這種方式,本文提出的方法能夠有效保留[QUESTION] 標簽中的語義信息,并引入更多的全局語義信息。在模型預測時,通過引入的全局語義信息可以提升模型對上下文的敏感度,使模型更準確地進行答案預測。本文通過在56 組小樣本EQA 數據集上進行實驗,證明了該方法的有效性。實驗結果表明,本文方法在預測準確性方面表現出色。這意味著本文模型能夠更好地適應和處理小樣本EQA 任務,提高了問題回答的準確性。這對于提高語言輸出的質量和降低誤解的概率都具有重要意義。

然而,在引入全局語義信息的過程中,僅通過構建多標簽語義融合的方式可能存在局限。因此,未來的工作將嘗試雙仿射與現有任務的結合,通過獲取并篩選[QUESTION] 標簽與句中每一個字的語義交互信息,進一步在訓練數據極其有限的情況下為模型預測引入更多的語義信息,提高模型在小樣本EQA 任務中的預測能力。

猜你喜歡
跨度實例標簽
緩粘結預應力技術在大跨度梁中的應用
大跨度連續剛構橋線形控制分析
組合鋁合金立柱在超大跨度玻璃幕墻中的應用
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
標簽化傷害了誰
基于多進制查詢樹的多標簽識別方法
完形填空Ⅱ
完形填空Ⅰ
探討大跨度門式起重機運行偏斜的問題
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合