知識圖譜在國內屬於壹個比較新興的概念,國內目前paper都比較少,應用方主要集中在BAT這類手握海量數據的企業,這個概念是google在2012年提出的,當時主要是為了將傳統的keyword-base搜索模型向基於語義的搜索升級。知識圖譜可以用來更好的查詢復雜的關聯信息,從語義層面理解用戶意圖,改進搜索質量。
個人認為,知識圖譜最大的優勢是在於對數據的描述能力非常強大,各種機器學習算法雖然在預測能力上很不錯,但是在描述能力上非常弱,知識圖譜剛好填補了這部分空缺。
知識圖譜的定義非常多,我這裏提供壹部分我自己的理解:
1.知識圖譜主要目標是用來描述真實世界中存在的各種實體和概念,以及他們之間的強關系,我們用關系去描述兩個實體之間的關聯,例如姚明和火箭隊之間的關系,他們的屬性,我們就用“屬性--值對“來刻畫它的內在特性,比如說我們的人物,他有年齡、身高、體重屬性。
2.知識圖譜可以通過人為構建與定義,去描述各種概念之間的弱關系,例如:“忘了訂單號”和“找回訂單號”之間的關系
知識庫目前可以分為兩種類型:Curated KBs 和 Extracted KBs
Curated KBs :以yago2和freebase為代表,他們從維基百科和WordNet等知識庫抽取了大量的實體及實體關系,可以把它理解城壹種結構化的維基百科。
Extracted KBs :主要是以Open Information Extraction (Open IE),? Never-Ending Language Learning (NELL)為代表,他們直接從上億個網頁中抽取實體關系三元組。與freebase相比,這樣得到的實體知識更具有多樣性,而它們的實體關系和實體更多的則是自然語言的形式,如“姚明出生於上海。” 可以被表示為(“Yao Ming”, “was also born in”, “Shanghai”)。直接從網頁中抽取出來的知識,也會存在壹定的噪聲,其精確度低於Curated KBs。
a)“姚明出生於上海”
b)“姚明是籃球運動員”
c)“姚明是現任中國籃協主席”
以上就是壹條條知識,把大量的知識匯聚起來就成為了知識庫(Knowledge Base)。我們可以從wikipedia,百度百科等百科全書獲取到大量的知識。但是,這些百科全書的知識是由非結構化的自然語言組建而成的,這樣的組織方式很適合人們閱讀但並不適合計算機處理。
為了方便計算機的處理和理解,我們需要更加形式化、簡潔化的方式去表示知識,那就是三元組(triple)。
“姚明出生於中國上海” 可以用三元組表示為(Yao Ming, PlaceOfBirth, Shanghai)[1]。這裏我們可以簡單的把三元組理解為(實體entity,實體關系relation,實體entity)。如果我們把實體看作是結點,把實體關系(包括屬性,類別等等)看作是壹條邊,那麽包含了大量三元組的知識庫就成為了壹個龐大的知識圖。
有些時候會將實體稱為topic,如Justin Bieber。實體關系也可分為兩種,壹種是屬性property,壹種是關系relation。如下圖所示,屬性和關系的最大區別在於,屬性所在的三元組對應的兩個實體,常常是壹個topic和壹個字符串,如屬性Type/Gender,對應的三元組(Justin Bieber, Type, Person),而關系所在的三元組所對應的兩個實體,常常是兩個topic。如關系PlaceOfBrith,對應的三元組(Justin Bieber, PlaceOfBrith, London)。
(圖中藍色方塊表示topic,橙色橢圓包括屬性值,它們都屬於知識庫的實體;藍色直線表示關系,橙色直線表示屬性,它們都統稱為知識庫的實體關系,都可以用三元組刻畫實體和實體關系)
這裏只是簡單介紹壹下數據結構,知識表達這壹塊會在《知識圖譜基礎(二)-知識圖譜的知識表達系統》中詳細講解。
讀者只要記住,freebase的基礎知識表達形式:(實體)-[關系]-(實體),(實體)-[關系]-(值)即可,參考圖3,姚明和葉莉的關系。
通過知識圖譜,不僅可以將互聯網的信息表達成更接近人類認知世界的形式,而且提供了壹種更好的組織、管理和利用海量信息的方式。下圖是筆者整理的知識圖譜有關的應用,接下來的壹些文章筆者會對下面的應用進行剖析。
從圖4上看,知識圖譜的應用主要集中在搜索與推薦領域,robot(客服機器人,私人助理)是問答系統,本質上也是搜索與推薦的延伸。可能是因為知識圖譜這項技術(特指freebase)誕生之初就是為了解決搜索問題的。知識存儲這壹塊可能是企查查和啟信寶這些企業發現使用圖結構的數據比較好清洗加工。
在語義搜索這壹塊,知識圖譜的搜索不同於常規的搜索,常規的搜索是根據keyword找到對應的網頁集合,然後通過page rank等算法去給網頁集合內的網頁進行排名,然後展示給用戶;基於知識圖譜的搜索是在已有的圖譜知識庫中遍歷知識,然後將查詢到的知識返回給用戶,通常如果路徑正確,查詢出來的知識只有1個或幾個,相當精準。
問答系統這壹塊,系統同樣會首先在知識圖譜的幫助下對用戶使用自然語言提出的問題進行語義分析和語法分析,進而將其轉化成結構化形式的查詢語句,然後在知識圖譜中查詢答案。