趙加坤 戴夢瑤 劉江寧 邱超凡 趙子雙
(西安交通大學(xué)軟件學(xué)院 西安 710049)
機(jī)器閱讀理解(MRC)是自然語言處理中的一項具有挑戰(zhàn)性的任務(wù)。該任務(wù)在智能搜索、對話助手、智能客服等應(yīng)用中發(fā)揮著重要作用。近年來通過眾包或人工生成的方式,出現(xiàn)了許多激動人心的大型MRC 基準(zhǔn)數(shù)據(jù)集[1~5],其中Stanford Question answer Dataset(1.1)[3]及其補(bǔ)充版本(2.0)[5]尤其受歡迎。
得益于深度學(xué)習(xí)技術(shù)[6]和大規(guī)模MRC 基準(zhǔn)數(shù)據(jù)集[1~5]的快速發(fā)展,端到端神經(jīng)網(wǎng)絡(luò)在MRC 任務(wù)上取得了可喜的進(jìn)展。Hu 等[9]迭代地將文章與問題以及問題本身進(jìn)行對齊,以捕獲長距離的上下文交互作用。Liu 等[10]在訓(xùn)練過程中采取了隨機(jī)屏蔽預(yù)測方法。盡管有了這些進(jìn)展,但這些模型都遇到了一個普遍的問題,即由于RNNs 的順序性,它們在訓(xùn)練和推理方面都很耗時。這意味著需要等待很長一段時間才能得到直接反映所提方法正確性的實驗結(jié)果,并指導(dǎo)下一步的改進(jìn)方向。同時,緩慢的推理阻礙了MRC 系統(tǒng)在實時應(yīng)用中的部署。
在文章中,我們提出了一個快速有效的細(xì)粒度注意網(wǎng)絡(luò),如圖1 所示,旨在解決模型的慢度問題,同時保證良好的性能。
圖1 模型的整體架構(gòu)
這項工作的主要貢獻(xiàn)有三方面。首先,我們提出了一個新的神經(jīng)網(wǎng)DSRU。慢速堆疊式的RNN被快速的DSRU 取代。其次,我們提出一種新的指細(xì)粒度指針網(wǎng)絡(luò)。最后,我們的單一模型在SQuAD1.1 dev set 上獲得了77.9%的精確匹配精度和85.1%的F1分,與先進(jìn)的結(jié)果相當(dāng)。
我們設(shè)計DSRU 是為了取代傳統(tǒng)的慢速疊加的RNNs,并獲得比SRU 更好的性能。在SRU 的基礎(chǔ)上疊加另一個SRU,其中第二層的輸入是第一層輸入和輸出的組合。DSRU可以表述如下:
1)問題和文章編碼層
2)迭代對齊器
由于細(xì)粒度注意力機(jī)制的計算成本(時間、空間復(fù)雜度)比一般的注意力機(jī)制高,所以在迭代對準(zhǔn)器部分,F(xiàn)GAN 使用多頭的注意力機(jī)制而未采納細(xì)粒度注意力機(jī)制。
(1)對齊文章的問題層
在上下文向量中應(yīng)用門控機(jī)制的動機(jī)是在文章中可能存在若干個相同的詞語與問題中的某個詞具有相似的語義,但只有部分詞與回答問題相關(guān)。我們希望門控機(jī)制可以掩蓋不相關(guān)的文章內(nèi)容并強(qiáng)調(diào)重要內(nèi)容。
(2)對齊問題的文章層
類似于RNet[7],F(xiàn)GAN 通過共同關(guān)注機(jī)制在文章中搜索與問題相關(guān)的線索,該機(jī)制首先計算文章uˉP與問題uˉQ之間的相似性,然后基于相似性為文章生成問題表示u?Q的上下文信息cˉP。為了將問題的上下文信息融合到文章中,文章提出了一個名為gated_SFU 的雙重門控語義融合單元,其吸收了以下兩類門控機(jī)制的思想:①R-Net 模型中的附加門控機(jī)制,②本模型中對齊文章的問題層中的門控機(jī)制。得到問題的上下文向量u?Q。
基于初始狀態(tài)向量h0和文章表示u?P,F(xiàn)GAN預(yù)測出答案在文章中的開始位置p1,其根據(jù)如下公式可獲得:
式中:s?t為一個大小為D 維度的、表征問題的固定長度特征注意文章第t 個詞的得分向量;s?t為s?t的張量得分;a?t為文章中第t 個詞為答案起始位置的概率。
然后,F(xiàn)GAN 應(yīng)用兩種不同考量的歸一化機(jī)制對細(xì)粒度分?jǐn)?shù)s?t進(jìn)行歸一化,通過加權(quán)求和計算出上下文向量c1,如下所示:
通過使用隱藏狀態(tài)h1,以類似于計算起始答案位置p1的方式來計算答案結(jié)束位置p2,其如下所示:
本文主要通過SQuAD1.1 數(shù)據(jù)集進(jìn)行試驗評估。斯坦福大學(xué)官方給定了兩個度量準(zhǔn)則用以評估模型的性能:精確匹配(Exact Match,EM)得分測量模型預(yù)測的結(jié)果精確匹配其中一個真實答案的比率;F1 得分,其在字符層面上度量預(yù)測答案和真實答案之間的匹配度。F1 得分是預(yù)測答案和真實答案之間精確率(precision)和召回率(recall)的調(diào)和平均值,即:
表1 反映了本文提出的模型和其他競爭方法在SQuAD1.1 的評估結(jié)果。本文提出的模型FGAN在開發(fā)數(shù)據(jù)集上獲得了77.9%的EM 得分和85.1%的F1得分。
表1 FGAN模型及其他模型在SQuAD1.1數(shù)據(jù)集上的性能表現(xiàn)
本文評估了分別基于DSRU和stacked-RNN的FGAN 模型的速度。如表2 所示,在該實驗中,以2層GRU 為基礎(chǔ)的FGAN 模型,其每次訓(xùn)練100 個批次數(shù)據(jù)的時長為3.86min~4.34min,每秒處理6 個樣本;而以DSRU 為基礎(chǔ)的FGAN 模型其對應(yīng)時長為1.95min~2.15min,每秒處理13 個樣本。該結(jié)果反映DSRU的速度是兩層GRU速度的兩倍。此外,本文沒有使用CUDA 優(yōu)化過的SRU 對FGAN 進(jìn)行加速。
表2 基于DSRU和stacked GRU的FGAN模型在SQuAD1.1上的速度比較
為了評估FGAN 模型每個組成部分的個體貢獻(xiàn),本文在SQuAD 開發(fā)集進(jìn)行了減量研究,如表3所示。減少ELMo 特征導(dǎo)致模型性能下降4%,這表明具有語境信息的語言表示對閱讀理解模型的重要性。本文分別用兩層的GRU(stacked_GRU)和兩層SRU(stacked_SRU)替換DSRU,模型性能分別下降3.2%和3.6%;該結(jié)果表明本文提出DSRU的結(jié)構(gòu)比直接堆疊兩層的GRU 或SRU 效果好。最后,本文用一般的注意力機(jī)制替換本文修改后的細(xì)粒度注意力機(jī)制,模型的性能下降了接近1%,其有力地揭示了細(xì)粒度注意力機(jī)制的性能優(yōu)于一般的粗粒度注意力機(jī)制。
表3 FGAN在SQuAD1.1開發(fā)集上的減量結(jié)果(Ablation results)
SQuAD2.0 的評估準(zhǔn)則與SQuAD1.1 一致,即根據(jù)EM 得分及F1 得分對模型的性能給予評估。實驗結(jié)果:基于SQuAD2.0 開發(fā)集,F(xiàn)GAN+模型的實驗結(jié)果如表4 所示;FGAN+在SQuAD2.0 開發(fā)集上的得分優(yōu)于該任務(wù)的兩個基準(zhǔn)得分,但略低于最佳基準(zhǔn)得分。
表4 本文提出的FGAN+和三個基準(zhǔn)模型在SQuAD2.0開發(fā)集上的性能表現(xiàn)
本文提出了面向機(jī)器閱讀理解的快速有效的細(xì)粒度注意力模型FGAN。 FGAN 引入了更快的雙向DSRU 而不是傳統(tǒng)的堆疊式的雙向RNN 來編碼問題和文章;然后其通過多頭的共同注意和自我注意力機(jī)制以及門控語義融合單元組成的迭代對齊器去獲得注意問題的文章表示;最后其通過一個細(xì)粒度的指針網(wǎng)絡(luò)來預(yù)測答案邊界。在SQuAD1.1上的實驗表明,本文提出的快速模型可以獲得有競爭力的結(jié)果,優(yōu)于許多出色的系統(tǒng)。在未來的工作中,我們將嘗試設(shè)計新的推理方法來處理一個問題和包含答案的句子之間的句法分歧,并將語法和常識運(yùn)用到我們的系統(tǒng)中。