朱 嘉 瑩, 王 榮 波, 黃 孝 喜, 諶 志 群
( 杭州電子科技大學 認知與智能計算研究所, 浙江 杭州 310018 )
隱喻作為一種語言現(xiàn)象,在日常生活中被廣泛應用.這種包含了復雜想象力的語言現(xiàn)象,可以幫助協(xié)調(diào)人們對世界的認知體驗和概念系統(tǒng)[1].這種協(xié)調(diào)方式體現(xiàn)了某種跨領(lǐng)域的映射關(guān)系.黃孝喜[2]具體地提出了隱喻的本質(zhì)其實就是以一個較為熟悉或簡單的概念來理解另一個較為復雜或困難的概念.如“幸福像花兒一樣”,由于“花兒”有甜蜜美好的屬性,為了形象表現(xiàn)“幸福”同有這一屬性,作為一個抽象名詞,“幸?!毙枰柚粋€存在相似特征的具象名詞來理解,因此才會出現(xiàn)上文所示的語言表達方式.在“幸福像花兒一樣”中,“花兒”甜蜜美好的認知是人們獲得的經(jīng)驗認知,“幸?!笔侨藗儷@得的另一個概念;在這種跨領(lǐng)域映射關(guān)系中,“花兒”作為源域,“幸?!弊鳛槟繕擞颍?/p>
隱喻識別對于更好地挖掘語義和情感信息有重要的作用,在機器翻譯、問答系統(tǒng)、情感分析等領(lǐng)域有廣泛的應用[3].因此,隱喻識別的進步關(guān)系到自然語言處理多個領(lǐng)域的提升.但隱喻識別仍然面臨著許多不可避免的挑戰(zhàn).首先,隱喻具有較強的主觀性,需要特定領(lǐng)域的知識作為支撐.因此,要求研究者不僅具備使用計算機能力還需要熟悉語言學知識,并且研究語料的標注要求多位學者共同工作以保證其客觀性,這也成為隱喻研究語料庫稀少的因素之一.其次,隱喻不具備特定的詞匯搭配形態(tài)或者信號[4].隱喻的使用可以是簡單的也可以是復雜的[5].再次,隱喻常常需要聯(lián)系上下文來克服其不確定性.例如英文語句“He is playing with fire”有兩種意義,一種是字面意義,他在玩火;另一種是隱喻意義,他在冒險.如果脫離上下文,則無法判定這句話的真實意義.
多年來,研究者們針對隱喻識別提出了各種解決方法.根據(jù)不同的研究視角可以分為句法方面研究和語義方面研究.Sullivan[6]提出了句法結(jié)構(gòu)可被應用于識別隱喻中的源域和目標域,認為動詞會激活源域,動詞的論元則會激活目標域.Stowe等[7]分析了句法結(jié)構(gòu)與隱喻現(xiàn)象之間的關(guān)系,而不僅僅拘泥于檢測源域和目標域的思想,試圖通過對基于語料庫的論元結(jié)構(gòu)及其隱喻特征的分析來確定有效句法結(jié)構(gòu),以此實現(xiàn)隱喻識別.Lederer[8]提出了不一樣的理念,他在研究中表明只關(guān)注源域的觀點,認為源域和目標域在詞法上的分離不利于隱喻的識別,且一個源域可以對應多個目標域(目標域是可變的),因此選擇源域作為研究對象.他以經(jīng)濟語言為例,基于統(tǒng)計學方法對伴隨源域日常出現(xiàn)的搭配詞做出評估,通過一定的指標判定其是否為源域出現(xiàn)的觸發(fā)詞,隨后將符合要求的詞錄入數(shù)據(jù)集用于挖掘更多的隱喻數(shù)據(jù).但是這種方法非常依賴人工分析,是一種半自動識別方式,且只能識別常規(guī)隱喻,對新穎隱喻束手無策.
Bulat等[9]選擇從語義角度研究隱喻識別,認為隱喻計算任務的關(guān)鍵在于尋找語義表現(xiàn)的最優(yōu)抽象級別.先對McRae等[10]建立的屬性-規(guī)范數(shù)據(jù)集(property-norm dataset)中的規(guī)范性屬性訓練學習,再利用基于Mikolov等[11]的skip-gram模型上下文預測和統(tǒng)計方法建立語言表示方法,最終建立交叉-模態(tài)映射模型,實現(xiàn)自動選擇合適的屬性來比較兩個詞.然后采用SVM來分類預測該詞的表述是否為隱喻.這種基于語義屬性的研究為未來研究工作提供了深入發(fā)展的機會.Zayed等[4]使用分布語義識別動-名詞結(jié)構(gòu)中的動詞隱喻,主要通過動-名詞詞向量相似度計算來判定是否屬于隱喻.Bizzoni等[12]認為隱喻識別依賴上下文信息,因此關(guān)注到了詞序列,采用Bi-LSTM獲取上下文語義關(guān)系.另外,他們還添加了每個詞的抽象度作為額外特征輸入模型,很大程度地改善了結(jié)果.蘇暢等[13]提出了基于動態(tài)分類的隱喻識別方法,動態(tài)地從概念的客觀屬性、認知屬性、語義類別、整體部件等4個維度選擇合適的維度比較相似度.
近年,機器學習和深度學習的盛行為隱喻識別自動化提供了更廣闊的發(fā)展空間.Rai等[14]使用了監(jiān)督學習方法,通過提取句法、概念、情感和上下文4個特征,一并將這些特征向量化與詞向量拼接起來,選用CRF作為分類器輸出類別.Mosolova等[15]在此基礎(chǔ)上將4個特征替換成詞性、抽象度等10個特征,并嘗試了3種梯度下降方法分別訓練模型.隨后有研究者嘗試用神經(jīng)網(wǎng)絡(luò)代替機器學習來研究問題.Pramanick等[16]提出了基于Bi-LSTM和CRF模型的隱喻識別,并提出了在數(shù)據(jù)預處理階段將詞還原為詞根的方法.相比于Bizzoni等[12]的研究,他們更關(guān)注語義順序和每個詞的抽象與具象對比度等文本特征,認為不同程度的對比度對識別結(jié)果有著權(quán)重不一的影響.Wu等[17]認為詞的局部語義及長距離語義為隱喻識別提供了有效信息支持,可采用不同窗口大小的CNN獲取不同范圍內(nèi)語義信息,再結(jié)合Bi-LSTM綜合上下文信息進行隱喻識別.
如上所述,大多數(shù)研究都是詞和短語層面的隱喻識別,句層面的研究工作相對較少,且關(guān)注的特征相對單一.針對隱喻識別依賴上下文信息的特點,本文提出構(gòu)造CNN-Bi-LSTM模型,并將其應用于詞層面和句層面的隱喻識別研究.該模型充分利用不同范圍內(nèi)的語義、句法、詞性等多特征協(xié)同作用進行隱喻識別.
本文的研究思想主要參考了Wu等[17]工作.在此基礎(chǔ)上,注意到隱喻識別不能僅僅依靠單一語義信息判定,且語義信息分布相對分散,捕捉任務上有一定難度.因此提出借助句法信息,對特定部分提取依存關(guān)系特征,以此獲得論元及其位置信息的方法.本文對VUAMC(VU Amsterdam metaphor corpus)隱喻數(shù)據(jù)中各詞性的占比λ情況進行逐一統(tǒng)計.統(tǒng)計結(jié)果如圖1所示.
圖1 VUAMC數(shù)據(jù)集中各詞性隱喻占比情況
由圖1可知,介詞隱喻、動詞隱喻和名詞隱喻是3種最為普遍的隱喻現(xiàn)象.深入分析語料文本又可發(fā)現(xiàn)其他隱喻常常伴隨于動詞隱喻出現(xiàn).因此,重點關(guān)注了動詞結(jié)構(gòu)的隱喻,認為隱喻常出現(xiàn)在動詞及其周圍,將動詞作為突破口來挖掘多種類的隱喻.多層面隱喻識別模型如圖2所示.
模型的第1部分用作句子的處理,首先輸入詞序列,并通過NLTK中的WordNetLemmatizer還原成詞根,以此獲取準確的詞向量,并減少表外詞的出現(xiàn).而后,對詞序列進行長度規(guī)范化以降低模型訓練的信息干擾.且長序列輸入不利于模型的訓練,這一處理還從一定程度上縮短了模型訓練時間.本文之所以選擇保留部分完整序列是因為句子的連貫性會為模型提供細微的有效信息.
圖2 多層面隱喻識別模型
模型的第2部分是詞向量層.詞向量中包含大量的語義信息.考慮到多方面的文本特征信息會產(chǎn)生協(xié)同作用,并行輸入會為模型提供最大化的特征信息效果,將其編碼為獨熱向量,并將詞向量與它們依次串聯(lián).
模型的第3部分是卷積神經(jīng)網(wǎng)絡(luò)(CNN).卷積神經(jīng)網(wǎng)絡(luò)可以通過改變窗口大小,來控制獲取不同范圍文本的特征信息.根據(jù)隱喻信息涉及范圍的不確定性,選擇滑動窗口大小為2、3、4、5的神經(jīng)網(wǎng)絡(luò)來依次獲取二元組、三元組、四元組、五元組等多規(guī)模結(jié)構(gòu)內(nèi)的局部信息,并串聯(lián)這些不同窗口大小的輸出結(jié)果向量.
模型的第4部分是Bi-LSTM層,用于從串聯(lián)起來的卷積神經(jīng)網(wǎng)絡(luò)特征信息中獲取上下文的全局信息.
模型的第5部分是一個可選擇的LSTM層,當且僅當模型被用于隱喻句識別時該層被選.該層用于保留由Bi-LSTM層輸出的長距離文本信息,并將它們集成于序列末尾.LSTM層中每個單元的遺忘門、輸入門、輸出門和記憶細胞[18],為獲取長距離文本重要信息的關(guān)鍵.LSTM層的遺忘門用于決策當前詞信息的舍棄情況,算法如下:
ft=σ(Wf·[ht-1,xt]+bf)
(1)
其中Wf是遺忘門的權(quán)重矩陣,bf是遺忘門的偏置矩陣,ht-1是前一個詞經(jīng)過LSTM單元運算變換后的輸出,xt是當前詞的輸入,σ表示sigmoid函數(shù).LSTM輸入門用于決策當前詞信息的保留情況,算法如下:
it=σ(Wi·[ht-1,xt]+bi)
(2)
其中Wi是輸入門的權(quán)重矩陣,bi是輸入門的偏置矩陣.LSTM用于表示當前單元的單元狀態(tài),算法如下:
(3)
其中Wc是控制當前單元的權(quán)重矩陣,bc是控制當前單元的偏置矩陣.LSTM用于更新當前單元的單元狀態(tài),算法如下:
(4)
其中Ct-1為前一單元的單元狀態(tài).LSTM輸出門算法如下:
ot=σ(Wo·[ht-1,xt]+bo)
(5)
其中Wo是輸出門的權(quán)重矩陣,bo是輸出門的偏置矩陣.LSTM當前單元的輸出如下:
ht=ottanh(Ct)
(6)
經(jīng)過N個LSTM單元的運算,最后一個LSTM單元聚集了所有被選中需要保留的文本信息,包括語義信息和依存關(guān)系信息.
最后一部分是判別器,用于輸出判別結(jié)果,“M”和“-”分別表示隱喻和非隱喻.在本文中,句層面和詞層面的實驗均采用Softmax判別器.
2.1.1 數(shù)據(jù)集 實驗中使用VUAMC,該數(shù)據(jù)集是BNC-Baby的一部分,包含4個領(lǐng)域的文本:學術(shù)、新聞、科幻小說、對話.每種文本大約包含50 000個單詞.一共有16 202個句子,其中12 122個為訓練集數(shù)據(jù),4 080個為測試集數(shù)據(jù).數(shù)據(jù)集的建立者為文本中每個單詞都標定了隱喻標簽.之所以選擇這個數(shù)據(jù)集是因為這個數(shù)據(jù)集中的文本來源于各個領(lǐng)域,具有比較大的參考價值.另外,這個數(shù)據(jù)集包含多類型的隱喻,有利于更全面地考慮問題和解決問題.
2.1.2 數(shù)據(jù)處理 對單詞進行還原處理,目的是為了獲取更準確的詞向量,減小表外詞的出現(xiàn)概率,但是這并不能避免它們的出現(xiàn).因此,在實驗中,將會用零向量來代替表外詞的詞向量.
之后,對句子長度進行統(tǒng)計,分布結(jié)果如圖3所示.縱軸表示句子的數(shù)量n,橫軸表示詞的個數(shù)m.
圖3 英文句子長度分布圖
本文采用以下算法來確定合適的句子長度:
(7)
本文采用這樣的方法來規(guī)范化模型輸入長度.經(jīng)過算法計算得到的句子長度為23,覆蓋了94.07%的句子.隨后對數(shù)據(jù)進行裁剪和填充處理,處理的數(shù)據(jù)包括特征序列和標簽序列.當處理長度超過23的句子時,只保留末尾的23個序列.處理長度不足23的句子時,則在整個序列之前填充零向量來補全空缺.
2.1.3 詞向量 本文使用的是利用word2vec模型在谷歌新聞語料上訓練生成的300維詞向量,包含3×106詞和短語的詞向量.由于詞量龐大,先對訓練集和測試集中出現(xiàn)的單詞做了歸納,生成一張詞查找表用于后續(xù)的詞向量獲?。?/p>
2.1.4 特征提取 本文通過StanfordCoreNLP軟件包來解析句子的依存關(guān)系,通過句子中的動詞來獲得與之相關(guān)的論元及論元信息.為此,在實驗中將動詞的主語和賓語結(jié)構(gòu)提取出來,用二維獨熱向量編碼表示它們在句子中的成分.通過Stanford parser獲取詞性信息,并用29維獨熱向量逐一編碼.
在數(shù)據(jù)預處理階段,將隱喻標簽序列處理為句子對應的單個標簽并生成句層面的數(shù)據(jù)集.表1為該數(shù)據(jù)集中隱喻句的占比情況.
表1 VUAMC數(shù)據(jù)集中隱喻句占比
2.3.1 數(shù)據(jù)集 本文采用2018年大連理工大學發(fā)布的用于中文動詞隱喻識別的數(shù)據(jù)集.該數(shù)據(jù)集一共有4 394條數(shù)據(jù),其中90%的數(shù)據(jù)(3 954條)作為訓練集,10%的數(shù)據(jù)(440條)作為測試集.
2.3.2 數(shù)據(jù)處理 對句子的分詞處理,使用了由哈爾濱工業(yè)大學開發(fā)的軟件包LTP[19].LTP主要運用在線學習預測訓練實例的標注,并且有比較全面的文本處理模型,包括分詞模型、詞性標注模型、命名實體識別模型、依存關(guān)系分析模型、語義角色標注模型等.在中文自然語言處理領(lǐng)域中被廣泛應用.
中文句子長度分布圖如圖4所示.采用2.1.2 中同樣的方法獲取句子長度為25.
圖4 中文句子長度分布圖
2.3.3 詞向量 采用在維基百科語料(https://dumps.wikimedia.org/)上經(jīng)過word2vec模型訓練的詞向量,一共含有815 095個詞向量,每個詞向量400維.
2.3.4 特征提取 本文同樣使用LTP獲取詞語的詞性并解析句子依存關(guān)系,將詞性和依存關(guān)系分別用29維和4維的獨熱向量編碼.
為驗證各方法的正向作用效果,本文對每個方法依次實驗.表2是與baseline(基線)的對比結(jié)果,本文選取的baseline是Wu等[17]的實驗結(jié)果.實驗結(jié)果表明,經(jīng)過長度規(guī)范化處理的模型取得了最優(yōu)的結(jié)果,各個指標均優(yōu)于baseline,準確率、召回率、F1值分別提升5.5%、4.7%、5.1%.同時優(yōu)于Wu等[17]研究中最好的結(jié)果(使用基于CNN-LSTM與Softmax的集成模型),對應表2中的“best in Wu”.本文結(jié)果與之相比在準確率、F1值上分別提升11.2%、2.1%.因此,驗證了經(jīng)過裁剪和填充的數(shù)據(jù)減少了冗長信息的干擾,可有效提升識別效果.此外,多特征的協(xié)同作用為模型提供大量有效的論元信息,使模型更準確地識別隱喻位置,實驗結(jié)果對應表2中“+relation+pos”,F(xiàn)1值提升2.5%.英文句層面的baseline與詞層面相同.表中relation表示依賴關(guān)系特征,pos表示詞性特征,CP表示輸入數(shù)據(jù)經(jīng)過裁剪和填充處理,none表示輸入數(shù)據(jù)未經(jīng)過任何處理且未增加任何特征的實驗.
表2 英文詞層面實驗對比結(jié)果
實驗結(jié)果最好的模型是做了裁剪和填充處理并加入多種特征的方法.由表3可見,對比baseline 的F1值,該方法有4.0%的明顯提升.可見該方法對于不同層面的隱喻識別任務均表現(xiàn)出不同程度的提升效果.由此驗證了模型具有較強的泛化能力.
表3 英文句層面實驗對比結(jié)果
對于中文句層面的研究,對比的是一項2018年CCL發(fā)布的評測任務結(jié)果(http://ir.dlut.edu.cn/news/detail/526).目前尚未公開參賽者的研究方法,只公開了結(jié)果.本文選取前5名結(jié)果,見表4.
表4 參賽隊伍評測結(jié)果
由于本文模型在捕捉上下文信息方面存在高效性,在不獲取外部特征信息的情況下具有較高的F1值,達86.0%.對數(shù)據(jù)進行裁剪和填充處理并加入詞性、依存關(guān)系等多種文本特征之后,實驗結(jié)果在F1值上有了進一步提升,增幅達2.8%.對比評測任務公布的最好結(jié)果,本文方法F1值提高了5.5%.實驗結(jié)果如表5所示.
表5 中文句層面實驗對比結(jié)果
本文基于Bi-LSTM提出的模型,在詞層面和句層面的隱喻都得到了較好的實驗效果,體現(xiàn)了減少文本信息干擾和文本多樣化信息的協(xié)同作用對隱喻識別的優(yōu)化作用.此外,規(guī)范化模型輸入長度的方法和多特征協(xié)同作用的方法在不同任務中表現(xiàn)的作用強度有所不同,例如在英文詞層面的研究中長度規(guī)范化的作用較依存關(guān)系特征更突出,在英文句層面中則相反,而中文句層面的情況與英文句層面一致.這與方法的具體作用方面不同,裁剪和填充處理主要作用于文本序列這個宏觀方面,而多特征協(xié)同作用主要作用于單個輸入這個微觀方面,且與任務本身的特性相互呼應.
本文提出的模型依賴于大規(guī)模的訓練數(shù)據(jù),對小規(guī)模數(shù)據(jù)的研究工作造成了限制,在以后的工作中會采用諸如Transformer模型來解決這個弊端.