1. 程式人生 > >知識圖譜關鍵技術及行業應用解讀

知識圖譜關鍵技術及行業應用解讀

本文來自公眾號PlantData知識圖譜實戰(ID:KGPlantData),內容整理自胡芳槐博士6月9日北理工知識圖譜實戰學習活動上分享的《知識圖譜應用關鍵技術及行業應用》。

今天我要分享的主題是知識圖譜應用關鍵技術及我們在行業應用中的一些探索,其實剛剛漆老師已經給我們分享了一個非常有趣的知識圖譜應用,就是佛學。

那麼剛剛提到的佛學考試,可能現在確實不多,但是最近大家應該能夠看到,在我們的朋友圈中有一些高考機器人的文章被刷屏,也就是有很多的學霸被這些機器人所代替了,其實他們後面很大程度的用了知識圖譜相關的技術。

今天我的分享分為兩個部分:

  • 第一個就是對知識圖譜及知識圖譜應用的技術做一個分享;
  • 然後是對我們應用知識圖譜在企業大資料方面的一些探索。

圖片描述
圖片描述

首先我們按照慣例,看一下什麼是知識圖譜,我這裡引用的是語義網之父的一句話:語義網它是一個面向資料的網際網路,從某種含義上來說,它其實就是一個全域性的資料庫。

什麼是一個面向資料的網際網路?

我們都知道,現在我們看到的網站,可以說是面向文件和網頁的一個網際網路,在這個網際網路中間,它的主要資訊是通過網頁來表達的,網頁方便之處是易於被人類所理解,所以平時我們查閱資訊還是比較方便的,但是它有一個缺點,就是語義資訊不足,所以機器理解起來比較困難,現在我們的網際網路正在轉變,它在轉變成為一種面向資料的網際網路,在這種互聯網裡面,它的資訊和資料是可以被機器理解的。

圖片描述

我們看一下什麼是面向資料的網際網路,現在我們的網際網路中間,它不應該只是一個個的網頁,它應該更多的是一個個的事物,或者說是一個個的實體,就像我們這個圖中間看到的,互聯網裡麵包含的更多的是對這些具體事物的描述。這張圖裡麵包含了建築、糖果、化學物,還有藝術作品等。

圖片描述

這就是面向資料的網際網路中具體的事物,這些事物本身並不是孤立的,它們相互關聯,這就構成了這些事物之間的各種各樣的關聯關係,這可以說是面向資料的網際網路的本質:首先有各種各樣的事物,然後是這些事物之間的關聯關係。

圖片描述

我們再來看一下,為什麼會出現面向資料的網際網路這樣一個概念,從07年左右開始,我們可以看到,開放連結資料越來越多,這個圖從07年到現在,正好是10年左右的時間,我們可以看到它的發展是非常快的,這個網路在不斷的增加。這些資料相對來說都是結構化附有語義的,是一個個具體的事物。

圖片描述

在這一背景下面,Google在12年的時候,提出了“知識圖譜”的概念,剛剛漆老師提到,Google主要用它來構建下一代的搜尋引擎,Google提出知識圖譜的時候,用了這麼一個短句:

Things, not strings!

也就是說,在網際網路中它不是一個個字串,而是一個個真實存在的事物,事物之間還有相應的關聯關係,右下角圖我們可以看到,裡面有人物,並且還有他們之間的關聯。

圖片描述

什麼是知識圖譜?

其實定義是非常多的,我這裡提供一個我們自己的理解:知識圖譜主要的目標是用來描述真實世界中間存在的各種實體和概念,以及它們之間的關聯關係。

我們最開始的時候也提到了,它是一個全域性的資料庫,在這個全域性的資料庫中間,更多的希望它所有的事物都有一個全域性唯一確定的ID,就像網頁一樣,每個網頁都有一個唯一的url來標識,對每個實體和概念,我們也同樣的用這麼一個ID去描述,稱之為識別符號。

同時對於這些實體,它們的屬性,我們就用“屬性–值對“來刻畫它的內在特性,比如說我們的人物,他有年齡、身高、體重屬性;同時我們還用關係來描述兩個實體之間的關聯。

下面這兩個圖,就體現了事物和它們之間的關係。

圖片描述

知識圖譜的概念還是比較明確的,但是有很多朋友還是會存在疑問。

知識圖譜和本體到底有什麼關係?

知識圖譜並不是一個全新的東西,而是在以前的技術或理論上面,進行的一個重新的定義,引入了一個新的概念。

  • 知識圖譜本身不是本體的一個替代品,是在本體的基礎上面做了一個豐富和擴充,這種擴充主要體現在實體層面。
  • 本體中突出的主要是概念和概念之間的關聯關係,而知識圖譜描述的主要是實體,對這些實體我們通常還會去描述它更加豐富的資訊。
  • 用一句簡單的話來說就是:本體描述了知識圖譜的資料模式,本體的動態的特性賦予了知識圖譜動態資料模式支援的能力。

這一特性很重要,會用在我們很多的地方,比如說我們在Linked Open Data裡面就用到了這種理念,同時我們提到了在後面企業大資料的應用裡面,其實也會用到這個特性,它可以支援資料動態變遷的能力。

知識圖譜有哪些用途?

我們這裡列舉了一些,主要是人工智慧相關的,因為現在人工智慧非常火爆。

  • 第一個就是用來搜尋,這也是Google提出知識圖譜的初衷;
  • 第二個就是聊天機器人,我相信在坐的各位或多或少都有用過,比如說微軟的小冰,王昊奮老師公司的公子小白;
  • 第三個就是用來做問答,有一個貢獻非常大的,就是IBM Watson,這在業內非常有名;
  • 然後現在還有很多私人的助理,比如說我們蘋果手機裡的Siri,還有微軟的小娜,百度的度祕;
  • 同時我們還有很多的穿戴裝置,它裡面也用到了知識圖譜相關的技術,比如iWatch裡面就用了;
  • 最後一個就是我們出行的助手,國內做的非常好的“出門問問”,它也是用了相關的技術。

以上是對知識圖譜用途的一個簡單的介紹。

圖片描述

接下來我們來看知識圖譜的第一個應用,也就是知識圖譜提出的初衷——用來改善搜尋。

如果我們現在去 Google 搜北京理工大學的時候,我們可以看到右邊有一個知識卡片,它裡面包含了北理工的很多基本介紹,同時還有一些基本的屬性,這是知識圖譜用在搜尋裡面給我們帶來的第一個變化;

圖片描述

如果我們再用百度試一下,很多人搜的時候可能會想,如果要考北京理工大學,大概要多少分,正好這兩天也是高考的時間,現在我們搜的時候可以看到,在不同的區域,它會根據你的定位,自動把北理工在當前省份去年、前年和前幾年的一個分數展示出來,同時我們也可以看到一個地圖,地圖的作用是告訴你北理工在什麼地方。

通過知識圖譜,我們在搜尋引擎裡面可以看到豐富的結果,在右邊我們可以看到和北理工相關的高校,以及和北理工相關的其他一些事物,這就是知識圖譜給我們帶來的搜尋的改變。

圖片描述

同時我們還可以看到,在搜尋結果裡面,不僅僅是一些結構化的資訊,它還有很多關聯的關係。

比如我們去搜SuperCell這家公司,這是一個遊戲公司,我們可以看到它的很多相關聯資訊,比如CEO、母公司、建立地址,它是被騰訊收購的一家創建於荷蘭的公司。

圖片描述

除了在搜尋引擎裡面,在社交網路中也用到了知識圖譜,如果用過Facebook,它就用了知識圖譜的技術去連結裡面的人物、地點和事件,正如我們舉的兩個例子:如果去搜喜歡哈佛大學的人,它可以直接給你答案;第二個例子,搜去過哈佛大學的人,它同樣可以給你答案;

圖片描述

這就是在社交網路裡面的應用。

再看另外一個例子,這個例子更加複雜。

如果你去搜喜歡哈佛大學,喜歡籃球並且在Facebook工作的人,這其實是一個比較複雜的搜尋,或者我們可以把它看作一個問答,這也是知識圖譜能夠給我們帶來的改變,也就是你搜的時候直接能夠給你答案。

圖片描述

以上是在通用知識圖譜或者社交網路中有這些應用,在行業中也有類似的使用知識圖譜技術的產品。

比如金融領域的問財,如果在裡面搜“萬科A”,它就會很明確的告訴你,搜尋的是一個股票,股票最關注的就是它最近的波動,問財會自動的把萬科A最近股價波動的曲線給展示出來,同時還會告訴你萬科A是房地產行業的,並且在右下方推薦房地產相關行業的公司。

這是知識圖譜在行業裡面的一些應用。

圖片描述

我們也做了一些探索,在創投知識圖譜,也就是對一些初創企業的投資資訊。比如“嘀嘀打車”,它的公司名叫“北京小桔科技有限公司”,我們去搜的時候,就會去猜測使用者最關心什麼?

第一個關心的應該是它的融資事件和歷史,我們會用一個時序的圖把融資的歷史給體現出來;同時對一家初創企業,我們還會關心它的創始人,創始人有哪些,背景如何?我們會一併展示出來;同時還有一些相關的熱點事件新聞,這些都是知識圖譜在搜尋裡面給我們帶來的一些變化。

圖片描述

搜尋如果往後再延伸一步的話,就是問答,我們再來看知識圖譜下一個應用場景:

自動問答

自動問答目前也是一個非常熱門的方向,這可能是面向應用最直接的方式,目前不管是學術界還是工業界都在做相關的研究,這裡有兩個例子,左邊是百度的度祕,右邊是蘋果的Siri,可以看到自然語言問答的結果。

圖片描述

現在還有一個比較火的領域就是兒童機器人,這是王昊奮老師上期PPT分享中的一個圖,我們可以看到聊天機器人從10年的時候開始流行,一直到現在已經出現了很多具有代表性的產品,其中包含Siri,小冰,IBM Watson,公子小白等。

圖片描述

什麼是智慧問答?

智慧問答是指使用者以自然語言提問的形式提出資訊查詢需求,系統依據對問題的分析,從各種資料資源中自動找出準確的答案。

這就是自動問答要做的事情,它的應用可以分為以下幾類:

  • 第一就是情感聊天,典型應用是微軟小冰,公子小白;
  • 然後是做私人祕書和個人助理,典型代表就是度祕和Google Allo;
  • 還有作為領域知識的問答,比如IBM Watson,在醫療以及很多其他的領域都有相應的應用;
  • 還有很多企業用來做智慧客服,因為客服可能是一個比較枯燥的工作,利用智慧客服來代替他們的工作可以省掉很多的人力成本。

我們對知識圖譜問答做一個分類可以分為:

  • 開放領域自動問答,
  • 特定領域的自動問答,
  • 常用問題集自動問答,我們稱為FAQ。

FAQ在很多場景下面已經達到了很好的效果,但是客觀的評價,在開放領域的自動問答還處於一個比較初級的階段,所以現在更多成功的用例是在特定領域裡面,特定領域裡面我們一般是基於行業去做,以上是智慧問答的一個分類。

圖片描述

智慧問答依賴於一些關鍵的基礎及技術,一般需要大量高質量的資料和知識庫,這就是我們今天分享的話題,知識圖譜;同時還依賴於強大的NLP技術的支撐,需要NLP技術對問題進行解析;同時如果擁有大規模訓練語料的話就更加好了,因為現在深度學習是一種趨勢。

如果你有大規模語料,尤其是問答對的話,就可以利用深度學習去提供這種端到端的智慧問答。

圖片描述

接下來描繪一下自動問答的基本過程。

  • 從使用者輸入開始,我們的輸入是自然語言,輸入進去以後,第一步會對你的問題進行解析;
  • 解析完以後就會去理解你的真實意圖,去猜測你要查的到底是什麼東西;
  • 然後根據對你意圖的理解,去查詢和檢索;
  • 最後是對查詢和檢索的結果做一個候選答案的生成和排序;
  • 最終再通過一些排序的演算法進行最終結果的輸出。

圖片描述

智慧問答現在的方法主要有這麼幾類:

  • 第一個是基於資訊檢索的方法,
  • 第二個是基於語義分析的方法,
  • 第三個是基於規則的專家系統方法,
  • 然後是現在研究的比較火的一個基於深度學習的方法。

接下來對幾種方法做一個介紹。

基於資訊檢索的方法

這個方法更多的還是和傳統的檢索技術非常相似,首先利用分詞、命名實體識別等相關NLP工具去對問句進行解析,得到中間的關鍵詞,進一步得到實體,得到這些關鍵詞和實體之後,再去資源庫裡進行檢索。

它有個缺點,如果我們做過檢索,或者在百度或Google中檢索過就會發現一個問題,它要求你的答案必須至少包含問句中的一個字或詞,所以查全率方面相對會比較低。

如果有了知識圖譜以後我們就可以進行改進,可以基於知識圖譜對它進行語義的擴充,當對問句進行分詞、命名實體識別之後,可以從知識圖譜裡面去找其它的同義詞,或者實體其它的稱呼,就可以對其進行語義的擴充,去提高它的匹配率。

同時我們做搜尋的朋友應該都會遇到一個問題就是消岐的問題,也就是同一個詞或字串,它代表不同的含義。我們經常的舉的一個例子,就是“蘋果”,它可能代表很多東西,可以代表水果,也可以是代表蘋果公司,也可以代表蘋果公司的一些產品,如果通過關鍵字檢索的話,那麼很難對這些結果進行語義上的區分,所以有了知識圖譜之後,就可以從實體的角度去理解。

基於語義分析的方法

這個方法非常直觀,它和人的理解非常相似,就是把自然語言的一個問句,按照特定的語法或語言的規則去進行解析,形成一個語義的表示式,得到這個表示式以後,用這個表示式可以明確的去描繪你的意圖,然後就可以非常方便的轉換成為一種查詢語言,這種查詢語言可以是資料庫的查詢語言,也可以是其它的查詢語言。這取決於你的資料,你的查詢目標是放在什麼地方。

常用的方法就是利用組合範疇語法(CCG)的方式,這種語法最核心的就是詞彙,首先我們還是離不開自然語言處理去做對映得到詞彙,然後再用語法的規則把這些詞彙進行語義上的組合,最終得到語義表示式。

這裡面是有一個難點的,也就是中文的自然語言分析尤其是語義分析的準確率,很難達到工業可用的級別,一般通常還是在50%以內,所以這是語義分析方法很難的一個問題,所以如果我們是面向通用的問答去做,它的準確率比較低,因此通用領域的智慧問答還處於一個比較初級的階段。

怎麼去改進?同樣可以利用知識圖譜。但是通用的知識圖譜的質量並不能保證,所以它很難在通用的領域利用知識圖譜去做很大的改善,所以通常在做的時候,包括我們自己在探索的時候,會在特定的領域裡去做。我們會基於知識圖譜裡面的實體、屬性、概念去對問題裡面的詞或實體進行解析和對映,然後再基於圖結構做一個語法規則的匹配,這就相當於是圖裡面的子圖查詢匹配問題,通過這種方式,我們就可以把語義解析的範圍範疇進行限定,限定範圍以後,因為裡面知識足夠多,並且在領域裡面,我們通常還是可以構建相對可靠的知識圖譜,從而可以得到正確率比較高的解析,最後再去進行檢索,就可以大大改善自動問答的準確率。

基於規則的專家系統方法

第三種方法可以說是比較無腦的,也就是上世紀80年代用的比較多的。

這種方法它的好處非常明顯,如果你命中的話準確率非常高,基本上可以達到100%,但他的缺陷也很明顯,如果你的問題或應用的領域比較多的話,那麼它肯定是不能支援的,因為專家系統的範圍一般比較窄,並且其可擴充套件性、可複用性也是比較差的,如果要構建一個專家系統,需要花費很大的精力,這種方式也通常不可複製。

所以缺點就是通用性比較差,不能覆蓋很多應用場景。

基於深度學習的方法

這種最近幾年非常熱的。深度學習,尤其是Alpha Go出來以後,把它推向了一個高峰。近幾年卷積神經網路,迴圈神經網路這種相關的技術在NLP領域也得到了比較好的應用,並取得了比較好的成果。它主要用來做語言的表示,語言表示就可以擴充套件到問答裡面,就是前面的每一個關鍵任務,比如在做語言的語義解析的時候,在做問題和答案的匹配、生成的時候,都可以用到。簡單來說就是對使用者的輸入進行解析,對答案檢索查詢環節進行優化,這是目前用的較多的一種方法。

還有一種使用的方式,就是前面提到的使用深度學習去訓練端到端的自動問答,把問題和答案均使用複雜的特徵向量進行描述,然後用深度學習來計算問題和答案之間的相似度,最終給出答案。要實現端到端的自動問答,有一個前提就是需要有大規模的語料。

這是自動問答的四種方法,知識圖譜在所有的方法裡面都是有用的,我們概括一下,知識圖譜可以算是自動問答裡面的大腦:

  • 它可以輔助去做使用者輸入的解析,進行語義的擴充套件;
  • 它可以輔助你去理解使用者的意圖,從“字串”到“實體”,也就是到實體級別的去理解;
  • 然後再去進行知識的推理,知識推理之後你不僅可以得到表面的知識,而且可以得到深度的知識;
  • 然後它還可以輔助去做答案的生成。

知識推理可以說是問答系統提高“智力”的一個核心環節,怎麼去提高的,等會我們會介紹知識推理相關的一些技術。

這是我們在智慧問答裡面的一些探索,可以說是基於語義解析的一種自動問答,我們主要還是應用在行業裡面,從使用者輸入開始,我們會基於知識圖譜對概念、實體、屬性以及一些相關的運算子,進行分詞匹配,然後把它與知識圖譜裡面的元素進行對映;接下來一步就是做語義的解析和驗證,知識圖譜的結構性特別強,所以我們在做語義理解解析的時候,可以用知識圖譜這種圖結構去輔助進行理解。

在語義解析和驗證這個環節裡面,我們應用了知識圖譜的結構,比如說實體和屬性的連結、實體和實體之間的連結,都是代表語義上面的一些含義。

做完語義解析以後,接下來就是做查詢的轉換,知識圖譜是存在相應的圖儲存裡面,對其做相應的查詢轉換非常方便;最後再去資料的資源裡面去進行查詢,最終返回結果。

右邊是我們在海洋知識圖譜裡面做的一個應用的案例,這個例子是我們在查最大的三種魚,首先我們對問題進行實體的解析,其次再去進行語義的解析,然後再去進行查詢,最終給出答案。

圖片描述

以上我們自己在基於語義解析的自動問答系統裡面做的一些探索。

剛剛把知識圖譜最常用的兩個應用場景做了一個簡單的描述:一個是搜尋,一個是自動問答。

接下來我們對知識圖譜應用相關的一些技術做一個描述。

知識圖譜的應用技術今天主要分享三類:

  • 圖挖掘和圖計算;
  • 視覺化;
  • 知識推理。

知識圖譜之上的圖挖掘和計算

有這麼一些演算法:

  • 第一個是圖遍歷,知識圖譜構建完之後可以理解為是一張很大的圖,怎麼去查詢遍歷這個圖,要根據圖的特點和應用的場景進行遍歷;
  • 第二個就是圖裡面經典的演算法,最短路徑;
  • 第三個是路徑的探尋,即給定兩個實體或多個實體去發現他們之間的關係;
  • 第四個是權威節點的分析,這在社交網路分析中用的比較多;
  • 第五個是族群分析;
  • 第六個是相似節點的發現。

圖的遍歷

圖的遍歷大家都知道有兩種方法,一個是廣度優先遍歷,一個是深度優先遍歷,這個我們就不詳細去說了。這裡舉了一個例子,對於下面這個圖,分別用廣度優先遍歷和深度優先遍歷查詢的結果。

圖片描述

最短路徑

最短路徑分為幾個場景,第一個是單源最短路徑,簡單的解釋下就是從一個點出發,去求它到其他所有節點的最短路徑。

Dijkstra是圖論裡經典的演算法,演算法雖然比較經典,但是在現實中間應該說應用場景是比較少的,比如在社交網路裡面,我們很少去求一個人到其他所有人的最短路徑,這個應用的含義不大。

第二個就是每對節點之間的最短路徑,這同樣也有一個非常經典的Floyd演算法,這個應用場景也比較少,社交網路中間也很少查任意兩個人之間的最短路徑。

我們舉一個最常見的應用場景,也就是給出兩個節點,找他們之間的最短路徑,這個應用場景就比較多了,在社交網路中兩個人,你可能要計算通過幾步他們之間會有關聯。

在我們的應用場景中間也非常多,比如說在我們的企業知識圖譜裡面,給定兩個公司,要去查他們之間到底有沒有關係?幾步裡面有關係?這就是一個典型的應用場景。

圖片描述

路徑探尋

剛剛我們把這個圖用來做最短路徑,還可以給定兩個節點,去看他們之間不僅僅是最短路徑,可以查兩個企業之間5步以內到底有哪些關係,這就是路徑探尋演算法,也就是給定兩個或多個節點,探尋它們特定步驟裡面到底有多少關係,有哪些路徑。

這是兩個節點,多個節點也是同樣的,比如說在我們的創投知識圖譜裡面,我們去查騰訊、百度、阿里共同投資了哪些公司,這就可以把它轉換成一個路徑探尋的演算法,也就是給定這三個公司,我們去看看特定的步驟裡面,它們有哪些路徑關係,不管是直接投資還是間接投資,到底有哪些共同的投資。

圖片描述

權威節點的分析

先看應用場景,做過社交網路分析的人應該都知道,裡面有個很常見的應用場景就是社交網路裡的權威人物分析,也就是在社交網路裡面哪些人是比較有權威的,有權威並不代表說他粉絲多就有權威,可能有些人,他在特定的領域裡面有權威。

定義一下,在知識圖譜的網路中間,怎麼去分析節點的權威度,找到裡面的權威節點,這裡面演算法就比較多,經典的演算法就是我們搜尋裡面的Page Rank,它簡單的說就是用一種相互投票的機制,最後去決定每個節點的權威度。

還有一種是基於節點的屬性以及節點之間關係的一種多特徵方法,知識圖譜對每個節點既有自己的屬性,同時還有和其他節點之間的關聯,我們可以把節點屬性和關係結合起來,形成一種多特徵的評估方法。

在創投領域知識圖譜裡面,一個應用場景就是去找到裡面的權威投資機構,同時還會去找到哪些是有潛力的創新獨角獸公司。

族群的發現演算法

還是先看應用場景,在社交網路中,我們不僅僅是對個人感興趣,還會想知道在網路中,有哪些小的群體。

在社交網路中存在一些主題的社群,存在對特定領域感興趣的群體,就像我們大家對知識圖譜感興趣一樣,我們要在社交網路中找到對知識圖譜感興趣的這些人物,這就是族群發現演算法的一個應用場景。

簡單描述一下,它就是從知識圖譜的網路中間發現在一個或者多個角度相似節點的族群,做法也比較多,這裡我們列出兩個演算法,第一個是圖裡面經典的最大流演算法,還有一個和剛剛在計算權威節點時使用的方法類似,就是基於節點的屬性和節點之間的關係形成多特徵去進行聚類,從而找到裡面的群體。

在企業知識圖譜裡面,我們可以去找到全國幾千萬企業裡面的阿里系、騰訊系,也就是哪些是阿里投資的,阿里感興趣的一些公司。

相似節點的發現演算法

我們在做企業知識圖譜的時候,比如一家企業他已經有一些客戶了,他可能還希望找到相似的客戶,那麼我們就可以去找到和他現有客戶相似的一些客戶,這就是相似節點發現的一個應用場景。

從海量的知識圖譜中間去尋找和已知節點相似的節點,方法有三種:

  • 第一個就是基於節點的屬性去查,比如說對於企業,就可以根據企業產品的領域去找;
  • 我們還可以根據節點間的關係去計算,因為關係代表了一定的特徵,所以我們可以通過這種關係,比如說兩個節點之間的關係圖非常相似,那麼也代表一定程度的相似;
  • 還可以用混合的方式,把節點的屬性和節點的關係一起去使用。

我們做的一個應用場景,就是在專利知識圖譜裡面去尋找相似的專利。

知識圖譜的視覺化

視覺化應該說很好理解,這裡我引用了維基百科裡的定義:視覺化是利用計算機圖形學和影象處理的相關技術,將資料知識和資訊變成圖形或影象在螢幕上展示,同時還有一個概念就是要和使用者進行互動。

它裡面包含了兩層含義,第一個就是要轉化成影象,第二個就是互動,這個含義到現在說已經有點過時了,現在不僅僅是計算機,很多其他移動化的裝置都有視覺化的需求。

視覺化我們看下它的三大功能:

  • 第一個是做資訊的記錄,它不僅僅是做資訊的呈現,也可以做資訊的記錄;
  • 同時它支援對資訊的推理和分析,如果我們把視覺化做的好,可以從資料的視覺化裡面找到很多關係規律,從而進行一定的推理和分析;
  • 最後可以做資訊的傳播和協同,這是知識圖譜視覺化的定義和功能。

我們知道有一個模型,叫DIKW,也就是資料、資訊、知識,再到智慧。這個模型我們應該非常熟悉,從底層的資料開始進行一定的提煉,形成資訊,然後再進行抽取形成知識,在知識上面可以做很多的應用,比如說推理,比如說現在的人工智慧,這就是智慧。

定義到視覺化裡面,我們也可以這樣去分類,從資料的視覺化,到資訊的視覺化,再到知識的視覺化,當然最後面是智慧的視覺化,這個就更加抽象,更加困難,這個我們今天就不去表述。

圖片描述

先看資料視覺化,有哪些型別的資料,第一個就是記錄型的資料,使用過關係型資料庫就會很清楚,裡面有很多記錄型的資料;然後還有關係型的資料,就像我們的知識圖譜,它是一種關係密集型的資料;然後還有時態資料、空間資料。

什麼是資料視覺化,這個定義比較理論化,對於資料視覺化不用我們去進行解釋,大家應該都知道,就是把資料裡面的一些資訊、含義,怎麼去用一種形式去進行抽象、提取,形成資訊然後用相應的屬性、變數去進行描繪,這是資料視覺化。

資料視覺化裡面有很多理論的研究和技術,今天由於時間關係,我不去詳細的介紹,大家感興趣的話可以去看浙大陳為教授的《資料視覺化》,對整個視覺化做了非常詳細的剖析。

然後是資訊的視覺化和知識的視覺化,應該說資訊和知識的視覺化在一定程度上很難去進行直接的區分,因為資訊和知識沒有嚴格的界限。資訊視覺化是研究大規模非數值資訊資源的呈現,這裡面主要的目標就是幫助人去理解和分析資料。

知識視覺化主要用來傳達和表示複雜知識的影象,用影象圖形的手段去表達,其主要目標是用來做知識的傳輸和傳遞,幫助其他人去正確的重構、記憶和應用知識。

圖片描述

接下來我們看一下在做知識視覺化的時候有哪些常見的形式,我這裡列出來的只是一部分,比如說在知識圖譜裡面我們有概念和概念的層次,一種直觀的方式就是用概念的層次圖去進行知識的視覺化,第二種就是用思維導圖的形式,同時我們還可以去做認知的地圖,最後可以用語義網路的方式,知識圖譜就是用這種原生態的語義網路形式進行描述的。

接下來我們看幾個簡單的例子,首先在知識圖譜視覺化裡面常用的縮放和鑽取,因為我們知識圖譜是非常大的,就像我們剛剛的視訊,最開始的時候我們看到裡面有非常多的節點,怎麼去定位到裡面我們需要的節點,就可以用知識的縮放和鑽取去找到我們關注的節點。

圖片描述

第二個可以通過不同的檢視去描述,比如說左邊概念樹的形式,樹形結構描述也是非常常用的方式,這種方式非常簡單直觀;右邊我們還列出了一些其他的方式,比如車輪圖等。

圖片描述

還有很多其他的檢視,比如說上方環狀的圖,詞雲圖,以及左下角的氣泡圖等,這些都是知識圖譜視覺化的一些示例。

對於視覺化還有很多的工作要做,知識圖譜的應用,是要把知識圖譜傳遞出去,視覺化是一個非常直觀的手段,所以裡面有非常多值得研究的地方。

圖片描述

知識圖譜中的推理

由於知識圖譜和本體關係非常密切,所以裡面最重要的就是基於本體的知識推理,即知識圖譜核心知識內容部分的推理。

然後因為知識圖譜在大資料應用裡面用的非常多,我們可以做知識圖譜大資料預測分析與關聯挖掘,也就是圍繞知識圖譜組織的大資料,怎麼去做預測分析和關聯挖掘。

這是知識圖譜推理兩個主要的方面。

知識圖譜裡本體的推理

本體推理主要有兩大目標,第一個就是找到知識圖譜裡面隱含的知識,因為我們不管是在構建知識圖譜還是在構建本體的時候,一般都會有一個原則,就是用比較簡單的機制去描述儘可能多的資訊,有些東西可能就直接隱含在裡面了,這些隱含的資訊就必須用知識推理的方式把它表達出來。

還有一個就是在知識圖譜構建的時候經常用到的,做不一致性檢測。不管是手動構建,還是自動構建知識圖譜,都會碰到一個問題,或者你的資料來源不同,或者你的構建的人員不同、方法不同,就會不可避免的導致一些衝突,這些衝突自身很難直觀的去發現,但是可以利用知識圖譜裡面的不一致性檢測去發現存在的有矛盾的、有衝突的知識。

這是基於本體的知識推理的兩大目的。

OWL推理的方法有以下幾類:

  • 第一個就是基於表運算的方法,
  • 第二個是基於一階邏輯轉換的方法,
  • 然後是本體推斷的方法,
  • 一階查詢重寫的方法,
  • 以及Datalog的方法。

今天著重講的是用於知識圖譜裡面組織大資料做分析,怎麼去做規律發現,怎麼做預測。

我們都知道知識圖譜在大資料的組織方面有很多的應用場景,這也是我們下半場要重點講的一個主題。

現在大資料我們用它來做什麼?第一個是我們用來做決策或輔助決策,有時是用即時資料,有時候用統計方法,同時也可以在資料中歸納一些新的資料模型,還可以從資料裡面得到新的知識。

大資料預測

預測可以說是大資料的核心價值,可能經常會聽說要用大資料去做股市的預測,去做疾病的預測,去做消費行為的預測,這些都是大資料核心應用的價值。即從已經發生的過去慢慢轉變到面向即將發生的未來。

從過去到預測未來,本身是有個邏輯基礎的,我們認為它帶有一定的推理的含義,即事物在變化之前一定有徵兆,突變是很少的,所以所有的事情都是有跡可循的,如果找到了這種徵兆規律,你就可以去進行預測,這是大資料進行邏輯預測的一個基礎。

預測通常是用一個預測模型,預測模型主要需要基於歷史的資料,歷史的資料決定未來事情發生的一個概率,因為大資料做預測的時候,一般不會去說我直接給你一個確定的答案,因為未知的世界都是帶有一定的可變性的,所以大資料在做預測的時候,通常給你一個事情發生的概率。

關聯規則的挖掘

就是去找事物和事物時間的關聯關係,做資料探勘的朋友應該都聽說過啤酒和尿布的故事,這就是一個非常典型的關聯規則挖掘的場景。要做關聯規則的挖掘,通常需要經歷兩個階段。

第一個就是從大資料的集合裡面找到所有高頻的關聯專案組,然後再由這些高頻的專案組通過一些演算法去進行過濾分析,最終找到關聯規則,這是做關聯規則最重要的兩個階段。

在做關聯規則挖掘的時候,有四個關鍵的指標,第一個是可信度,第二個是支援度,第三個是期望可信度,然後是作用度。

把這兩個推理總結起來:知識圖譜其實回答了“為什麼”,它可以告訴你明確的原因,並且給出來的一般都是比較肯定的答案,可以讓你瞭解世界運作方式背後的深層原因;大資料更多的回答“是什麼”,但是它很難告訴你為什麼會是這樣?所以它主要強調的是現象之間的聯絡,從而解決現實中的問題。

有沒有辦法把它們結合起來:首先通過大資料去發現是什麼,然後利用知識圖譜知識推理方式去尋找背後真實的原因,這就是現在用的比較多的一個智慧決策系統。

在這種智慧決策系統裡面,其實把大資料的預測和挖掘,以及知識圖譜支援的推理結合起來,同時還把資料分析的一些模型也結合起來。

我們看圖下方的模型庫、知識庫和資料庫,把它們結合起來。

對於資料庫利用資料庫管理系統、資料倉庫、資料探勘系統;對於知識庫,利用知識庫管理系統及相應的推理機;對於模型庫,用相應的模型庫管理系統、模型計算。

從使用者的角度,需要對三種機制的結果進行統一,最終把統一的結果返回給使用者,形成一個基於大資料探勘和知識推理的智慧決策系統。

這張圖是一個基本的架構。

圖片描述

下半場主要講知識圖譜用來做大資料的分析和挖掘,也就是現在企業面臨的大資料背景下面怎麼去使用知識圖譜技術,幫助他們做資料的分析、融合以及決策。

下面這張圖是上次分享過的一張圖,從資料庫時代到大資料時代,當時我們借鑑了一個非常形象的比喻,池塘捕魚到大海捕魚。

在資料庫時代,從資料規模的角度來說相對是比較小的,在GB的級別;在大資料時代,很多企業資料已經超過了TB,甚至有些達到了ZB的級別。這是從資料規模的角度來說,大資料時代與傳統的資料庫時代的一個典型的區別。

從資料型別的角度來看,以前主要以結構化的資料為主,資料通常是存在關係資料庫裡面的,這些資料通常是結構化的,但在大資料時代,我們會看到它的資料型別會非常多,不僅僅有結構化的資料,還有半結構化的,甚至非結構化的資料,並且還有個趨勢,後兩者越來越多。

再從資料模式的角度來看,以前在傳統的資料庫時代,我們通常是先構建關係資料庫的資料模式,然後再去儲存資料,查詢、使用資料,這要求你對自己的資料有非常好的把握,資料模式要先固定,之後也不要有太多的變化,做關係資料庫應用的朋友知道,如果關係資料庫要變動,對系統帶來的變化後果,有時候甚至是災難性的;在大資料時代,資料大部分都是未知的,對於資料的數量、形態、作用都在不斷探索,資料的模式通常都是在資料出現以後才能去確定,資料模式也是隨著資料增長在不斷演變的。

最後從資料處理的方式來看,以前通過一種方式或者一種工具就可以去解決大部分所有的問題,但大資料時代很難用一種通用的工具方法去解決所有的問題,不管是資料的儲存、資料分析的演算法還是從應用的角度,都是多種多樣的,在不同的應用場景下面,需要不同的技術方法。

圖片描述

在大資料的背景下面,企業如果要應用這些大資料,通常會有哪些挑戰?

第一個就是多源異構的資料很難融合,企業包括不僅內部的資料,還有從第三方接入的資料以及網際網路公開資料,甚至是採購的資料。這些資料很多,可能描述同一個事物有很多的資料來源,它們分散在不同的地方,怎麼去把它們融合起來?這裡舉了一個人物的例子,他在企業內部不同的系統裡面,互聯網裡面都有他的資訊,怎麼去進行融合這是我們企業在面向大資料的時候會碰到的第一個挑戰。

圖片描述

第二個挑戰,大資料時代,資料模式在不斷變化的場景下,需要有一種可自有擴充套件的資料模式,細心的朋友已經聽到,知識圖譜是基於本體來構建的,所以本體的動態特性,就賦予了知識圖譜支援大資料動態變化的能力。

圖片描述

第三個挑戰就是非結構化和半結構化資料如何理解使用,非結構化的資料簡單來說就是文字,對於文字資料如何處理,傳統的方式依賴於NLP的方式,但是NLP本身的效果還未達到工業可用的級別,怎麼對非結構化的資料去進行應用?

圖片描述

第四個,傳統資料在使用的時候需要專業的程式設計師去編寫程式去進行查詢使用,普通的應用分析人員很難對資料去進行探索,我們要有一種快速的方式去對資料進行探索和使用。

圖片描述

第五個挑戰,在傳統的資料庫時代,構建的不同系統使用方式不一樣,資料整合的時候會非常混亂,我們更多的期待這些分散的資料如何把它們融合起來,形成一個統一的消費利用的入口,工作人員可以從統一的入口進行資料的消費。

圖片描述

接下來看下知識圖譜如何解決以上五個問題。下圖是我們做的探索,知識圖譜如何助力資料分析實現商業智慧:

  • 從最底層開始,知識圖譜需要對非結構化的資料進行處理,抽取資訊形成結構化的知識;
  • 第二個是資料動態的融合,多源異構的資料利用知識圖譜動態擴充變遷的能力,等到資料來了以後再去定義資料的屬性,資料之間的關聯,同時從底層儲存的角度來說,需要有一種能夠適應資料模式動態變遷的儲存機制,這個我們上次活動做了一個深度的分析,提供了一種可自由擴充套件模式的儲存機制;
  • 其次我們提供一種自動檢索,自動問答的方式,通過自然語言和其他非常簡單的互動形式,對資料進行使用,這也是使用知識圖譜以後可以幫助我們去降低資料使用門檻。

使用這種技術,就可以把原來分散在各個地方的資料經過抽取、融合、連結形成知識圖譜,接下來在這之上可以為業務層提供統一的消費入口,包括以下方式,比如說進行語義的分析、理解、查詢,然後可以做資料關聯的探索,即知識圖譜圖探索,對於業務的拓展可以動態的去定義擴充,同時可以進行智慧的檢索和問答,從而為使用者提供統一的入口。

圖片描述

接下來我們詳細分析如何使用知識圖譜裡面相關技術做這件事情:

  • 第一個就是用知識圖譜(本體)對各種型別的資料進行抽象建模,基於可動態變化的,“概念 – 實體 – 屬性 – 關係”資料模型,來實現各種資料的統一建模。這個模型應該是非常靈活的,可以適應絕大部分資料的特徵,即可以使用這種模型對絕大部分的資料進行統一建模;
  • 然後我們使用知識圖譜的資料儲存,實現對大資料及資料模式動態變化的儲存要求,從底層來說,提供儲存的知識;
  • 同時利用知識圖譜裡面,比如資訊抽取、實體連結相關的技術,去對非結構化、半結構化的資料進行抽取和轉換,形成知識圖譜形式的知識,以及和知識圖譜裡面的結構化的知識進行連結;
  • 最後通過語義檢索、圖挖掘、推理、視覺化以及資料分析相關的技術,構建一個統一的資料消費的入口,形成一個統一的分析、檢索和利用的平臺。

怎麼使用知識圖譜去對資料進行建模

知識圖譜裡面有兩個基本元素,一個是實體,一個是概念。

我們可以以實體為主體目標,實現對不同來源的資料進行對映與合併,因為企業碰到的資料很大的一個應用場景就是資料在不同的系統裡面,但是描述的是同一個事物,怎麼去把他們合併起來?可以用實體的機制進行建模,然後通過實體合併相關的技術,把不同資料裡描述同一個實體的資料進行融合;

融合後可以利用實體的屬性來表示不同資料來源中針對實體的描述,即A處過來的資料可以用一部分屬性進行描述,B處來的也可以用一些屬性進行描述,用屬性進行統一描述之後,就會形成對實體全方位的描述,這裡面用到屬性的對映和歸併,因為從不同資料來源中來的,可能有些屬性是重複的,甚至是衝突的,需要考慮怎麼去合併;

其次就是利用知識圖譜裡面的關聯關係去描述各種資料來源之間資料的關係,知識圖譜裡面這種關係是非常靈活的,所以資料間的關係可以很容易的轉換成為知識圖譜來進行描述,從而支援關聯分析,這裡面主要用到的就是關係抽取的一個技術;

剩餘的資料可能資訊抽取也比較難解決,可以通過實體連結的技術,並不一定要把所有文字都轉換成為結構化的資料,可以把它們進行連結,比如在做企業知識圖譜的時候,可以把企業相關的新聞,不用把新聞的時間、地點、人物都抽取,這塊難度較高,但是可以把新聞和實體做關聯,即通過實體連結技術,實現圍繞實體的多種型別資料的關聯儲存;

然後還有一個動態的資料,因為現實中間,資料都是在不斷動態變化的,這主要通過事件的機制來進行描述,體現事件與實體間的關聯,並利用時序的概念來描述事件的發展狀況,把歷史的事件和當前事件聯絡起來,有了動態變化之後,可以做時序的預測,這裡涉及的技術主要是動態事件的提取相關技術。

怎麼支援大資料和資料模式的動態變化

剛剛提到就是用基於圖的資料儲存,知識圖譜的資料模式動態變化特性支援按需修改資料模式,底層用圖儲存的機制進行支撐,這部分詳細參見《大規模知識圖譜資料儲存實戰解析》

怎麼去處理非結構化和半結構化資料

我們可以用資訊抽取相關的技術,實現從非結構化、半結構化資料中進行資訊抽取,轉換成知識圖譜裡的知識;剛剛提到對於新聞這種資料,可能很難把它完全結構化,可以通過實體連結的方式,結合知識圖譜,實現對目標資料的語義關聯標註,包括消岐、聚合,增強對資料的語義理解,資料和知識圖譜關聯以後,即可把知識圖譜里語義的特性關聯到非結構化資料裡去;還有可以通過搜尋的技術,去對非結構化的資料進行統一檢索和利用,這是搜尋引擎普遍使用技術,對文字的資料、非結構化的資料進行統一的檢索,用了知識圖譜之後可以做一定的語義檢索。

最後是提供一個統一的分析利用的平臺。這個平臺提供使用者消費資料不同的方式,比如說視覺化、統一檢索、統一資料查詢、資料分析與挖掘和深度推理。

通過知識圖譜去解決大資料並不是我們單獨提出的,應該說現在有很多成熟的方案,國外知名公司Palantir即利用了知識圖譜相關技術,中間黃色的框內描述的就是動態本體論相關的技術,對資料進行建模融合,底層資料抽取整合,上面提供一個統一的資料分析、利用、查詢的方案。

圖片描述

這個方案和我們的PlantData平臺非常的相似,底層我們進行資料的採集,採集即運用資訊抽取相關的技術對資料尤其是非結構化資料進行處理,然後形成結構化的知識,再往上進行資料的融合與合併,形成知識圖譜形式的知識,儲存在右邊大規模知識圖譜資料儲存引擎中,最上面是一個統一的消費平臺,通過資料視覺化,動態網路分析,語義檢索,智慧語義問答,以及與資料分析挖掘相關的一些方法去提供給使用者,這是我們的PlantData平臺針對大資料應用的一個解決方案。

圖片描述

總結一下,有了平臺以後可以做什麼?中間核心部分就是我們的平臺,有了平臺以後相當於我們具備了很多知識圖譜上面的能力,比如視覺化、網路分析、模型計算、資料智慧等;同時PlantData平臺還提供多種對外的接入方法,SDK等,在上面可以構建很多的應用,比如智慧檢索、智慧推薦等,最終落地到不同的行業中,這裡僅列舉了我們探索過的一些利用知識圖譜解決行業大資料問題的行業,PlantData大資料知識圖譜智慧平臺,可以賦能各行業應用。

圖片描述

接下來我們對各行業中應用做一些簡單的描述。

金融行業

金融行業資料相對來說比較全面,在這裡面已經探索出很多的應用,比如智慧投顧,即通過資料分析的方式,智慧的去進行投資,這個聽起來非常漂亮,但是目前為止,還很少有成熟的產品出來。國外的kensho做了一些探索,經過我們的分析和學習,應該還遠遠未達到智慧投顧的級別。

但在現在一些具體的場景裡面,有很多落地的應用,比如反欺詐,知識圖譜可以將使用者所有的行為關聯起來,實現反欺詐的功能;同時可以做異常分析、組圖欺詐的檢測、精準營銷、失聯客戶管理等。

生物醫學領域

應用也非常多。比如在歐盟的第7框架下面,做了一個開放的藥品平臺Open Phacts,這是在藥物發現裡的一個應用;還可以做輔助診療,即前面提到的IBM Watson,我們也做了一些探索,比如中醫開方輔助,即根據症狀智慧開方,同時也可以做相似病例的發現,目前醫生在診斷的時候很大程度也是根據歷史病例進行參考,因此我們可以利用知識圖譜實現相似病例發現。

圖書館情報行業

我們也做了一些探索,比如在特定學科知識領域知識圖譜的建設,基於知識圖譜做一些知識的管理,同時我們還做了專利分析以及情報分析。

還有一些其他的應用,比如政府行業,政府大資料;農業領域的化肥本體知識庫;還有就是客服系統,這是基於知識圖譜的智慧客服系統。

後續我們會針對知識圖譜在金融、聊天機器人、遊戲和知識管理四大行業的應用做一些深入探討,邀請行業知名的公司參與,歡迎關注。

接下來是一個實戰演示,在《大規模知識圖譜資料儲存實戰解析》中我們以《人民的名義》為例製作了一個知識圖譜,有了這個知識圖譜之後到底可以用它來做什麼?通過視訊我們可以更加清楚的瞭解今天知識圖譜應用的技術。

圖片描述

以上為報告全部內容。

胡芳槐博士,上海海翼知資訊科技有限公司創始人,現任上海海翼知資訊科技有限公司 CTO,知識圖譜和本體學習 6 年以上的研究以及產業化經驗,多個相關方向的國家專案和上海市政府專案骨幹成員,國內最早研究中文知識圖譜構建並進行產業化探索實踐,在國際知名會議和期刊上發表多篇中文圖譜構建、機器學習方面相關論文。
PlantData知識圖譜資料智慧平臺以“連結資料 洞察價值”為理念,致力於知識圖譜實戰技能的挖掘與應用,為資料分析師、資料工程師、行業愛好者等從業人員提供知識圖譜資料集及工具,知識圖譜文章投稿郵箱:[email protected]