賈玉祥, 俞士汶
(1. 鄭州大學 信息工程學院,河南 鄭州 450001; 2. 北京大學 計算語言學教育部重點實驗室,北京 100871)
認知語言學認為,隱喻本質上是用一個事物來理解另外一個事物的認知現象[1]。從這個角度上說,隱喻貫穿語言發展的整個過程,語言中的隱喻使用非常普遍,除涵蓋比喻、比擬(擬人、擬物)、移就、移覺(通感)等修辭表達外,還有更廣泛的內容,如新詞構造、詞義演變等。隱喻計算也成為計算語言學領域的一個重要課題。
本文采納認知語言學的觀點,將語言中的隱喻定義為“用一個事物(源域或稱喻體)來表達另外一個事物(目標域或稱本體)的語言現象”,并且表達的基礎是兩事物之間的相似性(喻底)。這不同于傳統修辭學中的“暗喻”。
按照隱喻詞的語法屬性可以將隱喻分為名詞性隱喻、動詞性隱喻、形容詞性隱喻、介詞性隱喻等。本文研究最基本的一種隱喻類型——名詞性隱喻。所謂名詞性隱喻,就是由名詞構成的隱喻,在句中充當主語、表語、賓語、同位語等成分[2]。
根據隱喻表達的語言形式,名詞性隱喻又可以分為指稱型隱喻和搭配型隱喻。指稱型隱喻是指目標域和源域同時出現,構成指稱關系,通常由指稱詞“是”“像”“如”等連接,如(下劃線是目標域,波浪線是源域):
知識是力量。
人生如夢。
有時也用標點符號“,”“——”等連接,如:
書,人類進步的階梯。
大部分情況下,目標域在前,源域在后。也有少數情況下,源域在前,目標域在后。如:
最漂亮的服裝是謙虛。
本文把指稱型隱喻也稱為“X是Y”型隱喻。
搭配型隱喻是指由于搭配詞的修飾,使源域名詞的本義發生了隱喻性改變,通常的搭配詞是名詞,構成名詞組合或名詞短語,如知識的海洋、金融風暴等。此時,目標域和源域不一定都出現,如祖國的花朵(目標域“兒童”沒有出現),春天的腳步(源域“人”沒有出現)等。本文把搭配型隱喻也稱為“XY”型隱喻。
有些隱喻表達是指稱型與搭配型的嵌套形式,如:
教師是人類靈魂的工程師。
是“教師是工程師。”“人類靈魂的工程師。”二者的混合。這類隱喻的識別需要將指稱型隱喻與搭配型隱喻結合起來,二者有一個判斷為隱喻,則整句為隱喻表達。
本文主要針對指稱型隱喻,提出基于詞典的識別方法(只考慮目標域和源域,暫不考慮句子上下文)。也考察了該方法用于搭配型隱喻識別時的效果。
隱喻計算可以分為隱喻識別、隱喻理解和隱喻生成三個子任務,目前的研究重點是識別和理解,而識別又是理解的基礎。圍繞名詞性隱喻和動詞性隱喻兩種基本的隱喻類型,出現了基于知識、基于機器學習等隱喻識別方法[3]。
王治敏[4]提出基于機器學習方法的漢語名詞短語隱喻識別。為特定名詞的短語選擇一定的語料,標記隱喻和非隱喻用法。用標記語料訓練分類器,從新的名詞短語中識別出隱喻。該方法的優點是機器學習方法在大規模數據的分類中具有優勢,缺點是要為每個名詞標注一定數量的語料,耗費人力。
對于名詞性隱喻的識別,基于現有知識庫的方法是一個很好的選擇。Krishnakumaran[5]利用WordNet中的上下位關系來判斷“X is Y”是常規表達還是隱喻表達。如果Y是X的上位,則是常規表達;否則是隱喻表達。如“A lion is a wild animal”,animal是lion的上位概念,是常規表達。而“All the world is a stage”,stage不是world的上位概念,是隱喻表達。
然而,只考慮上下位關系還不夠,如果X和Y不是上下位關系,而是兄弟關系(如朋友是律師,朋友和律師具有共同的上位“人”)或存在某種關聯(如律師是職業,這里律師指代的是律師這類人所從事的職業),仍是常規表達。
楊蕓[6]利用同義詞詞林和HowNet來判斷指稱型隱喻。結合同義詞詞林的類別相似度和HowNet的上下義相關度定義了一個指稱異常度指標。如果指稱異常度大于給定閾值則為隱喻表達,否則為常規表達。但是,指稱異常度指標不能反映X與Y在詞典中的位置及語義關系情況,不能清楚體現隱喻與語義距離及語義關系之間的關聯,而這些信息對于隱喻的進一步處理是很有用的。
本文利用同義詞詞林的語義距離和HowNet的語義關系來判斷隱喻表達和常規表達,考察隱喻與語義距離及語義關系的關聯。兩部詞典相互印證,只有當兩部詞典都判斷為隱喻表達時,才認為是隱喻表達,否則認為是常規表達。
同義詞詞林(簡稱詞林)[7]的分類體系如圖1所示。從上到下分為大類、中類、小類、詞群、原子詞群(同義詞集合)五個層次。大類由A到L標記,分別為A人、B物、C時空、D抽象物、E特征、F動作、G心理活動、H活動、I現象與狀態、J關聯、K助語及L敬語。

圖1 同義詞詞林五層結構圖
由于詞林是對詞語的一種劃分,詞語均分布在樹的葉子節點,中間節點沒有相應的詞語表示。因此,詞語之間的語義距離,即路徑長度,只有以下六種情況(設詞語w1,w2):
當w1或w2出現在多個語義類中時,兩個詞之間存在多條路徑,這時取最短路徑作為語義距離。
一般來說,語義距離越短,是常規表達的可能性越大,如:“北京”與“首都”的語義距離為0,詞典認為二者是同義詞,則“北京是首都”是常規表達;“中國”與“國家”的語義距離是2,“中國是國家”是常規表達;“睡覺”與“休息”的語義距離是4,“睡覺是休息”是常規表達。
反之,語義距離越長,是隱喻表達的可能性越大。如:“律師”與“狐貍”的語義距離是10,“律師是狐貍”是隱喻表達;“知識”與“力量”的語義距離是8,“知識是力量”是隱喻表達。
但也有例外,比如,在“A人”這一大類里,即使兩個詞的距離是8,也不是隱喻表達,如,“他”和“流氓”,“你”和“老師”的距離都是8,但“他是流氓”,“你是老師”都是常規表達。因此,規定在“A人”類內詞之間的指稱為常規表達。
對于“X是Y”表達,隱喻判別方法如下:
如果語義距離小于等于6,為常規表達;
如果語義距離等于10,為隱喻表達;
如果語義距離等于8,
如果X和Y都屬于語義類A,則為常規表達,
否則,為隱喻表達。
HowNet(2000版)[8]使用1 500多個義原來刻畫概念。義原根據上下位關系,形成樹形結構,父節點是子節點的上位概念,子節點是父節點的下位概念。圖2是HowNet義原樹形結構的截圖。

圖2 樹狀的義原層次結構
詞的義原表示舉例:
律師={human|人,#occupation|職位,police|警,#law|律法}
職業={affairs|事務,#earn|賺,#alive|活著,#occupation|職位}
鯊魚={fish|魚}
朋友={human|人,friend|友}
考慮HowNet中的以下語義關系:
上下位關系(hyper):詞語定義中的第一義原是該詞語的直接上位(direct-hyper),上位的上位稱為間接上位(indirect-hyper),也屬于上下位關系。如魚是鯊魚的上位,動物、生物也是鯊魚的上位。因此,HowNet中存在大量的上下位關系。
兄弟關系(brother):如果兩個詞語的第一義原相同,則二者稱為兄弟關系,如律師、朋友,第一義原都是“human|人”。
相交關系(intersection):如果兩個詞語的義原有交集,稱二者為相交關系,如律師和職業,義原定義有交集“occupation|職位”。
從語義關系的緊密性來說,上下位關系>兄弟關系>相關關系。當兩個詞語之間存在多種語義關系時,取緊密性最大的那個。
對于“X是Y”表達,隱喻判別方法如下:
如果Y是X的上位概念(包括直接上位、間接上位),則是常規表達。如:律師是人。
如果X與Y是兄弟關系,則是常規表達。如:朋友是律師。
如果X與Y是相交關系,則是常規表達。如:律師是職業。
其他,認為是隱喻表達。如:律師是鯊魚。
結合同義詞詞林和HowNet進行隱喻判斷。詞林輸出X與Y的語義距離{0,2,4,6,8,10}與X、Y所屬大類。HowNet輸出語義關系{hyper,indirect-hyper,brother,intersection,metaphor}。只有同義詞詞林和HowNet方法同時判斷為隱喻時,才認為是隱喻表達,否則為常規表達。
表1表示的是文獻[6]中的22個例子的實驗結果,左邊為隱喻表達用例,右邊為常規表達用例。
從表中可以看出,只有最后一行的兩個例子做出了錯誤的判斷,比單獨使用一個詞典效果好。錯誤分析如下:

表1 隱喻識別結果
1. 影子是畫面。
詞林中“影子”與“畫面”的語義編碼分別為:
影子 Bg03C01
畫面 Dk29E01
“影子”屬于自然物,而“畫面”是文教領域的抽象事物,二者屬于不同的大類,語義距離等于10。
HowNet中“影子”與“畫面”有以下義原定義:
影子 image|圖像
畫面 image|圖像,shows|表演物
因此,計算出“影子”與“畫面”是兄弟關系,因為二者的第一義原即直接上位相同,都是“image|圖像”。其實,“影子是畫面”的隱喻性并不明顯,是否是隱喻還需要具體上下文來確定。
2. 跑步是鍛煉。
詞林中“跑步”與“鍛煉”的語義編碼如下:
跑步 Fb01B01
鍛煉 Hg06B01
“跑步”是下肢動作,“鍛煉”屬于教衛科研活動方面的術語,二者屬于不同的大類,語義距離等于10。
HowNet中“跑步”與“鍛煉”的義原定義如下:
跑步 run|跑
鍛煉 cultivate|培養
基于HowNet現有的知識,算法無法將“鍛煉”與“跑步”建立聯系,因此判斷為隱喻。類似的例子還有:
他 aValue|屬性值,kind|類型,other|另
他 ThirdPerson|他,male|男
你 SecondPerson|你
流氓 human|人,undesired|莠,evil|惡,crime|罪
老師 human|人,teach|教,education|教育
由于人稱代詞與“human|人”這一語義類中的詞無法從義原上建立聯系,因此將“他是流氓”“你是老師”判斷為隱喻。可以通過進一步豐富詞典的知識描述并建立起知識之間更好的關聯來解決這一問題。
進一步采用兩個由“是”連接的指稱型隱喻例句庫來測試隱喻識別效果。例句庫Wang選自《實用比喻語詞典》[9],例句主要摘自文學作品、名人名言等;例句庫Li選自文獻[10],這些例子主要用于隱喻的認知、心理研究。選擇例句時去掉了源域或目標域在詞林或HowNet中是未登錄詞的句子。隱喻句庫的情況及識別效果如表2所示。可見,隱喻識別的正確率(此時即隱喻的召回率)在數據集Wang上為89.38%,在數據集Li上為73.28%。

表2 隱喻識別效果
識別錯誤的句子是把隱喻判作了常規表達。以數據集Li為例,表3及表4給出了部分判為常規表達的句子與語義距離和語義關系的關聯。可見,這些語義距離近及語義關系密切的隱喻句都是人們所熟知的表達,新穎性不強,在某種程度上可以認為是常規表達。這也體現了隱喻的生命周期,隨著新穎性由強變弱,從活隱喻轉變為死隱喻。

表3 語義距離為0的目標域源域對

表4 兄弟關系的目標域源域對

表5 搭配型隱喻識別結果
把識別方法用于搭配型隱喻的識別。選擇33個名詞,為每個名詞分別選擇一個常規表達和一個隱喻表達,共66個名—名短語。如表5所示,每一組前一個短語為常規表達(如芭蕾舞臺),后一個短語為隱喻表達(如歷史舞臺),短語后的字母為程序判斷結果,y表示是隱喻,n表示不是隱喻。識別效果如表6所示,隱喻識別效果優于非隱喻識別效果,隱喻識別的F1值為72.29%。

表6 搭配型隱喻識別效果
本文提出了一種簡單的基于詞典的名詞性隱喻識別方法。結合同義詞詞林的語義距離和HowNet的語義關系進行識別,并考察了隱喻與語義距離及語義關系之間的關聯。
下一步將構建更大規模的語料,進行更充分的實驗,更好地考察隱喻識別的性能,改進隱喻識別算法。完善詞典知識,建立知識之間的關聯也是提高識別效果的一個方向。
[1] Lakoff, G., Johnson, M. Metaphors We Live By[M]. Chicago: University of Chicago Press, 1980.
[2] 束定芳. 隱喻學研究[M]. 上海: 上海外語教育出版社, 2000.
[3] 賈玉祥, 俞士汶, 朱學鋒. 隱喻自動處理研究進展[J]. 中文信息學報, 2009, 23(6): 46-55.
[4] 王治敏. 漢語名詞短語隱喻識別研究[D]. 北京大學博士學位論文, 2006.
[5] Krishnakumaran, S., Zhu, X.J. Hunting Elusive Metaphors Using Lexical Resources[C]//Proceedings of the ACL 2007 Workshop on Computational Approaches to Figurative Language, 2007: 13-20.
[6] 楊蕓. 漢語隱喻識別與解釋計算模型研究[D]. 廈門大學博士學位論文, 2008.
[7] HIT-IRLab. 同義詞詞林(擴展版)[DB/OL]. http://ir.hit.edu.cn.
[8] 董振東, 董強. 知網[DB/OL]. http://www.keenage.com.
[9] 王雅軍. 實用比喻語詞典[M]. 上海辭書出版社, 2003.
[10] 李玉蓮. 本體和喻體在中文隱喻句理解中的應用[D]. 西南大學碩士學位論文, 2007.