課程目錄

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

當你看見下面這一串文本你會聯(lián)想到什么?

Ronaldo Luís Nazário de Lima

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

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

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

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

我再加上當初那洗腦的廣告詞:“保護嗓子,請用金嗓子喉片。 廣西金嗓子!”。這下應該許多人都知道他是誰了,畢竟多年前被這洗腦的廣告語摧殘了很長一段時間。

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

機器擁有了這樣的先驗知識,當它再次看到 Ronaldo Luís Nazário de Lima,它就會“想”:“這是一個名字叫 Ronaldo Luís Nazário de Lima 的巴西足球運動員。”這和我們?nèi)祟愒诳吹绞煜さ氖挛铮瑫鲆恍┞?lián)想和推理是很類似的。

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

Google 為了提升搜索引擎返回的答案質(zhì)量和用戶查詢的效率,于 2012 年 5 月 16 日發(fā)布了知識圖譜 (Knowledge Graph)。有知識圖譜作為輔助,搜索引擎能夠洞察用戶查詢背后的語義信息,返回更為精準、結(jié)構(gòu)化的信息,更大可能地滿足用戶的查詢需求。Google 知識圖譜的宣傳語“things not strings”給出了知識圖譜的精髓,即,不要無意義的字符串,而是獲取字符串背后隱含的對象或事物。還是以羅納爾多為例,我們想知道羅納爾多的相關信息 (很多情況下,用戶的搜索意圖可能也是模糊的,這里我們輸入的查詢?yōu)椤傲_納爾多”),在之前的版本,我們只能得到包含這個字符串的相關網(wǎng)頁作為返回結(jié)果,然后不得不進入某些網(wǎng)頁查找我們感興趣的信息;現(xiàn)在,除了相關網(wǎng)頁,搜索引擎還會返回一個“知識卡片”,包含了查詢對象的基本信息和其相關的其他對象 (C 羅名字簡稱也為羅納爾多,搜索引擎只是根據(jù)“羅納爾多”的指代概率返回了“肥羅”這個羅納爾多的基本資料,但也許你需要 C 羅的相關信息,那么搜索引擎把 C 羅這個實體作為備選項列出),如下圖紅色方框中的內(nèi)容。如果我們只是想知道羅納爾多的國籍、年齡、婚姻狀況、子女信息,那么我們不用再做多余的操作。在最短的時間內(nèi),我們獲取了最為簡潔,最為準確的信息。

當然,這只是知識圖譜在搜索引擎上的一部分應用場景。舉這個例子也是為了表明,知識圖譜這樣一種概念、或者技術(shù),它的誕生是符合計算機科學、互聯(lián)網(wǎng)發(fā)展潮流的。關于知識圖譜的更多應用,會在之后的另一篇文章中給出。

二、知識圖譜的前世今生

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

除了語義網(wǎng)絡,人工智能的分支——專家系統(tǒng),萬維網(wǎng)之父 Tim Berners Lee 于 1998 年提出的語義網(wǎng)(Semantic Web)和在 2006 年提出的關聯(lián)數(shù)據(jù)(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.

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

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

Subject 可以是 IRI 或 blank node。

Predicate 是 IRI。

Object 三種類型都可以。IRI 我們可以看做是 URI 或者 URL 的泛化和推廣,它在整個網(wǎng)絡或者圖中唯一定義了一個實體 / 資源,和我們的身份證號類似。

literal 是字面量,我們可以把它看做是帶有數(shù)據(jù)類型的純文本,比如我們在第一個部分中提到的羅納爾多原名可以表示為"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 形式來表示就是:

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

三、總結(jié)

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

          課程目錄
1. 1.1語言與知識
2. 1.2知識圖譜的起源
3. 1.3知識圖譜的價值
4. 1.4知識圖譜的技術(shù)內(nèi)涵
5. 2.1什么是知識表示
6. 2.2人工智能歷史發(fā)展長河中的知識表示
7. 2.3知識圖譜的符號表示方法
8. 2.4知識圖譜的向量表示方法
9. 3.1基于關系型數(shù)據(jù)庫的知識圖譜存儲
10. 3.2基于原生圖數(shù)據(jù)庫的知識圖譜存儲
11. 3.3原生圖數(shù)據(jù)庫實現(xiàn)原理淺析
12. 4.1重新理解知識工程與知識獲取
13. 4.2.1知識抽取實體識別與分類(一)
14. 4.2.2知識抽取實體識別與分類(二)
15. 4.3.1知識抽取關系抽取與屬性補全(一)
16. 4.3.2知識抽取關系抽取與屬性補全(二)
17. 4.4知識抽取概念抽取
18. 4.5知識抽取事件識別與抽取
19. 4.6知識抽取技術(shù)前沿
20. 5.1什么是推理
21. 5.2知識圖譜推理簡介
22. 5.3.1基于Ontology的推理
23. 5.3.2基于規(guī)則的推理
24. 5.4.1基于嵌入學習的知識圖譜推理
25. 5.4.2基于規(guī)則學習的知識圖譜推理
26. 5.4.3OntologyEmbedding本體概念層推理
27. 6.1知識圖譜融合概述
28. 6.2概念層融合本體匹配
29. 6.3實例層的融合實體對齊
30. 6.4知識融合技術(shù)前沿
31. 7.1智能問答系統(tǒng)概述
32. 7.2基于查詢模版的知識圖譜問答
33. 7.3基于語義解析的知識圖譜問答
34. 7.4基于檢索排序的知識圖譜問答
35. 7.5基于深度學習的知識圖譜問答
36. 8.1圖的基本知識
37. 8.2基礎圖算法
38. 8.3.1圖神經(jīng)網(wǎng)絡與圖表示學習(一)
39. 8.3.2圖神經(jīng)網(wǎng)絡與圖表示學習(二)
40. 8.4圖神經(jīng)網(wǎng)絡與知識圖譜
41. 9.1多模態(tài)知識圖譜
42. 9.2知識圖譜與語言預訓練
43. 9.3事理知識圖譜
44. 9.4知識圖譜與低資源學習

郵箱
huangbenjincv@163.com

天全县| 即墨市| 彭泽县| 措美县| 连平县| 从化市| 尚义县| 来宾市| 沙河市| 南宫市| 舞钢市| 扬中市| 铜梁县| 都江堰市| 连山| 万源市| 牟定县| 旬阳县| 临泽县| 格尔木市| 汉寿县| 泸州市| 宜都市| 凤凰县| 竹山县| 温州市| 龙江县| 鸡泽县| 深圳市| 卓资县| 宜兰市| 策勒县| 江油市| 苍南县| 都江堰市| 伊春市| 吉木萨尔县| 龙山县| 高邑县| 南部县| 孙吴县|