孫一博, 秦 兵
(哈爾濱工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院社會計算與信息檢索研究中心, 哈爾濱150001)
近年來,機器閱讀理解任務(wù)引起了學(xué)界越來越多的關(guān)注,其旨在驗證機器以類似于人的方式理解文檔的能力。 基于神經(jīng)網(wǎng)絡(luò)的模型在機器閱讀理解任務(wù)上大獲成功,但大多數(shù)都是針對大量數(shù)據(jù)的數(shù)據(jù)集而設(shè)計的,例如:CNN,Squad,NewsQA 等。 本文要研究的中文高考閱讀理解任務(wù),由于其數(shù)據(jù)量較小,主流的神經(jīng)網(wǎng)絡(luò)模型在其上容易收斂失敗。
為了解決數(shù)據(jù)稀缺的問題,本文采用基于遷移學(xué)習(xí)的方法,即使用來自數(shù)據(jù)豐富的源領(lǐng)域的知識來幫助模型在數(shù)據(jù)稀少且不宜獲得的目標領(lǐng)域進行高效的訓(xùn)練[1]。 遷移學(xué)習(xí)在神經(jīng)網(wǎng)絡(luò)模型中的一個比較直觀的應(yīng)用是微調(diào)(fine-tuning),即用源領(lǐng)域的數(shù)據(jù)對模型進行預(yù)訓(xùn)練,應(yīng)用訓(xùn)練得到權(quán)重來初始化模型,隨后在目標領(lǐng)域的數(shù)據(jù)上通過反向傳播對模型的權(quán)重進行微調(diào)。
本文基于漸進神經(jīng)網(wǎng)絡(luò)(Progressive neural network)進行中文機器閱讀理解的研究。 漸進神經(jīng)網(wǎng)絡(luò)是近期提出的一種遷移學(xué)習(xí)框架,它使用橫向的鏈接機制來保留從歷史任務(wù)中學(xué)習(xí)得到的權(quán)重,從而在一定程度上解決了遷移學(xué)習(xí)中的災(zāi)難性遺忘問題[2]。 本文針對機器閱讀理解任務(wù)對漸進神經(jīng)網(wǎng)絡(luò)進行了擴展,使用注意力機制對不同任務(wù)間的表示進行計算,并且使用長短記憶網(wǎng)絡(luò)對得到的表示建模。 利用中國高考歷屆試卷構(gòu)建中文閱讀理解數(shù)據(jù)集CTARC 作為目標數(shù)據(jù)集,并使用已有的英文閱讀理解數(shù)據(jù)集RACE 作為源數(shù)據(jù)集。 實驗結(jié)果表明,本文提出的方法優(yōu)于所有的基線模型。
如圖1 所示,一個漸進神經(jīng)網(wǎng)絡(luò)由若干個互相鏈接的列組成,其中每列代表一個由參數(shù)構(gòu)成的L 層的神經(jīng)網(wǎng)絡(luò),每層都包含隱層輸出∈,其中ni是第j 列第i 層的輸出維度。 在第一列中,代表建模第一個任務(wù)的神經(jīng)模型的訓(xùn)練過程結(jié)束后,可以得到其參數(shù)。 隨后,在兩個任務(wù)的情況下,當(dāng)?shù)诙€任務(wù)來臨時,保持在第一個任務(wù)中學(xué)習(xí)到的參數(shù)不變,并使用隨機初始化的新參數(shù)初始化代表第二個任務(wù)的神經(jīng)網(wǎng)絡(luò)模型,其中該模型第i 層的輸入包含兩個部分:一部分來自第二個任務(wù)自身的輸入,另一部分來第一個任務(wù)上一層輸出的橫向連接。 具體的,當(dāng)推廣到K個任務(wù),這種用于融入歷史任務(wù)信息的橫向鏈接可以形式化為(1)式:
圖1 漸進神經(jīng)網(wǎng)絡(luò)Fig. 1 Progressive Neural Network
在漸進神經(jīng)網(wǎng)絡(luò)架構(gòu)中,單列的所有層都可以看作是一個單變量函數(shù)y =f(x),這種架構(gòu)適用于強化學(xué)習(xí),其中神經(jīng)模型的設(shè)計是為了解決特定的馬爾可夫決策過程。 當(dāng)嘗試將漸進神經(jīng)網(wǎng)絡(luò)框架應(yīng)用于閱讀理解模型時,為了找到文檔中與問題相關(guān)的部分,注意力機制幾乎在所有的為了閱讀理解設(shè)計的神經(jīng)模型中都經(jīng)常被使用。 注意力機制層通常以文檔表示和句子表示作為輸入,根據(jù)問題輸出文檔表示的加權(quán)求和,使得該層成為一個二元函數(shù),不符合原來的漸進神經(jīng)網(wǎng)絡(luò)框架。
為了克服這個限制,一個直接的方法是使用公式(2)分別處理兩個輸入,而不考慮它們之間的交互作用,這使得當(dāng)前任務(wù)中的注意力層的輸入和前一個任務(wù)中的輸入屬于不同的語義空間。 使用兩個不同的語義空間的組合可能會破壞原有的意義,這種方式很難從前面的注意層中學(xué)習(xí)到注意力權(quán)重。
如圖2 所示,為了能更好地學(xué)習(xí)注意力知識,本文提出了一種方法,旨在通過讓兩個語義空間的兩部分跨越不同的任務(wù)來進行注意力機制,縮短兩個語義空間之間的距離。 形式化的,用二元組 () 表示第j 列第i - 1 層的兩個輸出,用g 表示注意力機制的二元函數(shù),每個函數(shù)g 都有不同的參數(shù)。 在當(dāng)前列k,通過將對前序相應(yīng)位置做注意力機制,可以得到如下的兩個列表(3)和(4):
圖2 交叉注意力適配器Fig. 2 Cross Attention Adapter
實際上,列表C 代表不使用外部鏈接的條件下計算第i 層的注意力機制。 在跳過代表注意力機制的第i 層后,可以用漸進神經(jīng)網(wǎng)絡(luò)的方式計算第i +1 層的輸入。為了更好的獲得組合語義性的表達,相對于使用帶有非線性的前饋神經(jīng)網(wǎng)絡(luò),本文使用循環(huán)神經(jīng)網(wǎng)絡(luò)來構(gòu)建適配器模塊:首先,用列表A,B,C 和當(dāng)前的內(nèi)部注意力結(jié)果構(gòu)建了序列T =,g ()] 。 用 長 短 記 憶 神 經(jīng) 網(wǎng) 絡(luò)(LSTM)按(6)、(7)式得到其組合語義表示:
Stanford Attentive Reader cite 是一個強大的模型,在CNN 數(shù)據(jù)集上取得了最先進的結(jié)果。 作者聲稱,該模型在這個數(shù)據(jù)集上的性能幾乎達到了上限。
用(p,q,o) 來代表由文章,問題,選項,構(gòu)成三元組。 p =p1,…,pm和q =q1,…,ql是長度為m 和l的文章詞序列和問題詞序列,o =o1,…,oC是包含C個候選答案的答案集合,每個答案也是一個句子。任務(wù)的目標就是在集合o 中找到正確的答案。
類似的,使用雙向GRU 將選項oi編碼為oi,使用雙線性注意力機制計算選項與文章t 的相關(guān)性得分,并將該得分送入softmax 函數(shù)來得到最終的概率分布。 具體的,第i 個選項是正確答案的概率計算公式(10)為:
RACE 數(shù)據(jù)集是從中國三家大型免費的公共網(wǎng)站上收集到的原始數(shù)據(jù),其中閱讀理解題都是從中國老師設(shè)計的英語考試中提取出來的。 清洗前的數(shù)據(jù)共計137 918 篇文章、519 878 道題,其中初中組有38 159 篇文章、156 782 道題,高中組有99 759 篇文章、363 096 道題。 清洗后的數(shù)據(jù)量如表1 所示。
表1 數(shù)據(jù)集劃分Tab. 1 The separation of Dataset
本文收集了2004 ~2016 年中國高考的原始資料,其中閱讀理解題提取了中國高考專家設(shè)計的科普文章閱讀理解部分的閱讀理解題。 該部分中的文章主要是以科普類文章為主。 為了對原始數(shù)據(jù)進行清洗,進行了以下篩選步驟。 首先,刪除所有與問題設(shè)置格式不一致的問題和試題,例如:如果某道題的選項數(shù)不是4 個,就會被刪除。 同時,還刪除了所有含有“下劃線”或“段落”等關(guān)鍵詞的問題,因為下劃線和段落段信息的效果難以重現(xiàn)。 經(jīng)過過濾步驟后,一共得到176 個段落和486 個問題。 為了進行數(shù)據(jù)增強,用谷歌翻譯將得到的數(shù)據(jù)進行英文翻譯,得到了CTARC-E 數(shù)據(jù)集。 CTARC 數(shù)據(jù)集的詳細統(tǒng)計見表2。
表2 數(shù)據(jù)集統(tǒng)計Tab. 2 Dataset statistis
實驗結(jié)果如表3 所示,其中RACE single 代表在RACE 數(shù)據(jù)集上訓(xùn)練Stanford AR 模型,CTARC single in Chinese 代表在CTARC 數(shù)據(jù)集上訓(xùn)練Stanford AR 模 型,CTARC single in English 代 表 在CTARC-E 數(shù)據(jù)集上訓(xùn)練Stanford AR 模型,Twocolumn finetuning 代表使用微調(diào)做遷移學(xué)習(xí), Twocolumn PNN 代表使用原始的漸進神經(jīng)網(wǎng)絡(luò)做遷移學(xué)習(xí),Two-colum PNN+CRA 代表使用融合交叉注意力適配器的漸進神經(jīng)網(wǎng)絡(luò)做遷移學(xué)習(xí)。 在應(yīng)用漸進神經(jīng)網(wǎng)絡(luò)的設(shè)置時,使用RACE 作為第一個任務(wù),使用CTARC-E 作為第二個任務(wù)。
表3 實驗結(jié)果Tab. 3 Main results
Stanford AR 模型在RACE 數(shù)據(jù)集上的性能為43.3%,遠低于人類上限性能94.5%,這意味著RACE 是一個具有挑戰(zhàn)性的數(shù)據(jù)集,現(xiàn)有的模型可能會從數(shù)據(jù)集中學(xué)習(xí)到有限的知識。 然而,所有的遷移學(xué)習(xí)方法,都有助于模型在單一中文數(shù)據(jù)上集提高性能。 在這些方法中,本文提出的框架獲得了10%的顯著提高。 在遷移學(xué)習(xí)的三種設(shè)置中,Two-column finetuning 優(yōu)于Two-column PNN 3.7%,這表明使用原始的漸進神經(jīng)網(wǎng)絡(luò)對于處理閱讀理解問題并不是一種有效的方法。 本文所提出的方法的取得了最好的效果,顯示出了交叉注意力適配器的有效性。
基于遷移學(xué)習(xí)的方法利用從一個大型的英語數(shù)據(jù)集中轉(zhuǎn)移的知識來幫助模型更有效地解決中文高考中的閱讀理解任務(wù)。 本文提出了一種具有交叉注意力適配器的漸進神經(jīng)網(wǎng)絡(luò)模型,用于解決閱讀理解任務(wù)。 該方法在漸進神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上進行了改進,提供了一種跨越不同任務(wù)的注意力機制,并使用長短記憶神經(jīng)網(wǎng)絡(luò)來表示所有注意力層的組合輸出。 實驗結(jié)果表明,與所有的基線模型相比,該模型在解決目標中文閱讀理解任務(wù)上的表現(xiàn)更好。