如何通過提取長序列中的摘要生成維基百科?
序列到序列框架已被證明在自然語言序列轉導任務(如機器翻譯)中取得了成功。最近,神經技術被應用於提取新聞文章中的單文檔、抽象(釋義)文本摘要(Rush et al. (2015), Nallapati et al. (2016))。之前的研究以端到端的方式訓練監督模型的輸入——從一篇文章的第一句到整個文本——來預測參考摘要。進行端到端的處理需要大量相關的文章-摘要對,因此語言理解是生成流暢摘要的首要條件。
而谷歌大腦這篇論文考慮的是多文檔摘要的任務,輸入是提煉過摘要的相關文檔的集合。之前的研究主要是提取摘要(從輸入中選擇句子或片語來形成摘要),而不是生成新文本。抽象神經模型的應用有限,一個可能的原因是缺少大型標註數據集。
在這篇論文中,研究者把英語維基百科看成是一個多文檔摘要的監督式機器學習任務,輸入是維基百科的主題(文章標題)和非維基百科參考文獻的集合,目標是維基百科文章的文本。研究者首先描述了基於參考文本抽象生成維基百科文章的第一部分或主要部分。除了在任務中運行強大的基線模型以外,研究者還將 Transformer 結構(Vaswani et al., 2017)修改為只包含一個解碼器的結構,與 RNN 和傳統的編碼器-解碼器模型相比,這種結構在長輸入序列中表現更好。最後,研究者展示了可生成整個維基百科文章的優化模型。
表 1:摘要數據集輸入/輸出的數量級和一元回調(unigram recall)。
表 2:WikiSum 數據集不同屬性的百分比,大小以單詞數量為單位。
將英文維基百科作為一個多文檔摘要數據集
作為百科全書的維基百科(Wikipedia)可以被看作是給定不同標題的各種主題摘要的集合,如「加拿大(Canada)」和「機器學習(Machine Learning)」。用於提取摘要的原始材料可以是網上或書中各種有良好聲譽的文件,然而,為了使問題更加容易處理,研究者考慮所有文檔的以下子集 D:
1. 引用資料:一篇符合體例指南的維基百科文章在「References」(參考文獻)部分應該有引用資料。對於每篇文章,對於一篇文章 a_i,研究者從可抓取的引用文檔中提取無標記的所有文本 C_i(C_i ? D)作為模型的輸入。
2. 網頁搜索結果:為了擴展參考文檔的集合,研究者使用文章標題作為搜索內容,在谷歌搜索引擎中搜索結果。每次查詢收集 10 個結果頁面。在此集合中,去掉維基百科文章自身(往往在最上面),同時也去掉「克隆」的結果(與維基百科文章高度重疊的結果)(A.2.1 中有詳細介紹)。研究者將文章 a_i 精鍊後的搜索結果表示為 S_i(S_i ? D)。類似於 C_i,研究者僅提取文本作為輸入。
表 2 描述了 WikiSum 數據集的整體屬性。許多文章的引用資料很少,因此研究者使用網頁搜索結果作為源文檔的補充。不過,引用資料往往質量更高。統計數據集中的總單詞數時,我們會發現它比之前的摘要數據集大一個數量集。
為了在語料庫比較實驗(corpus-comparison experiment)中使訓練/開發/測試數據保持一致,研究者將文章的範圍限制為至少具備一個可抓取引用資料的維基百科文章。研究者將文章按 80/10/10 的比例大致分成訓練/開發/測試子集,分別得到了 1865750、233252 和 232998 個樣本。
方法和模型
由於輸入參考文檔(C_i,S_i)中的文本數量會非常大(參見表 2),考慮到當前硬體的內存限制,訓練端到端的抽象模型並不可行。因此,研究者首先通過抽取摘要粗略地選擇輸入的子集,然後基於此訓練一個生成維基百科文本的抽象模型。這兩步受到人們從多個長文檔中提取摘要的啟發:首先突出相關的信息,然後基於此生成摘要。
圖 1:T-DMCA 模型中使用的自注意力層架構。每個注意力層都將一個符號序列作為輸入,併產生一個相似長度的輸出序列。左圖:transformer-解碼器中的原始自注意力。中圖:內存壓縮的注意力,減少了密鑰/數值的數量。右圖:將序列分割為單個較小子序列的局部注意力。之後子序列合併在一起得到最終輸出序列。
圖 4:相同樣本在不同模型中產生的預測結果。模型輸入樣本可在附錄 A.4 中找到。
圖 4 展示了三個不同模型(使用 tf-idf 提取和組合語料庫)的預測結果和維基百科原文本(輸入樣本)。隨著複雜度的降低,我們可以看到模型輸出在流暢性、事實準確性和敘述複雜性方面有所改善。特別是,T-DMCA 模型提供了維基百科版本的一個可替代性選擇,並且更為簡潔,同時提到了關鍵事實,例如律師事務所的位置、成立方式和時間以及企業的興衰。
在模型輸出的手動檢查中,研究者注意到一個意想不到的副作用:模型嘗試學習將英文名稱翻譯為多種語言,例如將 Rohit Viswanath 翻譯成印地語(見圖 5)。儘管研究者沒有系統地評估這些翻譯,但他們發現譯文往往是正確的,而且在維基百科文章里找不到。研究者還證實了譯文通常不是從內容源中複製的,例如目標語言不正確的示例(例如把英文名稱翻譯為烏克蘭語)。
表 7:與 Sauper 和 Barzilay(2009)的論文中的結果比較。請注意,谷歌大腦這篇論文中的的結果是維基百科主要部分的報告,而 Sauper 和 Barzilay 的是文章的報告。
相關代碼鏈接:https://gist.github.com/peterjliu/f0dc9152a630520dc604c783db963aa7
論文:Generating Wikipedia by Summarizing Long Sequences
論文鏈接:https://arxiv.org/abs/1801.10198
我們展示了可以通過對源文檔提取多文檔摘要來生成英文維基百科文章。我們通過提取摘要來粗略地識別顯著信息,通過神經抽象模型生成文章。對於抽象模型,我們引入了只含一個解碼器的結構,它可以處理很長的序列,比序列轉導中傳統的編碼器-解碼器架構處理的序列長得多。我們展示了這個模型可以生成流暢、連貫的多句段落,甚至生成整個維基百科文章。在給出參考文檔時,我們證明了該模型可以提取相關的事實信息,以複雜度、ROUGE 分數和人類評估的形式呈現。
推薦閱讀:
※你在《悟空問答》上見過哪些閱讀量超過1000萬的回答?
※求有用的回答!跪求,:如何將包含數學公式的PDF免費轉化為word版?
※航天運載火箭行業知識整理
※10億估值的小藍車,說沒就沒了?下一個倒下的會是誰?