付 林,劉 釗,邱 晨,4,高 峰,4
(1.武漢科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065;2.湖北省智能信息處理與實(shí)時工業(yè)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,武漢 430065;3.武漢科技大學(xué)大數(shù)據(jù)科學(xué)與工程研究院,武漢 430065;4.國家新聞出版署富媒體數(shù)字出版內(nèi)容組織與知識服務(wù)重點(diǎn)實(shí)驗(yàn)室,北京 100083)
近年來,隨著知識圖譜的發(fā)展與完善,基于知識圖譜的問答系統(tǒng)成為當(dāng)前的一個研究熱點(diǎn)[1-3]?;谥R圖譜的問答通常也稱為知識庫問答(Knowledge Base Question Answering,KBQA)[4],允許用戶從知識庫中直接獲取自然語言問題的答案。KBQA 中的一個重要方向是語義解析(Semantic Parsing,SP),是指將自然語言問題轉(zhuǎn)換成邏輯形式的查詢?;谡Z義解析的問答系統(tǒng)包括3 個子任務(wù)[5]:實(shí)體鏈接,是指從自然語言問題中識別出實(shí)體提及并將其正確鏈接到知識庫中對應(yīng)的實(shí)體上;關(guān)系鏈接,是指從自然語言問題中抽取出關(guān)系關(guān)鍵字并將其映射到知識庫中對應(yīng)的關(guān)系上;查詢構(gòu)建,將實(shí)體鏈接和關(guān)系鏈接的結(jié)果相結(jié)合構(gòu)建結(jié)構(gòu)化查詢語句,例如:SPARQL 查詢語句最后執(zhí)行查詢語句,得到問題的答案。
現(xiàn)有的實(shí)體鏈接和關(guān)系鏈接工作存在以下問題:傳統(tǒng)的實(shí)體鏈接和關(guān)系鏈接作為獨(dú)立的任務(wù)執(zhí)行,使得實(shí)體鏈接不能從關(guān)系鏈接中獲得的信息中收益,關(guān)系鏈接也無法從實(shí)體鏈接中獲得有益信息,忽略了兩者鏈接中產(chǎn)生的信息間的相互影響,為充分利用兩者鏈接過程中的信息,DUBEY 等[6]提出EARL 模型進(jìn)行聯(lián)合實(shí)體關(guān)系鏈接,該模型雖在鏈接精度上有所提升,但在處理疑問詞上存在限制;目前的實(shí)體鏈接和關(guān)系鏈接過程忽略了問題本身帶來的信息,通常只關(guān)注識別出來的關(guān)鍵詞,未能充分考慮問題的整體信息,YU 等[7]利用神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)問題的整體信息,將問題表示信息引入鏈接過程,文中將實(shí)體鏈接和關(guān)系檢測作為依賴的順序任務(wù)執(zhí)行,并未充分考慮候選實(shí)體和候選關(guān)系的內(nèi)在聯(lián)系;KBQA 系統(tǒng)中的實(shí)體鏈接和關(guān)系鏈接方法在簡單問題上表現(xiàn)效果較好,在包含多個關(guān)系詞的復(fù)雜問題上就顯得難以應(yīng)對[8],但由于信息量的劇增,人們對于多關(guān)系問題的問答需求量也急劇上升。
針對上述問題,本文提出一個基于神經(jīng)網(wǎng)絡(luò)的利用特征聯(lián)合和多注意力的聯(lián)合實(shí)體關(guān)系鏈接方法。首先將實(shí)體鏈接和關(guān)系鏈接聯(lián)合起來在同一階段執(zhí)行,并加入由實(shí)體-關(guān)系對信息組成的特征序列來聯(lián)合表示實(shí)體詞以及關(guān)系詞,強(qiáng)化實(shí)體和關(guān)系之間的內(nèi)在聯(lián)系,提高鏈接精度。然后利用神經(jīng)網(wǎng)絡(luò)模型對問題、實(shí)體詞以及關(guān)系詞進(jìn)行編碼表示學(xué)習(xí),充分挖掘深層語義信息,并添加多個注意力獲取實(shí)體詞和關(guān)系詞在問題中的權(quán)重信息,加強(qiáng)相關(guān)候選詞在問題中的特征表示以促進(jìn)鏈接過程。
知識圖譜問答旨在通過外部的知識庫回答自然語言問題。早期的KBQA 工作關(guān)注于簡單問題。近年來,研究人員在回答復(fù)雜問題上的關(guān)注度逐漸提高[9-10]。復(fù)雜問題一般涉及多跳推理、約束關(guān)系、數(shù)值運(yùn)算等[8]。通常來講,復(fù)雜問題中包含不止一個實(shí)體詞和關(guān)系詞,當(dāng)問題中存在多個實(shí)體詞和關(guān)系詞時,將問題中的實(shí)體詞和關(guān)系詞鏈接到知識庫中對應(yīng)的實(shí)體和關(guān)系上會變得困難[11]?;谏鲜鰡栴},實(shí)體鏈接和關(guān)系鏈接作為基于語義解析的KBQA 系統(tǒng)的兩大子任務(wù)被提出。
實(shí)體鏈接包括命名實(shí)體識別和消歧,指從自然語言問題中識別出實(shí)體提及并將其正確鏈接到知識庫中對應(yīng)的實(shí)體上。DBpedia Spotlight[12]基于實(shí)體的矢量空間表示,計(jì)算候選實(shí)體集與實(shí)體提及的余弦相似性。HOFFART 等[13]和HAN 等[14]都是先構(gòu)建mention-entity圖,前者使用密度子圖算法進(jìn)行實(shí)體鏈接消歧,而后者使用隨機(jī)游走算法計(jì)算實(shí)體鏈接概率。Babelfy[15]使用隨機(jī)游走算法和高一致性語義解釋的最密集子圖啟發(fā)式算法將實(shí)體鏈接和詞義歧義消除聯(lián)合執(zhí)行。FOX[16]基于集成學(xué)習(xí)的思想進(jìn)行命名實(shí)體識別。然而,將這些算法應(yīng)用到短文本實(shí)體鏈接時,性能會降低。考慮到自然語言問題簡短性的特點(diǎn),TagMe[17]基于維基百科知識,首先識別非結(jié)構(gòu)化文本中已命名的實(shí)體并將其鏈接至Wikipedia中,然后使用頁面數(shù)據(jù)集消除歧義。隨著詞嵌入在知識圖上的迅速流行,一些研究開始將嵌入算法用于實(shí)體鏈接。YAMADA 等[18]使用知識圖譜模型和錨框上下文模型擴(kuò)展跳躍式模型,構(gòu)建一個新穎的詞嵌入方式,將單詞和實(shí)體嵌入到相同的向量空間中計(jì)算相似性。NTEE[19]將文本的分布式表示和知識庫中的實(shí)體進(jìn)行聯(lián)合學(xué)習(xí),能較為容易地預(yù)測出文本中的實(shí)體。關(guān)系鏈接研究如何將問題中的關(guān)系詞與知識圖譜中的關(guān)系候選詞進(jìn)行匹配并消歧。SINGH等[20]提出基于語義類型關(guān)系模式的關(guān)系鏈接(SIBKB),檢索PATTY[21]庫擴(kuò)充關(guān)系短語,基于動態(tài)索引計(jì)算關(guān)系詞和知識庫中謂詞的語義相似性,排序候選關(guān)系。隨著深度學(xué)習(xí)的發(fā)展,MULANG 等[22]將神經(jīng)網(wǎng)絡(luò)模型用于關(guān)系鏈接,對知識庫屬性及其底層短語建模,檢索出整個知識圖譜中的所有屬性,形成一個屬性池,計(jì)算屬性池中的每一個謂詞和問題中關(guān)系候選詞的相似性,從而對候選詞進(jìn)行排序。YU 等[7]通過殘差學(xué)習(xí)來提升層次RNN 網(wǎng)絡(luò)的性能,進(jìn)而進(jìn)行關(guān)系檢測排序候選關(guān)系。以上方法均將實(shí)體鏈接和關(guān)系鏈接作為獨(dú)立的任務(wù)完成,忽略了問題中實(shí)體詞和關(guān)系詞的內(nèi)在聯(lián)系。
DUBEY 等[6]提出的EARL模型以及SAROR等[23]提出的Falcon 模型將實(shí)體鏈接和關(guān)系鏈接聯(lián)合執(zhí)行,實(shí)現(xiàn)聯(lián)合實(shí)體關(guān)系鏈接。EARL 模型提出了兩種不同的解決方案:1)將聯(lián)合鏈接任務(wù)看作是廣義旅行商問題(GTSP)的一個實(shí)例,且由于GTSP 是一個NP 難問題,文中采用近似算法求解;2)采用機(jī)器學(xué)習(xí)的方法學(xué)習(xí)知識圖譜中節(jié)點(diǎn)的鏈接密度,并依賴3 個特征進(jìn)行重新排名來預(yù)測知識圖譜中的實(shí)體和關(guān)系。該模型雖在復(fù)雜問題上的性能優(yōu)于現(xiàn)有方法,但在處理疑問詞上存在限制。Falcon 模型使用輕量級語言學(xué)方法實(shí)現(xiàn)聯(lián)合鏈接來擴(kuò)展知識圖,并利用英語形態(tài)學(xué)的幾種基本原則來排序候選集。該模型由于引入了拓展知識圖,在召回率上表現(xiàn)出色,但該模型忽略了問題本身帶來的深層語義信息對鏈接 過程的 影響。ZAFAR 等[24]的MDP-Parser 模型通過基于強(qiáng)化學(xué)習(xí)的遠(yuǎn)距離監(jiān)督學(xué)習(xí)框架來學(xué)習(xí)問題中的實(shí)體提及以及關(guān)系提及,提出一種更加準(zhǔn)確的問題淺層解析方法。由于其更關(guān)注問題解析過程,在實(shí)體鏈接和關(guān)系鏈接上采取語義相似性和字符相似性的方法來進(jìn)行消歧,但同樣忽略了問題本身帶來的深層語義信息對鏈接過程的影響。
本文提出一個基于神經(jīng)網(wǎng)絡(luò)的利用特征聯(lián)合和多注意力的聯(lián)合實(shí)體關(guān)系鏈接方法。該方法主要包含以下2 點(diǎn):1)針對實(shí)體鏈接和關(guān)系鏈接作為獨(dú)立的任務(wù)執(zhí)行存在的問題,將實(shí)體鏈接和關(guān)系鏈接在同一階段執(zhí)行聯(lián)合實(shí)體關(guān)系鏈接,強(qiáng)化實(shí)體和關(guān)系之間的內(nèi)在聯(lián)系,提高鏈接的精度;2)對于多關(guān)系復(fù)雜問題,運(yùn)用深度學(xué)習(xí)的方法,采用神經(jīng)網(wǎng)絡(luò)模型將問題、實(shí)體詞以及關(guān)系詞轉(zhuǎn)換成低維語義向量進(jìn)行表示學(xué)習(xí),加強(qiáng)相關(guān)候選詞在問題中的特征表示促進(jìn)鏈接的過程。
為了提高實(shí)體鏈接和關(guān)系鏈接的精度,充分利用問題中實(shí)體詞和關(guān)系詞之間的聯(lián)系,本文提出了一個基于實(shí)體-關(guān)系對信息的聯(lián)合實(shí)體關(guān)系鏈接方法。本文方法框架如圖1 所示,主要包含候選集生成模塊和聯(lián)合實(shí)體關(guān)系鏈接模塊兩個部分。以“where was the producer of Sherlock born”為例,通過候選集生成模塊可得到實(shí)體候選詞“Sherlock_(TV_series)”以及關(guān)候選詞“producer”和“birthPlace”,將實(shí)體候選詞和關(guān)系候選詞組合起來得到的實(shí)體-關(guān)系對信息“Sherlock_(TV_series)#producer#birthPlace”與實(shí)體候選詞以及關(guān)系候選詞一并加入模型中進(jìn)行訓(xùn)練,獲取實(shí)體與關(guān)系的內(nèi)在聯(lián)系信息,最終鏈接到可信度較高的實(shí)體和關(guān)系。
圖1 聯(lián)合實(shí)體關(guān)系鏈接框架Fig.1 Framework of joint entity relation linking
給定一個自然語言問題,候選集生成模塊包括關(guān)鍵詞提取、實(shí)體/關(guān)系預(yù)測以及候選元素生成。
關(guān)鍵詞提取:指從自然語言問題中提取出表示實(shí)體和關(guān)系的詞語。常用的關(guān)鍵詞提取工具是SENNA[25],它利用詞向量來處理自然語言問題。例:where was the producer of Sherlock born,可用工具SENNA 提取到關(guān)鍵詞“producer”、“Sherlock”、“born”。
實(shí)體/關(guān)系預(yù)測:指識別關(guān)鍵詞中哪些是實(shí)體類型,哪些是關(guān)系類型。本文運(yùn)用EARL[6]中的預(yù)訓(xùn)練模型來訓(xùn)練數(shù)據(jù)。模型的思路是使用知識圖譜中的實(shí)體標(biāo)簽和關(guān)系標(biāo)簽來訓(xùn)練關(guān)鍵詞,并采用硬參數(shù)共享的多任務(wù)學(xué)習(xí)方法處理OOV[26](Out-of-Vocabulary)單詞以及編碼網(wǎng)絡(luò)模型中的知識圖結(jié)構(gòu),從而提高該模型的泛化能力,減小參數(shù)大小。模型中自定義的損失函數(shù)如式(1)所示:
其中:εBCE表示某短語作為實(shí)體或關(guān)系的學(xué)習(xí)目標(biāo)的二進(jìn)制交叉熵?fù)p失;εED表示某短語的預(yù)測詞嵌入和正確詞嵌入之間的平方歐式距離;α是一個常量,通常設(shè)置為0.25。經(jīng)預(yù)測模型可得:“Sherlock”為實(shí)體類型,“producer”和“born”為關(guān)系類型。
候選元素生成:對每一個識別出來的實(shí)體詞和關(guān)系詞都生成一個候選列表。本文采用ElasticSearch[27]索引字典來創(chuàng)建<元素,標(biāo)簽>索引,通過計(jì)算實(shí)體詞或關(guān)系詞和標(biāo)簽之間的余弦距離來表示兩者之間的相似性。計(jì)算方法如式(2)所示:
其中:x表示實(shí)體詞或關(guān)系詞;y表示元素的標(biāo)簽。為相似性設(shè)置一個閾值M,大于M的所有元素都會被當(dāng)作實(shí)體詞或關(guān)系詞的候選元素。
例:where was the producer of Sherlock born,經(jīng)過上述步驟后可得到3 個候選元素列表,如圖2 所示。
圖2 候選元素列表Fig.2 Lists of candidate elements
在KBQA 系統(tǒng)中,實(shí)體鏈接和關(guān)系鏈接作為獨(dú)立的任務(wù)執(zhí)行。這樣的執(zhí)行方式使得實(shí)體鏈接不能從關(guān)系鏈接中獲得的信息中收益,關(guān)系鏈接也無法從實(shí)體鏈接中獲得有益信息,這在短文本自然語言問答中是不利于實(shí)體關(guān)系消歧的。基于上述問題,本文提出了聯(lián)合實(shí)體關(guān)系鏈接的方法。
聯(lián)合實(shí)體關(guān)系鏈接方法將實(shí)體鏈接和關(guān)系鏈接聯(lián)合起來執(zhí)行,充分考慮實(shí)體和關(guān)系的內(nèi)在聯(lián)系。通過神經(jīng)網(wǎng)絡(luò)模型以及注意力機(jī)制來訓(xùn)練模型,以此來學(xué)習(xí)問題與候選集的深層語義信息,從而選擇實(shí)體與關(guān)系的最佳組合。如圖3 所示,聯(lián)合實(shí)體關(guān)系鏈接模塊包括候選集表示、問題表示以及候選排序。
圖3 基于特征聯(lián)合及多注意力的實(shí)體關(guān)系鏈接框架Fig.3 Framework of entity and relation linking based on feature jointly and multi-attention
2.2.1 候選集表示
候選集表示將候選集中的元素映射到低維語義空間中進(jìn)行語義表示,包括:關(guān)系表示,實(shí)體表示以及實(shí)體-關(guān)系對表示。通過這3 種表示可分別得到關(guān)系序列、實(shí)體序列以及特征序列。
關(guān)系表示是利用神經(jīng)網(wǎng)絡(luò)模型將關(guān)系候選詞轉(zhuǎn)換成低維語義向量,最終得到關(guān)系序列。將關(guān)系候選詞分別從關(guān)系級別和單詞級別輸入詞嵌入矩陣,獲取其詞向量表示,再通過一個雙向LSTM 網(wǎng)絡(luò)層,對結(jié)果執(zhí)行最大池化操作,提取關(guān)系候選詞的全局特征。
例:where was the producer of Sherlock born,經(jīng)過候選集生成階段得到關(guān)系候選詞“producer”和“birthPlace”。對于關(guān)系候選詞“producer”,其單詞級別和關(guān)系級別的表示均為“producer”,而對于關(guān)系候選詞“birthPlace”,在單詞級別上可以表示為“birth”和“place”,在關(guān)系級別仍表示為“birthPlace”。將上述單詞通過一個詞嵌入矩陣輸入雙向LSTM 網(wǎng)絡(luò)層,再通過最大池化層得到關(guān)系序列ri(i?{1,2}),其中,r1表示候選關(guān)系r中的第1 個關(guān)系,r2表示候選關(guān)系r中的第2 個關(guān)系。
實(shí)體表示同樣是利用神經(jīng)網(wǎng)絡(luò)模型將實(shí)體候選詞轉(zhuǎn)換成低維語義向量,最終得到實(shí)體序列。與關(guān)系表示不同的是,實(shí)體表示只是在單詞級別上進(jìn)行低維語義空間的嵌入。
例:where was the producer of Sherlock born,經(jīng)過候選集生成階段得到實(shí)體候選詞“Sherlock_(TV_series)”,將其通過詞嵌入矩陣得到向量表示。再將向量依次通過雙向LSTM 網(wǎng)絡(luò)層以及最大池化層得到實(shí)體序列e。
實(shí)體-關(guān)系對表示是將實(shí)體候選詞與關(guān)系候選詞組成的實(shí)體-關(guān)系對從單詞級別輸入詞嵌入矩陣,得到向量表示,再通過一個雙向LSTM 網(wǎng)絡(luò)層,對輸出結(jié)果執(zhí)行最大池化操作,提取實(shí)體與關(guān)系聯(lián)合表示的特征序列。
對于候選詞“Sherlock_(TV_series)”、“producer”和“birthPlace”,它們在單詞級別上的表示分別為“Sherlock_(TV_series)”、“producer”、“birth”、“place”。將它們通過一個詞嵌入矩陣輸入雙向LSTM 網(wǎng)絡(luò)層,再通過最大池化層得到實(shí)體與關(guān)系聯(lián)合表示的特征序列f。
2.2.2 問題表示
問題表示是利用神經(jīng)網(wǎng)絡(luò)模型對問題進(jìn)行編碼得到深層語義向量,進(jìn)而獲取問題中的每個單詞在整個句子中所占的比重來表示問題的整體特征。同時,由于問題中每個單詞的關(guān)注點(diǎn)不同,單詞在實(shí)體候選集或者關(guān)系候選集中出現(xiàn)的次數(shù)越多,其被關(guān)注的程度就越高,故而在問題表示中添加注意力機(jī)制來加強(qiáng)問題與實(shí)體詞和關(guān)系詞的匹配程度。融入不同注意力的問題表示分別如圖4~圖6 所示。圖4~圖6 的處理流程相同,區(qū)別在于融入不同的序列來表示問題,便于后文計(jì)算各自的相似度。
圖4 融入關(guān)系序列的問題表示框架Fig.4 Framework of representation pattern incorporating relation sequence
圖5 融入實(shí)體序列的問題表示框架Fig.5 Framework of question representation incorporating entity sequence
圖6 融入特征序列的問題表示框架Fig.6 Framework of question representation incorporating feature sequence
問題q的表示形式為x={x1,x2,…,xL},其中:L表示問題q中單詞的個數(shù);xi表示問題q中第i個單詞的位置。將q中的每個單詞通過詞嵌入矩陣獲得向量表示w={w1,w2,…,wL}。將w輸入雙向LSTM網(wǎng)絡(luò)層,得到其隱 藏層表 示hi=[h1,h2,…,hL],i?[1,L],其 中hi?,dhe表示隱藏層的維度。
此外,考慮到每個候選詞在問題q中占據(jù)不同的權(quán)重且決定著問題如何被表示,故而在問題表示中添加注意力機(jī)制來加強(qiáng)問題與候選詞的匹配層度。注意力的程度體現(xiàn)在問句中每個單詞的權(quán)重上,因此,融入了不同注意力的問題表示。
1)將候選集表示中的關(guān)系序列融入問題表示中。對于關(guān)系的第i個部分ri,問題表示的計(jì)算公式如下:
其中:i?{1,2};pi指融入關(guān)系序列的問題表示;aij指在關(guān)系部分ri關(guān)注下問題中第j個單詞的注意力權(quán)重,假設(shè)ri的維數(shù)為m;hj的維數(shù)為n,則W?Rc×(m+n)和V?R1×c分別是需要學(xué)習(xí)的參數(shù)(c為超參數(shù));b為恒定參數(shù)。
2)將候選集表示中的實(shí)體序列融入問題表示中。對于實(shí)體部分e,問題表示的計(jì)算公式如下:
其中:pe指融入實(shí)體序列的問題表示;aj指在實(shí)體部分e關(guān)注下問題中第j個單詞的注意力權(quán)重,假設(shè)e的維數(shù)為m,hj的維數(shù)為n,則W?Rc×(m+n)和V?R1×c分別是需要學(xué)習(xí)的參數(shù)(c為超參數(shù));b為恒定參數(shù)。
3)將候選集表示中的實(shí)體-關(guān)系對組成的特征序列融入問題表示中。對于實(shí)體部分e,關(guān)系部分ri,i?{1,2},問題表示的計(jì)算公式如下:
其中:pf指融入實(shí)體-關(guān)系對組成的特征序列的問題表示;a(f)j指在特征序列f關(guān)注問題中第j個單詞的注意力權(quán)重,假設(shè)f的維數(shù)為m,hj的維數(shù)為n,則W?Rc×(m+n)和V?R1×c分別是需要學(xué)習(xí)的參數(shù)(c為超參數(shù));b為恒定參數(shù)。
2.2.3 候選排序
將問題通過神經(jīng)網(wǎng)絡(luò)模型得到融入不同注意力的問題表示,然后結(jié)合問題表示從這些實(shí)體候選集和關(guān)系候選集中篩選出最適合的一組候選詞作為結(jié)果返回。本文引入兩種特征分?jǐn)?shù)的計(jì)算結(jié)果來表示候選序列與問題表示之間的相似性:一種是聯(lián)合的特征分?jǐn)?shù);另一種是獨(dú)立的特征分?jǐn)?shù)。聯(lián)合的特征分?jǐn)?shù)計(jì)算實(shí)體-關(guān)系對組成的特征序列與融入了特征序列的問題表示之間的相似性分?jǐn)?shù);獨(dú)立的特征分?jǐn)?shù)計(jì)算實(shí)體(或關(guān)系)序列與融入了實(shí)體(或關(guān)系)序列的問題表示之間的相似性分?jǐn)?shù)。
對于融入特征序列的問題表示,問題表示與特征序列的相似性計(jì)算公式如下:
其中:?表示問題表示與特征序列之間的點(diǎn)積;S(P,f)表示問題表示與特征序列之間的相似性分?jǐn)?shù),采用sigmoid 函數(shù)將相似性分?jǐn)?shù)映射到[0,1]之間。
在問題表示與特征序列的相似性分?jǐn)?shù)下,關(guān)系鏈接計(jì)算公式如下:
其中:?表示問題表示與關(guān)系序列之間的點(diǎn)積;S(P,r)表示問題表示與候選關(guān)系之間的相似性分?jǐn)?shù);α和β是模型中訓(xùn)練的超參數(shù)。采用argmax 函數(shù)對結(jié)果求參數(shù),最后得到關(guān)系Ssr。
在問題表示與特征序列的相似性分?jǐn)?shù)下,實(shí)體鏈接計(jì)算公式如下:
其中:?表示問題表示與實(shí)體序列之間的點(diǎn)積;S(P,e)表示問題表示與候選實(shí)體之間的相似性分?jǐn)?shù);α′和β′是模型中訓(xùn)練的超參數(shù)。采用argmax 函數(shù)對結(jié)果求參數(shù),最后得到實(shí)體Sse。
上述模型經(jīng)過排序損失訓(xùn)練來最大化候選集中正向?qū)嵗拓?fù)向?qū)嵗谋壤?。具體損失函數(shù)計(jì)算公式如下:
其中:Q表示問題集;E表示候選實(shí)體集;R表示候選關(guān)系集;γ設(shè)置為0.1。
實(shí)驗(yàn)采用兩個標(biāo)準(zhǔn)的數(shù)據(jù)集LC-QuAD[28]和QALD-7[29]。LC-QuAD數(shù)據(jù)集中包含4 000個訓(xùn)練問題和1 000 個測試問題,QALD-7 數(shù)據(jù)集中包含215 個訓(xùn)練問題和50 個測試問題。LC-QuAD 數(shù)據(jù)集中大約有80%的復(fù)雜問題(此處復(fù)雜問題指問題中包含不止一個關(guān)系詞),QALD-7 中復(fù)雜問題約占42%。
本文實(shí)驗(yàn)分別從兩個數(shù)據(jù)集的訓(xùn)練集中提取問題、實(shí)體、關(guān)系以及實(shí)體-關(guān)系對作為訓(xùn)練數(shù)據(jù),測試問題中提取的信息作為測試數(shù)據(jù)來驗(yàn)證本文提出的聯(lián)合鏈接方法的有效性。
本文實(shí)驗(yàn)的實(shí)驗(yàn)參數(shù)為關(guān)系候選詞、實(shí)體候選詞以及問題的最大輸入長度在單詞級別均設(shè)置為30,其中關(guān)系候選詞在關(guān)系級別的輸入長度設(shè)置為10,單詞的詞嵌入維度w為300,詞向量在經(jīng)過Bi-LSTM 層的輸出維度d為200,最大池化層的窗口大小設(shè)置為400,實(shí)體、關(guān)系、問題的dropout 均為0.5,epoch 設(shè)置為10。嵌入層的詞向量矩陣EW作為網(wǎng)絡(luò)模型的參數(shù),隨整個模型一起訓(xùn)練更新。對于EW的初始化,本文實(shí)驗(yàn)使用預(yù)訓(xùn)練的詞向量GloVe[30]初始化。在訓(xùn)練過程中,當(dāng)驗(yàn)證數(shù)據(jù)集上的損失值在經(jīng)過3 個epoch 沒有下降時,說明模型性能沒有提升,學(xué)習(xí)遇到瓶頸,此時學(xué)習(xí)率減小的動作會被觸發(fā),模型重新進(jìn)行訓(xùn)練。
本文將近年來表現(xiàn)較好的實(shí)體鏈接和關(guān)系鏈接模型與本文方法進(jìn)行了對比實(shí)驗(yàn)。其中最近的模型為文獻(xiàn)[24]于2020 年提出的MDP-Parser 模型。本文選取MDP-Parser 模型中的評價(jià)標(biāo)準(zhǔn)作為對比參考,即選取實(shí)驗(yàn)中的精度(Accuracy)作為指標(biāo)。
實(shí)體鏈接在兩個標(biāo)準(zhǔn)數(shù)據(jù)集上的對比結(jié)果如表1所示。本文方法在LC-QuAD數(shù)據(jù)集上的精度值比MDPParser 模型提高了7 個百分點(diǎn),在QALD-7 數(shù)據(jù)集上的精度值比MDP-Parser 模型提高了5 個百分點(diǎn)。由此可見,本文實(shí)體鏈接方法比MDP-Parser 模型具有更好的表現(xiàn)。
表1 實(shí)體鏈接在兩個標(biāo)準(zhǔn)數(shù)據(jù)集上的精度對比結(jié)果Table 1 Comparison result of accuracy of entity linking on two benchmark datasets
關(guān)系鏈接在兩個標(biāo)準(zhǔn)數(shù)據(jù)集上的對比結(jié)果如表2所示,其中N/A 表示不適用。本文方法在LC-QuAD 數(shù)據(jù)集上的精度值比MDP-Parser模型提高了1個百分點(diǎn),在QALD-7 數(shù)據(jù)集上的精度值比MDP-Parser模型提高了17 個百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,僅依賴于語義相似性或者圖算法不能獲得更好的表現(xiàn)結(jié)果。
表2 關(guān)系鏈接在兩個標(biāo)準(zhǔn)數(shù)據(jù)集上的精度對比結(jié)果Table 2 Comparison result of accuracy of relation linking on two benchmark datasets
LC-QuAD 數(shù)據(jù)集中約有80%的問題包含不止一個關(guān)系詞,而QALD-7數(shù)據(jù)集中這樣的問題大約占42%。對于關(guān)系鏈接來講,QALD-7 數(shù)據(jù)集的問題中包含單個實(shí)體-關(guān)系對的問題數(shù)量較多,則更符合知識圖譜中單個三元組的結(jié)構(gòu)。在加入實(shí)體-關(guān)系對聯(lián)合表示的特征序列進(jìn)行向量表示學(xué)習(xí)時,實(shí)體與關(guān)系之間的聯(lián)系更加緊密,且由于QALD-7 數(shù)據(jù)集中簡單問題較多,更能提取到正確的關(guān)系提及,從而使得獲取包含正確關(guān)系的關(guān)系候選集的概率增大,即本文方法在QALD-7數(shù)據(jù)集上的精度提升較大。
本文分別在兩個數(shù)據(jù)集上通過消融實(shí)驗(yàn)來驗(yàn)證本文所添加的實(shí)體-關(guān)系對信息組成的特征序列對于實(shí)體鏈接和關(guān)系鏈接的有效性。如表3 所示,在實(shí)體鏈接中,當(dāng)加入特征序列后,與不加特征序列相比精度明顯提升,且在兩個數(shù)據(jù)集上的結(jié)果優(yōu)于SOTA 方法。由于在實(shí)體鏈接的相似性分?jǐn)?shù)計(jì)算上加入了實(shí)體-關(guān)系對信息組成的特征序列與問題表示的相似性分?jǐn)?shù),因此可將實(shí)體詞與關(guān)系詞的內(nèi)在聯(lián)系中所包含的信息加入實(shí)體鏈接過程,提升實(shí)體鏈接的精度。如表4 所示,在關(guān)系鏈接的相似性計(jì)算過程中加入特征序列,可將實(shí)體-關(guān)系對中的內(nèi)在聯(lián)系信息加入關(guān)系鏈接過程,提升關(guān)系鏈接的精度。消融實(shí)驗(yàn)結(jié)果表明,在自然語言問題中,實(shí)體詞和關(guān)系詞之間存在聯(lián)系以及相互促進(jìn)的作用。
表3 特征序列在實(shí)體鏈接上的消融實(shí)驗(yàn)對比結(jié)果Table 3 Comparison result of ablation experiments of feature sequence on entity linking
表4 特征序列在關(guān)系鏈接上的消融實(shí)驗(yàn)對比結(jié)果Table 4 Comparison result of ablation experiments of feature sequence on relation linking
本文通過分析發(fā)現(xiàn),不能正確執(zhí)行鏈接的原因主要有以下3 點(diǎn):
1)當(dāng)問題中的實(shí)體提及包含多個單詞時,在提取關(guān)鍵詞時不能得到完整的實(shí)體提及。例:What woman acted in the mating habits of earthbound humans and is often associated with Mams taylor,通常將“Mams taylor”作為一個實(shí)體提及識別出來,mating habits of earthbound humans 應(yīng)當(dāng)作為第2 個實(shí)體提及被提取出來,但由于單詞數(shù)過多,在提取時將其分為“mating habits”和“earthbound humans”兩個實(shí)體提及,這會導(dǎo)致實(shí)體候選集選取有誤。
2)當(dāng)問題中的實(shí)體提及是以它的縮寫詞形式或全稱的部分形式出現(xiàn)時,生成相關(guān)的候選元素會變得困難。例:List the Sci-fi TV shows which theme music given by Ron Grainer,句中的“Sci-fi”會指向“Sci-fi”而不是“science fiction”。
3)復(fù)雜問題中關(guān)系的多樣性也是造成錯誤的主要原因。例:What was the language of the single which came before To Know Him Is to Love Him,句中的隱式關(guān)系“before”無法被正確地識別為“previousWork”,從而導(dǎo)致關(guān)系鏈接錯誤。
隨著知識圖譜規(guī)模的日益增大,從知識圖譜中充分挖掘出自然語言問題中的實(shí)體信息和關(guān)系信息有助于提升知識庫問答系統(tǒng)的性能。本文利用深度學(xué)習(xí)的方法將問題、實(shí)體和關(guān)系在低維語義空間中進(jìn)行向量表示學(xué)習(xí),挖掘自然語言問題中的深層語義信息。通過在聯(lián)合實(shí)體關(guān)系鏈接過程中添加實(shí)體-關(guān)系對信息組成的特征序列來聯(lián)合表示實(shí)體詞和關(guān)系詞,強(qiáng)化兩者間的內(nèi)在聯(lián)系,采用添加注意力機(jī)制的方法獲取實(shí)體詞和關(guān)系詞在問題中的權(quán)重信息,以加強(qiáng)實(shí)體詞和關(guān)系詞在問題中的特征表示,從而提高鏈接的精度,改善KBQA 的中間環(huán)節(jié)。在兩個標(biāo)準(zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,與當(dāng)前表現(xiàn)最好的Falcon 模型相比,本文鏈接精度均不低于1%,表明了本文方法的有效性。后續(xù)將加入推理規(guī)則來減少鏈接過程中由于隱式關(guān)系無法識別造成的鏈接錯誤,進(jìn)一步提升本文方法的鏈接精度。