張月平,李 茹,b,王元龍,柴清華,武宇娟,關 勇
(山西大學 a.計算機與信息技術學院; b.計算機智能與中文信息處理教育部重點實驗室; c.外國語學院,太原 030006)
省略是漢語中常見的語言現(xiàn)象,一些語義成分的省略會影響語篇的正確理解。省略現(xiàn)象在漢語框架網(wǎng)(Chinese FrameNet,CFN)中以零形式(Null Instantiation,NI)存在,零形式識別與填充是在語篇上下文中為句中省略的語義角色找出填充項的過程。因此,零形式識別與填充對于省略問題的解決至關重要。零形式包括有定和無定零形式。無定零形式(Indefinite Null Instantiation,INI)指缺失語義角色的自然類型或語義類型能夠被理解,無需為其找回特定的語篇所指。有定零形式(Definite Null Instantiation,DNI)指缺失的語義角色在語篇的上下文中已經(jīng)被理解,并且在上下文中能找到對應的詞語[1]。
本文針對零形式的識別與填充問題,結(jié)合規(guī)則與決策樹(Decision Tree,DT)算法識別出需要填充內(nèi)容的零形式,采用基于規(guī)則的方法為其構建候選語集合。對于候選語集合數(shù)據(jù)的非平衡問題,提出一種改進的SMOTE算法擴展數(shù)據(jù),為零形式填充提供平衡數(shù)據(jù)集。
本文給定一個零形式識別與填充示例,如圖1所示。該示例包括S1與S2兩句句子,均在CFN標注體系下進行標注,其中,tgt表示目標詞。對于句子S1,目標詞“是”激起框架“屬于某類”,其顯式框架元素集合為{Entity(實體),Category(領域)};對于句子S2,目標詞“分為”激起框架“包含”,其顯式框架元素集合為{Parts(部分)},缺失的框架元素集合為{Whole(整體)}。先確定Whole為零形式,再判別其為有定零形式,利用DNI進行表示,并對Whole進行填充,其填充項為“磁懸浮列車”。
圖1 零形式識別與填充示例Fig.1 Example of null instantiation recognition and filling
近年來,國內(nèi)外許多學者對零形式識別與填充方面做了較多研究,并在英文零形式方面進行了評測,而對于漢語方面的研究卻很少。在英文方面,文獻[2]進行“Linking events and their participants in discourse”的語義評測[2],旨在將局部未標注的語義角色及其在語篇上下文中的指代內(nèi)容(若存在)聯(lián)系起來。評測任務提供了FrameNet和PropBank兩種全文標注的語料。參與評測的隊伍基于規(guī)則的方法,借助外部系統(tǒng)工具將零形式識別與填充相結(jié)合進行實驗。文獻[3]給出兩種不同的策略:1)針對動詞,借助文本蘊涵識別系統(tǒng)VENSES[4]得到每個詞元不同的標注模式,查找與其相似的謂詞論元結(jié)構,通過計算缺失框架元素與候選語的相似度尋找先行語;2)針對名詞,根據(jù)系統(tǒng)VENSES分析的信息及其在ConceptNet 2.0上的推理模型來判斷該短語是否為先行語。文獻[5]融入統(tǒng)計方法,擴展了SEMAFOR1.0[6]工具的語義角色標注模塊,選擇包括本句在內(nèi)的前3個句子中的代詞、名詞、名詞性短語作為候選語。利用語義角色與候選語的相關性與相似性得分構建特征,使用對數(shù)線性模型進行建模完成識別與填充任務,但其整體性能仍較差。文獻[7]在識別階段,將啟發(fā)式規(guī)則與零形式類別的分布信息相結(jié)合對零形式進行分類。在填充階段,利用框架網(wǎng)的語義類型信息對框架元素進行處理,并使用WordNet豐富其語義信息。文獻[8]依據(jù)框架語義網(wǎng)概念提出解決零形式填充的新策略,從已標注的大規(guī)模語料庫中學習框架元素語義類型的概率分布,以選擇可能的隱式語義角色及填充內(nèi)容。
許多學者使用機器學習方法解決零形式識別與填充問題。文獻[9]在NomBank語料庫中,對常用名詞性謂詞論元的隱式語義角色進行研究,使用實體指代方法,完成了句法、語義及語篇等特征的實現(xiàn)。文獻[10]將零形式填充轉(zhuǎn)換為共指消解問題,使用Entity-Mention[11]模型與判別式分類對先行語進行選擇,并利用啟發(fā)式規(guī)則擴充數(shù)據(jù),解決數(shù)據(jù)稀疏問題。文獻[12]不僅分析了句法一致性、語義一致性、話語一致性及共指鏈4類特征,還將這些特征應用于零形式填充中進行消融實驗??梢?解決指代消解問題的思路與解決本文問題的思路很相近,目前,基于深度學習的消解算法已成為解決零形式識別與填充問題的主流方法。文獻[13]利用強化學習對指代消解的神經(jīng)網(wǎng)絡模型Mention Rank的損失函數(shù)進行優(yōu)化,提出獎勵衡量機制。文獻[14]提出基于注意力機制的零指代消解模型,旨在解決傳統(tǒng)方法不能有效獲取重要上下文及內(nèi)容信息的缺點。目前,深度學習在英文方面的指代消解任務上取得了較好的效果,但在漢語方面略差。文獻[15]提出基于中英文可對照語料進行中文零指代識別與消解的方法,并提出英文對等句的概念,利用對等句重新定義句子間隔,并引入雙語詞對齊特征進行實驗。本文嘗試使用深度神經(jīng)網(wǎng)絡解決零形式識別與填充問題,但是效果并不理想。相對來說,傳統(tǒng)機器學習方法能較好解決該問題。因此,本文使用傳統(tǒng)機器學習方法解決零形式識別與填充問題。
文獻[1]在漢語框架資源網(wǎng)(CFN)的基礎上,構建小規(guī)模的中文語篇語料集,完成零形式的識別與填充任務。在填充階段,將語篇中顯式表達的框架元素填充項作為候選語,提出結(jié)合框架元素語義類型與框架關系的消解方法,但是該方法在填充過程中采用的分類方法未考慮到數(shù)據(jù)的非平衡特性,因此本文從數(shù)據(jù)非平衡的角度出發(fā),對非平衡數(shù)據(jù)進行平衡化處理,另外,融入語義相似性特征及框架元素間的映射關系,提升零形式填充效果。
漢語框架網(wǎng)是以Fillmore的框架語義學[16]為理論基礎,以加州大學伯克利分校的FrameNet[17]為參照,以真實漢語語料為語義描述依據(jù)構建的漢語框架語義知識庫[1]。截至目前,CFN共創(chuàng)建1 322個漢語框架,涉及7 313個詞元,標注56 526個句子的句法信息和框架語義信息,完成基于漢語框架語義全文標注篇章216篇,涉及法律、歷史等領域。
定義1(框架) 框架指與一些激活性場景相一致的結(jié)構化范疇系統(tǒng),是儲存在人類經(jīng)驗中的圖式化情境,是理解詞語的背景和動因[18]。
定義2(框架元素) 框架元素指能夠體現(xiàn)一個框架的語義參與者,也可成為框架語義角色[18]。
定義3(框架關系) 框架關系指框架與框架之間存在的抽象關系[18]。
定義4(目標詞) 目標詞指在具體句子中能夠激起框架的詞[18]。
定義5(框架元素間的映射關系) 框架元素間的映射關系指框架元素在相互聯(lián)系的框架間存在的上下位關系。
框架與框架之間存在的關系使得框架元素之間存在映射關系。在圖2中,“→”表示上下位關系指向,框架“交談”繼承于框架“討論”,<交談.交談者1>與<討論.交談者1>之間存在映射關系。同理,框架“討論”繼承于框架“爭論”,<討論.交談者1>與<爭論.爭論者1>也存在映射關系。
圖2 框架元素間的映射關系Fig.2 Mapping relationships of frame elements
兩個框架之間的語義關系用框架關系來描述,不同框架的框架元素依據(jù)框架關系映射在一起[19]??蚣荜P系是指語義場景之間的關系,通過定義這些框架之間的關系形成框架的網(wǎng)狀結(jié)構,使得框架元素之間也形成網(wǎng)狀結(jié)構??蚣荜P系的不同導致性質(zhì)也不同,如框架“交談”繼承于框架“討論”,框架“討論”繼承于框架“爭論”,它們之間的框架元素具有映射關系,如圖2中的<交談.交談者1>與<討論.交談者1>和<爭論.爭論者1>相對應。
零形式識別與填充旨在找出語篇上下文中缺失的語義角色及其填充內(nèi)容。該任務可以形式化描述為給定語篇D={S1,S2,…,Sn},其中,Sk為語篇D的第k句,Sk中能激起框架的目標詞集合Tk={Tk1,Tk2,…,Tkl},Fk={Fk1,Fk2,…,Fkl}為對應的框架集合。對于某框架Fki,其框架元素集合Eki={e1,e2,…,em},框架Fki在句子Sk中顯式出現(xiàn)的框架元素集合Oki={e1,e2,…,ep-1,ep+1,…,eq-1,eq+1,…,em},其中Oki∈Eki,則缺失的框架元素集合Aki=Eki-Oki={ep,eq}。首先確定Aki中的零形式,識別有定零形式,假設ep為有定零形式,然后為其構建候選語集合Cp={Cp1,Cp2,…,Cpn},從Cp中為ep預測正確填充項Cpj。
本文將該任務分為兩個子任務:1)零形式識別;2)零形式填充。零形式識別與填充架構如圖3所示。
圖3 零形式識別與填充架構Fig.3 Architecture of null instantiationrecognition and filling
當CoreSet集中所有框架元素都未顯式表達時,其標注類型有93.6%屬于無定零形式。本文在文獻[20]規(guī)則的基礎上,將CoreSet集中所有未顯式表達的框架元素初始化為INI。由于語篇語料較少、數(shù)據(jù)稀疏,使得抽取出的特征不具廣泛性,本文使用例句庫中的語料進行補充與指導,但需要將例句進行修改。在圖4中,目標詞“安排”激起框架“時間安排”,缺失的框架元素“Agent”在該句中標記為INI,根據(jù)該句結(jié)構可知Agent在語篇上下文中已經(jīng)被理解,其填充內(nèi)容可在上下文中找到。通過驗證可找到其填充內(nèi)容為“企業(yè)管理人員”。因此,將其標記改為[Agent DNI]。針對該項工作,工作人員統(tǒng)一進行修改,隨機抽取數(shù)據(jù)驗證分類準確率,對分類任務有較大的影響。
圖4 例句修改示例Fig.4 Modification example
本文使用CART決策樹算法進行分類,識別定零形式。特征選擇的優(yōu)劣直接影響模型性能,本文借鑒文獻[1]所使用的特征,如表1所示。
表1 零形式分類的特征描述Table 1 Characterization of null instantiation classification
針對有定零形式,尋找其在語篇上下文的填充內(nèi)容。由于數(shù)據(jù)具有非平衡特性,因此本文提出一種改進的SMOTE算法對數(shù)據(jù)進行平衡化處理。
3.2.1 改進的SMOTE算法
為零形式找到正確的填充內(nèi)容,首先需為其構建候選語集合,然后采用分類思想預測其正確的填充項。但由于集合中只存在一個正確填充項,其余候選語都屬于非正確填充項,因此會產(chǎn)生訓練階段的正例樣本和負例樣本,而負例樣本遠多于正例樣本,便會出現(xiàn)非平衡現(xiàn)象。針對非平衡問題,目前數(shù)據(jù)層面的解決方法有過采樣方法和欠采樣方法。由于語篇數(shù)據(jù)量較少,若采取欠采樣方法,則會導致重要信息的缺失,因此本文使用SMOTE過采樣方法,加入刪除噪點的方法,人工生成少數(shù)類樣本數(shù)據(jù),解決數(shù)據(jù)非平衡問題。
算法1改進的SMOTE(T,N,k)
輸入原始數(shù)據(jù)集T、少數(shù)類樣本的增加量N%、最近鄰數(shù)k
輸出新產(chǎn)生樣本的列表Synthetic
1.if N < 100 then
2.//隨機重采樣數(shù)據(jù)集T中的少數(shù)類樣本
3.T = (N/100) * T
4.N = 100
5.end if
6.N = int(N/100)
7.Sample[][]://儲存原始少數(shù)類樣本的列表
8.newindex://統(tǒng)計新產(chǎn)生樣本的數(shù)量,初始化為0
9.numattrs://特征的數(shù)量
10.Synthetic[][]://儲存新產(chǎn)生樣本的列表
11.for i ←1 to T
12.//為第i個樣本計算相同類別的k個最近鄰樣本并將
//索引保存在nnarray中
13.//為第i個樣本計算不同類別的最近鄰樣本并索引為p
14.Generate(N,i,nnarray)
15.end for Generate(N,i,nnarray)//該函數(shù)產(chǎn)生新樣本
16.while N ≠ 0
17.//在i樣本的k個近鄰數(shù)據(jù)中隨機選擇一個樣本,其
//索引為q
18.for sttr ← 1 to numattrs
19.計算distance = Sample[nnarray[q]][attr]- Sample[i][attr]
20.計算gap = random(0,1)
21.Synthetic[newindex][attr]= Sample[i][attr]+ gap * distance
22.計算d = Synthetic[newindex][attr]-Sample[p][attr]
23.劃定以Synthetic[newindex][attr]為圓心、d為半徑的空間
24.m = 少數(shù)類樣本數(shù)量
25.n = 多數(shù)類樣本數(shù)量
26.if m < n then
27.刪除Synthetic[newindex][attr]
28.else
29.newindex ++
30.N = N - 1
31.endwhile
如算法1所示,步驟23~步驟31為本文重點改進的內(nèi)容。在SMOTE算法生成樣本過程中,只在同個類別且近鄰之間插入新值,未考慮少數(shù)類樣本及周圍多數(shù)類樣本的分布情況,使得新生成的樣本靠近多數(shù)類樣本,導致錯誤分類。針對該問題,本文對新產(chǎn)生的樣本進行判斷,若其處于多數(shù)類樣本之間,則將其認定為噪點并刪除。具體規(guī)則為:以新樣本Synthetic[newindex][attr]為圓心,以其與最近的多數(shù)類樣本距離為半徑劃定一個空間,統(tǒng)計空間中少數(shù)類樣本數(shù)量m,多數(shù)類樣本數(shù)量n,如果m 3.2.2 基于決策樹算法的候選語分類 (1) 其中,按照特征xj劃分數(shù)據(jù)集,設xj有v個不同的取值,利用xj的v個不同取值可將數(shù)據(jù)集劃為v個不同的子集,記為D1,D2,…,Dv,|Di|是子集Di的樣本數(shù)。 因此,計算每個特征的Gini指標,挑選Gini指標最小的特征作為劃分當前數(shù)據(jù)集的特征,將該特征作為構建決策樹的依據(jù),最終構建決策樹進而完成分類任務。 通過比較篇章與句子發(fā)現(xiàn),同一框架的相同框架元素的填充內(nèi)容具有較高的相似性和一致性,而不同框架的不同框架元素的此類信息則沒有呈現(xiàn)明顯的相似性和一致性規(guī)律。本文假設在具有大量數(shù)據(jù)的情況下,語義特征會覆蓋所有的情況。因此本文將相同框架下相同框架元素的最相似內(nèi)容作為語義特征構建分類模型。將CFN所有語料使用Word2Vec工具訓練詞向量。語義特征即為抽取出的候選語與同一框架下相同框架元素所填充過的所有內(nèi)容計算余弦相似度[21],距離最相近的值作為該候選語的語義特征。 (2) (3) 其中,CosDis(w1,w2)用來計算兩個詞對應詞向量w1和w2的余弦相似度,n為詞向量的維度,cpi表示候選語集合中的第i個候選語,U表示與該候選語在同一框架下相同框架元素填充過的詞組成的集合,uj∈U,sim(cpi,U)用來計算候選語cpi與集合U中詞的最大相似度。本文深入分析相關特征,在文獻[1]的基礎上,添加語義特征與詞性特征,如表2所示。 表2 零形式填充的分類特征描述Table 2 Characterization of classification in nullinstantiation filling 3.2.3 框架元素間的關系映射 框架之間的框架關系使得對應的框架元素間也具有映射關系,該關系對句子中的零形式填充有較大影響。本文在分類后利用該映射關系提升零形式填充的效果,具體示例如圖5所示。該示例為一個語篇片段,句子S1的目標詞“做”激起框架“有意行為”,句子S2的目標詞“發(fā)現(xiàn)”激起框架“發(fā)現(xiàn)”,通過查找框架關系網(wǎng),發(fā)現(xiàn)兩個框架之間具有路徑,而框架關系的存在也表明框架元素間同樣具有映射關系,表示為:有意行為.agent→自主感知.perceiver_agentive→感知覺.perceiver→發(fā)現(xiàn).cognizer。可以發(fā)現(xiàn),框架“有意行為”的框架元素agent的填充內(nèi)容可以作為框架“發(fā)現(xiàn)”的框架元素cognizer的填充內(nèi)容,即通過框架元素間的映射關系可得到該零形式的填充內(nèi)容。 圖5 框架元素間的映射關系示例Fig.5 Example of mapping relationships between frame elements 本文語料來源于山西大學漢語框架網(wǎng)研究中心,包括語篇庫中的216個語篇,涉及天文、歷史等14個領域,例句庫中的30 000多條例句。本文使用山西大學人機協(xié)同標注系統(tǒng)進行人工語義角色標注,并對這些標注數(shù)據(jù)進行統(tǒng)計,結(jié)果如表3、表4所示。 表3 例句庫的數(shù)據(jù)統(tǒng)計Table 3 Statistics of the example sentence database 表4 語篇庫的數(shù)據(jù)統(tǒng)計Table 4 Statistics of the discourse database 在表4中,INIs表示語篇標注數(shù)據(jù)中的無定零形式個數(shù),DNIs表示語篇標注數(shù)據(jù)中的有定零形式個數(shù)。本文統(tǒng)計語篇涉及的框架在例句庫中的數(shù)量比例如圖6所示。由此可知,例句數(shù)量達到300句以上的框架占比約0.2,例句數(shù)量為100句~300句的框架占比約0.44,例句數(shù)量為100句以下的框架占比約0.27,極少數(shù)框架并未標注過例句。 圖6 語篇所涉及框架的例句數(shù)量比例統(tǒng)計Fig.6 Statistics of the proportion of examples of framesinvolved in discourse 本文實驗采用五折交叉驗證方法,其評價指標取決于交叉驗證的平均值[1]。本文使用準確率(P)、召回率(R)和F值對實驗結(jié)果進行評價。準確率、召回率和F值計算公式如式(4)~式(6)所示。 (4) (5) (6) 本文基于規(guī)則與統(tǒng)計的方法識別零形式,實驗結(jié)果如表5所示。本文方法的F值為86.67%,明顯優(yōu)于文獻[1,20]方法,但召回率較低,其可能的原因為:由于CoreSet集比較復雜,基于規(guī)則的方法無法將零形式全部識別,導致召回率降低。本文結(jié)合統(tǒng)計的方法將CoreSet集中未顯式表達的所有框架元素初始化為INI,識別更多零形式,提升識別精確率。 表5 零形式識別的實驗結(jié)果Table 5 Experimental results of null instantiationrecognition % 本文對識別出的零形式進行分類,分為有定零形式與無定零形式,使用決策樹算法進行分類的結(jié)果如表6所示。 表6 零形式分類的實驗結(jié)果Table 6 Experimental results of null instantiationclassification % 由表6可知,本文方法的P、R、F值指標均優(yōu)于其他方法。與文獻[1]方法相比,由于兩者使用的方法雖然都關注于信息的不確定性,但決策樹算法將文本特征轉(zhuǎn)化為數(shù)值特征,在處理不相關特征時具有一定優(yōu)勢。另外,在零形式識別階段,本文方法已篩除部分INI,提升了分類效果。 本文嘗試將LSTM深度學習方法應用于分類任務,準確率與F值均比文獻[1]結(jié)果好,但其效果仍不如本文方法,可能的原因是樣本數(shù)據(jù)量較小,無法全面學習不同類別的數(shù)據(jù)特征。在數(shù)據(jù)數(shù)量限制的情況下,傳統(tǒng)機器學習方法更適合解決該問題。 本文分類效果雖有一定的提升,但遠未達到要求,分析其原因為:1)零形式識別并未將零形式全部識別出來,使得零形式的分類階段中部分零形式缺失,導致分類樣本數(shù)量減少;2)由于零形式的分布不同,導致其所屬框架、詞元或語境不同,最終對零形式的解釋類型產(chǎn)生影響,如圖7所示。在圖7中,句子S1與句子S2的框架與目標詞都相同,但由于語境不同,導致框架元素Cognizer的解釋類型不同,因此尋求一個合適的通用分類模型顯得尤為重要。 圖7 相同零形式的不同解釋類型示例Fig.7 Examples of different interpretation types for thesame null instantiation 本文將零形式填充看作分類問題,分別使用樸素貝葉斯(Naive Bayes,NB)、支持向量機(Support Vector Machine,SVM)、決策樹及LSTM深度學習方法進行對比實驗。本文將該任務視為非平衡分類問題,使用SMOTE算法、EasyEnsemble算法及改進的SMOTE算法處理非平衡數(shù)據(jù)。另外,本文加入語義特征與框架元素間的映射關系進行實驗,結(jié)果如表7所示。在表7中,S表示語義特征,F表示框架元素間的映射關系,Optimized SMOTE表示本文改進的SMOTE算法。由此可知,將數(shù)據(jù)進行平衡化處理后的填充效果均優(yōu)于原數(shù)據(jù)上的效果,證明將該任務看作非平衡問題的合理性。模型在Optimized SMOTE平衡數(shù)據(jù)上的填充效果優(yōu)于其他兩種算法,表明本文提出的改進SMOTE算法能夠更好地解決非平衡問題,克服了數(shù)據(jù)生成的盲目性,將處于多數(shù)類樣本中新生成的少數(shù)類樣本有導向性的刪除,從而提升分類效果。 表7 零形式填充的實驗結(jié)果Table 7 Experimental results of null instantiation filling % 另外,決策樹算法在兩個數(shù)據(jù)集上的填充效果均優(yōu)于樸素貝葉斯和支持向量機的效果,表明決策樹更適合零形式填充任務。決策樹算法結(jié)合語義特征后,在準確率上有明顯提高,但是在召回率上有明顯降低,可能的原因為:語料規(guī)模較小,使得框架的所有語境并不能完全覆蓋,并且在訓練詞向量時由于參數(shù)設置及語料選擇問題導致詞向量不準確,使語義相似度相差較大。決策樹算法結(jié)合框架元素的映射關系后填充效果更好,這是因為雖然語篇是由不同句子組合在一起,但是句與句之間不是獨立存在,而是具有關聯(lián)性,不同句激起的語義場景又會形成更大的語義場景,所以尋找到語篇中框架之間的路徑進而找到框架元素間的映射關系對本文填充任務有重要的作用。 由表8可知,本文方法的零形式填充效果均優(yōu)于其他方法,表明數(shù)據(jù)平衡化處理及增加框架語義信息對填充任務非常有效。另外,由于數(shù)據(jù)規(guī)模小及填充任務的復雜性,因此LSTM方法在本文填充任務上并沒有在其他自然語言處理任務上的性能好。 表8 3種填充方法的實驗對比結(jié)果Table 8 Experimental results of threefilling methods % 本文在漢語語篇中對零形式識別與填充方法進行研究,為句子中語義場景缺失的參與者在語篇范圍內(nèi)尋找出相應的內(nèi)容,將該任務分成零形式的識別與填充兩個子任務。采用規(guī)則與統(tǒng)計方法確定零形式,使用CART決策樹算法識別有定零形式。對于有定零形式的填充,采用改進的SMOTE算法對少數(shù)類樣本進行擴展,解決數(shù)據(jù)非平衡問題。實驗結(jié)果表明,本文方法有效提升了零形式的識別與填充效果。后續(xù)將在擴大實驗語料庫的同時,優(yōu)化候選語集合生成方法,進一步提高零形式填充準確率。4 實驗結(jié)果與分析
4.1 實驗數(shù)據(jù)和相關工具
4.2 評價指標
4.3 零形式識別實驗與結(jié)果分析
4.4 零形式填充實驗與結(jié)果分析
5 結(jié)束語