国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中文開放域問答系統(tǒng)數(shù)據(jù)增廣研究

2023-01-18 03:38:10杜家駒葉德銘孫茂松
中文信息學(xué)報 2022年11期
關(guān)鍵詞:段落檢索文章

杜家駒,葉德銘,孫茂松

(1. 清華大學(xué) 計算機(jī)科學(xué)與技術(shù)系,北京100084;2. 清華大學(xué) 人工智能研究院,北京100084;3. 清華大學(xué) 智能技術(shù)與系統(tǒng)國家重點實驗室,北京100084)

0 引言

智能問答是自然語言處理中的重要任務(wù),其目標(biāo)是回答人類用自然語言形式提出的各種問題,涉及檢索、語義匹配、推理等自然語言處理中的重要技術(shù)。與搜索引擎不同,它能夠為用戶直接提供答案,省去用戶閱讀文檔的時間,擁有重要的實際價值。

開放域問答是智能問答的主要研究領(lǐng)域之一。它的目標(biāo)是回答任意領(lǐng)域的問題,而不是把問題限定在某個領(lǐng)域內(nèi)。給定一個問題Q以及許多文檔(如維基百科的全部內(nèi)容,或互聯(lián)網(wǎng)上的所有網(wǎng)頁),模型需要根據(jù)這些文檔回答問題。開放域問答模型的一種常見實現(xiàn)方式由檢索器和閱讀器兩部分構(gòu)成。檢索器需要從給定的文檔集合中檢索出可能相關(guān)的一些文檔,之后閱讀器需要閱讀并綜合處理這些文檔,得出問題的答案。這兩部分通常是分離的,檢索器通常使用傳統(tǒng)方法進(jìn)行檢索,如TF-IDF或BM25,或者使用搜索引擎(如Bing),閱讀器一般使用標(biāo)注好的閱讀理解數(shù)據(jù)集訓(xùn)練,其文檔通常來自于維基百科。閱讀理解是智能問答的另一重要研究領(lǐng)域。目前,閱讀理解模型通常在大規(guī)模預(yù)訓(xùn)練語言模型上微調(diào)(Fine-tune),在各類數(shù)據(jù)集上能夠接近甚至超出人類水平。

但是,閱讀理解和開放域問答是不同的場景,所以用閱讀理解數(shù)據(jù)集訓(xùn)練得到的模型直接遷移到開放域問答往往會遇到很多問題。我們使用目前通行的方法訓(xùn)練了一個閱讀理解模型,并在真實場景下進(jìn)行了評測,發(fā)現(xiàn)了一些問題,如圖1所示。在示例1中,檢索器抽取網(wǎng)頁的主要內(nèi)容并進(jìn)行分段處理,會出現(xiàn)形如“喬戈里峰”這樣僅含一個實體的較短的段落。此時閱讀器看到了問題要求回答某一座山峰,且段落中包含一座山峰后就直接輸出了“喬戈里峰”。在示例2中,問題和文章中涉及的地點限定詞是不同的,但模型仍然輸出了屬于“山峰”這一類型的一個實體。這兩個例子說明目前的閱讀理解模型沒有真正地理解問題和文章之間的關(guān)系,只是學(xué)習(xí)到了淺層的文本匹配。

圖1 閱讀理解模型錯誤輸出示例

上述問題出現(xiàn)的原因本質(zhì)上是因為目前開放域問答系統(tǒng)的閱讀器使用閱讀理解數(shù)據(jù)集訓(xùn)練。在開放域問答中,人們通常是先想到問題再去找相關(guān)文章。而在標(biāo)注閱讀理解數(shù)據(jù)集時,標(biāo)注者在閱讀文章后提出若干問題,文章內(nèi)容的先入為主導(dǎo)致他們提出的問題通常與文章的句子比較相近。所以較短的段落以及與問題中不同的限定詞這樣的情況并不會在閱讀理解數(shù)據(jù)中出現(xiàn),進(jìn)而使開放域問答模型在這幾種情況下出錯。為了解決這些問題,我們提出了幾種能在現(xiàn)實場景下增強(qiáng)問答系統(tǒng)魯棒性的數(shù)據(jù)增廣方法。其中包括針對無上下文的答案,提出使用類似答案的文章;針對問題文章中限定詞不匹配的問題,提出條件刪除,構(gòu)造不含問題中條件的文章;針對模型會受到與問題高度相似的句子影響,提出句子替換,用高度相關(guān)的句子替換含有答案的句子。這些數(shù)據(jù)增廣方法能夠幫助閱讀器獲得辨別這幾種情況的能力,進(jìn)而提升開放域問答系統(tǒng)的魯棒性。

考慮到閱讀理解數(shù)據(jù)集和實際場景的巨大差異,我們構(gòu)造了一個開放域問答數(shù)據(jù)集OpenCQA用于評測。與以往閱讀理解數(shù)據(jù)集的區(qū)別是: OpenCQA給出的文章是從網(wǎng)頁中提取出來的,且沒有做相關(guān)的過濾處理,更接近人類閱讀網(wǎng)頁時的情景,具有更強(qiáng)的干擾性。實驗結(jié)果表明本文提出的幾種數(shù)據(jù)增廣方法都在這個數(shù)據(jù)集上取得了一定的效果提升。

本文的貢獻(xiàn)主要包含:

(1) 發(fā)現(xiàn)目前的閱讀理解模型不能夠處理真實場景下的文章,提出了幾種能夠增強(qiáng)魯棒性的數(shù)據(jù)增廣方法,并在真實場景下獲得了性能提升。

(2) 為了修正目前閱讀理解數(shù)據(jù)集不能有效評估實際場景下模型效果的問題,構(gòu)造并發(fā)布一個開放域問答數(shù)據(jù)集。

1 相關(guān)工作

智能問答近年來已經(jīng)有了許多進(jìn)展,性能有了很大的提升。這些進(jìn)展得益于許多數(shù)據(jù)集的出現(xiàn)。在中文領(lǐng)域,閱讀理解數(shù)據(jù)集有以下幾種形式: 完型填空形式,給出的文本有若干個詞被刪除,需要根據(jù)上下文恢復(fù)這些詞,如CMRC 2017[1];抽取式,答案是給出的文本中的一個區(qū)間,如CMRC 2018[2],DRCD[3],WebQA[4],XQA[5];生成式,需要根據(jù)問題和文章生成一段文本作為答案,如DuReader[6],Gaokao History[7];以及多項選擇形式,從四個答案中選出最合適的一項,如Gaokao Challenge[8-9],MCQA 2017[10],ChID[11],C3[12]??傮w上來說,上述中文的數(shù)據(jù)集的規(guī)模遠(yuǎn)遠(yuǎn)小于英文數(shù)據(jù)集,如SQuAD[13],TriviaQA[14],Natural Questions[15]等。

當(dāng)前問答模型遇到的一個重要問題是模型總是傾向于做簡單的文本匹配。為了解決這一問題,Jia和Liang[16]通過對文章進(jìn)行一定的修改,可以誤導(dǎo)模型輸出錯誤的答案,并通過加入對抗樣本訓(xùn)練緩解這一問題。Zhu[17]等人提出通過神經(jīng)網(wǎng)絡(luò)模型生成若干不可回答的問題來幫助訓(xùn)練問答模型。Welbl[18]等人發(fā)現(xiàn)了問答系統(tǒng)的不敏感性(Undersensitivity),即對文章做出一定的更改后,模型仍然會輸出原有的答案,然后用了對抗訓(xùn)練的方法降低不敏感性。Back[19]等人提出了NeurQuRI,能夠檢測出問題中的一些條件能否被答案所滿足,但這一模型僅使用答案的表示作為輸入,沒有顯式地對文章中的片段和問題中的條件進(jìn)行匹配。

除閱讀理解外,近年來開放域問答也有了許多進(jìn)展。Chen[20]等人提出了兩階段的“檢索+閱讀”框架,在此基礎(chǔ)上,有一些研究專注于提升這一類模型在某方面的效果,如多文章訓(xùn)練[21]、文章排序[22]等。這類方法在檢索階段需要使用一個傳統(tǒng)的檢索器,因此有一些工作嘗試使用神經(jīng)網(wǎng)絡(luò)模型來做檢索。Lee[23]等人提出用問題和文章編碼后的向量做檢索,同時優(yōu)化檢索任務(wù)和閱讀任務(wù),形成一個端到端的模型。在此基礎(chǔ)上,Guu[24]等人為這種端到端的模型提出了一種預(yù)訓(xùn)練方法,提升了其性能。

此外,還有一些特殊技巧被應(yīng)用于開放域問答中。如Seo[25]等人提出了PIQA,把維基百科中所有區(qū)間都編碼為向量,用向量相似度直接從這些區(qū)間中檢索出答案,避免了閱讀大量文本帶來的性能開銷。還有一些工作把知識圖譜融入檢索和閱讀中[26-27]。

2 模型

在本節(jié),我們首先介紹作為基準(zhǔn)模型的開放域問答系統(tǒng),包含目前抽取式閱讀理解的常見做法和對某些特殊情況的處理,然后介紹幾種能夠改善系統(tǒng)魯棒性的數(shù)據(jù)增廣方法。

2.1 基準(zhǔn)模型

基準(zhǔn)模型采用檢索+閱讀的流水線形式,其中檢索器使用搜索引擎返回的結(jié)果,閱讀器在抽取式閱讀理解數(shù)據(jù)集上訓(xùn)練。抽取式閱讀理解是閱讀理解的一種特殊形式,可以形式化為如下問題: 給定一個問題Q,以及若干篇文章D1,D2,…,Dn,從這些文章中選擇一個片段a作為答案輸出,或者輸出“無答案”。目前,抽取式閱讀理解問題最好的解決方法是利用大規(guī)模的預(yù)訓(xùn)練模型。

以BERT[28]為例,如圖2所示,對于問題Q和文章Di,我們使用WordPiece[29]切分它們,得到符號序列Q=q1,q2,…,qm,Di=d1,d2,…,dl。把問題和文章拼起來,得到輸入序列[CLS]q1q2…qm[SEP]d1d2…dl[SEP],其中[CLS]和[SEP]是兩個特殊符號,分別用于輸入的開頭和分隔問題與文章。然后,BERT模型將會處理這個序列,經(jīng)過embedding層和若干self-attention及全連接層后,輸出一組向量h0,h1,…,hn∈RH,與輸入序列中的符號一一對應(yīng)。之后,這些向量會分別通過兩個線性層及softmax層,得到每個符號是答案的開始位置或結(jié)束位置的概率:

這里假定答案的開始位置和結(jié)束位置的概率分布是相互獨立的。我們把Wstarthi+bstart,Wendhi+bend稱為i位置作為初始位置和結(jié)束位置的分?jǐn)?shù),記為si和ei。答案是某一區(qū)間[a,b]的概率為:

P([a,b])=Pstart(a)Pend(b)∝exp(sa+eb)

(3)

可以認(rèn)為文章中每個答案區(qū)間的分?jǐn)?shù)為開始位置和結(jié)束位置分?jǐn)?shù)之和。

由于輸入序列包含問題和文章,所以只需要考慮起始位置和結(jié)束位置都在文章對應(yīng)位置的區(qū)間。一般來說,答案通常不會太長,所以在進(jìn)行預(yù)測時,還會剔除掉那些太長的區(qū)間。另外,文章中不一定含有回答問題所必要的信息,所以模型需要針對這種情況給出“無答案”的預(yù)測。我們把包含[CLS]這個符號的區(qū)間作為一個特殊的“答案”。如果這個答案的概率是最高的,就認(rèn)為模型輸出了“無答案”。

在實際情況中,有的文章的長度會超出預(yù)訓(xùn)練模型能處理的長度上限(如512個符號)。在這種情況下,需要采用滑動窗口的形式把文章劃分為有重疊的若干段,如圖3所示。其中會有一些段落不含有答案,在訓(xùn)練時需要讓這些段落預(yù)測“無答案”。在閱讀完所有的文章后,需要把所有文章或段落預(yù)測出的答案合并起來,每個答案的分?jǐn)?shù)是它在所有文章段落中被預(yù)測的分?jǐn)?shù)的最大值。在下文中,本小節(jié)提到的模型記為Baseline。

圖3 文章長度超過預(yù)訓(xùn)練模型能處理的上限時的滑動窗口機(jī)制僅第2個窗口含有答案,用其他窗口訓(xùn)練時訓(xùn)練目標(biāo)是輸出“無答案”。

2.2 提升魯棒性的數(shù)據(jù)增廣

為了緩解上文提到的問答模型的問題,我們提出了若干種數(shù)據(jù)增廣的方法,期望模型在學(xué)習(xí)過這些增廣數(shù)據(jù)之后能夠避免上述的問題。

2.2.1 針對無上下文的答案的增廣

在實際場景中,如果某一個段落僅包含一個實體,且這個實體的類型和問題詢問的類型是匹配的,那么模型有很大的可能性會直接把這個實體預(yù)測為答案。但是這種情況是不合理的,因為文章沒有提供任何與問題有關(guān)的信息。

為了避免這種情況,可以手工構(gòu)造出這樣的情況,并要求模型不預(yù)測這個實體。假定有一個實例,包含問題Q,一些文章D1,…,Dn,以及一些答案a1,…,am。我們構(gòu)造了這樣的實例,它的問題是Q,文章是a1,…,am,每篇文章都是一個原有的答案,答案為空。圖4(1)展示了一個替換的例子。對已有的所有數(shù)據(jù)做這樣的處理后,把所有新實例加入到原有的數(shù)據(jù)集中。這種數(shù)據(jù)增廣方法記為類似答案的文章(Answer-like Context,AC)。

2.2.2 針對缺少條件的文章的增廣

人類在閱讀文章并回答問題時通常會快速找到問題所隱含的條件,然后在文章中尋找能夠匹配上所有隱含條件的地方。如果缺少一個條件或條件錯誤,一般會認(rèn)為無法回答此問題。例如,在問題“云南最高的山峰是什么?”中,“云南”“最高”“山峰”可以認(rèn)為是隱藏的條件,如果“云南”或其近義詞沒有在文章中出現(xiàn),就無法回答問題。目前的模型無法滿足這種需求,所以我們針對這種情況提出了一種增廣數(shù)據(jù)的方法。

假定一個實例含有問題Q,文章D1,…,Dn,以及答案a1,…,am。首先使用Stanford CoreNLP[30]對Q進(jìn)行分詞、命名實體識別和依存語法分析。然后,抽取出問題中所有的命名實體、名詞和所有形如“第……”“最……”的詞,這些詞被視為回答問題必需的條件,構(gòu)成條件集合P={p1,…,pl}。一般來說,一個問題通??梢猿槿〕?~4個條件,如果一篇文章中不含有任意一個條件,那么它幾乎不可能含有回答問題所需要的信息。把文章中每個條件都刪除掉,得到一個新的實例,包含問題Q,文章D1-P,…,Dn-P,以及空答案。然后新實例加入到已有的數(shù)據(jù)集中,記為條件刪除(Condition Deletion,CD)。圖4(2)給出了條件刪除的一個數(shù)據(jù)增廣示例。

圖4 類似答案的文章示例

2.2.3 針對與問題高度相關(guān)的句子的增廣

如果文章中含有與問題高度相似的句子但此句子又不含有真正的答案,那么這個句子中的一些區(qū)間(或詞語)就很容易被預(yù)測為答案。為了解決這一問題,我們提出一種利用句子替換增廣數(shù)據(jù)的方法。

(4)

訓(xùn)練完成后,就可以檢索出與問題相似的所有句子。我們用Faiss[31],一個十分高效的開源向量相似度檢索與聚類庫,進(jìn)行基于向量內(nèi)積的檢索,為每個問題找到相似度最高的100個句子。

只要把文章中含有答案的句子替換成與問題高度相似且不含答案的句子,就可以認(rèn)為得到的新文章不足以回答問題。模型在用這樣的(問題,文章)訓(xùn)練之后就應(yīng)當(dāng)能夠避免直接用問題匹配與問題高度相關(guān)的句子。這種處理方式記為句子替換(Sentence Replacement,SR)。圖4(3)給出了句子替換的一個數(shù)據(jù)增廣示例。

但是,上述處理方法可能存在以下問題: 如果一個句子含有與答案重合度較高的一些片段,如答案為“古埃及人”,但原文章中有一個句子含有“古代埃及人”,這個句子就不會作為無答案的句子被替換掉,導(dǎo)致構(gòu)造的文章仍然能夠回答問題。為了處理這種情況,我們引入一種啟發(fā)式的匹配方法。假設(shè)答案長度為n,統(tǒng)計它的n(n+1)/2個子串有哪些在句子中出現(xiàn)。如果在句子中出現(xiàn)的子串?dāng)?shù)量不少于2n-1,就認(rèn)為句子和答案是匹配的,應(yīng)當(dāng)被替換掉。這種處理方式記為近似句子替換(Approximate Sentence Replacement,ASR)。

最后,以上幾種數(shù)據(jù)增廣方法分別針對了幾種不同的問題,在實際場景中可以混用這幾種增廣方法,記為集成(Ensemble)。

3 實驗

3.1 數(shù)據(jù)集

本文主要專注于抽取式的閱讀理解和開放域問答,相關(guān)的數(shù)據(jù)集主要有:

(1) CMRC2017[1]是一個填空式的中文閱讀理解數(shù)據(jù)集,但人工標(biāo)注了少量抽取式的問題。其語料主要來源于《人民日報》和《格林童話》。

(2) CMRC2018[2]是第一個標(biāo)準(zhǔn)的抽取式閱讀理解數(shù)據(jù)集,其文章來源于中文維基百科。

(3) DRCD[3]同樣是一個抽取式數(shù)據(jù)集,所有問題和答案都是繁體中文,文章取自繁體中文維基百科。我們使用OpenCC(1)https://github.com/BYVoid/OpenCC進(jìn)行繁簡轉(zhuǎn)換。

(4) WebQA[4]是一個大規(guī)模的真實場景下的問答數(shù)據(jù)集,其問題主要來源于百度知道中的事實性的問題,都是在非受限的場景下提出的。用搜索引擎檢索問題,得到若干文章,并人工標(biāo)注了答案。

(5) DuReader[6]包含了許多從搜索引擎日志中獲得的高頻問題,包括事實型問題、觀念型問題和是否型問題。在百度搜索和百度知道中檢索這些問題,得到一些文章,并人工標(biāo)注答案。與其他數(shù)據(jù)集不同的是DuReader給出是的完整的文章,而不是單個段落。

為了能夠充分利用各個數(shù)據(jù)集,本文把這些數(shù)據(jù)集轉(zhuǎn)化為了統(tǒng)一的格式。同時,為了與抽取式的問答模型兼容,我們刪除了答案沒有在給出的文章中出現(xiàn)的問答對。由于部分?jǐn)?shù)據(jù)集沒有提供測試集,因此在實驗中統(tǒng)一把驗證集和測試集合并為驗證集。最終得到的數(shù)據(jù)集規(guī)模統(tǒng)計如表1所示。

表1 數(shù)據(jù)集規(guī)模統(tǒng)計信息

此外,為了評估模型在實際場景中的性能,我們利用這些數(shù)據(jù)集提供的問答對構(gòu)造了一個開放域問答的數(shù)據(jù)集OpenCQA,類似于Chen[20]等人提出的做法。首先忽略數(shù)據(jù)集給出的所有文章,對于數(shù)據(jù)集中的所有問題答案對(Q,a),在Bing(2)https://www.bing.com/搜索引擎中用Q檢索并抓取前十位的網(wǎng)頁,抽取出其主要內(nèi)容作為文章D,與原有的問題Q和答案a合并構(gòu)造一個新的(Q,D,a)三元組。如果原有的答案a沒有在這些文章D中出現(xiàn),則把a(bǔ)替換為“無答案”。問題Q無法檢索出相關(guān)結(jié)果時直接丟棄此問答對。文章如果存在大量不可讀字符或中文字符占比小于一半,也會直接丟棄。為促進(jìn)中文問答系統(tǒng)的研究,我們公開發(fā)布了OpenCQA(3)https://github.com/jiajudu/openCQA數(shù)據(jù)集,包含約20萬問題、答案,以及每個問題的參考文章。此外,為方便其他研究者,還把所有的閱讀理解數(shù)據(jù)集整合在了一起,并統(tǒng)一成相同的格式,也同時公開發(fā)布。

3.2 評測指標(biāo)

封閉域閱讀理解和開放域問答都使用EM和F1兩種指標(biāo)評測。假設(shè)問題有若干個可能的答案a1,…,an,模型給出的預(yù)測為a。EM和F1的計算方法如式(5)、式(6)所示。

其中,lcs為兩個字符串的最長公共子串。計算前需要先去除這些答案中的標(biāo)點符號。

3.3 實驗設(shè)置

我們使用閱讀理解數(shù)據(jù)集訓(xùn)練了若干模型,分別使用了不同的數(shù)據(jù)增廣策略。然后,分別在閱讀理解驗證集和OpenCQA驗證集上評測了性能。所有的實驗都借助Transformers庫[32]完成,預(yù)訓(xùn)練語言模型(4)https://huggingface.co/hfl/chinese-roberta-wwm-ext使用中文維基百科、新聞、問答等數(shù)據(jù)訓(xùn)練,利用了全詞Mask(Whole Word Masking)技術(shù),區(qū)分大小寫。微調(diào)時使用的學(xué)習(xí)率為3e-5,其中前10%的時間學(xué)習(xí)率由0線性上升至最大值,隨后線性下降至0。使用的優(yōu)化器為Adam,共訓(xùn)練2輪。模型使用了8張RTX 2080 Ti顯卡,batch size設(shè)置為48。其余參數(shù)均采用常見的默認(rèn)值。

此外,為了讓模型能夠處理是否型問題,我們在每個段落前都添加兩個特別的符號“Yes”和“No”。如果應(yīng)該輸出是/否,就要求模型預(yù)測含有這兩個符號的區(qū)間。在訓(xùn)練句子和問題的相似度模型時,每個問題都隨機(jī)采樣5個負(fù)例。在評估集成增廣方法時,使用三種增廣方法分別構(gòu)造了三組額外的數(shù)據(jù),每組數(shù)據(jù)都隨機(jī)采樣出1/3的數(shù)據(jù),加入原有的訓(xùn)練集。表2給出了各種增廣策略對應(yīng)的數(shù)據(jù)規(guī)模以及在原數(shù)據(jù)集的基礎(chǔ)上增加的比例。

表2 數(shù)據(jù)增廣規(guī)模

3.4 開放域問答實驗結(jié)果

在進(jìn)行開放域問答的評測時,一個問題會對應(yīng)十篇文章,但是這些文章中可能會存在特別長的段落。如果直接閱讀這些段落,就會消耗大量的計算資源。由于計算資源有限,我們把所有的段落用滑動窗口切分為片段,僅取出512個片段閱讀。片段數(shù)量超過512時,優(yōu)先選取每個段落靠前的片段,丟棄長段落靠后的內(nèi)容。這樣模型閱讀的內(nèi)容會覆蓋所有段落,而又不在極長段落上花費過多資源。

與閱讀理解不同,OpenCQA中有許多無答案的例子。但是在使用不同的數(shù)據(jù)訓(xùn)練之后,不同的模型輸出“無答案”的概率是不同的。為了保證比較的公平性,我們引入了“分?jǐn)?shù)差”(5)https://github.com/huggingface/transformers/blob/v3.4.0/examples/question-answering/run_squad.py#L542這一概念。假設(shè)已經(jīng)獲得了文章中所有區(qū)間的最高得分sm和“無答案”的分?jǐn)?shù)snull,可以僅在sm>snull-τ時輸出一個非空的答案。這里τ是一個可以任意調(diào)整的變量。顯然τ減小時,輸出“無答案”的概率Pnull增大。我們可以適當(dāng)?shù)厝∫恍│又?,得到EM-Pnull曲線(見圖5)和F1-Pnull曲線(見圖6)。曲線的最高點代表每個模型在調(diào)整τ后能達(dá)到的最優(yōu)性能,如表3左側(cè)兩列所示。曲線的最左側(cè)代表Pnull=0(即模型必須輸出一個非空答案)時的性能,如表3右側(cè)兩列所示。

表3 開放域問答性能比較 (單位: %)

從表3、圖5和圖6可以觀察到:

圖5 開放域問答各模型曲線

圖6 開放域問答各模型曲線

(1)Pnull=1時,所有模型的EM和F1都相同,這是因為數(shù)據(jù)集中無答案數(shù)據(jù)的比例是固定的。

(2)Pnull=0,即模型必須給出非空答案時,我們提出的各種方法都能帶來一些提升,在EM上的提升更明顯(+1.2~2.2,集成方法+2.4),只有句子替換(SR/ASR)在F1指標(biāo)上提升較小,可能是因為近義詞沒有被替換時問題仍然是可回答的。

(3)Pnull: 0→1時,EM和F1都先上升后下降??梢钥吹絇null處于(0,1)之間時,各個模型相比于基準(zhǔn)模型的提升更大(+3.0~5.3,集成方法+6.9~7.9,見表3左側(cè)兩列)。這說明數(shù)據(jù)增廣不僅能夠提升在可回答問題上的效果,還可以提高模型判斷問題是否可回答的能力。

(4) AC的EM/F1相比于基線模型增長了4.69/4.75,我們對性能的增長做了來源分析。性能的增長來源于三方面: ①問題有答案且AC和基線模型均預(yù)測出了答案的情況下,AC貢獻(xiàn)了1.14/1.23的性能增長。②在11.45%的問題上,AC把基線模型預(yù)測出的有答案改成了無答案,其中有5.22%的問題AC是正確的,貢獻(xiàn)了2.92/1.91的性能提升。盡管正確率不到一半,但由于發(fā)生錯誤的那部分問題基線模型也沒有完全回答正確,所以總體貢獻(xiàn)仍然是正的。③在8.16%的問題上,AC把基線模型預(yù)測出的無答案改成了有答案,其中有6.08%的問題AC是正確的,貢獻(xiàn)了0.63/1.61的提升。因此我們同樣可以得到AC不僅提高了預(yù)測“無答案”的比例,在其他方面也有所貢獻(xiàn)。其他策略也有相似的貢獻(xiàn)分布,在此不再列出。

(5) 綜合EM和F1指標(biāo),集成三種方法的數(shù)據(jù)增廣能夠取得最好的效果,條件刪除(CD)是最好的單一數(shù)據(jù)增廣方法。

我們還分析了各種數(shù)據(jù)增廣方法在OpenCQA各個子數(shù)據(jù)集上的效果,如表4所示。實驗結(jié)果表明,無論在哪個子數(shù)據(jù)集上,模型在可回答的問題上的EM和F1都有所提升,其中條件刪除(CD)仍然是最好的方法。在除WebQA外的數(shù)據(jù)集中,模型識別問題是否可回答的成功率也都有所提升。在WebQA上數(shù)據(jù)增廣會導(dǎo)致識別成功率下降,其原因主要是WebQA中幾乎的所有問題都有答案,數(shù)據(jù)增廣導(dǎo)致模型把部分問題預(yù)測為了“無答案”。

表4 各種數(shù)據(jù)增廣方法在OpenCQA的子數(shù)據(jù)集上的表現(xiàn) (單位: %)

最后,我們?nèi)斯ぴu測了本文提到的三種錯誤情況(無上下文的答案;問題文章中限定詞不匹配;與問題高度相似的句子)的出現(xiàn)頻率。從基線模型判斷出錯的例子中隨機(jī)選取了100個,手工標(biāo)注了每個錯誤例子是否與三種錯誤情況相關(guān)。三種錯誤情況分別對應(yīng)了其中17%、23%、9%的例子,總計占所有錯誤例子的一半左右。

3.5 閱讀理解實驗結(jié)果

表5展示了各種模型在3.1節(jié)中構(gòu)造的閱讀理解數(shù)據(jù)集上的結(jié)果。模型有可能對于某些問題輸出“無答案”,但由于此數(shù)據(jù)集中所有問題都有答案,所以我們強(qiáng)制所有模型忽略“無答案”,必須輸出一個答案。從表5可見,各種數(shù)據(jù)增廣方法在閱讀理解這一任務(wù)上對性能影響不大,或者會使性能略微下降。這說明閱讀理解和開放域問答是兩個差別較大的任務(wù),OpenCQA將有助于更準(zhǔn)確地評估未來模型的效果。

表5 閱讀理解性能比較 (單位: %)

3.6 案例分析

在這一部分,我們首先給出從驗證集中選出的若干例子,證明數(shù)據(jù)增廣能夠有效地解決上述幾種問題。圖7列出了這些例子以及模型給出的答案和得分。在示例1中,與基線模型相比,加入由答案作為文章的實例(AC)后,模型不再把“喬戈里峰”預(yù)測為答案,原有的一些高分答案的分?jǐn)?shù)也大大下降。在示例2中,條件刪除(CD)模型能夠識別出“云南”和“東北”是不同的條件,降低了“白云峰”的得分。在示例3中,句子替換(SR)模型降低了作為干擾項的某抑制劑的得分??傊瑢δP洼敵龅拇鸢阜?jǐn)?shù)的觀察說明數(shù)據(jù)增廣達(dá)到了目的。

圖7 案例分析括號內(nèi)是答案的分?jǐn)?shù)

4 結(jié)論

本文針對閱讀理解模型在實際場景中出現(xiàn)的幾種問題,提出了能夠增強(qiáng)中文開放域問答魯棒性的數(shù)據(jù)增廣方法。實驗結(jié)果表明這幾種方法能夠提升模型在實際場景中的性能。本文還發(fā)布了一個開放域問答的數(shù)據(jù)集,用于評估中文問答系統(tǒng)的性能。

雖然在使用本文提出的幾種方法后,模型能夠避免犯某些錯誤,但距離人類閱讀理解水平還有一定距離,仍然有很多錯誤情況沒有解決。所以我們下一步將會進(jìn)一步地分析目前問答系統(tǒng)的弱點,并針對問題進(jìn)行改進(jìn)。

猜你喜歡
段落檢索文章
【短文篇】
心理小測試
細(xì)致入微的描寫讓文章熠熠生輝
2019年第4-6期便捷檢索目錄
放屁文章
小處著眼,寫大文章
夏天,愛情的第四段落
散文詩(2017年17期)2018-01-31 02:34:11
專利檢索中“語義”的表現(xiàn)
專利代理(2016年1期)2016-05-17 06:14:36
弄清段落關(guān)系 按圖索驥讀文
讀寫算(下)(2016年11期)2016-05-04 03:44:07
做好深化國企改革大文章
河南省| 霍邱县| 虎林市| 凤阳县| 邳州市| 兴仁县| 浮山县| 大新县| 手机| 浑源县| 海伦市| 金门县| 宣恩县| 名山县| 拉萨市| 大竹县| 汝城县| 会昌县| 同江市| 鄂托克旗| 永安市| 勃利县| 乡宁县| 西宁市| 泸溪县| 灯塔市| 祁连县| 晋中市| 龙川县| 临潭县| 松阳县| 望城县| 马边| 社旗县| 基隆市| 临邑县| 托克逊县| 沙河市| 麻阳| 米易县| 常山县|