白鑫竹,孟佳娜,許明鑫,齊 鵬,江 烽
(大連民族大學 計算機科學與工程學院,遼寧 大連 116650)
隨著問答系統的出現,用戶獲取想要的知識變得十分便捷。第一個問答系統理論是在1960年代由艾倫麥席森圖靈提出著名的圖靈測試[1]。隨著人工智能的興起而產生巨大更迭,具有代表性的問答系統越來越多,傳統問答系統也面臨新的挑戰。
具有代表性的問答系統包括Baseball、Lunar等系統。Baseball問答系統是最早在實際生活運動領域中發揮作用的系統之一;Lunar系統應用在科研領域,分析月球中礦石成分。兩者都可以解決簡單的問題,缺點是必須使用固定的提問形式,如果問題本質相同但換了一種說法就會導致識別不出來用戶意圖,這些系統靈活性較低,可處理數據匱乏,應用效率低下。1980年計算語言學快速發展,研究重心轉向利用語言學改進固定式問答,提升準確率的同時提高問題多樣化,典型代表系統為UnixConsultant系統[2]。在后續十年里,互聯網的發展及數據量爆炸式增長,出現了基于數據庫檢索匹配的問答系統[1],它從用戶輸入的問題中提取關鍵詞,在文本庫或網頁中搜索匹配文檔。這種方法與以往相比取得更好的效果并降低了成本,但采用的數據來自網頁或文檔中抽取的非結構化數據,數據未能規范化,導致處理效果并不理想。
直到知識圖譜(Knowledge Graph)[3]的出現,填補了傳統問答知識庫[1]結構化程度低,缺乏高質量知識,單一性和局限性的缺陷。將數據整合為一個結構化的系統,優化了數據的質量。智能問答系統也由基于文檔形式的智能問答轉變為基于知識圖譜的智能問答,實現問答結果的多樣化,迎來質的飛躍[4]。健康醫療、政務、金融學、旅游推薦等領域應用多與時間相關,因此產生了較多與時間密切相關的時序數據,具有高度動態的特點,表現出復雜的時間特性。在知識應用過程中,歷史事件必須限定在特定時間才具有參考價值,說明知識存在時效性。傳統方法是面向三元組建模,其相似性評估計算僅涉及實體和關系,缺乏時間維度信息,因此并不適合于動態知識庫的問答。
針對上述問題,本文提出結合圖卷積神經網絡和動態知識圖譜的方法,對時序問題的實體和語義相似關系進行一定程度的區分。本文利用時間一致性信息排除候選三元組中的干擾項,引入時間信息將三元組拓展為四元組表示,提升實體、關系表示學習的質量以及知識推理的準確性。
知識圖譜是智能化信息檢索與知識推理最常用的技術,2012年由谷歌提出并用于智能化語義搜索[5]。當前有代表性的知識圖譜產品包括當DBpedia,YAGO,CN-DBpedia,搜狗知立方等。問答系統[6]是知識圖譜的重要應用方向,輸入問題后能從知識圖譜中快速找到正確的答案,并呈現給用戶。
傳統知識圖譜的研究主要集中在靜態知識圖譜,靜態知識圖譜的事實不會隨著時間的變化而變化,而一些與時間緊密相關的事件的知識,則需要用包含時間信息的動態知識圖譜進行描述。時序知識圖譜是一個多關系有向圖,關系上帶有時間戳信息,Jiang等[6]2016年首次將時間信息編碼到知識圖譜的表示學習中,將時序知識圖譜中帶有時間戳信息的三元組建模為四元組(h,r,t,τ),表示三元組在時間間隔內有效或者在時間點τ時有效,提出了TransE-TAE-ILP模型。時序知識圖譜表示為K={(h,r,t,τ)|h,t∈ε,r∈R,τ∈T},其中ε是實體集合,R是關系,T是時間戳信息集合。TransE-TAE-ILP模型如圖1。

圖1 TransE-TAE-ILP模型圖
相比靜態知識表示,時序知識圖譜引入時間實體和關系的信息編碼表示,捕獲知識圖譜中時間信息和事實的動態性質,能緩解語義相似關系混淆。并將時間信息融入表示學習的過程中,捕獲知識圖譜中的時間一致性信息,減少模型預測的干擾項,利用時間信息輔助時間序列進行預測。
高效準確的答案選擇是知識圖譜問答的研究重點,主流方法是用深度學習模型尋找問答對之間的語義關系,CNN(Convolutional Neural Network)被證明在答案選擇任務中并且取得了不錯的效果[7],隨后LSTM(LongShortTermModel)也被證明對答案選擇任務有較好作用[8]。注意力機制也為豐富句子語義提供了新思路,Zhang[9]等人在混合神經網絡模型的基礎上,將注意力機制引入中文問答選擇并證明可以捕捉更多問答對的有效特征。但是深度學習模型和注意機制的研究思路只考慮挖掘問答文本本身的語義關系,而沒有考慮到聯系外部知識,基于實體嵌入[10]、關系嵌入的方法解決了這個問題。RNN(Recurrent Neural Network)被證明能夠從文本序列和短語角度提取有效語義信息,解決了口語化嚴重的問題[10]。
圖的結構是不規則的,是無限維的一種數據,所以沒有平移不變性。每個節點的周圍結構都是獨一無二的,這種結構的數據使傳統的CNN、RNN失效。而Graph Convolutional Network(GCN)可以基于圖結構從原始節點的特征中提取特征信息,加入GCN能夠從未訓練的節點中提取特征。SpanBERT能夠更好地表示和預測文本的分詞情況,加入SpanBERT能夠融合雙向語言模型,從而學到單詞上下文語義。LSTM在序列建模問題上有一定優勢,具有長時記憶功能。實現起來簡單,解決了長序列訓練過程中存在的梯度消失和梯度爆炸的問題。LSTM能計算時間序列中各個觀測值之間的依賴性,更好地用于預測。
為了充分捕捉時序問答文本語義特征,本文提出SpanBERT-GCN-LSTM答案選擇模型。通過引入外部知識圖譜,強化問答文本中的時序實體關系信息。首先用SpanBERT獲取問題相關KG事實,構建問題相關的KG子圖以及它們之間的相互聯系,采用LSTM編碼歷史,用相關的時間事實來擴充候選圖并傳到下游任務。受GRAFT-Net模型[11]的啟發,用GCN構建節點分類模塊,整體模型架構圖如圖2。

圖2 整體模型架構圖
時間推理是從非結構化或半結構化的文本數據中提取時間信息,構建時序知識圖譜中的時間維度,對輸入到模型的問題簡單處理,包括實體提取和時間信息提取兩個步驟。因為有些問題中的時間信息不可用,所以把這樣的信息刪除掉以免對時序知識圖譜的構建產生影響。時間的表達是多樣的,為防止在時間信息的獲取過程中,直接使用對模型的訓練產生影響,因此使時間信息規范化并分類。再用subject和object替換問題中的重點詞使文本在訓練模型中更通用,動態實體推理模型如圖3。
低維向量ve表示實體e在時間t的特征嵌入。實體的潛在表示根據實體間關系而隨時間變化,基于深度遞歸神經網絡的更新函數,本文捕獲向量空間中實體動態。σ表示更新函數,主體實體es和對象實體eo表示被subject和object替換的實體,在時間t發生的事件是實體es的第p個事件,同時是實體eo的第q個事件,其中tp、tq觀測到事件的時間tp-1、tq-1是預測上一個事件的時間,W表示參數權重,b表示偏置,subject和object的嵌入分別為:
(1)
(2)

圖3 動態實體推理模型
SpanBERT是BERT的一種擴展,在本文中執行問題解析任務,識別時態知識圖譜中問題相關的事實。與BERT的區別其一,BERT的處理目標token是隨機不確定的,SpanBERT的目標token是連續不間斷的。SpanBERT不再對隨機的單個token 添加掩膜,而是對隨機對鄰接分詞添加掩膜。X=(x1,x2,…xn)表示輸入序列,通過迭代抽取提煉出子集Z∈X并進行mask操作。首選通過幾何分布選取跨度,然后半隨機地選取span的范圍,直到達到序列的15%。SpanBERT模型如圖4。

圖4 SpanBERT模型圖
其二,SpanBERT改進BERT只能對單個分詞訓練的缺點,提出訓練目標span-boundary-objective (SBO)進行模型訓練。通過對分詞添加掩膜,使模型依據其所在語境預測整個分詞。獲取span范圍內分詞位置計算目標函數,xs和xe表示起始位置和結束位置編碼,目標分詞的位置嵌入表示為pi-s+1,計算邊界外相鄰分詞的表示xs-1和xe+1,將f(·)實現為具有GeLU激活函數和層歸一化的前饋網絡。
zi=f(xs-1,xe+1,pi-s+1)。
(3)
另外,SBO使模型在邊界詞中存儲其分詞級別的信息,使得模型的調優更佳容易。
圖卷積神經網絡[13]及其變種是在圖形結構中捕獲內容和結構特征的代表性模型。知識圖譜也是一種圖形結構,因此圖神經網絡模型可以應用其中。Li等[14]通過關系感知GCN捕獲知識圖譜內的結構,通過門控循環組件自回歸建模歷史知識圖譜序列,提出了基于圖卷積網絡的新型循環進化網絡。本文利用圖卷積網絡模塊從問題表示的語義信息中獲取隱含時間特征,獲得時間序列結合靜態信息提升知識表示學習的質量,與靜態知識圖譜的嵌入拼接得到時間關系嵌入矩陣,解決無法準確定位時間的問題。
2.3.1 特征
鄰接矩陣A∈RN×N是用0或1填充的N×N矩陣,N是節點總數。鄰接矩陣中的值表示節點對之間的相連關系,Aij=1表示節點i和節點j有關系,否則Aij=0。將圖表示為鄰接矩陣,包含每個節點的特征或屬性,并以張量的形式將其提供給網絡。有向圖中共有1、2、3、4、5五個節點,(1,2)、(1,3)、(1,4)、(2,3)、(2,5)、(4,4)六條邊如(a)。根據圖可以得到矩陣如(b),同理通過矩陣也可以得到圖譜的結構。為了能夠聚合自身的信息,在圖的某個節點上加一個自環,GCN特征提取如圖5。

a)有向圖 b)鄰接矩陣圖圖5 GCN特征提取
2.3.2 聚合鄰居信息過程
GCN具有獨特的消息共享機制,能在相鄰節點之間執行聚合,是傳遞和更新消息的過程,圖中任一節點進行特征更新,更高階鄰居節點的信息隨之更新并被聚合。源節點距離最高鄰居節點之間的階數也叫聚合半徑,基于聚合半徑和模型層數的關系,通過自適應性聚合半徑的學習機制,增加跳躍連接來聚合模型每層節點的輸出,聚合后的節點特征擁有混合性的聚合半徑,上層任務可對其進行選擇性的監督學習。圖模型的四層輸出都通過跳躍連接連接到最終的聚合層,聚合操作可以去拼接、平均池化、最大池化等。聚合層的輸出作為整個模型的輸出送到相應的監督任務中進行學習,聚合過程流程圖如圖6。

圖6 聚合過程流程圖
2.3.3 端到端學習
GCN對于圖數據的學習模式是從數據端到任務端的。GCN可以適應圖數據的內在規律,例如屬性信息、結構信息等。圖數據中屬性信息根據類型劃分并編碼,整合表示為該節點屬性的特征向量。而結構信息的處理,是用圖的統計特征代替知識圖中節點的結構信息,例如節點的跨度、節點本身、節點的PageRank值等,然后將這個代表節點結構信息的特征向量與代表節點的屬性信息的特征向量合并傳到下游任務。
2.4.1 LSTM模型
本文引入LSTM進行路徑編碼,LSTM的核心算法在于信息傳輸的路徑及門結構。LSTM的“記憶”被叫做細胞,信息傳輸的路徑被稱為細胞狀態,能讓信息在序列串中進行傳遞。信息的增減通過門結構來實現,門結構在訓練過程中會去學習信息的保留或忘記,LSTM模型如圖7。
遺忘門用來決定哪些信息應該丟棄或保留。前一個隱藏狀態的信息ht-1和當前輸入xt的信息同步傳遞到sigmod函數中去,輸出結果介于0和1,W表示更新函數的權重,bf表示遺忘門的偏置。
ft=σ(Wf·[ht-1,xt]+bf)。
(4)

it=σ(Wi·[ht-1,xt+bi]),
(5)
(6)
輸出門用于確認下一步隱藏狀態的值,通過當前的細胞狀態、上時刻的輸出ht-1與當前的輸入xt,bo表示輸出門的偏置,得到隱藏狀態的信息作為當前時刻的輸出,把新的隱藏狀態傳遞到下個時間步長。
ot=σ(Wo·[ht-1,xt]+bo)。
(7)
2.4.2 CRF模型
條件隨機場CRF是一個概率分布模型,輸入條件為一組隨機變量的情況,輸出結果為另一組隨機變量。本文引入CRF模型對每個詞標注對應實體類型的BIO標記,用B-Person標記關鍵詞的首字母、I-Person表示關鍵詞的除首字母的其他部分、O-表示除關鍵詞外的信息,CRF的特征函數可以構建上下文特征、詞本身特征和詞性特征等,BIO標注圖如圖8。

圖6 聚合過程流程圖

圖7 LSTM模型

圖8 BIO標注圖
TimeQuestions數據集是遍歷八個KGQA數據集,搜索其中與時間相關的問題編譯而成的,包括有16181個問題。測試集中使用[13]編譯的字典標記信號詞,只如果問題中至少有一個時態信號詞,它就成為一個候選時態問題。為了消除數據集假陽性,對候選集進行過濾,手動驗證每個問題答案的正確性,并用正確答案替換不正確的。并手動標記每個問題的時態問題類別,分別是顯式、隱式、時態或序號答案類別,這樣能構建更高效自動分類器。以3:1:1的比例分割數據,創建訓練集包含9 708個問題,開發集包含3 236個問題和測試集包含3 237個問題,數據集樣式見表1。

表1 數據集樣式
3.2.1 基線模型
Uniqorn方法使用微調BERT模型,從RDF數據或文本語料庫中檢索與問題相關證據,并使用Group Steiner Trees的圖算法處理輸入回答復雜問題,是文獻[6]的擴展。GRAFT-Net方法首次采用R-GCNs在異構圖譜上進行問答,從包含文本和知識庫的特定問題子圖中提取答案實體和關系。PullNet是一個集成框架,從語料庫里學習要檢索的內容并將GRAFT-Net擴展到多跳問題場景,同時利用異構信息進行推理以找到最佳答案。本文方法和基線模型在問答方面的的實驗結果如表所示。通過觀察得出結論,本文的方法是優于基線模型的,在五種答案類型上都有顯著效果提升。模型在P@1的性能對比見表2。

表2 模型在P@1的性能對比
3.2.2 模型比較
P@n指前n個結果的準確度,P指的是精確值,實驗結果見表3。假設有每個樣本對應n個候選,yi= 0或1分別表示第i個結果相關或不相關, 則計算公式為
(8)

表3 P@1結果
MRR(Mean Reciprocal Rank)又名平均倒數排名,其中Reciprocal是指“倒數的”的意思。ki是第i次搜索的結果中與問題最相關結果的位置,其倒數就是返回結果的質量,ranki是指第i個四元組鏈接預測排名。第一個結果匹配,分數為1,第二個匹配分數為1/2,第n個匹配分數為1/n,如果沒有匹配的句子分數為0,實驗結果見表4。最終的分數為所有得分之和,計算公式為
(9)

表4 MRR結果
HITS@n該指標在本文中是指在鏈接預測中排名小于n的四元組的平均占比,計有多少正確的四元組最終的排序是在topN,值越大越好,實驗結果見表5。計算方法如下:
(10)

表5 Hit@5結果
為了驗證時間信息在模型中的有效性,在本次實驗中所用的數據集上進行消融實驗,比較了訓練數據集中時間信息的占比大小對模型結果的影響。可以看到除去組件模塊在復雜的推理數據上的表現,隨著時間信息的增加,模型的效果會更好,時間信息對于訓練時態推理模型的作用如圖9。

圖9 消融實驗結果圖
通過比較本文方法和基線方法在問答方面的性能,統計不同評測指標在每個類別與基線模型的比較,能看出本文方法明顯優于基線模型。知識圖譜的路徑推理機制常復雜QA的答案搜尋,它在KG子集中識別主體結構,并從帶噪聲的圖中剔除無關信息,但實驗結果表明,單純的路徑預測本身不足以回答時間問題,因此優化時間推理模型很重要。
為解決問題的時間意圖識別,本文工作核心是用不同種類的時間事實擴展GCN模型的范圍,使其可以識別到時間信號編碼。通過研究發現,答案類型是時間的問題最簡單,例如以“when”開頭的問題,這類帶有明確時態表達的問題需要推理,但明確的年份會使其更容易找到答案。GCN主要用于處理帶有隱性時態表達的問題。從消融研究可以看出,該模型在本文方法的整體表現中都發揮積極的作用。
本文提出一種基于圖卷積神經網絡的時序知識圖譜問答模型SpanBERT-GCN-LSTM,先用SpanBERT處理問題獲取詞向量,然后在KG中計算與問題相關的緊湊子圖,用LSTM提取并融合信息,最后構建圖卷積網絡預測答案,通過時間感知實體嵌入和對時間關系的關注來增強GCN模型。通過對比目前知識圖譜問答領域的主流模型,進一步證明了本文所提出模型的優越性。在后續的研究中,向現有知識圖譜中添加新增知識,以新增數據為輸入,進一步優化數據集中實體關系,提升問答的效果。