999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于自注意力機制的閱讀理解模型

2019-01-22 03:32:16張浩宇張鵬飛李真真譚慶平
中文信息學報 2018年12期
關鍵詞:語義單詞模型

張浩宇,張鵬飛,李真真,譚慶平

(國防科技大學 計算機學院,湖南 長沙 410072)

0 引言

深度學習在近年來得到了廣泛的研究和發展。基于深度神經網絡模型在計算機視覺、語音識別、自然語言處理等領域的困難任務上取得了接近甚至超越人類的水平。

機器閱讀理解(Machine Reading Comprehension,MRC),是在限定上下文(context documents)的前提下為給定問題找到答案的一類任務,是自然語言處理(NLP)中的核心任務之一,近年來得到了廣泛的研究。[1]

機器閱讀理解任務可以形式化的描述為,對于給定問題q及其對應的文本形式的候選文檔集合d={d1, d2, ..., dn},要求參評閱讀理解系統自動對問題及候選文檔進行分析,輸出能夠滿足問題的文本答案a。對于人工合成任務以及完形填空任務來說,給定三元組(q, d, a),要求答案a必須出現在文檔d中即a?d。

1 數據集

由于開放域的閱讀理解任務難度較大,且神經網絡模型訓練需要的標注數據量較大,為了控制任務的難度并保證數據量,很多機構發布了閱讀理解相關的大規模標注數據集,推動了機器閱讀理解任務研究的進展。

完形填空類型的機器閱讀理解,是將問題中需要回答的單詞以占位符代替。給定上下文,需要將問題句子中被替換的單詞或者實體詞預測補全出來,一般要求這個被抽掉的單詞或者實體詞是在文章中出現過的。數據集CNN/Daily Mail(Hermann et al. 2015)[2],通過以新聞作為上下文、抽取新聞故事的摘要作為問題的方式構造。Hill等在2016年提出的CBT(The Children’s Book Test)[3]數據集則以兒童故事集作為數據來源,通過篩選命名實體、動詞、通用名詞以及副詞等四種不同類型的答案詞控制任務的難度以及側重點,并為每個樣本提供了若干個候選答案,進一步降低了數據集的整體難度。

Rajpurkar等在2016年以維基百科的536篇文章作為上下文,發布了SQuAD(Stanford Question Answering Dataset)[4]數據集并得到了廣泛的關注。SQuAD 與之前的完形填空類閱讀理解數據集如 CNN/Daily Mail,CBT等最大的區別在于:SQuAD 中的答案不再是單個實體或單詞,而可能是一段連續的短語,這使得其答案更難預測。

隨著對閱讀理解研究的深入,2017年以來一些難度更高的數據集被發布。Joshi等在2017年發布了TriviaQA[5],該數據集樣本中句法結構較復雜、具有信息冗余,需要復雜推理才能得到正確答案,而且答案不一定是上下文中的連續子文本串。Deepmind在2017年也發布了NarrativeQA[6]數據集,包含了來自于書本和電影劇本的1 500多個完整故事,且問題通常比較復雜,需要通過綜合上下文不同位置的信息進行深層推理得到答案。

百度公司主辦的2018機器閱讀理解技術競賽(2018 NLP Challenge on Machine Reading Comprehension)所使用的數據集為2017年提出的DuReader[1]。該數據集從百度搜索和百度知道中抽取回答或者搜索結果作為上下文,并使用眾包的方式生成答案。數據集分為訓練集、驗證集以及測試集1和測試集2,其中測試集1和測試集2參賽者無法獲得正確答案,提交預測后由百度后臺給出成績。成績的判別方式是與正確答案之間的平均Rouge-L,若樣本中存在多個正確答案,則以最高的Rouge-L為準。

相比以前的MRC數據集,DuReader的難度提高了很多,根據DuReader論文中的相關數據,以及我們在比賽中對數據集的分析,這個數據集具有以下特點。

(1) 難度高。所有的問題、原文都來源于實際數據(百度搜索引擎數據和百度知道問答社區),答案是由人類回答的。相比于SQuAD這種答案是原文中連續片段的閱讀理解數據集,DuReader數據集中許多樣本,只通過抽取原文中連續片段的方式無法得到正確答案甚至是意思接近的答案,要正確回答這些問題只有在理解問題和上下文的基礎上,通過生成與Abstroct中相矛盾式模型來生成答案。對于其他的答案不來源于上下文的數據集如 MS-MARCO,DuReader數據集中通過計算人工答案和文檔的最小編輯距離來判斷兩個數據集回答問題的困難度。編輯距離越大,對文檔的編輯修改就更多,回答問題的復雜度也就越高,而DuReader的平均上下文/答案編輯距離要遠遠的超過MS-MARCO。

此外,難度高還表現在,DuReader中的答案平均長度很長,其答案的平均長度要遠遠超過SQuAD數據集中的樣本,后者的答案一般不超過15個單詞。而DuReader的答案長度分布為如圖1所示的長尾分布,其答案的平均長度是69。答案長度和編輯距離的數據說明,模型需要預測出足夠接近的答案是很困難的。

圖1 DuReader數據集答案長度分布

(2) 問題類型多樣。數據集中包含大量的之前很少研究的是非和觀點類的樣本。之前的數據集中大多問題的類型都是事實型,也就是面向事實給出實體或者描述來回答問題。DuReader中的數據根據問題是否具有標準答案,分為事實類型和觀點類型;根據問題本身的分類,分為實體、描述以及是非類的問題。這種問題類型的多樣性,對模型的訓練帶來困難。如同一個問題和上下文,對觀點類的問題來說,有些樣本包含的多個答案本身可能互相矛盾(同時包含正向觀點和負向觀點),而其他的相似樣本可能只包含正向或者負向觀點的答案,因此模型對這類問題常常可能給出與正確答案相似度很低的預測。從我們對模型最終性能的分析來看,觀點類和是非類問題的效果是最差的,也是影響模型整體性能的關鍵點。

(3) 數據量大且來源復雜。數據集中每個問題都對應多個答案,總共包含200k個問題、1 000k個上下文和420k個答案,是目前最大的中文MRC數據集。這些數據,從來源上來看分為兩類,百度知道以及百度搜索,這兩類數據的分布有較大的不同。首先,這兩類數據的上下文中噪音都比較多,這里的噪音包括但不限于特殊符號、無用的標點重復、俚語流行詞和慣用表達以及廣告。無用重復和廣告類型的噪音對于抽取式模型(從原文中抽取連續字段作為答案)的影響較為嚴重,因為許多原文中的正確答案中間包含無用的廣告鏈接或者標點重復,極大的降低了模型的Bleu-4和Rouge-L指標值。特殊符號和俚語流行詞類型的噪音,可能對中文分詞造成影響導致分詞失敗,把錯誤傳播到后續的處理過程中。

2 相關研究

近年來,尤其是大規模標注數據集被頻繁的發布以及Word2Vec等分布式詞向量被提出之后,各種不同的基于神經網絡的模型在機器閱讀理解任務上不斷的刷新最好成績, 而其中一個關鍵的因素就是不同形式注意力機制的引入,為文檔和問題的高層次表示的學習提供了有效的雙向信息交互。已有的工作包括Wang 和Jiang等在2016年提出的Match-LSTM[7],Lee等在2016年提出的RaSoR,Seo等在2017年提出的BiDAF[8],Hu等2017年提出的MnemonicReader[9],Wang等在2017年提出的R-net[10]等。

目前已有的方法,通常網絡的第一層是利用詞向量得到問題和文檔詞級別的語義表示,這種語義表示可認為是整個模型唯一的輸入語義信息。其中一些已有模型,在分布式詞向量的基礎上,增加了字向量/字符向量,POS/NER/TF等特征以及Allen實驗室在2018年提出的上下文向量ELMo[11]。對語義輸入層的改變,多是為了解決輸入語義的偏差,比如多義詞、拼寫錯誤、不同詞態、低頻詞導致單獨的詞向量信息無法正確指導模型學習到正確的高層次表示。

在語義表示之后,通常會利用若干層RNN來單獨建模問題和文檔的上下文語義,雖然Transformer在機器翻譯領域已經證明單獨利用注意力機制即可編碼序列語義獲得不錯的效果,但在閱讀理解任務上尚未有類似工作。

在單獨編碼問題和文檔的上下文語義表示后,通常會有一到多層的交互層,用于對問題和文檔的語義信息通過注意力機制進行交互從而學到基于問題的文檔表示和基于上下文的問題表示。一些綜述類的文章中,根據注意力機制作用的方向將已有模型分為一維注意力模型和二維注意力模型(單向注意力和雙向注意力)。前者通常只利用匹配函數計算上下文中每個單詞與問題整體語義的匹配度,并以此決定答案位置;而后者通常通過匹配函數計算上下文中每個單詞與問題中每個單詞的語義相關度并形成一個二維相似度矩陣,而后利用該矩陣計算高層語義表示。也有工作[9]利用深度強化學習模擬閱讀理解中的推理過程進行信息交互。Huang等人在FusionNet的工作中對閱讀理解模型中問題文檔語義交互的過程進行了探究。

在學習到問題和文檔高層語義表示之后,通常使用一個解碼模塊得到答案。由于已有的數據集中答案大多為上下文中的連續片段或單個單詞,解碼模塊通常是由PointerNetwork[12]衍生而來。

在2018機器閱讀理解技術競賽中,主辦方百度提供了Match-LSTM和BiDAF作為基準模型,其中BiDAF在SQuAD數據集上集成模型的EM為73.74,增加了Self-Attention和ELMo模塊后的BiDAF模型達到了81的EM成績。

3 模型與方法

3.1 主要問題及解決思路

由于seq2seq等生成式模型訓練成本更高,且在閱讀理解任務中的性能未知,所以此次比賽我們的基本思路是基于百度提供的BIDAF的基線模型使用抽取式的模型來預測答案,在抽取式模型中預測答案的偏差可能由下面幾個過程共同導致。

生成答案的偏差。在獲取分詞后的DuReader數據集之后,使用生成的span_answer(即上下文中的連續片段)作為標簽來訓練抽取式模型,我們對該標簽的長度分布(圖2)和與正確答案的相似度進行了分析,來確定抽取式模型的性能上限。

圖2 生成答案的長度分布

由圖2可知,生成的答案和正確答案的長度分布(圖1)基本一致,而由表1中數據,search和zhidao源中的樣本其生成的標簽答案和正確答案的平均match-score分別是0.79和0.92,已經是一個足夠高的性能了。但是,由于生成式的標簽對于每個樣本只產生一個最接近其中一個正確答案標簽,所以對于觀點類和是非類問題,這種方式產生的標簽大大減少了訓練信息,可能導致訓練效果下降。

表1 生成答案與人工答案匹配度

上下文選擇導致的偏差。由于DuReader中的上下文長度較長、文檔數量較多,為了能夠讓神經網絡模型能夠處理,默認選擇最多5個上下文文檔,且每個文檔選擇長度不超過500的最相關段落(goldenparagraph)。在訓練時最相關段落是所有段落中與正確答案recall最小的段落,但是驗證和測試時無法這樣選擇。DuReader在驗證和測試時選擇了與問題的recall最小的段落作為最相關段落,考慮到語料中的噪音問題,這樣的計算方式是不合理的,可能造成所選上下文中并沒有足夠的信息來得到答案。尤其是對于來源于search的樣本,存在部分內容與問題很符合,但是段落中并不包含與答案相關的有用信息的情況。另一種情況是,使用與問題的recall來選擇上下文段落,可能選擇到的是標題段落,導致所選的上下文段落長度不足因而缺少足夠信息,我們分別統計了測試集1中searchdomain和zhidaodomain的所有樣本,發現有591個和14個樣本中所有上下文段落長度均小于50。Searchdomain的數據噪音更多,受上下文段落選擇的影響更大。DuReader論文中的相關數據,也說明正確選擇上下文段落能夠大大提高模型效果。

針對這一問題,我們對searchdomain的數據,在驗證和測試時采用一種啟發式的方法選擇上下文段落,從而獲取更加富集語義的信息,如式(1)所示。

P=∑cipi(1)

其中,pi為從給出段落中抽取的與問題最相關段落,ci為對應段落所占的權重。為了方便模型處理,根據計算出的答案長度分布,我們將上下文段落大小固定設置為500,通過將段落融合處理,可以讓模型自動學習出不同給出段落中的相同特征。我們通過計算問題與給出段落的語義相關度計算出ci。由于此次比賽給出的段落包含了排序信息,而搜索引擎的排序信息已經包含了對問題與段落的語義相關度信息,因此我們以搜索引擎的排序作為上下文信息蘊含質量的標準,將search數據中的上下文依次填入直到長度超過500。后續的實驗證明,通過采用段落融合的方法,searchdomain數據在訓練集和驗證集上的Rouge-L指標接近,表明了這種上下文選擇方式的有效性。

3.2 模型框架

模型采用BiDAF+Self-Attention的框架,模型名稱為Mixed。如圖3所示。Mixed模型分為如下幾層。

(1) 段落選取層:對于多個給出段落的閱讀理解比賽,最佳段落的選擇對最終結果的影響很大。

我們測試在給出人工最佳段落時,在測試集合上可以達到67%的分數。最佳段落的選取可以通過計算段落與問題之間的語義相關度來選取,Baseline系統通過計算詞共項出現的比例來選取最佳段落。我們經過測試,發現通過這種方式選出的段落缺乏其他給出段落的信息,最終采用了段落融合的方式,增加了段落的上下文信息,提高了結果的Rough-L值,具體可以參考實驗部分Dev-Paragraph模塊對整體性能的影響。

(2) 模型輸入層: 模型輸入為問題序列q={q1,…,qJ},以及上下文序列d={d1,…,dT}。對DuReader中每個問題具有多個上下文文檔的,將n個上下文文檔在解碼層之前單獨處理并單獨學習其表示,并對多個文檔同時進行解碼預測答案的位置(答案位置無法跨文檔)。

(3) 詞向量層:使用不同語料預訓練的Glove詞向量(見實驗小節),將輸入序列中的每個單詞映射為詞向量Di∈Rd,Qj∈Rd。

(4) 上下文編碼層:利用雙向LSTM,對問題和答案進行編碼,得到每個單詞的上下文感知編碼hi∈R2d,uj∈R2d。

(5) 交互層:利用c2q和q2c的雙向注意力機制, 計算出上下文中每個單詞的問題感知編碼gi∈R8d,計算過程如BiDAF中的Attention-Flow層。

圖3 Mixed模型結構

(6) 自注意力層:利用自注意力機制,以交互層的輸出g={g1,…,gT}作為memory和input計算注意力權值ct,計算過程如式(2)所示。而后拼接輸入和加權輸出得到最終輸出yi=gi⊕ci,其中⊕表示向量拼接操作。這一層可以認為是帶著問題把上下文再讀一遍的過程,在許多閱讀理解模型中利用了類似的結構,如式(2)所示。

(2)

(7) 解碼層:解碼層利用LSTM獲取蘊含問題信息的文檔整體表示,而后利用全連接和Softmax分類輸入答案開始位置,利用LSTM和Softmax分類輸出答案結束位置。

模型損失函數是答案開始和結束預測位置分布和正確位置的負對數似然之和,在訓練時反向傳播每個minibatch樣本的平均損失。使用Adam優化器進行端到端的學習。在模型推理(inference)時,通過動態規劃遍歷每個答案開始點和結束點,找到其概率相乘最大的一組作為預測答案。

3.3 其他嘗試

在實驗中,我們曾經如下幾個方向進行了嘗試,但由于效果不好或者時間不足的原因,沒有增加到最終的模型中,可能在后續的工作中會繼續嘗試。

(1) 人工特征。由于我們在模型中并未使用字向量,我們為上下文增加了五種人工抽取的特征,希望提高輸入信息的表示能力。問題匹配特征用來說明上下文中的當前單詞是否在問題中出現過;其他文檔詞共現特征用來計算本段落中的某一單詞在其他段落中出現的次數;問題范圍匹配特征以一定長度的窗口計算窗口內文檔與問題的編輯距離和Jaccard距離。對于問題匹配特征和其他文檔詞共現特征我們還提取了相應的字級別的特征。但是增加這些特征之后模型的性能并沒有明顯提升,因此最終提交結果的模型中并沒有使用這些人工特征。

ELMo上下文向量,這是一個我們很希望嘗試的方向,但在比賽結束前Allen實驗室并沒有公開ELMo的訓練代碼,因此最終沒有增加這一模塊。

(2) 答案的paraphrase。我們通過分析查看訓練集和驗證集結果發現,抽取式的答案中會有很多與答案無關片段,在蘊含信息相同的情況下降低了預測答案的Rouge-L得分,因此可以通過seq2seq或者sequence-tagging的模型,對答案進行縮寫或者改寫。

4 實驗

4.1 模型訓練

在模型訓練和推理時,我們對分詞后上下文中的特殊字符等進行了篩選,刪除了重復標點、URL、亂碼、HTML代碼等特殊字符。我們使用了DuReader語料和中文維基百科語料上預先訓練的GloVe詞向量,在預訓練詞向量時,使用jieba分詞。

最終提交的模型是5個模型進行Ensemble后的結果。模型集成的方式是,單模型分別在DuReader訓練集上進行訓練,并將預測的answer_probs進行平均得到最終預測。

代碼基于Tensorflow1.7,并在具有單個 TitanXP 的服務器上進行訓練,單模型訓練時占用顯存約10.8GB,通常訓練7個Epoch至收斂,約需要15小時。

模型訓練過程中,使用的超參數設置如表2所示。

表2 超參數設置

由于最終提交的模型需要為Yes/No類型問題提供態度選項,我們通過一個簡單的以預測答案詞頻為特征的分類器來計算答案態度。

4.2 實驗結果及分析

我們在實驗的每步記錄了增加/減少的模塊,以及對應的驗證集/測試集1的Rouge-L性能,如表3所示,此處的驗證集性能是由第三方腳本計算得到,因此可能不夠準確。通過對該表的消融分析(AblationAnalysis)能夠驗證框架中每個模塊的作用。從表中可以看出,增加自注意力機制(Self-Attention)、使用預訓練的詞向量(Pretrained-word-embeddings)以及驗證和測試時改變選擇相關段落的方式(+Dev-Paragraph)是對模型性能提高影響最大的幾個模塊。此外,由于搜索引擎給出的網絡文本信息中存在的大量噪音(表4),因此除了在分詞前進行預處理,基于正則化規則的方式刪除上下文和預測答案中的特殊符號和文本也能有效提高性能。

表3 Ablation Analysis

表4 文本噪聲示例

我們對最終單模型在驗證集上預測span_answer的準確匹配 (Exact Match, EM) 比率進行了測試,在zhidao數據上準確率達到了11.4%,在search數據上準確率達到了5.2%,總體準確率為8.1%。該數據說明在DuReader數據集難度下,抽取式的模型本身性能還不足。

最終Mixed(Ensemble)模型在驗證集、測試集1和測試集2上的綜合性能,以及在測試集2上每個類別問題的性能如表5所示(驗證集性能計算由第三方腳本提供)。

表5 模型性能

4.3 模型性能及可擴展性分析

本文最終的Ensemble模型在高性能計算平臺上采用分布式訓練,訓練時間需要24小時。隨著互聯網文本數據的不斷增長,人們對機器閱讀能力期望的不斷提升,我們也需要設計更大復雜的網絡模型。得益于神經網絡的高度可并行性,通過高性能計算技術能夠大幅縮短訓練時間,提升迭代效率。我們針對數據特點進行壓縮提升讀取速度,采用分布式并行化處理提升模型運行效率,采用成熟的軟件接口來增加可移植性。隨著高性能計算技術的不斷發展,我們能夠構建更加復雜的網絡模型,不斷提升機器閱讀理解能力。

我們在設計模型時,考慮了模型在不同應用場景下的可擴展性。如本文的模型還能方便的擴展到其他閱讀理解場景中,如醫療數據文本分析處理、社交網絡問答數據處理等場景。

5 總結

我們對DuReader數據集進行了分析,并以BiDAF模型為基礎不斷改進,最終實現了一個在DuReader上擁有不錯性能的模型Mixed Model,在最終測試集2的排行榜上Rouge-L和Bleu-4分別位列第9名和第8名。受限于時間和模型實現速度,在比賽結束的時候還有很多希望嘗試的方向沒有進行嘗試,比如上下文向量、抽取式答案的改寫以及生成式的模型,之后會向這些方向探索。

猜你喜歡
語義單詞模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
語言與語義
單詞連一連
看圖填單詞
3D打印中的模型分割與打包
“上”與“下”語義的不對稱性及其認知闡釋
現代語文(2016年21期)2016-05-25 13:13:44
認知范疇模糊與語義模糊
最難的單詞
主站蜘蛛池模板: 一区二区三区国产精品视频| 国产成本人片免费a∨短片| 亚洲精品欧美日韩在线| 欧美成人综合在线| 2021国产v亚洲v天堂无码| 老色鬼久久亚洲AV综合| 超碰色了色| 国产精品内射视频| 久久人体视频| 免费看美女毛片| 青草视频免费在线观看| 欧美日韩亚洲国产| 日韩国产欧美精品在线| 一级毛片在线免费视频| 中文字幕2区| 国产精品手机在线观看你懂的| 污视频日本| 很黄的网站在线观看| 呦系列视频一区二区三区| 九九久久精品国产av片囯产区| 日本一区高清| 欧美日韩国产精品va| 亚洲色图欧美| 午夜福利无码一区二区| 国内自拍久第一页| 99草精品视频| 日韩一区二区三免费高清| 色国产视频| 亚洲精品视频网| 国产精品三级专区| 欧美日韩免费观看| 人妻精品久久无码区| 国产精品无码翘臀在线看纯欲| 国产精品免费电影| 四虎影视库国产精品一区| 99精品高清在线播放| 99免费视频观看| 国产高清精品在线91| 国产小视频在线高清播放 | 2048国产精品原创综合在线| 亚洲欧洲日韩久久狠狠爱| 亚洲欧美不卡| 色综合网址| 欧美日韩国产一级| 丰满人妻一区二区三区视频| 国产欧美日韩91| 久草视频一区| 这里只有精品在线| 91在线免费公开视频| 9cao视频精品| 国产av色站网站| 成人在线第一页| 五月激情婷婷综合| 一级毛片在线免费看| 国产精品人成在线播放| 亚洲视屏在线观看| 国产91视频免费| 欧美视频在线播放观看免费福利资源| 久久亚洲黄色视频| 欧美中文字幕第一页线路一| 国产精品嫩草影院视频| 精品国产成人av免费| 日韩欧美中文亚洲高清在线| 欧美激情第一欧美在线| 日韩在线2020专区| 伊人久综合| 国产网友愉拍精品视频| 久久性视频| 亚洲91精品视频| 99热亚洲精品6码| 99免费视频观看| 国产成人精品在线1区| 国产精品第三页在线看| 奇米精品一区二区三区在线观看| 91亚瑟视频| 久久精品无码国产一区二区三区 | 欧美日韩免费| 狠狠久久综合伊人不卡| 91精品小视频| 婷婷六月综合网| 亚洲天堂.com| 欧美高清三区|