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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

从6篇经典论文看问题生成及其相关技术

發(fā)布時間:2024/10/8 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从6篇经典论文看问题生成及其相关技术 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?PaperWeekly 原創(chuàng) ·?作者|Maple小七

學(xué)校|北京郵電大學(xué)碩士生

研究方向|自然語言處理

在問答系統(tǒng)的構(gòu)建中,問題生成(QG)常被當(dāng)作一種數(shù)據(jù)增強技術(shù)來對待,然而在實踐中,通過問題生成模型增強數(shù)據(jù)所帶來的收益通常都不明顯,而問題生成作為一個單獨的 NLP 任務(wù),又很難有實際的應(yīng)用場景,所以問題生成的研究一直處于不溫不火的狀態(tài)。本文詳細講解了幾篇經(jīng)典的問題生成及其相關(guān)技術(shù)的論文,以備參考。

ACL 2017

論文標(biāo)題:

Learning to Ask: Neural Question Generation for Reading Comprehension

論文來源:

ACL 2017

論文鏈接:

https://arxiv.org/abs/1705.00106

代碼鏈接:

https://github.com/xinyadu/nqg

該論文提出了一種基于 Global Attention 機制的問題生成模型,并比較了句子級編碼和段落級編碼的效果。模型的自動評價指標(biāo)遠超基于規(guī)則的系統(tǒng),同時人工評價表明模型生成的問題更規(guī)范更流暢,而且在語法和詞匯上與原文重復(fù)不大(句法角色),具有一定的難度,有的問題甚至需要一些推理來回答(語義角色)。

1.1 問題背景

問題生成主要有如下常見的幾種應(yīng)用場景:

1. 教育領(lǐng)域:這一點很多問題生成論文提到過,也就是為閱讀理解材料生成問題,然后將其用于測試人的閱讀理解能力,也可以為外語初學(xué)者提供更多的學(xué)習(xí)材料。不過目前看來,生成的問題都非常簡單,根本不需要聯(lián)想、推理、歸納之類的能力就能解決,而且目前的神經(jīng)網(wǎng)絡(luò)模型可以說毫無推理能力可言;

2. 對話系統(tǒng):問題生成可以讓聊天機器人主動向用戶提問題從而開啟一段對話,或者追問,即要求用戶對問題進行反饋以便完成對話任務(wù)(比如點外賣時問用戶喜歡吃什么,選擇什么價位從而實現(xiàn)精準(zhǔn)推薦)。要求反饋這一點我覺得還是很有用的,不過這和機器閱讀理解似乎關(guān)系不大?

3. 醫(yī)療領(lǐng)域:生成的問題可以用于臨床上評估人類的心理健康狀態(tài)或提高心理健康水平。不過我覺得現(xiàn)在的技術(shù)水平,別反倒被問出心理疾病就可以了;

4. 開發(fā)標(biāo)注數(shù)據(jù)集:這一點是切實的,其實就是所謂的數(shù)據(jù)增強,因為大規(guī)模標(biāo)注數(shù)據(jù)總是很難得的,后面會講的 SynNet 也是為了實現(xiàn)這個方向的應(yīng)用。

問題生成其實不是新方向了,以 Mitkov 為代表的研究者曾開發(fā)過一些基于規(guī)則的問題生成系統(tǒng),這樣的系統(tǒng)需要人工設(shè)計將陳述句轉(zhuǎn)換為疑問句的復(fù)雜規(guī)則(句法樹轉(zhuǎn)換模板),這要求設(shè)計者擁有深厚的語言學(xué)知識。

后來 Heilman 等人曾提出可以讓系統(tǒng)生成過量的問題,然后采用基于監(jiān)督學(xué)習(xí)的排序算法對問題質(zhì)量進行排序,選出最好的那一個,而監(jiān)督算法又要求人工設(shè)計復(fù)雜的特征集,即便設(shè)計了出來,系統(tǒng)所生成的問題也與文檔有較多的 overlap,比較死板,導(dǎo)致生成的問題非常容易回答。

Vanderwende 曾表示,問題生成也是 NLP 的核心任務(wù),而不應(yīng)僅僅局限于陳述句的句法轉(zhuǎn)換,因為一個聽起來很自然的問題本身就是對對應(yīng)文檔中的句子的一種信息壓縮,有時還涉及同義詞替換實體指代,甚至問題中還蘊含著來自真實世界的外部知識

也就是說,構(gòu)建具有合理難度的自然問題需要一種抽象的方法(而非形象的規(guī)則),這種方法應(yīng)能產(chǎn)生流暢的問題,同時問題與其對應(yīng)的文本內(nèi)容不能完全匹配。

這也是為什么端到端的方法更為合理,我們不應(yīng)該依賴于人工編寫復(fù)雜的規(guī)則和傳統(tǒng) NLP 流水線式的模塊串行方法,而是直接采用數(shù)據(jù)驅(qū)動的端到端方法,這樣的方法已經(jīng)在機器翻譯、摘要生成和圖像生成中取得了巨大的成功,因此作者也首次嘗試了將基于?Global Attention?的神經(jīng)語言模型用于問題生成。

1.2 模型建立

本文的模型采用的是基于 Global Attention 的 Encoder-Decoder 結(jié)構(gòu),與神經(jīng)翻譯模型類似,人們在提問時,往往只關(guān)注與對應(yīng)的句子和段落相關(guān)的部分,而不關(guān)注其他部分。在這里,作者設(shè)計了兩個 Attention 模型,一個只編碼句子,而另一個不僅編碼句子,還編碼句子所在的段落,這是因為有的問題不僅僅與答案所在的句子有關(guān)。

與前人的工作相同,在 Decoder 中,作者將條件概率分解為詞級別的預(yù)測,每一詞的預(yù)測概率為:

其中:

在 Encoder 中,作者采用 BiLSTM 編碼:

將它們連接起來得到上下文表示向量:

然后加權(quán)得到 Attention 向量:

而權(quán)重由雙線性打分函數(shù)和 softmax 正則化計算得到:

之前提到的句子級模型和句子+段落級模型的區(qū)別就在于解碼器的隱層狀態(tài)的初始化方法不同,在句子級模型中,隱層狀態(tài)向量初始化為 ,而在句子+段落級模型中, 和 被連接起來作為解碼器的隱層初始狀態(tài),這類似于一種 Y 型結(jié)構(gòu),將句子級信息和段落級信息連接起來。

在模型訓(xùn)練中,訓(xùn)練目標(biāo)當(dāng)然就是最小化負對數(shù)似然函數(shù),在預(yù)測時,采用 beam search 生成句子,由于輸入與輸出的字典大小不一樣,輸入的句子某些詞可能在輸出字典中不存在,這會導(dǎo)致生成的問題存在許多 [UNK],因此作者采用了一個 trick,也就是生成 [UNK] 時,用該詞對應(yīng)的 Attention 權(quán)重最大的輸入詞將其替換,也就是?,這樣做是有道理的,因為 [UNK] 往往是句子的特征詞。

1.3 模型細節(jié)

這篇論文講得挺細的,甚至把 SQuAD 怎么構(gòu)建的也講了一遍(鼓勵眾包員工提的問題盡量不要與原文有重合短語,問題與答案由不同的員工標(biāo)注,而且是先標(biāo)問題,后標(biāo)答案),作者采用?Stanford CoreNLP?進行分詞分句和小寫轉(zhuǎn)換。

作者在 OpenNMt 系統(tǒng)上用 Torch7 實現(xiàn)模型,預(yù)訓(xùn)練詞嵌入 GloVe、雙層 LSTM、SGD、Dropout、Gradient Clipping 應(yīng)有盡有,在開發(fā)集上選擇具有最低困惑度(Perplexity)的模型。

1.4 模型評估

1.4.1 Baseline

這篇論文的 Baseline 也值得關(guān)注一下,如下所示:

  • IR:基于信息檢索的模型,其實根本稱不上是一個模型,它度量輸入句子與訓(xùn)練集中每個問題的距離/相關(guān)度,然后取得分最高的問題作為生成的問題,距離的度量可以采用?BM-25 或編輯距離

  • MOSES+:是使用最為廣泛的基于短語的統(tǒng)計翻譯模型,在這里,作者將生成的問題類比于翻譯的目標(biāo)句子(雖然任務(wù)不同,但模型的思想都是相通的),作者用 KenLM 在目標(biāo)側(cè)訓(xùn)練一個三元語法模型,然后在開發(fā)集上用 MERT 微調(diào)模型。

  • DirectIn:很簡單的技巧,也就是將輸入句子根據(jù)標(biāo)點分解為子句,然后將最大子句作為問題。

  • H&S:是一個經(jīng)典的基于規(guī)則的模型,其參數(shù)有just-wh、max-length、downweight-pro。

  • Seq2Seq:經(jīng)典的神經(jīng)翻譯模型,其輸入句子為倒序輸入,在開發(fā)集上調(diào)參并選擇最低困惑度模型。


1.4.2 評估結(jié)果


自動評估

作者給出了六個自動評估指標(biāo)(BLEU1-4、METEOR、ROUGE),作者甚至將每個指標(biāo)的定義講了一下,這里也正好小結(jié)一下:BLEU(BilinguaL Evaluation Understudy)測量的是兩個句子的 n 元語法的重合程度(精確率),而 BLEU-n 是在 BLEU 的基礎(chǔ)上測量兩個句子至多 n 元的語法的匹配度,并對過短的句子施加懲罰(brevity penalty)(現(xiàn)在還是普遍認為 BLEU 指標(biāo)偏向于較短的翻譯結(jié)果)。


METEOR(Metric for Evaluation of Translation with Explicit ORdering)根據(jù)同義詞(Synonyms)、詞干(Stemming)和復(fù)述(Paraphrase)計算兩個句子的相似度,可以反映模型的召回率。ROUGE(Recall-Oriented Understudy for Gisting Evaluation)與 BLEU 很像,但其衡量的是 n 元語法的召回率(適合 NMT,不適合 SMT)。

下面的評估結(jié)果表明 IR 和 MOSES 的精確度都很低,召回率也不如人意,但讓我意外的是 DirectIn 的效果居然可以這么好,不過問句其實本身與原文會有較大的重合度,光靠自動指標(biāo)計算 overlap 來評價其實并不能真實地反映生成答案的質(zhì)量。


而 Seq2Seq 在沒有 Attention 得情況下表現(xiàn)也不夠好,在 Baseline 中只有基于規(guī)則的 H&S 可以與作者的模型有得一比,但 H&S 只是轉(zhuǎn)換語法,而沒有考慮語義信息。

在作者的模型中,加上預(yù)訓(xùn)練詞嵌入的模型比不加入的模型表現(xiàn)會高兩個點,而值得注意的是句子+段落級編碼并不比純句子級編碼效果要好,也就是說,雖然在段落中的確包含了一些與問題相關(guān)的信息,但段落信息中更多的是噪聲,當(dāng)噪聲信息大過有價值的信息時,加入之后性能反倒會下降了。


人工評估

作者對比了 H&S 和自己的模型的人工評估結(jié)果,指標(biāo)主要關(guān)注問句的自然度(naturalness)和困難度(difficulty),自然度指的是語法的合理性和流暢性,而困難度指的是問句與原文的語法差異以及回答是否要求推理能力,有意思的是,難得見到有人對指標(biāo)對比加上了統(tǒng)計顯著性檢驗(截尾 t - 分布)。


評估結(jié)果是可以預(yù)想到的,但讓人意外的是作者的模型生成的問題竟然比人工標(biāo)注的問題更具有挑戰(zhàn)性,作者認為,有一種可能性是因為模型是將所有的句子-問答對塞進去訓(xùn)練,而一個句子可能會有多個問題,這就導(dǎo)致了模型在生成問題時,會綜合人工標(biāo)注的問題,使得生成的問題比起人工標(biāo)注的問題更加 diversity,也就更具有難度。

另外,作者在這里提到了一個?inter-rater agreement of Krippendorff's Alpha 指標(biāo),應(yīng)該是用于衡量評估者之間的內(nèi)部一致性。

作者給出了一些生成問題的例子,有趣的是,一些生成的問題居然需要外部知識來回答,比如下面這個例子:

生成的問題是 “Why birds grow”,而正確的問題應(yīng)該是 “Why many species stil grow”,原文中只提到了 “species”,但作者的模型竟然生成了 “birds”,也就是說,需要人來推理出 birds 時 species 的一種,而這在原文中并沒有說明。這是很有趣的現(xiàn)象,研究模型是通過怎樣的機制生成了這些看似無關(guān)的單詞,給模型一個合理的解釋,是很有價值的。

Attention

Attention 已經(jīng)講過很多了,在這里直接給圖,一目了然:

段落級編碼 vs 句子級編碼

之前提過,加入段落級編碼反倒會讓模型變差,為了探究背后的機制,作者將開發(fā)集中的問題按回答問題所需要的信息量大小分成了四個類型:只需要句子級信息、需要段落級信息、需要篇章級信息、需要外部世界信息。


模型在這四個類別問題的表現(xiàn)如下所示,可以發(fā)現(xiàn),句子級模型在需要段落級信息的問題上表現(xiàn)非常差,而段落級模型表現(xiàn)會好很多,這也間接表明了雖然段落中存在很多噪音,但當(dāng)段落中的信息對問題有較大的幫助時,是可以提升模型性能的,只是在數(shù)據(jù)集中大部分問題只需要句子級信息,所以段落級信息會帶來更多噪聲。


這也為我們提出了一個新的挑戰(zhàn),也就是如何有效地利用段落級信息,去除里面的噪聲,提高模型性能。另外,也可以借助更多的機制(比如?Copy Mechanism,后面有人用過了)來進一步提高模型性能。

NLPCC 2017

論文標(biāo)題:

Neural Question Generation from Text: A Preliminary Study

論文來源:

NLPCC 2017

論文鏈接:

https://arxiv.org/abs/1704.01792

代碼鏈接:

https://github.com/magic282/NQG

這篇論文同樣是首篇將深度學(xué)習(xí)技術(shù)運用到了面向問答系統(tǒng)的問題生成中的論文(與上一篇幾乎同一時間發(fā)表),問題生成是問答的反向任務(wù),作者將 QG 任務(wù)定義為:給定一個自然語言句子及該句子中的一個連續(xù)子串(answer spans),要求根據(jù)該句子生成一個自然語言問題,且其答案為給定的子串。

傳統(tǒng)方法基本是在句法樹上定義啟發(fā)式規(guī)則對答案句進行變換,如經(jīng)典的?PCFG-Trans,其嚴(yán)重依賴于人工操作,較為繁瑣,不可移植且生成的問題質(zhì)量不高。另外還有人在結(jié)構(gòu)化的數(shù)據(jù)上采用神經(jīng)網(wǎng)絡(luò)來生成事實型問題,但本文的亮點就在于首次直接從非結(jié)構(gòu)化的自然語言文本中生成非結(jié)構(gòu)化的自然語言問題。

本文的基礎(chǔ)模型是 2014 年提出的?seq2seq 模型,在 Encoder 中,作者提出利用 Feature-Rich Encoder 將答案位置信息(Answer Position Feature,采用 BIO tagging)、詞法信息(Lexical Feature: POS、NER)以及詞匯信息(Word Embedding)進行編碼,編碼器采用的是 BiGRU,從而生成針對該答案的問題。在 Decoder 中,文章結(jié)合了?Pointing 機制(Copy Mechanism:Gulcehre 2016)以解決低頻詞和集外詞問題。

高質(zhì)量數(shù)據(jù)集從來都是是一個模型最終效果的關(guān)鍵之處,文章基于 Stanford 的大規(guī)模高質(zhì)量的問答數(shù)據(jù)集(SQuAD),將開發(fā)集的一半作為測試集對模型進行評估,在編解碼器共享詞嵌入矩陣預(yù)訓(xùn)練詞向量(GloVe)優(yōu)化下的 NQG++ 模型,在?BLEU-4 自動評測指標(biāo)人工標(biāo)注指標(biāo)上均顯著優(yōu)于傳統(tǒng)的基于規(guī)則的方法。

在模型分析中,我們可以發(fā)現(xiàn)信息的重要程度?Answer Position >> NER > POS > Word Case,另外,作者發(fā)現(xiàn) NQG++ 生成問題類型的 diversity 還是有的,但在 WHICH 類型的問題生成上表現(xiàn)不太好,大概有兩個原因:

  • 大部分 WHICH 類型的問題都可以轉(zhuǎn)化為其他類型,比如 Which time When,Which team Who;

  • SQuAD 中的 WHICH 類型的數(shù)據(jù)太少,導(dǎo)致模型學(xué)不到其特征,同理也可解釋 WHY 類型的不良表現(xiàn)。

至于問題生成的研究價值和落地價值,目前還不太懂這要如何運用在作者提到的教育領(lǐng)域上。總體來說,總共 6 頁的論文,感覺模型并沒有什么特別創(chuàng)新的地方,只是將答案與詞向量、NER 和 POS 共同編碼了而已。


EMNLP 2017

論文標(biāo)題:

Two-Stage Synthesis Networks for Transfer Learning in Machine Comprehension

論文來源:

EMNLP 2017

論文鏈接:

https://arxiv.org/abs/1706.09789

代碼鏈接:

https://github.com/davidgolub/QuestionGeneration

3.1 問題背景

在機器閱讀理解(MRC)中,模型的輸入是三元組(passage, question, answer),而 q 和 a 均依賴于人工標(biāo)注,然而人工標(biāo)注的成本過高,如果在每個領(lǐng)域或應(yīng)用場景下均需要人工標(biāo)注大量數(shù)據(jù),時間成本和金錢成本均是無法接受的,同時,若直接應(yīng)用其他領(lǐng)域的模型,則模型性能會急劇下降。


為了解決在新領(lǐng)域人工標(biāo)注數(shù)據(jù)不充足以及模型遷移的問題,作者提出了一種二階段合成網(wǎng)絡(luò)結(jié)構(gòu):SynNet,利用已有領(lǐng)域中的大規(guī)模高質(zhì)量監(jiān)督數(shù)據(jù)為基礎(chǔ)進行訓(xùn)練,讓模型學(xué)習(xí)在文本上自動生成問答對的能力,然后遷移(Transfer Learning)到無監(jiān)督數(shù)據(jù)的新領(lǐng)域中,在新領(lǐng)域中自動合成 QA 對,替代人工標(biāo)注,并用來調(diào)整源領(lǐng)域的模型使其更貼近于新領(lǐng)域。


該模型對缺少標(biāo)注數(shù)據(jù)的 MRC 問題提出了遷移學(xué)習(xí)的解決思路,實現(xiàn) MRC 的遷移落地,這篇論文應(yīng)該是首次將遷移學(xué)習(xí)運用到了 MRC 領(lǐng)域中。

3.2 模型建立

比起其他單純生成問題或回答問題的閱讀理解任務(wù),這里的任務(wù)是同時生成問題和答案,一般來說,QA 是抽取式(extractive)的任務(wù),即問題的答案是文本中的關(guān)鍵語義概念(sematic concept),如 named entity, action, number 等,通常是一個單詞或短語(將答案設(shè)置為文本片段主要是為了減小答案的搜索空間);


而 QG 是生成式(abstractive)的任務(wù),問題是句法流暢的自然語言,因此問題和答案是不同類型的數(shù)據(jù),應(yīng)將其看作(q, a)元組。因此 SynNet 將問答對生成任務(wù)分解為答案的序列標(biāo)注任務(wù)和問題的生成任務(wù)兩部分:

即將模型分為兩個階段(Two-Stage)或者說兩個模塊:答案合成模塊和問題合成模塊,

3.2.1 答案合成模塊

在答案合成模塊中,作者訓(xùn)練了一個簡單的基于 BiLSTM 的 IOB tagger(START, MID, END, NONE)來預(yù)測文本中某個單詞是否為答案的一部分,即最大化?,學(xué)習(xí)文本中可作為答案的片段,主要包括命名實體等語義概念。


模型首先采用?BiLSTM?對 p 的詞向量(300d GloVe)進行編碼產(chǎn)生上下文相關(guān)表示向量?,然后通過兩個全連接層和一個 Softmax 產(chǎn)生每個單詞獲得不同標(biāo)記的似然概率,選擇所有標(biāo)記非 NONE 的連續(xù)單詞序列作為候選答案,輸入問題生成模塊。

3.2.2 問題合成模塊

問題生成模塊中最大化條件概率 ,作者將其分解為 來逐詞生成對應(yīng)答案的問題,模型結(jié)構(gòu)是Encoder-Decoder + attention + copy mechanism

Encoder:與答案合成模塊類似,將文本 p 的 word embedding 向量輸入 BiLSTM,但這里每個詞向量均加入一個 0/1 特征來表示單詞是否出現(xiàn)在答案中,經(jīng)過 BiLSTM 處理得到隱狀態(tài) 。

Decoder:采用單向 LSTM 生成問題,在每一時刻 ,由 和前一時刻輸出的問題單詞 得到隱層表示向量 。在生成單詞時,copy mechanism?中采用兩個預(yù)測器,一個直接產(chǎn)生預(yù)定義詞表中的詞,另一個由一個 pointer network 從段落 p 中復(fù)制一個詞。

Copy Mechanism在 Copy Mechanism中,每一時刻 生成單詞 時,兩個隱含預(yù)測器(Latent Predictors)分別生成從文本中復(fù)制單詞的概率 和直接從詞表生成單詞的概率 ,而選擇預(yù)測器 的似然概率與 成比例,綜合起來,單詞的概率似然為 , 分別代表兩個預(yù)測器, 表示對應(yīng)預(yù)測器預(yù)測的單詞生成概率。

由于產(chǎn)生的問題單詞序列 q 沒有什么時候生成或復(fù)制單詞的監(jiān)督標(biāo)簽,所以借鑒論文《Latent predictor networks for code generation》中的無監(jiān)督學(xué)習(xí)算法(a variant of forward backward algorithm: Ling 2016)最小化交叉熵損失:。

另外,在訓(xùn)練時采用貪心策略,即先選擇似然概率最大的預(yù)測器,然后選擇該預(yù)測器給出的概率最大的單詞。

3.3 MRC模型

即?,學(xué)習(xí)的是?,作者直接使用當(dāng)時開源的 SOTA 模型?BiDAF(Bi-directional Attention Flow network),但 SynNet 與 MRC 模型解耦,因此任何 MRC 模型都是可以的。

3.4 訓(xùn)練

首先,在源領(lǐng)域(Source Domain)中采用 Adam 訓(xùn)練 SynNet: 和 MRC 模型 ,然后在目標(biāo)領(lǐng)域(Target Domain)中采用 產(chǎn)生合成的 QA 對,然后和源領(lǐng)域的數(shù)據(jù)一起采用 SGD 算法來 finetune 源領(lǐng)域的 MC 模型使模型遷移到目標(biāo)領(lǐng)域,源領(lǐng)域和新領(lǐng)域的采樣比是 , 為超參數(shù),作者選取 。這個 trick 主要是為了處理合成數(shù)據(jù)噪聲過大的問題而進行的數(shù)據(jù)正則化操作(Data Regularization)

在測試 finetune 后的 MC 模型 時,使用動態(tài)規(guī)劃搜索最佳答案,為了提高模型的穩(wěn)定性,作者對每 mini batch 的數(shù)據(jù)訓(xùn)練后的模型設(shè)置checkpoints,保存模型的預(yù)測結(jié)果,然后將訓(xùn)練時保存的模型 ensemble,對不同 checkpoints 模型給出的 answer likelihoods 做平均(Checkpoine-averaging)然后輸出答案。

3.5 結(jié)果

3.5.1 測試

作者將 SQuAD 作為源域,將 NewsQA 作為目標(biāo)域來測試 SynNet 模型,值得注意的是,SQuAD 中 74.1% 的問題的答案可以通過單詞匹配和改寫得到,而 NewsQA 中這樣的問題類型只占了 59.7%,即 SQuAQ 的問題相對簡單。

模型的具體參數(shù)不用多說,值得一提的是,作者在訓(xùn)練答案生成模塊時引入了 NER Tagger,因為人工標(biāo)注不夠充分,許多可以作為答案的片段沒有得到標(biāo)注,因此作者假設(shè)所有命名實體都可作為答案(這樣做合理嗎?人類往往只關(guān)心有意思的答案和問題,而對某些命名實體提問是不 interesting 且沒有意義的)。

最后,集成的模型能在 NewsQA 數(shù)據(jù)集上取得 46.6% 的 F1 得分,接近域內(nèi)全監(jiān)督 MRC 模型的表現(xiàn)(F1 結(jié)果為 50.0%),超過域外基線模型 7.6%。

3.6 誤差分析

3.6.1 答案生成模塊

作者將人工標(biāo)注的答案與 NER Tagger 生成的答案標(biāo)注分別用于訓(xùn)練模型,發(fā)現(xiàn)基于自動標(biāo)注的模型比基于人工標(biāo)注的模型在 F1 上差了 10% 左右,說明了人工標(biāo)注數(shù)據(jù)的重要性,因為人工標(biāo)注數(shù)據(jù)往往是真正的關(guān)鍵語義概念,而自動生成的一些標(biāo)注就不夠 linguistic 或 interesting。

3.6.2 問題生成模塊

作者為了衡量 copy 機制的影響,分別采用答案前后兩句話和整段文本來生成問題,可以發(fā)現(xiàn)窗口越小時,生成的問題與文本的重復(fù)越多,而使用與文本大量重合的合成問題來訓(xùn)練模型,效果會變得不好,這再一次說明了人工標(biāo)注數(shù)據(jù)的重要性,因為人工標(biāo)注的問題往往與文本重復(fù)得很少,且有的問題涉及解釋、推斷、歸納,不能完全靠單詞匹配來解決。

另外,copy 機制也導(dǎo)致了產(chǎn)生的問句和文本高度相似的問題,作者認為可以嘗試引入 cost function 來促進解碼過程的多樣化,同時能讓遷移的 MRC 模型取得更好的效果。

在問題的具體類型分析中,基于 SynNet 的 MRC 模型在每一類的表現(xiàn)都得到了提升,然而在某些需要一定的推理的問題類型(如 What was/did)中仍舊不好,目前來看,這仍舊是一個難以解決的問題,也是一個非常有價值的研究方向。

3.6.3 訓(xùn)練

作者調(diào)整超參數(shù) 時發(fā)現(xiàn),當(dāng) 越大,即來自源領(lǐng)域的人工標(biāo)注數(shù)據(jù)越多時,模型反倒越好,這第三次說明了人工標(biāo)注數(shù)據(jù)的重要性,即使數(shù)據(jù)來自另一個領(lǐng)域,只要是人工標(biāo)注的,也比在新領(lǐng)域的自動生成數(shù)據(jù)更有價值。


EMNLP 2019

論文標(biāo)題:

Improving Question Generation With to the Point Context

論文來源:

EMNLP 2019

論文鏈接:

https://arxiv.org/abs/1910.06036


4.1 問題背景

這篇論文來自于 EMNLP 2019,本文主要是為了解決 MRC 問題生成中一項重要的任務(wù):indentify answer-relevant context words,即識別出與答案相關(guān)的上下文,并將文本中的陳述句轉(zhuǎn)換為疑問句(declarative-to-interrogative),而目前大多數(shù)模型均在直覺上假設(shè)離答案越近的單詞與答案的相關(guān)性越高,因此越容易出現(xiàn)在問題中


然而,這一直覺并不總是對的,當(dāng)答案與文本中那些出現(xiàn)在標(biāo)準(zhǔn)問題(golden question)中的非停用詞距離較遠時,這類模型的性能就會大幅下降。因此,作者提出了所謂的?to the Point Context,使得生成的問題更加 to the point。

4.1.1 前人工作

QG for MRC 首先由 Mitkov 使用基于規(guī)則的模型來解決,在最近幾年的 DL 模型中,由于從文本到問題的轉(zhuǎn)換是一對多的轉(zhuǎn)換,一個文本可以提出許多不同方面的問題,這使得模型難以得到自動評估,因此《Neural Question Generation from Text: A Preliminary Study》假設(shè)答案是文本中的連續(xù)片段,一個答案生成一個問題。


之后,有人提出了之前的直覺上的假設(shè),將答案周邊文本的位置信息(即與答案的距離)編碼來生成問題,取得了不錯的效果。而本篇論文就是在這些基礎(chǔ)上,將關(guān)系抽取引入模型,克服了以往模型假設(shè)的缺陷。

4.1.2 本文工作

當(dāng)面對存在插入語之類的文本時,某些語義概念可能會糾纏在一起,導(dǎo)致與答案相關(guān)的語義概念與答案相距甚遠,在路徑中間存在其他與問答無關(guān)的概念,而以往的模型會誤認為答案與插入語中的概念的關(guān)系更為緊密,導(dǎo)致問題的錯誤生成。作者給出了問題中非停用詞與答案在文本中的平均距離處在不同區(qū)間時模型的性能:

可以看到當(dāng)平均距離過大時,性能存在明顯的下降,這正是因為關(guān)鍵的語義概念與答案的距離過大,而模型過于強調(diào)鄰近詞的作用,導(dǎo)致模型難以捕捉到它們之間的長距離關(guān)系。

因此作者抽取了結(jié)構(gòu)化的與答案相關(guān)的關(guān)系(structured answer-relevant relations)來克服這個問題,關(guān)系的抽取能夠提取句子的主要關(guān)系成分,忽略次要成分(如去除插入語),使得文本更加簡單明了,而抽取出來的關(guān)系所組成的句子正是所謂的?to the point context

4.2 模型框架

4.2.1 關(guān)系抽取模塊

在關(guān)系抽取過程中,作者直接采用了現(xiàn)成的信息抽取工具?OpenIE,然后根據(jù)特定的啟發(fā)式規(guī)則選取與答案相關(guān)系最高的關(guān)系作為輸入。

為了保證關(guān)系的信息量,同時防止生成過多的關(guān)系,作者選擇參數(shù)數(shù)量可變的?n-ary format?表示抽取的關(guān)系,然后將抽取的關(guān)系參數(shù)連接起來形成句子(to the point context)。由于從文本中抽取的關(guān)系數(shù)量眾多,作者設(shè)定了三個準(zhǔn)則來綜合評價關(guān)系對給定答案而言是否有價值:

  • 關(guān)系與答案有重疊詞(Relevant)

  • 關(guān)系的置信度高(Faithfulness)

  • 關(guān)系含有大量的非停用詞(Informativeness)

然后選擇得分最高的關(guān)系作為輸入,如果遇到了從文本中抽取不出關(guān)系的情況,則將文本本身作為關(guān)系。從下表可以看出,抽取的關(guān)系比起文本而言,更加 to the point。但值得注意的是,我們?nèi)耘f需要考慮文本本身,因為文本與問題的單詞重合率更高,僅憑抽取的關(guān)系可能無法生成更加準(zhǔn)確的問題。

4.2.2 問題生成模型

建模的主要挑戰(zhàn)在于如何有效地利用非結(jié)構(gòu)化的文本句子(informativeness)和結(jié)構(gòu)化的與答案相關(guān)的關(guān)系(faithfulness)中的信息,而這兩部分都是存在噪聲的,在非結(jié)構(gòu)化文本中存在語義概念的糾纏,而生成的結(jié)構(gòu)化關(guān)系可能不夠準(zhǔn)確。

因此,作者設(shè)計了一個基于 gated attention mechanism 和 dual copy mechanism 的 encoder-decoder 框架。

gated attention mechanism:attention 機制的改進版,用于控制來自非結(jié)構(gòu)化文本和結(jié)構(gòu)化關(guān)系輸入的信息流。

dual copy mechanism:用于從兩個信息源中 copy 單詞,解決數(shù)據(jù)稀疏與生詞問題,使得生成的問題既有信息量又足夠準(zhǔn)確。

雖然模型的數(shù)學(xué)表達式比較復(fù)雜,但作者給出的模型框架圖清晰易懂,因此不再敘述模型的細節(jié)。總體來說,模型給出生成單詞 作為第 個問題詞的概率

其中 表示從詞表中生成單詞 的概率, 表示從 sentence 中 copy 單詞 的概率, 表示從關(guān)系中 copy 單詞 的概率,模型首先決定是直接從詞表中生成還是 copy,若選擇 copy 則決定從哪一個信息源生成單詞。

4.2.3 訓(xùn)練

模型的參數(shù)不再細說,作者采用了?Teacher-forcing?訓(xùn)練模型,在測試時,作者選取了具有最低困惑度的模型,生成問題時,采用參數(shù)為 3 的 beam search 尋找局部最優(yōu)問題序列。

注:Teacher-forcing:一般來說,RNN(LSTM、GRU)的訓(xùn)練有兩種 mode:(1)Free-running mode;(2)Teacher-forcing mode。前者就是正常的 RNN 運行方式:上一個 state 的輸出就做為下一個 state 的輸入,然而這樣做是有風(fēng)險的,因為在 RNN 訓(xùn)練的早期,靠前的 state 中如果出現(xiàn)了極差的結(jié)果,那么后面的全部 state 都會受牽連,以至于最終結(jié)果非常不好,同時也很難溯源到發(fā)生錯誤的源頭,而 Teacher-forcing mode 的做法就是,每次不使用上一個 state 的輸出作為下一個 state 的輸入,而是直接使用 ground truth 的對應(yīng)上一項作為下一個 state 的輸入,使得訓(xùn)練效果更快更好。然而這么做也有它的缺點,因為依賴標(biāo)注數(shù)據(jù),在 training 的時候會有較好的效果,但是在 testing 的時候就不能得到 ground truth 的支持了。

(Teacher-forcing 似乎要求生成的問句與標(biāo)注的問句一一對應(yīng),這是一種強制性很強的約束,強制單詞的一一對應(yīng)消除了生成語義相似的其他問題的可能性,使得生成問題的多樣性下降,同時當(dāng)生成問題序列時,若與訓(xùn)練過程存在很大的不同,則會導(dǎo)致很大的誤差,這類似于模型的過擬合,在訓(xùn)練集內(nèi)表現(xiàn)良好,在集外則不如人意。)

4.2.4 模型評估

作者對 SQuAD 數(shù)據(jù)集做了一系列預(yù)處理,然后分別與前人的模型比較一系列自動評價指標(biāo)(BLEU1, 2, 3, 4, METEOR, ROUGE-L),很顯然作者的模型在各個指標(biāo)上均有優(yōu)異的表現(xiàn)。

4.3 結(jié)果分析

可以認為,抽取出來的結(jié)構(gòu)化的與答案相關(guān)的關(guān)系是對 proximity-based 方法的一種泛化,后者只能捕捉短距離依賴關(guān)系,而前者既能把握近距離關(guān)系,也能把握遠距離依賴關(guān)系。

為了衡量引入 to the Point Context 之后模型的性能提升幅度,作者將測試數(shù)據(jù)按平均距離劃分成了兩部分,可以發(fā)現(xiàn),作者的模型在所有指標(biāo)上都超過了 Hybird 模型。同時,在存在長距離依賴(>10)的樣本上,作者在 Hybird 模型上性能的提升更為顯著,這正好證明了 to the point context 在捕捉長距離依賴關(guān)系上存在明顯有效的作用。

4.3.1 模型亮點

這篇論文最吸引我的地方在于,作者發(fā)現(xiàn)模型可以根據(jù)文本中的一個答案生成多個不同類型的問題,因為當(dāng)文本中存在多個與答案相關(guān)的關(guān)系時,每一個關(guān)系均能生成對應(yīng)的問題,根據(jù)不同的關(guān)系生成的問題對應(yīng)于答案不同的語義角色,且問題類型很可能是不同的,從而使得生成的問題具有多樣性,而以往的模型只能根據(jù)一個答案生成一個問(one-to-one mapping problem)。這正好說明關(guān)系抽取在 NLP 中具有重要的價值

另外,這也正好使得模型具有可解釋性,因為在生成問題時,我們不能僅僅依賴于答案去提問,同時應(yīng)該指定需要生成的問題所需涉及的語義概念,而這些語義概念正包括在了抽取的關(guān)系中,因此,問題的生成不能依賴于答案周圍的單詞序列,而應(yīng)該依賴于語義概念之間存在的關(guān)系,比如,下面的例子就說明了根據(jù)同位語關(guān)系和主謂賓關(guān)系生成的問題是不一樣的,而以往的模型假設(shè)做不到這一點:

ACL 2018

論文標(biāo)題:

Neural Models for Key Phrase Detection and Question Generation

論文來源:

ACL 2018

論文鏈接:

https://arxiv.org/abs/1706.04560

5.1 問題背景

之前講過的 NQG++ 論文發(fā)表于 2017 年 4 月 6 日,而本篇論文發(fā)表于 2017 年 6 月 14 日。這兩篇論文解決的問題與思路非常相似,NQG++ 假定?Answer spans 是給定的,利用給定的文本和答案生成問題,但是 Answer spans 仍舊需要得到人工標(biāo)注,在現(xiàn)實的應(yīng)用場景下,這樣的模型同樣不好落地。而 Microsoft 的這篇論文則是直接在沒有答案的文本上,即沒有任何標(biāo)注的文本上生成問題

作者首先在有監(jiān)督的 QA pairs dataset 上訓(xùn)練出一個基于 DL 的提取 Key Phrases 的模型,然后利用這個關(guān)鍵短語抽取模型來抽取答案,代替人工標(biāo)注,最后用 Seq2Seq 生成問題。對比于采用 NER tagger 標(biāo)注答案與基于規(guī)則的基線系統(tǒng),本文給出的模型表現(xiàn)更加優(yōu)秀。

由于可以直接從無監(jiān)督的文本中生成 QA 對,因此本文的模型可以用來生成大量不錯的 QA 對,從而可以考慮用于半監(jiān)督學(xué)習(xí)(Semi-supervised Learning)中的數(shù)據(jù)增強(Data Augmentation)

同時,該技術(shù)本身的應(yīng)用場景似乎也相當(dāng)廣泛,比如在教育領(lǐng)域中評測學(xué)生的閱讀理解能力,人工制定問題來評估需要耗費大量腦細胞,而利用 QG 模型可以在短時間內(nèi)從文章中生成大量問題用于評估,甚至能夠生成不同難度的題目,從而達到減輕老師的負擔(dān),加大學(xué)生的負擔(dān)的目的。(不過目前來看并不現(xiàn)實)

5.2 前人工作

QG 領(lǐng)域已經(jīng)有很多人做過相關(guān)工作了,在深度學(xué)習(xí)興起之前,大多數(shù)是基于規(guī)則的方法,比如句法分析、語義角色標(biāo)注、帶填充槽的模板、啟發(fā)式的句法轉(zhuǎn)換(主謂反轉(zhuǎn))等,當(dāng)然這些方法生成的問題都缺少 diversity,都不夠 inadequate,而最近興起的的端到端訓(xùn)練模型才改變了這一領(lǐng)域的研究方向。

而與 QG 高度相關(guān)的問題就是,如何識別潛在關(guān)鍵且有趣的答案,以前的工作往往將其分為兩步:關(guān)鍵短語抽取、打分排序選擇,而本篇論文的亮點就在于,作者摒棄了這樣的傳統(tǒng)思路,而是直接根據(jù)人工標(biāo)注的答案進行端到端建模,因為作者相信這樣的端到端模型或多或少能學(xué)習(xí)到一些人類在標(biāo)注數(shù)據(jù)時對所謂“interesting/important/appropriate answer”的一些迷之想法。

5.3 模型建立

作者的模型分為兩部分(two-stage neural model)首先是提取 Key Phrases(interesting entities or events)作為 Answer Candidates,然后根據(jù)提取的 Key Phrase 生成問題。

5.3.1 關(guān)鍵短語抽取模塊

首先,在人工標(biāo)注的大規(guī)模問答對數(shù)據(jù)集上訓(xùn)練 Key Phrase Tagger,有趣的是,由于人類在標(biāo)注數(shù)據(jù)時,往往只關(guān)注那些 interesting 的 entities 和 events,而對于他們認為沒有價值的概念,則不予標(biāo)注。由此,作者猜想從人工標(biāo)注數(shù)據(jù)中訓(xùn)練的標(biāo)注器,同樣具有識別所謂 interesting key phrases 的能力。而傳統(tǒng)的 NER 則要求盡量標(biāo)注出所有的命名實體,不管其是否 interesting。

為了驗證這樣的想法,作者對比實現(xiàn)了四個模型,其中?H&S?為 Heilman and Smith 在 2010 年提出的基于規(guī)則的模型;ENT 為 NER 標(biāo)注器,值得注意的是,NER 標(biāo)注器在提取 key phrases 任務(wù)中的召回率很高,這是因為它將任何命名實體均作為答案;為了解決這個問題,作者實現(xiàn)了一個基于 BiLSTM 的?NES(Neural Entity Selection)選擇前 個得分最高的 key phrases 作為答案。

但是,雖然 SQuAD 數(shù)據(jù)集中大多數(shù)答案都是命名實體,但仍舊有少部分 interesting aspects 沒有被 NER 標(biāo)注器識別,在更廣泛的文本中,非命名實體的 interesting key phrases?就更多了,因此這就引出了本文的主要模型:PtrNet,該模型直接預(yù)測 key phrases 的 start point 和 end point,而非先抽取后排序。Pointer Network 是 Seq2Seq 的一種擴展,它的 target sequence 包含的是 source sequence 的位置,模型的具體實現(xiàn)不再細說。

5.3.2 問題生成模塊

接下來,將標(biāo)注的 key phrases 作為答案喂給?Seq2Seq + Attention + Pointer-softmax mechanism?模型生成對應(yīng)問題。這里的模型與 NQG++ 的那篇論文的模型結(jié)構(gòu)差不多,因此只給出最后的概率分布公式,其余不再細說:

這篇論文的模型建立部分讀起來比較煩,因為一張模型結(jié)構(gòu)圖都不給,給的全是數(shù)學(xué)公式,令人頭禿,但細細讀來發(fā)現(xiàn)似乎用的也就那些經(jīng)典的深度學(xué)習(xí)方法和技巧。在訓(xùn)練上,作者選取 SQuAD 作為數(shù)據(jù)集,采用 NLTK 對數(shù)據(jù)進行預(yù)處理,實現(xiàn)細節(jié)不再細說。

5.4 模型評估

5.4.1 評估方法

在評估答案抽取模塊的效果時,由于答案通常是短語,不適合用詞級別的 F1 score 來評價,因此作者提出了一種?multi-span F1 score?對生成的答案進行評價,具體的計算方法也不想細說:

答案可以用自動指標(biāo)評估,但問答對就不好評估了,常用的 BLEU、ROUGE、METEOR、CIDEr 作者認為不太可靠,因此生成的問答對采用人工評價方法,這里作者只給出了 H&S 和自己的模型的評估對比結(jié)果。

5.4.2 評估結(jié)果

答案抽取模塊

很明顯,ENT 過度生成了答案,導(dǎo)致高召回低精度,NES 模型就好了很多,而 PtrNet 就更好了。而 H&S 與 ENT 有相同的高召回低精度的問題,這應(yīng)該是因為 H&S 和 ENT 并不知道 SQuAD 的答案分布情況,所以只能盡量尋找所有看起來像答案的序列

有趣的一個點是,作者發(fā)現(xiàn)基于命名實體的模型常常選擇文本的中心詞或主題詞作為答案,而這類詞通常不是有趣的,而只是文本的主題背景而已。

另外,作者還發(fā)現(xiàn)了每個模型的一些問題,比如 H&S 模型生成的答案很多都以介詞開頭,或者有時候會生成非常長的名詞短語,同時有的生成答案沒有實際意義(比如 this theory, some studies, a person 等);而對于作者的模型,有時候生成的答案并不能回答對應(yīng)的問題,同時作者還發(fā)現(xiàn)自己的模型有時會具有指代消解的功能,但他沒有解釋這些現(xiàn)象背后的原因。

問題生成模塊

在人工評估中,作者首先將自己的模型生成的問答對與人工標(biāo)注問答對進行對比評估,很明顯,生成的當(dāng)然是比不過人工的,然后作者將自己模型生成的問答對與 H&S 模型生成的問答對混在一起讓評估者與人工標(biāo)注問答對進行評估時,前者能夠?qū)υu估者帶來更大的混淆。

但有趣的是,當(dāng)作者只提供兩個模型生成的問答對,而不提供 ground truth 作為參考時,評估者竟然難以對比不同模型生成的問答對的好壞。可惜的是,作者并沒有表達對這種現(xiàn)象的看法,小七認為應(yīng)該是評估者覺得這兩個模型生成的問答對都不理想,說的都不是人話,一個語句不夠通順,另一個問非所答,五十步不可笑百步。

下面是一些具體的例子,不嫌累的話可以感受一下生成的問題說的是不是人話:

NIPS 2015

論文標(biāo)題:

Pointer Networks

論文來源:

NIPS 2015

論文鏈接:

https://arxiv.org/abs/1506.03134

6.1 Background

本文來自于 NIPS 2015,在這之前,以 Attention 機制為代表的一系列方法很好地解決了長序列輸入輸出的問題,而之前也提到過,生詞問題(OOV)還沒有被很好地解決,而問題生成論文中經(jīng)常能夠看到解決 OOV 問題的?Copy Mechanism,因此追根溯源找到了這篇論文。

這篇論文正是 Copy 機制的前身,雖然本文并未提到如何使用 PtrNet 解決生詞問題,但其思想是一致的,也是后續(xù)論文正式提出 Copy 機制的一個鋪墊。

Pointer Networks(指針網(wǎng)絡(luò))同樣是 Seq2Seq 范式,它主要解決的是 Seq2Seq Decoder 端輸出的詞匯表大小不可變的問題。換句話說,傳統(tǒng)的 Seq2Seq 無法解決輸出序列的詞匯表會隨著輸入序列長度的改變而改變的那些問題,某些問題的輸出可能會嚴(yán)重依賴于輸入

在本文中,作者通過計算幾何學(xué)中三個經(jīng)典的組合優(yōu)化問題:凸包(Finding convex hulls)、三角剖分(comupting Delaunay triangulations)、TSP(Travelling Salesman Problem),來演示了作者提出的?PtrNets 模型。

6.2 Previous Study

我們已經(jīng)知道,Seq2Seq 的出現(xiàn)很好地解開了以往的 RNN 模型要求輸入與輸出長度相等的約束,而其后的 Attention 機制(content-based)又很好地解決了長輸入序列表示不充分的問題。

盡管如此,這些模型仍舊要求輸出的詞匯表需要事先指定大小,因為在 softmax 層中,詞匯表的長度會直接影響到模型的訓(xùn)練和運行速度,因此人們往往會丟棄生詞,保留高頻詞。之前也有人采用過一些簡單的 trick 解決生詞問題,但都不如 Copy 機制那么有效。

這一缺陷在組合優(yōu)化問題中更加明顯,因為組合優(yōu)化問題中輸出序列的 dictionary 直接取決于輸入序列,而本文提出的 PtrNets 其實就是通過對 Attention 機制進行簡化魔改來解決了這種輸入對輸出存在強制約束的問題,雖然模型變得更加簡單,但反而更加有效。

PtrNets 可以近似地解決上述的三個經(jīng)典的組合優(yōu)化問題,讓人驚奇的是,訓(xùn)練的模型沒有引入任何先驗知識,完全是一個純數(shù)據(jù)驅(qū)動(purely data driven)的算法,其性能竟然可以接近于計算量巨大且復(fù)雜的人工設(shè)計的算法。

作者在論文中對比了基于 LSTM 的 Seq2Seq 模型和 PrtNets 模型在這三個任務(wù)上的表現(xiàn),值得注意的是,訓(xùn)練 Seq2Seq 模型必須在點集大小固定的數(shù)據(jù)集上訓(xùn)練,而測試也只能在點集大小與訓(xùn)練集相同的數(shù)據(jù)集上訓(xùn)練,而?PtrNets 模型訓(xùn)練集的點集大小可變,且訓(xùn)練好的模型可以應(yīng)用在更大點集的數(shù)據(jù)集上且表現(xiàn)依舊良好

6.4 PtrNet

Seq2Seq 模型和 Attention 機制的結(jié)構(gòu)我就不多說了,只提一點,我們知道 Seq2Seq 模型需要事先指定詞匯表的大小,在這三個幾何問題的背景下,詞匯表其實就是設(shè)定問題的規(guī)模,也就是生成點集的大小,在整個訓(xùn)練和測試過程中,點集大小是不能改變的。

下面是 PtrNets 的原理,不難想象,Seq2Seq 需要詞匯表固定的原因是在預(yù)測輸出時,模型采用了 Softmax distribution 來計算生成詞匯表中每一個詞的似然概率,而對于這里的幾何問題來說,輸出集合是與輸入相關(guān)聯(lián)的,為了解決這個問題,作者將 Attention 機制改為了如下形式:

第一個式子和 Attention 一樣,即計算當(dāng)前輸出與對應(yīng)輸入之間的相關(guān)性分?jǐn)?shù),然后對其進行 softmax 歸一化得到權(quán)重,在這里,PrtNets 直接將權(quán)重最大的輸入(也就是所謂指針指向的輸入)作為輸出,也就是直接 copy 注意力得分最高的輸入作為輸出。

實際上,傳統(tǒng)的帶有注意力機制的 Seq2Seq 模型輸出的是針對輸出詞匯表的一個概率分布,而 Pointer Networks 輸出的則是針對輸入文本序列的概率分布。雖然簡單,但十分有用,由于輸出元素來自輸入元素的特點,PtrNets 特別適合用來直接復(fù)制輸入序列中的某些元素給輸出序列。這對于那些輸出為輸入的 position 的任務(wù)非常有效。

另外,我們來看看模型的復(fù)雜度,因為對于每個輸出我們都有 次運算,而輸出序列最大為 因此總的時間復(fù)雜度為 。

6.4.1 Convex Hulls Problem

尋找凸包的問題已經(jīng)基本被研究透了,有許多精確的算法來解決這一問題,作者給出的參考算法的時間復(fù)雜度為 ,其中 為點的數(shù)量。下面是傳統(tǒng)模型與作者的 LSTM 模型的性能比較,其中 FAIL 表示模型給出的解只有 1% 以下是有效的(也就是說 LSTM 模型輸出存在大量的交叉點)

可以看到 PtrNets 的性能相當(dāng)好,LSTM 的訓(xùn)練集和測試集的點集大小必須相等,而 PtrNets 沒有這個限制,且泛化得很好,這說明模型不僅僅只是做查詢,而是真正捕捉到了內(nèi)在的推理模式,雖然精確度會下降(這是肯定的),但給出的凸包覆蓋率幾乎是 100%,也就是只會在邊界上一些比較模糊的平行點存在一些錯誤。

另外要說明的一點是,作者在這三個任務(wù)中均采用同一個模型結(jié)構(gòu)和同一組超參數(shù),雖然調(diào)參會讓模型表現(xiàn)得更好,但作者認為采用統(tǒng)一的模型結(jié)構(gòu)更能夠說明問題。

在實驗中,作者發(fā)現(xiàn)在輸入序列中,如果凸包上的點出現(xiàn)得較晚,則精確度就越低,這說明讀取序列的順序是對性能有影響的,這也許是因為出現(xiàn)得過晚會導(dǎo)致模型沒有足夠的步長來處理輸入的數(shù)據(jù)來更新狀態(tài),而 Attention 的確可以解決這個問題,而當(dāng)作者畫出 Attention 的注意力圖時,便產(chǎn)生了 Pointer 的想法,于是魔改了 Attention 發(fā)了篇論文。

6.4.2 Delaunay Triangulations Problem

狄洛尼三角剖分也有精確的求解算法,其復(fù)雜度同樣為?,作者沒有對此問題作過多討論。

6.4.3 Travelling Salesman Problem

TSP 問題是理論計算機科學(xué)中最為著名的問題之一,它在芯片設(shè)計、基因測序任務(wù)上都有重要作用,TSP 問題是一個 NP-hard 難題,作者給出了能夠找到最優(yōu)解的優(yōu)解的 Held-Karp 算法,其時間復(fù)雜度高達 ,因此作者只在 的數(shù)據(jù)集上采用此算法,而對于更大的 ,作者選擇了?A1、A2 近似解算法,其時間復(fù)雜度均為 ,以及 A3 近似解算法,時間復(fù)雜度為 ,A3 算法可以保證找到的解的路徑長度不大于最優(yōu)解路徑長度的 1.5 倍。而作者的 PtrNets 的時間復(fù)雜度為 ,因此模型實際上并沒有足夠的能力去學(xué)習(xí) TSP 的解決方案。

不像前面兩個問題,TSP 問題的輸出是不受約束的,因此作者采用 bearm search 來尋找局部最優(yōu)解,同時只考慮有效的 TSP 路徑,下圖給出了模型在不同訓(xùn)練集和測試集上的表現(xiàn),有趣的是第三行,模型在 A1 算法給出的解上訓(xùn)練,訓(xùn)練出的模型在測試集上的表現(xiàn)竟然比 A1 算法本身還高,真是迷惑。

不像前面的兩個問題,TSP 問題明顯復(fù)雜得多,這導(dǎo)致模型在點集大小增加時泛化得不夠好,而在前面的凸包問題中模型的表現(xiàn)幾乎沒有下降,然而凸包問題的復(fù)雜度只有?,遠低于 TSP 的復(fù)雜度,泛化不夠好也就情有可原了。

下面是這三個問題的具體例子,PtrNets 給出的解還是相當(dāng)優(yōu)秀的。

更多閱讀

#投 稿?通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。

?????來稿標(biāo)準(zhǔn):

? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?

? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?

? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志

?????投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發(fā)送?

? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通

????

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

進入知乎首頁搜索「PaperWeekly」

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

關(guān)于PaperWeekly

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

總結(jié)

以上是生活随笔為你收集整理的从6篇经典论文看问题生成及其相关技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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