1
本文作者: 章敏 | 2016-07-25 10:38 |
聯(lián)合編譯:章敏,陳圳
NLP尚未解決的核心目標是,確保電腦理解文件回答理解問題。而通過機器學習系統(tǒng),解決該問題的一大阻礙是:人類-注釋數(shù)據(jù)的可用性有限。Hermann等人通過生成一個超過百萬的實例(將CNN和日常郵件消息與他們自己總結(jié)的重點進行配對)來尋求解決方案,結(jié)果顯示神經(jīng)網(wǎng)絡(luò)可以通過訓練,提高在該任務(wù)方面的性能。本文中,我們對這項新的閱讀理解任務(wù)進行了徹底的檢測。我們的主要目標是,了解在該任務(wù)中,需要什么深度的語言理解。一方面,我們仔細的手動分析問題小的子集,另一方面進行簡單的展示,在兩個數(shù)據(jù)集中,細心的設(shè)計系統(tǒng),就可以獲得72.4%和75.8%的精度,這超過了當前最好結(jié)果的5%,并且達到了我們認為在,該任務(wù)上的最高性能。
閱讀理解(RC)也就是閱讀文章,處理,并且理解含義的能力。如何讓計算機具有這方面的能力,是難以捉摸的挑戰(zhàn),而且這也是人工智能的一個長期目標(例如,(Norvig,1978))。真正的閱讀理解涉及解釋文章,并進行推理。人類閱讀理解通常通過,問關(guān)于文章理解方面的問題,來進行測試,并且,這樣的方法也被建議用于測試電腦(Burges,2013)。
最近幾年,在DeepMind方面的研究者(Hermann等人,2015)非常吸引眼球,探索這方面的最初想法是:通過大量附有要點總結(jié)的CNN和Daily Mail新聞文章,來嘗試創(chuàng)造用于閱讀理解任務(wù)的大規(guī)模監(jiān)督訓練數(shù)據(jù)。圖1給出了一個例子。其想法是:總結(jié)文章1個或幾個方面的要點。如果電腦理解了文章的意思,它就應(yīng)該可以推測出要點中丟失的實體。
這是最聰明的方法,用來創(chuàng)建實惠且可以在RC模型上面進行訓練的監(jiān)督數(shù)據(jù)集;然而,解決一些人工任務(wù),所需的閱讀等級并不是非常清楚。實際上,已經(jīng)真正學會了什么樣的統(tǒng)計模型,在該任務(wù)方面做的最好。
本文中,我們的目標是,對文章提供一個深度且縝密的分析,并了解需要什么等級的自然語言理解,才可以在該任務(wù)方面做得更好。我們簡單的證明了,細心的設(shè)計系統(tǒng),就可以分別在CNN和Daily Mail獲得最高精度72.4%和75.8%。我們對問題子集做了仔細的手動分析,以在他們的困難方面,提供數(shù)據(jù)和成功所需要的語言理解種類,同時我們也盡量判斷,我們創(chuàng)建的系統(tǒng)學習了什么。我們總結(jié)出:(i)數(shù)據(jù)集比原先認為的要簡單,(ii)簡單的,傳統(tǒng)的NLP系統(tǒng),比以前的建議做得更好,(iii)在識別釋義方面,深度學習系統(tǒng)的分布式表示非常的有效,(iv)部分由于問題的性質(zhì),相比于更大的語篇語境文本理解系統(tǒng),當前的系統(tǒng)更具有單句子關(guān)系抽取系統(tǒng)的性質(zhì)。(v)我們提出的系統(tǒng)接近于單句的最高性能,和數(shù)據(jù)集明確的情況。(vi)正確獲得問題最后20%的前景的結(jié)果不理想,因為他們中的大多數(shù)都涉及數(shù)據(jù)中的準備問題,這會破壞回答問題的機會(指代錯誤或進行匿名實體的理解太困難)。
圖1:CNN數(shù)據(jù)集的實例
Hermann等人介紹的RC數(shù)據(jù)集,是利用新聞網(wǎng)站CNN和Daily Mail的文章及要點總結(jié)得到的。 圖1展示了一個例子:它由文章p,問題q和答案a組成,其中文章是新聞網(wǎng)站,問題是完形填空任務(wù)(文章要點被橫線代替),答案是問題的本質(zhì)。目標是從所有可能的選項中(在文章中給出)推測出丟失的實體(答案a)。新聞文章通常只有很少的要點,并且每一個要點都強調(diào)了文章的一方面。
文章通過GoogleNLP通道運行。它已經(jīng)進行了,標志,字體小寫,識別命名實體和共指消解。為了獨特的指標n,每個共指鏈包含至少一個命名實體,鏈中的所有項目都是由一個@實體n標志所取代。Hemann等人(2015)令人信服地說明了:這樣的策略是必要的,以確保系統(tǒng)通過理解它們面前的文章,來完成這個任務(wù),而不是在不需要理解文章的情況下,通過使用世界知識和語言模型來回答問題。然而,這也給出了一些符合人工特性的任務(wù)。一方面,實體識別和已被執(zhí)行的指代很大程度上幫助了系統(tǒng);另一方面,無論模塊是否失敗,它都會很艱難(如圖1所示,“特性”應(yīng)該復指@entity14;在我們后續(xù)的數(shù)據(jù)分析中,有更清晰的失敗實例)。此外,無法使用世界知識,也使得人類進行該任務(wù)變得更加困難——以方式提出一個匿名條款時,人類很難決定出正確的答案。
網(wǎng)上有大量可利用的新聞文章,使得創(chuàng)建數(shù)據(jù)集變得很方便,因此它們?yōu)榻y(tǒng)計模型提供了一個大而現(xiàn)實的試驗場。表1提供了一些兩個數(shù)據(jù)集的統(tǒng)計:里面分別有380k和879k的CNN和Daily Mail訓練實例。文章平均有30個句子和800個標志,同時每個問題包含12-14個標志。
接下來的章節(jié)中,我們尋求對于數(shù)據(jù)集本質(zhì)更深度的理解。我們首先建立了一些簡單的系統(tǒng),以便更好的了解當前NLP系統(tǒng)的下邊界性能。然后,轉(zhuǎn)向數(shù)據(jù)分析項目的樣本,以檢查他們的性質(zhì)和性能的上限。
表1:CNN和Daily Mail數(shù)據(jù)集的數(shù)據(jù)統(tǒng)計。平均標志和文章的句子,查詢中的標志,和訓練集中基于統(tǒng)計的實體數(shù)量,當在發(fā)展和測試集中它們非常相似。
本節(jié)中,我們描述了實施的兩個系統(tǒng)——一個傳統(tǒng)的以實體為中心的分類器和一個終端到終端的神經(jīng)網(wǎng)絡(luò)。盡管Hermann等人在RC任務(wù)方面的性能提供了幾個基線,我們?nèi)匀粦岩伤鼈兊幕静粔驈姶蟆K麄冊噲D使用一個框架—語義(frame-semantic)分析器,我們覺得這種小范圍的解析器破壞了結(jié)果,并且它不能代表簡單的NLP系統(tǒng)—基于標準的方法來陳述問題答案,和過去15年中發(fā)展的關(guān)系提?。梢詫崿F(xiàn))。的確,他們的框架—語義模型明顯遜色于他們提供的另一個基線,一個啟發(fā)式的單詞距離模型。目前只有兩篇論文可以用來展示RC任務(wù)的結(jié)果,這兩篇論文都是利用神經(jīng)網(wǎng)絡(luò)的方法:Hermann等人和Hill等人的研究。然而后者被包裹在終端到終端的存儲網(wǎng)絡(luò)的語言中,它實際上提出了一個相當簡單的,運行于CNN數(shù)據(jù)集上的,基于窗口的神經(jīng)網(wǎng)絡(luò)分類器。它的成功再次提出了,關(guān)于由該數(shù)據(jù)集提供RC任務(wù)的真實性和復雜性問題,這方面,我們通過建立簡單的基于注意力神經(jīng)網(wǎng)絡(luò)分類器,進行分類。
給定(文章,問題,答案)三元組(p,q,a),p={p1, . . . , pm},q= {q1, . . . , ql}是文章標標志的結(jié)果,且問題語句,用q包含一個“@placeholder”標志。目標是推測出正確的實體 a ∈ p ∩ E(與占位符對應(yīng)),其中E是所有抽象實體標記的集合。注意:正確的答案實體必須出現(xiàn)在文章p中。
我們首先建立一個傳統(tǒng)的基于特征的分類器,用于探索對于該任務(wù)有效的特征。這和Wang等人的靈感相似,目前它在MCTest RC數(shù)據(jù)集有極具競爭力的性能(Richardson等人)。該系統(tǒng)的步驟是為每一個候選實體e,設(shè)計特征矢量fpq(e),并且學習一個權(quán)重矢量θ,例如正確的答a的排名高于所有其他候選實體:
我們采用以下功能模板:
1.在通道中是否存在實體E。
2.在問題中是否存在實體E。
3.段落中實體的頻率。
4.段落中實體e第一次出現(xiàn)的位置。
5.n-gram精確匹配:在占位符周圍的文本和文本周圍的實體e,是否有一個確切的匹配。我們有所有匹配組合的特征,左和/或右一個或兩個單詞。
6.字間距:我們用每一個發(fā)生的實體e排列占位符,并計算每一個不停的(non-stop)問題詞匯到段落中實體的平均距離。
7.句子共生:在一些句子的段落,實體e是否與另一個出現(xiàn)在這個問題上的實體或動詞一起發(fā)生。
8.依賴解析匹配:我們依賴解析這兩個問題和所有在段落中的句子,并且提取指標特征
我們的神經(jīng)網(wǎng)絡(luò)系統(tǒng)基礎(chǔ)是:Hermann等人提出的AttentiveReader模型。該框架可以用下三個步驟描述(見圖2):
圖2:我們用于閱讀理解任務(wù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
編程:
注意力:在這一步中,目標是將問題的嵌入和所有語境嵌入進行對比,并選擇與這個問題有關(guān)的信息碎片。我們計算一個依賴于詞與詞之間的關(guān)聯(lián)度pi(在它的語境)和問題q的概率分布α,然后產(chǎn)生輸出向量O,它是所有語境嵌入{pi~}的加權(quán)組合:
預測:使用輸出向量O,系統(tǒng)輸出最有可能的答案:
最后,該系統(tǒng)在Wtap上面增加了一個softmax函數(shù),并且將負對數(shù)似然用于訓練。
不同于Hermann等人.我們的模型基本上都遵循AttentiveReader。然而,讓我們驚訝的是:我們的實驗觀察到,相比于原先在CNN和Daily Mail數(shù)據(jù)集上AttentiveReader結(jié)果,我們的結(jié)果提升了將近8-10%(第四部分進行討論)。具體地說,我們的模型有以下差異:
·我們使用一個雙線性的術(shù)語,而不是一個雙曲正切層,計算問題和語境嵌入的關(guān)聯(lián)(注意)簡單雙線性注意函數(shù)的有效性,已經(jīng)在以前的神經(jīng)機器翻譯得到了證明(Luong 等人)。
·獲得權(quán)重語境嵌入o后,我們使用o進行直接預測。與之相比,在做最后的預測之前,原來的模型(Hermann等人)通過另一個非線性層結(jié)合o和問題嵌入q。我們發(fā)現(xiàn),可以不損害性能的情況下去除這一層。并且我們相信,這足以讓模型學習返回被給予最大限度地注意的實體。
·原來的模型在作出預測時,考慮了所有來自詞匯V的話。我們認為這是不必要的,并且只預測在段落中出現(xiàn)的實體。
在這些變化中,似乎只有第一個是重要的;另外兩個只是為了保持模型的簡單性。(敏)
Window-based MemN2Ns.另一個神經(jīng)網(wǎng)絡(luò)系統(tǒng)方法是基于記憶網(wǎng)絡(luò)結(jié)構(gòu)的。我們認為這兩個方法在思想上是極度相似的。最大的不同在于編碼方式的不一樣:證明顯示在評估一個候選單位時,僅使用5個單詞文本是最有效的語境嵌入編碼方式:如果窗口包含5個單詞x1,……x5,那么就會編碼成5個獨立的嵌入矩陣進行學習。他們能以類似的方式圍繞占位符,對5詞窗口或是其他所有在問題文本中被忽視的單詞進行編碼。此外,他們僅僅使用一個產(chǎn)品點來計算問題或是文本鑲嵌之間的“相關(guān)性”。這個簡單的模型表現(xiàn)的十分好,因為顯示出了RC任務(wù)在何種程度能通過本地文本匹配表現(xiàn)的十分好。
為訓練常規(guī)分類器,我們在RankLib應(yīng)用LambdaMART。我們使用排序算法,因為我們的問題本身就是排序問題,所以也就促進決策樹體系最近的成功。我們并未使用LambdaMART的所有特征,因為僅基于第一條建議對1/0損失進行排序,而不是使用IR矩陣對所有的結(jié)果進行排序。我們使用斯坦福神經(jīng)網(wǎng)絡(luò)依賴解析器對文本或是問題進行解析,并且其他的特征都能在不使用額外工具的情況下提取出來。
為訓練我們的神經(jīng)網(wǎng)絡(luò),我們僅保留最常使用的50k的單詞(包括實體和占字符),并會標注其他所有的單詞。我們選擇單詞的嵌入尺寸d=100,并為初始化使用100維度的預訓練GloVe單詞鑲嵌。注意力或是輸出是從統(tǒng)一的分配(-0.01,0.01)之間進行初始化,LSTM權(quán)重是從高斯分布N(0.01)中進行初始化。
表3:實體為中心的分類器會基于CNN數(shù)據(jù)集的部分發(fā)展進行特征消融分析。數(shù)字暗示了我們從所有系統(tǒng)中排除的每一個特征的準確性,所以較小的數(shù)字就暗示是一個重要特征。
我們使用的CNN大小是h=128,Daily Mail是256。優(yōu)化是通過隨機梯度遞減(SGD)實現(xiàn)的,其固定學習率為0.1。我們根據(jù)所有例子的文本長度來進行分類,并隨機抽取樣本批量大小為32進行更新。當梯度的規(guī)模超過了10,會將丟棄概率為0.2應(yīng)用于嵌入層和梯度剪裁。
我們所有的模式都是在單個GPU(GeForce GTX TITAN X)上運行,對于CNN每一個階段的運行時間為6小時,DailyMail的每一個階段的運行施加為15小時。我們運行的模式其階段長達30個,并基于發(fā)展集選擇最精準的模式。
表2展示了我們的主要成就?;谔卣鞯膫鹘y(tǒng)分類器在CNN測試集上實現(xiàn)了67.9%的準確度。這一結(jié)果不僅超過了其他象征方法,也超過了其他神經(jīng)網(wǎng)絡(luò)在論文中或是單一系統(tǒng)上的結(jié)果報告。這也表明,這一任務(wù)不會像想象的那么困難,并且一個簡單的特征集能包含許多種情況。表3顯示的是基于CNN部分數(shù)據(jù)發(fā)展實體分類器的特征消融分析。這表明n-gram匹配和實體頻率是特征分類最重要的兩類。
表2:基于CNN和Daily Mail數(shù)據(jù)集的模式準確度。分類器和神經(jīng)網(wǎng)絡(luò)分別指代實體中心分類器和神經(jīng)網(wǎng)絡(luò)系統(tǒng)。標有*的數(shù)據(jù)暗示其結(jié)果是來自于集成模式。
更加戲劇化的是,但模式神經(jīng)網(wǎng)絡(luò)的結(jié)果大幅度超過之前的結(jié)果(超過5%),并推動其具有領(lǐng)先水平的結(jié)果至72.4%或是75.8%。由于資源的限制,我們沒有機會調(diào)查集成模式,盡管集成模式能像其他論文所描述的那樣帶來更好的結(jié)果。
同時與我們的論文一樣,Kadlec等和Kabayashi等同樣也基于這兩個數(shù)據(jù)集進行試驗但其結(jié)果也是非常出色的。然而,我們的單一模式不僅僅在模式上超過他們,在結(jié)構(gòu)上也更加簡單。最近所有的結(jié)果匯聚成了相似的數(shù)據(jù),并且我們相信這一數(shù)據(jù)是逼近于這一任務(wù)的最好結(jié)果,這一結(jié)論我們會在接下來的部分進行說明。
到目前為止,通過我們的系統(tǒng)獲得了較好的結(jié)果。在本部分,我們致力于進行深入分析并回答以下問題:(1)由于數(shù)據(jù)是基于自動化和啟發(fā)式的方式創(chuàng)建的,有多少問題是不重要的?有多少是嘈雜并不能回答的?(2)這些模式學到了什么?進一步改善它們的前景在哪?為研究這一問題,我們隨機從CNN部分發(fā)展集中選取100例子進行分析。
在仔細分析這100個實例之后,我們把它們大概分成以下幾個種類(如果一個例子不僅滿足一個類型,我們會把它歸類于前一個類型):
完全匹配:最靠近占字符的單詞同樣也存在于實體標記中;且答案是明顯的。
句子級別的釋義:問題文本重新用一句話在文中進行改寫,所以其答案也是和這一句子是完全一樣的。
局部線索:在許多情況下,盡管我們不能把問題文本和一些句子在語義上完全匹配,但任能通過一些局部線索進行推理,例如一些單詞或是概念的匹配。
多個句子:這需要通過處理多個句子來推理出正確答案。
指代錯誤:在數(shù)據(jù)集中指代錯誤是不可避免的。這一類包括在問題中出現(xiàn)的答案實體或是關(guān)鍵實體的指代錯誤。一般我們會把這一類問題歸類為“不可回答”。
表4:每一類型的代表例子。
圖5:基于從CNN數(shù)據(jù)集中取樣的100個實例分析,對數(shù)據(jù)分解的評價。
模糊或是十分困難:這一類型所包含的實例是我們認為人類都難以回答的問題。
表5展示的是每一個類型所占的百分比,表4展示的是每一類型的代表實例。令人驚訝的是,基于我們的人工分析“指代錯誤”和“模糊/困難”的情況占了25%,所以這對于將準確率提高到75%會是一個障礙(當然,模式有時能猜測準確。)此外,僅有2個例子需要多個句子進行推理—這是一個就Hermann而言比較小的概率。因此,我們要假設(shè)在大對數(shù)“不能回答”的情況下,目標是要找出相關(guān)的(單個)句子,并基于這單一句子進行答案推理。
現(xiàn)在,基于以上的分類,我們進一步分析這兩個系統(tǒng)的預測。
如表6,我們觀察結(jié)果如下:(1)完全匹配的情況十分簡單,且兩個系統(tǒng)都能實現(xiàn)100%的準確。(2)對于模糊/困難的情況或是實體和錯誤相連的情況,正如我們所預測的那樣,兩個系統(tǒng)表現(xiàn)都很差。(3)這兩個系統(tǒng)在釋義和有部分提示的情況下差別教大。這也表明了在涉及到改寫或是兩個句子詞匯有所區(qū)別時,神經(jīng)網(wǎng)絡(luò)系統(tǒng)能更好地進行語義匹配。(4)我們相信在單一句子或是明確的情況下,神經(jīng)系統(tǒng)的表現(xiàn)已接近最佳表現(xiàn)?;谶@一數(shù)據(jù)集,對于探索更加復雜的自然語言理解方法似乎沒有很多有用的凈空。
圖6:這兩個模式在每一個類別上表現(xiàn)。
我們會簡單調(diào)查其他與閱讀理解相關(guān)的任務(wù)。
MCTest是一個開放性領(lǐng)域的問題,經(jīng)常是一個短篇小說的形式呈現(xiàn)并帶有多項選擇式的問題。這是通過大規(guī)模探索創(chuàng)造出來的方法,其目標是達到一個7歲小孩的閱讀理解水平。
一方面,需要具有各種各樣推理技能的數(shù)據(jù)集:超過50%的問題需要通過理解多個句子進行回答,并且問題的種類也是多種多樣的(例如,是什么,為什么,怎么樣,誰的,哪一個等問題)。另一方面,整個數(shù)據(jù)集總共只包括660個段落(每一個段落包含4個問題),這使得訓練統(tǒng)計模式(尤其是復雜的模式)變得相當困難。
到目前為止,最好的解決方案依然是依賴手動提取的句義或是語義上的特征,以及額外知識的幫助(例如,鑲嵌詞匯,句義或是改寫數(shù)據(jù)集)。
兒童書測試是為類似的目的基于CNN/DailyMail數(shù)據(jù)集所創(chuàng)建的任務(wù)。從兒童書內(nèi)隨機選取20個連續(xù)的句子—前20個句子作為一個段落,目標是推斷出在第21個句子中所缺失的單詞(問題或是答案)。這些問題也可以按照所缺少的單詞進行分類:實體名詞,普通單詞,介詞或是動詞。根據(jù)對此數(shù)據(jù)集的第一個研究得出,一個有當?shù)匚谋镜恼Z言模式(n-gram模式或是遞歸神經(jīng)網(wǎng)絡(luò))足以預測動詞或是介詞。然而,對于預測實體名詞或是普通名詞,只能通過瀏覽全文才能提高預測的結(jié)果。
bAbI是一個人工數(shù)據(jù)集合包括20中不同的推理類型。它鼓勵發(fā)展模式的鏈推理,歸納,演繹等能力,所以它在閱讀“約翰在操場;鮑勃在辦公室;約翰拿了足球;鮑勃去了廚房”這一系列句子之后能回到出像“足球在操場上”的問題。在這些任務(wù)上不同類型存儲網(wǎng)絡(luò)已表現(xiàn)出了有效性,此外基于廣泛問題分析的空間矢量模式能在所有的任務(wù)類型上表現(xiàn)出接近于完美的準確率。盡管這些結(jié)果十分好,但是數(shù)據(jù)集僅限于少量的詞匯(100-200詞)和簡單的語言變化,所以這與在現(xiàn)實世界中我們需要預測的數(shù)據(jù)集相比相差很大。
在本文中,我們仔細的研究了最近CNN/DailMail的閱讀理解任務(wù)。我們的系統(tǒng)表現(xiàn)出了完美的結(jié)果,但是更重要的是,我們手動進行了仔細的數(shù)據(jù)分析。
總體而言,我們認為CNN/Dail Mail數(shù)據(jù)集是極具價值的數(shù)據(jù)集,為訓練用于閱讀理解任務(wù)的數(shù)據(jù)模式提供了良好的方法。但是,我們還是認為:(1)由于數(shù)據(jù)的創(chuàng)建方法和指代錯誤,數(shù)據(jù)集還是十分的吵雜;(2)目前遞歸神經(jīng)網(wǎng)絡(luò)在此數(shù)據(jù)集上表現(xiàn)已達到最優(yōu);(3)所用推理的數(shù)據(jù)集還是過于簡單。
在未來的研究中,我們會考慮如何利用這些數(shù)據(jù)集(以及基于這些數(shù)據(jù)集訓練的模式)去解決更為復雜的閱讀理解(RC)推理問題。
哈爾濱工業(yè)大學李衍杰副教授的點評:閱讀理解是一種閱讀文章并且處理理解文章含義的能力,如何讓計算機具有閱讀理解能力,理解文獻并回答理解型問題是NLP領(lǐng)域重要且未解決的問題,阻礙機器學習系統(tǒng)解決該問題的一個關(guān)鍵因素是人類注釋數(shù)據(jù)的可用性有限,為此,有研究者通過CNN和日常郵件消息與他們自己總結(jié)的重點進行配對,生成了超過百萬的訓練數(shù)據(jù),并借助于神經(jīng)網(wǎng)絡(luò)較好的解決文獻理解的問題。今天推薦的這篇論文對這方面的研究又進行了詳細的檢查,通過對數(shù)據(jù)集的手動分析,并引入實體中心分類器(Entity-Centric Classifier)和端到端神經(jīng)網(wǎng)絡(luò),從另一方面考慮并解決了上述問題,得到了更高的精度。
PS : 本文由雷鋒網(wǎng)獨家編譯,未經(jīng)許可拒絕轉(zhuǎn)載!
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。