日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

从易到难,针对复杂问题的无监督式问题分解方法

發(fā)布時(shí)間:2024/10/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从易到难,针对复杂问题的无监督式问题分解方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

論文標(biāo)題:

Unsupervised Question Decomposition for Question Answering

論文作者:

Ethan Perez (FAIR,NYU), Patrick Lewis (FAIR,UCL), Wen-tau Yih (FAIR), Kyunghyun Cho (FAIR,NYU), Douwe Kiela (FAIR)

論文鏈接:

https://arxiv.org/abs/2002.09758

代碼鏈接:

https://github.com/facebookresearch/UnsupervisedDecomposition



問(wèn)答(QA)任務(wù)常常包含了很多難以直接回答的復(fù)雜問(wèn)題,而這些問(wèn)題一般需要搜尋多段文本才能找出答案。

本文提出一種無(wú)監(jiān)督的問(wèn)題分解方法:把復(fù)雜問(wèn)題分解成若干簡(jiǎn)單問(wèn)題,然后把這些簡(jiǎn)單問(wèn)題的答案作為上下文提供給復(fù)雜問(wèn)題,從而幫助模型回答復(fù)雜問(wèn)題。

使用這種策略,我們能夠在多跳問(wèn)答數(shù)據(jù)集HotPotQA上實(shí)現(xiàn)顯著效果,尤其對(duì)于領(lǐng)域外的問(wèn)題十分奏效。

問(wèn)答中的復(fù)雜問(wèn)題

針對(duì)問(wèn)答系統(tǒng)的研究已經(jīng)有了多年歷史,在近些年,各類數(shù)據(jù)集的出現(xiàn)對(duì)問(wèn)答系統(tǒng)的要求越來(lái)越高。

如數(shù)據(jù)集HotPotQA就要求系統(tǒng)能夠在多段不連續(xù)的文本中尋找線索,并且按照邏輯順序把這些線索組織起來(lái)形成答案。

這種需要多次答案“跳躍”的問(wèn)答形式就稱為“多跳問(wèn)答”(Multi-Hop QA),或者簡(jiǎn)單地稱為復(fù)雜問(wèn)題。

模型直接回答這些問(wèn)題往往不現(xiàn)實(shí),但一個(gè)簡(jiǎn)單的想法是,可以把這個(gè)復(fù)雜問(wèn)題分解成若干模型能夠回答的簡(jiǎn)單的子問(wèn)題,然后再把這些子問(wèn)題及其答案作為上下文提供給模型,再去回答復(fù)雜問(wèn)題,這樣就可以大大降低直接回答復(fù)雜問(wèn)題的難度。

比如下圖是一個(gè)例子,要回答復(fù)雜問(wèn)題,我們先從中拆分出兩個(gè)簡(jiǎn)單問(wèn)題(或“單跳問(wèn)答”),回答之后再回答復(fù)雜問(wèn)題本身,就容易得多。

那么,現(xiàn)在的問(wèn)題是,怎么得到簡(jiǎn)單的子問(wèn)題。本文采用了一種無(wú)監(jiān)督的問(wèn)題分解方式:(1)首先以抽取的方式構(gòu)建一個(gè)“偽分解”數(shù)據(jù)集,(2)利用構(gòu)建的“偽分解”數(shù)據(jù)集和原來(lái)的復(fù)雜問(wèn)題數(shù)據(jù)集訓(xùn)練一個(gè)序列到序列模型,(3)使用序列到序列模型生成子問(wèn)題。以上問(wèn)題分解步驟完全是無(wú)監(jiān)督的,因而避免了大量的人工標(biāo)注。

最后,本文在HotPotQA上測(cè)試了該方法的效果,并取得了顯著效果。總的來(lái)說(shuō),本文貢獻(xiàn)如下:

  • 提出一種完全無(wú)監(jiān)督的問(wèn)題分解方法,可以有效地把復(fù)雜問(wèn)題分解為若干簡(jiǎn)單的子問(wèn)題;

  • 在HotPotQA的實(shí)驗(yàn)上表明,這種方法已經(jīng)非常接近強(qiáng)監(jiān)督的方法;

  • 本方法尤其能夠在各種類型的復(fù)雜問(wèn)題都取得很好的結(jié)果,表明此方法的通用性較強(qiáng)。

無(wú)監(jiān)督問(wèn)題分解

問(wèn)答任務(wù)是,給定問(wèn)題和若干段文本,模型要去找到答案,即最大化概率。

而問(wèn)題分解就是,找到和相關(guān)的個(gè)子問(wèn)題,并得到它們的答案,模型現(xiàn)在要基于以上所有信息去最大化答案的概率。

所謂問(wèn)題分解,指的就是復(fù)雜問(wèn)題到子問(wèn)題集的一個(gè)映射:,其中是從簡(jiǎn)單問(wèn)題數(shù)據(jù)集中得到的一個(gè)問(wèn)題。我們首先需要構(gòu)造這樣的映射對(duì),然后學(xué)習(xí)這個(gè)映射,最后應(yīng)用它。

Step1: 偽分解構(gòu)造

假設(shè)我們現(xiàn)在有兩個(gè)數(shù)據(jù)集:復(fù)雜問(wèn)題數(shù)據(jù)集(本文使用HotPotQA中的所有問(wèn)題作為)和簡(jiǎn)單問(wèn)題數(shù)據(jù)集(使用SQuAD2的所有問(wèn)題作為初始的)。

為了進(jìn)一步擴(kuò)大這兩個(gè)數(shù)據(jù)集的大小,我們從Common Crawl中挖掘更多的問(wèn)題補(bǔ)充和,最終得到約2.4M句復(fù)雜問(wèn)題,10.1M句簡(jiǎn)單問(wèn)題。

另一方面,因?yàn)槲覀儧](méi)有標(biāo)注好的對(duì),所以我們想要先構(gòu)造出這樣的問(wèn)題對(duì),然后在此之上學(xué)習(xí)映射。這種構(gòu)造我們稱為“偽分解”構(gòu)造。

具體來(lái)說(shuō),我們對(duì)每個(gè)復(fù)雜問(wèn)題,從中選取個(gè)簡(jiǎn)單問(wèn)題作為偽分解,這些選取的簡(jiǎn)單問(wèn)題需要盡量滿足兩個(gè)標(biāo)準(zhǔn):和相似,相互不同。這兩個(gè)標(biāo)注可以統(tǒng)一為下述公式:

下面給出兩種抽取子問(wèn)題的策略(本文設(shè)):

  • 相似度抽取:使用余弦值改寫(xiě)上述公式為(其中為單位句向量,用fastText得到);

  • 隨機(jī)抽取:隨機(jī)中中抽取個(gè)簡(jiǎn)單問(wèn)題作為。

在抽取了若干子問(wèn)題后,由于其中包含了很多噪聲,所以我們還把其中沒(méi)在中出現(xiàn)的實(shí)體都隨機(jī)替換為中同類型的一個(gè)實(shí)體(如果存在)。如此一來(lái),我們就得到了很多偽分解對(duì)。

Step2: 問(wèn)題分解映射學(xué)習(xí)

在上述得到偽分解對(duì)之后,我們就要去學(xué)習(xí)分解映射,我們有以下學(xué)習(xí)策略:

  • 不學(xué)習(xí)(No Learning),直接使用抽取得到的作為復(fù)雜問(wèn)題的子問(wèn)題;

  • 序列到序列(Seq2Seq),把所有的拼接起來(lái)作為目標(biāo)文本,學(xué)習(xí)一個(gè)的序列到序列模型;

  • 無(wú)監(jiān)督序列到序列(USeq2Seq),不直接從中學(xué)習(xí),而是用各種無(wú)監(jiān)督學(xué)習(xí)手段去學(xué)習(xí)。

對(duì)Seq2Seq和USeq2Seq,我們首先在上用MLM的方法預(yù)訓(xùn)練一個(gè)XLM去初始化,然后用上述偽分解對(duì)訓(xùn)練。

對(duì)Seq2Seq,直接用對(duì)訓(xùn)練;對(duì)USeq2Seq,用去噪和反譯的方法訓(xùn)練。對(duì)去噪,把中字符隨機(jī)掩碼、交換、丟棄,得到,然后訓(xùn)練。對(duì)反譯,分別用生成一個(gè)和用生成,然后去優(yōu)化。

Step3: 如何使用

在學(xué)習(xí)了映射之后,我們就可以針對(duì)每個(gè)復(fù)雜問(wèn)題,得到它的分解后的子問(wèn)題,然后用一個(gè)簡(jiǎn)單的QA模型找到每個(gè)子問(wèn)題的答案,再把這些問(wèn)題和對(duì)應(yīng)的答案拼接起來(lái),和原來(lái)的復(fù)雜問(wèn)題、給定的上下文一道,送入最后的QA模型,得到復(fù)雜問(wèn)題的答案即可。

具體地,我們使用RoBERTa(Large)和BERT(Base)作為簡(jiǎn)單問(wèn)答模型,并且也使用了模型集成。類似地,對(duì)回答復(fù)雜問(wèn)題我們也用同樣的模型。

實(shí)驗(yàn)

我們?cè)跀?shù)據(jù)集HotPotQA上實(shí)驗(yàn),測(cè)評(píng)指標(biāo)有F1和EM,其他實(shí)驗(yàn)設(shè)置詳見(jiàn)原文。

下表是實(shí)驗(yàn)結(jié)果,第一列是分解學(xué)習(xí)方法,第二列是分解構(gòu)造方法。可以看到,和基線模型比較,在原始版本(Orig)上得到3F1的提升,在多跳(MultiHop)和領(lǐng)域外(OOD)版本上,得到10F1的提升,并且還能實(shí)現(xiàn)強(qiáng)監(jiān)督模型DecompRC的效果。

在測(cè)試集上,本方法能接近當(dāng)前最佳的強(qiáng)監(jiān)督(額外的監(jiān)督信號(hào),知道哪些句子能回答問(wèn)題)模型SAE和HGN。在后面的實(shí)驗(yàn)中,我們使用Useq2seq+fastText的方法。

下面我們想要知道提供怎樣的上下文信息可以使模型更好。我們有幾種選擇:(1)簡(jiǎn)單的答案段(span);(2)答案所在的一整句話(sentence);(3)隨機(jī)實(shí)體。

下表是實(shí)驗(yàn)結(jié)果,可以看到,相比提供子問(wèn)題,子答案的選擇更為關(guān)鍵。其中,提供一整句話而非僅僅是答案本身可以大幅提高效果,這說(shuō)明,充足的額外的上下文對(duì)模型至關(guān)重要。

接下來(lái)我們探究子問(wèn)題和子答案對(duì)最終結(jié)果的影響。如下圖所示,左圖是使用beam search生成的子問(wèn)題的置信度對(duì)最終結(jié)果的影響,右圖是子答案置信度對(duì)最終結(jié)果的影響。可以看到,置信度越大的子問(wèn)題或子答案能最大化提升最終的結(jié)果。

最后來(lái)看看具體分解的子問(wèn)題及其得到的答案的例子,如下表所示。可以看到,盡管有些子問(wèn)題語(yǔ)法不通,但這并不妨礙簡(jiǎn)單模型找到相關(guān)答案,并為復(fù)雜模型提供有效的信息。

小結(jié)

本文提出了一種無(wú)監(jiān)督式的“問(wèn)題分解-分解學(xué)習(xí)-分解應(yīng)用”的將復(fù)雜問(wèn)題分解為簡(jiǎn)單問(wèn)題從而提供豐富上下文信息的問(wèn)答范式,在HotPotQA上能夠接近當(dāng)前最佳的強(qiáng)監(jiān)督模型,并通過(guò)一系列分析實(shí)驗(yàn)驗(yàn)證了此方法的有效性。

這種方法的本質(zhì)是為模型提供更多的上下文信息,非常類似我們推出的一系列工作——將各種任務(wù)歸納到閱讀理解框架下。

實(shí)際上這種想法也是很直觀的:人類也無(wú)法只從一句話中推出很多信息,總是需要各種各樣的背景信息作為支撐。從這個(gè)觀點(diǎn)看,未來(lái)拓展模型能夠處理的文本長(zhǎng)度也許會(huì)是一種趨勢(shì)。

????

現(xiàn)在,在「知乎」也能找到我們了

進(jìn)入知乎首頁(yè)搜索「PaperWeekly」

點(diǎn)擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺(tái)。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號(hào)后臺(tái)點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結(jié)

以上是生活随笔為你收集整理的从易到难,针对复杂问题的无监督式问题分解方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。