魯 強,劉興昱
(石油數(shù)據(jù)挖掘北京市重點實驗室(中國石油大學(北京)),北京 102249)(*通信作者電子郵箱luqiang@cup.edu.cn)
基于知識圖譜問答系統(tǒng)[1-2]中的語義匹配是指根據(jù)用戶輸入的問句,在特定知識圖譜中匹配與該問句對應的關系。在所有問句中有一種只需要知識圖譜中單一事實(三元組)作為支持證據(jù)的問句,在本文稱其為單一事實類問句。例如問句“奧巴馬的夫人是誰?”能夠被單一事實〈奧巴馬,配偶,米歇爾〉回答。為了回答單一事實類問句,需要在知識圖譜中匹配與問句相對應的關系,如例句對應知識圖譜中的關系是“配偶”,本文稱該任務為語義匹配任務。語義匹配任務可表示為概率形式:給定單一事實類問句q,從知識圖譜K中找出關系r*,使其最大化條件概率p(r|q),即:
(1)
在特定領域的問答系統(tǒng)中,例如石油勘探、醫(yī)療等領域,由于數(shù)據(jù)來源有限、人工標注樣本的難度和成本過高,經(jīng)常只能獲取少量(數(shù)千條)的有標注樣本。而當前解決語義匹配任務的方法[3-6]主要是有監(jiān)督的學習方法,這些方法的語義匹配準確率依賴于標注樣本的數(shù)據(jù)量,在標注樣本數(shù)量較少的情況下難以學習到較高的語義匹配準確率,但是大部分情況下,通過互聯(lián)網(wǎng)等途徑容易獲取大量通用領域的無標注樣本,因此研究利用這些無標注樣本來提高語義匹配的準確率具有重要意義。
通過引入大量通用領域(源領域)的無標注樣本來提升少量專業(yè)領域(目標領域)有標注樣本學習效果的方法,可以看作是一種遷移學習方法[7]。已知的遷移學習方法[8-11]通常假設源領域采用有標注樣本進行訓練,不能直接解決本文提出的問題。其中自學習方法[12]跟本文提出的問題比較接近,但其源領域的無監(jiān)督學習方法適合處理圖像數(shù)據(jù),無法直接應用于自然語言處理問題。至于自然語言處理方面的無監(jiān)督學習方法主要有word2vec[13]、GloVe[14]等方法,但是這些方法只解決了詞粒度的語義學習,不能學習到句子粒度的語義特征,因此需要設計一種能夠解決源領域是無標注自然語言數(shù)據(jù)的遷移學習模型。
本文針對特定領域內(nèi)有標注樣本數(shù)量不足的問題,提出一種基于循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network, RNN)的遷移學習模型,能夠利用大量無標注樣本學習問句的語義空間分布以提高語義匹配準確率,進而解決面向特定領域單一事實類問答系統(tǒng)中的語義匹配任務。該模型首先使用基于RNN的序列到序列(sequence-to-sequence, seq2seq)無監(jiān)督學習算法,通過序列重構的方式在大量無標注樣本中學習問句的語義空間分布,即詞向量和RNN,作為遷移學習模型中源領域的特征空間分布。然后,使用此語義空間分布作為有監(jiān)督語義匹配算法相應的參數(shù)。最后,通過計算問句特征和關系特征內(nèi)積的方式,在有標注樣本下訓練并生成語義匹配模型,其中通過線性函數(shù)來建立源領域語義空間分布到目標領域語義空間分布的映射。實驗結果表明,與傳統(tǒng)的有監(jiān)督學習方法相比,本文提出的遷移學習模型在小規(guī)模有標注樣本中取得較高語義匹配準確率。此模型在解決因特定領域標注樣本不足而導致語義匹配準確率不高的問題有重要意義。此外,該模型還可以擴展應用到如情感分析等其他的語義匹配相關任務。
本文主要研究工作如下:
1)提出了序列到序列無監(jiān)督學習問句語義空間分布的算法,該算法使用大量無標注樣本學習問句的語義空間分布,作為遷移學習模型中源領域的特征空間分布;
2)提出了基于RNN的遷移學習模型,該模型通過將源領域的語義空間分布映射到目標領域的語義空間分布來提高語義匹配準確率;
3)通過實驗驗證了基于遷移學習的語義匹配模型在小規(guī)模標注樣本情況下可以提高語義匹配準確率。
在基于知識圖譜單一事實類問答系統(tǒng)的研究工作中,一條傳統(tǒng)的研究線路是采用語義解析的方式[15],該方式針對特定領域設計語法解析規(guī)則,對于規(guī)則可以覆蓋到的情況有較高的準確率,但是泛化能力較差,不易擴展。
除此之外,另一條重要的研究線路是詞嵌入方式[16],這種方式主要使用基于深度學習的相似匹配來完成語義匹配任務。其核心思想是學習問句和知識圖譜中關系的語義特征向量表示,使相匹配的問句和關系在向量空間中距離最接近。目前已經(jīng)提出很多基于神經(jīng)網(wǎng)絡學習問句和關系語義特征的方法。其中:Bordes等[3]使用相對淺層的詞嵌入模型學習問句和關系的語義向量空間分布;Yih等[4]使用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)生成問句和關系的語義向量空間分布;Dai等[5]使用RNN提取問句的語義向量空間分布。詞嵌入方式具有很強的泛化能力,易于擴展,但是該方式采用有監(jiān)督學習模型,依賴于有標注樣本數(shù)量,在標注樣本數(shù)量少的情況下準確率不高。
本文提出的方法接近第二條研究線路,應用神經(jīng)網(wǎng)絡學習問句和關系的語義特征向量表示;但是有別于傳統(tǒng)的有監(jiān)督學習算法,本文提出遷移學習模型來解決標注樣本不足的問題,通過無監(jiān)督算法預學習問句的語義空間分布來提高有監(jiān)督語義匹配算法的準確率。該方法解決了有監(jiān)督學習算法在特定領域標注樣本數(shù)量少而語義匹配準確率不高的問題,擁有更強的泛化能力。
遷移學習[7]主要分為基于實例和基于特征的兩種方式。其中基于實例的方法,具有代表性的工作有Dai等[8]提出的提升方法,其通過改變源領域和目標領域中有標注數(shù)據(jù)樣本的權值來達到遷移學習的目的;但基于實例的方法通常假設源領域和目標領域都是有標注數(shù)據(jù),而本文中源領域采用無標注數(shù)據(jù),目標領域采用有標注數(shù)據(jù),所以不適用于本文提出的問題。
此外,基于特征的方法對于源領域和目標領域是否有標簽沒有嚴格要求,其主要解決兩個問題:如何學習特征和如何遷移特征。例如Oquab等[9]提出的基于特征遷移的方法與本文方法比較接近,其首先通過有監(jiān)督訓練方式學習得到源領域的分類器,然后將該分類器的模型參數(shù)作為目標領域分類器參數(shù)的初始值,最終通過訓練目標領域的有標注數(shù)據(jù)學習得到目標領域的分類器。由于該方法假設源領域是有標注數(shù)據(jù),所以具有一定局限性,不能完全適用本文所要解決的問題。在圖像識別領域,Raina等[12]提出的自學習方法與本文方法更加接近,其首先通過源領域無標注數(shù)據(jù)學習得到表示圖像的基特征;然后根據(jù)上步的基來表示目標領域的有標注數(shù)據(jù);最終根據(jù)這些數(shù)據(jù)的特征進行有監(jiān)督訓練學習得到目標領域的分類器。本文與自學習方法的主要區(qū)別在于學習無標注數(shù)據(jù)特征的方法不同,并且特征遷移的方式也有所區(qū)別。近幾年領域適應(domain adaptation)[10-11]結合對抗訓練思想取得了一些進展,但是由于這些方法假設源領域采用有標注數(shù)據(jù),目標領域采用無標注數(shù)據(jù),所以不能直接解決本文提出的問題。
本文假設Dt={〈qt,r〉|qt∈Qt,r∈K}表示目標領域的有標注數(shù)據(jù)集,其中Qt是有標注問句集,關系r取自知識圖譜K;Ds={〈qs〉|qs∈Qs}表示源領域的無標注數(shù)據(jù)集,其中Qs是無標注問句集。需要強調(diào)的是有標注數(shù)據(jù)集的數(shù)據(jù)量遠遠少于無標注數(shù)據(jù)集的數(shù)據(jù)量,即|Qt|?|Qs|,并且無標注問句Qs不需要與有標注問句Qt符合同一分布。由于目標領域有標注數(shù)據(jù)量較少,難以直接學習得到準確率較高的語義匹配模型;而源領域無標注數(shù)據(jù)量龐大,可以用來輔助學習語義匹配模型。本文通過將源領域中無標注問句的語義空間分布Fs映射到目標領域中有標注問句的語義空間分布Ft來提高語義匹配準確率,得到語義匹配模型h:
(2)
首先為了學習得到源領域中無標注問句的語義空間分布Fs,本文使用無監(jiān)督學習算法,令qs=d(Fs(qs)),其中Fs也可以視為源領域問句的編碼過程,d表示解碼過程,最終通過類似自編碼的方式學習得到Fs。
然后通過特征遷移的方式令Ft(qt)=φ(Fs(qt)),其中映射函數(shù)φ將源領域語義空間分布Fs映射到目標領域語義空間分布Ft。
最后語義匹配模型h(qt,r)=f(Ft(qt),r),其中f表示問句與關系的語義匹配函數(shù),即語義匹配模型推導為:
(3)
本文提出的遷移學習模型通過預學習大量無標注樣本數(shù)據(jù)的語義空間分布來提高小規(guī)模標注樣本環(huán)境下的語義匹配準確率。如圖1所示,步驟①用于學習無標注問句的語義特征,本文使用基于RNN的序列到序列無監(jiān)督學習算法,在大量無標注樣本Ds中學習問句的語義空間分布Fs,而此空間分布Fs由詞向量Es和編碼RNNEncoders組成,解碼過程d由Decoders組成,該部分在3.2節(jié)詳細描述;步驟②用于遷移參數(shù),本文使用步驟①中學習得到的語義空間分布作為有監(jiān)督語義匹配算法中詞向量Et和編碼RNNEncodert的參數(shù),即令Et=Es,Encodert=Encoders;在步驟③中,本文使用有標注樣本Dt訓練生成語義匹配模型h,其中將線性函數(shù)Linear作為特征映射函數(shù)φ來建立源領域語義空間分布到目標領域語義空間分布的映射,語義匹配函數(shù)f通過內(nèi)積(Linear(ct)TEr(r))的方式計算問句與關系的語義匹配程度,該部分在3.3節(jié)詳細描述。本文最后在3.4節(jié)詳細闡述了遷移學習模型的整體訓練算法。
圖1 遷移學習模型框架
本文通過序列到序列算法[17]學習源領域問句Qs的語義空間分布。該算法在給定輸入序列x=(x1,x2,…,xT)后,可以計算與之相對應的最可能的輸出序列y=(y1,y2,…,yT′),其采用兩種RNN共同訓練以最大化lnP(y|x),其中所有序列的結尾加入“
vs=Es(x)
(4)
cs=Encoders(vs)
(5)
y=Decoders(cs)
(6)
其中編碼部分首先通過一層詞嵌入層Es將詞序列x映射到分布式的向量表示vs,然后經(jīng)過由兩層BiLSTM組成的編碼器Encoders轉化為固定長度的向量cs,作為問句的語義特征向量表示,其中cs是BiLSTM的最終隱層狀態(tài);解碼器Decoders通過另外的一層LSTM進行解碼得到輸出序列y。最終通過自編碼的方式使詞嵌入層Es和編碼RNNEncoders學習到源領域問句的語義空間分布。
本文采用最大似然估計(Maximum Likelihood Estimation, MLE)和反向傳播(Back Propagation, BP)算法訓練序列到序列算法的參數(shù),解碼器Decoders以固定長度的向量cs為條件計算y=(y1,y2,…,yT′)的產(chǎn)生概率,計算公式如下:
其中,每一個p(yt|cs,y1,…,yt-1)的分布由作用于詞嵌入層中所有詞的softmax函數(shù)表示。
本文定義給定目標領域問句qt與對應關系r的概率為p(r|qt),由以下公式建模:
(8)
其中r′是知識圖譜K中的負例關系,打分函數(shù)s(r,qt)衡量了問句和關系的匹配相似度,計算公式如下:
s(r,qt)=g(qt)TEr(r)
(9)
其中,關系的詞嵌入層Er將關系r映射到分布式的向量表示,作為關系的語義空間分布。Er中的關系向量參數(shù)經(jīng)過語義匹配算法的神經(jīng)網(wǎng)絡訓練得到。g(qt)計算了問句的語義向量,代表問句的語義空間分布,兩者語義向量的內(nèi)積數(shù)值代表兩者語義向量的空間距離大小,內(nèi)積得分越高代表兩者語義向量的空間距離越近,即兩者語義的匹配程度越高,其計算過程如式(10)~(12)所示:
vt=Et(qt)
(10)
ct=Encodert(vt)
(11)
g(qt)=Linear(ct)
(12)
其中g(qt)先由一層詞嵌入層Et將詞序列qt映射為分布式的向量表示vt,然后經(jīng)過由兩層BiLSTM組成的編碼器Encodert學習問句的語義特征向量ct,其中ct是BiLSTM的最終隱層狀態(tài),最終經(jīng)過一層線性層Linear進一步學習問句的語義空間分布,并將ct映射到與Er中向量維數(shù)相等的向量空間。
本文采用MLE和BP算法估計語義匹配算法中pθ(r|qt)的參數(shù)θ:
(13)
本文采用基于負采樣的合頁損失(Hinge Loss)函數(shù)作為語義匹配算法訓練過程中的損失函數(shù),其計算公式如下:
(14)
其中:N是Dt中的樣本數(shù)量;rj是負例集合Mr中的一個負例,隨機從知識圖譜K中采樣;γ是預設的邊界值。
綜上所述,此遷移學習模型的訓練算法如下所示。
Input:Ds,Dt。
Output:Et,Encodert,Linear,Er。
1) Training semantic space distribution:
2) Randomly initialize the parameters ofEs,Encoders,Decoderslayers
3) On theDsdata set, the parameters of each layer are unsupervised trained by MLE and BP algorithm according to formula (7)
4) Get the parameters ofEs,Encoders,Decoderslayers
5) Training semantic matching:
6) LetEt=Es,Encodert=Encoders, and random initialize the parameters ofLinearandErlayers
7) On theDtdata set, the parameters ofEt,Encodert,Linear,Erlayers are supervisedly trained by MLE and BP algorithm according to formula (14)
8) Get the parameters ofEt,Encodert,Linear,Erlayers
該訓練算法的輸入是無標注數(shù)據(jù)集Ds和有標注數(shù)據(jù)集Dt,輸出是語義匹配算法中Et、Encodert、Linear、Er層的參數(shù)。其中第1)~4)行用來訓練源領域的語義空間分布,第2)行是隨機初始化Es、Encoders、Decoders層的參數(shù),第3)行是在無標注數(shù)據(jù)集Ds上根據(jù)式(7)采用MLE和BP算法無監(jiān)督訓練各層的參數(shù),第4)行是得到訓練完成后Es、Encoders、Decoders層的參數(shù);第5)~8)行用來訓練語義匹配算法,第6)行是用第4)行得到的Es、Encoders層的參數(shù)作為Et、Encodert層的初始值,并隨機初始化Linear、Er層的參數(shù),第7)行是在有標注數(shù)據(jù)集Dt上根據(jù)式(14)采用MLE和BP算法有監(jiān)督訓練各層的參數(shù),第8)行是得到訓練完成后Et、Encodert、Linear、Er層的參數(shù)。
語義匹配算法分別采用三套有標注數(shù)據(jù)集作為遷移學習的目標領域。為了驗證本文提出的遷移學習算法在特定專業(yè)領域有標注數(shù)據(jù)量較少情況下的效果,本文制定了一套中文有標注數(shù)據(jù)集OIL進行實驗,該數(shù)據(jù)集由4 465條有標注數(shù)據(jù)組成,主要涉及石油探勘領域,并且該數(shù)據(jù)集的每條問句都對應同一個石油勘探領域知識圖譜的實體-關系-客體三元組。
除此之外,為了驗證算法的有效性和泛化能力,本文采用兩套英文數(shù)據(jù)集WebQuestions(WBQ)[15]和SIMPLE-QUESTIONS(SQ)[19]。WBQ包含5 810條有標注數(shù)據(jù),SQ包含108 442條有標注數(shù)據(jù)。WBQ和SQ中的每條問句分別對應來自Freebase[20]知識圖譜中的實體-關系-客體三元組,主要涉及人物、地理等有限的幾個領域。
本文將以上有標注數(shù)據(jù)集全部按照訓練70%、驗證10%和測試20%進行劃分。
序列到序列算法采用兩套無標注數(shù)據(jù)作為遷移學習的源領域。中文采用WebQA[21]作為訓練集,該數(shù)據(jù)集來源于某度知道的問答語料,包含42 223條無標注問句樣本,主要涉及人文、地理、影視、學科知識以及一些專業(yè)性的領域等多種領域。英文采用WikiAnswers Paraphrase(WAP)[22]數(shù)據(jù)集作為訓練集,該數(shù)據(jù)集來源于WikiAnswers互動問答網(wǎng)站,用戶可以在該網(wǎng)站提問或回答任何問題。該數(shù)據(jù)集包含258萬條無標注問句樣本,沒有包含與之匹配的關系,其中問句涉及科技、生活、人文、歷史、地理等眾多領域,問句描述較為復雜,有些問句可能涉及多種關系。
本實驗采用Tensorflow[23]深度學習開發(fā)平臺,其中問句詞向量的維數(shù)設為200,所有RNN結構體的隱層大小設為256,關系詞向量維數(shù)設為256;其中問句詞向量和關系詞向量參數(shù)的隨機初始值滿足均值為0,標準差為1E-4的正態(tài)分布,RNN參數(shù)的隨機初始值都采用服從[-1,1]均勻分布的初始化方式;所有合頁損失函數(shù)的邊界值γ設為0.1,負采樣數(shù)量設為1 024;所有實驗采用基于mini-batch的Adam[24]優(yōu)化方式訓練參數(shù),學習率設為0.001。
本實驗采用詞嵌入平均模型[3]作為對照基準,該模型的核心思想是采用問句中每個詞向量的平均值作為其問句的向量表示,本文稱之為Embed-AVG(Average Embeddings)。此外,本文將基于遷移學習的語義匹配模型稱為RNNpretrain,將基于RNN的完全隨機初始化參數(shù)進行監(jiān)督訓練的語義匹配算法稱為RNNrandom(random initialization of RNN)。
為了驗證遷移學習算法在小規(guī)模標注樣本環(huán)境下的學習效果,本文分別設置了三組對照實驗數(shù)據(jù)。如表1所示,語義匹配算法數(shù)據(jù)集表示Embed-AVG、RNNrandom和RNNpretrain語義匹配模型采用的訓練集和測試集,序列到序列算法數(shù)據(jù)集表示RNNpretrain中序列到序列算法訓練階段的訓練集。其中SQ(5k)表示從SQ數(shù)據(jù)集中隨機抽樣5 000條樣本,WAP(200k)表示從WAP數(shù)據(jù)集中隨機抽樣20萬條樣本。
除此之外,為了驗證有標注樣本的數(shù)據(jù)量對實驗的影響,本實驗從SQ數(shù)據(jù)集的訓練集中分別隨機采樣,產(chǎn)生多個不同數(shù)量的樣本集,作為Embed-AVG、RNNrandom和RNNpretrain語義匹配模型的訓練集。為了驗證無標注樣本的數(shù)據(jù)量對實驗的影響,本實驗從WAP數(shù)據(jù)集中分別隨機采樣,產(chǎn)生多個不同數(shù)量的樣本集,作為RNNpretrain中序列到序列算法訓練階段的訓練集。最終所有語義匹配算法的評估全部采用SQ數(shù)據(jù)集的21 687條測試樣本作為測試集。本文實驗以目標關系得分最高視為匹配正確,以問句和關系的匹配正確率作為評估標準。
表1 實驗數(shù)據(jù)集設置
圖2展示了Embed-AVG、RNNrandom和RNNpretrain算法分別在data1、data2和data3數(shù)據(jù)集上的表現(xiàn)。從圖2可以明顯看出,在有標注數(shù)據(jù)量較少的情況下,RNNpretrain在各個數(shù)據(jù)集上的準確率,與RNNrandom相比分別大約提高8.6、9.1和8.8個百分點,平均提高8.8個百分點;與Embed-AVG相比分別大約提高6.7、5.7和4.4個百分點,平均提高5.6個百分點。甚至簡單的Embed-AVG也比RNNrandom的學習效果好。從中可以看出RNNrandom在有標注樣本規(guī)模很小的情況下學習效果比較差,因為越復雜的模型需要越多數(shù)據(jù)進行訓練學習。而本文提出的RNNpretrain可以在有標注數(shù)據(jù)量較少的情況下,通過學習大量無標注數(shù)據(jù)來明顯提高語義匹配準確率。
圖2 各語義匹配模型對不同測試數(shù)據(jù)集測試準確率
此外,為了展示有標注樣本和無標注樣本的數(shù)據(jù)量對實驗的影響,表2列舉了各個模型分別在不同有標注數(shù)據(jù)量和不同無標注數(shù)據(jù)量學習后的語義匹配準確率,其中:SQ后面的括號內(nèi)容表示語義匹配算法訓練階段在SQ數(shù)據(jù)集中隨機采樣的樣本數(shù)量,WAP后面的括號內(nèi)容表示序列到序列算法訓練階段從WAP數(shù)據(jù)集中隨機采樣的樣本數(shù)量。例如:SQ(20k)情況下的Embed-AVG和RNNrandom分別表示從SQ數(shù)據(jù)集中隨機采用兩萬條樣本用來訓練其語義匹配算法;SQ(5k)情況下的RNNpretrain(WAP100k)表示RNNpretrain模型首先從WAP數(shù)據(jù)集中隨機采樣10萬條樣本用來訓練序列到序列算法,然后從SQ數(shù)據(jù)集中隨機采用5 000條樣本用來訓練語義匹配算法。圖3以折線圖的方式描繪了表2中的數(shù)據(jù),通過圖3可以更加明顯地觀察到所有語義匹配算法的準確率在不同數(shù)量訓練樣本上的變化趨勢,以及其相互間的差距。
表2 語義匹配模型測試準確率對比 %
從表2可以看出在SQ(5k)的情況下,RNNpretrain(WAP200k)的準確率分別比RNNpretrain(WAP50k)和RNNpretrain(WAP100k)大約提高3.7和2.8個百分點,說明在一定范圍內(nèi)使用相同數(shù)量的有標注樣本,RNNpretain會隨著預訓練無標簽樣本W(wǎng)AP數(shù)量的增加而提高語義匹配準確率,說明增加無標注樣本數(shù)量可以提升語義特征提取效果,使源領域學習到的語義空間分布能更大程度地覆蓋目標領域的語義空間分布。
此外,RNNpretrain(WAP200k)使用5k有標注樣本訓練得到的學習效果超過了Embed-AVG使用10k有標注樣本訓練得到的學習效果,體現(xiàn)了遷移學習算法在小規(guī)模樣本集上優(yōu)越的性能。而且隨著有標注樣本數(shù)量的增加,RNNrandom的學習效果逐漸超越了Embed-AVG的學習效果,證明在有監(jiān)督學習中,越復雜的模型需要越多數(shù)據(jù)進行訓練學習。
從圖3可以看出,隨著有標注樣本數(shù)量的增加,RNNrandom的學習效果將會縮小與RNNpretrain的差距。其中RNNpretrain(WAP200k)的準確率相比RNNrandom在SQ(5k)、SQ(10k)的情況下分別大約提升8.6和2.3個百分點。這主要有兩點原因:一個直觀的原因是增加有標注樣本的數(shù)量,可以學習到更加精準的目標領域語義空間分布,進而提升語義匹配準確率,但是在專業(yè)領域的實際開發(fā)中,難以獲得數(shù)量足夠龐大的有標注樣本集;另一個原因是當RNNpretrain使用相同數(shù)量的無標注樣本,在序列到序列算法訓練階段沒有學習到更加通用的問句語義空間分布時,隨著有標注樣本的增加,將會減弱這些預訓練得到的特征在有監(jiān)督訓練中發(fā)揮的作用。
圖3 各語義匹配模型在不同數(shù)據(jù)集規(guī)模時測試準確率
為了更加直觀地分析實驗結果,本文采用t-SNE(t-distributed Stochastic Neighbor Embedding)[25]算法將各個模型的詞向量映射到二維空間并進行可視化展示。如圖4,本文畫出了詞頻數(shù)量排名前300的詞向量,其中,“+”符號表示源領域詞向量的分布,此分布通過對源領域數(shù)據(jù)使用序列到序列(seq2seq)算法進行預訓練而生成;“o”符號表示目標領域詞向量分布,此分布通過對目標領域有標注數(shù)據(jù)使用RNNrandom算法訓練而生成;“△”符號表示源領域到目標領域遷移后的詞向量分布,此分布通過RNNpretrain算法訓練而生成。其中每一幅對比圖中RNNpretrain和RNNrandom使用的有標注樣本SQ完全相同,例如“SQ (10k) WAP (50k)”表示序列到序列算法采用50 000的WAP進行訓練,RNNpretrain在該預訓練基礎上采用10 000的SQ數(shù)據(jù)進行訓練,RNNrandom采用同樣10 000的SQ數(shù)據(jù)進行訓練。
從圖4(a)可以看出,源領域(“+”符號)與目標領域(“o”符號)的詞向量分布雖然有較大差異但是也有相似的部分,最終源領域經(jīng)過遷移學習之后的詞向量分布(“△”符號)趨近于目標領域的詞向量分布,發(fā)生了明顯的遷移現(xiàn)象。由此可以說明本文提出的遷移學習方法可以將源領域的詞向量分布遷移到目標領域的詞向量分布,進而提升最終的語義匹配準確率。從圖4(b)和圖4(a)對比來看,在增加無標注樣本的情況下,源領域的詞向量分布更加全面廣泛,經(jīng)過遷移學習后的詞向量分布更接近目標領域的詞向量分布。這說明增加無標注樣本可以學習到更通用的源領域詞向量分布,使遷移現(xiàn)象更加明顯,進而更加有效地提升語義匹配準確率。從圖4(c)和圖4(b)對比來看,在增加有標注樣本的情況下,目標領域的詞向量分布更加廣泛并且與源領域詞向量分布的差異變小,經(jīng)過遷移學習后的詞向量分布非常接近目標領域,發(fā)生了較弱的遷移現(xiàn)象。這說明增加有標注樣本可以學習到更好的目標領域詞向量分布,在源領域沒有學習到更通用的詞向量分布的前提下,會降低遷移學習的提升效果。
圖4 詞向量空間分布圖
此外,為了更好地展示實驗結果,本實驗列舉出一些具體的例子。例如有標注數(shù)據(jù)集OIL的測試集中存在樣本〈“油氣開采技術水平的重要指標是什么?”,“評價標準”〉,輸入該樣本中的問句,RNNrandom計算出得分前兩名的關系為“重要環(huán)節(jié)(0.71),評價標準(0.65)”,而RNNpretrain計算的結果為“評價標準(0.73),重要環(huán)節(jié)(0.64)”,其中括號內(nèi)的數(shù)值表示問句和關系的語義匹配得分。對于該測試樣本,RNNrandom匹配錯誤的主要原因是OIL的訓練集中包含關系“評價標準”的標注樣本較少,導致RNNrandom在訓練過程中難以學習到與“評價標準”相關的問句語義空間分布。而且該測試問句中出現(xiàn)“重要”等詞語,進一步導致“重要環(huán)節(jié)”被錯誤地計算為最佳匹配關系。
但是對于該測試樣本,RNNpretrain計算得到了正確的匹配結果。其主要原因是無標注數(shù)據(jù)集WebQA的訓練集中包含大量與測試樣本相關的問句,如“霧霾污染指標是什么?”“如何衡量霧霾污染程度?”“米其林餐廳評價主要標準是什么?”等。這些無標注問句不僅提供了對同一關系“評價標準”的多種形式表示,而且還展現(xiàn)出豐富多樣的提問方式,進而促使RNNpretrain在訓練過程中可以學習到關于“評價標準”更加通用的問句語義空間分布。
綜合以上實驗結果表明,在有標注樣本數(shù)量較少且無標注樣本數(shù)量較大的情況,RNNpretrain的語義匹配準確率相比RNNrandom和Embed-AVG有明顯提升,擁有更強的泛化能力。
對于單一事實類問答系統(tǒng)中的語義匹配任務,傳統(tǒng)的有監(jiān)督學習方法需要依賴大量的有標注樣本才能取得較高的語義匹配準確率。針對這種問題,本文提出基于RNN的遷移學習模型,其通過預學習大量無標注樣本數(shù)據(jù)的語義空間分布來提高小規(guī)模標注樣本環(huán)境下的語義匹配準確率。實驗結果表明,在小規(guī)模有標注樣本上,該模型可以明顯提高語義匹配準確率,并且該準確率在一定范圍內(nèi)隨著無標注樣本數(shù)據(jù)量的增大而有所提升。本文提出的模型適用于特定領域因有標注數(shù)據(jù)量少而導致有監(jiān)督學習模型準確率不高的情況,此外這種遷移學習的方式也可以推廣應用到其他與語義匹配相關的任務中。
下一步本文將探究預處理無標注樣本的方法來過濾更多的噪聲,以及探索使用生成對抗網(wǎng)絡[26]改進序列到序列算法來提升學習問句語義空間分布的能力。