網際網路時代,人類在與自然和社會的交互中生產了異常龐大的數據,這些數據中包含了大量描述自然界和人類社會客觀規律有用信息。如何將這些信息有效組織起來,進行結構化的存儲,就是知識圖譜的內容。
作者&編輯 | 小Dream哥
什麼是知識圖譜?其實,在學術界還沒有對知識圖譜做出一個統一的定義。按照Wikipedia的描述,知識圖譜是google用來支持從語義角度組織網絡數據,從而提供智能搜素服務的知識庫。
從這個意義上來講,知識圖譜是一種比較通用的語義知識的形式化描述框架,他用節點表示語義符號,用邊表示符號之間的語義關係。如下圖所示:
在計算機世界中,節點和邊的符號通過「符號具化」表征物理世界和認知世界中的對象,並作為不同個體對認知世界中信息和知識進行描述和交互的橋樑。這種使用統一形式描述的知識描述框架便於知識的分享與利用。
通俗的來講,知識圖譜要解決的是這樣一個問題:如何能夠更好的描述複雜、多樣和海量的網際網路數據?
現存的網際網路數據是散亂的分布在數以億計的網頁中,由一個又一個的字符串構成。但是網際網路的數據是人類世界的映射,這些數據中包含了大量描述自然界和人類社會客觀規律有用信息。很顯然的,在人類的認知世界裡,知識是由大量的概念、對象以及概念的屬性和概念之間的關係構成的。
如上圖描述謝霆鋒、王菲和張柏芝關係的圖譜,在網際網路世界,有的是關於謝霆鋒、王菲和張柏芝三者的新聞網頁。知識圖譜的工作就是基於網絡上關於三者的新聞,搭建出來上面的圖譜,這個圖譜描述了「人物」這個概念,「人物」有出生年月,性別和年齡的屬性,「人物」之間有「前期」,「情敵」和現任女友這些關係。
因此,所謂的知識圖譜,其實就是一種知識的描述框架,通過這個框架,將散亂的知識組織起來,便於搜索、推薦以及NLP等下游任務應用。
隨著網際網路的發展,數據量不斷增加,對存儲和檢索技術提出越來越高的要求。需要一種更好的數據存儲技術,一方面能夠完成存儲海量的數據;另一方面,需要能夠擁有推理、預測等複雜的搜索功能。
為了解決語義理解的困難,Time Berners-Lee等於2001年提出了語義網絡的概念,語義網能夠使用能夠被計算機理解的方式方式描述事物之間的聯繫。
維基百科等幫結構化的資料庫為語義網絡的發展做出了非常大的貢獻,最典型的兩個大規模通用領域知識圖譜Freebase和DBpedia都是以維基百科中的知識為基礎構建的。
然而,知識圖譜這一領域真正的蓬勃發展,是谷歌在2012年正式提出知識圖譜這一概念之後。谷歌試圖通過知識圖譜,對網際網路中海量的網頁文本內容,特別是客觀類事實性文本內容中的語義信息進行刻畫,從這些非結構化的文本內容中提取出實體以及實體關係,將其事實性的文本內容轉化為相互連接的圖譜結構,使得計算機理解文本和計算機認知變得可能。
從另外一個角度,人工智慧技術的研究目標本就是使計算機更智能,讓計算機完成一些人才能完成的任務,例如推理、分析、預測等。AI的研究者們期望藉助知識庫完成這個目標,即把人類的知識用計算機進行表示和組織,並設計相應的算法完成推理和預測等任務。
因此,在知識圖譜的發展歷程中,不同領域的研究者們的出發點可以分為兩種,一種是以語義網絡為代表的研究者們,他們嘗試進行數據的知識化,即將大量散亂的知識進行結構化處理;另外一種是人工智慧的研究者們,他們嘗試進行知識的數據化,即嘗試將人類的知識通過一種描述框架,系統的組織起來,代表是上個世紀的「專家系統」等。
然而,到現在,隨著深度學習的發展,二者在知識圖譜領域已經結合。知識圖譜被看作是下一代人工智慧技術的基礎設施之一,無論在產業界還是學術界都備受關注。
對於知識,到目前為止,學術界其實並沒有一個明確的界定。通常來講,知識可以被認為是人類對於對自然界和人類自身探索的結果的總和。
聽起來可能有點抽象,通常我們可以把知識分為領域知識,百科知識,場景知識,語言知識以及常識知識等。根據所存儲的知識的類型,可以對知識圖譜的類型進行劃分,包括領域知識圖譜和通用知識圖譜。
領域知識圖譜的知識集中於某一個特定的領域,利於保險,醫療,法律等,構建起來相對難度沒有那麼高。通用知識圖譜,顧名思義,其知識覆蓋面廣,包羅萬象,構建難度較大。
知識圖譜的構建是一件困難的事情,是目前人工智慧領域研究的熱點和難點,特別是知識圖譜的自動化構建,這裡先做一個大概的介紹。
1)知識體系的構建
知識體系的構建,也叫知識建模,是指採用什麼樣的方式表達知識,其核心就是構建一個本體對目標知識進行描述。所謂的本體,就是一個知識描述框架,它定義了知識的類別體系,每個類別下所屬的概念和實體、某類概念和實體所具有的屬性以及概念之間、實體之間的語義關係。感興趣的同學,可以看一看中文通用知識體系的一個例子:cnschema。
知識體系的構建有兩種方法,一種是自頂向下,即先構建一個完善的知識體系,再將知識填充到這個知識體系中;另外一種是自底向上,即在知識抽取的過程中,自動的擴充和構建知識體系。目前比較流行的自底向上的方法。
目前,知識圖譜中的數據採用RDF數據模型進行描述,也就是大家熟悉的三元組的模式,即「實體1」-「關係」-「實體2」。例如三元組,「董事長(馬明哲,中國平安)」,「董事長」表示關係,「馬明哲」是頭實體,「中國平安」是尾實體。
2)知識獲取
知識獲取是從海量的文本數據中獲取結構化知識的過程,數據來源不同,知識獲取的難度和手段也不同。假如有大量的結構化數據和半結構化數據,知識獲取的過程就相對容易。可惜的是,往往在大部分時候,在知識圖譜的構建過程中,面對的都是非結構化的數據。面對非結構化的數據,就需要用各種信息抽取的手段去獲得文本中隱藏的三元組。
通常,信息抽取包括如下的基本任務:實體識別,實體消歧,關係抽取以及事件抽取等。這些都是知識圖譜介紹的重點,我們在後面的專題文章中再做詳細的介紹。
3)知識融合
很多情況下,數據來源都不單一。當知識來源於多系統時,就需要進行知識融合。例如,原本構建了一個知識圖譜,現需要用一批補充的知識來更新它,就需要進行更新和去重。
知識融合的過程,大致會包括知識體系的融合和實例的融合。知識體系的融合就是兩個或多個異構知識體系進行融合,相同的類別、屬性、關係進行映射;實例的融合,就是兩個圖譜中的實例進行融合,包括實體實例和關係實例。
4)知識存儲
知識存儲就是研究採用何種方式將已有的知識圖譜進行存儲。目前的知識圖譜存儲基本都基於圖資料庫,比較流行的有neo4j。
5)知識推理
通過知識建模、知識獲取以及知識融合,基本可以構建一個知識圖譜。但是,很多時候,由於知識的不完備性,搭建出來的圖譜通常會有很多缺失。由於數據的稀疏性,很難通過抽取和融合的方法去豐富圖譜。這時,就需要通過知識推理的方法去補齊圖譜中大量的關係缺失和實體缺失。
知識圖譜是人工智慧技術最重要的基礎設施,是計算機能夠實現推理、預測等類似人類思考能力的關鍵。由於知識圖譜的信息抽取,知識融合以及知識推理等過程都依賴於NLP技術,因此知識圖譜與NLP通常是分不開的。
讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備註"加入有三AI NLP群"。
下期預告:知識體系構建詳述