分享| 知識圖譜的前世今生:為什麼我們需要知識圖譜?

2020-12-14 千家智客

[導讀]本文主要分為三個部分。第一個部分介紹我們為什麼需要知識圖譜,第二個部分介紹知識圖譜的相關概念及其形式化表示……

來源:SimmerChan(知乎)

編輯:Debra

摘要:本文主要分為三個部分。第一個部分介紹我們為什麼需要知識圖譜,第二個部分介紹知識圖譜的相關概念及其形式化表示。最後,作一個簡單的總結,並介紹該專欄後續文章會涉及的內容。

一、看到的不僅僅是字符串

當你看見下面這一串文本你會聯想到什麼?

Ronaldo Luís Nazário de Lima

估計絕大多數中國人不明白上面的文本代表什麼意思。沒關係,我們看看它對應的中文:

羅納爾多·路易斯·納薩裡奧·德·利馬

這下大部分人都知道這是一個人的名字了,當然,不出什麼意外,還是個外國人。但還是有一部分人不知道這個人具體是誰。下面是關於他的某張圖片:

從這張圖片我們又得到了額外信息,他是一位足球運動員。對足球不熟悉的可能還是對他沒有什麼印象。那麼再看看下面這張圖片:

我再加上當初那洗腦的廣告詞:「保護嗓子,請用金嗓子喉片。 廣西金嗓子!」。

這下應該許多人都知道他是誰了,畢竟多年前被這洗腦的廣告語摧殘了很長一段時間。

之所以舉這樣一個例子,是因為,計算機一直面臨著這樣的困境——無法獲取網絡文本的語義信息。儘管近些年人工智慧得到了長足的發展,在某些任務上取得超越人類的成績,但離一臺機器擁有一個兩三歲小孩的智力這樣一個目標還有一段距離。這距離的背後很大一部分原因是機器缺少知識。如同上面的例子,機器看到文本的反應和我們看到羅納爾多葡萄牙語原名的反應別無二致。為了讓機器能夠理解文本背後的含義,我們需要對可描述的事物 (實體) 進行建模,填充它的屬性,拓展它和其他事物的聯繫,即,構建機器的先驗知識。就以羅納爾多這個例子說明,當我們圍繞這個實體進行相應的擴展,我們就可以得到下面這張知識圖。

機器擁有了這樣的先驗知識,當它再次看到 Ronaldo Luís Nazário de Lima,它就會「想」:「這是一個名字叫 Ronaldo Luís Nazário de Lima 的巴西足球運動員。」這和我們人類在看到熟悉的事物,會做一些聯想和推理是很類似的。

Notice: 需要說明的是,上面的知識圖並不代表知識圖譜的實際組織形式,相反,它還會讓讀者對知識圖譜產生一定的誤解。在下一個部分,我會給出這張圖所包含內容在知識圖譜中更形式化的表示。實際上,我看到許多介紹知識圖譜的文章都喜歡給出此種類型的圖,卻又不給出相應的說明,這可能會讓讀者一開始就進入理解的誤區。

Google 為了提升搜尋引擎返回的答案質量和用戶查詢的效率,於 2012 年 5 月 16 日發布了知識圖譜 (Knowledge Graph)。有知識圖譜作為輔助,搜尋引擎能夠洞察用戶查詢背後的語義信息,返回更為精準、結構化的信息,更大可能地滿足用戶的查詢需求。Google 知識圖譜的宣傳語「things not strings」給出了知識圖譜的精髓,即,不要無意義的字符串,而是獲取字符串背後隱含的對象或事物。

還是以羅納爾多為例,我們想知道羅納爾多的相關信息 (很多情況下,用戶的搜索意圖可能也是模糊的,這裡我們輸入的查詢為「羅納爾多」),在之前的版本,我們只能得到包含這個字符串的相關網頁作為返回結果,然後不得不進入某些網頁查找我們感興趣的信息;現在,除了相關網頁,搜尋引擎還會返回一個「知識卡片」,包含了查詢對象的基本信息和其相關的其他對象 (C 羅名字簡稱也為羅納爾多,搜尋引擎只是根據「羅納爾多」的指代概率返回了「肥羅」這個羅納爾多的基本資料,但也許你需要 C 羅的相關信息,那麼搜尋引擎把 C 羅這個實體作為備選項列出),如下圖紅色方框中的內容。如果我們只是想知道羅納爾多的國籍、年齡、婚姻狀況、子女信息,那麼我們不用再做多餘的操作。在最短的時間內,我們獲取了最為簡潔,最為準確的信息。

當然,這只是知識圖譜在搜尋引擎上的一部分應用場景。舉這個例子也是為了表明,知識圖譜這樣一種概念、或者技術,它的誕生是符合計算機科學、網際網路發展潮流的。關於知識圖譜的更多應用,會在之後的另一篇文章中給出。

二、知識圖譜的前世今生

通過上面這個例子,讀者應該對知識圖譜有了一個初步的印象,其本質是為了表示知識。其實知識圖譜的概念並不新,它背後的思想可以追溯到上個世紀五六十年代所提出的一種知識表示形式——語義網絡 (Semantic Network)。語義網絡由相互連接的節點和邊組成,節點表示概念或者對象,邊表示他們之間的關係 (is-a 關係,比如:貓是一種哺乳動物;part-of 關係,比如:脊椎是哺乳動物的一部分),如下圖。在表現形式上,語義網絡和知識圖譜相似,但語義網絡更側重於描述概念與概念之間的關係,(有點像生物的層次分類體系——界門綱目科屬種),而知識圖譜則更偏重於描述實體之間的關聯。

除了語義網絡,人工智慧的分支——專家系統,全球資訊網之父 Tim Berners Lee 於 1998 年提出的語義網(Semantic Web)和在 2006 年提出的關聯數據(Linked Data)都和知識圖譜有著千絲萬縷的關係,可以說它們是知識圖譜前身。

目前,知識圖譜並沒有一個標準的定義 (gold standard definition)。我在這裡借用一下「Exploiting Linked Data and Knowledge Graphs in Large Organisations」這本書對於知識圖譜的定義:

A knowledge graph consists of a set of interconnected typed entities and their attributes.

即,知識圖譜是由一些相互連接的實體和他們的屬性構成的。換句話說,知識圖譜是由一條條知識組成,每條知識表示為一個 SPO 三元組 (Subject-Predicate-Object)。

在知識圖譜中,我們用 RDF 形式化地表示這種三元關係。RDF(Resource Deion Framework),即資源描述框架,是 W3C 制定的,用於描述實體 / 資源的標準數據模型。RDF 圖中一共有三種類型,International Resource Identifiers(IRIs),blank nodes 和 literals。下面是 SPO 每個部分的類型約束:

  1. Subject 可以是 IRI 或 blank node。
  2. Predicate 是 IRI。
  3. Object 三種類型都可以。IRI 我們可以看做是 URI 或者 URL 的泛化和推廣,它在整個網絡或者圖中唯一定義了一個實體 / 資源,和我們的身份證號類似。

literal 是字面量,我們可以把它看做是帶有數據類型的純文本,比如我們在第一個部分中提到的羅納爾多原名可以表示為"Ronaldo Luís Nazário de Lima"^^xsd:string。

blank node 簡單來說就是沒有 IRI 和 literal 的資源,或者說匿名資源。關於其作用,有興趣的讀者可以參考 W3C 的文檔,這裡不再贅述。我個人認為 blank node 的存在有點多餘,不僅會給對 RDF 的理解帶來額外的困難,並且在處理的時候也會引入一些問題。通常我更願意用帶有 IRI 的 node 來充當 blank node,行使其功能,有點類似 freebase 中 CVT(compound value type) 的概念。最後的參考資料會給出一篇寫 blank node 缺陷的博客,有興趣的讀者可以看一看。

那麼「羅納爾多的中文名是羅納爾多·路易斯·納扎裡奧·達·利馬」這樣一個三元組用 RDF 形式來表示就是:

"www.kg.com/person/1"是一個 IRI,用來唯一的表示「羅納爾多」這個實體。"kg:chineseName"也是一個 IRI,用來表示「中文名」這樣一個屬性。"kg:"是 RDF 文件中所定義的 prefix,如下所示。

@prefix kg: http://www.kg.com/ontology/

即,kg:chineseName 其實就是"http:// www.kg.com/ontology/chineseName"的縮寫。

將上面的知識圖用更正式的形式畫出來:

我們其實可以認為知識圖譜就包含兩種節點類型,資源和字面量。借用數據結構中樹的概念,字面量類似葉子節點,出度為 0。現在讀者應該知道為什麼我會說之前那幅圖不準確,並會誤導大家對知識圖譜的理解了吧。"羅納爾多·路易斯·納薩裡奧·德·利馬"作為字面量,是不能有指向外部節點的邊的,況且之前的圖並不能直觀地體現知識圖譜中資源 / 實體 (用 IRI 表示) 這樣一個極其重要的概念。

三、總結

本文通過羅納爾多這個例子引出了知識圖譜的現實需求,繼而給出了知識圖譜的定義和相關概念,並介紹了知識圖譜的 RDF 形式化表示。作為一篇科普文章,文中省略了許多技術細節。後續我會根據語義網技術棧(Semantic Web Stack,如下圖)來介紹知識圖譜實現過程中所需要的具體技術。另外,可能會結合實踐,介紹如何利用關係型資料庫中的數據來構建一個知識圖譜,並搭建一個簡易的基於知識圖譜的問答系統 (KBQA)。

參考連結:

W3C: RDF 1.1 Concepts and Abstract Syntax

https://www.w3.org/TR/rdf11-concepts/

Exploiting Linked Data and Knowledge Graphs in Large Organisations

Google: Introducing the Knowledge Graph: things, not strings

https://link.zhihu.com/?

target=https%3A//googleblog.blogspot.co.uk/2012/05/introducing-knowledge-graph-things-not.html

Blog:Problems of the RDF model: Blank Nodes

https://link.zhihu.com/?

target=http%3A//milicicvuk.com/blog/2011/07/14/problems-of-the-rdf-model-blank-nodes/

Blog:Compound Value Types in RDF

https://link.zhihu.com/?target=http%3A//blog.databaseanimals.com/compound-value-types-in-rdf

Chen, L., Zhang, H., Chen, Y., & Guo, W. (2012). Blank nodes in rdf. Journal of Software, 7(9).

https://link.zhihu.com/?target=https%3A//www.researchgate.net/publication/276240316_Blank_nodes_in_RDF

相關焦點

  • 知識圖譜的皇冠:知識圖譜推理的前世今生
    作者:費斌傑 本文約4200字,建議閱讀8分鐘 本文聚焦於知識推理的理論研究和產業實踐,剖析知識圖譜推理的前世今生以及最近研究進展,以饗讀者。
  • 知識圖譜(02): 語義網絡,語義網,連結數據和知識圖譜
    原文連結:https://zhuanlan.zhihu.com/p/31864048前一篇回顧請戳下面連結:前一篇文章「為什麼需要知識圖譜
  • 知識圖譜是什麼?
    通俗定義:知識圖譜就是把所有不同種類的信息連接在一起而得到的一個關係網絡,因此知識圖譜提供了從「關係」的角度去分析問題的能力。2. 可視化表現如果我們在百度搜索「周杰倫的老婆」的時候,搜索結果不是周杰倫,而是直接返回了昆凌的信息卡片,為什麼呢?
  • 【知識圖譜】知識圖譜嵌入模型簡介
    知識圖譜補全旨在根據知識圖譜中已有事實推斷出新的事實,從而使得知識圖譜更完整。知識圖譜嵌入 (Knowledge Graph Embedding) 是解決知識圖譜補全問題的重要方法之一,它通過將知識圖譜中的實體 (Entity) 和關係 (Relation) 嵌入到連續向量空間,從而在方便計算的同時保留知識圖譜中的結構信息。
  • 知識圖譜發展的難點&構建行業知識圖譜的重要性
    要實現真正的類人智能,機器需要掌握大量的常識性知識,以人的思維模式和知識結構來進行語言理解、視覺場景解析和決策分析。乳腺癌知識圖譜三、為什麼需要知識圖譜知識圖譜把複雜的知識領域及知識體系通過數據挖掘、信息處理、知識計量和圖形繪製顯示出來,表示該領域的發展動態及規律
  • 如何構建知識圖譜?
    本文根據轉轉張青楠老師,在DataFun AI+ Talk中所分享的《二手電商知識圖譜構建以及在價格模型中的應用》編輯整理而成。一、知識圖譜概述這次的分享主要從以下四個部分:知識圖譜概述、知識圖譜構造、轉轉二手電商知識圖譜、在價格模型中的應用。
  • 知識圖譜系列:Task 1 知識圖譜介紹
    /team-learning-nlp/tree/master/KnowledgeGraph_Basic感謝Datawhale社區的無私分享想學習的小夥伴可以一起來1.知識圖譜知識圖譜本質上是語義網絡(Semantic Network)的知識庫。
  • 如何構建知識圖譜
    編輯導語:知識圖譜可以說是一個資料庫,在如今大數據時代,知識圖譜已經是企業中能夠起到很大作用的一個環節,可以提高工作效率等;本文作者分享了關於構建知識圖譜以及問題的解答,我們一起來看一下。知識圖譜作為大數據內容的搬運工,在知識算法和使用上,能夠放大組織沉澱數據應用價值;目前搜索巨頭、購物網站均已經通過應用知識網絡,實現了更深層次的「千人千面」。
  • 知識圖譜在小米的應用與探索
    通過引入知識圖譜,這些產品在內容理解、用戶理解、實體推薦等方面都有了顯著的效果提升。本文的主要內容包括:小米知識圖譜介紹:包括小米的商業模式、小米人工智慧部、知識圖譜在人工智慧部的定位、小米知識圖譜的發展歷程、以及小米知識圖譜的落地場景。小米知識圖譜關鍵技術:小米知識圖譜在成長過程中的技術積累。小米行業知識圖譜探索:結合業務,跟大家分享下小米在行業圖譜上的探索。
  • 知識圖譜:知識圖譜賦能企業數位化轉型 | AI 研習社職播間第 3 期
    現任北京知識圖譜科技有限公司 CEO、中文信息學會語言與知識計算專委會委員、開放知識圖譜聯盟成員。>雷鋒網 AI 研習社將其分享內容整理如下:我是知識圖譜科技有限公司的 CEO 吳剛,很榮幸能來這裡與大家進行分享。
  • 試驗知識圖譜分析
    前言:知識圖譜是知識工程不斷發展衍生出的新一代知識工程技術,知識圖譜的概念最早是由谷歌在2012年正式提出,最初僅應用在智能搜索領域,目前已應用在多垂直領域,比如金融行業、醫療衛生、政府、能源與工業得到廣泛的應用。本期課程重點分為以下四個方面:試驗知識綜述、試驗知識圖譜分析、試驗知識圖譜構建技術和試驗知識圖譜技術展望。
  • 從知識圖譜到認知圖譜:歷史、發展與展望
    雖然針對這些問題的一些修補工作取得了不錯的效果,但是想要真正解決這些問題,或許需要在深度學習時代重新考慮知識表示的框架與方法論,因此,認知圖譜[2]應運而生。認知圖譜可以被解釋為「基於原始文本數據,針對特定問題情境,使用強大的機器學習模型動態構建的,節點帶有上下文語義信息的知識圖譜」。
  • 縱覽知識圖譜在AI領域的有效應用,2019知識圖譜前沿技術論壇即將開幕
    我們分析各種構建方法的問題和挑戰,指出自動構建的要素和應用場景。  滴滴的出行知識圖譜是這些實體、屬性及行為的數位化表示。為了讓數據發揮更大的作用,我們構建並深入挖掘了大規模的領域知識圖譜,並依託這些圖數據構建各種不同場景的有效解決方案。本次報告敘述了領域知識圖譜在滴滴生態中的廣泛研究和應用,包括基於實體圖譜的圖計算、圖嵌入、知識融合等案例服務,以及業務知識圖譜中以智能對話機器人和信息推薦為代表的應用。
  • ACL 2019 知識圖譜的全方位總結
    文章則圍繞ACL大會上關於知識圖譜(KG)的研究進行了詳細且完整的探討的內容,共包含五個部分,分別為:1、基於知識圖譜的對話系統2、知識圖譜事實的自然語言生成3、基於知識圖譜的問答4、基於知識圖譜的NER和關係連結5、知識圖譜嵌入和圖表示一、基於知識圖譜的對話系統
  • 產品經理的知識圖譜應用
    知識圖譜也一樣,圖譜也有上層應用,比如問答機器人、個性化推薦等,通過一定應用介質實現需求的輸入和輸出。2)解決這個問題,是否需要使用知識圖譜?回答這個問題就是需要我們在設計需求的時候,我們通過什麼樣的數據存儲就可以解決我們的業務需求。
  • 區塊鏈學堂|什麼是知識圖譜
    比如在一個電影相關的知識圖譜中會有許多代表電影名稱、導演、演員等相關信息的節點。一個電影節點可以和相關導演及演員節點相關聯。如果有需要的話,我們可以按照這個邏輯將所有電影信息整理成一張巨大的知識圖譜,方便信息的查詢和檢索。由此可見,知識圖譜為信息和數據的融合、統一、連結和復用提供了良好的框架,有助於提高信息數據的管理和分析效率。
  • 是時候該關注「知識圖譜」了!
    知識圖譜是表示關係的最有效的方式,提供了從「關係」的角度分析問題的能力,讓機器能夠像人一樣理解世界、獲取知識,進而做出決策和行動。在大數據的推動下,知識圖譜受到了業界和學術界的廣泛關注。自2012 年Google推出第一版知識圖譜軟體,相繼湧現出一大批面向不同領域和應用的知識圖譜,如Yago,DBpedia,MusicBrainz,PubMed等,為各類智能應用帶來了大量結構化知識。
  • 知識圖譜和問答系統
    巨頭有巨頭的考慮,我們技術人是搞不懂的。成本應該是一個考慮因素,知識圖譜的實現和維護成本肯定比關鍵詞索引高很多。甚至有群友也說了,為什麼搜索要改進啊,如果不進一步跳躍性改進就已經有的賺,提高用戶體驗就沒有迫切性。誰知道,也許還真是這麼回事兒。先發一張我和我搭檔的合影照片,他是一個公司的創始人,當年我倆一起把 How QA商業化,市場需求也是我的搭檔先提出來的。
  • 知識圖譜實戰系列六:Lucene在知識圖譜上構建索引
    這篇文章講講如何在知識圖譜數據集上構建索引進行查詢。倒排索引是一種數據結構,它表示了這樣一種映射,以字或詞或數字為關鍵字進行索引,映射到出現這個字或詞的所有文檔或者資料庫文件。它大概由三部分組成term index、term dictionary 和posting list(倒排表)。索引過程,首要需要找到term(關鍵詞)索引的位置。
  • 知識圖譜助力新基建(新知)
    明略科技首席科學家吳信東認為,知識圖譜技術有助於提升數據的生產要素效能,助力新基建價值最大化。什麼是知識圖譜?通俗地說,就是把所有不同種類的信息連接在一起而得到的一個語義關係網絡。它的一個特點,就是可以抽取實體關係、事件、標籤、模型、規則等條件,形成以圖為基礎的數據形式。