知识图谱综述浅谈
知識圖譜是人工智能領域的一顆掌上明珠,也是當前的一個新興研究熱點。知識圖譜領域的研究和發展,對于智能問答、語義搜索等場景有著巨大應用潛力。
在你的工作當中,是否慢慢的開始遇到一些和知識圖譜相關的技術,想要學習知識圖譜,首先要對所有知識點有一個整體的宏觀的認識。這也是本場 Chat 的目標所在。
在本場 Chat 中,會講到如下內容:
適合人群: 對知識圖譜有興趣的技術人員或科研工作者,希望能對你有所幫助。
知識圖譜入門必知
一、概念提出
了解一門技術,首先要知道這門技術是怎樣提出的?
目前我們所研究的知識圖譜,英文名Knowledge Graph,簡稱KG,是google公司 在 2012 年提出的。當時將知識圖譜這個概念發表在這篇谷歌的 Official Blog:《Introducing the Knowledge Graph:things,not strings》(附在文章最后),想入門知識圖譜的朋友,還是有必要去看一下最初的這篇博客。
通過技術概念的提出,可以看出兩點:
二、知識圖譜定義
了解了知識圖譜的提出后,接下來就要知道,到底什么是知識圖譜?
當前對于知識圖譜的定義眾說紛紜,總結了一下,主要都是從主要從以下幾個角度來描述:
1.從應用的角度
谷歌最初提知識圖譜時,就是從應用的角度來定義的,應用的目的是為了用于谷歌高效的搜索。上述那篇谷歌博客中定義了這么一句話:" the Knowledge Graph, which will help you discover new information quickly and easily",主要從用途上來定義知識圖譜,說的是知識圖譜能夠用來幫助人們快速和簡便發現新的信息。
2.從技術的角度
電子工業出版社 2019 年出版的《知識圖譜方法、實踐與應用》一書中,將知識圖譜概況了一句話:知識圖譜是一種用圖模型來描述知識和建模世界萬物之間的關聯關系的技術方法。這本書也是入門時值得一看的好書。
這里將知識圖譜定義為一種技術,這種觀點目前支持者比較多,主要是認為知識圖譜是包含了知識圖譜建模、知識獲取、知識存儲、知識圖譜應用等一整套的工程技術。
3.從數據模型的角度
從數據模型的角度來看,知識圖譜無論是用于搜索還是智能問答等,其實本質還是知識或者說數據的組織形式,很多文獻都是從這個角度來定義,認為知識圖譜其實是一種結構化的語義知識庫,基本組成單位是實體-屬性-關系。即具有有向圖結構的一個知識庫.理解這個定義的關鍵在于理解里面的圖結構,或者圖模型,這里的圖模型簡單的來說,就是由節點和邊組成。需要注意的是,節點可以是實體,如一個具體的人、一本具體的書等,也可以是抽象的概念,如人工智能、知識圖譜等。邊可以是實體的屬性,如姓名、性別,也可以是實體之間的關系,如朋友、配偶。(這塊如果不理解,可以再看看后面知識圖譜構成)中國古人的五行學說和易經八卦就是對世間萬物進行高度抽象后的知識圖譜。這兒的這幾個節點金木水火土,都是抽象的概念。
4.其他角度
鮑捷老師在 GitChat《深度解析知識圖譜發展關鍵階段及技術脈絡》中,認為知識圖譜從某種程度來說只不過是谷歌提出的一個營銷名詞。Freebase 的背后是一家名叫 Metaweb 的創業公司,2005 年成立,致力于開發用于 W e b 語義服務的開放共享的世界知識庫。創始人之一是希利斯(Danny Hillis)。2010 年 Metaweb 被谷歌收購,谷歌獲得其語義搜索技術,并給它起了個響亮的名字“知識圖譜”。
美團技術團隊認為,知識圖譜作為人工智能時代最重要的知識表示方式之一,知識圖譜能夠打破不同場景下的數據隔離,為搜索、推薦、問答、解釋與決策等應用提供基礎支撐。這里將知識圖譜定義為一種知識表示方式。
可以看出,上述的這些組織或者單位,從不同角度給知識圖譜下了不同定義,有從數據模型角度的定義,也有從技術角度的定義,等等。而我想說的是,對于知識圖譜這個詞本身,我們了解各家說法就足夠了,相比而言,更為重要的是學習它背后的一整套工程技術。
三、知識圖譜構成
發展到今天,從數據模型的角度來說,目前知識圖譜的構成,一般包含以下兩個部分:
比如,一個簡單的含有模式層和數據層的知識圖譜模型如下圖所示
我們可以看到,上述圖中:
四、知識圖譜技術歷史發展
要深入了解一個技術,還要知道這個技術的來龍去脈,知識圖譜是怎樣發展來的呢?
(一)首先要了解人工智能的主要學派有下列三家:(人工智能具體歷史太過于復雜,這里不在贅述)
(1) 連接主義(connectionism),又稱為仿生學派或生理學派,其主要原理為神經網絡及神經網絡間的連接機制與學習算法。這里的智能我理解的是感知智能,比如語音識別、圖像識別,主要讓機器能夠感知周圍事物,而感知智能當前已經發展的非常成熟,比如人臉支付,語音翻譯等已經大規模商用。
(2) 符號主義(symbolicism),又稱為邏輯主義、心理學派或計算機學派,其原理主要為物理符號系統(即符號操作系統)假設和有限合理性原理。這里的智能我理解的是認知智能,也就是讓機器像人一樣思考,能夠自我學習、理解知識,交流問題。知識圖譜就屬于這個學派。
(3) 行為主義(actionism),又稱為進化主義或控制論學派,其原理為控制論及感知-動作型控制系統。這里的智能我理解的是行為智能,比如足球機器人,無人駕駛汽車。
符號派一直以來都處于人工智能研究的核心位置。但是近年來,隨著數據的大量積累和計算能力的大幅提升,深度學習在視覺、聽覺等感知處理中取得突破性進展,進而又在圍棋等博弈類游戲、機器翻譯等領域獲得成功,使得人工神經網絡和機器學習獲得了人工智能研究的核心地位。
深度學習在處理感知、識別和判斷等方面表現突出,能幫助構建聰明的人工智能,但在模擬人的思考過程、處理常識知識和推理,以及理解人的語言方面仍然舉步維艱,這也是知識圖譜發展的潛力所在。
(二)符號主義——知識圖譜歷史發展時間線:
其實早在文藝復興時期,培根就提出了“知識就是力量”,在當今人工智能時代,各大科技公司更是紛紛提出:知識圖譜就是人工智能的基礎。
其實,知識圖譜不是無緣無故誕生的技術,在此之前有許多相關聯的技術給它做了鋪墊:
1960 年,認知科學家 Allan M.Collins 提出用語義網絡(Semantic Network)(注意不是語義網)研究人腦的語義記憶,提出用相互連接的節點和邊來表示知識。節點表示對象、概念,邊表示節點之間的關系。語義網絡可以比較容易地讓我們理解語義和語義關系。其表達形式簡單直白,符合自然。然而,由于缺少標準,其比較難應用于實踐。
1965 年,在斯坦福大學,美國著名計算機學家費根鮑姆帶領學生開發了第一個專家系統 Dendral,這個系統可以根據化學儀器的讀數自動鑒定化學成分。隨著專家系統的提出和商業化發展,知識庫(Knowledge Base)構建和知識表示更加得到重視。專家系統的基本想法是:專家是基于大腦中的知識來進行決策的,因此人工智能的核心應該是用計算機符號表示這些知識,并通過推理機模仿人腦對知識進行處理。依據專家系統的觀點,計算機系統應該由知識庫和推理機兩部分組成,而不是由函數等過程性代碼組成。
1969 年,因特網誕生于美國。它的前身“阿帕網”( ARPAnet)是一個軍用研究系統,后來才逐漸發展成為連接大學及高等院校計算機的學術系統,現在則已發展成為一個覆蓋五大洲 150 多個國家的開放型全球計算機網絡系統,擁有許多服務商。
1980 年,本體論,哲學概念”本體”被引入人工智能領域用來刻畫知識。
1989 年,英國科學家 Tim Berners-Lee 在歐洲高能物理研究所工作的時候,發明了萬維網技術。Tim Berners-Lee 發明的萬維網技術,把信息用網頁(HTML)表示,用超鏈接 HTTP 協議把不同的網頁鏈接起來。萬維網一下子激活了信息組織的靈活性,使萬維網成為了互聯網上的最大應用。
1998 年,在上述技術基礎上,英國科學家 Tim Berners-Lee(還是這個人)又提出語義網,希望把這個萬維網技術向前推進一步。
Tim Berners-Lee 提出了最初的語義網體系結構,隨著人們對語義網的深入研究,語義網的體系結構也在不斷地發展演變。體系結構如下圖所示。可以看出,語義網是傳統人工智能與 Web 融合的結果,是符號主義核心知識表示與推理在現代 Web 中的應用,其中的 RDF/OWL 都是面向 Web 的知識表示語言。
語義網和萬維網、語義網絡的區別如下:
- 萬維網是以文檔來組織的,我們所訪問的網頁、文件,本質上都是一個個文檔,而文檔中存在大量知識,只有人可以讀懂。
- 語義網當中的相關技術 RDF, schema, 和 inference languages 等目的是將萬維網所有的文檔數據降解到數據級別,降解到能夠被計算機所理解的語義,我們就可以將當前網絡上無結構或半結構化的文檔轉換為網絡數據,變成一個巨大的數據庫,從而使計算機與人更好的合作。
- 相對于最早語義網絡,語義網更傾向于描述萬維網中資源、數據之間的關系,語義網中提出了更多規范的標準:例如,RDF 的提出解決了語義網絡的缺點 1 和缺點 2,在節點和邊的取值上做了約束,制定了統一標準,為多源數據的融合提供了便利;W3C 制定的另外兩個標準 RDFS/OWL,解決區分概念和對象的問題,即定義 Class 和 Object(也稱作 Instance, Entity)。
2006 年,Tim Berners Lee(還是這個人)提出鏈接數據。由于語義網的設計模型是“自頂向下”的,大規模情況下實現起來很困難,于是乎,學者們逐漸將焦點轉向數據本身,在這種情況下,Tim Berners-Lee 提出關聯數據(Linked Data)的概念,鼓勵大家將數據公開并遵循一定的原則(2006 年提出 4 條原則,2009 年精簡為 3 條原則)將其發布在互聯網中,鏈接數據起初是用于定義如何利用語義網技術在網上發布數據,其強調在不同的數據集間創建鏈接。
在上述背景下,大型數據集項目越來越多,包括國外的DBpedia 項目、Wikidata 項目、Freebase項目等。在中文社區類似的項目有清華大學的 XLore、復旦大學的 CN-pedia等。
2012 年,谷歌在上述技術的基礎上,特別是依托收購的Freebase,進行改擴充和改進(谷歌自己的專業團隊在Freebase 的基礎上又設計了模式層等),最后提出了知識圖譜,目的是提升搜索引擎返回的答案質量和用戶查詢的效率,有知識圖譜作為輔助,搜索引擎能夠洞察用戶查詢背后的語義信息,返回更為精準、結構化的信息,更大可能地滿足用戶的查詢需求。
知識圖譜和專家系統、本體、語義網、鏈接數據區別如下:
- 知識圖譜和專家系統:知識圖譜技術繼承了知識本體和專家系統的精髓,成為了當代知識表示和推理的重要技術。但知識圖譜與傳統專家系統時代的知識工程有著顯著的不同。傳統專家系統時代主要依靠專家手工獲取知識,構建規則,而現代知識圖譜的顯著特點是規模巨大,無法單一依靠人工和專家構建。
- 知識圖譜和本體:知識圖譜與本體的相同之處在于:二者都通過定義元數據以支持語義服務。不同之處在于: 知識圖譜更靈活, 支持通過添加自定義的標簽劃分事物的類別。本體側重概念模型的說明,能對知識表示進行概括性、抽象性的描述,強調的是概念以及概念之間的關系。大部分本體不包含過多的實例, 本體實例的填充通常是在本體構建完成以后進行的.。知識圖譜更側重描述實體關系, 在實體層面對本體進行大量的豐富與擴充.。可以認為, 本體是知識圖譜的抽象表達, 描述知識圖譜的上層模式; 知識圖譜是本體的實例化, 是基于本體的知識庫。
- 知識圖譜和語義網:知識圖譜繼承了語義網的知識表示方法,比如說和RDFS和OWL具有緊密的關系,因為知識圖譜可以看成是一種知識存儲的數據結構,本身并不具備形式化的語義,但是可以通過RDFS 或者OWL 的規則應用于知識圖譜進行推理,從而賦予知識圖譜形式化語義。從某種角度說,知識圖譜就是大規模語義網,也是對鏈接數據這個概念的進一步包裝。
- 知識圖譜和鏈接數據:鏈接數據技術直接促成了谷歌的知識圖譜技術(Knowledge Graph)。鏈接數據和知識圖譜最大的區別在于:1. 鏈接數據更強調不同 RDF 數據集(知識圖譜)的相互鏈接。2. 知識圖譜不一定要鏈接到外部的知識圖譜(和企業內部數據通常也不會公開一個道理),更強調有一個本體層來定義實體的類型和實體之間的關系。另外,知識圖譜數據質量要求比較高且容易訪問,能夠提供面向終端用戶的信息服務(查詢、問答等等)。
五、知識圖譜分類
近年來,不管是學術界還是工業界都紛紛構建自家的知識圖譜,按應用來說,主要可以分為兩大類:
- 一是通用知識圖譜,又叫做開放領域知識圖譜。通俗講就是大眾版,沒有特別深的行業知識及專業內容,一般是解決科普類、常識類等問題。
- 二是行業知識圖譜,又叫做特定領域知識圖譜,又叫做垂直領域知識圖譜。通俗講就是專業版,根據對某個行業或細分領域的深入研究而定制的版本,主要是解決當前行業或細分領域的專業問題。
兩種類型的知識圖譜區別其實比我們想象的要大:
- 通用知識圖譜通常包含的節點和關系非常多,甚至是無限多個,一個問題是很難在體量上做到全面,另外一個是最終的準確性很難去判別,很多通用性知識不是非對即錯的。
- 行業知識圖譜知識圖譜節點和關系類型很有限,對準確性和圖譜的質量強調較高,最大的問題是在專業領域,構建圖譜所需的語料一般都比較缺乏。
六、知識圖譜技術應用
那么,學習知識圖譜可以做什么用?目前主要又以下幾個用途。
1.智能問答
從人工智能發展的歷史就可以看出,知識圖譜作為符號主義的一部分,最主要的是要解決認知智能的問題,知識圖譜從既然是一張事物關系圖,可以建模世間萬物,最主要是用它來作為聊天機器人的“大腦”,用來做智能問答系統。
- 優勢是對一些關聯性問題,比如“姚明的妻子是誰?”,“谷歌的總裁是誰?”,機器可以利用知識圖譜可以效率很高的進行回答。
- 但從實際的效果來看,現階段,絕大部分產品只能完成簡單的問答和對話。其實我們思考一下,對于以下幾種問題是難度非常大的,一是存在歧義的時候,比如“你喜歡蘋果嗎”,這里的蘋果是水果還是手機,實體消岐問題。二是有上下文關聯問題時,和機器聊天,如果我問“我今天問的蘋果和昨天問的蘋果一樣嗎”,這種機器就很難,因為我們目前見到的聊天機器人都只能回答單個問題。三是要用到邏輯推理時,我認為這個時最難的,人的聯想和推理能力目前機器很難超越,比如我問機器“湖人隊如果贏了火箭隊,誰能當美國總統”,機器能否理解這個問題是無厘頭問題都比較難,說不定會回答一堆別的東西。
2.語義搜索
知識圖譜比搜索引擎做的效果要好的多。比如搜索香蕉的顏色是什么?搜索引擎會返回給用戶一堆網頁,讓用戶自己判斷,而知識圖譜系統會直接返回知識:黃色。
3.個性化推薦
個性化推薦是指基于用戶畫像, 不同的用戶會看到不同的推薦結果, 有著重要的商業價值。
例如: 基于商品間的關聯信息以及從網頁抽取的相關信息, 構建知識圖譜, 當用戶輸入關鍵詞查看商品時, 基于知識圖譜向用戶推薦可能需要的相關知識, 包括商品結果、使用建議、搭配等, 通過“你還可能感興趣的有”、“猜您喜歡”或者是“其他人還在搜”進行相關的個性化推薦。
最后附上谷歌 2012 年的這篇博客:
《Introducing the Knowledge Graph:things,not strings》Search is a lot about discovery—the basic human need to learn and broaden your horizons. But searching still requires a lot of hard work by you, the user. So today I’m really excited to launch the Knowledge Graph, which will help you discover new information quickly and easily.
Take a query like [taj mahal]. For more than four decades, search has essentially been about matching keywords to queries. To a search engine the words [taj mahal] have been just that—two words.
But we all know that [taj mahal] has a much richer meaning. You might think of one of the world’s most beautiful monuments, or a Grammy Award-winning musician, or possibly even a casino in Atlantic City, NJ. Or, depending on when you last ate, the nearest Indian restaurant. It’s why we’ve been working on an intelligent model—in geek-speak, a “graph”—that understands real-world entities and their relationships to one another: things, not strings.The Knowledge Graph enables you to search for things, people or places that Google knows about—landmarks, celebrities, cities, sports teams, buildings, geographical features, movies, celestial objects, works of art and more—and instantly get information that’s relevant to your query. This is a critical first step towards building the next generation of search, which taps into the collective intelligence of the web and understands the world a bit more like people do.
Google’s Knowledge Graph isn’t just rooted in public sources such as Freebase, Wikipedia and the CIA World Factbook. It’s also augmented at a much larger scale—because we’re focused on comprehensive breadth and depth. It currently contains more than 500 million objects, as well as more than 3.5 billion facts about and relationships between these different objects. And it’s tuned based on what people search for, and what we find out on the web.The Knowledge Graph enhances Google Search in three main ways to start:
1.Find the right thing
Language can be ambiguous—do you mean Taj Mahal the monument, or Taj Mahal the musician? Now Google understands the difference, and can narrow your search results just to the one you mean—just click on one of the links to see that particular slice of results:
2.Get the best summaryWith the Knowledge Graph, Google can better understand your query, so we can summarize relevant content around that topic, including key facts you’re likely to need for that particular thing. For example, if you’re looking for Marie Curie, you’ll see when she was born and died, but you’ll also get details on her education and scientific discoveries:
How do we know which facts are most likely to be needed for each item? For that, we go back to our users and study in aggregate what they’ve been asking Google about each item. For example, people are interested in knowing what books Charles Dickens wrote, whereas they’re less interested in what books Frank Lloyd Wright wrote, and more in what buildings he designed.
The Knowledge Graph also helps us understand the relationships between things. Marie Curie is a person in the Knowledge Graph, and she had two children, one of whom also won a Nobel Prize, as well as a husband, Pierre Curie, who claimed a third Nobel Prize for the family. All of these are linked in our graph. It’s not just a catalog of objects; it also models all these inter-relationships. It’s the intelligence between these different entities that’s the key.
3.Go deeper and broader
Finally, the part that’s the most fun of all—the Knowledge Graph can help you make some unexpected discoveries. You might learn a new fact or new connection that prompts a whole new line of inquiry. Do you know where Matt Groening, the creator of the Simpsons (one of my all-time favorite shows), got the idea for Homer, Marge and Lisa’s names? It’s a bit of a surprise:
We’ve begun to gradually roll out this view of the Knowledge Graph to U.S. English users. It’s also going to be available on smartphones and tablets—read more about how we’ve tailored this to mobile devices. And watch our video (also available on our site about the Knowledge Graph) that gives a deeper dive into the details and technology, in the words of people who’ve worked on this project.
We hope this added intelligence will give you a more complete picture of your interest, provide smarter search results, and pique your curiosity on new topics. We’re proud of our first baby step—the Knowledge Graph—which will enable us to make search more intelligent, moving us closer to the “Star Trek computer” that I’ve always dreamt of building. Enjoy your lifelong journey of discovery, made easier by Google Search, so you can spend less time searching and more time doing what you love.
Posted by Amit Singhal, SVP, Engineering
閱讀全文: http://gitbook.cn/gitchat/activity/5e5cf5a990867262b3e6319d
您還可以下載 CSDN 旗下精品原創內容社區 GitChat App , GitChat 專享技術內容哦。
總結
- 上一篇: 游戏运营必须知道的知识(二),入行必备!
- 下一篇: consul知识梳理与环境搭建