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