1. 程式人生 > >基於深度學習知識圖譜綜述

基於深度學習知識圖譜綜述

基於深度學習知識圖譜綜述

摘要:隨著現如今計算機裝置的更新,計算能力的不斷提高促使深度學習再一度推上熱門技術,深度學習已經廣泛應用於影象處理、文字挖掘、自然語言處理等方面,在醫學、交通、教育、旅遊等行業發揮極大地作用。知識圖譜也在深度學習的技術下得到了很大的發展。

  • 知識圖譜的定義
  • 知識圖譜的構建流程
  • 相關構建技術

知識圖譜的定義

知識圖譜(Knowledge Graph)最先由谷歌公司提出,其開發了基於知識圖譜的專案,其將知識圖譜應用在語義搜尋方面,通過構建起來的知識圖譜可以精準的搜尋出需要的資訊。谷歌給予的定義為:知識圖譜是谷歌用於增強其搜尋引擎功能的輔助知識庫,總的來講,知識圖譜就是以結構化的資訊通過圖結構進行關聯起來的一個知識庫,而基於深度學習的知識圖譜的構建是將某一領域的資料資訊通過深度學習演算法構建“實體——關係——實體”的三元組模型,並將其儲存在圖結構資料庫中。

知識圖譜的構建流程

知識圖譜的結構是指實現構建知識圖譜的技術體系,主要分為兩大資料採集與處理兩部分。資料採集(Data Acquisition )是指選擇構建知識圖譜的“原材料”,基於深度學習的知識圖譜需要大量的訓練資料進行模型訓練,因此資料採集是知識圖譜的重要的架構之一。資料處理是指標對採集的資料進行相關演算法操作,完成相應的任務。如圖1,知識圖譜架構主要分為如下幾個流程:
知識圖譜的體系架構(構建流程)

  1. 資料採集(Data Acquisition ) :採集資料集一般可以通過網路爬蟲、資料庫獲取、人工製作資料或者在相應官網上下載處理過的資料,採集的資料一般由三種形態:

    • 結構化資料(Structed Data):對於網路資料庫現有的資訊,可以直接進行資料庫讀寫,這一類資料屬於事先被篩選或整理成二維形式內容,因為其屬於人工篩選,其置信度往往很高,因此這一類資料是作為知識圖譜構建前期最主要的方式。但是由於結構化資料需要進行大量的人工操作,所以基於大量資料的情況下,以人工製作結構化資料需要的成本太高;
    • 半結構化資料(Semi-Structed Data):半結構化資料是指以web形式顯示的內容,例如百度百科、維基百科等,這一類資料往往是以XML、JSON等形式存在,介於結構化與非結構化之間。這一類資料需要進行一系列的資料預處理工作,將其轉換為結構化資料;
    • 非結構化資料(Unstructed Data):非結構化資料往往是沒有任何結構的資料,例如圖片、音訊、文字等資訊,這一類資料往往整體儲存或讀寫。知識圖譜的構建絕大多數需要對這些非結構化資料進行挖掘,因此知識圖譜的構建主要資料來源為非結構化資料,同時相關的研究也主要以非結構化資料為“原材料”。
  2. 知識抽取(Information Extraction)

資料採集後需要進行相應的資料操作,在知識圖譜中的資料操作的關鍵部分是知識抽取,知識抽取主要包括三個步驟:命名實體識別(NER)、實體關係抽取(RC)和屬性抽取。

  1. 命名實體識別(NER):命名實體識別是對半結構化資料和非機構化資料進行資訊抽取的第一步,往往實體是資訊的主要載體。實體可以是人、地名等事物,也可以是某個概念。在早期通過字串匹配或人工操作等方式將需要的實體提取出,隨後人們通過自然語言處理和機器學習方式進行實體提取,而基於深度學習的知識圖譜架構中,命名實體識別通過序列標註方法進行識別
  2. 實體關係抽取(RC):實體關係抽取又稱關係分類,為了確定“實體——關係——實體”三元組,需要對實體之間的關係進行分類,這一過程也成為語義資訊的提取。早起的關係抽取採用人工方式,根據語言的語法規則進行模式匹配,這一方式雖然精度很高,但是需要各個領域的專業人士進行操作,同時需要大量的勞動力成本。基於深度學習的知識圖譜架構中,通過特徵工程對含有具有關係的兩個實體的句子進行關係標註,實現監督學習。現如今也有基於自監督學習方式進行關係抽取。另外,Zheng等人提出的聯合NER和RC的學習,將兩個步驟融合一起形成聯合學習方式,在一定程度上提高了模型的精準度,因此
  3. 屬性抽取:構建起三元組後,需要對實體和關係進行屬性的抽取,屬性抽取往往可以直接通過網路獲取,同時也可以將屬性視為實體或關係,通過NER或者RC方式進行處理。

命名實體識別、實體關係抽取以及屬性抽取是知識圖譜的構建的主要部分,也是為下一步操作做準備。

  1. 知識融合(Knowledge Fusion)

通過知識抽取工作獲得的三元組往往有一定程度的錯誤資訊。在通過NER、RC的模型優化角度考慮,模型的精度往往不是100%,因此會有被錯誤識別的實體或被錯誤分類的關係,因此為了提高知識圖譜的置信度,需要對其進行處理,主要方式有:

  1. 實體消歧:同一個實體可能有不同種名稱,同一個名稱可能表示不同型別實體。例如“華東師大”和“華東師範大學”都是同一個事物,而在知識抽取過程中,並沒有將其合併,因此實體消歧的主要目的是消除同名實體產生的歧義問題。參考文獻[1]提供的四種方法:空間向量模型、語義模型、社會網路模型和百科知識模型可以實現實體消歧。
  2. 共指消解:在一個句子中,往往有多種指稱項指向同一個實體,這一類問題可以通過句法分析方式進行處理,也可以通過基於機器學習演算法方式轉化為分類或聚類問題。
  3. 知識合併:往往自主建立的知識體系相對孤立,資訊量有限。為了使自主構建的知識體系可以與網路現有的知識庫相呼應,需要對知識進行合併,可以將以構建的知識體系以圖結構儲存在圖形資料庫中,通過實體消歧進行合併,也可以將知識體系以關係型儲存在關係資料庫中,並通過資料庫技術進行合併。知識合併是擴大自主學習構建知識庫的重要步驟。

在自主構建知識圖譜過程中,知識融合往往會被忽略,但也格外重要。

  1. 知識加工(Know Processing)

通過資訊抽取,可以從原始語料中提取出實體、關係與屬性等知識要素.再經過知識融合,可以消除實體指稱項與實體物件之間的歧義,得到一系列基本的事實表達.然而,事實本身並不等於知識,要想最終獲得結構化、網路化的知識體系,還需要經歷知識加工的過程.知識加工主要包括3方面內容:本體構建、知識推理和質量評估。

  1. 本體構建:本體是用於描述一個領域的術語集合(如下圖),本體的目標是獲取、描述和表示相關領域的知識,提供對該領域知識的共同理解,確定領域內共同認可的詞彙,並從不同層次的形式化模式上給出了這些詞彙(術語)和詞彙間相互關係的明確定義。本體的構建可參考:領域本體的構建方法研究
    領域本體
  2. 知識推理:顧名思義,是對知識之間的關係推理,知識推理包括邏輯關係推理和圖關係推理。邏輯關係推理屬於語義分析部分。例如命題“985高校一定是211,而211高校不一定是985”,由此可以推理出華東師範大學是985也是211。圖關係推理根據圖模型進行關係拓展,例如建立的三元組有“華東師範大學在普陀區”,“普陀區在上海市”,可以推理出“華東師範大學在上海市”。
  3. 知識更新:知識是不斷的更新迭代的,構建好的知識圖譜需要不斷的進行更新。更新方式一般有兩種:全面更新和增量更新。

知識圖譜構建技術

基於深度學習的知識圖譜構建,主要應用深度學習框架,技術主要包括:
(1)資料採集:基於Python網路爬蟲的資料採集;
(2)詞向量訓練:word-embedding訓練,包括CBOW、Skip-gram模型以及哈夫曼樹和負取樣加速方法;
(3)命名實體識別:RNN,BiRNN,LSTM,BiLSTM,CRF;
(4)實體關係抽取:基於CNN的關係分類,TextCNN;
(5)聯合實體與關係抽取:複合神經網路模型;
(6)深度學習框架:Tensorflow;
(7)資料標註:特徵工程;
(8)圖資料庫:較為流行的圖資料庫有 Neo4j,Titan,OrientDB和 ArangoDB,本人常用的是Neo4j;
(8)涉及到數學知識:矩陣論、概率論與數理統計、最優化方法(神經網路主要以梯度下降法調參)。
Ps:現如今知識圖譜的構建在科研領域是一個龐大的課程研究體系,涉及諸多技術,本人在學習過程中將不斷更新和增加相關技術以適應知識圖譜的發展。

總結

知識圖譜已經廣泛應用於各個領域中,常用的應用包括智慧問答系統,精準搜尋等,知識圖譜作為當今非常火的人工智慧研究方向,在未來將有很大的上升空間。

參考文獻:
[1]: 段巨集等. 知識圖譜構建技術綜述[J]. 計算機研究與發展(03).
[2]: 袁凱琦等.醫學知識圖譜構建技術與研究進展[j].計算機應用研究.
[3]: https://blog.csdn.net/github_37002236/article/details/81907721

部落格記錄著學習的腳步,分享著最新的技術,非常感謝您的閱讀,本部落格將不斷進行更新,希望能夠給您在技術上帶來幫助。