熊 玲,徐增壯,王瀟斌,洪 宇,朱巧明
(蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006)
SF是文本分析會議(text analysis conference)發起的知識庫構建任務(knowledge base population,KBP)下的第二項子任務。作為信息抽取的一個重要方向,SF旨在從開放的數據源中抽取查詢實體(簡稱查詢)的屬性值[1]。SF系統包含三個基本模塊: ①文檔檢索模塊; ②屬性抽取模塊; ③后處理模塊[2]。其中,文檔檢索模塊旨在從海量的文檔集中檢索出包含查詢實體的相關文檔;屬性抽取模塊旨在從相關文檔中抽取出查詢實體的候選屬性值。例如對于查詢實體“Alexander Haig(亞歷山大·海格)”,從檢索得到的文檔包含的句子“Former US Secretary of State Alexander Haig died on Saturday in hospital at 85.(美國前國務卿亞歷山大·海格于周六在醫院去世,享年85歲。)”中可以抽取屬性值如表1所示;后處理模塊旨在從候選屬性值中合并同一屬性的結果,并篩選出最終屬性值。

表1 查詢“Alexander Haig”屬性值
文檔檢索的結果是SF的基礎。因此,如何有效地提高文檔檢索模塊的性能是提高SF整體性能的關鍵[3]。本文把SF中查詢的相關文檔檢索問題定義為實體搜索問題,即給定一個實體(人或組織)的名稱(稱為查詢),從指定文檔集中檢索所有包含該實體的文檔,即相關文檔。基于布爾邏輯的檢索模型[4],在應用到實體搜索問題上時存在以下兩個問題: ①實體同名歧義問題,例如,在維基百科中,與查詢“John Graham(約翰·格拉漢姆)”同名的人物共有25個。檢索得到的文檔雖然包含與查詢實體名稱相匹配的字符串,但是,該字符串在文中指代的實體不是給定的查詢實體; ②實體別名問題,即同一個實體可能對應多個別名。例如,對于查詢“Public Library of Science(美國科學公共圖書館)”存在別名“PLoS”,文檔中可能出現與給定查詢形式不同的別名,前者導致檢索結果的準確率較低,后者導致檢索結果的召回率較低。
在信息檢索領域,通常使用查詢擴展方法,在本問題上使用實體的別名(稱為擴展查詢)對查詢進行擴展,以達到提高檢索召回率的目的[3]。但是該方法無法解決問題1,且該方法會加重問題1的影響,因為使用的擴展查詢本身也會存在歧義。例如,對于查詢“National Restaurant Association(全國餐飲協會)”的擴展查詢“NRA”,還可能表示“National Rifle Association(全國槍支協會)”。目前,SF領域關于實體搜索的相關研究較少,雖然已經能夠較好地解決問題2,但是尚未有較好的對問題1的解決方法。本文將重點研究問題1的解決方法。
針對實體搜索的實體同名歧義問題,本文提出一種基于跨文檔實體共指消解的實體搜索方法,該方法以基于布爾邏輯的檢索模型為基礎,共分為兩個階段:
(1) 使用查詢擴展方法對原始查詢(即給定查詢)進行擴展,然后使用基于布爾邏輯的檢索模型從大規模文檔中獲取召回率較高的候選文檔集合;
(2) 通過使用偽相關反饋方法擴充查詢的描述信息、使用CDCR過濾候選文檔集合中由同名歧義問題引起的錯誤結果(不相關文檔),優化得到最終檢索結果。
實驗結果表明,通過使用偽相關反饋檢索方法可以提高檢索結果的召回率,通過使用CDCR可以提高檢索結果的準確率,二者的結合可以獲得比現有檢索模型更好的性能。
圍繞基于共指消解的實體搜索方法研究,本文其余部分組織結構如下: 第2節介紹相關工作;第3節詳細介紹本文提出的基于共指消解的實體搜索方法;第4節給出對本文方法的實驗驗證與分析;最后,第5節總結全文并簡單闡述未來工作。
現有SF研究聚焦于屬性抽取方法。使用的方法主要包括基于遠程監督分類的屬性抽取方法,如Roth等[5]和Angeli等[6],基于依存模式匹配的屬性抽取方法,如Yu等[7]和Li等[8],以及基于OpenIE屬性抽取方式,如Stephen等[9]。
但是,在對實體搜索方法方面研究工作較少[3],現有的檢索模型只是簡單使用附帶查詢擴展的基于布爾邏輯的檢索模型,差異主要在擴展查詢的獲取方式。常用的查詢擴展方式主要分為兩類,利用知識庫信息的查詢擴展和基于規則的查詢擴展。
基于知識庫的查詢擴展方法主要利用現有的實體知識庫(如維基百科)及給定的參考文檔信息獲取擴展查詢。Roth等[5],Xu等[10]以及Yu等[7]通過統計維基頁面的重定向關系信息,構建重定向詞典,通過重定向詞典的查找獲得給定查詢的候選擴展。Xu等[10]從給定查詢的參考文檔中搜索查詢的縮寫形式和全稱形式來獲取擴展查詢。這類方法對知識庫有較強的依賴性,對未收錄的實體無法進行有效處理。
基于規則的查詢擴展方法使用人工編寫的規則對查詢字符串進行變換,獲得擴展查詢。
Li等[8]通過去除特殊后綴(如“Ltd.”、“Corp.”等),利用參考文檔中的實體共指信息,以及基于規則從參考文檔中抽取別名,獲取擴展查詢。Min等[11]使用特殊后綴去除、人名改寫(如將查詢“George Walker Bush”變為“George W. Bush”)等方法來獲取擴展查詢。這類方法集中于對詞一級實體名稱的變形和抽象,忽略了內容更為豐富的文檔一級的特征對實體的刻畫能力,獲得的擴展查詢僅有助于發現實體名稱的多種變形,能提高檢索結果召回率,而無法保證結果的準確率。
本文在附帶查詢擴展的基于布爾邏輯的檢索模型基礎上,增加了對檢索結果的過濾,既能有效保留附帶查詢擴展的檢索模型召回率高的優點,也能有效解決查詢歧義性引起的問題,從而獲得更好的檢索結果。
基于共指消解的實體搜索方法以基于布爾邏輯的檢索模型為基礎,通過運用偽相關反饋方法和跨文檔實體共指消解方法,對基本的檢索結果進行優化。圖1給出了該方法的流程圖。

圖1 基于共指消解的實體搜索方法流程圖
圖1中使用不同線型表示模型的兩個階段:①虛線部分表示偽相關文檔檢索與共指消解,其中7表示偽相關反饋; ②實線部分表示候選文檔檢索與共指消解。前者旨在使用偽相關文檔擴充查詢實體的描述信息,提高最終結果的召回率;后者旨在從大規模數據集中檢索獲得最終檢索結果的候選集合,并通過過濾候選集合中的錯誤結果,即未包含給定查詢實體的文檔,以提高最終結果的準確率。接下來先介紹本文使用的跨文檔實體共指消解方法,然后詳細介紹本文提出的方法的兩個處理階段。
實體共指消解分為單文檔共指消解(within document coreference resolution,WDCR)和跨文檔共指消解(cross document coreference resolution,CDCR)。WDCR旨在判斷同一篇文檔內部的多個實體名稱是否指代同一個實體,然后形成多個實體鏈,每個實體鏈中的實體名稱都指代同一個實體。CDCR旨在判斷不同文檔中多個實體描述是否指代同一個實體。為了降低問題復雜度,CDCR通常在WDCR的基礎上進行,即判斷各個文檔中不同的實體鏈是否指向同一實體。現有研究主要使用聚類算法實現實體共指消解,區別主要在于聚類算法的選擇及實體的相似度度量標準。
本文WDCR方法使用Manning等[12]的方法,使用的 CDCR方法借鑒Rao等[13],該方法相比于傳統的層次聚類算法,具有算法復雜度低的優點,適用于本文這種需要對大量文檔進行共指消解的場合。其算法如下:

算法CDCR-cluster 輸入: WDCR后的文檔集合,表示為序列
算法CDCR-cluster表示對每篇輸入文檔計算與所有類簇的相似度(第4行),如果最大相似度值大于設定的閾值T(依據經驗,本文設定該閾值為0.1),該文檔加入取得最大相似度值的類簇(第7行),否則創建新的類簇(第9行)。最終輸出聚類結果。其中①處相似度計算如式(1)所示。
(1)
式(1)中Jaccard(C,E)表示實體鏈E包含的所有實體名稱包含的單詞的unigram集合與類簇C中所有實體名稱包含的單詞(忽略代詞)的unigram集合的Jaccard系數,計算如式(2)所示。
(2)
cos(C,D)表示文檔D的特征向量與文檔C的特征向量的余弦相似度。文檔特征向量采用向量空間模型表示,聚類結果的特征向量使用類簇中所有文檔的特征向量之和表示,也稱為該類簇的中心向量。α表示平衡系數,依據經驗設定為0.2。因此,式(1)的含義就是: 實體名稱以及其上下文與類簇中實體名稱與上下文共同信息越多,實體與類簇越相似。
候選相關文檔指包含給定查詢實體名或其別名的文檔,但無法確定此實體名是否指代給定的實體。本文對候選相關文檔集進行優化,獲得最終的檢索結果。首先,候選相關文檔集決定了本文最終結果的文檔范圍,因此要求其具有較高的召回率,即獲取候選相關文檔集的檢索模型需要很好地解決實體別名問題。正如相關工作中所述,現有的在SF中使用的檢索模型對此已有研究,且該問題不在本文研究范圍之內,本文直接借鑒目前較好的系統的模型。具體的,本文使用薩爾大學口語系統研究所(Spoken Language Systems at Saarland University,LSV)在2013年SF任務中使用的檢索模型*https://github.com/beroth/relationfactory作為基本檢索模型,用以獲取候選相關文檔。LSV在2012、2013年SF評測中均獲得第一的成績,其檢索模型可以代表目前較高水平。該檢索模型先獲取原始查詢的擴展查詢,采用的方式如下:
(1) 使用重定向詞典。根據維基頁面的重定向關系,整理得到頁面標題的重定向詞典。如對于標題為“Obama(奧巴馬)”頁面被重定向到頁面“Barack Obama(巴拉克·奧巴馬)”,這兩個頁面標題構成的二元組為重定向詞典的一條記錄;
(2) 人名擴展。對于人名查詢,使用人名姓氏作為擴展。例如,將“Jobs(喬布斯)”作為查詢“Steve Jobs(斯蒂夫·喬布斯)”的擴展;
(3) 組織名后綴替換。對于組織名查詢,通過改變表示組織名查詢的后綴獲得擴充查詢。如對于查詢“ABC Corp.(美國廣播公司)”可以獲得擴展查詢“ABC Inc.(美國廣播公司)”。
然后,該檢索模型利用原始查詢和擴展查詢進行檢索,要求檢索到的文檔或者包含原始查詢或者包含擴展查詢。擴展查詢使用方式如下:
(1) 選擇與原始查詢互信息最大的擴展查詢對原始查詢進行擴展,從大規模文檔中進行檢索;
(2) 如果檢索結果中文檔數量小于閾值(設定為500),則使用所有擴展查詢對原始查詢進行擴展,重新進行檢索。
通過使用上述的檢索模型本文獲取候選相關文檔集,且該檢索結果的召回率較高。但是,由于該檢索模型沒有考慮查詢歧義性問題,其準確率較低,需要對結果進行優化,接下來,本文將詳細描述如何使用本文提出的方法優化該結果。
候選相關文檔集雖然較好地解決了實體別名問題,具有較高的召回率,但無法解決實體同名歧義問題,因此其準確率較低。本文使用CDCR方法,對其進行優化。具體的,通過將候選相關文檔集進行共指消解聚類,可以將不同實體的相關文檔聚成不同類簇,對應給定查詢實體類簇中所有文檔都是相關文檔。
從上文CDCR-cluster算法中可以看出,實體共指消解需要在具體的文檔中進行,文檔與查詢字符串無法進行共指消解。另外,CDCR-cluster算法只能將實體分成不同實體的實體鏈,并不能給出哪個實體鏈指代本文所需的實體。此時,KBP為每個查詢提供的參考文檔,即包含給定查詢實體的文檔可以發揮作用。具體的,本文對CDCR-cluster算法進行一些修改: 初始時將參考文檔作為一個類簇,將聚類結果中處于該類的文檔都看作相關文檔。
然而,這些參考文檔包含的相關查詢實體的描述信息并不是很充分,有些僅僅只是提到相關查詢實體,即使人工閱讀也很難總結出有效的用于區分實體的信息。這些參考文檔在CDCR時由于與候選文檔相同信息較少,過濾過程造成召回率損失較大。為此,本文采用偽相關反饋的方式對查詢實體的描述信息進行擴充。偽相關反饋指使用初步檢索結果中相關度前幾位的文檔(稱為偽相關文檔)對查詢進行擴充。相關研究表明,當查詢信息不足時,使用偽相關反饋可以獲得更好的檢索結果[14]。本文借助基本檢索模型,不使用其查詢擴展功能,僅僅使用文檔檢索功能,檢索結果按照文檔與查詢的相關度排序。參照偽相關反饋的一般方法,本文從基本檢索結果中選取排序靠前的部分文檔作為偽相關文檔,用以擴充查詢描述信息。具體擴充方法為: 將偽相關文檔和參考文檔同時加入CDCR初始類簇中。
但是,偽相關文檔中同樣會存在同名歧義問題,如果不對此問題進行處理,必然在擴充查詢信息時引入較多噪聲,影響最終結果的準確率。因此,本文使用參考文檔作為初始類簇,先對所有偽相關文檔進行共指消解,將聚類結果中保留的文檔作為最終使用的偽相關文檔。
至此,本文提及多個文檔集合,圖2解釋了它們之間的關系: 使用參考文檔作為初始條件提高偽相關文檔集a的準確率,并用得到的結果b對候選文檔集c進行優化,得到準確率與召回率兼顧的最終結果d。

圖2 各個文檔集之間的關系
算法Two-stage-CDCR描述了本文對候選相關文檔的優化過程:

算法Two-stage-CDCR輸入: 候選相關文檔集{
從算法Two-stage-CDCR可以看出,本文對候選結果的優化分為兩個階段: 首先,本文通過對偽相關反饋的結果進行共指消解(1~5行),從而解決其自身存在的同名歧義問題。然后,本文將偽相關文檔共指消解的結果作為候選文檔集共指消解的初始條件,對候選文檔集進行共指消解(6~9行),從而克服參考文檔包含的有關查詢的信息不充分的問題,保證結果的召回率。
本文采用KBP2013 SF任務評測所用的查詢作為輸入查詢,共包含100條查詢,其中人名實體查詢和組織名實體查詢各為50條。為了驗證本文方法在歧義性較大的查詢上的作用,本文又從KBP2014 SF任務評測所用的查詢中選取存在歧義的15個查詢[3]作為輸入查詢。本文采用KBP2013 SF任務評測提供的文檔集(LDC2014E13)作為相關文檔的檢索范圍。該文檔集共包含文檔2 099 319篇,包含文檔類型如下: 新聞文本(1 000 257篇)、網頁頁面(999 999篇)和論壇數據(99 063篇)。
KBP對所有SF輸出結果進行人工標注,本文從KBP2013標注結果中抽取被標注為正確的文檔編號形成2013年100個查詢檢索結果的參考答案集,并且對Yu等[7]和Roth等[4]系統檢索模塊對此100個查詢的檢索結果進行人工標注,作為參考答案集的補充。對于2014年的輸入查詢,由于缺乏KBP的標注數據,使用對Yu等[7]和Roth等[4]系統檢索模塊對此15個查詢的檢索結果的人工標注結果作為參考答案集。本文對檢索結果采用的評價指標為準確率(Precision,P),召回率(Recall,R)和F1值(F1)。
為驗證本文方法的有效性,本文設置了如下幾個系統作為對比系統:
(1) Baseline: 該系統采用LSV在2013年SF評測使用的系統的檢索模塊;
(2) Sys_R: 該系統僅將參考文檔加入第二階段聚類的初始類簇,不使用偽相關反饋方法;
(3) Sys_PF: 該系統將所有偽相關文檔加入第二階段聚類的初始類簇,省去第一階段聚類;
(4) Sys_R_PF: 完整使用本文的方法,即使用參考文檔作為初始條件進行第一階段聚類,優化偽相關文檔集,將此結果作為第二階段聚類的初始條件,再對候選文檔集進行聚類。
LSV參與了2012年與2013年的SF評測,并均取得了第一名的成績,本文認為LSV系統的檢索模型能夠在一定程度上代表目前SF中檢索模型的較優水平,因此將其作為基準系統。設置Sys_R的目的在于,通過與Sys_R_PF的結果進行對比,可以分析偽相關反饋的作用。設置Sys_PF的目的在于,通過與Sys_R_PF的結果進行對比,可以分析人工標注的參考文檔的作用。
表2給出了各個系統的性能數據。從表中數據可以看出,根據本文提出的基于實體共指的實體搜索方法實現的系統Sys_R,Sys_PF,Sys_R_PF相比與根據基于布爾邏輯的檢索模型實現的實體搜索系統Baseline,F1值都有一定程度的提升,分別提升1.79%,2.34%,2.56%。可見,本文提出的方法對現有的實體搜索方法有一定改進。下面本文分別從共指消解的作用、參考文檔的作用與偽相關反饋的作用三個方面分析本文方法優于Baseline的原因。

表2 各個系統性能
3.3.1 共指消解的作用
表3給出了對各個系統在候選文檔集中文檔過濾準確率的統計,過濾準確率即被過濾文檔中確為不相關的文檔數量占過濾總數的比例。從表3中數據可以看出,通過使用實體共指消解方法,對候選文檔的過濾準確率基本都能達到80%左右,即能夠排除候選文檔中大量的錯誤,所以能夠有效提升結果的準確率,由此,F1值得到提升。

表3 各個系統過濾準確率統計
3.3.2 參考文檔的作用
根據表2數據,通過Baseline與Sys_R的對比可以看出,引入參考文檔對候選文檔集進行共指消解,可以有效提升檢索結果的準確率,雖然召回率受到了損失,但是總體的F1值有所提高。同樣,對比Sys_PF與Sys_R_PF的結果,通過引入參考文檔對偽相關反饋結果進行提升,使得最終檢索結果的準確率與F1值也能得到有效提升。可見,通過人工標注給出查詢的正確相關文檔,在提升檢索結果的性能上至關重要。而查詢一篇相關文檔的標注工作量較小,在實際應用中完全可以接受。因此本文提出的方法在給定查詢沒有參考文檔的應用場景下依然具有使用價值。
3.3.3 偽相關反饋的作用
然而,從另一個角度觀察表3中的數據,由于實體共指的結果并不是100%的準確,導致對候選結果的過濾中丟棄了一部分相關文檔,表2的數據反映了相同的問題,即相比于Baseline,其余各個系統的召回率都有不同程度的損失。本文通過引入偽相關反饋降低該問題的影響。
Sys_R、Sys_R_PF、Sys_PF在對候選文檔集進行聚類時,使用的偽相關文檔數量依次增加,其中Sys_R不使用偽相關文檔,Sys_R_PF使用部分偽相關文檔、Sys_PF使用了全部偽相關文檔,對比表2中數據可以看出,隨著使用偽相關文檔的數量的增加,檢索結果的召回率也在提高。從另一個角度看,相比于Baseline,這些系統的召回率都較低,提高這些系統的召回率可以保證盡量減少候選文檔中相關文檔的損失。此外,從表3數據也能大致看出偽相關文檔的作用: 僅將參考文檔用于共指消解,過濾準確率相對較低,而使用偽相關文檔可以有效提升過濾準確率,證明使用偽相關反饋是本文方法優于Baseline的一個關鍵原因。
綜合以上分析,本文方法優于Baseline的原因主要有三點:
(1) 通過使用實體共指消解過濾不相關文檔,提升了檢索結果的準確率;
(2) 共指消解中引入參考文檔,進一步提升過濾的準確率;
(3) 使用偽相關反饋降低過濾過程中的召回率損失,保證了F1的提升。
表4給出在SF 2014年的15個歧義性較大的查詢上的性能。需要說明的是,由于2014年查詢的參考答案標注范圍小于2013年(缺少KBP的標注數據),因此,表4中所有系統的召回率都偏高,但是對于分析系統之間的差異依然具有一定的參考價值。

表4 歧義查詢上各個系統的性能
從表4中數據可以看出,在歧義性較大的查詢上,系統之間的差異更加明顯。相比Baseline,Sys_R_PF的準確率、F1值分別提升16.27%、5.07%。可見本文方法在歧義性較大的查詢上作用更加明顯。相比Sys_R,Sys_R_PF準確率有所下降,與表3中體現的規律不一致,主要原因在于,當查詢歧義性較大時,偽相關的準確率也較低,使用偽相關文檔會引入一些噪聲,這從Sys_PF的準確率明顯低于Sys_R、Sys_R_PF也能得到證明。Sys_R_PF相比于Sys_R,召回率提升明顯,且F1值提升3.92%,再次證明偽相關反饋機制的作用。
針對目前SF任務中使用的檢索模型無法處理查詢歧義性、檢索結果準確率較低的問題,本文提出一種基于跨文檔實體共指消解的實體搜索模型,該模型借助偽反饋機制獲取的文檔對查詢的參考文檔進行補充,豐富用于共指消解的信息,使用實體共指消解方法對候選結果進行優化,過濾不相關文檔,獲取比目前常見的僅基于布爾邏輯的檢索模型更好的檢索性能。實驗結果表明,本文提出的方法能夠有效過濾不相關文檔,進一步提升檢索結果的準確率和F1值。
但是,從實驗數據可以看出,本文的方法依然還有很大的提升空間,檢索結果的準確率依然較低。本文的未來工作圍繞以下幾方面進行:
(1) 改變單一的使用別名對原始查詢按照“或”邏輯擴展的查詢擴展方式,使用從參考文檔中提取的關鍵詞對原始查詢按照“與”邏輯擴展,提高候選相關文檔的準確率;
(2) 改進共指消解聚類所用的相似度計算方法,如融入文檔主題信息、使用實體上下文替代整篇文檔、區分不同類型詞對相似度計算的重要性等,使得相似度值能夠更加客觀地反映文檔間實體共指情況。
[1] Dang H T, Surdeanu M. Task description for knowledge-base population at TAC 2013[C]//Proceedings of the 6th Text Analysis Conterence,2013.
[2] Ji H, Grishman R. Knowledge base population: Successful approaches and challenges[C]//Proceedings of the 49th ACL: Human Language Technologies-Volume 1,2011: 1148-1158.
[3] Surdeanu M, Ji H. Overview of the English slot filling track at the TAC2014 knowledge base population evaluation[C]//Proceeding of Text Analysis Conference(TAC2014),2014.
[4] Manning C D, Raghavan P, Schütze H. Introduction to information retrieval[M]. Cambridge: Cambridge university press, 2008: 1-18.
[5] Roth B, Barth T, Wiegand M, et al. Effective slot filling based on shallow distant supervision methods[C]//Proceedings of the Sixth Text Analysis Conference,2013.
[6] Angeli G, Chaganty A, Chang A, et al. Stanford’s 2013 KBP system[C]//Proceedings of the Sixth Text Analysis Conference,2013.
[7] Yu D, Li H, Cassidy T, et al. RPI-BLENDER TAC-KBP2013 knowledge base population system[C]//Proceedings of the Sixth Text Analysis Conference,2013.
[8] Li Y, Zhang Y C, Li D Y, et al. PRIS at knowledge base population 2013[C]//Proceedings of the Sixth Text Analysis Conference,2013.
[9] Soderland S, Gilmer J, Bart R, et al. Open information extraction to KBP relations in 3 hours[C]//Proceedings of the Sixth Text Analysis Conference,2013.
[10] Xu S, Zhang C X, Niu Z D, et al. BIT’s slot-filling method for TAC-KBP 2013[C]//Proceedings of the Sixth Text Analysis Conference,2013.
[11] Min B, Li X, Grishman R, et al. New York University 2012 system for KBP slot filling[C]//Proceedings of the Fifth Text Analysis Conference.2012.
[12] Manning Christopher D, Mihai Surdeanu, JohnBauer, et al. The Stanford CoreNLP Natural Language Processing Toolkit[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations, 2014: 55-60
[13] Rao D, McNamee P, Dredze M. Streaming cross document entity coreference resolution[C]//Proceedings of the 23rd International Conference on Computational Linguistics: Posters. Association for Computational Linguistics, 2010: 1050-1058.
[14] Xu J, Croft W B. Query expansion using local and global document analysis[C]//Proceedings of the 19th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, 1996: 4-11.