范慶虎,昝紅英,柴玉梅,張坤麗,賈玉祥
(鄭州大學 信息工程學院,河南 鄭州450001)
上下位關(guān)系是語義關(guān)系的一種,常用于詞義消岐、本體、知識庫、詞典的構(gòu)建和驗證。如果一個詞匯NPx的語義內(nèi)涵包含在另一個詞匯NPy內(nèi)涵之中,此時NPx和NPy有上下位關(guān)系,即NPx為NPy的下位詞,NPy為NPx的上位詞,記作ISA (NPx,NPy)。例如 “水果”的下位詞包括 “香蕉”、“葡萄”、“蘋果”等,下位詞不包括采用一般限定語修飾給定詞所構(gòu)成的合成詞。目前,已經(jīng)有了一些上下位詞語關(guān)系詞典,例如中文概念詞典 (Chinese concept dictionary,CCD)、知網(wǎng) (Hownet)、WordNet等。WordNet是一個英文語義字典,將英文中的名詞、動詞、形容詞和副詞組成一個同義詞網(wǎng)絡(luò)概念,在這些詞匯概念間建立了同義關(guān)系、反義關(guān)系、上位關(guān)系、下位關(guān)系、整體部分關(guān)系以及完全關(guān)系等多種詞匯語義關(guān)系。上述上下位關(guān)系詞典都是通過人工進行構(gòu)造,其維護成本較高,更新速度較慢,詞語的覆蓋率較低。隨著Web的發(fā)展,一些網(wǎng)絡(luò)知識為上下位關(guān)系的獲取提供了豐富的資源,例如百度百科、互動百科、維基百科等,基于百科資源的上下位詞匯關(guān)系可以通過計算機自動獲取,容易實現(xiàn),更新速度較快,有較高的詞語覆蓋率。本文結(jié)合詞典和百科資源的優(yōu)勢進行中文詞匯下位詞發(fā)現(xiàn)。
上下位關(guān)系的獲取主要有基于模式和基于統(tǒng)計兩種方法,當前獲取上下位關(guān)系主要采用基于模式的方法,Hearst從大規(guī)模自由文本語料中提取出上下位關(guān)系的一些模式特征進行上下位關(guān)系的獲取[1]。Asuka提出了基于維基百科的抽取方法,該方法主要對維基百科中文章內(nèi)容的分層結(jié)構(gòu)進行分析,抽取下位詞[2]。Suchanek使用維基百科中分類信息對語義關(guān)系進行抽取[3]。劉磊等提出了一種從符合 “是一個”模式的句子中獲取下位概念的方法,利用半自動獲取的詞典和句型對 “是一個”模式進行分析,然后根據(jù)不同的規(guī)則,分流獲取下位概念[4]。Ichiro Yamada提出了一種建立大規(guī)模上下位關(guān)系語料庫的方法,該方法首先從維基百科數(shù)據(jù)庫中抽取和目標詞語相似度最高的K個詞語,然后結(jié)合相似度以及在維基百科中層次距離對K個目標詞語分別打分,最后根據(jù)打分進行結(jié)果輸出[5]。Ruiz-Casado等人使用模式匹配的方法從維基百科條目中抽取在 WordNet中并不存在的語義關(guān)系[6,7]。Shun提出結(jié)合每個概念詞的圖片特征和文本特征的屬性繼承,從Web獲取上下位關(guān)系,進行下位詞的獲取[8]。對于上下位關(guān)系的自動驗證,劉磊提出了一種基于混合特征的迭代上下位關(guān)系驗證方法,該方法從語義、語境、空間結(jié)構(gòu)角度,給出一組上下位關(guān)系特征,然后將所有特征轉(zhuǎn)化為用于驗證的產(chǎn)生式規(guī)則,最后利用這些規(guī)則進行循環(huán)迭代驗證[9]。在2012年由中國計算機學會中文信息技術(shù)專業(yè)委員會主辦的詞匯語義關(guān)系評測,該評測包含下位詞的發(fā)現(xiàn),可見下位詞的發(fā)現(xiàn)是詞語語義關(guān)系中進一步句法和語義分析的基礎(chǔ),本文提出了多資源融合的下位詞發(fā)現(xiàn)。
中文概念詞典 (Chinese concept dictionary,CCD)是一部漢語語義詞典,由北京大學計算語言學研究所開發(fā),其保持了與WordNet的兼容,從結(jié)構(gòu)構(gòu)建上,CCD繼承了WordNet的概念、詞匯、語義關(guān)系,并且根據(jù)中文的文化習慣進行了調(diào)整[10]。
CCD中的語義關(guān)系有同義關(guān)系、反義關(guān)系、上下位關(guān)系、整體部分關(guān)系,其中上下位關(guān)系在每一個語義范疇中所確定的概念層次結(jié)構(gòu)是一棵標記樹,每個節(jié)點對應(yīng)一個概念,每個節(jié)點的父節(jié)點表示其上位概念,子節(jié)點表示其下位概念,CCD中的名詞概念和動詞概念按照這種上下位概念關(guān)系形成一個森林。對下位詞的發(fā)現(xiàn)和抽取,即對節(jié)點的子節(jié)點的發(fā)現(xiàn)和抽取,CCD中下位詞發(fā)現(xiàn)如圖1所示,分為以下4步:
步驟1 從目標詞語料中抽取一個目標詞,若為第一個目標詞,則直接進入步驟2,否則抽取該下一個目標詞,然后進入步驟2。
步驟2 目標詞是否在于CCD的同義詞集 (CSynset)字段,如果在則獲得該字段對應(yīng)的下位詞集 (Hyponym)字段值,以8個數(shù)字單位截取該字段值,得到n個ID編號。
步驟3 檢索每個ID編號在CCD的offset字段,得到ID編號對應(yīng)的同義詞 (CSynset)字段值,然后進行數(shù)據(jù)融合 (見第3.1節(jié))、噪音過濾 (見第3.2節(jié)),得到下位詞集合。
步驟4 若當前目標詞為最后一個,則結(jié)束,否則跳轉(zhuǎn)至步驟1。
圖1 基于詞典的下位詞發(fā)現(xiàn)
開放分類是百度百科、互動百科等百科里面的一個特定語義信息,是指比傳統(tǒng)的目錄式分類更靈活、更具自主性的分類方式 。本文對下位詞的發(fā)現(xiàn)主要采用百度百科、互動百科、維基百科等開放分類資源。
百科的詞條結(jié)構(gòu)是由詞條名、百科名片、段落標題和目錄、詞條正文、正文圖片與圖冊、地圖、模塊、詞條內(nèi)鏈、參考資料、擴展閱讀、相關(guān)詞條、開放分類 (或分類)等組成,每一部分都是 “標記”了詞條語義信息的內(nèi)容,其中 “開放分類 (或分類)”是詞條的所屬分類,即目標詞與所屬分類存在上下位關(guān)系,我們定義開放分類中的每個分類內(nèi)容為一個語義分類主題,同一個詞條會存在多個語義分類主題,例如劉德華即屬于歌手分類,又屬于演員、藝人等分類。
基于百科的下位詞發(fā)現(xiàn)如圖2所示,分為以下4步:
步驟1 從目標詞語料中抽取一個目標詞,若為第一個目標詞,則直接進入步驟2,否則抽取該下一個目標詞,然后進入步驟2。
步驟2 分別抽取目標詞的百度百科、互動百科、維基百科,以下UTF-8(目標詞)表示對目標詞的UTF-8編碼。對百度百科的 URL抽取規(guī)則為:http://baike.baidu.com/taglist?tag=UTF-8 (目標詞)&tagfromview,若目標詞的百度百科Tag分類頁面存在,則抽取Tag分類頁面的主題標題,否則跳轉(zhuǎn)至步驟1。對互動百科的URL抽取規(guī)則為:http://fenlei.baike.com/UTF-8 (目標詞)/?prd=zhengwenye_left_kaifangfenlei,若目標詞詞條存在,則抽取詞條中 “分類熱詞”欄目的主題標題,否則跳轉(zhuǎn)至步驟1。對 維 基 百 科 的 URL 抽 取 規(guī) 則 為:http://zh.wikipedia.org/wiki/Category:UTF-8 (目 標 詞),若 目標詞詞條存在,則抽取詞條中 “分類”欄目的主題標題,否則跳轉(zhuǎn)至步驟1。
步驟3 對百度百科、互動百科、維基百科中抽取的主題標題進行資源融合 (見第3.1節(jié))、噪音過濾 (見第3.2節(jié)),得到下位詞集合。
步驟4 若當前目標詞是最后一個目標詞,則結(jié)束,否則跳轉(zhuǎn)至步驟1。
圖2 基于百科的下位詞發(fā)現(xiàn)
百度的相關(guān)搜索可以通過參考別人的搜索來獲得一些啟發(fā),按搜索熱度、搜索相關(guān)度、該詞的百度流量等規(guī)則進行排序。百度相關(guān)搜索的結(jié)果不僅與目標詞存在同義關(guān)系、反義關(guān)系、上下位關(guān)系,而且存在其他的相關(guān)關(guān)系,基于百度相關(guān)搜索的下位詞發(fā)現(xiàn)如圖3所示,分為以下幾步。
步驟1 從目標詞語料中抽取一個目標詞,若為第一個目標詞,則直接進入步驟2,否則抽取該下一個目標詞,然后進入步驟2。
步驟2 對目標詞進行百度搜索,若存在目標詞的 “相關(guān)搜索”,則抽取目標詞的相關(guān)搜索結(jié)果,否則跳轉(zhuǎn)步驟1。
步驟3 對相關(guān)搜索結(jié)果進行下位詞融合 (見第3.1節(jié))、噪音過濾 (見第3.2節(jié)),得到下位詞結(jié)合,若當前目標詞是最后一個,則結(jié)束,否則跳轉(zhuǎn)至步驟1。
圖3 基于百度相關(guān)搜索的下位詞發(fā)現(xiàn)
相關(guān)搜索結(jié)果與目標詞是否存在上下位關(guān)系是問題的關(guān)鍵。為了驗證相關(guān)搜索結(jié)果含有上下位關(guān)系,假設(shè)基于詞典方法的結(jié)果為H1,基于百科方法的結(jié)果為H2,基于百度相關(guān)搜索方法的結(jié)果為H3,若 或 ,則可證明相關(guān)搜索結(jié)果含有上下位關(guān)系。例如詞語 “儒家”在百度相關(guān)搜索結(jié)果如圖4所示。
圖4 “儒家”相關(guān)搜索結(jié)果
圖4 所示相關(guān)搜索結(jié)果即H3={儒家思想,儒家經(jīng)典,儒家文化,……},基于百科方法 (見第2.2節(jié))的結(jié)果H2={孟子,中庸,千字文,伏念,墨家,儒家思想,格物致知,……},則H2∩H3={儒家思想,……}≠ 。
在數(shù)據(jù)預(yù)處理階段采用網(wǎng)絡(luò)爬蟲獲取Web資源,下載目標詞的百度百科、互動百科、維基百科、百度相關(guān)搜索等HTML網(wǎng)頁文本,為了便于下位詞的發(fā)現(xiàn),過濾HTML網(wǎng)頁文本中的標記,提取出其中的純文本內(nèi)容,并且保留了其中的開放分類、分類、分類熱詞等關(guān)鍵標簽文本內(nèi)容。詞條內(nèi)容可用三元組Q (Word,Content,Catagory)表示,其中Word表示詞條,Content表示詞條的正文內(nèi)容,Category表示詞條的開放分類、分類、分類熱詞等文本內(nèi)容。
通過不同的方法獲取的下位詞數(shù)據(jù)各有差別,因此不同的數(shù)據(jù)整合方法會產(chǎn)生不同的結(jié)果。數(shù)據(jù)整合的方法可以分為[11]:
(1)直接合并。將不同方法獲得的下位詞數(shù)據(jù)直接加入下位詞集合,并且進行下位詞的去重。
(2)加權(quán)合并。根據(jù)獲取不同下位詞方法的可信度,可以對不同的方法進行加權(quán),最終對下位詞的結(jié)果進行排序,然后設(shè)定閾值進行獲取。
為了保證下位詞數(shù)據(jù)的召回率,本文下位詞的獲取主要采用直接合并的方法對下位詞的結(jié)果進行整合,通過詞典發(fā)現(xiàn)的下位詞集合為R1、百科發(fā)現(xiàn)的下位詞集合為R2、百度相關(guān)搜索的下位詞集合為R3,則最終的下位詞集合為R={R1∪R2∪R3}。
百科知識為信息的獲取提供了豐富的資源,但是由于百科知識的開放性,具有不同知識背景的人都可以對百科詞條內(nèi)容的編纂,詞條內(nèi)容難免會出現(xiàn)數(shù)據(jù)噪音,因此數(shù)據(jù)噪音的過濾對下位詞的發(fā)現(xiàn)至關(guān)重要,對數(shù)據(jù)噪音的處理如下:
(1)對含有噪音特征詞語的結(jié)果進行過濾。例如 “儒家”的相關(guān)搜索結(jié)果中 “儒家思想的核心”很明顯不為“儒家”的下位詞,其中的特征詞為 “的”。通過人工對相關(guān)搜索結(jié)果的分析構(gòu)造的部分特征詞語及例子如表1所示。
表1 部分特征詞及例子
通過分析構(gòu)造的特征詞語:的、什么、是、多少、嗎、特殊字符 (字母、數(shù)字、空格、標點符號)、怎么、下載、吧、有、哪、和、如何、之、大全、全集、作用、關(guān)于、在、意思、圖片、高清、價格、含義、用途、方法、不、公司、原因等。
(2)同音詞過濾。同音詞指的是聲、韻、調(diào)完全相同,而意義完全不同的一組詞。例如詞語 “車站”的相關(guān)搜索結(jié)果中出現(xiàn) “車展”, “車站”和 “車展”是同音詞 (che zhan),但這兩個詞語明顯不存在上下位關(guān)系,本文使用pingyin4j對同音詞進行處理。
實驗數(shù)據(jù)采用NLP&CC2012中文詞匯語義關(guān)系任務(wù)中的評測數(shù)據(jù)。下位詞評測數(shù)據(jù)集包括10000個詞匯。數(shù)據(jù)來源包括普通詞典、百科詞條、敘詞表等多種資源,詞匯的詞性包括普通名詞和專有名詞。
評測數(shù)據(jù)的結(jié)果采用人工標注,最終生成256個目標詞的標準答案,據(jù)此進行評測。
評測采用3個指標:正確率 (Precision),召回率 (Recall)和F值 (F-measure),并分別計算其微平均值和宏平均值。
4.2.1 微平均
微平均以每個語義關(guān)系為一個計算單元,具體計算公式如下:
正確率表示發(fā)現(xiàn)的語義關(guān)系 (同義或下位)中出現(xiàn)在標準結(jié)果中的比例,計算式 (1)如下
其中,詞表中的每個詞匯與發(fā)現(xiàn)的每個同義詞 (或下位詞)為一條語義關(guān)系。發(fā)現(xiàn)的同義詞之間的關(guān)系不計算在內(nèi)。
召回率表示標準結(jié)果中被正確發(fā)現(xiàn)的語義關(guān)系比例,計算式 (2)如下
F值是正確率和召回率的調(diào)和平均數(shù),計算式 (3)如下
4.2.2 宏平均
宏平均以每個詞為一個計算單位,每個詞的評價指標正確率計算式 (4),召回率計算式 (5),F(xiàn)值計算式 (6)如下所示
宏平均值正確率計算式 (7)、召回率計算式 (8)、F值計算式 (9)如下所示
其中,N為評測詞匯總數(shù)。
為了驗證不同方法對下位詞發(fā)現(xiàn)的影響,本文分別使用基于詞典、基于百科資源、基于詞典和百科資源相結(jié)合的方法進行實驗,實驗結(jié)果如表2所示。
表2 不同方法的實驗結(jié)果
表2實驗結(jié)果表明,基于詞典的下位詞發(fā)現(xiàn)召回率偏低 (僅為0.0423),基于百科的方法對下位詞發(fā)現(xiàn)的召回率有明顯的提高 (為0.3321,提高近30%),表明基于百科方法的有效性;基于百度相關(guān)搜索的方法不僅提高下位詞的召回率,而且提高了正確率 (基于百科資源和相關(guān)搜索方法的結(jié)合與基于百科資源方法不僅宏平均F1值提高15%,而且微平均F1值提高8%),表明基于百科相關(guān)搜索的有效性;最后將所有方法的結(jié)果進行直接合并,不僅提高了召回率,而且宏平均F1值和微平均F1值相比第三種結(jié)合方法分別提高3%和2.5%,這進一步表明多資源融合的方法可以避免單一方法對下位詞發(fā)現(xiàn)的數(shù)據(jù)稀疏問題,從而提高下位詞發(fā)現(xiàn)的召回率和正確率,更加有效的解決對詞匯語義關(guān)系發(fā)現(xiàn)的問題。
本文研究參加了2012年中國計算機學會中心信息技術(shù)專業(yè)委員會舉辦的 “中文微博情感分析和詞匯語義關(guān)系抽取評測任務(wù)”中下位詞發(fā)現(xiàn)的評測任務(wù),評測結(jié)果如表3所示。
表3 下位關(guān)系評測結(jié)果
表3中system1是采用基于詞典和百科資源結(jié)果相融合的方法,system2是在system1方法的基礎(chǔ)上融合了百度相關(guān)搜索的結(jié)果,結(jié)果中宏平均召回率提高26%,微平均召回率提高15%,宏平均F1值提高19%,微平均F1值提高10%,表明了百度相關(guān)搜索對下位詞的發(fā)現(xiàn)有很高的可信度,system2實驗結(jié)果表明,多資源融合的方法能夠有效地對下位詞進行發(fā)現(xiàn)。
下位詞信息是自然語言處理中很重要的資源,是進一步進行句法和語義分析的基礎(chǔ),而此類語義詞典的手工構(gòu)建是一項非常耗時耗力的浩大工程,存在著不易更新、覆蓋度不去等諸多缺陷。本文結(jié)合網(wǎng)絡(luò)資源的優(yōu)點:通過計算機自動獲取、容易實現(xiàn)、更新速度較快、有較高的詞語覆蓋度,對百度百科、互動百科、維基百科、百度相關(guān)搜索等多種資源的分析,并且結(jié)合已有語義詞典進行下位詞的發(fā)現(xiàn);最后對各種方法抽取的下位詞進行數(shù)據(jù)融合、噪音過濾。實驗表明,多方法的融合能夠有效地進行下位詞發(fā)現(xiàn)。本文所述下位詞發(fā)現(xiàn)的方法雖然比較有效,下一步工作:首先,結(jié)合更多的語義詞典 (如Hownet),來提高正確率和召回率;其次,不斷完善數(shù)據(jù)噪音特征,提高數(shù)據(jù)的正確率;最后,使用 “是一個”和模式匹配的方法對下位詞進行發(fā)現(xiàn),進一步提高召回率。另外,將抽取下位詞的方法推廣到其他語義關(guān)系密切的詞類。
[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).[劉磊,曹存根.基于混合特征的上下位關(guān)系驗證方法[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).[于江生,俞士汶.中文信息概念的結(jié)構(gòu)[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.]