知識地圖在中國是壹個相對較新的概念。目前國內論文較少,應用主要集中在BAT等擁有海量數據的企業。這個概念是google在2012年提出的,當時主要是將傳統的基於關鍵詞的搜索模式升級為基於語義的搜索。知識圖譜可以用來更好地查詢復雜的相關信息,從語義層面理解用戶意圖,提高搜索質量。
個人認為,知識圖譜最大的優勢是有非常強的數據描述能力。雖然各種機器學習算法在預測能力上非常好,但是在描述能力上卻非常弱,知識圖譜正好填補了這壹空白。
知識地圖的定義有很多,我在這裏提供壹些自己的理解:
1.知識地圖的主要目標是描述現實世界中存在的各種實體和概念及其強關系。我們用關系來描述兩個實體之間的關系,比如姚明和火箭隊的關系,以及他們的屬性。我們用“屬性-值對”來描述它的內部特征。比如我們的角色有年齡、身高、體重等屬性。
2.知識圖譜可以通過人工構建和定義來描述各種概念之間的弱關系,比如“忘記訂單號”和“把訂單號找回來”之間的關系
目前知識庫可以分為兩種類型:精選知識庫和抽取知識庫。
策劃型KBs:以yago2和freebase為代表,他們從維基百科和WordNet中提取了大量的實體和實體關系,可以理解為結構化的維基百科。
抽取的KBs:主要基於開放信息抽取(openie),?以永無止境語言學習(Nell)為代表,他們直接從數以億計的網頁中提取實體關系三元組。與freebase相比,這種方式獲得的實體知識更加多樣,它們的實體關系和實體更多的是以自然語言的形式出現,比如“姚明出生在上海。”可以表述為(“姚明”、“也出生於”、“上海”)。直接從網頁中提取的知識也會有壹些噪音,其準確率低於經過策劃的KBs。
a)“姚明出生在上海”
b)“姚明是壹名籃球運動員”
c)“姚明是中國籃球協會的現任主席”
以上是壹個個知識,當大量的知識聚集在壹起,就成了知識庫。我們可以從維基百科、百度百科等百科上獲得很多知識。而這些百科全書的知識是用非結構化的自然語言組織起來的,適合人閱讀但不適合計算機處理。
為了便於計算機處理和理解,我們需要壹種更正式、更簡潔的知識表達方式,即三元組。
“姚明出生於中國上海”可以用三連號表示為(姚明,出生地,上海)[1]。這裏我們可以簡單的把三元組理解為(實體,實體關系,實體實體)。如果我們把實體看作壹個節點和實體的關系(包括屬性、類別等。)作為壹條邊,那麽包含大量三元組的知識庫就變成了壹個龐大的知識圖。
有時實體被稱為主題,如賈斯汀比伯。實體關系也可以分為兩種,壹種是屬性性質,壹種是關系。如下圖所示,屬性和關系最大的區別在於,屬性所屬的三元組對應的兩個實體往往是壹個主題和壹個字符串,比如屬性類型/性別和對應的三元組(賈斯汀比伯、類型、人),而關系所屬的三元組對應的兩個實體往往是兩個主題。如關系Placeofbrith,對應三元組(賈斯汀比伯,PlaceOfBrith,倫敦)。
(圖中藍色方塊代表topic,橙色橢圓包含屬性值,兩者都屬於知識庫的實體;藍線代表關系,橙線代表屬性,統稱為知識庫的實體關系,可以用三元組來描述。
這裏只是簡單介紹壹下數據結構,知識表達會在《知識地圖基礎(二)——知識地圖的知識表達系統》中詳細講解。
讀者只需要記住freebase的基本知識表達:(實體)-[關系]-(實體),(實體)-[關系]-(值),參考圖3,姚明和葉莉的關系。
通過知識圖譜,不僅可以將互聯網上的信息以更接近人類認知世界的形式表達出來,而且為組織、管理和利用海量信息提供了更好的方式。下圖是筆者整理的與知識圖譜相關的應用,後續文章將對以下應用進行分析。
從圖4來看,知識圖譜的應用主要集中在搜索和推薦領域。機器人(客服機器人,個人助理)是壹個問答系統,本質上也是搜索和推薦的延伸。可能是因為知識圖譜(尤其是freebase)的技術誕生就是為了解決搜索問題。知識存儲這壹塊,可能是因為企業搜索、啟信寶等企業發現,用圖結構來清理和處理數據更好。
在語義搜索中,知識圖譜的搜索不同於傳統的搜索。常規的搜索是根據關鍵詞找到對應的網頁集合,然後通過頁面排名等算法對網頁集合中的網頁進行排名,然後展現給用戶。基於知識地圖的搜索是在已有的地圖知識庫中遍歷知識,然後將查詢到的知識返回給用戶。通常路徑正確的話,查詢到的知識只有1或者幾,還是比較準確的。
在問答系統中,系統還會借助知識圖譜,對用戶使用自然語言提出的問題進行語義分析和語法分析,然後轉化為結構化的查詢語句,再在知識圖譜中查詢答案。