章 岳 黃賽豪 陸凱華 李正華
(蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 江蘇 蘇州 215006)
近年來(lái),隨著深度學(xué)習(xí)的發(fā)展,自然語(yǔ)言處理作為人工智能領(lǐng)域的一個(gè)主要分支且不斷取得重大的突破。將基于深度學(xué)習(xí)的自然語(yǔ)言處理模型融入知識(shí)并進(jìn)行自動(dòng)化推理是目前比較主流的做法,其中知識(shí)的定義、獲取和分類是亟需解決的問(wèn)題。上下位關(guān)系在自然語(yǔ)言知識(shí)體系中占有非常重要的地位,它是描述事物層次關(guān)系的基礎(chǔ),可以作為詞語(yǔ)關(guān)系網(wǎng)絡(luò)的核心骨架。根據(jù)WordNet[1]的定義,給定兩個(gè)詞語(yǔ)x和y,如果句子“x是一種|類|個(gè)|部|…|y”是可以接受的,則稱y是x的上位詞(hypernym),x是y的下位詞(hyponym),上下位關(guān)系記為hyponymy(x,y)。例如,句子“蘋果是一種水果”是可以接受的,因此“蘋果”和“水果”具有上下位關(guān)系hyponymy(蘋果,水果)。很顯然,上下位關(guān)系是非對(duì)稱的,如果x是y的上位詞,則y一定不是x的上位詞。
上下位知識(shí)庫(kù)可廣泛運(yùn)用于自然語(yǔ)言處理任務(wù)中。早期的詞語(yǔ)知識(shí)庫(kù)通常是人工構(gòu)建的,因此需要耗費(fèi)大量人力,主要有WordNet[1]、同義詞詞林[2]和HowNet[3]等。此類知識(shí)庫(kù)的準(zhǔn)確度較高,但是包含的上下位關(guān)系詞對(duì)較少。隨著技術(shù)的進(jìn)步,近期的知識(shí)庫(kù)構(gòu)建工作通常圍繞自動(dòng)化的方法展開(kāi)。哈爾濱工業(yè)大學(xué)推出的大詞林[4]是自動(dòng)構(gòu)建的大規(guī)模開(kāi)放域中文實(shí)體知識(shí)庫(kù),包括1 200萬(wàn)高質(zhì)量的上下位關(guān)系詞對(duì),其中大部分為“概念詞-實(shí)體詞”類型。
上下位關(guān)系可以從結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)中自動(dòng)獲取?;诮Y(jié)構(gòu)化數(shù)據(jù)的方法雖然準(zhǔn)確度較高,但是受限于數(shù)據(jù)規(guī)模無(wú)法獲取大量詞對(duì),而互聯(lián)網(wǎng)中海量的非結(jié)構(gòu)化數(shù)據(jù)正為上下位關(guān)系的抽取提供了豐富的資源?,F(xiàn)階段,從非結(jié)構(gòu)化數(shù)據(jù)中獲取上下位關(guān)系通常采用兩種方法,分別為基于模板的方法和基于詞語(yǔ)分布相似度的方法。本文主要研究由Hearst[5]提出的基于模板的方法,其基本思想是使用人工或自動(dòng)獲取的模板在語(yǔ)料庫(kù)中進(jìn)行規(guī)則匹配或分類器訓(xùn)練,從而獲得上下位詞對(duì)。這里的模板指的是符合自然語(yǔ)言習(xí)慣的句型結(jié)構(gòu)[6]。
基于模板的方法主要使用以下兩類模板[7]:只利用分詞、詞性信息的詞法模板(Lexical pattern,LP)和額外加入句法信息的依存句法模板(Dependency pattern,DP)。然而,目前學(xué)術(shù)界尚缺乏對(duì)這兩類模板性能的全面客觀的實(shí)驗(yàn)對(duì)比。特別是在深度學(xué)習(xí)時(shí)代,句法分析性能[8]和句法樹(shù)庫(kù)建設(shè)[9]均取得較大突破。在此背景下對(duì)兩類模板性能的深入分析和比較,一方面可以更深入地理解基于模板的方法,另一方面也為兩類模板的融合提供支持。
本文選取了四種主流上下位相關(guān)句型,在每種句型上分別定義了詞法模板和依存句法模板。采用約3 000萬(wàn)句百度百科和約760萬(wàn)句維基百科中文語(yǔ)料作為無(wú)標(biāo)注文本,利用基于深度學(xué)習(xí)的高精度詞法和句法分析器獲取詞法和依存句法結(jié)果,進(jìn)而根據(jù)兩類模板自動(dòng)匹配上下位關(guān)系候選詞對(duì),最后從不同類別中隨機(jī)抽樣2 800個(gè)詞對(duì)進(jìn)行人工標(biāo)注。本文制定了詳細(xì)的標(biāo)注規(guī)范,嚴(yán)格采用雙人標(biāo)注和專家審核的流程,確保評(píng)價(jià)數(shù)據(jù)的可靠性。
本文重點(diǎn)關(guān)注概念詞之間的上下位關(guān)系,因此使用了《現(xiàn)代漢語(yǔ)語(yǔ)法信息詞典》、同義詞詞林和HowNet中的84 742個(gè)名詞(概念詞和少量常用實(shí)體詞)作為上下位詞語(yǔ)的范圍。
現(xiàn)有包含上下位關(guān)系的知識(shí)庫(kù)主要有WordNet、同義詞詞林、HowNet和大詞林等。其中,WordNet、同義詞詞林和HowNet均采用人工標(biāo)注的方式進(jìn)行構(gòu)建,而大詞林則采用自動(dòng)加少量人工的方法構(gòu)建。
WordNet[1]是目前最重要、涵蓋詞語(yǔ)關(guān)系范圍最廣的英文語(yǔ)義詞典,它通過(guò)同義詞集(synset)和定義(gloss)來(lái)描述詞義,同義詞集之間有指針指示它們的語(yǔ)義關(guān)系,包括近義、反義、上下位和部分整體等多種關(guān)系。WordNet共有155 287個(gè)詞型和206 941個(gè)詞義,名詞、動(dòng)詞、形容詞、副詞各自組成互不干擾的同義詞網(wǎng)絡(luò)。其中,上下位關(guān)系是WordNet中組織名詞關(guān)系網(wǎng)絡(luò)的基本架構(gòu)。
同義詞詞林[2]是一個(gè)被廣泛使用的中文詞語(yǔ)關(guān)系知識(shí)庫(kù)。它只包含詞,而不含詞的定義。它將53 859個(gè)詞語(yǔ)劃分為12個(gè)大類、97個(gè)中類和1 400個(gè)小類,形成了一個(gè)樹(shù)狀層次結(jié)構(gòu),每個(gè)節(jié)點(diǎn)(或類)都對(duì)應(yīng)一個(gè)詞語(yǔ)集合。同義詞詞林主要目的是刻畫詞語(yǔ)之間的同義性、近義性、相關(guān)性。兩個(gè)詞在樹(shù)中的距離越近,則說(shuō)明它們的詞義越相近或相關(guān)。同時(shí),樹(shù)狀層次結(jié)構(gòu)也在一定程度上體現(xiàn)了上下位關(guān)系,例如上層詞語(yǔ)通常是下層詞語(yǔ)的上位詞。近年來(lái),哈爾濱工業(yè)大學(xué)又對(duì)基礎(chǔ)版同義詞詞林進(jìn)行了擴(kuò)展[10]。擴(kuò)展版同義詞詞林含有77 343個(gè)詞語(yǔ),并將原有的3層樹(shù)狀結(jié)構(gòu)擴(kuò)展為5層樹(shù)狀結(jié)構(gòu),新增了詞群和原子詞群。詞群是小類的細(xì)分,它可進(jìn)一步分解為原子詞群,原子詞群與詞群之間可能出現(xiàn)重復(fù)。擴(kuò)展版同義詞詞林具有更為細(xì)致的層次結(jié)構(gòu),隱含了更多上下位關(guān)系。
HowNet[3]也是一個(gè)應(yīng)用廣泛的中文語(yǔ)言知識(shí)庫(kù),它使用無(wú)法再細(xì)分的最小語(yǔ)義單位義原(sememe)來(lái)描述詞匯和詞義。義原體系的優(yōu)勢(shì)是可直接作為語(yǔ)義標(biāo)簽融入機(jī)器學(xué)習(xí)模型,在詞匯相似度計(jì)算[11]、文本分類[12]和信息檢索[13]等方面具有很高的實(shí)際應(yīng)用價(jià)值。HowNet擁有2 468個(gè)義原,并在此基礎(chǔ)上人工標(biāo)注了118 347個(gè)中文詞和104 027個(gè)英文詞的語(yǔ)義信息,共包含212 541個(gè)義項(xiàng)和116個(gè)動(dòng)態(tài)角色。How-Net中描述了8種義原關(guān)系,上下位關(guān)系是其中之一,詞語(yǔ)間的上下位關(guān)系由詞語(yǔ)的義原間的上下位關(guān)系來(lái)確定。
總體而言,WordNet、同義詞詞林、HowNet這三個(gè)知識(shí)庫(kù)層次清晰,準(zhǔn)確度較高,許多學(xué)者對(duì)其應(yīng)用進(jìn)行了深入的探索[11-14]。但是,此類知識(shí)庫(kù)的維護(hù)需要大量的成本,更新緩慢,詞語(yǔ)覆蓋率較低[15]。此外,它們的關(guān)注點(diǎn)不限于上下位關(guān)系,因此上下位詞對(duì)的規(guī)模比較有限。
與上述人工構(gòu)建的知識(shí)庫(kù)不同,大詞林則是自動(dòng)構(gòu)建的大規(guī)模開(kāi)放域中文實(shí)體知識(shí)庫(kù)[4]。開(kāi)放域意味著實(shí)體的類型是開(kāi)放可擴(kuò)展的,不局限于一個(gè)預(yù)先定義的實(shí)體類別體系。相比于傳統(tǒng)命名實(shí)體,它的類別更多、更細(xì)。大詞林以擴(kuò)展版同義詞詞林作為核心骨架,通過(guò)自動(dòng)化方法在已有節(jié)點(diǎn)上掛靠了大量的開(kāi)放域?qū)嶓w詞,并進(jìn)一步進(jìn)行實(shí)體類別層次化處理,其中包含約50 000個(gè)“概念詞-概念詞”類型的上下位關(guān)系詞對(duì)、12 081 984個(gè)“概念詞-實(shí)體詞”類型的上下位關(guān)系詞對(duì)。以大詞林為代表的這一類自動(dòng)構(gòu)建的知識(shí)庫(kù),它們的規(guī)??梢噪S著互聯(lián)網(wǎng)中實(shí)體詞的更新而擴(kuò)大,很好地解決了以往人工構(gòu)建方法成本高、更新慢、覆蓋率低的問(wèn)題??梢钥闯觯笤~林中絕大部分上下位關(guān)系屬于“概念詞-實(shí)體詞”類型。這種以概念詞作為骨架掛靠實(shí)體詞的知識(shí)庫(kù)構(gòu)建方法,對(duì)于“概念詞-概念詞”類型的上下位關(guān)系詞對(duì)的覆蓋面非常有限。但是,“概念詞-概念詞”類型的上下位關(guān)系畢竟能在詞語(yǔ)上下位關(guān)系網(wǎng)絡(luò)中起到核心骨架作用,也更能表達(dá)人類的常識(shí)知識(shí)。另外,大詞林?jǐn)?shù)據(jù)目前還不能公開(kāi)訪問(wèn)和獲取。
本文以“概念詞-概念詞”類型的上下位關(guān)系為主要研究目標(biāo),深入比較了基于詞法模板和依存句法模板的上下位關(guān)系自動(dòng)獲取方法,并通過(guò)隨機(jī)采樣和較大規(guī)模的人工標(biāo)注取得性能指標(biāo)。
當(dāng)前,主流的上下位關(guān)系自動(dòng)獲取方法可按數(shù)據(jù)的來(lái)源分為基于結(jié)構(gòu)化數(shù)據(jù)的方法和基于非結(jié)構(gòu)化數(shù)據(jù)的方法。
基于結(jié)構(gòu)化數(shù)據(jù)的方法是對(duì)已有的詞典、百科全書等結(jié)構(gòu)化電子資源進(jìn)行分析,獲取隱含的上下位關(guān)系。Ponzetto等[16]利用維基百科的分類系統(tǒng)構(gòu)建維基百科中詞條的語(yǔ)義網(wǎng)絡(luò),并對(duì)網(wǎng)絡(luò)中的上下位關(guān)系進(jìn)行了抽取。程韻如等[17]針對(duì)維基百科中旅游領(lǐng)域詞條的結(jié)構(gòu)特點(diǎn),嘗試?yán)媒Y(jié)構(gòu)特點(diǎn)自動(dòng)獲取特定結(jié)構(gòu)的領(lǐng)域命名實(shí)體和層次結(jié)構(gòu)。這一類方法雖然準(zhǔn)確度較高,但會(huì)受到結(jié)構(gòu)化數(shù)據(jù)本身規(guī)模的影響。
互聯(lián)網(wǎng)中的結(jié)構(gòu)化數(shù)據(jù)需要人工進(jìn)行構(gòu)建與維護(hù),其規(guī)模畢竟是有限的。然而,隨著Web的發(fā)展,網(wǎng)絡(luò)中積累了海量的非結(jié)構(gòu)化數(shù)據(jù),如新聞文本、博客文本和評(píng)論文本等,可為上下位關(guān)系的獲取提供豐富的資源。所以,目前研究主要關(guān)注基于非結(jié)構(gòu)化數(shù)據(jù)的方法,它大致可分為基于模板的方法和基于詞語(yǔ)分布相似度的方法。
基于模板的方法對(duì)人類的語(yǔ)言習(xí)慣進(jìn)行分析,通過(guò)給定一些上下位關(guān)系出現(xiàn)頻繁的句型結(jié)構(gòu)(模板),從語(yǔ)料中挖掘符合模板的上下位詞對(duì)。Hearst[5]最早提出利用詞法-句法模板在大規(guī)模文本中自動(dòng)匹配上下位關(guān)系,其定義了六種常見(jiàn)的英文模板,在“Grolier’s Encyclopedias”的文本中進(jìn)行了抽取實(shí)驗(yàn),并將所得結(jié)果與WordNet進(jìn)行了對(duì)比,準(zhǔn)確度可以達(dá)到57.55%。劉磊等[18]較早研究了基于模板的中文上下位關(guān)系詞對(duì)抽取,首先利用半自動(dòng)獲取的詞典和句型對(duì)符合“是一個(gè)”模板的句子進(jìn)行分析,然后根據(jù)不同的規(guī)則,分流匹配獲取上下位關(guān)系,在中文語(yǔ)料中的實(shí)驗(yàn)結(jié)果令人滿意。上述工作都是基于規(guī)則匹配的,此外模板信息也可作為特征訓(xùn)練分類器來(lái)識(shí)別新的上下位關(guān)系。Snow等[19]以WordNet中已有的上下位詞對(duì)作為種子,采用自舉方法(bootstrapping)迭代獲取了大量依存句法模板,并利用這些模板訓(xùn)練了一個(gè)邏輯回歸(Logistic regression,LR)分類器,對(duì)句子中隱含的名詞對(duì)進(jìn)行關(guān)系判別。
基于詞語(yǔ)分布相似度的方法主要基于如下假設(shè):下位詞的上下文是其上位詞的上下文的一個(gè)真子集。該方法利用詞語(yǔ)在上下文中的統(tǒng)計(jì)信息來(lái)判斷給定詞對(duì)是否符合上下位關(guān)系。Weeds等[20]提出了一種簡(jiǎn)單直觀的利用詞語(yǔ)上下文信息計(jì)算上下位關(guān)系概率的公式。Szpektor等[21]對(duì)文獻(xiàn)[20]方法進(jìn)行了改進(jìn),將其與文獻(xiàn)[22]提出的詞匯相似度計(jì)算方法進(jìn)行了融合,可以避免詞語(yǔ)分布不平衡導(dǎo)致的問(wèn)題。Shi等[23]將基于模板的方法和基于詞語(yǔ)分布相似度的方法進(jìn)行了比較,發(fā)現(xiàn)基于模板的方法更適合用于名詞間上下位關(guān)系獲取,而基于詞語(yǔ)分布相似度的方法更適用于其他詞性的詞語(yǔ)。
除此之外,一些學(xué)者嘗試將不同方法進(jìn)行融合。Fu等[24]提出了一種開(kāi)放域多資源上位詞發(fā)現(xiàn)方法,融合了詞典資源、搜索信息和詞匯形態(tài)。孫佳偉等[25]提出在分類器中同時(shí)使用模板特征和詞語(yǔ)分布特征,有效提高了上下位分類器的性能。
基于模板的方法通常利用詞法或依存句法兩類模板?;谠~法模板的方法考慮了詞信息,通過(guò)選取模板前后的特定詞語(yǔ)作為上下位候選詞對(duì)。它只需進(jìn)行簡(jiǎn)單的語(yǔ)料預(yù)處理工作,效率較高。Pantel等[26]采取該方法進(jìn)行了上下位關(guān)系和模板的迭代抽取。而基于依存句法模板的方法則是先對(duì)待處理句子進(jìn)行依存句法分析,然后按照現(xiàn)有的模板,通過(guò)依存句法路徑抽取上下位關(guān)系。Snow等[19]將詞語(yǔ)對(duì)用它們之間依存句法路徑的集合來(lái)表示,在此基礎(chǔ)上訓(xùn)練了一個(gè)分類器來(lái)識(shí)別新的上下位關(guān)系。此外,早期的上下位關(guān)系抽取任務(wù)中也經(jīng)常采用基于正則表達(dá)式匹配的字符串模板(String patter,SP)?;谧址0宓姆椒ú皇褂脗鹘y(tǒng)的分詞、詞性標(biāo)注等自然語(yǔ)言處理技術(shù),而是采取語(yǔ)料分流處理后進(jìn)行正則表達(dá)式匹配的方式進(jìn)行抽取。這種方法易于實(shí)現(xiàn),對(duì)于簡(jiǎn)單句子的抽取效果較好,但對(duì)于句子結(jié)構(gòu)較為復(fù)雜的情況,常常需要耗費(fèi)大量時(shí)間對(duì)語(yǔ)料進(jìn)行分流和構(gòu)建剝離、過(guò)濾和歧義詞典[18]。
在英文等其他語(yǔ)言方面,已有不少學(xué)者關(guān)注不同模板性能的比較。Sang等[7]用bootstrapping方法自動(dòng)獲取到的詞法模板和依存句法模板分別訓(xùn)練了兩個(gè)上下位關(guān)系分類器,并在荷蘭語(yǔ)語(yǔ)料中進(jìn)行了實(shí)驗(yàn),發(fā)現(xiàn)相較于詞法模板,盡管依存句法模板利用了更多的句子信息,但并沒(méi)有展現(xiàn)出明顯更好的準(zhǔn)確度和召回度。而Jijkoun等[27]的實(shí)驗(yàn)則發(fā)現(xiàn)利用依存句法模板抽取得到的信息可以顯著地提升一個(gè)知識(shí)問(wèn)答系統(tǒng)的性能。但是,一方面中文的句法結(jié)構(gòu)和荷蘭語(yǔ)、英語(yǔ)等差別較大,也沒(méi)有詞根的概念,另一方面由于中文的表達(dá)方式更靈活,bootstrapping等方法在中文中所能獲取到的高質(zhì)量模板更稀少[28],所以這些國(guó)外學(xué)者所得到的結(jié)果并不能簡(jiǎn)單地遷移到中文上。
在中文方面,目前尚欠缺模板間性能比較的實(shí)驗(yàn),學(xué)者們更多地關(guān)注于多種模板的融合抽取。湯青等[29]以匹配“是一個(gè)”模板的句子作為研究對(duì)象,提出了一種字符串模板與句法模板相結(jié)合的上下位關(guān)系抽取方法,將中文語(yǔ)料依據(jù)規(guī)則劃分為簡(jiǎn)單句和復(fù)雜句,針對(duì)簡(jiǎn)單句采用字符串模板進(jìn)行抽取,針對(duì)復(fù)雜句采用依存句法模板進(jìn)行抽取,兼顧了準(zhǔn)確度、召回度和效率。陳金棟等[30]結(jié)合強(qiáng)句法模板和語(yǔ)義模板,提出一套新穎的框架從語(yǔ)料中抽取上下位關(guān)系,抽取過(guò)程中將字符串模板與依存句法模板融合,在中英文語(yǔ)料中的實(shí)驗(yàn)表明這種融合方法可以提升準(zhǔn)確度和召回度。
現(xiàn)階段,國(guó)內(nèi)大部分基于模板的工作所采用的中文模板都借鑒了Hearst提出的英文模板[5]。本文工作參考前人總結(jié)的中文Hearst模板,選取了其中最為有效的四種句型[30],如表1所示。對(duì)于每一種句型,本文分別給出它們各自的詞法模板和依存句法模板的定義。其中,N1表示下位詞,N2表示上位詞。
表1 中文句型示例
表2給出了匹配上述四種中文上下位相關(guān)句型的例句。
表2 匹配表1中句型的例句
本文采用了兩種不同的模板對(duì)大規(guī)模中文語(yǔ)料進(jìn)行上下位關(guān)系抽取,第一種模板是詞法模板,它僅需用到句子中的詞信息。此方法的語(yǔ)料預(yù)處理過(guò)程需要以下兩個(gè)步驟:
Step1對(duì)待抽取句子進(jìn)行分詞。
Step2對(duì)分詞的結(jié)果進(jìn)行詞性標(biāo)注。
需要注意的是,在詞法模板的實(shí)際匹配過(guò)程中,不僅要求詞匹配一致,還要求詞性匹配一致。
本文采用蘇州大學(xué)開(kāi)放的漢語(yǔ)理解平臺(tái)(CUP)(http://hlt-la.suda.edu.cn/)進(jìn)行語(yǔ)料預(yù)處理工作,對(duì)例句“蘋果是一種水果”的分析結(jié)果如圖1所示。
圖1 詞法模板語(yǔ)料預(yù)處理結(jié)果
本文在實(shí)驗(yàn)的過(guò)程中依據(jù)表1中的四種中文句型,給出了它們的詞法模板定義,作為抽取及比較的基礎(chǔ)。此處以符合“是一個(gè)”句型PisA的詞法模板為例說(shuō)明。
定義1與表1中句型PisA對(duì)應(yīng)的中文詞法模板LPisA具體定義如下:
Define constant
//定義常量
{
Vis={x|x∈{是|為|系|……}}
ATTquantifier={x|x∈{個(gè)|種|類|位|名|部|本|款|……}}
ADVfilter={x|x∈{不|絕不|并不|可能|似乎|也許|貌似|據(jù)說(shuō)|過(guò)去|以前|……}}
}
Define lexical pattern
//定義詞法模板
{
<&Vis>一<&ATTquantifier>
}
其中:“&”表示定義一個(gè)常量;“?”表示定義一個(gè)變量;“!”表示在句子中不能出現(xiàn);“N1”表示下位詞;“N2”表示上位詞;“Vis”指與“是”同義的中文謂語(yǔ);“ATTquantifier”指可做量詞的中文定語(yǔ);“ADVfilter”指需要過(guò)濾的中文狀語(yǔ)。
基于依存句法模板的方法在輸入待抽取句子詞信息的基礎(chǔ)上,還需要額外輸入其依存句法信息。因此,其語(yǔ)料預(yù)處理過(guò)程在詞法模板的基礎(chǔ)上另外包含了第三個(gè)步驟:
Step3標(biāo)注待抽取句子的詞之間的依存句法弧。
通過(guò)依存句法分析,可以得到待抽取句子的依存句法樹(shù)。根據(jù)依存句法模板遍歷依存句法樹(shù),便可獲取待抽取句子中隱含的上下位關(guān)系。
表3給出了依存句法模板中使用到的部分依存句法弧標(biāo)簽,其詳細(xì)解釋可參考蘇州大學(xué)公開(kāi)的CODT項(xiàng)目(http://hlt.suda.edu.cn/index.php/CODT)。
表3 依存句法弧標(biāo)簽定義
本文依據(jù)表1中的四種高置信度中文句型,在詞法模板的基礎(chǔ)上定義了依存句法模板,作為抽取及比較的基礎(chǔ)。此處以符合“是一個(gè)”句型PisA的依存句法模板為例說(shuō)明。
定義2與表1中句型PisA對(duì)應(yīng)的中文依存句法模板DPisA具體定義如圖2所示。
圖2 符合定義2模板的依存句法結(jié)構(gòu)
其中,符號(hào)及常量的定義參考定義1,依存句法弧標(biāo)簽的定義參考表2。圖3為符合定義2的例句。
圖3 符合定義2模板的句子示例
當(dāng)句子中出現(xiàn)“Vis”被“ADVfilter”修飾時(shí),可認(rèn)為其不符合模板,如圖4所示。
圖4 不符合定義2模板的句子示例
對(duì)于形式上匹配前述模板的句子,即可通過(guò)規(guī)則獲取其中隱含的上下位關(guān)系。
對(duì)于匹配詞法模板的句子,經(jīng)過(guò)觀察發(fā)現(xiàn),其上位詞、下位詞往往在核心短語(yǔ)或核心詞附近的特定位置。例如,符合定義2模板的句子“紅富士/蘋果/是/一/種/美味/的/水果”中,下位中心詞“蘋果”是核心短語(yǔ)“是一種”之前的最后一個(gè)名詞,而上位中心詞“水果”是核心短語(yǔ)“是一種”之后的最后一個(gè)名詞。依據(jù)核心短語(yǔ)對(duì)結(jié)果進(jìn)行切分,分別取左右兩側(cè)的最后一個(gè)名詞,即可得到結(jié)果hyponymy(蘋果,水果)。針對(duì)上位詞、下位詞并列問(wèn)題,基于詞法模板的方法通過(guò)并列連接詞的方式來(lái)進(jìn)行判斷,常見(jiàn)的并列連接詞有“和”“或”“以及”等。如果兩個(gè)或多個(gè)名詞之間存在這些連接詞,則認(rèn)為它們是并列的,可以被同時(shí)抽取,從而提升詞法模板的召回度。
對(duì)于匹配依存句法模板的句子,則利用詞語(yǔ)間的依存路徑獲取上下位關(guān)系。例如,符合定義2模板的句子“紅富士/蘋果/是/一/種/美味/的/水果”中,“蘋果”為“是”的主語(yǔ),“水果”為“是”的賓語(yǔ)。通過(guò)遍歷依存句法樹(shù),尋找核心詞“是”的主語(yǔ)弧和賓語(yǔ)弧,即可得到結(jié)果hyponymy(蘋果,水果)。針對(duì)上、下位詞并列問(wèn)題,基于依存句法模板的方法可通過(guò)并列擴(kuò)展結(jié)構(gòu)來(lái)進(jìn)行分析和抽取,如圖5所示。
圖5 并列擴(kuò)展結(jié)構(gòu)
其中:“N1n”表示與下位詞“N1”并列的下位詞(n∈N*),“N2n”表示與上位詞“N2”并列的上位詞(n∈N*)。通過(guò)遍歷coo弧,可以完整地獲取句子中隱含的所有上下位關(guān)系。
Sang等[7]在荷蘭語(yǔ)語(yǔ)料中進(jìn)行的模板對(duì)比實(shí)驗(yàn)利用了EuroWordNet中的上下位資源。他們假設(shè)EuroWordNet中除已標(biāo)注的上下位關(guān)系外不再存在額外的上下位關(guān)系。這種做法與實(shí)際情況差異較大,因?yàn)闊o(wú)論何種知識(shí)庫(kù)中的上下位資源都不可能是全面的。考慮到上述問(wèn)題,本文采用準(zhǔn)確度、召回度兩個(gè)指標(biāo)對(duì)詞法模板和依存句法模板的抽取性能開(kāi)展綜合評(píng)價(jià)。
1)召回度方面,需要人工構(gòu)建高置信度的上下位詞對(duì)正例集合作為標(biāo)準(zhǔn)結(jié)果,統(tǒng)計(jì)其詞對(duì)數(shù)目。針對(duì)特定的模板P,首先在語(yǔ)料中篩選出含有標(biāo)準(zhǔn)結(jié)果中的詞對(duì)及模板P的句子,然后利用模板P對(duì)這些句子進(jìn)行上下位關(guān)系自動(dòng)抽取,并統(tǒng)計(jì)得到的結(jié)果在標(biāo)準(zhǔn)結(jié)果中的數(shù)目,最后利用式(1)計(jì)算得到模板P的召回度指標(biāo)。
(1)
式中:Recall(P)為模板P的召回度指標(biāo);positive為標(biāo)準(zhǔn)結(jié)果總數(shù)目,correct為利用模板P在句子中自動(dòng)獲取到的詞對(duì)在標(biāo)準(zhǔn)結(jié)果中的數(shù)目,二者內(nèi)部均無(wú)重復(fù)。
針對(duì)兩類模板整體召回度的評(píng)價(jià),基本思想與針對(duì)特定模板P的召回度評(píng)價(jià)基本相同,區(qū)別是在篩選和抽取時(shí)將原先的特定模板擴(kuò)展至同類的所有模板。
2)準(zhǔn)確度方面,本文采用隨機(jī)抽樣人工標(biāo)注的方式進(jìn)行評(píng)價(jià)。針對(duì)特定的模板P,在其抽取到的候選詞對(duì)集合中隨機(jī)抽取200對(duì)不重復(fù)的詞對(duì)進(jìn)行人工標(biāo)注,然后利用式(2)計(jì)算得到模板P的準(zhǔn)確度指標(biāo)。
(2)
式中:Prec(P)為特定模板P的準(zhǔn)確度指標(biāo);matched為隨機(jī)采樣的候選詞對(duì)數(shù)目,correct為對(duì)候選詞對(duì)進(jìn)行標(biāo)注得到的正例數(shù)目,二者內(nèi)部均無(wú)重復(fù)。
針對(duì)兩類模板整體準(zhǔn)確度的評(píng)價(jià),基本思想是利用同類的所有模板各自的準(zhǔn)確度進(jìn)行加權(quán)求和,權(quán)重為各特定模板所得詞對(duì)在此類模板得到的全部詞對(duì)中所占的比例,具體計(jì)算公式如下:
(3)
式中:Prec(M)是類別為M的模板的準(zhǔn)確度指標(biāo);sum為M類模板所得詞對(duì)總數(shù);n為M類模板的個(gè)數(shù);numi為M類模板的第i個(gè)模板所得候選詞對(duì)數(shù);matchedi為對(duì)M類模板的第i個(gè)模板進(jìn)行隨機(jī)采樣得到的候選詞對(duì)數(shù)目;correcti為對(duì)隨機(jī)采樣的候選詞對(duì)進(jìn)行標(biāo)注得到的正例數(shù)目。上述詞對(duì)內(nèi)部均無(wú)重復(fù)。
為了完成實(shí)驗(yàn)中的準(zhǔn)確度評(píng)價(jià)工作,解決第3節(jié)中提到的前人評(píng)價(jià)方式的缺陷,本文在對(duì)上下位知識(shí)庫(kù)構(gòu)建技術(shù)進(jìn)行比較深入的研究后,研制了一套詳細(xì)的上下位關(guān)系標(biāo)注規(guī)范,并嚴(yán)格規(guī)定了標(biāo)注的流程,對(duì)數(shù)據(jù)進(jìn)行人工采樣標(biāo)注,從而計(jì)算準(zhǔn)確度。
上下位關(guān)系的定義并不復(fù)雜。然而,由于詞語(yǔ)的多義性、句子的口語(yǔ)化等原因,實(shí)際的標(biāo)注過(guò)程中仍存在著許多復(fù)雜的問(wèn)題??紤]到目前中文尚無(wú)公開(kāi)的上下位關(guān)系標(biāo)注規(guī)范,本文在實(shí)踐過(guò)程中積累了一套標(biāo)注規(guī)范,舉例如下:
(1)核心原則:只要詞x的某一義項(xiàng)和詞y的某一義項(xiàng)之間滿足上下位關(guān)系,就可以將它們標(biāo)注為上下位詞對(duì)。例如:“虎”既可以指一類哺乳動(dòng)物,也可以指一部電影,還可以指一個(gè)動(dòng)漫角色。依據(jù)上述規(guī)范,hyponymy(虎,哺乳動(dòng)物)、hyponymy(虎,電影)、hyponymy(虎,動(dòng)漫角色)均正確。
(2)非對(duì)稱性原則:若詞x已被標(biāo)注為詞y的上位詞,則不能將詞y標(biāo)注為詞x的上位詞。例如:已存在hyponymy(蘋果,水果),則hyponymy(水果,蘋果)必然是錯(cuò)誤的。
(3)還原省略原則:若詞x可以脫離語(yǔ)境獨(dú)立表示詞y的縮略語(yǔ)或者簡(jiǎn)稱,則可在標(biāo)注時(shí)將x還原為y。例如:“寶馬”在人們口語(yǔ)化的表達(dá)習(xí)慣中可以單獨(dú)表示“寶馬汽車”的縮略語(yǔ),所以標(biāo)注時(shí)可將hyponymy(寶馬,汽車)認(rèn)為是正確的。
(4)尊重詞典原則:一個(gè)詞的一切義項(xiàng)的解釋均以詞典為準(zhǔn)。但考慮到如今出現(xiàn)了許多網(wǎng)絡(luò)新詞而詞典可能無(wú)法及時(shí)更新,若標(biāo)注者認(rèn)為某個(gè)詞出現(xiàn)了新的含義,在給出可靠的出處后,可以按照新義項(xiàng)進(jìn)行標(biāo)注。例如:“小強(qiáng)”在當(dāng)今的網(wǎng)絡(luò)用語(yǔ)中代指蟑螂,而蟑螂是一種動(dòng)物,則hyponymy(小強(qiáng),動(dòng)物)是正確的。
(5)上位抽象原則:上位詞必須是抽象概念,而非具象的實(shí)體。例如:hyponymy(泰山,五岳)是錯(cuò)誤的,因?yàn)椤拔逶馈笨梢跃唧w到特定的五座山,本文在實(shí)際標(biāo)注時(shí)將它們認(rèn)為是一種部分和整體的關(guān)系。
為了提升標(biāo)注效率和質(zhì)量,本文設(shè)計(jì)了一套基于網(wǎng)頁(yè)瀏覽器的上下位關(guān)系標(biāo)注系統(tǒng)。圖6給出了一個(gè)上下位關(guān)系標(biāo)注任務(wù)的處理流程。
圖6 人工標(biāo)注流程
步驟1系統(tǒng)將一個(gè)任務(wù)分配給兩個(gè)標(biāo)注者,若兩人標(biāo)注的結(jié)果一致,則將結(jié)果確定為正確答案;若兩人標(biāo)注的結(jié)果不一致,則進(jìn)入步驟2。
步驟2若結(jié)果不一致,此時(shí)系統(tǒng)會(huì)將兩位標(biāo)注人員的結(jié)果隨機(jī)分配給一位審核專家。審核專家將確定唯一結(jié)果,并將該結(jié)果反饋給出錯(cuò)的標(biāo)注者進(jìn)行學(xué)習(xí)。學(xué)習(xí)過(guò)程中,若沒(méi)有出現(xiàn)投訴,則將審核后的結(jié)果入庫(kù)保存,否則進(jìn)入步驟3。
步驟3若出錯(cuò)的標(biāo)注者認(rèn)為審核專家認(rèn)定的結(jié)果是錯(cuò)誤的,則可以輸入理由進(jìn)行投訴。系統(tǒng)會(huì)將投訴任務(wù)隨機(jī)分配給一位權(quán)威專家,權(quán)威專家將確定最終的結(jié)果入庫(kù)保存,并將該結(jié)果反饋給出錯(cuò)的審核專家或標(biāo)注者進(jìn)行學(xué)習(xí)。
其他的自然語(yǔ)言處理工作也采用了和本文類似的數(shù)據(jù)標(biāo)注方法[9]。
依據(jù)以上標(biāo)注規(guī)范和流程,在本文目前的實(shí)驗(yàn)工作中,已完成了3個(gè)批次的標(biāo)注任務(wù),分別為600、600和1 600個(gè)詞對(duì)。共有8名人員參與標(biāo)注工作,其中普通標(biāo)注人員4名,審核專家2名,權(quán)威專家2名。目前,已積累規(guī)模為2 800個(gè)詞對(duì)的高質(zhì)量上下位關(guān)系數(shù)據(jù)集(1 326個(gè)正例和1 474個(gè)反例)用于計(jì)算基于不同模板的上下位關(guān)系自動(dòng)抽取方法的準(zhǔn)確度指標(biāo)。
本文利用表1中的常見(jiàn)句型分別定義了四種詞法模板和四種依存句法模板,在大規(guī)模中文語(yǔ)料上進(jìn)行抽取實(shí)驗(yàn)。語(yǔ)料來(lái)自于中文百度百科和中文維基百科的非結(jié)構(gòu)化文本,分別有29 757 309和7 645 866個(gè)句子。
本文采用《現(xiàn)代漢語(yǔ)語(yǔ)法信息詞典》、同義詞詞林和HowNet中的名詞構(gòu)建了常用名詞詞典(概念詞和少量常用實(shí)體詞),共有84 742個(gè)詞,以此來(lái)限定抽取到的上下位名詞范圍。但是,上述常用名詞詞典中仍有大量詞語(yǔ)一般不能作為上位詞,為了進(jìn)一步限定上位詞范圍,本文采用網(wǎng)絡(luò)爬蟲技術(shù)爬取了百度百科的分類欄目,并與上述詞典取交集,得到了5 831個(gè)詞的上位詞詞典。
本文構(gòu)建了一個(gè)上下位關(guān)系正例集合,用于進(jìn)行召回度評(píng)價(jià)。構(gòu)建方式主要是從HowNet、同義詞林等現(xiàn)有的中文資源庫(kù)中爬取可能具有上下位關(guān)系的詞對(duì),并進(jìn)行人工篩選,最終得到3 748對(duì)存在于語(yǔ)料庫(kù)中的上下位關(guān)系詞對(duì)。
在實(shí)際抽取過(guò)程中,命名實(shí)體識(shí)別問(wèn)題會(huì)導(dǎo)致一些抽取錯(cuò)誤。例如:“中國(guó)/人民/銀行/是/一/家/銀行”,由于分詞的粒度較細(xì),命名實(shí)體未被正確識(shí)別,導(dǎo)致抽取的結(jié)果為hyponymy(銀行,銀行)。為了避免這樣的現(xiàn)象,本文采取了一種較為簡(jiǎn)單的基于詞性的補(bǔ)全方法:對(duì)抽取到的中心詞進(jìn)行向前搜索名詞并補(bǔ)全,直到遇見(jiàn)非名詞詞性的詞。在例句中,“中國(guó)”“人民”“銀行”均被標(biāo)注為名詞詞性,所以利用上述方法得到的結(jié)果為hyponymy(中國(guó)人民銀行,銀行)。此方法提高了抽取的準(zhǔn)確度和召回度,也方便了人工標(biāo)注的進(jìn)行。
采用第2.3節(jié)中的方法進(jìn)行抽取,句型ID參考表1,抽取結(jié)果如表4所示,其中候選詞對(duì)未經(jīng)過(guò)去重處理。
表4 基于詞法模板和依存句法模板的抽取結(jié)果
采用本文第3節(jié)中所述方法對(duì)上述抽取結(jié)果進(jìn)行評(píng)價(jià),對(duì)詞法模板(LP)和依存句法模板(DP)評(píng)價(jià)的結(jié)果如表5所示。此處的詞對(duì)經(jīng)過(guò)了去重處理。
表5 抽取結(jié)果指標(biāo)計(jì)算
本文采用了表1中的四種中文Hearst句型進(jìn)行上下位關(guān)系自動(dòng)抽取。在上述四種句型中,ID為PisA和Pcontain的句型,其依存句法模板的召回度與準(zhǔn)確度均高于詞法模板;ID為PoneOf的句型,其依存句法模板的召回度高于詞法模板,準(zhǔn)確度低于詞法模板;ID為Petc的句型,其依存句法模板的召回度低于詞法模板,準(zhǔn)確度高于詞法模板。從整體角度看,詞法模板在召回度方面存在0.32百分點(diǎn)的優(yōu)勢(shì),而依存句法模板在準(zhǔn)確度方面存在9.07百分點(diǎn)的優(yōu)勢(shì)。
本文的實(shí)驗(yàn)與前人產(chǎn)生了不同的結(jié)果。Sang等[7]在2009年進(jìn)行的模板性能實(shí)驗(yàn)顯示,針對(duì)維基百科語(yǔ)料,詞法模板的準(zhǔn)確度63.4%比依存句法模板的準(zhǔn)確度61.9%高出約1.5百分點(diǎn),而依存句法模板的召回度47.0%比詞法模板的召回度44.3%高出約2.7百分點(diǎn)。經(jīng)過(guò)分析與對(duì)比,本文認(rèn)為可能導(dǎo)致結(jié)果差異的主要原因有以下幾種:① 句法分析技術(shù)的發(fā)展。過(guò)去十年來(lái),由于深度學(xué)習(xí)的發(fā)展,句法分析性能得到了較大幅度的提高。本文采用了當(dāng)下性能最好的句法分析器Biaffine Parser,在最新標(biāo)注的多領(lǐng)域漢語(yǔ)依存句法數(shù)據(jù)上進(jìn)行訓(xùn)練[32],提升了依存句法弧標(biāo)注的準(zhǔn)確度,從而可能使依存句法模板獲得了更好的性能。② 指標(biāo)計(jì)算方式不同。Sang等假設(shè)EuroWordNet中的詞語(yǔ)間除已標(biāo)注的上下位關(guān)系外不再存在額外的上下位關(guān)系,通過(guò)觀察抽取到的詞對(duì)是否位于已有的上下位正例集中來(lái)判斷結(jié)果是否正確。但是,EuroWordNet中已標(biāo)注的上下位正例集規(guī)模較小,不夠全面,所以該方法存在一定的缺陷。本文則對(duì)抽取結(jié)果進(jìn)行隨機(jī)抽樣后進(jìn)行人工標(biāo)注,進(jìn)而計(jì)算準(zhǔn)確度,并且嚴(yán)格規(guī)定了標(biāo)注流程,制定了合理的標(biāo)注規(guī)范,所得性能指標(biāo)或許更為準(zhǔn)確。③ 語(yǔ)言不同。Sang等的實(shí)驗(yàn)針對(duì)荷蘭語(yǔ)語(yǔ)料,而本文實(shí)驗(yàn)針對(duì)漢語(yǔ)語(yǔ)料。漢語(yǔ)和荷蘭語(yǔ)在詞根、語(yǔ)法等多個(gè)方面均存在較大差異,有可能影響了實(shí)驗(yàn)結(jié)果。
本文觀察數(shù)據(jù)標(biāo)注的結(jié)果發(fā)現(xiàn)基于依存句法模板的方法在下列情況下可能具有優(yōu)勢(shì):① 句子結(jié)構(gòu)復(fù)雜,上下位詞對(duì)在句子中的距離較遠(yuǎn)而依存句法距離較近;② 上下位詞對(duì)不在同一個(gè)以逗號(hào)隔開(kāi)的句子中;③ 句子中出現(xiàn)了錯(cuò)誤的標(biāo)點(diǎn)符號(hào)。而基于詞法模板的方法在句子結(jié)構(gòu)簡(jiǎn)單、上下位詞對(duì)在句子中距離較近的情況可能具有優(yōu)勢(shì)。
基于大規(guī)模中文語(yǔ)料,本文對(duì)詞法模板和依存句法模板的上下位關(guān)系抽取性能進(jìn)行了實(shí)驗(yàn)比較,結(jié)果表明:在給定了優(yōu)質(zhì)句型的情況下,兩種模板的召回度僅有細(xì)微的差別,而依存句法模板在準(zhǔn)確度方面有較大優(yōu)勢(shì)。本文的主要貢獻(xiàn)如下:
(1)清晰地梳理了中文上下位關(guān)系自動(dòng)獲取的詞法模板和依存句法模板的完整定義,詳細(xì)地描述了基于詞法模板和依存句法模板的中文上下位關(guān)系自動(dòng)匹配獲取的具體方法(具體代碼開(kāi)源于https://github.com/HillZhang1999/nlp);
(2)設(shè)計(jì)了一套合理的中文上下位關(guān)系標(biāo)注流程,給出了中文上下位關(guān)系標(biāo)注的規(guī)范和注意事項(xiàng),并且進(jìn)行了較大規(guī)模的人工標(biāo)注實(shí)驗(yàn);
(3)在中文大規(guī)模語(yǔ)料上對(duì)基于詞法模板和依存句法模板的上下位關(guān)系自動(dòng)匹配獲取方法進(jìn)行對(duì)比實(shí)驗(yàn),全面、正確地對(duì)兩類模板進(jìn)行了評(píng)價(jià)。
本文目前的工作僅在兩類模板定義良好的情況下對(duì)它們的性能進(jìn)行比較。在未來(lái)的工作中,將根據(jù)它們各自的優(yōu)勢(shì)設(shè)計(jì)一個(gè)多模板融合的上下位關(guān)系自動(dòng)抽取模型,并不斷擴(kuò)充高質(zhì)量中文上下位關(guān)系詞對(duì)庫(kù)。