王曉暉,李 茹,2,王智強,柴清華,韓孝奇
(1. 山西大學(xué) 計算機與信息技術(shù)學(xué)院,山西 太原 030006;2. 山西大學(xué) 計算智能與中文信息處理教育部重點實驗室,山西 太原 030006;3. 山西大學(xué) 智能信息處理研究所,山西 太原 030006;4. 山西大學(xué) 外國語學(xué)院,山西 太原 030006)
框架語義角色標(biāo)注的主要任務(wù)是識別出句子中給定目標(biāo)詞所激起框架對應(yīng)的框架元素,這些框架元素被賦予特定的含義,如施動者、受動者、時間、地點等。簡單來說,就是“誰”在“什么時間”“什么地點”對“誰”做了“什么”。圖1為漢語框架語義角色標(biāo)注示例,其中,例句下方為句法依賴標(biāo)簽,例句上方的為語義角色標(biāo)簽。例句的目標(biāo)詞為“參觀”,該目標(biāo)詞激起的框架為“拜訪”,該框架有兩個核心框架元素agt(施動者)和ent(實體),分別對應(yīng)例句中的“我們”和“吳店鎮(zhèn)”,而例句中的“實地”則標(biāo)為manr(方式)。語義角色標(biāo)注的應(yīng)用非常廣泛,在信息抽取[1]、問答系統(tǒng)[2]等領(lǐng)域取得了一定研究成果。
傳統(tǒng)的語義角色標(biāo)注方法多采用機器學(xué)習(xí)與特征工程相結(jié)合的方式。在這類方法中,通常依賴于人工抽取的特征,并且會帶來模型復(fù)雜、特征稀疏等問題[3]。語義角色標(biāo)注對句法有著較強的依賴性,如圖1所示,對于目標(biāo)詞“參觀”來說,通常其主語都被標(biāo)注為“施動者”,賓語被標(biāo)注為“實體”,而“方式”則通常為副詞或介詞短語作狀語。因此,句法信息在一定程度上有助于語義角色標(biāo)注。
圖1 漢語框架語義角色標(biāo)注示例
近年來,深度學(xué)習(xí)方法逐漸被應(yīng)用到自然語言處理任務(wù)中,它能自動學(xué)習(xí)文本中的特征,從而大大減少了特征工程總的工作量。特別地,Zhou和Xu[4]、He等[5]、Marcheggiani等[6]分別提出了無句法的語義角色標(biāo)注模型,并且取得了較好的效果。這似乎和句法信息是高性能語義角色標(biāo)注的前提條件的觀點相沖突。但是,句法信息被認(rèn)為與語義關(guān)系密切,在語義角色標(biāo)注任務(wù)中發(fā)揮著至關(guān)重要的作用[7]。Marcheggiani和Titov[8]提出了圖卷積網(wǎng)絡(luò)模型,以相對較好的句法分析器作為輸入,進一步提高了語義角色標(biāo)注的性能。
由于Bi-LSTM可以有效地獲取句子中的長距離依賴信息,在序列標(biāo)注任務(wù)中有著天然優(yōu)勢。因此,現(xiàn)有的語義角色標(biāo)注模型大多基于Bi-LSTM模型。但Bi-LSTM卻無法很好地獲取句子的句法信息,而近年來同樣在自然語言處理領(lǐng)域廣泛應(yīng)用的自注意力(Self-Attention)機制卻可以更好地處理這個問題。因此,本文在Bi-LSTM的基礎(chǔ)上引入Self-Attention機制。同時,在序列標(biāo)注任務(wù)中標(biāo)簽之間是有依賴關(guān)系的,如在BIO標(biāo)注模式中,標(biāo)簽I應(yīng)出現(xiàn)在標(biāo)簽B之后,而不應(yīng)該出現(xiàn)在O之后,所以本文利用CRF進行全局標(biāo)簽優(yōu)化預(yù)測出最優(yōu)標(biāo)簽序列。
語義角色標(biāo)注是由Gildea和Jurafsky[9]在2002年提出的,同時在人工標(biāo)注的FrameNet語料上提出了基于統(tǒng)計的分類器。已有的漢語語義角色標(biāo)注方法有兩類,分別是基于特征工程的方法和基于神經(jīng)網(wǎng)絡(luò)的方法。
在早期的語義角色標(biāo)注工作中,大多研究都致力于特征工程。Gildea和Jurafsky[9]在沒有大規(guī)模語義標(biāo)注語料庫的情況下對漢語語義角色標(biāo)注進行了初步的研究,取得了顯著效果。Xue[10]在中文PropBank(CPB)上將最大熵分類器和特征工程相結(jié)合,同時將標(biāo)準(zhǔn)的句法分析和自動句法分析分別加入到特征工程中,實驗表明,漢語句法分析的性能是實現(xiàn)高效語義角色標(biāo)注的關(guān)鍵;李濟洪等人[11]基于CRF在CFN數(shù)據(jù)集上進行語義角色標(biāo)注研究,分別取得了63.65%和61.62%的F1值;王[12]基于最大熵模型分別使用詞層面和塊層面特征實現(xiàn)了漢語框架語義角色標(biāo)注;屠寒非等[13]提出了一種基于主動學(xué)習(xí)的方法,當(dāng)數(shù)據(jù)規(guī)模相同時,實驗結(jié)果最高提升了4.83%,同時,達到同等F1值時最高可減少30%的人工標(biāo)注量。
隨著深度神經(jīng)網(wǎng)絡(luò)模型在自然語言處理領(lǐng)域的諸多任務(wù)上得到成功應(yīng)用,一系列基于神經(jīng)網(wǎng)絡(luò)的語義角色標(biāo)注模型被提出。Ronan和Jason[14]提出了使用單一的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行包括語義角色標(biāo)注任務(wù)在內(nèi)的多任務(wù)學(xué)習(xí)模型,整個網(wǎng)絡(luò)共享權(quán)重,代表了一種新的共享任務(wù)半監(jiān)督學(xué)習(xí)形式;王臻等人[15]將語義角色標(biāo)注分為角色識別和角色分類兩個步驟,利用分層輸出的神經(jīng)網(wǎng)絡(luò)模型取得了64.19%的F1值。Wang等[16]提出了基于異構(gòu)數(shù)據(jù)的Bi-LSTM模型,可以更方便地緩解單個標(biāo)注語料庫的可擴展性問題,在CPB數(shù)據(jù)集上取得了77.59%的F1值;黨[17]基于詞分布的漢語框架語義角色標(biāo)注模型實現(xiàn)了72.89%的F1值;王瑞波等[18]基于分布式表示,提出了一種多特征融合的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),同時使用Dropout正則化技術(shù)有效地緩解了模型的過擬合現(xiàn)象,使得模型的F1值提高了近7%。
最近,人們嘗試構(gòu)建基于span的無句法輸入的端到端語義角色標(biāo)注模型[4,19-20]。盡管無句法信息的的模型取得了成功,但是仍有許多研究致力于如何將句法優(yōu)勢應(yīng)用到語義角色標(biāo)注中。Roth 和Lapata[21]將復(fù)雜的句法結(jié)構(gòu)和句法相關(guān)現(xiàn)象看作是句法依賴路徑的子序列,并將深度Bi-LSTM應(yīng)用到語義角色標(biāo)注中,在PropBank數(shù)據(jù)集上取得了較好的效果;Qian[22]提出了SA-LSTM,以一種結(jié)構(gòu)工程的方式對整個句法依賴樹結(jié)構(gòu)進行建模。
目前,大部分性能較好的語義角色標(biāo)注模型都是基于Bi-LSTM的,但Bi-LSTM無法很好地獲取句子的句法信息。近年來,注意力機制在自然語言處理領(lǐng)域廣泛應(yīng)用,受到He等[23]和Zhang等[24]的啟發(fā),本文引入Self-Attention機制,將其加入到詞表示和Bi-LSTM編碼器之間,同時使用條件隨機場進行標(biāo)簽預(yù)測。
本文將語義角色標(biāo)注任務(wù)轉(zhuǎn)換成序列標(biāo)注問題,給定一個句子序列及其目標(biāo)詞,在目標(biāo)詞所激起框架已知的條件下,識別出句子中與目標(biāo)詞所搭配的語義角色。即: 給定句子X=(w1,w2,w3,…,wn)和其目標(biāo)詞wtarget(1≤target≤n),輸出角色標(biāo)簽序列Y*=argmaxp(Y|X,wtarget,frame)。圖2為本文的模型結(jié)構(gòu),它由三個模塊組成: ①Self-Attention層: 對句子中各詞的語義重要性進行建模; ②Bi-LSTM編碼層; ③CRF標(biāo)簽預(yù)測層。
在語義角色標(biāo)注任務(wù)中,通常對句法的依賴性較強,但是Bi-LSTM模型雖然擅長獲取句子中的長距離依賴信息,卻不能很好地提取句法信息。因此本文在詞表示和Bi-LSTM編碼層之間引入Self-Attention機制捕獲句子中每個詞的句法信息,同時還可以進一步增強Bi-LSTM獲取長距離依賴信息的能力。
將詞表示矩陣X映射為不同的表示K,Q,V,首先對Q和K執(zhí)行點積操作,并對其進行縮放操作,如式(1)所示。再對其執(zhí)行softmax操作進行歸一化,得到句子中每個詞之間的注意力權(quán)重ai。最后,將注意力權(quán)重ai點乘V并求和,得到每個詞的表示矩陣A。
(4)
gj=sigmoid(Wjzt+Ujht-1+bj),j∈{i,f,o}
(5)
(6)
ht=go⊙f(Ct)
(7)
我們在Bi-LSTM編碼層之后,添加一層CRF進行標(biāo)簽預(yù)測。因為在序列標(biāo)注問題中,相鄰詞的標(biāo)簽間存在很強的依賴關(guān)系,單獨考慮每個詞的標(biāo)簽得分是不合適的。所以使用CRF對整個序列進行全局歸一化,得到概率最大的最優(yōu)序列。
假設(shè)輸入序列為X=(x1,x2,…,xn),輸出序列為y=(y1,y2,…,yn),約定H是Bi-LSTM層的輸出矩陣,而Hi,j對應(yīng)于句子中第i個單詞的第j個標(biāo)簽的得分。那么,它的得分定義如式(8)所示,其中,S是標(biāo)簽的轉(zhuǎn)移得分矩陣,Si,j表示從標(biāo)簽i到標(biāo)簽j的轉(zhuǎn)移得分。
對于輸出序列y所有可能的標(biāo)簽序列的概率的softmax形式如式(9)所示,其中,YX表示輸入序列X的所有可能的標(biāo)簽序列。在解碼時,我們通過式(10)預(yù)測輸出序列。
本文實驗數(shù)據(jù)來自漢語框架網(wǎng)例句庫,該例句庫的標(biāo)注數(shù)據(jù)由人工標(biāo)注。本文選取其中的25個框架658個詞元共19 355條標(biāo)注數(shù)據(jù)。本實驗將上述數(shù)據(jù)按框架分割成訓(xùn)練集、驗證集、測試集,分割比例為6:2:2。
本文使用準(zhǔn)確率(Precision,P)、召回率(Recall,R)、F1值作為評價指標(biāo)。具體如下:
使用Glove在CFN例句庫上預(yù)訓(xùn)練的詞向量,詞向量維度為100。詞性、句法路徑特征等特征的維度為10,其中,使用LTP(語言技術(shù)平臺)進行句法分析。此外,其它超參數(shù)設(shè)置為學(xué)習(xí)率learning_rate=0.015,丟棄率dropout=0.5,隱藏層個數(shù)hidden_dim=200,優(yōu)化函數(shù)為SGD(隨機梯度下降),正則化系數(shù)L2=1e-8。
為了驗證Self-Attention機制的效果,設(shè)置了兩個對比實驗: BLC和BLAC,前者未引入Self-Attention機制,后者將Self-Attention機制加入到Bi-LSTM編碼器之后,實驗結(jié)果如表1所示。首先,無句法路徑特征時, 本文模型ABLC比BLAC和BLC分別提高了7.39%、4.49%,而加入路徑特征時,ABLC比BLAC和BLC分別提高了5.94%、3.98%;其次,本文的ABLC模型比BLAC的性能分別高了2.9%和1.96%。因此驗證了本文模型引入Self-Attention機制在漢語框架語義角色標(biāo)注任務(wù)中的有效性。此外,引入Self-Attention機制后,即BLAC和ABLC,加入句法路徑特征對結(jié)果提升不是很明顯,分別提高了0.92%和-0.02%,表明本文模型可以獲取一定句法信息。
表1 Self-Attention在不同位置的實驗結(jié)果 (單位: %)
為了分析不同路徑特征對實驗結(jié)果的影響, 本文分別使用了三種不同的路徑特征進行實驗, 結(jié)果如表2 所示。 總體而言, 使用一級路徑特征的實驗結(jié)果相對較好。
表2 不同路徑特征的實驗結(jié)果 (單位: %)
由于數(shù)據(jù)稀疏對實驗的影響,本文對利用框架關(guān)系對實驗數(shù)據(jù)的擴充進行初步探索。本文使用兩種方式進行數(shù)據(jù)擴充。將目標(biāo)框架的數(shù)據(jù)與關(guān)系數(shù)據(jù)的train、dev分別合并后作為擴充數(shù)據(jù)的train、dev,擴充后的數(shù)據(jù)集稱為Data1;為了驗證擴充數(shù)據(jù)在無例句的框架中的性能,將關(guān)系數(shù)據(jù)的train、dev作為擴充數(shù)據(jù)的train、dev,稱為Data2。
除[放置]框架外,其他框架在擴充數(shù)據(jù)集Data1上均可以提升目標(biāo)框架的實驗結(jié)果,表明利用框架關(guān)系擴充實驗數(shù)據(jù)可以提高漢語框架語義角色標(biāo)注的性能。同時,在Data2上的實驗結(jié)果略微于原始數(shù)據(jù)的結(jié)果,因為在CFN中,核心框架元素是框架自身個性的體現(xiàn),當(dāng)框架之間的核心框架元素存在較大差異時,也會對實驗結(jié)果產(chǎn)生影響。但實驗結(jié)果表明,利用框架關(guān)系擴充無例句框架數(shù)據(jù)集可以在一定程度上幫助,無例白框架進特框架語義角色注。
表3為漢語框架語義角色標(biāo)注中的句法路徑特征示例,“母子”、“倆”同屬框架語義角色“args”,二者的一級句法路徑特征均為“HED->SBV”;同理,“為”、“些”、“小事”的一級句法路徑特征為“HED->ADV”,對應(yīng)漢語框架語義角色標(biāo)簽“issue”。由此可見,一級句法路徑特征與框架語義角色塊有較強的相關(guān)性。另外,從表2中可以看出,不同路徑特征對基線模型BLC的性能影響較大,而引入自注意力機制的BLAC模型和ABLC模型的性能受句法路徑特征的影響較小。進一步證明了本文模型可以更好地獲取一定的句法信息。
表3 句法路徑特征示例
續(xù)表
表4 擴充數(shù)據(jù)上的F1值 (單位: %)
為了分析本文模型對句子中長距離依賴的影響,記錄了不同的角色與目標(biāo)詞的距離集合的F1值,如圖3所示。從圖中可以看出,所有距離的F1值都得到了改進。這表明了我們的模型在引入Self-Attention機制后可以增強模型捕獲長距離信息的能力,進而提升漢語框架語義角色標(biāo)注性能。
圖3 不同角色與目標(biāo)詞距離上的F1值
本文提出了一種基于Self-Attention機制的句法感知漢語框架語義角色標(biāo)注模型,同時,本文利用框架關(guān)系對實驗數(shù)據(jù)進行擴充,以減少數(shù)據(jù)稀疏對語義角色標(biāo)注的影響。實驗結(jié)果表明,本文模型的實驗結(jié)果較之前模型中有了顯著提升,并且驗證了本文模型可以獲取一定句法信息;同時,利用框架關(guān)系對數(shù)據(jù)進行擴充,有助于緩解漢語框架語義角色標(biāo)注中的數(shù)據(jù)稀疏問題,尤其對無例句框架的漢語框架語義角色標(biāo)注的幫助更大。此外,在未來工作中,在更好地融入句法信息以及數(shù)據(jù)稀疏方面還有很多工作需要完成。