郭喜躍,何婷婷,胡小華,陳前軍
(1. 華中師范大學 國家數(shù)字化學習工程技術研究中心,湖北 武漢 430079;2. 華中師范大學 計算機學院,湖北 武漢 430079;3. 興義民族師范學院 信息技術學院,貴州 興義 562400;4. 湖北大學 信息與網(wǎng)絡中心 湖北 武漢 430062)
實體關系抽取是指從自然語言描述的語料中獲取命名實體之間存在的關系,例如,人名與組織機構之間可能存在雇傭關系等。實體關系抽取是基于命名實體識別的一種更深層次的研究,能夠為事件抽取、自動問答、機器翻譯以及自然語言處理相關領域的研究提供前提保障[1]。在大數(shù)據(jù)時代下,人們需要處理的數(shù)據(jù)量越來越龐大,處于承上啟下地位的實體關系抽取,其地位自然越發(fā)重要。CNKI統(tǒng)計顯示,自2007年以來,實體關系抽取研究的關注度一直呈上升趨勢*http://trend.cnki.net/TrendSearch/trendshow.htm?searchword=%u5173%u7CFB%u62BD%u53D6,訪問時間: 2014-5-21,這說明實體關系抽取得到越來越多的重視。
關系抽取研究最初由MUC會議提出,許多學者以此為平臺提出了大量的關系抽取方法,使得關系抽取在理論與實踐上初步成型。繼MUC之后,連續(xù)舉辦9屆的ACE會議也將關系抽取作為評測內容之一,吸引了許多優(yōu)秀的研究成果紛紛通過此會議發(fā)表或展示,有力地促進了關系抽取研究的完善與發(fā)展[2]。實體關系抽取的研究思路主要有基于語言規(guī)則模板的方法、基于詞典驅動的方法、基于Ontology的方法和基于機器學習的方法等,近幾年的研究趨勢表明,以機器學習為主、融合多種方法的思路成為主流。
2011年德國洪堡大學的Philippe Thomas等人,為研究生物醫(yī)學文獻進展,提出一種利用集成學習(Ensemble Learning)抽取藥物之間的相互作用的方法,該方法基于不同語言特征空間,構建多種機器學習方法對比機制,選出效果最好的方法[3];斯坦福大學的Mihai Surdeanu等人在2012年將多實例多標記學習引入到關系抽取中,形成一種新的方法,它利用帶有潛在變量的圖模型,并將文本中實體對和其標記融合在一起,這一方法從一定程度上克服了遠距離監(jiān)督學習的缺陷,而且實驗表明它在兩類不同領域的文本中性能表現(xiàn)不俗[4];2013年Haiguang Li、Gongqing Wu等在Applied Intelligence發(fā)表了一種基于位置語義特征的命名實體關系抽取方法,它利用位置特征的可計算性和可操作性,語義特征的可理解性和可實現(xiàn)性,整合了詞語位置的信息增益與基于HowNet的語義計算結果,最終實現(xiàn)了關系抽取效果的明顯提升[5]。
中文實體關系抽取的研究也取得了豐碩成果。何婷婷等人于2006年提出一種基于種子自擴展的命名實體關系抽取方法,首先手工選取少量具有抽取關系的命名實體對,把它們作為初始關系的種子集合,通過自學習,關系種子集合不斷擴展,通過計算命名實體對和關系種子之間的上下文相似度來得到所要抽取的命名實體對,這種方法有效地提高了抽取的準確率[6];陳火旺等人在2007年提出一種基于SVM的中文實體關系抽取,它將關系抽取看作分類問題,利用HowNet提供的概念信息,以詞特征集、詞性特征集、實體屬性特征集、實體出現(xiàn)特征集和HowNet概念特征集等形成訓練語料,并利用SVM模型進行學習,從而實現(xiàn)實體關系抽取,實驗結果表明,F(xiàn)1值最高可達76.58[7];2013年,陳鵬、郭劍毅等人在研究支持核函數(shù)的機器學習算法的基礎上,提出了基于凸組合核函數(shù)的中文領域實體關系抽取方法,該方法的核心思想是以徑向基核函數(shù)、Sigmoid核函數(shù)及多項式核函數(shù)組成的不同組合比例的凸組合核函數(shù)將特征矩陣映射成為不同的高維矩陣,利用支持向量機訓練這些高維矩陣構建不同分類模型,針對大量的旅游語料進行實驗,平均F值為62.9[8]。
相對而言,由于中文語言結構的獨特性和語義的復雜性,中文實體關系抽取研究整體上與國外的研究還存在一定差距,常用的基于淺層語法分析獲取特征的方法已經(jīng)達到瓶頸。本文也將采用SVM模型訓練語料,但于以往不同的是,該方法擴展了實體關系特征的選擇范圍,除了傳統(tǒng)的詞法特征、實體原始特征外,又選擇了句法特征、語義特征等作為實體關系特征,主要包括語義角色標注、依存句法關系、核心謂詞特征等,并依據(jù)中文的語法特點對這些特征進行有機整合,得到二元實體對之間的豐富關系特征,最后交由SVM進行訓練和測試。
句法結構描述了句子中的短語結構、依存結構以及功能,通常用句法結構樹來進行表示;句法分析研究如何通過計算機算法得到自然語言句子的句法結構。句法分析在信息檢索、信息抽取、自動問答、機器翻譯等領域都起到重要作用。依存結構是句法分析的一個重要方面,它通過分析語言單位內成分之間的依存關系揭示其句法結構,主張句子中核心謂詞是支配其它成分的中心成分,而其本身卻不受其他任何成分的支配,所有受支配成分都以某種依存關系從屬于支配者[9]。由于句子中的命名實體必定會作為一個短語結構出現(xiàn)在依存結構中,那么這種依存關系也必然會反映出相應實體之間的關系特征,例如,“中國國家主席習近平在人民大會堂舉行儀式,歡迎來華訪問的美國總統(tǒng)奧巴馬?!?,其命名實體識別和句法分析結果如圖1所示。
從中可以看出,本句中共含有3個地名實體、兩個人名實體,其中(“中國”,“習近平”)、(“美國”,“奧巴馬”)這兩組實體對之間存在明顯的定中關系,而“人民大會堂”作為一個完整的地名實體,與其前面的“在”形成介賓關系。
圖1 句法分析示例
另外,對句法分析的結果進行大量實驗后發(fā)現(xiàn),在所有謂詞中,核心謂詞對獲取實體邊界、承接實體關系起著關鍵作用,句子中命名實體與核心謂詞的平均距離和命名實體與普通謂詞的平均距離有明顯差異,在海量語料中后者大約是前者的1.5倍,所以實體與核心謂詞的距離也是實體之間的一種隱含的關系特征。仍以圖1中的句子為例,句法分析結果指出句子的核心謂詞是“舉行”,非核心謂語有“歡迎”“來華”“訪問”,經(jīng)計算,各實體與核心謂詞的平均距離是5,實體與非核心謂詞的平均距離是7。
基于上述發(fā)現(xiàn),本文考慮將句法分析結果的依存句法關系和核心謂詞,作為實體關系中的句法特征進行考量。
語義角色標注以句中的謂詞為支點,分析并標注各短語結構在句子中的語義成分,例如,施事、受事、附加語等,它是語義分析中的一種形式,在信息抽取、自動問答、自動摘要等方面已經(jīng)發(fā)揮了重要的支撐作用[10]。中文語義角色標注經(jīng)過幾年的研究,已經(jīng)逐漸成熟,目前的標注方法其F傎最高可達91%[11]。與在句法分析中的成分類似,命名實體在語義角色標注結果中也隱含著一些特征。例如,“俄羅斯外長拉夫羅夫與美國國務卿克里在法國巴黎舉行會談。”其語義角色標注結果如圖2所示。
圖2 語義角色標注示例
圖2中間的矩形框內為命名實體識別結果,下方的圓角矩形框內為語義角色標注結果。本句共含兩大類5個命名實體;圍繞核心謂詞“舉行”,其語義角色標注結果有3部分組成: A0為施事部分,A1為受事部分,LOC為表示地點的附加部分。從此圖可以直觀看到,(“俄羅斯”,“拉夫羅夫”)和(“美國”,“克里”)這兩個實體對在語義上是主語,實體“法國巴黎”是狀語,作為受事部分的A1中無命名實體。總結來看,命名實體的類型和實體對的組合往往隱性地指示了它在語義角色標注結果中的位置和作用,而這些位置與作用也從一定程度上反映了實體之間的內存語義關系。
SVM是一種可用于分類和回歸問題的、較為復雜的機器學習算法模型,曾被評為機器學習領域10大經(jīng)典算法之一[12]。雖然其實現(xiàn)過程十分復雜,但可以用簡單的線性分類過程來描述其基本原理。
設給定的訓練數(shù)據(jù)集為:T={(x1,y1),(x2,y2),…,(xn,yn)},其中xi為特征向量,yi為所屬類別的標簽,(xi,yi)為一個樣本點。SVM的目標是在特征空間中找到一個分離超平面,能夠將各樣本特征劃分到不同的類別中。對于簡單的線性可分問題,其分離超平面函數(shù)可假設為wx+b=0(w為法向量,b為截距),可用(w,b)來表示,這就是支持向量??梢韵胂?,符合這樣條件的超平面可能會有多個,也即存在多組(w,b)數(shù)據(jù),需要繼續(xù)從中找出能夠使間隔最大的一組(w,b)作為最終結果,這時分離超平面就可以唯一確定下來。對于特征十分復雜、線性不可分的問題,則需要在此基礎上引入核函數(shù)的概念來確定分離超曲面,該核函數(shù)應該能夠將高維的特征數(shù)據(jù)映射到低維空間,從而降低計算的復雜度,常用的核函數(shù)有多項式核函數(shù)、高斯核函數(shù)、神經(jīng)網(wǎng)絡核函數(shù)、RBF核函數(shù)等[13]。
SVM訓練過程本質上為凸優(yōu)化問題,可以利用已知的有效算法發(fā)現(xiàn)目標函數(shù)的全局最小值,這與基于貪心算法來獲取局部最小解的方法有本質不同,所以SVM分類效果通常都會優(yōu)于傳統(tǒng)的算法,曾被稱為“現(xiàn)成”的分類器[12]。但是最基本的SVM算法只能用于二類分類問題,而且分類過程較慢,所以自從SVM算法被提出以后,根據(jù)不同的研究與應用方向,又出現(xiàn)了許多基于SVM的優(yōu)化算法,例如,SMO、C-SVM、v-SVM等[14-16],這些方法使SVM學習的過程更迅速,效果也有明顯提升。
本方法利用哈爾濱工業(yè)大學LTP-Cloud平臺對語料進行初步處理。LTP-Cloud是由哈爾濱工業(yè)大學社會計算與信息檢索研究中心研發(fā)的云端自然語言處理服務平臺。后端依托于歷時10年形成的語言技術平臺,語言云為用戶提供了包括分詞、詞性標注、依存句法分析、命名實體識別、語義角色標注在內的豐富高效的自然語言處理服務[17]。
本方法以LTP-Cloud對語料的詞法、句法分析結果為基礎,生成二元實體對,并采集所有實體對的既定特征數(shù)據(jù)從而生成訓練文本,并交由SVM進行訓練。具體的過程如圖3所示。
圖中虛線框內的模塊為本方法的核心內容,也體現(xiàn)了本文的創(chuàng)新點。由于LTP-Cloud以單個句子為分析對象,處理結果只是帶有多種標注信息的特定格式的數(shù)據(jù),所以需要在此基礎上獲取句子中包含的所有命名實體,為了能夠讓機器較為全面地學習到實體間各種可能的關系,這里將句子中所有實體兩兩組合,生成實體對;如果句子中只有一個實體,或無實體,則說明此句中不存在實體關系,需要忽略此句;接著,根據(jù)已經(jīng)組成的實體對,選擇各種實體關系的特征。
圖3 基于句法語義特征與SVM的實體關系抽取方法過程
常規(guī)的實體關系特征主要從詞法分析結果來獲取,以往的研究已經(jīng)表明了這些特征的有效性[18]。面向句子中所有實體組成的二元實體對,本文選擇的基本實體關系特征有:
1. 實體長度。根據(jù)命名實體結果的標識信息中,獲取多詞實體的邊界,并根據(jù)其首尾詞的位置來計算實體長度。
2. 實體種類。目前LTP-Cloud能夠識別的實體種類有人名、地名、組織機構名。
3. 實體內容。這里采用詞袋機制將實體內容由字符轉換為數(shù)字。
4. 實體中各詞的詞性標注。
5. 實體的上下文環(huán)境。包括實體前后兩個詞的內容以及詞性標注信息。
3.3 句法語義特征
本方法對LTP-Cloud的處理結果進行再加工,可以得到更多的句法語義特征。
1. 句法依存關系。將獲取實體對中每一個實體在原句中所屬的句法依存關系值。
2. 實體與核心謂詞的距離。根據(jù)實體首詞在句中的位置和核心謂詞的位置,計算出每一個實體與核心謂詞的距離。
3. 語義角色標注。LTP-Cloud的初步結果中包含了針對所有謂詞的語義角色標注結果,但是只有基于核心謂詞的語義角色標注的覆蓋度是最廣的,所以這里也僅選擇基于核心謂詞的語義角色標注結果作為這一特征來源,獲取實體對中每一個實體所屬的語義角色成分,將其作為實體關系的一種特征。
每組實體對的實際特征個數(shù)會隨著實體長度的不同而不同;這些特征之間的相對位置并不是任意的,需要根據(jù)一定的規(guī)律合理安排,例如,將實體的全局特征放到前面,實體局部特征放到后面,這樣做便于機器的學習,提高精確度。
預設了4種實體關系種類: 人名實體與組織機構實體之間的雇傭關系(employ)、組織機構實體與地名實體之間的位于關系(locate)、屬于同一種實體類型的同類關系(sameType)和無關系(no-Relation)。由于本文亦將實體關系抽取過程看作是分類的過程,所以這里的評價方式也采用常規(guī)的準確率、召回率和F1值。針對某一具體關系類型的抽取結果,其評價公式為:
因為分類標注問題不同于信息檢索問題,所以應計算所有實體關系種類的準確率和召回率的平均值,以此作為整體抽取結果的準確率和召回率,并由此得出整體F1值。
本方法用1998年1月份的《人民日報》所有版面內容作為語料,共含有4萬多個中文句子。由于LTP-Cloud需要以句子為基本處理對象,所以還需采用基于規(guī)則的方法將語料內容進行分句。將上述語料通過LTP-Cloud處理后,可得到含有約8.5萬個唯一實體的處理結果,由此可得到約3.6億個二元實體對,將其中的80%作為訓練語料,20%作為測試語料,進一步分析出實體對中句法語義特征數(shù)據(jù),并人工添加實體關系分類標注,最終形成訓練語料。采用libSVM作為輔助工具,在SVM的訓練過程中,選擇RBF作為核函數(shù),采用交叉驗證法,得到最優(yōu)參數(shù)c=2.0,g=0.5,CV rate=73.190 5。實驗程序采用Python語言編寫實現(xiàn)。獲取實體關系特征步驟的核心算法如下:
for eachSentence in sentenceList
call LTP-Cloud to process eachSentence using GET method
get the length of each namd-entity, and add this property to the first word of each entity
create an empty tempNeList, waiting to save all named-entities in eachSentence by order
create an empty tempV, waiting to save the key verb’s properties of eachSentence
for each node in eachSentence
fill the Bags for the properties of words, ne, pos, SRL, relative etc.
save the correct node into tempNeList
save the node of key verb into tempV
for eachNode in tempNeList
find the boundary of named-entities and save a whole named-entities into neList as a node
if the length of neList is less than 2
ignore eachSentence
else
for firstIndex in range(0,len(neList)-1)
for secondIndex in range(0+1,len(neList))
create named-entitied pair
form the features of neList[first]within current named-entitied pair
form the features of nelist[second]within current named-entitied pair
combine the 2 feature sets to form the features of eachSentence
save the features of eachSentence into a certain file
為了分析本方法所選特征集與以往方法所選特征集在關系抽取中的效果差異,這里根據(jù)不同的特征集進行了對比實驗。第一組實驗選取3.2節(jié)所述的基本特征,第二組實驗在第一組所選特征的基礎上加入了3.3節(jié)所述的句法語義特征。兩組實驗的具體結果統(tǒng)計如表1所示。
表1 對比實驗結果統(tǒng)計
從上述結果可以看出,第二組實驗在加入更多的句法語義特征后,實體關系抽取的效果明顯優(yōu)于第一組實驗。其中位于關系、同類關系和無關系這三種關系抽取效果的提高更為明顯,這說明本方法新增特征是有效的。
另外,文獻[7]所提出的中文實體關系抽取方法是中文實體關系抽取領域較為經(jīng)典的方法之一,將本文第二組實驗結果與文獻[7]的研究結果進行了比較,可以看出,除準確率下降了0.19%外,本文所述方法的召回率和F1值分別提升了2.93%和1.31%,具體見圖4。
圖4 實驗結果對比圖
分析上述結果不難發(fā)現(xiàn),本文所述方法與以往方法相比,由于選擇了句法語義特征,其實驗整體表現(xiàn)有一定的優(yōu)勢,這說明上述所選特征是有效的。但是其中也存在一個明顯的問題,從局部來看,部分實體關系抽取的效果相對較差,例如,人名實體與組織機構實體之間的雇傭關系。在實體對中,并不是只要存在一個人名實體與一個組織機構實體,就應認定他們之間存在雇傭關系,例如,“新華社記者張宿堂報道: 國務院總理李鵬……”句中的實體對(新華社,張宿堂)、(國務院,李鵬)之間應該都屬于雇傭關系,但對于實體對(新華社,李鵬)、(國務院,張宿堂),很明顯不應屬于雇傭關系,但是后兩個實體對與前兩個實體對的特征基本類似,只是在句中的位置、具體的詞不同,所以這就容易導致分類錯誤。
本文提出了一種基于句法語義特征的實體關系抽取方法,與以往的實體關系抽取方法相比,本文新增了句法分析結果和語義分析結果作為為實體關系的特征,實驗結果表明此方法效果明顯。本方法僅考慮了人名、地名、組織機構名這三類實體,實體間的關系也僅選擇了雇傭關系、位于關系、同類關系和無關系四種,有待進一步擴展;另外,本方法以句子為處理單位,缺少篇章處理的視野,未考慮實體的指代消解問題,未來將在上述方面繼續(xù)做深入研究。
[1] Kushmerick, N, Weld, D, and Doorenbos, R. Wrapper induction for information extraction[C]//Proceedings of Fifteenth International Joint Conference on Artificial Intelligence. Nagoya, Japan:1997: 729-737.
[2] D Zelenko, C Aone, A Richardella. Kernel methods for relation extraction[J]. The Journal of Machine Learning Research, 2003(3): 1083-1106.
[3] Philippe Thomas, Mariana Neves, Illés Solt. Relation Extraction for Drug-Drug Interactions using Ensemble Learning[C]//Proceedings of Drug-Drug Interaction Extraction, Huelva, Spain: 2011: 11-18.
[4] Mihai Surdeanu, Julie Tibshirani, Ramesh Nallapati, et al. Multi-instance Multi-label Learning for Relation Extraction [C]//Proceedings of Conference on Empirical Methods in Natural Language Processing and Natural Language Learn ing. Jeju Island, Korea: 2012:455-465.
[5] Haiguang Li, Gongqing Wu, Xuegang Hu, et al. A relation extraction method of Chinese named entities based on location and semantic features[J]. Applied Intelligence, 2013, 38(1): 1-15.
[6] 何婷婷,徐超,李晶,等. 基于種子自擴展的命名實體關系抽取方法[J]. 計算機工程, 2006,32(31): 183-184, 193
[7] 徐芬, 王挺, 陳火旺. 基于SVM方法的中文實體關系抽取[C]//第九屆全國計算語言學學術會議, 中國,大連,2007: 497-502.
[8] 陳鵬,郭劍毅,余正濤,等. 基于凸組合核函數(shù)的中文領域實體關系抽取[J]. 中文信息學院, 2013,27(5): 144-148.
[9] 胡寶順, 王大玲,于戈,等. 基于句法結構特征分析及分類技術的答案提取算法[J]. 計算機學報, 2008,31(4): 662-676.
[10] 李業(yè)剛, 孫福振, 李鑒柏,等. 語義角色標注研究綜述[J]. 山東理工大學學報(自然科學版), 2011,25(6): 19-14.
[11] 劉懷軍, 車萬翔, 劉挺. 中文語義角色標注的特征工程[J]. 中文信息學報, 2007,21(1): 79-84.
[12] Peter Harrington. Machine Learning in Action[M]. Connecticut: Manning Publications Co., 2012.
[13] 李航. 統(tǒng)計學習方法[M]. 北京: 清華大學出版社, 2012.
[14] John C Platt. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines[R]. Seattle: Microsoft Research, 2003.
[15] Chih-Chung Chang, Chih-Jen Lin. LIBSVM: A Library for Support Vector Machines[J]. ACM Transactions on Intelligent Systems and Technology, 2011,3(2):1-27.
[16] Xiugang Li, Dominique Lord, Yunlong Zhang, et al. Predicting motor vehicle crashes using Support Vector Machine models[J]. Accident Analysis and Prevention, 2008,40(4): 1611-1618.
[17] 劉一佳. 語言云簡介[DB/OL]. http://www.ltp-cloud.com/intro/, 2014-5-29.
[18] 劉丹丹,彭成, 周國棟,等. 詞匯語義信息對中文實體關系抽取影響的比較[J]. 計算機應用, 2012,32(8): 2238-2244.