汪 凱,劉明童,張玉潔,陳圓夢,徐金安,陳鈺楓
(北京交通大學(xué) 計算機與信息技術(shù)學(xué)院,北京 100044)
深度神經(jīng)網(wǎng)絡(luò)技術(shù)為自然語言處理發(fā)展帶來嶄新建模方式和性能上的巨大提升,成為主流的研究方法,其中語義表示是研究熱點之一。已有研究表明有效的語義組合計算模型,如LSTM、CNN、Tree-LSTM等神經(jīng)網(wǎng)絡(luò)模型,可以提升自然語言處理應(yīng)用的性能,如機器翻譯[1]、情感分析[2]、復(fù)述識別[3]、自然語言推理[4]等。
基于序列化結(jié)構(gòu)的語義組合計算方法簡單有效而被廣泛采用[5],但是,這種方法沒有考慮句法結(jié)構(gòu)信息,難以捕獲詞序完全相同但句法結(jié)構(gòu)不同的句子之間的差異。比如句子“放棄美麗的女人讓人心碎。”,可以有兩種句法結(jié)構(gòu),如圖1(a)所示。在圖1(a)的句法結(jié)構(gòu)中,“美麗”作為形容詞修飾“女人”,“放棄”的對象是“美麗的女人”;在圖1(b)的句法結(jié)構(gòu)中,“美麗”作為名詞,“放棄”的對象是“美麗”。由此可見,句法結(jié)構(gòu)決定句子語義,句子的語義表示應(yīng)該考慮其句法結(jié)構(gòu)。
圖1 相同句子的不同依存句法結(jié)構(gòu)
隨后,研究人員開始關(guān)注基于句法結(jié)構(gòu)的語義組合計算方法[2,4,6]。組合原則表明句子的語義由其構(gòu)成成分的語義按照一定規(guī)則組合而成,由此根據(jù)句法結(jié)構(gòu)進行語義組合計算一直是一個重要的探索方向。在基于句法結(jié)構(gòu)的語義組合計算方法中,采用樹結(jié)構(gòu)的組合計算方法最具有代表性,其中最為著名的是Kai[2]提出的Tree-LSTM。此類方法在給定的一棵句法樹上,從葉子節(jié)點開始,語義信息自底向上傳遞,最終在樹的根節(jié)點獲得句子的語義表示。樹結(jié)構(gòu)的語義組合方法雖然建模了單詞在句法結(jié)構(gòu)上的語義修飾關(guān)系,但和序列化方法相比,模型受句法樹規(guī)定的語義組合順序的限制,無法并行計算以支持批處理。另外,由于需要額外的句法分析器,模型處理繁瑣且計算效率低,難以大規(guī)模應(yīng)用到自然語言處理的各項任務(wù)中。
為了解決上述問題,本文主要針對基于句法結(jié)構(gòu)的語義組合計算方法展開研究,提出一種基于圖的依存句法分析和利用圖神經(jīng)網(wǎng)絡(luò)語義組合計算的聯(lián)合模型。考慮到依存結(jié)構(gòu)描述了反映單詞間語義修飾關(guān)系的依存關(guān)系,本文采用依存結(jié)構(gòu)信息指導(dǎo)語義組合計算。我們設(shè)計基于圖的依存句法分析方法,用于生成帶有概率的依存關(guān)系結(jié)構(gòu)圖,包含所有單詞對間的有向依存弧的概率。然后,我們使用依存關(guān)系概率作為圖神經(jīng)網(wǎng)絡(luò)中信息傳遞的權(quán)值,一方面使得語義組合計算可以按照單詞間修飾關(guān)系概率結(jié)合所有單詞的語義;另一方面,基于圖神經(jīng)網(wǎng)絡(luò)的語義組合計算可以實現(xiàn)并行處理,支持訓(xùn)練和預(yù)測階段的批處理,提升計算效率。本文模型與已有方法的對比如圖2所示。其中,圖2(a)是基于序列化結(jié)構(gòu)的組合方法,圖2(b)是基于樹結(jié)構(gòu)的語義組合方法,圖2(c)是本文提出的基于圖結(jié)構(gòu)的語義組合方法。我們以復(fù)述識別作為語義組合計算的目標任務(wù),在公開漢語復(fù)述識別數(shù)據(jù)集LCQMC[7]上的實驗結(jié)果表明,本文提出的模型優(yōu)于已有序列結(jié)構(gòu)的語義組合計算方法,可以有效改進復(fù)述識別性能。同時,本文提出的語義組合方式支持批處理操作,在預(yù)測階段速度是Tree-LSTM的30倍,同時能保持較高的精度。
圖2 不同的語義組合計算方法對比
本文的主要貢獻如下:
(1) 提出一種基于圖的依存句法分析和語義組合計算的聯(lián)合框架;
(2) 提出一種基于圖神經(jīng)網(wǎng)絡(luò)的語義組合方法,可以實現(xiàn)并行處理,支持訓(xùn)練和預(yù)測階段的批處理,提升計算效率。
語義組合計算方法主要分為基于序列化的語義組合計算方法和基于句法結(jié)構(gòu)的語義組合計算方法。在序列化的語義組合計算中,如圖2(a)所示,模型從左到右依次讀入單詞,如LSTM、RNN等[5,8]。這些方法的優(yōu)點是可以表示任意長度句子的上下文信息,其語義信息從左向右積累,最終將最后時刻的隱狀態(tài)向量視為整個句子的語義表示。Kim[9]利用卷積神經(jīng)網(wǎng)絡(luò)獲得句子的語義表示,具體做法是使用卷積核在輸入句上從左到右滑動,每次滑動捕捉句子局部區(qū)域的特征,使得CNN更能捕獲n-gram特征,最后通過最大池化獲得句子的語義表示?;谛蛄谢姆椒榱俗非筮\算效率,直接對句子的文本序列進行語義組合計算,未對結(jié)構(gòu)信息加以利用,難以對結(jié)構(gòu)不同帶來的語義差異加以區(qū)分。
近年來有許多工作[2,10-11]試圖引入句法結(jié)構(gòu)進行語義組合計算,并在情感分類[2]、自然語言推理[4,12]等任務(wù)中驗證了比序列化模型更好的性能。Kai[2]使用了樹結(jié)構(gòu)進行語義組合計算,從樹的葉子節(jié)點開始將語義信息從底向上傳遞,最后在樹的根節(jié)點獲得句子表示。Chen[6]設(shè)計了增強樹結(jié)構(gòu)表示,利用短語結(jié)構(gòu)樹進行語義組合計算。但是這些方法受自底向上的組合順序的限制無法實現(xiàn)并行計算,難以支持訓(xùn)練和預(yù)測階段的批處理,導(dǎo)致計算時間過長,難以滿足實際需求。Mou[4]提出了樹結(jié)構(gòu)的卷積操作,通過對每個節(jié)點的孩子節(jié)點進行卷積操作獲得該節(jié)點的語義表示,最后對所有節(jié)點使用最大池化操作獲得句子語義表示,并在自然語言推理任務(wù)上驗證其有效性。該方法雖然可以實現(xiàn)并行計算,但只計算了直接孩子的語義信息,沒有考慮子孫節(jié)點的語義。
本文提出的基于圖的依存分析模型和圖神經(jīng)網(wǎng)絡(luò)語義組合計算聯(lián)合框架,使用帶有概率的依存關(guān)系結(jié)構(gòu)圖進行語義組合計算,一方面可以實現(xiàn)并行處理,另一方面可以考慮所有節(jié)點的語義信息。
我們采用依存句法樹作為句法結(jié)構(gòu)指導(dǎo)語義組合計算,提出了基于圖的依存句法分析和語義組合計算的聯(lián)合框架,模型架構(gòu)如圖3所示。模型接收句對P={p0,p1,…,pN}和Q={q0,q1,…,qN}。首先經(jīng)依存句法分析分別得到帶有概率的依存關(guān)系結(jié)構(gòu)圖,并從中得到依存樹,然后經(jīng)語義組合計算利用該圖得到句子的語義表示,并送入復(fù)述識別分類器進行判斷。在模型訓(xùn)練階段,我們聯(lián)合依存分析和復(fù)述識別任務(wù)的兩個目標共同學(xué)習模型參數(shù)。
圖3 本文提出的聯(lián)合模型整體框架
本文采用基于圖的依存句法分析方法[13],該方法可以考慮全局信息進行依存分析決策,最近研究顯示該方法在性能上超過了基于轉(zhuǎn)移的依存分析方法[14]。下面,我們以句子P={p0,p1,…,pN}為例,詳細介紹依存句法分析模塊。按照通常做法,我們在每個句子的開頭加入根節(jié)點的標識“
首先將輸入的單詞序列轉(zhuǎn)化為數(shù)值向量表示,我們采用預(yù)訓(xùn)練詞向量、隨機初始化詞向量和詞性標簽向量三部分構(gòu)成輸入詞向量。我們用e(pi)∈d表示預(yù)訓(xùn)練詞向量,e′(pi)∈d表示隨機初始化詞向量,e(posi)∈dpos表示詞性標簽向量,dpos為詞性的嵌入維度,三部分的表示在訓(xùn)練中被更新。最終,每個單詞的表示由式(1)計算得出,其中“⊕”為拼接操作。
為了捕捉句子長距離的上下文信息,我們采用深層雙向LSTM(BiLSTM)學(xué)習句子中的詞表示。其中,第i時刻(對應(yīng)第i個單詞)的隱藏狀態(tài)表示如式(2)所示。
本文使用圖G=(V,E)表示句子P的依存關(guān)系圖,其中V={p0,p1,…,pN}是句子中單詞節(jié)點集合,E是依存關(guān)系邊集合。序列P中每個詞與圖上的節(jié)點對應(yīng),使用pj→pi表示核心詞(head)pj與依存詞(dep)pi之間存在依存關(guān)系。由于句子中任意兩個單詞之間存在兩種依存關(guān)系pj→pi和pi→pj,需要為每個單詞計算其作為核心詞或依存詞的向量表示。為此,我們?yōu)槊總€單詞設(shè)置兩個向量表示,一個是單詞作為依存詞的表示,另一個是單詞作為核心詞的表示。對于這兩種表示的計算,我們分別采用多層感知器對BiLSTM的輸出hi進行計算,如式(3)和式(4)所示[13]。在此基礎(chǔ)上,可以為所有單詞對中的兩種依存關(guān)系計算得分,具體的我們采用雙仿射注意力機制進行計算,計算過程如式(5)所示。其中,sij表示pj→pi的得分,得分越大表示構(gòu)成pj→pi的可能性越大。
其中,U表示權(quán)重矩陣,u表示偏置項。
si=[si0,…,sij,…,siN](j∈{0,1,…,N}),sij是pj→pi依存關(guān)系的得分,其中si0用于衡量第i單詞成為根ROOT的可能性。隨后采用公式(6)進行歸一化操作得到概率分布αi,由αi(i∈{0,1,…,N})構(gòu)成依存關(guān)系概率矩陣α。最后采用最大生成樹算法解碼獲得句子的依存結(jié)構(gòu)。在訓(xùn)練階段,我們使用交叉熵作為損失函數(shù),如式(7)所示。
我們提出一種基于圖神經(jīng)網(wǎng)絡(luò)的語義組合計算方法,通過利用上一節(jié)的依存分析提供的依存關(guān)系的概率矩陣α進行語義組合計算,以支持批處理大幅提升計算速度。根據(jù)句法分析,αij表示單詞pj是pi核心詞的概率,我們將依存句法分析學(xué)習到的權(quán)重αij視為依存關(guān)系pj→pi的語義相關(guān)性權(quán)重,同時將hi視為圖上節(jié)點pi的語義表示,然后在此圖基礎(chǔ)上進行語義組合計算。
本文采用圖信息傳遞機制[15-16]建模圖中每個節(jié)點的語義信息,首先節(jié)點pi從鄰節(jié)點收集語義信息,我們設(shè)計了兩種收集語義信息的方式(如圖4所示)。
圖4 基于圖神經(jīng)網(wǎng)絡(luò)使用結(jié)構(gòu)信息的兩種方式
第一種收集方式利用依存關(guān)系概率矩陣α直接作為權(quán)重結(jié)合鄰節(jié)點的語義表示,計算公式如式(8)所示,我們稱這種方式為軟結(jié)構(gòu)信息,示意圖如圖4(a)所示。第二種收集語義信息的方式依據(jù)依存結(jié)構(gòu)結(jié)合具有依存關(guān)系節(jié)點的語義信息[16-17],首先修改依存關(guān)系概率矩陣α,對于單詞pi設(shè)置概率最大的核心詞的概率為1,其他單詞的概率設(shè)置為0,具體修改方式如式(9)所示,然后再按式(8)進行語義信息的收集,我們稱這種方式為硬結(jié)構(gòu)信息,示意圖如圖4(b)所示。得到鄰節(jié)點語義信息Mi后,根據(jù)式(10)更新當前節(jié)點的語義表示。
其中,Mi∈d是節(jié)點pi從鄰節(jié)點獲得的語義信息,hi∈d表示節(jié)點pi原始的語義表示,ηpi∈是節(jié)點pi的語義更新權(quán)重,控制應(yīng)保留pi多少原來的語義信息,(1-ηpi)用于控制節(jié)點pi接收到多少鄰節(jié)點的語義信息。最后,使用平均池化獲得句子的語義表示。句子語義表示定義為:
其中,Np是句子P中單詞節(jié)點下標的集合,|Np|是句子P中單詞的個數(shù)。vp即為句子P的語義表示。同理,對于句子Q,我們可以獲得其語義表示vq。
為了檢驗本文基于圖神經(jīng)網(wǎng)絡(luò)的語義組合計算方法能更好地學(xué)習句子的語義表示,我們聯(lián)合了復(fù)述識別任務(wù)。給定句對P和Q,預(yù)測兩個句子是否具有相同的語義。首先基于語義組合計算模塊,為句對中的每個句子生成語義表示vp和vq。然后,使用這兩個句子的語義表示(vp和vq)構(gòu)造特征向量d[4],如式(12)所示。然后將此特征向量d送入復(fù)述識別分類器。
其中,“⊙”表示按元素乘積操作,“⊕”表示向量拼接操作,d∈4d是構(gòu)造的特征向量,復(fù)述識別分類器我們采用多層感知機的方式,如式(13)所示。
在訓(xùn)練階段我們使用交叉熵作為損失函數(shù),定義為:
本文提出的聯(lián)合模型涉及兩個任務(wù)——依存句法分析和語義組合計算,我們采用復(fù)述識別驗證語義組合計算。由此,模型需要同時學(xué)習和優(yōu)化多個學(xué)習目標。在傳統(tǒng)的聯(lián)合學(xué)習中,通常對各個任務(wù)的損失進行線性加權(quán)求和,如式(15)所示,該方法權(quán)重較難設(shè)定。為了解決多目標聯(lián)合學(xué)習問題,我們采用Kendall[18]設(shè)計的自學(xué)習多目標權(quán)重方法。該方法根據(jù)噪聲方差作為模型收斂程度的評估,進行比重調(diào)整。其目標函數(shù)設(shè)計如式(16)所示。
其中σ1,σ2∈為學(xué)習的參數(shù),跟隨訓(xùn)練過程被更新,Ldep為依存分析的損失函數(shù),Lpair為復(fù)述識別的損失函數(shù)。
本文使用公開漢語復(fù)述識別數(shù)據(jù)集LCQMC[7]作為實驗數(shù)據(jù)。我們采用高精度的哈工大語言技術(shù)平臺ltp3.4.0(1)http://ltp.ai/download.html獲取分詞、詞性和依存句法標注[9],我們將依存句法標注視為ground truth。表1給出了LCQMC數(shù)據(jù)集的統(tǒng)計信息。
表1 實驗數(shù)據(jù)集的統(tǒng)計信息
實驗中采用預(yù)訓(xùn)練的Word2Vec詞向量[20],預(yù)訓(xùn)練詞向量為200維。詞性標簽向量設(shè)置100維,設(shè)置所有LSTM結(jié)構(gòu)的隱藏層為400維,層數(shù)為3。對與MLP(dep)和MLP(head)設(shè)置層數(shù)都為1,隱藏層維度分別為100和500,采用leakyrelu激活函數(shù),α設(shè)置為0.1。對于MLP(clf)設(shè)置層數(shù)為2,隱藏層維度分別為800和400,采用相同的激活函數(shù)。我們采用Adam[21]優(yōu)化算法,設(shè)置初始學(xué)習率大小為2e-3,β1為0.9,β2為0.9。在每一輪迭代中,學(xué)習率以0.95的頻率衰減。訓(xùn)練batch的大小為128。為了防止過擬合,我們使用了 dropout。設(shè)置詞向量輸入層的drop率為0.33,leakyrelu層輸出層的drop率為0.33。與已有工作一致,我們采用無標記依存正確率UAS和帶標記依存正確率LAS作為依存分析評價指標,采用Accuracy和融合Precision和Recall的綜合指標F1值作為復(fù)述識別的評價指標。
如果按照式(15)計算損失函數(shù),為了找到合理的ω需要多次實驗,實驗結(jié)果如表2所示。表2顯示了不同權(quán)重ω對依存分析和復(fù)述識別任務(wù)性能的影響結(jié)果。當ω較小時,復(fù)述識別性能較好,但是依存分析精度較低;當ω較大時,依存分析精度較好但是復(fù)述識別性能較低。當ω設(shè)置為0.9時,依存分析的結(jié)果達到最好,帶標記正確率達到94.37%,但復(fù)述識別的Accuracy只有75.37%。當ω設(shè)置為0.5時,能共同得到較好的性能,復(fù)述識別Accuracy為76.31%,依存分析LAS為93.99%。
表2 不同ω下聯(lián)合模型在開發(fā)集中兩個任務(wù)上的性能
如果按照公式(16),采用Kendall[18]設(shè)計的多目標損失函數(shù),復(fù)述識別Accuracy達到76.77%,依存分析LAS為92.70%。與公式(15)中ω=0.5時的最好結(jié)果相比,其復(fù)述識別的準確率提高0.46個百分點,顯示該方法優(yōu)于線性加權(quán)的損失函數(shù)。隨后實驗中我們采用Kendall[18]設(shè)計的多目標函數(shù)方法。
2.2節(jié)介紹了每個節(jié)點結(jié)合鄰近節(jié)點語義信息更新自身語義表示的組合計算方法,使得每個節(jié)點包含了直接核心詞的語義信息。如果在此基礎(chǔ)上再進行一次語義組合計算,將使每個節(jié)點獲得間接核心詞的語義信息。為了分析語義組合次數(shù)的影響,我們分別進行了基于0次、1次、2次和3次語義組合計算的評測,實驗結(jié)果如表 3所示。n=0表示沒有利用結(jié)構(gòu)信息,n=1,2,3表示以不同語義組合計算次數(shù)利用結(jié)構(gòu)信息。與n=0相比,n=1的模型在測試集上,復(fù)述識別在F1和Accuracy分別提高了1.96和1.97個百分點,說明句法結(jié)構(gòu)指導(dǎo)語義組合計算上的有效性。
表3 語義組合次數(shù)在不同任務(wù)上的性能,n=0表示沒有利用句法結(jié)構(gòu)信息
與n=2,3相比,n=1的模型在復(fù)述識別任務(wù)上均優(yōu)于n=2,3的模型。實驗結(jié)果表明繼續(xù)增加組合次數(shù)并沒有提升性能。同時,隨著組合次數(shù)的增加,模型的復(fù)雜度也會增加,隨后實驗中我們選擇一次語義組合計算。另外,我們注意到聯(lián)合模型并未給依存分析帶來性能上的提升,一方面,由于本文的重點放在語義組合計算上,還沒有找到同時提升依存分析精度的有效聯(lián)合方法;另一方面,本文使用的依存結(jié)構(gòu)標注并非人工標注,我們分析由于存在一定錯誤,因此難以給出依存分析模型的正確評測結(jié)果。
我們與基于序列化和樹結(jié)構(gòu)的5種語義組合計算方法進行比較,對比模型分為以下幾類:
Baseline: 上一節(jié)中n=0的模型,即包含序列信息無結(jié)構(gòu)信息。
MeanVector: 將詞表示的平均池化作為句子的語義表示,其中詞表示的計算方法如式(1)所示,該方式既無序列信息,也無句法結(jié)構(gòu)信息。
CNN: 基于卷積神經(jīng)網(wǎng)絡(luò)的語義組合計算方法Kim[9]和Liu[7],該方式包含序列信息無結(jié)構(gòu)信息。
BiLSTM: 使用前向LSTM和后向LSTM最后時刻的隱狀態(tài)向量拼接作為句子表示[5,7],該方式包含序列信息,無結(jié)構(gòu)信息。
Tree-LSTM: 使用Kai[2]提出的Child-Sum Tree-LSTM,利用依存結(jié)構(gòu)樹進行語義組合計算,將根節(jié)點獲得的隱狀態(tài)向量視為句子的表示,該方式包含結(jié)構(gòu)信息。
在復(fù)述識別任務(wù)上,我們的模型與5種模型在測試集上的評測結(jié)果如表4所示。
表4 在復(fù)述識別上與已有序列化和樹結(jié)構(gòu)語義組合方式的比較結(jié)果
從表4的結(jié)果可以看出,在無結(jié)構(gòu)信息的4種方法中,本文設(shè)計的Baseline取得了最好的結(jié)果,其F1和Accuracy達到79.88%和77.57%。分析其原因在于本文的模型中使用了圖神經(jīng)網(wǎng)絡(luò),當處理較長的句子時,每個節(jié)點能從較遠節(jié)點收集語義信息更新自身表示,能捕捉較長句子的上下文信息。與未利用結(jié)構(gòu)信息的模型中最好精度的Baseline相比,本文的模型在Baseline的基礎(chǔ)上加入依存結(jié)構(gòu)優(yōu)化目標,在F1和Accuracy上分別提高了1.96和1.97個百分點。實驗結(jié)果表明利用句法結(jié)構(gòu)信息進行語義組合計算的有效性。與利用結(jié)構(gòu)信息的Tree-LSTM相比,本文模型在F1和Accuracy低于Tree-LSTM 0.18和0.68個百分點。分析其原因是Tree-LSTM直接使用了我們視為ground truth的依存標簽,而本文模型使用的是依存標簽訓(xùn)練之后依存句法分析模塊產(chǎn)生的依存結(jié)構(gòu),其依存分析精度沒有g(shù)round truth高。
已有的基于結(jié)構(gòu)的Tree-LSTM每次只能處理一個句對,本文采用基于圖的依存分析和圖網(wǎng)絡(luò)語義組合方法,可以實現(xiàn)對多個句對的批處理,從而解決已有模型預(yù)測速度慢的問題。我們在不同長度的句子上對模型的預(yù)測速度進行評測,并與Tree-LSTM進行對比,評測結(jié)果如圖5所示。句長在 1~5和6~10時我們模型的預(yù)測速度是Tree-LSTM 的30倍;在句長為11~15時,速度是Tree-LSTM的20倍。這些結(jié)果顯示本文提出的模型在預(yù)測速度上較Tree-LSTM有顯著優(yōu)勢。
圖 5 句長對模型預(yù)測速度的影響
以上分析結(jié)果顯示,本文提出的基于依存句法分析和復(fù)述識別的聯(lián)合模型,采用基于圖神經(jīng)網(wǎng)絡(luò)的語義組合方法,可以有效利用句法結(jié)構(gòu)信息改進語義組合計算,提高復(fù)述識別系統(tǒng)的精度和計算速度。
我們分析了模型中結(jié)構(gòu)信息對最終復(fù)述識別精度的影響,實驗結(jié)果展示在表5中。從表5的實驗結(jié)果可以看出,基于圖神經(jīng)網(wǎng)絡(luò)引入依存結(jié)構(gòu)信息,有效改進了復(fù)述識別的性能。模型(1)沒有使用結(jié)構(gòu)信息,僅使用了復(fù)述識別的目標函數(shù)進行優(yōu)化,未考慮句子的句法結(jié)構(gòu),復(fù)述識別的Accuracy達到77.57%。模型(2)引入了句法目標訓(xùn)練模型參數(shù),采用了本文提出的硬結(jié)構(gòu)信息,復(fù)述識別Accuracy達到79.15%,對比沒有結(jié)構(gòu)信息提高了1.58個百分點,這表明引入句法結(jié)構(gòu)對語義組合的有效性。模型(3)采用了軟結(jié)構(gòu)信息,Accuracy達到79.54%,進一步改進了復(fù)述識別的性能,同時,實驗表明本文提出的軟結(jié)構(gòu)依存信息在性能上優(yōu)于硬結(jié)構(gòu)的方法。最終,實驗結(jié)果表明,本文提出的基于句法結(jié)構(gòu)進行語義組合計算的方法,可以有效學(xué)習句子的語義表示,提高了復(fù)述識別系統(tǒng)的精度。
表5 模型融入依存結(jié)構(gòu)信息有效性分析結(jié)果
我們在LCQMC的測試集中挑選了一些句對進行進一步分析。使用1-gram計算句子P與句子Q的Bleu值,對于復(fù)述識別來說,Bleu很高的非復(fù)述句對和Bleu很低的復(fù)述句對,都是很難的任務(wù),基于淺層信息的方法很難正確識別,需要深層語義理解才可解決。我們特地選擇這樣的句對評測我們模型的效果,分析結(jié)果如表6所示。
表6 一些復(fù)雜的例子在本文模型和Baseline上的表現(xiàn),“T”表示是復(fù)述關(guān)系,“F”表示非復(fù)述關(guān)系。
示例A~B為Bleu較低的復(fù)述句對,因此,容易識別為非復(fù)述關(guān)系。但是本文模型能夠正確識別為復(fù)述關(guān)系,而Baseline錯誤地識別為非復(fù)述關(guān)系。這一對比結(jié)果表明本文利用句法結(jié)構(gòu)進行語義組合計算的方法可以捕捉句對之間深層的語義相關(guān)性,實現(xiàn)正確判斷。
示例C~D為Bleu較高的非復(fù)述句對,因此,容易識別為復(fù)述關(guān)系。但是本文模型能夠正確識別為非復(fù)述關(guān)系,而Baseline錯誤地將其識別為復(fù)述關(guān)系。這一對比結(jié)果表明句法結(jié)構(gòu)更易于解決涉及結(jié)構(gòu)復(fù)雜表達的語義理解。
示例E~F是Baseline和本文模型都產(chǎn)生錯誤的情況。E為Bleu較低的復(fù)述句對。我們分析預(yù)測錯誤的原因是句子的表達比較口語化,利用句法分析很難進行正確分析。F為Bleu較高的非復(fù)述句對,其中含有相似的詞語“語文”和“語文題”,我們分析預(yù)測錯誤的原因是詞的語義表示不能有效地區(qū)分二者,這使模型錯誤地認為它們是復(fù)述的關(guān)系。對于更復(fù)雜的情況,句子的語義表示依舊面臨很多的問題,例如歧義性以及口語表達。模型可能需要更多的推理信息來區(qū)分這些關(guān)系并做出正確的決定,例如結(jié)合外部知識模型更好地理解詞匯和短語語義。
本文提出一種依存句法分析和語義組合計算的聯(lián)合框架,設(shè)計了基于圖的依存句法分析模型和基于圖神經(jīng)網(wǎng)絡(luò)語義組合計算模型,利用依存分析給出的帶有概率的依存關(guān)系結(jié)構(gòu)圖,實現(xiàn)軟結(jié)構(gòu)的語義組合計算方法。一方面,圖模型中的并行計算能夠支持訓(xùn)練和預(yù)測階段的批處理,極大地提高計算速度;另一方面,兩個任務(wù)的聯(lián)合學(xué)習可使語義表示同時學(xué)習句法結(jié)構(gòu)和語義的上下文信息,提高復(fù)述識別精度。
今后,我們考慮結(jié)合預(yù)訓(xùn)練模型,如ELMO、BERT,以改進模型性能。同時,探索聯(lián)合模型中提升依存分析精度的方法,從而進一步提升語義組合計算的精度。