知識圖譜系列-1-概述

0. 背景

本文嘗試在學習知識圖譜過程中將一些零碎的知識進行一次較爲系統的梳理,一是爲了輔助自己對於該領域知識的體系化,二來是將自己的學習歷程以此方式展示方便後來者圍觀。若是可以進一步助他人避坑,心中自是無限喜悅。本系列將從知識圖譜是什麼開始介紹,之後稍加考古介紹其發展歷程及其當下知識圖譜有哪些類型。再往後便是最爲核心的部分,整個知識圖譜的構建週期及其各個階段的重難點和現有的解決方案。最後,介紹知識圖譜的具體應用,如推理和問答。

1. 知識分類

人類社會中的知識大體可以分爲陳述性知識(或稱爲描述性知識)和過程性知識(或稱爲程序性知識)這兩大類。當然,也可以有其他的劃分維度,比如按照知識的效用分類、按照研究對象分類、按照知識研究方法分類等。

陳述性知識主要描述客觀事物的性狀等靜態信息,主要分爲事物、概念、命題三個層次。其中事物指特定的事或物;概念是對一類事物本質的抽象,反映的是事物的本質特性;命題是對事物之間關係的陳述,又可以進一步分爲非概括性命題和概括性命題。其中非概括性命題表示特定事物之間的關係,而概括性命題描述概念之間普遍關係。

過程性知識描述問題如何求解等動態信息,主要分爲規則和控制結構這兩種類型。規則是描述事物的因果關係,控制結構描述問題的求解步驟。

2. 發展背景

對各種知識進行收集整理,進行形式化表示,使其按照一定的方式進行存儲,即知識進行結構化。再提供相應的知識查詢手段,從而使得知識有序化,如此便初步形成了知識共享和應用的基礎。

互聯網時代數據爆炸式增長,這些數據包含了大量描述自然界和人類社會客觀規律的有用信息,數據展現方式是多元化的,有文字、語音、圖片、視頻等。那麼如何從如此海量、繁雜的數據中挖掘出有用的知識,向用戶提供精準的知識服務呢?這是構建下一代信息服務的核心目標之一。

互聯網中的數據絕大部分是以非結構化的形式進行傳播和存儲的,爲了讓計算機能夠處理,需要將數據進行結構化。圖,是一種能夠有效表示數據之間結構的表達形式,所以可以用圖將知識進行表示。數據的結構化並和已有的結構化數據進行關聯,就構成了知識圖譜。這蘊含了兩層意思,一來需要對數據結構化,二來還需要和已經的結構化數據進行關聯。無關聯,不成網絡,無網絡不成圖譜。

知識圖譜在學界尚未形成統一的定義。從谷歌基於知識圖譜提供智能搜索服務的角度來看,知識圖譜是一種通用的語義知識的形式化描述框架,用節點表示語義符號,用表示符號之間的語義關係。使用統一形式描述的知識描述框架便於知識的分享與利用。知識圖譜示例:
在這裏插入圖片描述

3. 知識表示

對結構化數據的表示和存儲,有2種典型技術路線,分別是本體和數據庫。本體通過對象類型、屬性類型和關係類型對領域知識進行形式化描述。本體強調的是抽象的概念表示,例如不同類型人之間具有什麼類型的語義關係,並不關注個體,例如具體某個個體是什麼類型的人(比如劉德華是什麼類型的人,是演員還是歌手),該個體又與其他個人有什麼關係(比如劉德華和朱麗倩是什麼關係)。這些個體之間的關係,本體是不關心的。因此,本體只對數據定義了描述,沒有描述具體的實例數據。數據庫則是對數據描述和數據本身的。所謂的數據描述就是數據庫的字段和字段類型等,數據就是一條條的數據庫記錄。

在AI的應用中不僅需要具體的知識實例數據,還需要數據的描述和定義,例如概念的上下位知識(“倭黑猩猩"是黑猩猩"屬"的兩種動物之一)。、屬性之間的關係(“子女” 與 “父母” 是逆關係)、屬性的約束(一個人的"父母” 只有 2個)等。知識圖譜用三元組形式(二元關係)對知識進行資源描述和存儲。比如,<劉德華,是一個實例,人類>、<劉德華,職業,歌手>、<劉德華,職業,演員>表達了具體的實例數據,也用<歌手,是…的子類,藝人>、<出生地,值類型限制,地理對象>、<出生地,是…的子類,地理位置>等三元組對相關知識結構進行描述。實體數據也只有在"框架"的約束下才能夠體現爲"知識"。一條客觀陳述或者一種描述,倘若沒有一些關聯約束,就失去了共識,也便沒了感知和認知的基礎。知識以網絡或者說圖形式構建,才能夠成體系。這些圖或者網絡該有什麼樣的標準,這就是框架,在知識圖譜中叫做Schema或者本體。框架Schema就是對知識的描述和定義,框架+實例數據=知識系統。在實踐過程,知識圖譜需要將自身框架結構映射到某種數據庫系統所支持的框架定義上。綜上,知識是認知,圖譜是載體,數據庫是實現。知識圖譜就是在數據庫系統上利用圖譜這種抽象載體表示知識這種認知內容。

具體在實現過程中,知識圖譜以三元組形式存儲實體和實體之間的關係。其中一條三元組由頭實體、尾實體和關係組成。比如<董卿,國籍,中國>,頭實體是"董卿,尾實體是"中國","國籍"是關係名稱。另外,有些"關係"也稱爲"屬性",相應的尾實體被稱爲"屬性值"。屬性值可以是實體對象,也可以是數字、日期、字符串等文字型對象,甚至可以是音頻、視頻等對象。比如<董卿,出生年份,1973年>。

雖然目前大部分知識圖譜如Wikidata、Freebase、DBpedia、YAG等都是以三元組表示,但是實際上知識圖譜的知識表示絕不僅僅體現在以二元關係爲基礎的三元組上,還體現在實體、類別、屬性、關係等多顆粒度、多層次語義單元的關聯之中。

從知識工程角度,知識圖譜的框架一般包含3個層次的知識:
(1)概念知識,給出知識的最基本的內容
(2)事實知識,建立概念之間的關係
(3)規則知識,建立事實之間的關係

4. 是否包含規則

對於知識圖譜是否應該包含推理規則型知識,目前意見不一。有人認爲,知識圖譜僅僅是AI的重要基礎設施,不該包含推理等知識圖譜的應用部分。他們認爲推理不是知識利用的必要條件。比如判斷"小明"的國籍,我們大概率是可以通過"小明"的出生地來得出。這條規則就是"如果X的出生地是Y,那麼Y所屬的國家就是X的國籍" 和 事實 “A的出生地是北京,北京所屬國家是中國"推理出事實"A的國籍是中國”。另一種方式就是在知識圖譜中除了存儲<A,出生地,北京><北京,屬於,中國>之外,多存一條數據"<A,國籍,中國>"。且目前流程的知識圖譜都在去規則化,僅僅保留對知識數據的基本描述,這很大程度是因爲推理規則確定性更弱,難以管理。W3C的OWL標準之所以沒能取得大規模推廣和應用的原因之一就是引入了描述邏輯。另一部分專家學者則認爲,人類文明發展過程中總結和傳承了很多規則,這些抽象的知識不僅可以節省知識存儲和搜索空間,還可以發展出聯想、推理和決策等更高層的認知能力。所以,他們堅持認爲在模擬高層認知能力的AI系統中應該加入這類知識,而知識圖譜作爲知識表示的基礎,應該涵蓋推理規則。按照實踐是檢驗真理的唯一標準這個原則來看,我個人是傾向於支持前者。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章