趙加坤 戴夢瑤 劉江寧 邱超凡 趙子雙
(西安交通大學軟件學院 西安 710049)
機器閱讀理解(MRC)是自然語言處理中的一項具有挑戰性的任務。該任務在智能搜索、對話助手、智能客服等應用中發揮著重要作用。近年來通過眾包或人工生成的方式,出現了許多激動人心的大型MRC 基準數據集[1~5],其中Stanford Question answer Dataset(1.1)[3]及其補充版本(2.0)[5]尤其受歡迎。
得益于深度學習技術[6]和大規模MRC 基準數據集[1~5]的快速發展,端到端神經網絡在MRC 任務上取得了可喜的進展。Hu 等[9]迭代地將文章與問題以及問題本身進行對齊,以捕獲長距離的上下文交互作用。Liu 等[10]在訓練過程中采取了隨機屏蔽預測方法。盡管有了這些進展,但這些模型都遇到了一個普遍的問題,即由于RNNs 的順序性,它們在訓練和推理方面都很耗時。這意味著需要等待很長一段時間才能得到直接反映所提方法正確性的實驗結果,并指導下一步的改進方向。同時,緩慢的推理阻礙了MRC 系統在實時應用中的部署。
在文章中,我們提出了一個快速有效的細粒度注意網絡,如圖1 所示,旨在解決模型的慢度問題,同時保證良好的性能。

圖1 模型的整體架構
這項工作的主要貢獻有三方面。首先,我們提出了一個新的神經網DSRU。慢速堆疊式的RNN被快速的DSRU 取代。其次,我們提出一種新的指細粒度指針網絡。最后,我們的單一模型在SQuAD1.1 dev set 上獲得了77.9%的精確匹配精度和85.1%的F1分,與先進的結果相當。

我們設計DSRU 是為了取代傳統的慢速疊加的RNNs,并獲得比SRU 更好的性能。在SRU 的基礎上疊加另一個SRU,其中第二層的輸入是第一層輸入和輸出的組合。DSRU可以表述如下:


1)問題和文章編碼層


2)迭代對齊器
由于細粒度注意力機制的計算成本(時間、空間復雜度)比一般的注意力機制高,所以在迭代對準器部分,FGAN 使用多頭的注意力機制而未采納細粒度注意力機制。
(1)對齊文章的問題層

在上下文向量中應用門控機制的動機是在文章中可能存在若干個相同的詞語與問題中的某個詞具有相似的語義,但只有部分詞與回答問題相關。我們希望門控機制可以掩蓋不相關的文章內容并強調重要內容。
(2)對齊問題的文章層
類似于RNet[7],FGAN 通過共同關注機制在文章中搜索與問題相關的線索,該機制首先計算文章uˉP與問題uˉQ之間的相似性,然后基于相似性為文章生成問題表示u?Q的上下文信息cˉP。為了將問題的上下文信息融合到文章中,文章提出了一個名為gated_SFU 的雙重門控語義融合單元,其吸收了以下兩類門控機制的思想:①R-Net 模型中的附加門控機制,②本模型中對齊文章的問題層中的門控機制。得到問題的上下文向量u?Q。

基于初始狀態向量h0和文章表示u?P,FGAN預測出答案在文章中的開始位置p1,其根據如下公式可獲得:

式中:s?t為一個大小為D 維度的、表征問題的固定長度特征注意文章第t 個詞的得分向量;s?t為s?t的張量得分;a?t為文章中第t 個詞為答案起始位置的概率。
然后,FGAN 應用兩種不同考量的歸一化機制對細粒度分數s?t進行歸一化,通過加權求和計算出上下文向量c1,如下所示:

通過使用隱藏狀態h1,以類似于計算起始答案位置p1的方式來計算答案結束位置p2,其如下所示:

本文主要通過SQuAD1.1 數據集進行試驗評估。斯坦福大學官方給定了兩個度量準則用以評估模型的性能:精確匹配(Exact Match,EM)得分測量模型預測的結果精確匹配其中一個真實答案的比率;F1 得分,其在字符層面上度量預測答案和真實答案之間的匹配度。F1 得分是預測答案和真實答案之間精確率(precision)和召回率(recall)的調和平均值,即:

表1 反映了本文提出的模型和其他競爭方法在SQuAD1.1 的評估結果。本文提出的模型FGAN在開發數據集上獲得了77.9%的EM 得分和85.1%的F1得分。

表1 FGAN模型及其他模型在SQuAD1.1數據集上的性能表現
本文評估了分別基于DSRU和stacked-RNN的FGAN 模型的速度。如表2 所示,在該實驗中,以2層GRU 為基礎的FGAN 模型,其每次訓練100 個批次數據的時長為3.86min~4.34min,每秒處理6 個樣本;而以DSRU 為基礎的FGAN 模型其對應時長為1.95min~2.15min,每秒處理13 個樣本。該結果反映DSRU的速度是兩層GRU速度的兩倍。此外,本文沒有使用CUDA 優化過的SRU 對FGAN 進行加速。

表2 基于DSRU和stacked GRU的FGAN模型在SQuAD1.1上的速度比較
為了評估FGAN 模型每個組成部分的個體貢獻,本文在SQuAD 開發集進行了減量研究,如表3所示。減少ELMo 特征導致模型性能下降4%,這表明具有語境信息的語言表示對閱讀理解模型的重要性。本文分別用兩層的GRU(stacked_GRU)和兩層SRU(stacked_SRU)替換DSRU,模型性能分別下降3.2%和3.6%;該結果表明本文提出DSRU的結構比直接堆疊兩層的GRU 或SRU 效果好。最后,本文用一般的注意力機制替換本文修改后的細粒度注意力機制,模型的性能下降了接近1%,其有力地揭示了細粒度注意力機制的性能優于一般的粗粒度注意力機制。

表3 FGAN在SQuAD1.1開發集上的減量結果(Ablation results)
SQuAD2.0 的評估準則與SQuAD1.1 一致,即根據EM 得分及F1 得分對模型的性能給予評估。實驗結果:基于SQuAD2.0 開發集,FGAN+模型的實驗結果如表4 所示;FGAN+在SQuAD2.0 開發集上的得分優于該任務的兩個基準得分,但略低于最佳基準得分。

表4 本文提出的FGAN+和三個基準模型在SQuAD2.0開發集上的性能表現
本文提出了面向機器閱讀理解的快速有效的細粒度注意力模型FGAN。 FGAN 引入了更快的雙向DSRU 而不是傳統的堆疊式的雙向RNN 來編碼問題和文章;然后其通過多頭的共同注意和自我注意力機制以及門控語義融合單元組成的迭代對齊器去獲得注意問題的文章表示;最后其通過一個細粒度的指針網絡來預測答案邊界。在SQuAD1.1上的實驗表明,本文提出的快速模型可以獲得有競爭力的結果,優于許多出色的系統。在未來的工作中,我們將嘗試設計新的推理方法來處理一個問題和包含答案的句子之間的句法分歧,并將語法和常識運用到我們的系統中。