范慶虎,昝紅英,柴玉梅,張坤麗,賈玉祥
(鄭州大學 信息工程學院,河南 鄭州450001)
上下位關系是語義關系的一種,常用于詞義消岐、本體、知識庫、詞典的構建和驗證。如果一個詞匯NPx的語義內涵包含在另一個詞匯NPy內涵之中,此時NPx和NPy有上下位關系,即NPx為NPy的下位詞,NPy為NPx的上位詞,記作ISA (NPx,NPy)。例如 “水果”的下位詞包括 “香蕉”、“葡萄”、“蘋果”等,下位詞不包括采用一般限定語修飾給定詞所構成的合成詞。目前,已經有了一些上下位詞語關系詞典,例如中文概念詞典 (Chinese concept dictionary,CCD)、知網 (Hownet)、WordNet等。WordNet是一個英文語義字典,將英文中的名詞、動詞、形容詞和副詞組成一個同義詞網絡概念,在這些詞匯概念間建立了同義關系、反義關系、上位關系、下位關系、整體部分關系以及完全關系等多種詞匯語義關系。上述上下位關系詞典都是通過人工進行構造,其維護成本較高,更新速度較慢,詞語的覆蓋率較低。隨著Web的發展,一些網絡知識為上下位關系的獲取提供了豐富的資源,例如百度百科、互動百科、維基百科等,基于百科資源的上下位詞匯關系可以通過計算機自動獲取,容易實現,更新速度較快,有較高的詞語覆蓋率。本文結合詞典和百科資源的優勢進行中文詞匯下位詞發現。
上下位關系的獲取主要有基于模式和基于統計兩種方法,當前獲取上下位關系主要采用基于模式的方法,Hearst從大規模自由文本語料中提取出上下位關系的一些模式特征進行上下位關系的獲取[1]。Asuka提出了基于維基百科的抽取方法,該方法主要對維基百科中文章內容的分層結構進行分析,抽取下位詞[2]。Suchanek使用維基百科中分類信息對語義關系進行抽取[3]。劉磊等提出了一種從符合 “是一個”模式的句子中獲取下位概念的方法,利用半自動獲取的詞典和句型對 “是一個”模式進行分析,然后根據不同的規則,分流獲取下位概念[4]。Ichiro Yamada提出了一種建立大規模上下位關系語料庫的方法,該方法首先從維基百科數據庫中抽取和目標詞語相似度最高的K個詞語,然后結合相似度以及在維基百科中層次距離對K個目標詞語分別打分,最后根據打分進行結果輸出[5]。Ruiz-Casado等人使用模式匹配的方法從維基百科條目中抽取在 WordNet中并不存在的語義關系[6,7]。Shun提出結合每個概念詞的圖片特征和文本特征的屬性繼承,從Web獲取上下位關系,進行下位詞的獲取[8]。對于上下位關系的自動驗證,劉磊提出了一種基于混合特征的迭代上下位關系驗證方法,該方法從語義、語境、空間結構角度,給出一組上下位關系特征,然后將所有特征轉化為用于驗證的產生式規則,最后利用這些規則進行循環迭代驗證[9]。在2012年由中國計算機學會中文信息技術專業委員會主辦的詞匯語義關系評測,該評測包含下位詞的發現,可見下位詞的發現是詞語語義關系中進一步句法和語義分析的基礎,本文提出了多資源融合的下位詞發現。
中文概念詞典 (Chinese concept dictionary,CCD)是一部漢語語義詞典,由北京大學計算語言學研究所開發,其保持了與WordNet的兼容,從結構構建上,CCD繼承了WordNet的概念、詞匯、語義關系,并且根據中文的文化習慣進行了調整[10]。
CCD中的語義關系有同義關系、反義關系、上下位關系、整體部分關系,其中上下位關系在每一個語義范疇中所確定的概念層次結構是一棵標記樹,每個節點對應一個概念,每個節點的父節點表示其上位概念,子節點表示其下位概念,CCD中的名詞概念和動詞概念按照這種上下位概念關系形成一個森林。對下位詞的發現和抽取,即對節點的子節點的發現和抽取,CCD中下位詞發現如圖1所示,分為以下4步:
步驟1 從目標詞語料中抽取一個目標詞,若為第一個目標詞,則直接進入步驟2,否則抽取該下一個目標詞,然后進入步驟2。
步驟2 目標詞是否在于CCD的同義詞集 (CSynset)字段,如果在則獲得該字段對應的下位詞集 (Hyponym)字段值,以8個數字單位截取該字段值,得到n個ID編號。
步驟3 檢索每個ID編號在CCD的offset字段,得到ID編號對應的同義詞 (CSynset)字段值,然后進行數據融合 (見第3.1節)、噪音過濾 (見第3.2節),得到下位詞集合。
步驟4 若當前目標詞為最后一個,則結束,否則跳轉至步驟1。

圖1 基于詞典的下位詞發現
開放分類是百度百科、互動百科等百科里面的一個特定語義信息,是指比傳統的目錄式分類更靈活、更具自主性的分類方式 。本文對下位詞的發現主要采用百度百科、互動百科、維基百科等開放分類資源。
百科的詞條結構是由詞條名、百科名片、段落標題和目錄、詞條正文、正文圖片與圖冊、地圖、模塊、詞條內鏈、參考資料、擴展閱讀、相關詞條、開放分類 (或分類)等組成,每一部分都是 “標記”了詞條語義信息的內容,其中 “開放分類 (或分類)”是詞條的所屬分類,即目標詞與所屬分類存在上下位關系,我們定義開放分類中的每個分類內容為一個語義分類主題,同一個詞條會存在多個語義分類主題,例如劉德華即屬于歌手分類,又屬于演員、藝人等分類。
基于百科的下位詞發現如圖2所示,分為以下4步:
步驟1 從目標詞語料中抽取一個目標詞,若為第一個目標詞,則直接進入步驟2,否則抽取該下一個目標詞,然后進入步驟2。
步驟2 分別抽取目標詞的百度百科、互動百科、維基百科,以下UTF-8(目標詞)表示對目標詞的UTF-8編碼。對百度百科的 URL抽取規則為:http://baike.baidu.com/taglist?tag=UTF-8 (目標詞)&tagfromview,若目標詞的百度百科Tag分類頁面存在,則抽取Tag分類頁面的主題標題,否則跳轉至步驟1。對互動百科的URL抽取規則為:http://fenlei.baike.com/UTF-8 (目標詞)/?prd=zhengwenye_left_kaifangfenlei,若目標詞詞條存在,則抽取詞條中 “分類熱詞”欄目的主題標題,否則跳轉至步驟1。對 維 基 百 科 的 URL 抽 取 規 則 為:http://zh.wikipedia.org/wiki/Category:UTF-8 (目 標 詞),若 目標詞詞條存在,則抽取詞條中 “分類”欄目的主題標題,否則跳轉至步驟1。
步驟3 對百度百科、互動百科、維基百科中抽取的主題標題進行資源融合 (見第3.1節)、噪音過濾 (見第3.2節),得到下位詞集合。
步驟4 若當前目標詞是最后一個目標詞,則結束,否則跳轉至步驟1。

圖2 基于百科的下位詞發現
百度的相關搜索可以通過參考別人的搜索來獲得一些啟發,按搜索熱度、搜索相關度、該詞的百度流量等規則進行排序。百度相關搜索的結果不僅與目標詞存在同義關系、反義關系、上下位關系,而且存在其他的相關關系,基于百度相關搜索的下位詞發現如圖3所示,分為以下幾步。
步驟1 從目標詞語料中抽取一個目標詞,若為第一個目標詞,則直接進入步驟2,否則抽取該下一個目標詞,然后進入步驟2。
步驟2 對目標詞進行百度搜索,若存在目標詞的 “相關搜索”,則抽取目標詞的相關搜索結果,否則跳轉步驟1。
步驟3 對相關搜索結果進行下位詞融合 (見第3.1節)、噪音過濾 (見第3.2節),得到下位詞結合,若當前目標詞是最后一個,則結束,否則跳轉至步驟1。

圖3 基于百度相關搜索的下位詞發現
相關搜索結果與目標詞是否存在上下位關系是問題的關鍵。為了驗證相關搜索結果含有上下位關系,假設基于詞典方法的結果為H1,基于百科方法的結果為H2,基于百度相關搜索方法的結果為H3,若 或 ,則可證明相關搜索結果含有上下位關系。例如詞語 “儒家”在百度相關搜索結果如圖4所示。

圖4 “儒家”相關搜索結果
圖4 所示相關搜索結果即H3={儒家思想,儒家經典,儒家文化,……},基于百科方法 (見第2.2節)的結果H2={孟子,中庸,千字文,伏念,墨家,儒家思想,格物致知,……},則H2∩H3={儒家思想,……}≠ 。
在數據預處理階段采用網絡爬蟲獲取Web資源,下載目標詞的百度百科、互動百科、維基百科、百度相關搜索等HTML網頁文本,為了便于下位詞的發現,過濾HTML網頁文本中的標記,提取出其中的純文本內容,并且保留了其中的開放分類、分類、分類熱詞等關鍵標簽文本內容。詞條內容可用三元組Q (Word,Content,Catagory)表示,其中Word表示詞條,Content表示詞條的正文內容,Category表示詞條的開放分類、分類、分類熱詞等文本內容。
通過不同的方法獲取的下位詞數據各有差別,因此不同的數據整合方法會產生不同的結果。數據整合的方法可以分為[11]:
(1)直接合并。將不同方法獲得的下位詞數據直接加入下位詞集合,并且進行下位詞的去重。
(2)加權合并。根據獲取不同下位詞方法的可信度,可以對不同的方法進行加權,最終對下位詞的結果進行排序,然后設定閾值進行獲取。
為了保證下位詞數據的召回率,本文下位詞的獲取主要采用直接合并的方法對下位詞的結果進行整合,通過詞典發現的下位詞集合為R1、百科發現的下位詞集合為R2、百度相關搜索的下位詞集合為R3,則最終的下位詞集合為R={R1∪R2∪R3}。
百科知識為信息的獲取提供了豐富的資源,但是由于百科知識的開放性,具有不同知識背景的人都可以對百科詞條內容的編纂,詞條內容難免會出現數據噪音,因此數據噪音的過濾對下位詞的發現至關重要,對數據噪音的處理如下:
(1)對含有噪音特征詞語的結果進行過濾。例如 “儒家”的相關搜索結果中 “儒家思想的核心”很明顯不為“儒家”的下位詞,其中的特征詞為 “的”。通過人工對相關搜索結果的分析構造的部分特征詞語及例子如表1所示。

表1 部分特征詞及例子
通過分析構造的特征詞語:的、什么、是、多少、嗎、特殊字符 (字母、數字、空格、標點符號)、怎么、下載、吧、有、哪、和、如何、之、大全、全集、作用、關于、在、意思、圖片、高清、價格、含義、用途、方法、不、公司、原因等。
(2)同音詞過濾。同音詞指的是聲、韻、調完全相同,而意義完全不同的一組詞。例如詞語 “車站”的相關搜索結果中出現 “車展”, “車站”和 “車展”是同音詞 (che zhan),但這兩個詞語明顯不存在上下位關系,本文使用pingyin4j對同音詞進行處理。
實驗數據采用NLP&CC2012中文詞匯語義關系任務中的評測數據。下位詞評測數據集包括10000個詞匯。數據來源包括普通詞典、百科詞條、敘詞表等多種資源,詞匯的詞性包括普通名詞和專有名詞。
評測數據的結果采用人工標注,最終生成256個目標詞的標準答案,據此進行評測。
評測采用3個指標:正確率 (Precision),召回率 (Recall)和F值 (F-measure),并分別計算其微平均值和宏平均值。
4.2.1 微平均
微平均以每個語義關系為一個計算單元,具體計算公式如下:
正確率表示發現的語義關系 (同義或下位)中出現在標準結果中的比例,計算式 (1)如下

其中,詞表中的每個詞匯與發現的每個同義詞 (或下位詞)為一條語義關系。發現的同義詞之間的關系不計算在內。
召回率表示標準結果中被正確發現的語義關系比例,計算式 (2)如下

F值是正確率和召回率的調和平均數,計算式 (3)如下

4.2.2 宏平均
宏平均以每個詞為一個計算單位,每個詞的評價指標正確率計算式 (4),召回率計算式 (5),F值計算式 (6)如下所示


宏平均值正確率計算式 (7)、召回率計算式 (8)、F值計算式 (9)如下所示

其中,N為評測詞匯總數。
為了驗證不同方法對下位詞發現的影響,本文分別使用基于詞典、基于百科資源、基于詞典和百科資源相結合的方法進行實驗,實驗結果如表2所示。

表2 不同方法的實驗結果
表2實驗結果表明,基于詞典的下位詞發現召回率偏低 (僅為0.0423),基于百科的方法對下位詞發現的召回率有明顯的提高 (為0.3321,提高近30%),表明基于百科方法的有效性;基于百度相關搜索的方法不僅提高下位詞的召回率,而且提高了正確率 (基于百科資源和相關搜索方法的結合與基于百科資源方法不僅宏平均F1值提高15%,而且微平均F1值提高8%),表明基于百科相關搜索的有效性;最后將所有方法的結果進行直接合并,不僅提高了召回率,而且宏平均F1值和微平均F1值相比第三種結合方法分別提高3%和2.5%,這進一步表明多資源融合的方法可以避免單一方法對下位詞發現的數據稀疏問題,從而提高下位詞發現的召回率和正確率,更加有效的解決對詞匯語義關系發現的問題。
本文研究參加了2012年中國計算機學會中心信息技術專業委員會舉辦的 “中文微博情感分析和詞匯語義關系抽取評測任務”中下位詞發現的評測任務,評測結果如表3所示。

表3 下位關系評測結果
表3中system1是采用基于詞典和百科資源結果相融合的方法,system2是在system1方法的基礎上融合了百度相關搜索的結果,結果中宏平均召回率提高26%,微平均召回率提高15%,宏平均F1值提高19%,微平均F1值提高10%,表明了百度相關搜索對下位詞的發現有很高的可信度,system2實驗結果表明,多資源融合的方法能夠有效地對下位詞進行發現。
下位詞信息是自然語言處理中很重要的資源,是進一步進行句法和語義分析的基礎,而此類語義詞典的手工構建是一項非常耗時耗力的浩大工程,存在著不易更新、覆蓋度不去等諸多缺陷。本文結合網絡資源的優點:通過計算機自動獲取、容易實現、更新速度較快、有較高的詞語覆蓋度,對百度百科、互動百科、維基百科、百度相關搜索等多種資源的分析,并且結合已有語義詞典進行下位詞的發現;最后對各種方法抽取的下位詞進行數據融合、噪音過濾。實驗表明,多方法的融合能夠有效地進行下位詞發現。本文所述下位詞發現的方法雖然比較有效,下一步工作:首先,結合更多的語義詞典 (如Hownet),來提高正確率和召回率;其次,不斷完善數據噪音特征,提高數據的正確率;最后,使用 “是一個”和模式匹配的方法對下位詞進行發現,進一步提高召回率。另外,將抽取下位詞的方法推廣到其他語義關系密切的詞類。
[1]Hearst,Marti A.Automatic acquisition of hyponyms from large text corpora[C]//Proc of the 14th International Conference on Computational Linguistics,1992:539-545.
[2]Asuka Sumida,Kentaro Torisawa.Hacking Wikipedia for hyponymy relation acquisition[C]//Proceedings of the Third International Joint Conference on Natural Language Processing,2008:883-888.
[3]Fabian M Suchanek,Gjergji Kasneci,Gerhard Weikum.Yago:A core of semantic knowledge unifying wordnet and wikipedia[C]//Proceedings of the 16th International World Wide Web Conference,2007.
[4]LIU Lei,CAO Cungen,WANG Haitao,et al.A method of hyponym acquisition based on “isa”pattern[J].Computer Science,2006,33 (9):146-151 (in Chinese).[劉磊,曹存根,王海濤,等.一種基于 “是一個”模式的下位概念獲取方法[J].計算機科學,2006,33 (9):146-151.]
[5]Ichiro Yamada,Kentaro Torisawa,Jun’ichi Kazama,et al.Hypernym discovery based on distributional similarity and hierarchical structures[C]// Proceedings of the Conference on Empirical Methods in Natural Language Processing,2009:929-937.
[6]Ruiz-Casado Maria,Alfonseca Enrique,Castells Pablo.From Wikipediato semantic relationships:A semi-automated annotation approach[C]//the Third Annual European Semantic Web Conference,2006.
[7]Ruiz-Casado Maria,Alfonseca Enrique,Castells Pablo.Automatising the learning of lexical patterns:An application to the enrichment of WordNet by extracting semantic relationships from Wikipedia[J].Data Knowledge and Engineering,2007,61 (3):484-499.
[8]Shun Hattori.Hyponym extraction from the web based on property inheritance of text and image features[C]//The Sixth International Conference on Advances in Semantic Processing.2012:109-114.
[9]LIU Lei,CAO Cungen.Hyponymy relation verification method based on hybrid features[J].Computer Engineering,2008,34(14):12-16 (in Chinese).[劉磊,曹存根.基于混合特征的上下位關系驗證方法[J].計算機工程,2008,34 (14):12-16.]
[10]YU Jiangsheng,YU Shiwen.The structure of chinese concept dictionary[J].Journal of Chinese Information Processing,2002,16(4):12-20 (in Chinese).[于江生,俞士汶.中文信息概念的結構[J].中文信息學報,2002,16 (4):12-20.]
[11]LU Yong,ZHANG Chengzhi,HOU Hanqing.The structure of chinese concept dictionary[J].Journal of Library Science in China,2010 (1):56-62 (in Chinese).[陸勇,章成志,侯漢清.基于百科資源的多策略中文同義詞自動抽取研究[J].中國圖書館學報,2010 (1):56-62.]