【知识图谱】如何构建知识体系:知识图谱搭建的第一步
互聯網時代,人類在與自然和社會的交互中生產了異常龐大的數據,這些數據中包含了大量描述自然界和人類社會客觀規律有用信息。如何將這些信息有效組織起來,進行結構化的存儲,就是知識圖譜的內容。
知識圖譜的難點在于知識圖譜的搭建,如何高效、高質量、快速的搭建知識圖譜是知識圖譜工程的核心。今天我們介紹知識圖譜搭建的第一步,知識體系的構建。
作者&編輯 | 小Dream哥
1? 什么是知識體系
從直覺上看,知識圖譜里包含了很多現實世界的知識。例如,知識圖譜里有“騰訊”相關的信息,說明了它是中國的一家互聯網公司,主要做社交媒體和游戲,創始人是馬化騰。實際上,具體的實例知識只是知識圖譜一個層面的內容,知識圖譜中還包括了對知識數據的描述和定義,這部分對數據進行描述和定義的“元”數據被稱為知識體系(schema)或者本體(ontology)。
那么,怎么理解對知識數據的描述和定義呢?簡單的理解,就是對所需要構建的知識領域的高度概括和抽象,我們舉一個例子來說明這個問題。如下圖所示,是知識圖譜中保存的關于周杰倫的實例,記錄了周杰倫是一個音樂人,它簽約了哪家音樂公司,身高體重等信息。
如下圖所示,是關于音樂人的schema的一部分:
我們定義了“音樂人”是“人”的一個子類;它和“唱片公司”是一種“簽約”的關系;“音樂人”也會“創作和表演”歌曲,同時,它也繼承了“人”這個概念的一些屬性,包括“身高”,“體重”和“婚姻關系”等。上述“周杰倫”,是“音樂人”這個概念在圖譜中的一個實例。
通過這個例子,讀者應該能夠對知識體系有個比較深入的理解了。其實,也可以用面向對象編程的思想來理解知識體系和實例之間的關系。編程中的類可以“類”比知識體系中的“概念”,編程中“類的屬性”可以類比知識體系中“概念的屬性”,“類之間的關系”可以類比知識體系中“概念之間的關系”。類和對象之間的關系就好比知識體系中概念和其實例之間的關系。
這里總結一下,所謂的知識體系,其實就是描述我們所要構建的知識圖譜所在領域的知識,這種描述是一種概括和抽象,通常用概念,概念屬性以及概念之間的關系來描述。
2 知識體系的構建??
上一篇文章中我們介紹了知識表示,業內通常都是采用基于三元組的形式來表示知識,這方面無需太多的考慮,所以搭建知識圖譜的第一步便是構建相應的知識體系。
介紹知識體系構建的手段之前,我想先說明一下知識體系構建必要性。知識圖譜的搭建,簡單來看,就是從大量的結構化或者非結構化數據中,抽取實體以及實體之間的關系。那么,所要抽取的實體有哪些類別呢?所要抽取的關系有哪些種類呢?如果是非結構化數據,怎么給語料標注呢?要回答這些問題,都需要構建一個知識體系。
1)人工構建法
目前來看,基本高質量的知識體系都只能通過人工構建。那么,怎么通過人工手動構建知識體系呢?通常,手動構建知識體系應該精通該領域的業務專家來主導,知識工程師協助完成。一般如下幾個步驟構成:
1.確定領域
有讀者認為知識圖譜難以落地,沒有應用場景。其實不然,目前的NLP任務通常都是基于某一個特定的業務場景,一個高質量的基于該領域的圖譜,能夠給下游的NLP任務非常大的加成。目前,比較活躍的也都是領域知識圖譜。所以,通常構建知識體系的第一件事就是確定領域,以限定知識體系的知識范圍。確定領域,了解業務場景,思考知識體系能夠解決哪些業務問題,是第一件要做的事情。
2.借鑒
領域知識體系的構建是一個高度業務相關、極其復雜的工作。如果有可以第三方的知識體系可以借鑒是一個非常好的事情,盡可能的參考前人的工作成果,站在巨人的肩膀上,是一個比較好的策略。假如沒有可以借鑒的第三方工作,比較好的策略是先構建一個輕量級的知識體系,然后在此基礎上進行擴展。
3.羅列概念、屬性以及關系
根據確定的領域,羅列出來在知識圖譜中可能出現的概念、屬性以及關系列表。實際上這是一個和業務高度相關的工作,要羅列出來這份列表,需要對知識圖譜要解決哪些問題、如何使用這個知識圖譜有明確的認識。
4.確定知識體系結構
當羅列出來了所有的概念、屬性以及關系列表之后,需要對概念進行層次結構的分類。確定分類層級通常由兩種方法:自頂向下和自底向上。自頂向下就是從最抽象的概念開始,逐層擴展添加各層概念。自底向上則是相反的過程。
5.定義屬性及關系
定義好了概念之間的層次關系之后,就需要定義概念的屬性以及概念之間的關系了。做到這一步,知識體系就基本構建完成了。
6.定義約束
概念的屬性會有一些約束條件,需要定義好。例如,人的性別只能是“男”或者“女”,年齡應該是0-200之間的數值。
2)自動構建法
知識體系的自動構建,在面對結構化知識和非結構化知識時所采用的策略時不同的。
1.結構化知識的知識體系構建
面對結構化的知識,知識體系構建的任務其實就是提煉出來結構化語料中蘊含的概念以及概念之間的關系。結構化數據通常存儲在關系型數據庫中,上述任務通常就變成了分析數據表中的字段內容、主鍵以及外鍵之間的關系。
2.非結構化知識的知識體系構建
面對非結構化的知識,要自動化構建知識體系是一件難度非常大的事情。首先,要基于語料進行領域內概念的抽取。然后,基于上述過程抽取到的概念進行概念體系的構建以及概念屬性關系的抽取。
上述兩個過程要實現自動化,需要用大量的無監督學習算法,例如聚類,詞向量表征等。
總結
知識圖譜是人工智能技術最重要的基礎設施,是計算機能夠實現推理、預測等類似人類思考能力的關鍵。在知識圖譜中,知識體系賦予知識圖譜明確的語義信息,即概念的分類,概念的屬性以及概念之間的關系等。通常,這些概念是后續知識抽取的前提,也是知識圖譜進行知識推理的基礎。雖然,知識體系個構建分為自動化和人工構建兩種,目前比較有效的手段還是人工構建。
讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備注"加入有三AI NLP群"。
下期預告:實體抽取及其擴展
知識星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。
知識星球主要有以下內容:
(1) 聊天機器人。考慮到聊天機器人是一個非常復雜的NLP應用場景,幾乎涵蓋了所有的NLP任務及應用。所以小Dream哥計劃以聊天機器人作為切入點,通過介紹聊天機器人的原理和實踐,逐步系統的更新到大部分NLP的知識,會包括語義匹配,文本分類,意圖識別,語義匹配命名實體識別、對話管理以及分詞等。
(2) 知識圖譜。知識圖譜對于NLP各項任務效果好壞的重要性,就好比基礎知識對于一個學生成績好壞的重要性。他是NLP最重要的基礎設施,目前各大公司都在著力打造知識圖譜,作為一個NLP工程師,必須要熟悉和了解他。
(3) NLP預訓練模型。基于海量數據,進行超大規模網絡的無監督預訓練。具體的任務再通過少量的樣本進行Fine-Tune。這樣模式是目前NLP領域最火熱的模式,很有可能引領NLP進入一個全新發展高度。你怎么不深入的了解?
轉載文章請后臺聯系
侵權必究
往期精選
【完結】 12篇文章帶你完全進入NLP領域,掌握核心技術
【NLP-詞向量】詞向量的由來及本質
【NLP-詞向量】從模型結構到損失函數詳解word2vec
【NLP-NER】什么是命名實體識別?
【NLP-NER】命名實體識別中最常用的兩種深度學習模型
【NLP-NER】如何使用BERT來做命名實體識別
【NLP-ChatBot】我們熟悉的聊天機器人都有哪幾類?
【NLP-ChatBot】搜索引擎的最終形態之問答系統(FAQ)詳述
【NLP-ChatBot】能干活的聊天機器人-對話系統概述
【知識圖譜】人工智能技術最重要基礎設施之一,知識圖譜你該學習的東西
【知識圖譜】知識表示:知識圖譜如何表示結構化的知識?
【NLP實戰】tensorflow詞向量訓練實戰
【NLP實戰系列】樸素貝葉斯文本分類實戰
【NLP實戰系列】Tensorflow命名實體識別實戰
【NLP實戰】如何基于Tensorflow搭建一個聊天機器人
【NLP實戰】基于ALBERT的文本相似度計算
【每周NLP論文推薦】從預訓練模型掌握NLP的基本發展脈絡
【每周NLP論文推薦】 NLP中命名實體識別從機器學習到深度學習的代表性研究
【每周NLP論文推薦】 介紹語義匹配中的經典文章
【每周NLP論文推薦】 對話管理中的標志性論文介紹
【每周NLP論文推薦】 開發聊天機器人必讀的重要論文
【每周NLP論文推薦】 掌握實體關系抽取必讀的文章
【每周NLP論文推薦】 生成式聊天機器人論文介紹
【每周NLP論文推薦】 知識圖譜重要論文介紹
總結
以上是生活随笔為你收集整理的【知识图谱】如何构建知识体系:知识图谱搭建的第一步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【每周CV论文推荐】 初学深度学习单张图
- 下一篇: 【杂谈】有三AI秋季划火热进行中,如何深