鄧智嘉
(1.中國人民解放軍91776部隊,北京 100161;2.復(fù)雜艦船系統(tǒng)仿真重點實驗室,北京 100161)
整合、歸納和學(xué)習(xí)海量互聯(lián)網(wǎng)信息是人工智能的研究方向之一,旨在使系統(tǒng)通過自主學(xué)習(xí)來獲得認(rèn)識、分析和解決復(fù)雜問題的能力。近年來,知識圖譜(Knowledge Graphs,KG)[1]由于可以圖形化地顯示大量結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)之間的關(guān)系引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。KG是一種基于圖的數(shù)據(jù)結(jié)構(gòu),能將不同類型的信息連接到一個語義網(wǎng)絡(luò)中,幫助用戶快速查找和搜索所需信息。構(gòu)建KG的目的是獲取大量的讓計算機可讀的知識,讓機器擁有認(rèn)知能力。KG以其強大的語義處理能力和開放組織能力,已經(jīng)成為人工智能與大數(shù)據(jù)時代描述現(xiàn)實世界中萬物關(guān)聯(lián)的主流技術(shù)之一,同時也是推動搜索引擎等應(yīng)用智能化的關(guān)鍵技術(shù),在智能搜索、知識問答和個性化推薦等領(lǐng)域已經(jīng)有了成熟的應(yīng)用案例。
KG是結(jié)構(gòu)化的語義和知識庫,由實體、關(guān)系和屬性組成。實體是可搜索的對象,關(guān)系是實體之間的關(guān)聯(lián),屬性是對實體的具體描述。通常圖譜的展示會以用戶搜索主題為核心,再以關(guān)系展開供用戶推薦選擇。
隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)信息爆炸式增長面臨的挑戰(zhàn)是建立有效獲取信息和知識的手段,人工智能應(yīng)用于大數(shù)據(jù)處理領(lǐng)域已成為形勢所需。例如,深度學(xué)習(xí)在計算機視覺(Computer Version,CV)領(lǐng)域、自然語言處理(Natural Language Processing,NLP)[2]領(lǐng)域已經(jīng)得到了成熟的應(yīng)用,而KG與這些領(lǐng)域有著密切關(guān)聯(lián),基于KG的搜索引擎,以圖形方式反饋結(jié)構(gòu)化的知識,實現(xiàn)精確定位和深度知識獲取。本文首先分析了KG的體系結(jié)構(gòu)、構(gòu)建步驟及核心技術(shù);其次描述了人工智能應(yīng)用于KG的方法特點;最后總結(jié)了KG相關(guān)領(lǐng)域應(yīng)用實例,并對未來的發(fā)展方向加以展望。
在資源描述框架(Resource Description Framework,RDF)下[3],許多知識可以用(頭,關(guān)系,尾)的形式來表示,例如美軍F-35戰(zhàn)機簡易KG中每個節(jié)點都作為一個實體(如圖1所示),每條邊作為其連接節(jié)點之間的關(guān)系,不同顏色的節(jié)點代表不同類型的實體,紫色代表裝備名實體,藍(lán)色代表裝備參數(shù),青色代表地點,紅色代表機構(gòu)等。
圖1 美軍F-35戰(zhàn)機關(guān)系圖Fig.1 Relation diagram of US F-35 fighter
KG的結(jié)構(gòu)組成可以分為3個部分:知識獲取與預(yù)處理、知識融合和知識應(yīng)用,如圖2所示。
圖2 KG組成架構(gòu)Fig.2 Framework of knowledge graphs
知識獲取是指如何從非結(jié)構(gòu)化、半結(jié)構(gòu)化以及結(jié)構(gòu)化數(shù)據(jù)中獲取知識。以KG為基礎(chǔ)建立的模糊搜索或人工智能需要大量的常識性數(shù)據(jù),并且能及時更新,該類數(shù)據(jù)源可以從網(wǎng)頁抓取數(shù)據(jù),例如維基百科經(jīng)過長時間的協(xié)同編輯,如今已是最大的在線百科全書,這些數(shù)據(jù)通常準(zhǔn)確且質(zhì)量較高,同一詞條更新頻率相對較慢。Freebase[4]也是一個重要的百科數(shù)據(jù)源,其中包含超過3 900萬個實體和18億條事件,谷歌KG的建立有超過一半的數(shù)據(jù)來源于Freebase。并且通過抓取普通網(wǎng)頁獲得的數(shù)據(jù)通常以文本的形式呈現(xiàn),這種半結(jié)構(gòu)化的數(shù)據(jù)需要通過預(yù)處理抽取知識,但Freebase可以直接編輯實體及屬性,因此不需要通過事先指定的規(guī)則便能獲取知識。此外,在不同的專業(yè)領(lǐng)域,Web上存在各領(lǐng)域的垂直網(wǎng)站(如世界軍事、體育新聞),如維基百科等各大搜索引擎通過向上述站點購買數(shù)據(jù),以豐富其圖譜在不同專業(yè)領(lǐng)域的知識。
數(shù)據(jù)預(yù)處理需要大量的NLP[5]技術(shù),例如命名實體識別、關(guān)系抽取和關(guān)系融合等。NLP是研究人與計算機之間用自然語言進行有效溝通的各種理論和方法,但無論是人們?nèi)粘J褂玫恼Z言還是互聯(lián)網(wǎng)中的文字型數(shù)據(jù),都具有一定的規(guī)律性和可預(yù)測性,并且不同的人類語言有不同的語法、語序和語境,這些都是研究人員需要考慮研究的內(nèi)容,但NLP的目標(biāo)總是唯一,即人與計算機的有效溝通。該領(lǐng)域的應(yīng)用眾多,包括機器翻譯、聊天機器人和搜索補全等;命名實體識別是自然語言處理中的重要領(lǐng)域,在計算機語言中,實體是一類概念的實例對象,而命名實體識別則是識別文本中具有特定意義的實體,主要包括人名、地名、機構(gòu)名和專有名詞等,這使得其需要一定量的標(biāo)注來輔助完成,同時也對數(shù)據(jù)的規(guī)范性有較高的要求;命名實體識別是一種序列標(biāo)注問題,因此其數(shù)據(jù)標(biāo)注方式也遵照序列標(biāo)注問題的方式,例如,BIOES標(biāo)注方式為Begin,Intermediate,End,Single,Other,每一個字都將其進行序列標(biāo)注后,可以通過標(biāo)注規(guī)則提取出一定的實體,如戰(zhàn)(O)機(O)在(O)北(B-LOC)京(I-LOC)市(E-LOC)亮(O)相(O),可以識別出句子中存在一個地名實體“北京市”。所以命名實體識別的過程就是根據(jù)標(biāo)注的規(guī)則,提取文本中的有效實體。但這種方法的效率有限,因為中文與英文相比沒有字詞之間的自動間隔,所以需要先將文本分詞,然后進行實體抽取加快識別速度,這也是該領(lǐng)域的研究重點。此外,針對專業(yè)領(lǐng)域的命名實體識別,由于常識性知識較少,數(shù)據(jù)源抓取困難,傳統(tǒng)的條件隨機場(Conditional Random Field,CRF)方法在觀測序列的基礎(chǔ)上對目標(biāo)序列進行建模,重點解決“序列化標(biāo)注問題”,即給定的輸出識別序列Y和觀測序列X,通過定義條件概率P(Y|X)來描述模型。由于其計算的是全局參數(shù)最優(yōu)化的問題,收斂的速度慢,抽取實體的效率不高,需要設(shè)計特定專用模型。例如,軍事信息提取是獲取軍事信息優(yōu)勢的重要手段。針對軍事命名實體,Wang等人[6]提出了一種基于深度學(xué)習(xí)的有監(jiān)督命名實體識別方法,用于識別和提取軍隊、地理位置和武器等軍事文本中的軍事命名實體。該方法避免了人工構(gòu)造特征的復(fù)雜性和軍事文本分割的不準(zhǔn)確性。利用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)[7]模型對基于字符嵌入的文本特征進行自動提取,利用其多全連接層的特點能解決文本中的多特征問題,網(wǎng)絡(luò)的層數(shù)越多在一定程度上擬合的效果越好,進而識別軍事命名實體。模型先由字符嵌入層將原始文本轉(zhuǎn)換為計算機可以處理的格式,即詞嵌入(Word2Vec)[8],把一個維數(shù)為所有詞的數(shù)量的高維空間嵌入到一個維數(shù)低得多的連續(xù)向量空間中,每個單詞或詞組被映射為實數(shù)域上的向量。Bi-LSTM原理是對嵌入后序列中每個字符進行編碼,序列中每個字符作為模型每個時間步長的輸入,正向LSTM的隱藏狀態(tài)序列和反向LSTM的隱藏狀態(tài)序列在連接處輸出,形成完整的隱藏狀態(tài)。隨后將前向和反向的隱向量進行拼接,最后在CRF層標(biāo)記輸出序列。Zheng等人[9]針對中醫(yī)命名實體識別方面提出了一種基于自適應(yīng)損失加權(quán)的多任務(wù)序列標(biāo)注模型(CRF-MT-Adapt)來解決查全率低的問題。此外,提出了一種基于機器閱讀理解的命名實體識別模型(NER-MRC)來解決大跨度實體提及問題。Li等人[10]基于建筑行業(yè)各部分專有詞匯構(gòu)建了建筑文本數(shù)據(jù)集,提出了一種用于中文建筑領(lǐng)域命名實體識別的IDCNN-BI-LSTM-CRF模型。該模型使用IDCNN模型,能夠更好地提取局部特征,BI-LSTM模型能夠更好地提取全局特征的優(yōu)點,從而提取出更精確的特征向量,實現(xiàn)建筑領(lǐng)域的文本數(shù)據(jù)挖掘和利用。在生物醫(yī)學(xué)命名實體識別方面,主要工作包括識別大量生物醫(yī)學(xué)文本中的相應(yīng)實體,如蛋白質(zhì)、基因、疾病和藥物等。生物醫(yī)學(xué)文本的特點是實體命名規(guī)則不規(guī)范、實體邊界難以確定、大量縮寫難以定義。傳統(tǒng)機器學(xué)習(xí)方法受詞典大小和規(guī)則模板有效性的限制。傳統(tǒng)機器學(xué)習(xí)方法在實體識別上取得了一定的效果,但它們主要依賴于特征工程,且受詞典大小和規(guī)則模板有效性的限制,需要耗費大量的人力和物力。Wei等人[11]提出了一種結(jié)合CNN和Bi-LSTM的BNER混合模型,CNN可共享卷積核,處理高維數(shù)據(jù),并自動提取特征,無需任何特征工程。與以往的大多數(shù)研究不同,該模型僅采用公共的預(yù)訓(xùn)練單詞嵌入作為輸入特征,使得模型具有很高的靈活性和可移植性。同時CNN采用梯度下降算法很容易使訓(xùn)練結(jié)果收斂于局部最小值而非全局最小值,池化層會丟失大量有價值信息,忽略局部與整體之間關(guān)聯(lián)性,為了改善CNN和Bi-LSTM各自的不足并更好地集成它們的優(yōu)勢,BNER混合模型采用了一種混合擴展的卷積結(jié)構(gòu),通過在不改變卷積核大小的情況下增加感受野來擴展特征捕獲的范圍。此外,將Bi-LSTM與注意機制相結(jié)合,目的是在獲取全局信息的同時,捕捉句子中有影響的信息。
如果要建立如圖1所示或更復(fù)雜的圖譜,命名實體識別的作用是建立圖中的圓形實體,區(qū)分各類實體顏色。
關(guān)系抽取[12]是與命名實體識別類似的信息抽取方法,通常在識別出句子中的關(guān)鍵實體后,需要抽取2個實體或多個實體之間的語義關(guān)系。抽取關(guān)系過程圖示如圖3所示。
圖3 抽取關(guān)系過程圖示Fig.3 Example of relation extraction
語義關(guān)系通常用于連接2個實體,并與實體一起表達(dá)文本的主要含義。在實際關(guān)系抽取中常見情況為開放式關(guān)系抽取,即需要抽取的關(guān)系集合是不確定的,抽取信息的所屬領(lǐng)域也可能是不確定的。這是從非結(jié)構(gòu)化數(shù)據(jù)中提取信息和構(gòu)建KG的關(guān)鍵步驟。遞歸神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)等關(guān)系抽取深度學(xué)習(xí)方法的性能在很大程度上取決于訓(xùn)練集的質(zhì)量和規(guī)模。近年來,基于Transformer的BERT預(yù)訓(xùn)練模型在許多NLP任務(wù)中都取得了最新的成果,這是因為它可以在預(yù)訓(xùn)練過程中獲得先驗語義知識,這也使得以該類架構(gòu)為基礎(chǔ)的模型大熱。預(yù)訓(xùn)練模型通過掩碼語言模型和下一句預(yù)測模型等預(yù)訓(xùn)練任務(wù),從大量未標(biāo)記文本中獲取先驗語義知識,下游任務(wù)可以通過遷移學(xué)習(xí)從先驗語義知識中獲益。
關(guān)系抽取可以看作一類特殊的文本分類任務(wù),對于預(yù)訓(xùn)練模型的輸入,在輸入序列的開頭附加[CLS]符號,該符號表示用于文本分類任務(wù)。同時,[SEP]符號用于分隔2個句子。預(yù)訓(xùn)練模型的輸入是包含實體的文本,任務(wù)是需要預(yù)測出文本中實體的關(guān)系,原始序列的實體周圍附加了標(biāo)記
圖4 預(yù)訓(xùn)練模型實體關(guān)系抽取Fig.4 Entity relation extraction in pre-training model
綜上所述,為了適應(yīng)自然語言處理中的長序列和多標(biāo)簽數(shù)據(jù),DNN被率先嘗試應(yīng)用,其通過修改激活函數(shù),使ReLU和Maxout代替sigmoid的方式改變了多層感知機中優(yōu)化函數(shù)容易陷入局部最優(yōu)解的現(xiàn)象,同時也解決了由于網(wǎng)絡(luò)層數(shù)增加導(dǎo)致的梯度消失問題。但同時多層DNN中不同的神經(jīng)元連接需要數(shù)量龐大的參數(shù),從而導(dǎo)致參數(shù)膨脹;CNN[13]的應(yīng)用則能有效解決參數(shù)膨脹的問題,由于任何矩陣都能作為CNN的輸入,所以進行詞嵌入Word2Vec后自然語言也能作為CNN的輸入,隨后對所有詞的詞向量使用不同大小的窗口進行一維卷積,用最大池化層獲得最重要的影響因子。此類方法對參數(shù)數(shù)量的依賴較小,但窗口大小上的選取依靠經(jīng)驗,效果缺乏穩(wěn)定性;此外時間順序?qū)τ谧匀徽Z言類的數(shù)據(jù)較為重要,前序時刻的語言對于后序語言有決定性的影響。DNN無法對時間序列上有變化的情況進行處理,CNN每層神經(jīng)元的信號只能向上一層傳播,樣本的處理在各個時刻獨立。IDCNN則在模型中加入更多的卷積層來獲取前后文信息,同時加入Dropout層來防止參數(shù)過多造成的過擬合。而在RNN[14]中,神經(jīng)元的輸出可以在下一個時間段直接作用到自身,即每個神經(jīng)元的輸入由2部分組成,該時刻上一層神經(jīng)元的輸出和上一時刻自身神經(jīng)元的輸出,這樣則能將歷史信息考慮進模型,但這時也會出現(xiàn)時間軸信息梯度消失的問題,這意味著普通RNN無法處理長時間的序列問題;LSTM[15]通過其內(nèi)部門控單元解決了長時間序列問題,其中遺忘門集合上一隱藏層狀態(tài)值和當(dāng)前輸入通過sigmoid函數(shù)決定保留或舍棄哪些信息,以此保留前序信息,同時由于LSTM引入了多個激活函數(shù)并結(jié)合RNN所沒有的求和操作,因此反向傳播的過程中不容易出現(xiàn)梯度消失的問題;Bi-LSTM是雙向的LSTM,能夠編碼語言從后向前的信息,例如“他唱歌很好聽”這句話中好聽是修飾唱歌的,Bi-LSTM能更好地捕捉雙向語義;基于Transformer的模型不管當(dāng)前詞和其他詞的空間距離有多遠(yuǎn),包含其他詞的信息不取決于距離,而是取決于二者的相關(guān)性,這是RNN類模型所不具備的對前序信息的強記憶性,同時RNN類模型是一個順序結(jié)構(gòu),必須算出一個隱向量才能計算后一個,那么這就意味著隱向量無法同時并行計算,對計算效率有一定影響。而Transformer一次性輸入整個句子的所有嵌入向量計算,不存在這個問題。也由于該類模型通過嵌入此向量的相關(guān)性進行工作,海量的數(shù)據(jù)支持便必不可少。各類模型的優(yōu)劣勢如表1所示。
表1 各類模型優(yōu)劣勢Tab.1 Advantages and disadvantages of various models
從前文可知,知識的獲取有可能來自不同的信息源,相同的實體在不同的信息源中給出的介紹和說明不盡相同,或隨著時間的推進同一信息源中的知識也會有所改變,但實體本身卻不會變。知識融合不是單純地合并2個圖譜,這樣會導(dǎo)致冗余的數(shù)據(jù)與過大的計算成本,而是找到不同圖譜間的等價實體。KG的建立通常需要不同來源的數(shù)據(jù),所以知識融合是建立準(zhǔn)確完整圖譜的重要工作。
知識融合是指為了完成多個知識庫的融合,將等價實體的關(guān)系和屬性合并為一個實體?;镜膯栴}是研究怎樣將來自多個來源的關(guān)于同一個實體或概念的描述信息統(tǒng)一起來。這類挑戰(zhàn)主要有2點:數(shù)據(jù)質(zhì)量上,通常會有命名模糊、數(shù)據(jù)格式不一、同一實體的不同名稱差異性;數(shù)據(jù)規(guī)模上,數(shù)據(jù)量大(并行計算)、數(shù)據(jù)種類多、不同關(guān)系所連接的同一實體等。知識融合階段首先對知識庫進行索引,然后使用相似度計算對實體進行匹配,最后得到最終的對齊結(jié)果。
基于多源知識的融合首先是分塊索引,其目的是提高后續(xù)步驟的處理速度和規(guī)模。分塊在知識庫中有著廣泛的應(yīng)用,通過索引鍵值將知識庫中的元素劃分為不相交或相交的塊,然后只需考慮相交塊之間的匹配和融合。這種方法刪除了完全不相關(guān)的塊對,提高了集成效率。而分塊的方法包括:以實體和屬性作為索引鍵值分配的基本劃分索引;用固定大小的滑動窗口滑動的鄰居分類索引;基于謂詞的實體劃分方法,將具有相似謂詞的實體劃分到同一個塊中,可以對不同塊中的大量實體進行刪除。
然后是匹配計算,這是實體對齊的核心內(nèi)容,它可以獲取多個知識庫中的重疊實體,并進行后續(xù)的合并處理。主要研究方法包括:基于文本相似度的方法、基于語義詞典的方法和基于圖結(jié)構(gòu)關(guān)系的方法等?;谖谋鞠嗨贫鹊姆椒ㄊ亲罨镜牟檎移ヅ涞姆椒?,例如,Levinstein距離計算在2個字符串之間轉(zhuǎn)換所需的最小編輯操作數(shù)(替換、插入和刪除)。Wagner和Fisher距離基于Levinstein距離賦予不同的編輯操作不同的權(quán)重以計算加權(quán)和來判定相似度?;谡Z義詞典的方法主要利用外部資源知識庫中豐富的信息進行匹配。常見的外部資源包括單詞/詞典背景知識(如WordNet)、常識背景知識(如Cyc)、實時背景知識(如搜索引擎)等?;趫D結(jié)構(gòu)的方法將知識庫表示為節(jié)點和邊都帶有標(biāo)簽的有向圖結(jié)構(gòu),并常用相似度傳播算法和子圖匹配來計算等價關(guān)系。
隨著表征學(xué)習(xí)的發(fā)展,研究者開始轉(zhuǎn)換實體、關(guān)系等為低維空間中的實值向量,并使用數(shù)學(xué)表達(dá)式直接計算相似度,而不依賴于任何文本信息。這些方法獲得的特征都是數(shù)據(jù)的深層特征,代表性學(xué)習(xí)方法在知識融合方面取得了良好的效果,典型方法有嵌入學(xué)習(xí)和翻譯模型。
KG的本質(zhì)是經(jīng)過預(yù)處理后的一種特殊的圖數(shù)據(jù)結(jié)構(gòu),且是一種附帶標(biāo)記的有向圖,這種數(shù)據(jù)形式對于人類來說是更直觀的知識展現(xiàn)形式,對機器來說也不難處理。圖譜的可視化展示需要借助多類工具完成,其中圖數(shù)據(jù)庫是重點核心工具,圖數(shù)據(jù)庫作為一種非關(guān)系型數(shù)據(jù)庫,特別適用于表示深度關(guān)系的數(shù)據(jù)。例如社交網(wǎng)絡(luò)上用戶之間的關(guān)系,當(dāng)深度不斷加大,關(guān)系型數(shù)據(jù)庫的查詢速度會顯著降低,但圖數(shù)據(jù)庫由于其圖數(shù)據(jù)結(jié)構(gòu)的設(shè)計避免了這種缺陷。常用的圖數(shù)據(jù)庫包括Neo4j,F(xiàn)lockDB,GraphDB和HugeGraph等。其中Neo4j使用最為廣泛,可直接在其服務(wù)器的繼承網(wǎng)址創(chuàng)建圖,其自帶的Cypher語言可以直接創(chuàng)建節(jié)點和關(guān)系。也可用其他語言編寫再調(diào)用Neo4j生成圖,配合Echarts,D3.Js等工具可以設(shè)計出美觀的圖譜。
近年來利用KG概念而設(shè)計的應(yīng)用覆蓋了多個不同領(lǐng)域。首先是在智能搜索領(lǐng)域,解析用戶的搜索語句,找出其中實體和關(guān)系,分析用戶的真實搜索意圖,再從圖譜中匹配,找出答案。在智能問答領(lǐng)域,例如許多服務(wù)業(yè)的客服,由于用戶問題的重復(fù)性偏高,即可將一系列問題和對應(yīng)的答案設(shè)計成圖,根據(jù)用戶的問題查詢出答案,即便這些問題之間在后續(xù)會有其他關(guān)系加入,也能輕易解決。案件分析方面,許多復(fù)雜的案件牽涉到許多嫌疑人和不同的事件,不同的案件之間也可能由于事件或相同嫌疑人而聯(lián)系起來,利用圖譜可以更加清晰地展示案件的脈絡(luò),輔助破案。
前文介紹了Bi-LSTM+CRF的方法進行實體抽取與關(guān)系,Bi-LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型分為2個獨立的LSTM,輸入序列分別以正序和逆序輸入至2個LSTM神經(jīng)網(wǎng)絡(luò)進行特征提取,將2個輸出向量(即提取后的特征向量)進行拼接后形成的詞向量作為該詞的最終特征表達(dá)。Bi-LSTM的模型設(shè)計理念是使t時刻所獲得特征數(shù)據(jù)同時擁有過去和將來之間的信息,該模型可以預(yù)測出每一個字屬于不同標(biāo)簽的概率,然后使用Softmax得到概率最大的標(biāo)簽,作為該位置的預(yù)測值。但是在預(yù)測的時候會忽略標(biāo)簽之間的關(guān)聯(lián)性,因此Bi-LSTM+CRF在BiLSTM的輸出層加上一個條件隨機場CRF,使得模型可以考慮類標(biāo)之間的相關(guān)性,標(biāo)簽之間的相關(guān)性是CRF中的轉(zhuǎn)移矩陣,表示從一個狀態(tài)轉(zhuǎn)移到另一個狀態(tài)的概率。
推薦系統(tǒng)[16-17]是人工智能領(lǐng)域的研究熱點之一,由于其需要的數(shù)據(jù)類型復(fù)雜,數(shù)據(jù)結(jié)構(gòu)深度較大,基于傳統(tǒng)數(shù)據(jù)庫和結(jié)構(gòu)型數(shù)據(jù)的推薦算法面對這種類型數(shù)據(jù)時執(zhí)行效率較低,查詢速度較慢。而KG由于其圖數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)存儲特性,使得查詢效率在面對復(fù)雜異構(gòu)數(shù)據(jù)時表現(xiàn)良好,能實現(xiàn)可解釋性推薦,演示推理過程,有助于用戶采納推薦系統(tǒng)生成的建議,所以將KG作為輔助信息運用到推薦系統(tǒng)是個理想的方法。
基于KG的推薦示例如圖5所示,圖譜中包含用戶、電影名、演員和類型作為實體,而看過、類型、主演、出演和包含等是實體之間的關(guān)系。
圖5 推薦系統(tǒng)案例Fig.5 Example of recommendation system
通過KG作為輔助信息,電影和用戶以不同的潛在關(guān)系聯(lián)系起來,有助于提高推薦的準(zhǔn)確性。在可解釋性方面,這個示例中推薦結(jié)果是“陽光燦爛的日子”和“邪不壓正”,這是因為第1部電影是“太陽照常升起”的同類型電影,且有相同主演;第2部電影有與用戶看過的電影相同的2位主演。
前文提到過關(guān)于軍事領(lǐng)域的命名實體識別問題,此處探討關(guān)于軍事裝備的KG構(gòu)建方法。研究數(shù)據(jù)主要來源于互聯(lián)網(wǎng)各大軍事網(wǎng)站(包含武器裝備)的免費文本,例如維基百科、中華網(wǎng)和環(huán)球網(wǎng)等。
在獲取到文本數(shù)據(jù)后,數(shù)據(jù)預(yù)處理是構(gòu)建軍事裝備KG的首要任務(wù),即實體抽取、關(guān)系抽取和實體連接。利用Bi-LSTM和CRF的軍事命名實體識別方法,可以從文本數(shù)據(jù)中識別軍事專有名詞。然后,在實體提取的基礎(chǔ)上,利用Bi-LSTM模型結(jié)合注意力機制識別實體之間的語義關(guān)系[18]。通過實體抽取和關(guān)系抽取,可以得到形式(實體1、關(guān)系和實體2)的三元組,模型結(jié)構(gòu)如圖6所示。
模型的第1層是詞嵌入層。在該層中利用SkipGram將文本的每個詞從one-hot向量映射到低維詞向量x=(x1,x2,…,xn)。詞向量作為下一層Bi-LSTM的輸入,該層用于提取句子特征,相比于LSTM更能捕獲句中的前后文信息和語義關(guān)系。單層LSTM包含輸入門、隱藏門和輸出門,在t時刻下遺忘門丟棄的信息量為:
ft=σ(Wf×ht-1+Uf×xt+bf),
(1)
式中,xt為當(dāng)前t時刻的輸入;ht-1為上一時刻的隱藏層輸出;Uf為輸入信息的權(quán)重;Wf為上一時刻隱藏層信息的權(quán)重;bf為偏置。
輸入門用于表示保留單元更新時保留的信息:
it=σ(Wi×ht-1+Ui×xt+bi),
(2)
(3)
(4)
式中,Ui,Wi,Uc,Wc為反向傳播時需要自調(diào)節(jié)的參數(shù);bi,bc為偏置;Ct為當(dāng)前細(xì)胞狀態(tài);Ct-1為前一刻細(xì)胞狀態(tài)。輸出門最終決定了單層LSTM的輸出向量:
ot=σ(Wo×ht-1+Uo×xt+bo),
(5)
ht=ot×tanh(ct),
(6)
模型第3層是CRF層,用于句子序列標(biāo)注,能較好地解決詞性標(biāo)注等序列標(biāo)注任務(wù)。CRF是一種基于條件概率的全局最優(yōu)識別模型。該模型可以通過考慮前后文的情況來分配標(biāo)注,而不是單獨標(biāo)記單個單詞。當(dāng)給定一個詞向量序列x=(x1,x2,…,xn)時,H是Bi-LSTM的輸出矩陣,Hi,j表示詞語xi所對應(yīng)標(biāo)簽yi的分?jǐn)?shù),隨即預(yù)測序列y=(y1,y2,…,yn)的得分為:
(7)
(8)
y*=argmaxscore(x,y′),y′∈Yx,
(9)
式中,Ai,j為標(biāo)簽yi和yi+1之間的轉(zhuǎn)移分?jǐn)?shù)。通過CRF層標(biāo)記得到句子中每個詞語得分最高的標(biāo)簽。采用Bi-LSTM網(wǎng)絡(luò)作為編碼器,使用CRF解碼詞序列的實體標(biāo)簽類型。
關(guān)系抽取是以實體抽取為基礎(chǔ),通過關(guān)系將實體連接到網(wǎng)狀知識結(jié)構(gòu)中。它的主要任務(wù)是自動識別實體之間的語義關(guān)系,從而得到三元組。該問題可以看作是一個多分類問題。利用Bi-LSTM模型對實體對進行分類,提取實體之間的語義關(guān)聯(lián)信息。考慮將注意力機制添加到Bi-LSTM的下一階段進行關(guān)系抽取,由H等輸出向量作為注意力層的輸入,句子的表示由式(10)所示加權(quán)構(gòu)成:
M=tanh(H),α=softmax(ωTM),r=HαT,
(10)
式中,ωT為訓(xùn)練后的參數(shù)向量轉(zhuǎn)置矩陣,最終用于分類的句子為:
h*=tanh(r),
(11)
然后,利用softmax分類器從一個句子S的離散類集Y中預(yù)測關(guān)系標(biāo)簽:
(12)
(13)
此外,Dropout層可設(shè)置在前向傳播期間忽略網(wǎng)絡(luò)中的特征檢測器來防止過擬合問題。知識抽取模型獲取的軍事知識數(shù)據(jù)統(tǒng)計表如表2所示。
表2 軍事網(wǎng)站中提取的軍事知識數(shù)量Tab.2 The amount of military knowledge extracted from military websites
數(shù)據(jù)存儲方面,當(dāng)實體和關(guān)系數(shù)據(jù)龐大或關(guān)系深度較大時,采用圖數(shù)據(jù)庫是最佳的數(shù)據(jù)存儲選擇。本文采用了Jane’s軍事裝備數(shù)據(jù)集對不同數(shù)據(jù)庫進行了查詢性能實驗,該數(shù)據(jù)集有超過14萬個實體以及84萬條關(guān)系。首先實驗不同數(shù)據(jù)庫的無索引查詢性能,對比在不同數(shù)量級的數(shù)據(jù)下,各類型數(shù)據(jù)庫的查詢速度,如表3和圖7所示??梢钥闯?,當(dāng)數(shù)據(jù)量由10 000條增加到500 000條的時候,所有數(shù)據(jù)庫的查詢所需時間都會增加,相對來說MySQL的查詢增加時間較平穩(wěn),Neo4j的查詢增加時間增幅較大。
表3 查詢性能指數(shù)Tab.3 Query performance index
圖7 查詢性能指數(shù)Fig.7 Query performance index
隨后將查詢深度不斷加大,以此實驗不同數(shù)據(jù)庫的綜合查詢性能。查詢性能指數(shù)如表4和圖8所示,隨著查詢深度的不斷加大,關(guān)系型數(shù)據(jù)庫的查詢成本將呈現(xiàn)指數(shù)級上升,原因在于每加大一次深度,對于關(guān)系型數(shù)據(jù)庫都是加大規(guī)模的多表連接查詢。文檔類數(shù)據(jù)庫由于本質(zhì)是單表存儲,加大深度無異于增大單表數(shù)據(jù)量,所以表現(xiàn)優(yōu)于關(guān)系型數(shù)據(jù)庫,圖數(shù)據(jù)庫則憑借其在處理關(guān)系方面高效的特性,展現(xiàn)了優(yōu)越的性能。所以在KG的構(gòu)建上圖數(shù)據(jù)庫是最佳之選。
表4 深度查詢性能指數(shù)Tab.4 Deep query performance index
圖8 查詢性能對比Fig.8 Comparison of query performance
最短路徑性能如表5和圖9所示??梢钥闯?在不同數(shù)據(jù)量下任意頂點的最短路徑,在數(shù)據(jù)量增大的情況下Neo4j的查找時間變化更加穩(wěn)定。
表5 最短路徑性能指數(shù)Tab.5 Shortest path performance index
圖9 最短路徑性能對比Fig.9 Comparison of shortest path performance
入庫時間意味著批量數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫時所需要花費的時間,是數(shù)據(jù)入庫性能的重要衡量指標(biāo)。入庫性能如表6和圖10所示??梢钥闯觯跀?shù)據(jù)量較小時,Neo4j的入庫時間更優(yōu),但AllegroGraph的曲線更平滑,意味著面對大規(guī)模數(shù)據(jù)時仍然能保持高性能,所以圖數(shù)據(jù)庫的選擇需要根據(jù)不同業(yè)務(wù)場景來決定。
表6 入庫性能指數(shù)Tab.6 Inbound performance
圖10 入庫性能對比Fig.10 Comparison of inbound performance
KG作為知識的可視化集合,近年來隨著知識表示學(xué)習(xí)、知識獲取方法和各種知識應(yīng)用的出現(xiàn),引起了越來越多的研究關(guān)注。本文詳細(xì)闡述了KG的概念,總結(jié)了其構(gòu)造的步驟,針對每個步驟做了相應(yīng)的描述以及涉及的具體的人工智能方法,介紹了這些方法的優(yōu)勢,同時針對KG構(gòu)建的不同階段介紹了當(dāng)前在該方向上的前沿方法和相關(guān)工作。給出了KG在推薦領(lǐng)域和軍事領(lǐng)域方面的應(yīng)用,詳細(xì)介紹了相對冷門的軍事領(lǐng)域KG構(gòu)建的流程和具體方法。
當(dāng)前,KG發(fā)展還處于初級階段,難點主要聚焦在自然語言處理領(lǐng)域,隨著圖嵌入技術(shù)的不斷更新,成熟的圖譜構(gòu)建功能將會推進該領(lǐng)域在垂直應(yīng)用方面的不斷進步。未來,KG的應(yīng)用領(lǐng)域更加廣泛,軍事領(lǐng)域的應(yīng)用將更加深入。