趙 暢,李慧穎
(東南大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 南京 210000)
近年來,知識(shí)圖譜(knowledge graph)作為一種新型的知識(shí)庫,成為計(jì)算機(jī)科學(xué)領(lǐng)域的熱點(diǎn)。知識(shí)圖譜通過資源描述框架(resource description framework,RDF)標(biāo)記Web資源,只保留非結(jié)構(gòu)化文本中的結(jié)構(gòu)化信息,所有數(shù)據(jù)以三元組的形式存儲(chǔ)。目前國內(nèi)外已經(jīng)有一些較為成熟的知識(shí)圖譜,其中面向英文的有Freebase[1]、DBpedia[2]、YAGO[3]等,面向中文的有Zhishi.me[4]、CN-DBpedia[5]等。這些知識(shí)庫在工業(yè)界有很多應(yīng)用,比如基于知識(shí)庫的搜索引擎系統(tǒng),在指定的知識(shí)庫中搜索結(jié)果;面向知識(shí)庫的問答是知識(shí)庫結(jié)合自然語言處理技術(shù),實(shí)現(xiàn)自動(dòng)問答的過程。過程中機(jī)器能夠理解用戶提問背后的語義信息,通過查詢知識(shí)庫,返回精確答案。
知識(shí)庫中的信息是通過三元組的形式組織的,三元組形式為實(shí)體、關(guān)系和實(shí)體或字面量值。面向知識(shí)庫的問答任務(wù),首先解決的是實(shí)體對(duì)齊的問題,即將問句中的實(shí)體指稱對(duì)應(yīng)到知識(shí)庫中的實(shí)體,其次是關(guān)系對(duì)齊,將問句中的關(guān)系映射到知識(shí)庫的關(guān)系,最后根據(jù)實(shí)體和關(guān)系檢索知識(shí)庫得到精確的答案。
實(shí)體對(duì)齊即是實(shí)體鏈接,面向知識(shí)庫問答的實(shí)體鏈接,即通過將自然語言問句中的實(shí)體指稱映射到知識(shí)庫對(duì)應(yīng)的實(shí)體,賦予指稱現(xiàn)實(shí)、明確的含義。實(shí)體鏈接需要解決自然語言問句中實(shí)體指稱的一詞多義和多詞一義的問題,幫助理解自然語言問句的具體含義。實(shí)體鏈接可以劃分為兩個(gè)子任務(wù),分別是候選實(shí)體生成和候選實(shí)體消歧。候選實(shí)體生成是前提,同一指稱可以對(duì)應(yīng)知識(shí)庫中若干的實(shí)體。候選實(shí)體消歧的目的是從候選實(shí)體集合中找到最符合語句上下文語境的一個(gè)候選實(shí)體作為目標(biāo)實(shí)體。實(shí)體鏈接是連接自然語言和知識(shí)庫的重要途徑,也是理解自然語言問句的必要條件。圖1是解釋實(shí)體鏈接過程的一個(gè)例子,左邊的方框里是問句,實(shí)體指稱已用下劃線標(biāo)記出來,問句上方是指稱的相似實(shí)體指稱,本文使用這些信息補(bǔ)充實(shí)體指稱的背景知識(shí),中間是候選實(shí)體集合,包括一些在知識(shí)庫與實(shí)體指稱同名的實(shí)體,右邊是候選實(shí)體集合中的某一候選實(shí)體“New York City”對(duì)應(yīng)在知識(shí)庫中的表示,包括相鄰近實(shí)體、實(shí)體類別和實(shí)體關(guān)系。實(shí)體鏈接就是根據(jù)這些信息,找到最符合問句語境的目標(biāo)實(shí)體。
圖1 實(shí)體鏈接示例
不同于基于文檔的實(shí)體鏈接任務(wù),知識(shí)庫問答處理的是簡(jiǎn)短的自然語言問句,這些問句通常是由少數(shù)單詞組成的短文本形式,因此對(duì)面向知識(shí)庫問答的實(shí)體鏈接工作提出了新的挑戰(zhàn):
(1) 指稱上下文的缺失。語句僅包含少數(shù)單詞,不能提供充足的上下文輔助實(shí)體消歧;
(2) 絕大多數(shù)短文本只存在一個(gè)指稱,因此不能使用實(shí)體聯(lián)合消歧的方法;
(3) 結(jié)構(gòu)化知識(shí)庫中缺少實(shí)體的文本描述信息,難以表示知識(shí)庫中的實(shí)體。
由于本文實(shí)驗(yàn)使用的是Freebase知識(shí)庫,其沒有Wikipedia[6]中關(guān)于實(shí)體的長短摘要和錨文本的內(nèi)容,并且Freebase中關(guān)于實(shí)體的描述也很簡(jiǎn)短,不能全面描述該實(shí)體,很難借助知識(shí)庫本身為候選實(shí)體提供更多的文本信息。但是Freebase的實(shí)體具有豐富的類型和明確定義的模式[7]。本文針對(duì)目前面向知識(shí)庫問答的實(shí)體鏈接存在的挑戰(zhàn),分別擴(kuò)充指稱和候選實(shí)體的背景知識(shí),以此彌補(bǔ)上下文不足的問題。本文通過語料訓(xùn)練得到問句指稱的相似實(shí)體指稱,作為問句指稱的背景知識(shí)。根據(jù)知識(shí)庫的特點(diǎn),分別抽取了候選實(shí)體的類別、關(guān)系和鄰近實(shí)體作為候選實(shí)體的背景知識(shí),通過比較候選實(shí)體與指稱的語義相似性,達(dá)到實(shí)體消歧的目的。
本文的主要貢獻(xiàn)有:
(1) 通過Wikipedia語料訓(xùn)練得到相似的實(shí)體指稱作為問句指稱的背景知識(shí),解決自然語言問句中指稱上下文信息不足的問題。
(2) 根據(jù)目標(biāo)知識(shí)庫的特點(diǎn),抽取候選實(shí)體特征,包括實(shí)體類別、實(shí)體關(guān)系和鄰近實(shí)體,緩解了知識(shí)庫對(duì)候選實(shí)體缺少描述性文本信息的影響。
(3) 組合多種特征,并比較它們的結(jié)果。
本文的組織結(jié)構(gòu)如下: 第1節(jié)介紹了實(shí)體鏈接的相關(guān)工作;第2節(jié)介紹了實(shí)體鏈接方法,包括提出的四種特征,并分析它們的長處和不足,結(jié)合四種特征進(jìn)行面向知識(shí)庫問答的實(shí)體鏈接;第3節(jié)為實(shí)驗(yàn)結(jié)果分析;第4節(jié)是總結(jié)與展望。
目前學(xué)術(shù)界已經(jīng)有不少學(xué)者研究短文本的實(shí)體鏈接技術(shù),并取得了一定的成果。實(shí)體鏈接分為候選實(shí)體生成和候選實(shí)體消歧,因此可以從這兩方面來提升最后的結(jié)果。Wikipedia為生成候選實(shí)體提供了一些有用的特征,Guo等[8]通過從Wikipedia的實(shí)體頁面、重定向頁面和歧義實(shí)體頁面提取出實(shí)體的字面表示形式,構(gòu)造指稱到候選實(shí)體的映射詞典。另外也有專家利用搜索引擎生成候選實(shí)體集合。Tan等[9]人工標(biāo)注從Wikipedia文章頁面搜索到的與目標(biāo)語句相似的句子,直接將標(biāo)注出的實(shí)體作為候選實(shí)體。在指稱精確匹配的基礎(chǔ)上,Varma等[10]加入了部分匹配,Lehmann等[11]加入了模糊匹配的方式,用于提高候選生成的召回率。
當(dāng)然,早期的實(shí)體鏈接論文中,也有很多工作更關(guān)注候選實(shí)體消歧部分。Bunescu等[12]提出了一種根據(jù)指稱的上下文文本和候選實(shí)體的維基百科類別信息進(jìn)行實(shí)體消歧的方法。本文認(rèn)為直接計(jì)算指稱上下文與候選實(shí)體描述文本的相似性會(huì)因?yàn)槊枋鑫谋据^短、不完整或同義詞情況導(dǎo)致鏈接過程出現(xiàn)錯(cuò)誤,所以本文把候選實(shí)體的類別信息也添加進(jìn)來,與上下文信息一起參與消歧。Mihalcea和Csomai等[13]提出三種不同的排序方法包括TF-IDF、卡方相關(guān)性及關(guān)鍵詞。通過三種排序方法的組合對(duì)候選實(shí)體進(jìn)行排序。Dredze等[14]把指稱看作查詢,把候選實(shí)體集合看作查詢結(jié)果,從而將實(shí)體鏈接任務(wù)轉(zhuǎn)換成為信息檢索問題,然后采用Learning to Rank方法將指稱鏈接到最有可能的候選實(shí)體。Han等[15]提出一種生成概率模型,利用異構(gòu)實(shí)體知識(shí)來消除候選實(shí)體的歧義。Barrena等[16]以新穎的方式從平行語料抽取指稱的兩種背景知識(shí),以解決上下文不足和誤導(dǎo)的問題。Yang等[17]通過學(xué)習(xí)多元回歸樹來擬合指稱到實(shí)體的映射函數(shù),并應(yīng)用于推文實(shí)體鏈接的任務(wù)。Cornolti等[18]通過搭載網(wǎng)絡(luò)搜索引擎引入SMAPH-2的端到端系統(tǒng),聯(lián)合命名實(shí)體識(shí)別和實(shí)體鏈接兩個(gè)任務(wù),這樣可以減少噪聲影響,找到最適合語境的目標(biāo)實(shí)體。Cao等[19]提出了TremenRank的圖模型,采用隨機(jī)游走的方法傳播置信度,這種情況適用于語句中有超過一個(gè)的實(shí)體。
實(shí)體鏈接分為候選實(shí)體生成和候選實(shí)體消歧兩部分,前者是根據(jù)指稱找到知識(shí)庫中對(duì)應(yīng)的所有實(shí)體作為候選實(shí)體,后者是利用指稱的上下文從候選實(shí)體集合中篩選出最符合語境的實(shí)體作為目標(biāo)實(shí)體。
對(duì)于已經(jīng)識(shí)別出的指稱,下一步是根據(jù)指稱,產(chǎn)生對(duì)應(yīng)的候選實(shí)體集合。為保證實(shí)體鏈接的正確率,必須提高候選實(shí)體集合的覆蓋率,即是否包含目標(biāo)實(shí)體,候選實(shí)體集合的質(zhì)量對(duì)最終的鏈接效果相當(dāng)重要。候選實(shí)體集合過小,容易遺漏目標(biāo)實(shí)體;候選實(shí)體集合過大,影響實(shí)體消歧的效率。
數(shù)據(jù)集基于Freebase知識(shí)庫,區(qū)別于Wikipedia和DBpedia的半結(jié)構(gòu)化數(shù)據(jù)。Freebase中的實(shí)體統(tǒng)一用唯一的機(jī)器碼表示,同時(shí)所有的數(shù)據(jù)以三元組的形式組織。因此,歧義詞詞典的構(gòu)建實(shí)質(zhì)是抽取知識(shí)庫中包含實(shí)體名稱屬性的三元組。這里實(shí)體的名稱屬性指的是包含實(shí)體名稱、別名、名稱縮寫等屬性,如“type.object.name”表示實(shí)體的名稱,“common.topic.alias”表示實(shí)體的別名。最后,根據(jù)指定的實(shí)體名稱屬性,從Freebase中抽取信息構(gòu)建歧義詞詞典。在候選實(shí)體生成過程中,為了縮小候選集大小,利用實(shí)體流行度進(jìn)行初步篩選,得到一個(gè)大小合適的候選實(shí)體集合。
對(duì)于結(jié)構(gòu)化組織的知識(shí)庫,往往會(huì)存在實(shí)體描述信息不全或缺失的問題,因此,需要通過其他特征來表示知識(shí)庫中的實(shí)體。實(shí)體消歧的任務(wù)中,實(shí)體流行度是比較有力的一項(xiàng)特征,但是它表示的是實(shí)體與實(shí)體間的鏈接次數(shù)關(guān)系,僅從特定角度描述知識(shí)庫中的實(shí)體。于是,本文根據(jù)知識(shí)庫本身的特點(diǎn),利用了知識(shí)庫中的實(shí)體類別、實(shí)體關(guān)系和鄰近實(shí)體以及通過語料得到的相似實(shí)體指稱,最終得到三種特征,即實(shí)體流行度、基于問句的相似度特征和基于相似實(shí)體指稱的特征。
2.2.1 實(shí)體流行度
流行度指的是實(shí)體在知識(shí)庫中出現(xiàn)的頻率,代表實(shí)體的熱度。本文利用實(shí)體流行度對(duì)候選實(shí)體集合進(jìn)行篩選,同時(shí)也將流行度作為一個(gè)消歧的特征。
由于知識(shí)庫是結(jié)構(gòu)化的數(shù)據(jù),每條知識(shí)以三元組形式存儲(chǔ)。假設(shè)一個(gè)實(shí)體流行度高指的是三元組中有更多的邊指向該實(shí)體,可以使用實(shí)體的入度作為實(shí)體流行度。但是后來發(fā)現(xiàn)很多實(shí)體入度值較小,最終選擇實(shí)體的出、入度之和作為該實(shí)體流行度,歸一化后結(jié)果如式(1)所示。
(1)
其中,Sp表示實(shí)體在知識(shí)庫中出現(xiàn)的概率,etarget表示目標(biāo)實(shí)體,count是實(shí)體出入度之和,N表示知識(shí)庫實(shí)體的數(shù)量。這里使用拉普拉斯平滑,防止目標(biāo)實(shí)體在知識(shí)庫中不存在而導(dǎo)致結(jié)果為0的情況。
值得注意的是,實(shí)體流行度是實(shí)體固有的數(shù)值屬性,只能作為客觀因素,不能直接與指稱上下文匹配。而實(shí)體消歧目標(biāo)是從候選實(shí)體集合中找到最適合語境的實(shí)體,流行度最高的實(shí)體并不一定就是目標(biāo)實(shí)體。
2.2.2 基于問句的相似度特征
實(shí)體消歧是從候選實(shí)體集合選擇最適合指稱上下文內(nèi)容的實(shí)體,也就是目標(biāo)實(shí)體是與問句相似度最高的一個(gè)候選實(shí)體。比如下面兩句話,“Jordan played three seasons for coach Dean Smith…”和“Jordan is currently a full professor at the …”,對(duì)于同樣的指稱“Jordan”,由于擁有不同的上下文內(nèi)容,導(dǎo)致指向的是知識(shí)庫中不同的實(shí)體。前者表示退役的籃球運(yùn)動(dòng)員;后者表示機(jī)器學(xué)習(xí)方向的教授。因此,指稱上下文內(nèi)容可以作為實(shí)體消歧的衡量標(biāo)準(zhǔn)。本文的目標(biāo)知識(shí)庫是Freebase,對(duì)于結(jié)構(gòu)化組織的知識(shí)庫,往往會(huì)存在實(shí)體描述信息不全或缺失的問題,因此,需要通過其他特征來表示知識(shí)庫中的實(shí)體。于是,本文根據(jù)知識(shí)庫本身的特點(diǎn),使用實(shí)體類別和實(shí)體關(guān)系作為實(shí)體在知識(shí)庫中的表示,并且分別計(jì)算與指稱上下文內(nèi)容的相似度,選擇相似度最大的實(shí)體作為目標(biāo)實(shí)體。
Freebase為每個(gè)實(shí)體提供了豐富的類別信息,圖2是實(shí)體“New York City”的類別結(jié)構(gòu),這里只列舉了部分類別。知識(shí)庫中對(duì)實(shí)體類別分為兩個(gè)層次,第一層是相對(duì)泛化的概念,第二層則細(xì)化為具體類別。第一層包含第二層的概念,比如圖中的“film_screening_venue”作為“film”這個(gè)概念集合的一個(gè)元素。
圖2 實(shí)體類別結(jié)構(gòu)
當(dāng)問句提及到一個(gè)實(shí)體指稱時(shí),問句的內(nèi)容極有可能出現(xiàn)與實(shí)體類別相關(guān)的詞匯。因此本文將實(shí)體類別和指稱的上下文內(nèi)容間的相似度作為實(shí)體消歧的特征。實(shí)體類別的兩層概念是包含與被包含的關(guān)系,同時(shí)將兩層概念作為考慮的話,一方面會(huì)給實(shí)體類別的描述帶來不少噪聲;另一方面特征計(jì)算的復(fù)雜度較高。于是,本文僅保留第一層概念直接作為實(shí)體的類別。Freebase中的每個(gè)實(shí)體的類別相對(duì)豐富,不存在所有類型均相似于問句本身。因此首先分別計(jì)算實(shí)體每個(gè)類別和指稱上下文間的相似度,取最相似的類別作為實(shí)體的唯一類別tfinal,St是根據(jù)最終選擇的實(shí)體類別計(jì)算的得分,具體如式(2)、式(3)所示。
其中vecm指的是問句指稱上下文的向量,通過所有詞向量累加后的平均向量表示,tfinal表示最終選擇的實(shí)體類別,Tj是候選實(shí)體j對(duì)應(yīng)的所有類別,vecti是類別ti的向量表示。實(shí)體類別由“.”分隔,這里vecti是類別每個(gè)子部分的GloVe詞向量累加后的平均向量表示。
面向知識(shí)庫的問答過程包括實(shí)體對(duì)齊、關(guān)系對(duì)齊和知識(shí)庫檢索。實(shí)體對(duì)齊對(duì)應(yīng)實(shí)體鏈接,即將問句指稱鏈接到知識(shí)庫,找到指稱在知識(shí)庫中對(duì)應(yīng)的目標(biāo)實(shí)體;關(guān)系對(duì)齊是根據(jù)問句提及的關(guān)系,將其對(duì)應(yīng)到知識(shí)庫中實(shí)體的關(guān)系;知識(shí)庫檢索是根據(jù)確定的目標(biāo)實(shí)體和實(shí)體關(guān)系,按照條件限制檢索知識(shí)庫,返回答案。因此問句中可能會(huì)出現(xiàn)目標(biāo)實(shí)體的關(guān)系名,相反實(shí)體關(guān)系可以輔助實(shí)體對(duì)齊,作為候選實(shí)體的另一特征。
一個(gè)實(shí)體在知識(shí)庫中可能有很多關(guān)系,如果想通過關(guān)系來區(qū)分目標(biāo)實(shí)體和其他候選實(shí)體,需要選擇具有一定區(qū)分度的實(shí)體關(guān)系。符合指稱上下文的關(guān)系對(duì)消歧的結(jié)果有輔助作用,但是更多的關(guān)系對(duì)于這個(gè)過程沒有幫助,甚至起到負(fù)面作用。因此,本文通過比較候選實(shí)體的所有關(guān)系與指稱上下文的向量表示之間的相似度,最終保留相似度最高的實(shí)體關(guān)系,Sr是實(shí)體關(guān)系這一特征最終的得分,詳細(xì)的計(jì)算過程如式(4)、式(5)所示。
其中,rfinal表示最終選擇的實(shí)體關(guān)系,Rj是候選實(shí)體j對(duì)應(yīng)的所有關(guān)系,vecri是關(guān)系ri的向量表示。本文實(shí)體關(guān)系選擇的是最細(xì)粒度的關(guān)系,關(guān)系由“.”分隔,這里vecri是關(guān)系每個(gè)子部分的GloVe詞向量累加后的平均向量表示。
本節(jié)從問句本身出發(fā),在充分利用實(shí)體指稱的上下文內(nèi)容的同時(shí),考慮了問句的構(gòu)成因素,即有一定概率會(huì)出現(xiàn)與實(shí)體指稱同一領(lǐng)域(類別)的詞匯,如包含“Michael Jordan”問句會(huì)出現(xiàn)“basketball”等。面向知識(shí)庫的問答,通常是根據(jù)問句中出現(xiàn)的實(shí)體和關(guān)系,到找出知識(shí)庫內(nèi)對(duì)應(yīng)的答案,存在答案的問句也會(huì)存在實(shí)體在知識(shí)庫中的關(guān)系。因此,本文通過抽取候選實(shí)體的類別和關(guān)系,分別與問句進(jìn)行相似度匹配,單獨(dú)作為消歧特征。
2.2.3 基于相似實(shí)體指稱的特征
短文本問句比較簡(jiǎn)短,作為指稱描述信息的上下文內(nèi)容不夠充足,僅從候選實(shí)體與問句的相似度角度出發(fā),容易誤導(dǎo)實(shí)體消歧的過程。因此,還需要擴(kuò)充問句實(shí)體指稱的背景知識(shí)。本文借鑒面向文檔的實(shí)體鏈接中常用的聯(lián)合消歧的思想,通過其他語料得到當(dāng)前指稱的相似實(shí)體指稱作為其背景知識(shí)。對(duì)于候選實(shí)體,則使用候選實(shí)體的鄰近實(shí)體作為它的相似實(shí)體。結(jié)構(gòu)化的知識(shí)庫是通過從非結(jié)構(gòu)化文本抽取實(shí)體和關(guān)系,組成知識(shí)庫的結(jié)構(gòu)化表示形式。因此實(shí)體的鄰近實(shí)體,對(duì)應(yīng)的是在語料中與該實(shí)體共現(xiàn)的其他實(shí)體,即如果某一候選實(shí)體是目標(biāo)實(shí)體,則對(duì)應(yīng)的鄰近實(shí)體與問句中指稱的相似實(shí)體指稱相似性較大。通過比較候選實(shí)體集合中所有候選實(shí)體的鄰近實(shí)體與相似實(shí)體指稱的相似度,對(duì)候選實(shí)體排序,實(shí)現(xiàn)實(shí)體消歧。
相似實(shí)體指稱的例子如圖3所示,左邊加粗的“Michael Jorden”是問句的一個(gè)實(shí)體指稱,右邊的“NBA”、“Chicago Bulls”等表示的是“Michael Jorden”的相似實(shí)體指稱,它們表示與問句中的實(shí)體指稱語義相似的其他實(shí)體指稱。這里使用這些相似的實(shí)體指稱作為問句實(shí)體指稱的背景知識(shí)。
圖3 相似實(shí)體指稱樣例
相似實(shí)體指稱的生成語料是Wikipedia。首先標(biāo)識(shí)出語料中的命名實(shí)體,將命名實(shí)體指稱用下劃線連接成整體,同時(shí)剔除語料中其他詞,使用Gensim Word2vec 工具訓(xùn)練出實(shí)體指稱向量。根據(jù)問句中的指稱,通過計(jì)算其與語料中其他實(shí)體指稱向量間的相似度,選擇相似度最高的前S個(gè)實(shí)體指稱。候選實(shí)體的相似實(shí)體選擇的是知識(shí)庫中實(shí)體一跳的鄰近實(shí)體,同樣為了避免部分相似實(shí)體指稱的影響,這里先計(jì)算相似實(shí)體與相似實(shí)體指稱的相似度,保留相似度最大的相似實(shí)體,如式(6)~式(8)所示。
其中,vecsim是問句指稱相似的實(shí)體指稱向量累加和的平均向量表示,實(shí)體指稱的向量通過Wikipedia語料訓(xùn)練得到。Ej是候選實(shí)體j的鄰近實(shí)體集合,efinal是最終選擇的與vecsim相似度最大的鄰近實(shí)體,Se指特征最終的得分。
2.2.4 特征組合
流行度是實(shí)體固有的屬性,對(duì)于同名的實(shí)體,流行度高的實(shí)體更大概率是目標(biāo)實(shí)體,這樣一方面可以篩選候選實(shí)體集合;另一方面也可以直接作為候選實(shí)體排序的指標(biāo)??紤]到結(jié)構(gòu)化知識(shí)庫的特點(diǎn),實(shí)體詳細(xì)的文本描述信息較少,因此分別通過將實(shí)體類別、實(shí)體關(guān)系和鄰近實(shí)體作為候選實(shí)體在知識(shí)庫中的表示。實(shí)體類別和實(shí)體關(guān)系包含實(shí)體的語義信息,以此與指稱上下文進(jìn)行語義匹配。另外,因?yàn)橹阜Q的上下文有限,通過語料得到指稱的相似實(shí)體指稱可作為指稱的背景知識(shí)。這些相似實(shí)體指稱與目標(biāo)實(shí)體的鄰近實(shí)體存在相關(guān)性,它們間的相似度信息也可以輔助消歧。
為綜合考慮上面提到的四個(gè)特征,對(duì)其進(jìn)行加權(quán)求和,根據(jù)最終的結(jié)果對(duì)候選實(shí)體排序,具體公式如式(9)所示。
Stotal=αSp+β St+γSr+δSe
(9)
式(9)中的α,β,γ,δ分別是對(duì)應(yīng)各項(xiàng)的權(quán)重,由實(shí)驗(yàn)確定具體取值。加權(quán)求和是為了區(qū)別它們之間的差異,某一項(xiàng)表現(xiàn)結(jié)果更好,則考慮賦予更大的權(quán)重。
實(shí)驗(yàn)數(shù)據(jù)集選擇的是問答數(shù)據(jù)集WebQuestions-SP(WebQSP)[20],其包含WebQuestions數(shù)據(jù)集內(nèi)有答案問句語義解析的結(jié)果,省去了命名實(shí)體識(shí)別的工作,可以直接使用問句標(biāo)注的指稱展開實(shí)體鏈接的研究。表1為數(shù)據(jù)集的數(shù)據(jù)統(tǒng)計(jì)情況。
表1 WebQSP數(shù)據(jù)統(tǒng)計(jì)
從表1中可以看出,數(shù)據(jù)集99.6%的問句都只存在一個(gè)指稱,很難使用聯(lián)合實(shí)體消歧的方法。表中的NIL是指語句的指稱無法鏈向知識(shí)庫,在知識(shí)庫內(nèi)不存在這樣的實(shí)體。由于WebQSP依賴Freebase知識(shí)庫,所以本文選擇Freebase作為實(shí)體鏈接的知識(shí)庫。Freebase在2016年停止了提供API服務(wù)和維護(hù),這里使用的是2015年Freebase的Dump數(shù)據(jù)。
實(shí)驗(yàn)采用常見的指標(biāo)準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1值(F1-Score)來評(píng)估實(shí)體鏈接的結(jié)果。考慮到一條問句中會(huì)出現(xiàn)不止一個(gè)實(shí)體,因此這里采用的是宏平均F1值(MacroF1-Score)和微平均F1值(MicroF1-Score)作為實(shí)驗(yàn)結(jié)果衡量方法。
記正確鏈接為T,系統(tǒng)預(yù)測(cè)鏈接為O,Tent和Oent分別為正確鏈接到實(shí)體的指稱個(gè)數(shù),Tnil和Onil分別為正確鏈接到NIL的指稱個(gè)數(shù),各指標(biāo)定義如式(10)~式(15)所示。
其中,F(xiàn)1i是第i個(gè)問句的F1值,Precisiontotal和Recalltotal分別表示計(jì)算數(shù)據(jù)集中所有問句得到的精度和召回率,Macro_F1,Micro_F1表示宏平均F1值和微平均F1值。
3.3.1 候選實(shí)體生成
通過構(gòu)建指稱到實(shí)體的映射詞典,產(chǎn)生候選實(shí)體集。為保證詞典的覆蓋率,根據(jù)象征指稱的屬性,從Freebase知識(shí)庫中進(jìn)行抽取,并且統(tǒng)計(jì)指稱與實(shí)體共現(xiàn)次數(shù)。知識(shí)庫中實(shí)體名稱屬性對(duì)應(yīng)的賓語存在亂碼和特殊符號(hào)問題,如“Don鈥檛Play Around”和“J$002EF$002EK”,本文直接刪除包含亂碼的三元組。對(duì)于特殊符號(hào)的問題,經(jīng)過查閱資料,將編碼轉(zhuǎn)化為對(duì)應(yīng)的符號(hào),如上面字符串可以轉(zhuǎn)義為“J.F.K”,其中“.”表示“$002E”。同時(shí)考慮到知識(shí)庫中存在一些格式錯(cuò)誤,例如,“c. b. colby”和“cb colby”,除了表示形式不同,本質(zhì)上它們都是一樣的。本文重新定義了字符匹配方式,考慮了誤拼情況。最終詞典的結(jié)構(gòu)是一條指稱對(duì)應(yīng)多個(gè)實(shí)體,并且存儲(chǔ)了指稱與該實(shí)體共現(xiàn)的次數(shù)。
目前已經(jīng)創(chuàng)建的指稱到實(shí)體映射詞典的詞條數(shù)量達(dá)到20M。為了縮減搜索時(shí)間,通過Apache Lucene對(duì)詞典建立索引,索引關(guān)鍵詞是指稱,返回的是所有的候選實(shí)體。因?yàn)楹芏嘀阜Q對(duì)應(yīng)的候選集較大,在消歧前,先通過實(shí)體流行度進(jìn)行初步篩選,最終在確保候選實(shí)體數(shù)目不超過30個(gè)時(shí),目標(biāo)實(shí)體的覆蓋率達(dá)到88%。
3.3.2 候選實(shí)體消歧
實(shí)體類別和實(shí)體關(guān)系直接與數(shù)據(jù)集中問句指稱的上下文計(jì)算相似度,相似度高,表示候選實(shí)體更符合當(dāng)前問句的語境。根據(jù)通常問句的構(gòu)成,這兩項(xiàng)特征對(duì)于區(qū)分出目標(biāo)實(shí)體有一定作用。但是受到上下文的限制,以及實(shí)體類別和實(shí)體關(guān)系數(shù)目的選擇問題,最終選擇保留所有實(shí)體類別和實(shí)體關(guān)系,然后分別與指稱上下文計(jì)算相似度,最高相似度對(duì)應(yīng)的類別和關(guān)系為該候選實(shí)體的類別和關(guān)系得分。這樣考慮主要有兩點(diǎn)因素: 首先是候選實(shí)體的數(shù)量和其對(duì)應(yīng)的特征數(shù)量不大;其次是選擇部分特征或者選擇所有特征的均值,會(huì)造成信息損失,同時(shí)也會(huì)引入噪聲。實(shí)驗(yàn)證明,這樣的做法對(duì)最終的結(jié)果有明顯的提升。
下面根據(jù)上文提到的三類共計(jì)四種特征實(shí)現(xiàn)候選實(shí)體的消歧分別進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。其中,Sp、St和Sr分別表示實(shí)體流行度、實(shí)體類別與問句相似度、實(shí)體關(guān)系與問句相似度。對(duì)基于相似實(shí)體指稱的特征,本文分別試驗(yàn)了基于詞向量和基于實(shí)體指稱向量的方法,用Se_word和Se_entity表示?;谠~向量方法是指用指稱中出現(xiàn)詞的向量累加平均來表示該指標(biāo)的方法?;趯?shí)體指稱向量方法見2.2.3小節(jié)。
表2 獨(dú)立特征的實(shí)驗(yàn)結(jié)果
WebQSP數(shù)據(jù)集是由Google Search API根據(jù)搜索實(shí)體名稱得到的問題以及替換原問題中實(shí)體來構(gòu)造數(shù)據(jù)集,而出現(xiàn)在搜索日志內(nèi)的實(shí)體絕大部分都是相對(duì)熱門的。因此,從單個(gè)特征的角度看,實(shí)體流行度對(duì)于實(shí)體消歧效果最好。
實(shí)體類別是考慮到數(shù)據(jù)集的問句中會(huì)出現(xiàn)與實(shí)體類別有關(guān)的限制性詞,如“city”、“who”,這些詞限制了目標(biāo)實(shí)體的類型。但是有些情況問句中出現(xiàn)的限制詞針對(duì)的是目標(biāo)實(shí)體或問句的其他指稱,如“who plays ken barlow in coronation street?”,修飾詞“who”指的是前一個(gè)指稱,當(dāng)對(duì)“coronation street”進(jìn)行消歧時(shí),上下文中不存在對(duì)于該指稱的類別限制,因此僅僅通過實(shí)體類別無法解決這類問題。
實(shí)體關(guān)系是從面向知識(shí)庫問答的全局角度反向考慮而提出的對(duì)于目標(biāo)實(shí)體的另一限制條件,即目標(biāo)實(shí)體需要包含問句出現(xiàn)的實(shí)體關(guān)系。但是,由于一些問句中實(shí)體關(guān)系表述不明確,存在關(guān)系不在使用的Glove詞向量中,實(shí)體消歧僅考慮實(shí)體關(guān)系仍然不夠全面。如“who was vp for lincoln?”,這個(gè)問題中實(shí)體關(guān)系不明確,對(duì)于實(shí)體消歧沒有幫助,并且非關(guān)系的詞對(duì)結(jié)果有干擾,最終容易忽略目標(biāo)實(shí)體。
面向知識(shí)庫問答對(duì)應(yīng)的答案是實(shí)體的鄰近實(shí)體,本文目前僅考慮知識(shí)庫中實(shí)體一跳對(duì)應(yīng)鄰近實(shí)體的情況。相似實(shí)體指稱是問句指稱的相似實(shí)體,在語料中的表示就是與指稱共現(xiàn)次數(shù)多的實(shí)體。結(jié)構(gòu)化的知識(shí)庫中實(shí)體和實(shí)體關(guān)系都是從非結(jié)構(gòu)化文本中抽取而來的。因此,本文將指稱的相似實(shí)體指稱和候選實(shí)體的鄰近實(shí)體對(duì)應(yīng),通過這個(gè)指標(biāo)輔助實(shí)體消歧。但由于訓(xùn)練實(shí)體向量語料大小的問題,最終實(shí)體向量的詞典不能夠覆蓋所有實(shí)體,因此影響實(shí)驗(yàn)的結(jié)果。
相似實(shí)體指稱是通過標(biāo)注好實(shí)體的Wikipedia訓(xùn)練得到。為了驗(yàn)證實(shí)體向量的有效性,本文同時(shí)用基于詞向量和基于實(shí)體指稱向量的方法獲得相似實(shí)體指稱,結(jié)果如表2所示。實(shí)驗(yàn)證明: 使用實(shí)體指稱向量方法效果更好。這是由于當(dāng)實(shí)體指稱是短語時(shí),根據(jù)詞向量找到的相似的詞組合成的短語不一定表示一個(gè)實(shí)體,在與候選實(shí)體的鄰近實(shí)體計(jì)算相似度時(shí),會(huì)起到負(fù)面作用。
考慮到特征之間的聯(lián)系,下面實(shí)驗(yàn)從特征的線性組合出發(fā),分別考慮四種特征總體的效果以及單個(gè)特征對(duì)于整體結(jié)果的影響。表3中SAll指的是四個(gè)特征的線性組合的方法,下面內(nèi)容表示SAll分別除去一個(gè)特征和除去兩個(gè)特征后的實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)結(jié)果說明,組合所有特征的效果表現(xiàn)最好,實(shí)體流行度這一特征對(duì)結(jié)果相對(duì)影響最大。
表3 特征組合的實(shí)驗(yàn)結(jié)果
由于實(shí)體流行度單獨(dú)作為特征的表現(xiàn)相對(duì)較好,因此包含流行度的三種組合方式結(jié)果比較穩(wěn)定,較Sp結(jié)果略有提升。對(duì)比表格四、五、六行的結(jié)果,表示通過比較擴(kuò)充的相似實(shí)體指稱和候選實(shí)體的鄰近實(shí)體間的關(guān)系,與實(shí)體類別和實(shí)體關(guān)系相比,具有一定的作用。當(dāng)除去實(shí)體流行度這一特征后,表現(xiàn)相對(duì)它們?nèi)邌为?dú)作為特征后的結(jié)果有很大的上升。經(jīng)過對(duì)識(shí)別錯(cuò)誤文件的分析,除了目標(biāo)實(shí)體不在候選實(shí)體集合的情況外,三種特征之間出錯(cuò)的問句交集較小,因此結(jié)果的顯著提升可以認(rèn)為是特征之間的互補(bǔ)關(guān)系。在兩個(gè)特征的組合結(jié)果中實(shí)體流行度與其他三個(gè)特征的組合表現(xiàn)更好,其中與基于相似實(shí)體指稱特征的組合效果最好。
本文與Qu等[21]的工作進(jìn)行了對(duì)比實(shí)驗(yàn),因?yàn)镼u的工作同時(shí)包含命名實(shí)體識(shí)別和實(shí)體鏈接。表3中分別列出了給定指稱后的實(shí)體鏈接結(jié)果Qu_EL和用該方法進(jìn)行命名實(shí)體識(shí)別后再進(jìn)行實(shí)體鏈接的結(jié)果Qu_NER+EL。Qu的實(shí)體鏈接結(jié)果依賴于構(gòu)建的歧義詞詞典,即生成的候選實(shí)體集合,但是本文只抽取知識(shí)庫中包含“type.object.name”屬性的三元組來構(gòu)建詞典,忽視了實(shí)體名稱的其他變種形式,如首字母縮寫、別名等。實(shí)驗(yàn)結(jié)果表明: 本文提出的方法表現(xiàn)更好。
本文分別從實(shí)體鏈接的兩個(gè)子任務(wù)出發(fā),詳細(xì)介紹了面向知識(shí)庫問答中實(shí)體鏈接的技術(shù),重點(diǎn)在于實(shí)體消歧部分。由于結(jié)構(gòu)化知識(shí)庫對(duì)實(shí)體的文本描述信息較少,本文通過知識(shí)庫中抽取的實(shí)體類別、實(shí)體關(guān)系和鄰近實(shí)體來補(bǔ)充實(shí)體的上下文信息。同時(shí)由于知識(shí)庫問答中問句指稱上下文信息少,僅以此作為指稱的上下文容易造成信息缺失。因此本文借助Wikipedia語料獲取指稱在語料中的相似實(shí)體指稱,補(bǔ)充指稱的背景知識(shí)輔助實(shí)體消歧。除了單獨(dú)的特征外,最后考慮特征的組合對(duì)結(jié)果的影響。經(jīng)過實(shí)驗(yàn)論證,上述提及的方法一定程度上提升了實(shí)體鏈接的結(jié)果。
未來可從兩個(gè)大方向考慮改進(jìn),首先是可以通過模糊匹配等方法提升候選實(shí)體集合的召回率;其次是實(shí)體消歧部分的改進(jìn),如利用目前流行的ELMo[22]和Bert[23]方法學(xué)習(xí)向量的表示、考慮多跳的鄰近實(shí)體、利用更大的語料訓(xùn)練詞向量模型而得到更全面的向量表示等。