彭 敏,姚亞蘭,謝倩倩,高 望
(武漢大學(xué) 計(jì)算機(jī)學(xué)院,湖北 武漢 430072)
目前,知識(shí)庫(kù)在智能問(wèn)答及個(gè)性推薦等人工智能領(lǐng)域應(yīng)用前景廣泛。知識(shí)庫(kù)通常表示成網(wǎng)絡(luò)結(jié)構(gòu),使用三元組(頭實(shí)體,關(guān)系,尾實(shí)體)來(lái)表示知識(shí)。然而,基于網(wǎng)絡(luò)的知識(shí)表示面臨以下挑戰(zhàn): ①計(jì)算效率低。知識(shí)推理時(shí)往往要設(shè)計(jì)專門的圖算法,計(jì)算復(fù)雜度高且拓展性差。②嚴(yán)重的數(shù)據(jù)稀疏。知識(shí)庫(kù)存在一些關(guān)聯(lián)知識(shí)較少的罕見(jiàn)實(shí)體,其語(yǔ)義計(jì)算準(zhǔn)確率極低。基于以上挑戰(zhàn),學(xué)界提出了以深度學(xué)習(xí)為基礎(chǔ)的知識(shí)表示學(xué)習(xí)方法,TransE[1]便是其中應(yīng)用最為廣泛的模型。然而,TransE及其大部分拓展模型僅利用知識(shí)庫(kù)的結(jié)構(gòu)化信息,很難處理好知識(shí)庫(kù)外的新實(shí)體或相關(guān)知識(shí)極少的罕見(jiàn)實(shí)體。
為解決以上問(wèn)題,一些工作[2-4]開(kāi)始引入文本信息來(lái)改善知識(shí)表示,面對(duì)新實(shí)體或罕見(jiàn)實(shí)體,利用文本來(lái)補(bǔ)充其缺失的語(yǔ)義信息,不僅提供了新的表示方法,還能有效緩解數(shù)據(jù)稀疏問(wèn)題。然而,它們?nèi)源嬖谝恍┎蛔悖?①尚未提出聯(lián)合文本和結(jié)構(gòu)化信息的有效方法。許多工作只在單詞的層次或得分函數(shù)上做了對(duì)齊。②未篩選文本信息。例如,實(shí)體描述可能包含實(shí)體在多種情況下的信息,并非對(duì)所有的文本都有用。
針對(duì)已有工作的不足,Xu等提出基于雙向LSTM的聯(lián)合知識(shí)表示模型[5]。該模型利用注意力機(jī)制來(lái)篩選描述文本里的信息,提出了門機(jī)制來(lái)聯(lián)合文本和結(jié)構(gòu)表示,在鏈路預(yù)測(cè)及三元組分類等經(jīng)典任務(wù)里達(dá)到了目前最好的水平。然而,雙向LSTM模型需要輸入上一個(gè)隱藏狀態(tài)和位置來(lái)產(chǎn)生下一個(gè)隱藏狀態(tài),這種固有順序的性質(zhì)使得訓(xùn)練過(guò)程無(wú)法并行化,在處理更長(zhǎng)的序列時(shí),還會(huì)因內(nèi)存限制而制約訓(xùn)練集的跨批次處理[6]。
基于以上問(wèn)題及面臨的挑戰(zhàn),為聯(lián)合文本信息來(lái)緩解知識(shí)庫(kù)稀疏問(wèn)題,準(zhǔn)確捕捉文本中最相關(guān)的語(yǔ)義,同時(shí)考慮到卷積核可并行化及高效計(jì)算的優(yōu)勢(shì),本文提出了基于帶注意力機(jī)制CNN的聯(lián)合知識(shí)表示模型JA-CNN。首先,本文提出了基于CNN的文本編碼器,并設(shè)計(jì)了專門的注意力機(jī)制來(lái)選擇描述文本中與情景最相關(guān)的語(yǔ)義信息;其次,本文采用TransE模型來(lái)編碼知識(shí)庫(kù)的結(jié)構(gòu)化信息;最后,本文引入門機(jī)制來(lái)控制多源信息傳遞到聯(lián)合表示的權(quán)重,形成最終的表示。此外,本文還提出了基于JA-CNN的改進(jìn)模型JPA-CNN。該模型嘗試在輸入端引入位置向量,使編碼器也具備捕捉句子詞位置信息的能力。鏈路預(yù)測(cè)及三元組分類任務(wù)的實(shí)驗(yàn)表明,本文的模型能顯著改善知識(shí)庫(kù)稀疏問(wèn)題,各項(xiàng)指標(biāo)與最先進(jìn)的方法相比都有很強(qiáng)的競(jìng)爭(zhēng)性,尤其在關(guān)系分類任務(wù)下有明顯優(yōu)勢(shì)。
本文的主要貢獻(xiàn):
① 本文提出了聯(lián)合實(shí)體描述和結(jié)構(gòu)化信息的聯(lián)合知識(shí)表示模型JA-CNN。該模型設(shè)計(jì)專門的注意力機(jī)制來(lái)捕捉描述文本中的最相關(guān)信息,幫助提高實(shí)體表示的區(qū)分度。
② 本文提出了基于JA-CNN的拓展模型JPA-CNN。該模型引入位置向量,使CNN能捕捉描述句子中的位置信息。
③ 實(shí)驗(yàn)結(jié)果表明,本文的模型與目前最好的模型性能相近,還擁有可并行化及高效計(jì)算的優(yōu)勢(shì)。
近年來(lái),知識(shí)表示學(xué)習(xí)在知識(shí)獲取、融合及推理等多種任務(wù)里均表現(xiàn)優(yōu)異,一度成為研究熱點(diǎn)。
Bordes等提出非結(jié)構(gòu)化模型(unstructured model)[7],該模型假設(shè)頭、尾實(shí)體向量相似,在得分函數(shù)里將關(guān)系向量設(shè)置為零,因此無(wú)法區(qū)分不同關(guān)系。Bordes等提出結(jié)構(gòu)化模型(structured embedding, SE)[8],該模型假定頭、尾實(shí)體向量只在相關(guān)關(guān)系的語(yǔ)義空間內(nèi)相似。此外,Bordes等提出語(yǔ)義匹配能量模型(semantic matching energy, SME)[9],利用投影矩陣表示實(shí)體與關(guān)系,根據(jù)得分函數(shù)分為線性形式(linear)和雙線性形式(Bilinear)。之后,Bordes等提出TransE模型[1],該模型簡(jiǎn)單、高效、易拓展,逐漸成為最受關(guān)注的知識(shí)表示模型。
TransE模型將關(guān)系表示為從頭實(shí)體到尾實(shí)體的平移向量,旨在將知識(shí)庫(kù)中的實(shí)體和關(guān)系投影到同一個(gè)低維向量空間。Wang等提出TransH模型[10],將關(guān)系建模為超平面,并將頭、尾實(shí)體投影到關(guān)系特定的超平面,解決了TransE的實(shí)體在不同關(guān)系下無(wú)法有不同表示的問(wèn)題。Lin等提出TransR模型[11],在不同語(yǔ)義空間內(nèi)表示實(shí)體和關(guān)系,并將實(shí)體投影到對(duì)應(yīng)的關(guān)系空間。Lin等進(jìn)一步提出了CTransR模型[11],利用聚類劃分關(guān)系,為每個(gè)關(guān)系分別學(xué)習(xí)表示向量。Ji等提出TransD模型[12],利用投影矩陣將頭實(shí)體和尾實(shí)體分別投影到關(guān)系空間,解決了TransR參數(shù)過(guò)多的問(wèn)題。Ji等還提出TranSparse模型[13],將TransR模型中的稠密矩陣換成稀疏矩陣,頭、尾實(shí)體都有投影矩陣,其中矩陣的稀疏度由關(guān)系連接實(shí)體的數(shù)量決定。Xiao等提出TransA模型[14],使用馬氏距離替換得分函數(shù)中的距離。He等提出KG2E模型[15],利用高斯分布來(lái)表示實(shí)體及關(guān)系。Xiao等提出TransG模型[16],使用高斯混合模型表示關(guān)系,使關(guān)系能包含多種語(yǔ)義。
這些工作僅利用知識(shí)庫(kù)的結(jié)構(gòu)信息,未能有效利用與知識(shí)庫(kù)相關(guān)的其他信息,如實(shí)體描述等??紤]到多源信息能緩解數(shù)據(jù)稀疏問(wèn)題,提高知識(shí)表示的區(qū)分度,研究者們開(kāi)始嘗試融合多源信息來(lái)改善知識(shí)表示。
目前,已有許多研究工作使用文本信息來(lái)改善知識(shí)表示。
Socher等提出NTN模型[17],使用實(shí)體名稱的詞向量平均值來(lái)表示實(shí)體。Wang等通過(guò)對(duì)齊實(shí)體名稱和維基百科錨點(diǎn),將知識(shí)和文本投影到同一空間,提高了事實(shí)預(yù)測(cè)的準(zhǔn)確性[2]。Zhong等在Wang等工作的基礎(chǔ)上拓展模型[3],將實(shí)體描述中的知識(shí)和詞匯關(guān)聯(lián)起來(lái)。然而,這兩份工作都在詞級(jí)別上做了對(duì)齊,導(dǎo)致其丟失短語(yǔ)或句子層面的語(yǔ)義信息。Zhang等使用實(shí)體名稱或者實(shí)體描述中詞向量的平均值[18],該方法忽略了句子中的詞序信息。
Xie等提出了DKRL模型[4],利用實(shí)體描述來(lái)表示實(shí)體向量。該模型使用連續(xù)詞袋模型和卷積神經(jīng)網(wǎng)絡(luò)來(lái)編碼實(shí)體描述的語(yǔ)義,并將得分函數(shù)分成基于結(jié)構(gòu)和基于描述兩部分。盡管該模型也使用CNN編碼文本信息,但它的CNN只包括卷積層、非線性層和池化層,與本文的CNN結(jié)構(gòu)有一定差別。此外,該方法尚未考慮文本信息的篩選及聯(lián)合兩種表示的有效方式。Xu等提出了基于雙向LSTM的聯(lián)合表示模型[5],利用注意力機(jī)制選擇實(shí)體描述中的相關(guān)文本,同時(shí)設(shè)計(jì)門機(jī)制來(lái)控制結(jié)構(gòu)信息和文本信息的權(quán)重。該方法相比先前的模型性能顯著提高,但雙向LSTM模型的隱狀態(tài)需要按序生成,訓(xùn)練時(shí)無(wú)法并行處理,制約了面對(duì)長(zhǎng)序列的計(jì)算效率。
除了實(shí)體描述外,還有一些工作[19-21]將文本關(guān)系和知識(shí)庫(kù)關(guān)系映射到相同的向量空間并獲得顯著改進(jìn)。
本文的聯(lián)合模型主要分為三部分:基于TransE的結(jié)構(gòu)表示、基于CNN/A-CNN/PA-CNN的文本表示和基于門機(jī)制的多源信息融合。首先,本文利用TransE來(lái)編碼三元組的結(jié)構(gòu)信息;然后設(shè)計(jì)了三種編碼實(shí)體描述的文本編碼器:CNN、引入注意力機(jī)制的A-CNN和在A-CNN的基礎(chǔ)上引入位置信息的PA-CNN;最后利用門機(jī)制決定結(jié)構(gòu)表示和文本表示構(gòu)成聯(lián)合表示的權(quán)重。圖1展示了聯(lián)合知識(shí)表示的整體框架。下面將對(duì)模型的每個(gè)層次的功能進(jìn)行詳細(xì)闡述。
圖1 聯(lián)合知識(shí)表示的整體框架
基于TransE的表示模型在知識(shí)推理、關(guān)系抽取等任務(wù)里表現(xiàn)優(yōu)異,也成為知識(shí)表示的研究熱點(diǎn)。
給定三元組(頭實(shí)體,關(guān)系,尾實(shí)體),將其表示為(h,r,t)。三元組(h,r,t)對(duì)應(yīng)的向量表示為(h,r,t)。TransE旨在將實(shí)體和關(guān)系表示成低維連續(xù)的向量。合法的三元組的向量應(yīng)該滿足公式h+r≈t,錯(cuò)誤的三元組則不滿足。因此,TransE定義了如下得分函數(shù)來(lái)衡量三元組的質(zhì)量,如式(1)所示。
(1)
式(1)即向量h+r和t的L1或L2距離。對(duì)于合理的得分函數(shù),合法三元組的得分要比錯(cuò)誤三元組的得分更低。
目前,大型知識(shí)庫(kù)中的實(shí)體通常都有其對(duì)應(yīng)的實(shí)體描述信息。實(shí)體描述包含實(shí)體在各種情景下的語(yǔ)義信息,有助于改善實(shí)體表示,使其區(qū)分度更強(qiáng),同時(shí)也能緩解數(shù)據(jù)稀疏問(wèn)題。
本文需從不定長(zhǎng)的實(shí)體描述中編碼文本信息??紤]到卷積核能捕捉文本信息的局部特征,擁有可并行化、運(yùn)行速度快等優(yōu)點(diǎn),本文最終選擇基于CNN的文本編碼方式。
2.2.1 基于CNN的文本表示
文本預(yù)處理:本文先去除實(shí)體描述里的標(biāo)點(diǎn)符號(hào),然后使用Word2Vec預(yù)先訓(xùn)練好的詞向量[22]初始化詞序列,以此作為CNN的輸入。
卷積層:卷積層的輸入是預(yù)處理后長(zhǎng)度為n的詞序列x,本文定義為x1:n=x1,x2,…,xn,其中xi∈d表示句子中第i個(gè)詞語(yǔ)的d維詞向量。
對(duì)詞序列x,卷積層選取大小為k的滑動(dòng)窗口內(nèi)的詞序列進(jìn)行卷積操作,輸出特征映射c。詞序列的長(zhǎng)度不固定,本文以詞序列的最大長(zhǎng)度n為標(biāo)準(zhǔn),在所有長(zhǎng)度不符合的詞序列末尾填充零向量,得到定長(zhǎng)輸入。
滑動(dòng)窗口處理的詞序列定義如式(2)所示。
xi:i+k-1=xi,xi+1,…,xi+k-1
(2)
窗口內(nèi)詞序列卷積后輸出的第i個(gè)向量如式(3)所示。
ci=f(w·xi:i+k-1+b)
(3)
其中,w∈k×d是濾波器,b∈是偏置項(xiàng),f是激活函數(shù),本文選取線性整流函數(shù)ReLU作為激活函數(shù)。
卷積的邊界處理(padding)設(shè)置為SAME,即用零填充。卷積層的輸出如式(4)所示。
c=[c1,…,cn]
(4)
池化層:本文采用最大池化,對(duì)每個(gè)窗口內(nèi)的輸入向量選取最大值構(gòu)成新向量。
窗口大小為np的池化層輸出的第i個(gè)向量如式(5)所示。
pi=max(cnp·i,…,cnp·(i+1)-1)
(5)
濾波器的數(shù)量為m,池化層的輸出為p=[p1,…,pm]。
Dropout層的輸出定義如式(6)所示。
*p
(6)
其中,Bernoulli函數(shù)是以概率ρ隨機(jī)生成0或1的向量,用于移除神經(jīng)元。
全連接層:對(duì)輸入進(jìn)行矩陣向量乘積操作得到網(wǎng)絡(luò)的最終輸出向量。
CNN的輸出定義如式(7)所示。
(7)
其中,wo是參數(shù)矩陣,bo是可選偏置。
2.2.2 基于CNN的文本表示
CNN對(duì)整體描述文本進(jìn)行語(yǔ)義編碼,沒(méi)有考慮描述信息包含實(shí)體在多種關(guān)系下的不同語(yǔ)義。這意味著給定三元組后關(guān)系特定,描述里包含的其他關(guān)系的信息會(huì)造成一定干擾。因此,本文基于CNN提出文本編碼器A-CNN,設(shè)計(jì)了相應(yīng)的注意力機(jī)制,通過(guò)三元組的關(guān)系來(lái)捕捉描述中與其最相關(guān)的信息。
對(duì)實(shí)體描述的詞序列x1:n=x1,x2,…,xn,給定關(guān)系r∈d,r拓展一維后得到矩陣d×1,該描述的注意力定義如式(8)所示。
(8)
(9)
2.2.3 基于PA-CNN的文本表示
考慮到CNN編碼文本時(shí)未包括詞的順序特征,可能會(huì)丟失部分語(yǔ)義,本文引入詞的位置編碼作為補(bǔ)充信息。本文基于A-CNN提出了文本編碼器PA-CNN,采用Sukhbaatar等人提出的方法[23]來(lái)編碼位置信息。輸入向量I的第j個(gè)分量Ij由位置向量的分量lj和詞向量的分量xj構(gòu)成。
位置向量lj是一個(gè)列向量,擁有以下結(jié)構(gòu),如式(10)所示。
lkj=(1-j/J)-(k/d)(1-2j/J)
(10)
其中,J是句子中詞的個(gè)數(shù),d是位置向量的維度,k是lj的第k個(gè)分量。這里位置編碼采用和詞向量同樣的維度,方便將兩者相加。
給定長(zhǎng)度為n的詞序列x1:n=(x1,…,xn),其位置向量為l1:n=(l1,…,ln),加入位置信息后編碼器的新輸入為I1:n=(x1+l1,…,xn+ln)。
結(jié)構(gòu)信息和文本描述都提供了實(shí)體的有效信息,本文采用Xu等提出的門機(jī)制[5]將兩種信息源整合成聯(lián)合表示,即將聯(lián)合表示ej當(dāng)作結(jié)構(gòu)表示es和文本表示ed加權(quán)求和的結(jié)果。
聯(lián)合表示ej定義如式(11)所示。
(11)
其中,gs和gd是平衡兩種信息源的門,⊙是元素乘法。
門g定義如式(12)所示。
(12)
類似TransE,聯(lián)合表示的得分函數(shù)定義如式(13)所示。
(13)
其中,ghs,ghd分別是頭實(shí)體的門,gts,gtd分別是尾實(shí)體的門。
與TransE相似,本文也采用最大間隔方法[1]訓(xùn)練模型。本文使用得分函數(shù)fr(h,t)來(lái)評(píng)估三元組的質(zhì)量。合法三元組擁有較低得分,錯(cuò)誤三元組擁有較高得分,則對(duì)應(yīng)的優(yōu)化目標(biāo)函數(shù)如式(14)所示。
(14)
知識(shí)庫(kù)里的三元組都是正樣本,負(fù)樣本需要自行生成。本文采用Wang等提出的方法[10],設(shè)置不同的概率來(lái)替換頭實(shí)體或尾實(shí)體。該方法將關(guān)系按照兩端連接實(shí)體的數(shù)目分為1-1、1-N、N-1和N-N四種,如果是1-N關(guān)系則增大替換頭實(shí)體的機(jī)會(huì),如果是N-1關(guān)系則增大替換尾實(shí)體的機(jī)會(huì)。該方法能降低產(chǎn)生錯(cuò)誤負(fù)樣本的概率。
訓(xùn)練集中的錯(cuò)誤三元組由式(15)產(chǎn)生:
(15)
本文在鏈路預(yù)測(cè)和三元組分類兩個(gè)常規(guī)任務(wù)上評(píng)估模型的性能。
本文使用兩個(gè)最常用的數(shù)據(jù)集,分別是語(yǔ)言知識(shí)庫(kù)WordNet[24]的子集WN18和世界知識(shí)庫(kù)Freebase[25]的子集FB15k。表1展示了數(shù)據(jù)集的相關(guān)屬性。
表1 數(shù)據(jù)集的統(tǒng)計(jì)屬性
對(duì)于FB15k的描述數(shù)據(jù)集,每段描述的平均詞長(zhǎng)為69,最長(zhǎng)描述包含343個(gè)詞。對(duì)于WN18的描述數(shù)據(jù)集,每段描述的平均詞長(zhǎng)為13,最長(zhǎng)描述包含96個(gè)詞。
3.2.1 對(duì)比模型
對(duì)比模型分為三類: ①本文提出的模型:J-CNN、JA-CNN和JPA-CNN; ②僅利用結(jié)構(gòu)信息的知識(shí)表示模型:TransE[1]、Unstructured[7]、SME(linear)[9]、SME(Bilinear)[9]、TransH[10]、TransR[11]、CTransR[11]、TransD[12]和TranSparse[13]; ③引入文本信息的表示模型:CNN+TransE[4]、Jointly(LSTM)[5]和Jointly(A-LSTM)[5]。
3.2.2 參數(shù)設(shè)置
最大間隔γ∈{0.1,1,2,5,10},向量維度d∈{50,100},學(xué)習(xí)率λ∈{0.000001,0.0001,0.01,0.1,1},卷積層的窗口大小k∈{1,2,3,4,5},濾波器的數(shù)量nf∈{16,64,128},Dropout層的丟棄率統(tǒng)一設(shè)置為0.5,不相似性度量L設(shè)置為L(zhǎng)1或L2。為加速收斂,本文使用TransE的結(jié)果來(lái)初始化實(shí)體和關(guān)系的向量。
實(shí)驗(yàn)中,J-CNN、JA-CNN和JPA-CNN共享同一組最優(yōu)參數(shù)。在鏈路預(yù)測(cè)任務(wù)中,模型的最優(yōu)參數(shù)為:γ=2,d=100,λ=0.000 1,k=4,nf=64,L=L1。針對(duì)WN18數(shù)據(jù),模型的最優(yōu)參數(shù)為:γ=5,d=50,λ=0.000 1,k=4,nf=64,L=L1。在三元組分類任務(wù)中,針對(duì)FB15k數(shù)據(jù),模型的最優(yōu)參數(shù)為:γ=1,d=100,λ=0.1,k=1,nf=16,L=L1。針對(duì)WN18數(shù)據(jù),模型的最優(yōu)參數(shù)為:γ=0.1,d=50,λ=0.000 1,k=4,nf=64,L=L1。
本文與Xu等提出的模型[5]在同樣的任務(wù)上使用相同的數(shù)據(jù)集和對(duì)比模型,因此本文直接使用該論文里對(duì)比模型的最優(yōu)結(jié)果進(jìn)行比較。
鏈路預(yù)測(cè)任務(wù)旨在預(yù)測(cè)三元組中缺失的頭實(shí)體或尾實(shí)體。對(duì)每個(gè)合法三元組,本文會(huì)先破壞它的頭或者尾實(shí)體,依次替換成實(shí)體集中的其他實(shí)體,然后計(jì)算被破壞的三元組的得分,對(duì)得分進(jìn)行升序排序,最后記錄三元組的排名。類似TransE,本文采用兩種評(píng)估指標(biāo): ①mean rank:所有合法三元組里實(shí)體排名的平均值; ②hits@10:所有合法三元組里實(shí)體排名小于10的比例。好的表示模型在該任務(wù)下應(yīng)擁有較低的mean rank和較高的hits@10。
評(píng)估設(shè)置分為兩種:“原始”(Raw)和“過(guò)濾”(Filt)。三元組替換了頭或者尾實(shí)體后也可能合法,排序時(shí)這類破壞的三元組可能會(huì)排在合法三元組前面,這并不合理,所以應(yīng)在排序前刪除訓(xùn)練集、測(cè)試集和驗(yàn)證集里這類錯(cuò)誤三元組,該設(shè)置稱為“過(guò)濾”。本文會(huì)展示這兩種設(shè)置的評(píng)估結(jié)果。在數(shù)據(jù)集WN18和FB15k的實(shí)驗(yàn)結(jié)果如表2所示。
表2 鏈路預(yù)測(cè)的結(jié)果
在所有數(shù)據(jù)集上,本文的模型JA-CNN在各項(xiàng)指標(biāo)都與目前最好的模型Jointly(A-LSTM)水平相近,并在mean rank指標(biāo)上達(dá)到目前最好的效果,這表明JA-CNN能有效捕捉文本的語(yǔ)義信息,在融合多源信息方面有一定優(yōu)勢(shì)。
與同樣基于CNN編碼文本的模型CNN+TransE相比,本文提出的三個(gè)模型在所有指標(biāo)上都有明顯提高,可能原因在于:本文選取的CNN結(jié)構(gòu)更適應(yīng)于編碼描述的語(yǔ)義信息;本文引入了門機(jī)制,加強(qiáng)了兩種信息源間的語(yǔ)義聯(lián)系,比單純的加權(quán)效果要更好;本文設(shè)計(jì)的注意力機(jī)制篩選文本的有效信息,增強(qiáng)了實(shí)體表示的區(qū)分度。
與僅利用結(jié)構(gòu)信息里最好的模型TransD相比,本文的模型在mean rank指標(biāo)上取得了大幅度的提升,這表明引入文本信息確實(shí)有效緩解了數(shù)據(jù)稀疏問(wèn)題,但可能會(huì)影響訓(xùn)練過(guò)程中的頻繁實(shí)體,導(dǎo)致hits@10指標(biāo)變差。雖然hits@10比TransD的表現(xiàn)更差,但考慮到本文是基于TransE的改進(jìn)而不是TransD,若基于其他優(yōu)秀的表示模型如TransD等進(jìn)行拓展,應(yīng)該能進(jìn)一步提升模型性能。
本文的三種模型互相對(duì)比,JA-CNN的性能優(yōu)于J-CNN,這表明注意力機(jī)制的引入加強(qiáng)文本表示的語(yǔ)義區(qū)別,進(jìn)一步提高了實(shí)體表示的區(qū)分度。在FB15k數(shù)據(jù)集上,JPA-CNN比JA-CNN表現(xiàn)要遜色許多,這可能是因?yàn)樵谠摂?shù)據(jù)集上句子的長(zhǎng)度長(zhǎng)短分化嚴(yán)重,固定的位置編碼沒(méi)法有效擬合出這種差異,反而在一定程度上成為干擾信息。在WN18數(shù)據(jù)集上,JPA-CNN與JA-CNN效果相近,比在FB15k上表現(xiàn)更好,這可能是因?yàn)樵摂?shù)據(jù)集的句子整體偏短,長(zhǎng)度差異較小,本文的位置編碼更適用于擬合該數(shù)據(jù)集。
為進(jìn)一步展示模型的性能,本文把關(guān)系劃分成1-1、1-N、N-1和N-N四種類型,并比較不同類型關(guān)系下模型在數(shù)據(jù)集FB15k上hits@10(Filt)的結(jié)果。
表3的結(jié)果表明,面對(duì)所有類型的關(guān)系,本文的模型JA-CNN都比對(duì)比模型展現(xiàn)了更好的性能,尤其在N-1和N-N關(guān)系下的頭實(shí)體預(yù)測(cè)以及1-N和N-N的尾實(shí)體預(yù)測(cè)上有明顯的提高,這表明JA-CNN面對(duì)知識(shí)庫(kù)的復(fù)雜關(guān)系時(shí)有一定優(yōu)勢(shì)。
三元組分類旨在判斷給定的三元組是否合法。本文使用FB15k和WN18的數(shù)據(jù)集來(lái)評(píng)估模型的性能。由于數(shù)據(jù)集只有正樣本,本文按照Socher等的方法[17]來(lái)構(gòu)造負(fù)樣本。該方法隨機(jī)替換合法三元組的頭實(shí)體來(lái)構(gòu)成負(fù)樣本,替換的實(shí)體只能從該三元組的關(guān)系對(duì)應(yīng)的實(shí)體集中選擇。該方法使負(fù)例集合里不會(huì)出現(xiàn)明顯的無(wú)關(guān)系三元組,使負(fù)例與正例的語(yǔ)義差別更小,進(jìn)而增加評(píng)估任務(wù)的難度。
表3 關(guān)系分類的結(jié)果
本文使用準(zhǔn)確率作為該任務(wù)的評(píng)估指標(biāo)。任務(wù)先達(dá)到驗(yàn)證集的最大準(zhǔn)確率,獲得每個(gè)關(guān)系r的閾值δr;接著對(duì)測(cè)試集的每個(gè)三元組(h,r,t)計(jì)算得分,若三元組的得分小于δr,會(huì)歸為合法三元組,否則歸為錯(cuò)誤三元組。在FB15k數(shù)據(jù)集上,有部分關(guān)系出現(xiàn)在驗(yàn)證集卻沒(méi)有出現(xiàn)在測(cè)試集中,本文會(huì)采用驗(yàn)證集中出現(xiàn)過(guò)的關(guān)系的閾值的平均值來(lái)補(bǔ)充缺失的閾值。表4展示了三元組分類的結(jié)果。
表4 三元組分類的結(jié)果
結(jié)果表明,本文的聯(lián)合模型相比TransE在三元組分類性能上有大幅度提高,其中,JPA-CNN與最好的模型性能相近,這表明本文的文本編碼方法能有效編碼語(yǔ)義信息,并能很好地融合到實(shí)體表示中,進(jìn)而增強(qiáng)了三元組的語(yǔ)義區(qū)分度。
本文的三種模型相比,JPA-CNN均達(dá)到了最佳性能,這表明引入位置信息后,面對(duì)復(fù)雜關(guān)系能找到更精準(zhǔn)的閾值,同時(shí)增強(qiáng)正負(fù)樣本得分的差距。在FB15k上,JA-CNN比J-CNN效果稍差,但在WN18中,JA-CNN比J-CNN效果更好,這可能是因?yàn)镕B15k數(shù)據(jù)集里描述的句子整體偏長(zhǎng),且關(guān)系的種類遠(yuǎn)大于WN18,本文的注意力機(jī)制在模擬這種語(yǔ)義信息時(shí),一定程度上弱化了三元組得分的差異。
本文提出了基于帶注意力機(jī)制CNN的聯(lián)合知識(shí)表示模型,并通過(guò)引入實(shí)體描述信息來(lái)改善知識(shí)表示。首先,本文提出了基于CNN的文本編碼器;然后,設(shè)計(jì)相應(yīng)的注意力機(jī)制來(lái)篩選與關(guān)系最相關(guān)的文本信息;接著,又引入位置信息拓展該模型;最后,利用門機(jī)制聯(lián)合文本信息和結(jié)構(gòu)信息獲得最終的聯(lián)合表示。實(shí)驗(yàn)證明,本文的模型在鏈路預(yù)測(cè)和三元組分類任務(wù)上與目前最好的模型水平相近,在關(guān)系分類任務(wù)上表現(xiàn)更好,這表明本文的方法能有效融合多源數(shù)據(jù),緩解知識(shí)庫(kù)稀疏問(wèn)題,也為改善實(shí)體表示提供了新思路。
未來(lái),本文將考慮從以下方向來(lái)改進(jìn)模型:
① 本文采用了基于TransE的得分函數(shù),未來(lái)可以考慮基于其他優(yōu)秀的知識(shí)表示模型如TransD等進(jìn)行模型拓展。
② 考慮融合更多其他信息,例如實(shí)體的類別信息。未來(lái)會(huì)嘗試拓展模型來(lái)編碼類別信息,也考慮使用類別作為實(shí)體的約束信息。