陳澤東 趙旭劍 張 暉 楊春明 李 波
(1.西南科技大學計算機科學與技術(shù)學院 四川綿陽 621010;2.西南科技大學理學院 四川綿陽 621010)
互聯(lián)網(wǎng)包含著海量的文本信息,從中大規(guī)模地抽取知識是一項艱巨的挑戰(zhàn)。開放式信息抽取系統(tǒng)(OpenIE)以各種技術(shù)手段從互聯(lián)網(wǎng)中開放式地抽取實體E和實體間的關(guān)系R,并以實體和關(guān)系構(gòu)成的三元組(E1,R,E2)作為知識的表達,為構(gòu)建知識庫和形成知識圖譜提供研究基礎(chǔ)。目前OpenIE技術(shù)已經(jīng)廣泛應(yīng)用于問答系統(tǒng)、信息檢索、知識圖譜等研究領(lǐng)域,成熟的系統(tǒng)包括NELL[1],TextRunner[2],Yago2[3]等。圖1是開放式信息抽取系統(tǒng)的基本框架,利用知識抽取方法從Web等自由文本中抽取三元組關(guān)系作為候選知識,再經(jīng)過進一步整合將候選知識放入知識庫中。
圖1 開放式信息抽取系統(tǒng)的知識抽取框架Fig.1 Framework of open information extraction system
與特定領(lǐng)域的信息抽取方法不同的是,OpenIE系統(tǒng)通常以粗略的種子迭代學習為主要抽取方法,抽取結(jié)果往往存在大量噪聲,主要表現(xiàn)為抽取結(jié)果中的實體關(guān)系違反實體間的語義約束,導(dǎo)致知識表達錯誤。因此,針對OpenIE系統(tǒng)的抽取結(jié)果進行推理驗證,能有效解決知識集合中的噪聲,提高知識表達的語義規(guī)范性和正確性,對于知識庫構(gòu)建和知識圖譜生成具有重要的研究意義和應(yīng)用價值。
針對上述問題,本文首先使用一階邏輯語言對知識抽取結(jié)果進行轉(zhuǎn)化和推理,并且在推理過程中引入本體規(guī)則進行約束,并在此基礎(chǔ)上建立推理規(guī)則的自動學習機制,解除傳統(tǒng)規(guī)則推理對于實體解析規(guī)則的依賴,進而實現(xiàn)對知識的自動推理和驗證。本文的主要工作如下:(1)提出一種基于本體約束的PSL規(guī)則學習方法,通過將本體語義約束引入PSL規(guī)則學習,利用規(guī)則的邏輯運算進行關(guān)聯(lián)規(guī)則的自動推理,提高規(guī)則生成效率,增強規(guī)則的可讀性;(2)建立面向知識庫的標簽核類簇模型,基于該模型提出一種基于關(guān)聯(lián)度的知識推理驗證方法,有效降低知識推理驗證對實體解析規(guī)則的依賴,減少推理規(guī)則數(shù)量,提高推理驗證效率;(3)在NELL官方數(shù)據(jù)集上與馬爾科夫邏輯網(wǎng)、傳統(tǒng)概率軟邏輯模型進行對比實驗,驗證方法的有效性,同時探討不同類型規(guī)則對模型性能的影響,為推理規(guī)則的產(chǎn)生提供新的研究思路。
開放式信息抽取系統(tǒng)的知識推理驗證是當今NLP領(lǐng)域的一個研究熱點。目前針對該問題的主要研究方法是以TransE[4]為主的表示學習方法。該方法受到word2vec[5]的啟發(fā),其直觀描述為將每一個三元組(head,relation,tail)形式的知識向量化表示,然后通過不斷學習使head+relation=tail,從而解決鏈接預(yù)測等問題。TransE是作為知識庫向量化的一個基礎(chǔ)工作,之后的TransH[6],TransR[7],TransD[8]都是以不同的實體關(guān)系問題為背景在TransE基礎(chǔ)上做改進。Trans系列模型在實體關(guān)系的鏈接預(yù)測問題上一直有不錯的表現(xiàn),但是因為此類方法根本上是利用知識庫中已有關(guān)系對向量進行學習,并且無法使用規(guī)則,所以它無法解決實體之間存在錯誤關(guān)系的問題。
Jiang等[9]提出了一種基于馬爾可夫邏輯網(wǎng)(Markov logic network,MLN)[10]的方法。MLN使用帶有權(quán)重的一階邏輯規(guī)則對實體關(guān)系進行建模用于概率推理,這使得規(guī)則的約束力有了一定的靈活性,當某條知識違反了規(guī)則,那么它是正確知識的可能性就會變小而非不可能,換而言之一條知識違反的規(guī)則越少那么它正確的可能性就越大。
Pujara[11]等最先提出了采用概率軟邏輯模型(Probabilistic Soft Logic,PSL)[12]對知識抽取結(jié)果進行推理驗證。PSL是馬爾可夫邏輯網(wǎng)的進一步延伸,其最大優(yōu)點在于可以使實體關(guān)系三元組中實體和關(guān)系在[0,1]區(qū)間內(nèi)取任意值而不是布爾值,實驗結(jié)果表明這種做法使模型的推理性能和推理效果都有明顯提升。然而,目前PSL模型的推理規(guī)則仍為人工構(gòu)建,成本大、效率低,并且規(guī)則數(shù)量和推理方法往往會影響模型的推理結(jié)果,因此,基于傳統(tǒng)PSL模型的知識推理驗證方法對于面向Web的開放式信息抽取系統(tǒng)是不適用的。針對該問題,本文提出一種基于PSL規(guī)則自動生成模型的知識推理驗證方法。我們首先使用一階邏輯語言對知識抽取結(jié)果進行轉(zhuǎn)化和推理,并且在推理過程中引入本體規(guī)則進行約束,在此基礎(chǔ)上建立PSL規(guī)則的自動學習機制,解除傳統(tǒng)PSL推理對于實體解析規(guī)則的依賴,進而實現(xiàn)對知識的自動推理和驗證。
PSL模型采用加權(quán)一階邏輯規(guī)則對知識進行推理,所以首先要對OpenIE系統(tǒng)抽取的知識表達進行邏輯謂詞轉(zhuǎn)化,進而構(gòu)建PSL推理規(guī)則。
概率軟邏輯是由馬里蘭大學和加利福尼亞大學圣克魯斯分校的統(tǒng)計關(guān)系學習組LINQS開發(fā)的機器學習模型。該模型采用帶有權(quán)重的一階邏輯規(guī)則與圖模型相結(jié)合,提供有效的推理機制。與其他機器學習的方法不同,PSL以其可人工制定高可讀性的規(guī)則被用于集體分類、社會信任分析[13]、個性推薦[14]等各個領(lǐng)域并取得了不錯的效果。概率軟邏輯推理規(guī)則由具有權(quán)重的一階邏輯規(guī)則構(gòu)成,例如:
該條PSL規(guī)則表示如果x,y是朋友關(guān)系并且y投票給了z,那么x也會有一定概率投票給z,投票概率用權(quán)重w表示。在該邏輯規(guī)則中,邏輯謂詞friends(x,y)和voteFor(y,z)組成了規(guī)則體,而vote-For(x,z)構(gòu)成規(guī)則頭。邏輯謂詞都有各自的解釋概率,代表某事發(fā)生的可能性。規(guī)則r被滿足的概率φ(r)根據(jù)公式(2)計算得到。
式(2)中Ibody和Ihead分別表示規(guī)則體和規(guī)則頭的概率值,且邏輯符號的數(shù)值運算方式如下:
p和q代表邏輯謂詞,例如公式(1)中的friends(x,y)。PSL對于每個謂詞的概率計算方式如下:
其中:w為規(guī)則的權(quán)重;Z表示規(guī)一化因子;c取值為1或者2,代表兩種不同的損失函數(shù)。
為了使用PSL模型對OpenIE抽取得到的知識進行推理,首先需要對知識進行對應(yīng)的邏輯謂詞轉(zhuǎn)化。在知識庫中知識主要以實體-關(guān)系(E1,R,E2)和實體-標簽(E,L)兩種形式存在。實體-關(guān)系謂詞和實體-標簽謂詞分別表示為Relation(E1,E2,R)和Label(E,L),具體如表1所示。
表1 實體-關(guān)系謂詞和實體-標簽謂詞轉(zhuǎn)換實例Table 1 Examples of entity-relational predicate and entity-label predicate transformation
從2.1對于PSL模型的描述中可以看出,規(guī)則的質(zhì)量和規(guī)則對應(yīng)的權(quán)重會極大程度影響推理的結(jié)果。然而,PSL規(guī)則的獲取是完全獨立于PSL模型的。傳統(tǒng)的PSL模型規(guī)則生成一般依賴于專家方法,專家制定規(guī)則的優(yōu)勢在于規(guī)則的質(zhì)量高,但是數(shù)量有限且效率較低,對于復(fù)雜場景下的知識推理存在明顯不足。張嘉等[15]嘗試使用C 5.0算法,通過半自動學習生成PSL規(guī)則。然而,通過C 5.0生成的規(guī)則可讀性不高,這與PSL旨在建立可理解的機器學習模型的初衷相違背。因此,本文根據(jù)不同的本體約束關(guān)系分別構(gòu)建PSL規(guī)則自動學習方法,提高規(guī)則生產(chǎn)的效率和可讀性??紤]到知識庫中主要以實體-關(guān)系和實體-標簽為知識構(gòu)成的主要形式,我們主要通過外部語料庫等一系列方法自動獲取了Inverse,Mutual Independence,Range,Domain和Subordination等本體約束關(guān)系,并結(jié)合實體-關(guān)系謂詞和實體-標簽謂詞學習PSL規(guī)則自動生成,如表2所示。經(jīng)過實驗驗證,自動獲取的規(guī)則也同樣得到了很好的推理效果。
表2 基于本體約束與邏輯謂詞的PSL規(guī)則生成Table 2 PSL rules based on ontology constraints and logical predicates
表中Inverse類規(guī)則所表達的含義是當兩種關(guān)系R1和R2屬于可逆類型的時候,并且E1對于E2存在關(guān)系R1,那么對于E2存在對應(yīng)于E1的關(guān)系R2。比如老師和學生就屬于一對Inverse關(guān)系,這條本體規(guī)則主要用于補全實體之間的相互關(guān)系。Mutual Independence(Mut),其主要表達的含義是在封閉世界假定[14]前提下,如果兩個關(guān)系R1和R2互相獨立,且E1和E2擁有關(guān)系R1,那么他們之間就不存在關(guān)系R2,該類規(guī)則主要用于驗證關(guān)系的正確性。
另外,本體約束Range在規(guī)則中表示:如果實體E1和E2具有關(guān)系R,那么E2具有標簽L。比如Range(首都,城市),對應(yīng)的實例可以是如果美國的首都是紐約E2,那么E2紐約的標簽就是城市,Domain剛好與其相反。這兩種規(guī)則的主要作用是將關(guān)系的推理驗證和標簽的驗證連接起來,使整個推理驗證過程不再是實體和關(guān)系分別獨立的驗證,并且使推理可以相互作用。
對象間的Subordination約束反映不同對象之間的上下位關(guān)系限制,這類本體約束規(guī)則在本文中用于關(guān)系補全和驗證。目前,上下位獲取的方法主要有兩類:一類是基于模板匹配的方法[16-17],主要利用語言學和自然語言處理技術(shù),通過詞法分析和句法分析獲取上下位關(guān)系模式,然后利用模式匹配獲取上下位關(guān)系;另一類是基于外部語料庫的方法[18],主要基于語料庫和統(tǒng)計語言模型,通過聚類計算概念間語義相似度來獲取上下位關(guān)系。但是知識庫中不存在上下位這種語義環(huán)境,因此本文采用WordNet[19]作為Subordination標簽和關(guān)系的外部依賴獲取本體關(guān)系。
實體解析[20]在傳統(tǒng)PSL推理中具有重要作用,因此,PSL推理驗證方法對于實體解析依賴較強。然而,通過相似度度量對OpenIE系統(tǒng)富含噪聲的抽取結(jié)果進行實體解析往往效果較差,甚至影響模型的推理性能。因此,本文建立面向知識庫的標簽核類簇模型,基于該模型提出一種基于關(guān)聯(lián)度的知識推理驗證方法,有效降低知識推理驗證對實體解析規(guī)則的依賴,減少推理規(guī)則數(shù)量,提高推理驗證效率。
針對具有語義錯誤的知識抽取結(jié)果,本文首先通過建立標簽核類簇模型,從抽取結(jié)果中快速發(fā)現(xiàn)知識的標簽核類簇,并根據(jù)標簽核類簇中實體與實體的關(guān)聯(lián)關(guān)系,檢測具有語義沖突的知識對象。
定義1 標簽核類簇C[L,E(e1,e2,…,em),R(r1,r2,…,rn)]:表示以標簽L為核心的實體集合E(e1,e2,…,em)具有同一個標簽L,同時,標簽核類簇C中實體與實體之間的關(guān)聯(lián)關(guān)系用關(guān)系集合R(r1,r2,…,rn)表示。圖2包含兩個標簽核類簇,其中城市與湖人隊分別為標簽核,它們有各自的類簇結(jié)構(gòu)。
圖2 標簽核類簇定義Fig.2 Definition of label cluster
定義2 知識沖突:存在實體e及標簽核類簇C[L,E(e1,e2,…,em),R(r1,r2,…,rn)],如果實體e與實體集合E(e1,e2,…,em)的關(guān)聯(lián)關(guān)系數(shù)小于閾值θ,則實體e與標簽L存在知識沖突。
本文通過遍歷所有與目標實體e連接的標簽核類簇集合S(C1,C2,…,Cn),選取其中與實體e具有最大關(guān)聯(lián)關(guān)系的標簽核類簇為候選核類簇,將其與實體e的關(guān)聯(lián)關(guān)系數(shù)量取值為閾值θ。
如圖3所示,實體“馬努”存在于兩個標簽核類簇中,即標簽核類簇-馬刺隊和標簽核類簇-城市。然而,由于實體“馬努”與標簽核類簇-城市中實體的關(guān)聯(lián)關(guān)系數(shù)為0,小于其與標簽核類簇-馬刺隊的關(guān)聯(lián)關(guān)系數(shù),即閾值θ,所以可判斷實體“馬努”與標簽“城市”存在知識沖突。
圖3 標簽核類簇中的知識沖突Fig.3 Mistakes in label cluster
為了證明定義2具有普適性,本文對抽取結(jié)果中存在知識沖突的實體進行了關(guān)聯(lián)統(tǒng)計。為體現(xiàn)出圖中點的分布性,圖中的關(guān)聯(lián)系數(shù)取值為目標實體與各標簽核類簇的關(guān)聯(lián)關(guān)系數(shù)加上[0,1)中的一個隨機值。
從圖4可以看出,存在知識沖突的實體與正確的標簽核類簇的關(guān)聯(lián)系數(shù)往往大于錯誤的標簽核類簇關(guān)聯(lián)系數(shù)。此外,根據(jù)統(tǒng)計結(jié)果可以發(fā)現(xiàn):能夠與目標實體構(gòu)成正確的實體-標簽關(guān)系的標簽核類簇,與目標實體具有最豐富的關(guān)聯(lián)關(guān)系。
圖4 存在知識沖突的實體與各標簽核類簇關(guān)聯(lián)系數(shù)的統(tǒng)計Fig.4 Statistics of association between mistaken entity labels and label cluster
根據(jù)對抽取結(jié)果中標簽核類簇的定義和知識沖突的定義,本文提出一種知識推理驗證方案,基本思想如圖5所示。
不難看出,圖5實例中實體的別稱存在錯誤的標簽,將導(dǎo)致知識表示與推理不正確。針對該問題,我們首先通過本體約束規(guī)則推理實體與標簽的語義關(guān)系;其次,利用知識沖突檢測模型發(fā)現(xiàn)錯誤的實體-標簽候選關(guān)系,最后通過基于關(guān)聯(lián)度的知識推理驗證方法完成對知識表達的推理與驗證。算法1具體描述了基于關(guān)聯(lián)度的知識推理驗證方法,最終通過推理得出具有最豐富關(guān)聯(lián)關(guān)系的核類簇為目標實體的正確標簽核類簇。
圖5 知識推理驗證基本思想Fig.5 Process of knowledge inference and verification
算法1基于關(guān)聯(lián)度的知識推理驗證算法
算法描述:首先對于與目標實體e有關(guān)聯(lián)的標簽核類簇集S,依次對其中的實體進行遍歷。當標簽核類簇中的實體e與目標實體關(guān)系服從規(guī)則O,則計數(shù)器自加1,并且更新相對閾值θ代表與目標實體最大的關(guān)聯(lián)度。最終目標實體屬于最大關(guān)聯(lián)度θ對應(yīng)的標簽核,之后利用其他本體規(guī)則補全目標實體在標簽核中的關(guān)系。
本文基于開放式信息抽取系統(tǒng)NELL進行算法性能評測,實驗分為4個任務(wù):第一個任務(wù)主要評測實體-標簽型知識的推理驗證結(jié)果;第二個任務(wù)主要評測實體-關(guān)系型知識的推理驗證結(jié)果;第三個任務(wù)對實驗結(jié)果進行綜合評價與分析;第四個任務(wù)主要探究不同類型規(guī)則對推理模型性能的影響。實驗流程如圖6所示。
圖6 實驗流程圖Fig.6 Flow chart of experiment
本文采用與參考文獻[9,11]相同的數(shù)據(jù)集進行實驗。數(shù)據(jù)集來自NELL系統(tǒng)第165次抽取結(jié)果,包含13類知識表達,共計10 000條數(shù)據(jù)。取其中5 000條作為訓(xùn)練數(shù)據(jù),另外5 000作為測試數(shù)據(jù)。數(shù)據(jù)集所包含的知識關(guān)系類型以及本體約束關(guān)系如表3與表4所示。
表3 知識關(guān)系類型統(tǒng)計結(jié)果Table 3 Statistical results of knowledge relation types
表4 本體約束關(guān)系統(tǒng)計結(jié)果Table 4 Statistical results of ontology constraints
本文采用召回率、準確率、F1等評價指標作為實驗的評測標準。
表5 評價指標Table 5 Evaluation methods
首先對實體-標簽型知識的推理驗證效果進行了比較分析。如圖7所示,本文主要選取了其中6類標簽做結(jié)果展示。其中NELL系統(tǒng)對自己的抽取結(jié)果做了一次測評,將其作為基準系統(tǒng)。此外,對比了MLN模型與傳統(tǒng)PSL模型。不難看出,本文方法較3種對比方法在整體實驗性能上更具優(yōu)勢。相對于MLN模型,本文方法在所有的標簽上的驗證效果整體提升了31.64%,說明對邏輯謂詞采用連續(xù)值的軟約束對于推理效果有很大提升。與PSL方法相比,本文方法整體提高了11.95%,其主要原因是基于關(guān)聯(lián)度的推理方法在處理標簽關(guān)系問題上有非常明顯的優(yōu)勢。
圖7 實體-標簽型知識的推理驗證結(jié)果Fig.7 Inference and verification results of entity-label relations
對實體-關(guān)系型知識也做了比較實驗,主要選取了5種不同類別的實體-關(guān)系進行實驗,結(jié)果如圖8所示。其中NELL的抽取結(jié)果最差,MLN實現(xiàn)了初步的知識推理驗證,對于不同的標簽類型它的驗證效果差異比較大。本文方法與普通的基于實體解析的PSL方法的推理驗證效果較優(yōu)。與此同時,本文模型對于不同類型的實體-關(guān)系型知識的推理性能最為穩(wěn)定。
圖8 實體-關(guān)系型知識的推理驗證結(jié)果Fig.8 Inference and verification results of entity-relational knowledge
最后,給出了對于實體-標簽、實體-關(guān)系的綜合評價結(jié)果,如表6所示。本文方法較傳統(tǒng)PSL方法略差一點,主要原因是PSL模型中制定了一部分高質(zhì)量的實體解析規(guī)則,這部分規(guī)則在推理驗證中起了很重要的作用。但是,本文推理模型較傳統(tǒng)的PSL模型節(jié)省了32條與實體解析相關(guān)的規(guī)則,使本文模型的推理速度得到了顯著提升,并且驗證結(jié)果也在比較理想的范圍內(nèi)。圖9展示了算法的時間復(fù)雜度分析結(jié)果,不難看出,本文算法具有更高的推理效率。
圖9 5 000條實例的推理耗時分析結(jié)果Fig.9 Inference time-consuming analysis results of 5 000 examples
表6 實體-標簽型知識和實體-關(guān)系型知識綜合實驗結(jié)果Table 6 Experimental results of entity-label knowledge and entity-relational knowledge
針對不同類型的推理規(guī)則,我們對20次迭代計算結(jié)果的精確度進行實驗分析,結(jié)果如圖10所示。其中,No Entity Resolution表示去掉與實體解析相關(guān)的規(guī)則,No Ontology表示去掉本體約束規(guī)則。不難看出,本文提出的方法即使不包含實體解析的相關(guān)規(guī)則也能取得比較好的推理驗證效果。而PSL則不一樣,去掉了實體解析的PSL模型由于實體的語義相似性約束不會在推理過程中發(fā)揮作用,導(dǎo)致其效果較差,進而說明了本文算法較基于傳統(tǒng)PSL模型的推理方法具有更小的規(guī)則依賴成本。此外,實驗結(jié)果表明無論是PSL還是本文模型都對本體約束規(guī)則較為敏感,說明本體約束規(guī)則在知識庫推理驗證工作中具有重要的作用。
圖10 不同的推理規(guī)則約束下的實驗分析結(jié)果Fig.10 Inference results for different PSL rules
開放式知識的推理驗證是將知識納入知識圖譜中的重要工作基礎(chǔ),概率軟邏輯模型在知識驗證中的效果雖然很好,但是其需要人工構(gòu)建規(guī)則,而且推理過程過于依賴實體解析,并且因此而增加的推理規(guī)則也會降低推理效率。本文提出了一種規(guī)則自動學習的知識推理模型驗證方法,實現(xiàn)了規(guī)則自動學習,降低了推理驗證的復(fù)雜度,提高了知識推理驗證的效率。
在今后的工作中我們會進一步探究新的更具普適性的推理規(guī)則自動學習方法。另外我們還考慮將本體約束引入到Trans系列模型中,進一步研究新的推理模型在知識推理驗證方面的方法與應(yīng)用。