知識圖譜(Knowledge graph)首先是由Google提出來的,大家知道Google是做搜索引擎的,知識圖譜出現之前,我們使用google、百度進行搜索的時候,搜索的結果是一堆網頁,我們會根據搜索結果的網頁題目再點擊鏈接,才能看到具體內容,2012年google提出Google Knowldge Graph之后,利用知識圖譜技術改善了搜索引擎核心,表現出來的效果就是我們現在使用搜索引擎進行搜索的時候,搜索結果會以一定的組織結構呈現。
辛格爾博士對知識圖譜的介紹很簡短:things,not string。這抓住了知識圖譜的核心,也點出了知識圖譜加入之后搜索發生的變化,以前的搜索,都是將要搜索的內容看作字符串,結果是和字符串進行匹配,將匹配程度高的排在前面,后面按照匹配度依次顯示。利用知識圖譜之后,將搜索的內容不再看作字符串,而是看作客觀世界的事物,也就是一個個的個體。搜索比爾蓋茨的時候,搜索引擎不是搜索“比爾蓋茨”這個字符串,而是搜索比爾蓋茨這個人,圍繞比爾蓋茨這個人,展示與他相關的人和事,左側百科會把比爾蓋茨的主要情況列舉出來,右側顯示比爾蓋茨的微軟產品和與他類似的人,主要是一些IT行業的創始人。一個搜索結果頁面就把和比爾蓋茨的基本情況和他的主要關系都列出來了,搜索的人很容易找到自己感興趣的結果。
查找關于知識圖譜的資料,可以找到不少的相關定義:
引用維基百科的定義:
The Knowledge Graph is a knowledge base used by Google and its services to enhance its search engine’s results with information gathered from a variety of sources.
譯:知識圖譜是谷歌及其提供的服務所使用的知識庫,目的是通過從各種來源收集信息來增強其搜索結果的展示。
引用百度百科的定義:
知識圖譜(Knowledge Graph),在圖書情報界稱為知識域可視化或知識領域映射地圖,是顯示知識發展進程與結構關系的一系列各種不同的圖形,用可視化技術描述知識資源及其載體,挖掘、分析、構建、繪制和顯示知識及它們之間的相互聯系。
知識圖譜是通過將應用數學、圖形學、信息可視化技術、信息科學等學科的理論與方法與計量學引文分析、共現分析等方法結合,并利用可視化的圖譜形象地展示學科的核心結構、發展歷史、前沿領域以及整體知識架構達到多學科融合目的的現代理論。它能為學科研究提供切實的、有價值的參考。
引用學術/學位論文的定義:
知識圖譜,是結構化的語義知識庫,用于以符號形式描述物理世界中的概念及其相互關系,其基本組成單位是“實體—關系—實體”三元組,以及實體及其相關屬性—值對,實體間通過關系相互聯結,構成網狀的知識結構。(劉嶠, 李楊, 段宏, 等. 知識圖譜構建技術綜述[J]. 計算機研究與發展, 2016, 53(3): 582-600.)
知識圖譜就是展示知識發展過程與屬性聯系的一系列不同圖形,再加以相應的可視化手段把這一系列圖形表示的這些知識實體與知識實體或者知識實體與知識屬性之間的聯系展示出來。知識圖譜的本質就是一種網狀知識庫,它是由一個個知識三元組組成。目前知識三元組的形式有兩種,分別是<實體1,關系,實體2>和<實體1,屬性1,屬性值>。例如在本文所選的鐵路領域內,這兩種知識三元組分別可以是<中國鐵路呼和浩特局集團公司,管轄,集寧機務段>,<東風 4B 型內燃機車,設計時速,120km/h>(客運型)和<東風 4B 型內燃機車,設計時速,100km/h>(貨運型)。(學位論文:基于鐵路領域的知識圖譜研究與實現)
引用著作的定義:
知識圖譜是一種用圖模型來描述知識和建模世界萬物之間的關聯關系的技術方法。知識圖譜由節點和邊組成。節點可以是實體,如一個人、一本書等,或是抽象的概念,如人工智能、知識圖譜等。邊可以是實體的屬性,如姓名、書名或是實體之間的關系,如朋友、配偶。知識圖譜的早期理念來自Semantic Web(語義網絡),其最初理想是把基于文本鏈接的萬維網落轉化為基于實體鏈接的語義網絡。(王昊奮,知識圖譜 方法、實踐與應用)
引用互聯網博客的解釋:
知識圖譜:是結構化的語義知識庫,用于迅速描述物理世界中的概念及其相互關系。(鏈接:通俗易懂解釋知識圖譜)
知識圖譜本質上是語義網絡(Semantic Network)的知識庫.。(鏈接:這是一份通俗易懂的知識圖譜技術與應用指南)
總的來說,知識圖譜本質上是一種語義網絡,用圖的形式描述客觀事物,這里的圖指的是數據結構中的圖,也就是由節點和邊組成的,這也是知識圖譜(Knowledge Graph)的真實含義。知識圖譜中的節點表示概念和實體,概念是抽象出來的事物,實體是具體的事物;邊表示事物的關系和屬性,事物的內部特征用屬性來表示,外部聯系用關系來表示。很多時候,人們簡化了對知識圖譜的描述,將實體和概念統稱為實體,將關系和屬性統稱為關系,這樣就可以說知識圖譜就是描述實體以及實體之間的關系。實體可以是人,地方,組織機構,概念等等,關系的種類更多,可以是人與人之間的關系,人與組織之間的關系,概念與某個物體之間的關系等等。
知識圖譜是由實體和實體的關系組成,通過圖的形式表現出來,那么實體和實體關系的這些數據在知識圖譜中怎么組織呢,這就涉及到三元組的概念,在知識圖譜中,節點-邊-節點可以看作一條記錄,第一個節點看作主語,邊看作謂語,第二個節點看作賓語,主謂賓構成一條記錄。比如曹操的兒子是曹丕,曹操是主語,兒子是謂語,曹丕是賓語。再比如,曹操的小名是阿瞞,主語是曹操,謂語是小名,賓語是阿瞞。知識圖譜就是由這樣的一條條三元組構成,圍繞著一個主語,可以有很多的關系呈現,隨著知識的不斷積累,最終會形成一個龐大的知識圖譜,知識圖譜建設完成后,會包含海量的數據,內涵豐富的知識。
知識圖譜構建完成之后,主要用在哪些地方,比較典型應用是語義搜索、智能問答、推薦系統等方面。知識圖譜是一個具有本體特征的語義網絡,可以看成是按照本體模式組織數據的知識庫,以知識圖譜為基礎進行搜索,可以根據查詢的內容進行語義搜索,查找需要找的本體或者本體的信息,這種語義搜索功能在google、百度、阿里巴巴等數據量大的公司里得到應用。智能問答,和語義搜索類似,對于提問內容,計算機首先要分析提問問題的語義,然后再將語義轉換為查詢語句,到知識圖譜中查找,將最貼近的答案提供給提問者。推薦系統首先要采集用戶的需求,分析用戶的以往數據,提取共同特征,然后根據一定的規則,對用戶提供推薦的產品。比如淘寶中記錄用戶經常購買的商品,經常瀏覽的商品,提取這些商品的共同特征,然后給這個用戶打上標簽,然后就給用戶推薦具有類似特征的商品。
知識圖譜主要反映的事物之間的關系,對于和關系鏈條有關的場景,也可以用知識圖譜解決,一些應用場景包括反欺詐、不一致性驗證、異常分析、客戶管理等
知識圖譜由數據層(data layer)和模式層(schema layer)構成。
模式層是知識圖譜的概念模型和邏輯基礎,對數據層進行規范約束. 多采用本體作為知識圖譜的模式層,借助本體定義的規則和公理約束知識圖譜的數據層。也可將知識圖譜視為實例化了的本體,知識圖譜的數據層是本體的實例。如果不需支持推理, 則知識圖譜(大多是自底向上構建的) 可以只有數據層而沒有模式層。在知識圖譜的模式層,節點表示本體概念,邊表示概念間的關系。
在數據層, 事實以“實體-關系-實體”或“實體-屬性-屬性值”的三元組存儲,形成一個圖狀知識庫. 其中,實體是知識圖譜的基本元素,指具體的人名、組織機構名、地名、日期、時間等。關系是兩個實體之間的語義關系,是模式層所定義關系的實例。屬性是對實體的說明,是實體與屬性值之間的映射關系。屬性可視為實體與屬性值之間的 hasValue 關系,從而也轉化為以“實體-關系-實體”的三元組存儲。在知識圖譜的數據層,節點表示實體,邊表示實體間關系或實體的屬性。
根據上述的知識圖譜分層結構,知識圖譜的構建方法主要有兩種:一種是自底而上的構建方法(如下圖所示);一種是自定而下的構建方法。
自底向上的構建方法流程如下圖所示,從開放鏈接的數據源中提取實體、屬性和關系,加入到知識圖譜的數據層;然后將這些知識要素進行歸納組織,逐步往上抽象為概念,最后形成模式層。自頂而下的方法正好相反。
數據獲取是建立知識圖譜的第一步。目前,知識圖譜數據源按來源渠道的不同可分為兩種:一種是業務本身的數據,這部分數據通常包含在行業內部數據庫表并以結構化的方式存儲,是一種非公開或半公開的數據;另一種是網絡上公開、抓取的數據,這些數據通常是以網頁的形式存在,是非結構化的數據。
按數據結構的不同,可分為三種:結構化數據、半結構化數據和非結構化數據,根據不同的數據類型,我們采用不同的方法進行處理。
信息抽取的關鍵問題是如何從異構數據源中自動抽取信息得到候選知識單元。如前文所說,知識獲取有兩種渠道,前者只需要簡單預處理即可以作為后續AI系統的輸入,但后者一般需要借助于自然語言處理等技術來提取出結構化信息,這正是信息抽取的難點問題,涉及的關鍵技術包括實體抽取、關系抽取和屬性抽取。
實體抽取又稱為命名實體識別(NER),是指從文本數據集中自動識別出命名實體,其目的就是建立知識圖譜中的“節點”。實體抽取的質量(準確率和召回率)對后續的知識獲取效率和質量影響極大,因此是信息抽取中最為基礎和關鍵的部分。
實體的類型主要包括三大類七小類:
最初,實體識別通常采用人工預定義實體分類體系的方式,但是隨著技術的日新月異,這種老舊的方式已經很難適應時代的需求,因此面向開放領域的實體識別和分類極具研究價值。
在面向開放域的實體識別和分類研究中,不需要也不可能為每個領域或者每個實體類別建立單獨的語料庫作為訓練集。因此,研究人員主要面臨的挑戰是如何從給定的少量實體實例中自動發現具有區分力的模型。
一種思路是根據已知的實體實例進行特征建模,利用該模型處理海量數據集得到新的命名實體列表,然后針對新實體建模,迭代地生成實體標注語料庫。
另一種思路是利用搜索引擎的服務器日志,事先并不給出實體分類等信息,而是基于實體的語義特征從搜索日志中識別出命名實體,然后采用聚類算法對識別出的實體對象進行聚類。
文本語料經過實體抽取之后得到的是一系列離散的命名實體(節點),為了得到語義信息,還需要從相關的語料中提取出實體之間的關聯關系(邊),才能將多個實體或概念聯系起來,形成網狀的知識結構。研究關系抽取技術,就是研究如何解決從文本語料中抽取實體間的關系。
屬性抽取的目標是從不同信息源中采集特定實體的屬性信息,從而完成對實體屬性的完整勾畫,如針對某款手機,可以從互聯網中獲取多源(異構)的數據,從中得到其品牌、配置等信息。
如果把實體的屬性值看作是一種特殊的實體,那么屬性抽取實際上也是一種關系抽取。 百科類網站提供的半結構化數據是通用領域屬性抽取研究的主要數據來源,但具體到特定的應用領域,涉及大量的非結構化數據,屬性抽取仍然是一個巨大的挑戰。
經由信息抽取之后的信息單元間的關系是扁平化的,缺乏層次性和邏輯性,同時存在大量冗余甚至錯誤的信息碎片。知識融合,簡單理解,就是將多個知識庫中的知識進行整合,形成一個知識庫的過程,在這個過程中,主要關鍵技術包含指代消解、實體消歧、實體鏈接。不同的知識庫,收集知識的側重點不同,對于同一個實體,有知識庫的可能側重于其本身某個方面的描述,有的知識庫可能側重于描述實體與其它實體的關系,知識融合的目的就是將不同知識庫對實體的描述進行整合,從而獲得實體的完整描述。
知識融合旨在解決如何將關于同一個實體或概念的多源描述信息融合起來。
Coreference Resolution,字面上翻譯應該是“共指消解”,但在大部分博客或者論壇中通常被稱呼為“指代消解”。一般情況下,指代分為三種(NLP領域一般只關注前兩種指代類型):
所以,根據上面描述,個人認為將“Coreference Resolution”翻譯為“指代消解”更為恰當。
有些實體寫法不一樣,但指向同一個實體,比如“New York”表示紐約,而“NYC”同樣也可以表示紐約。這種情況下,實體消歧可以減少實體的種類,降低圖譜的稀疏性。
實體消歧是專門用于解決同名實體產生歧義問題的技術,通過實體消歧,就可以根據當前的語境,準確建立實體鏈接,實體消歧主要采用聚類法。其實也可以看做基于上下文的分類問題,類似于詞性消歧和詞義消歧。
實體鏈接(entity linking)是指對于從非結構化數據(如文本)或半結構化數據(如表格)中抽取得到的實體對象,將其鏈接到知識庫中對應的正確實體對象的操作。其基本思想是首先根據給定的實體指稱項,從知識庫中選出一組候選實體對象,然后通過相似度計算將指稱項鏈接到正確的實體對象。
實體鏈接鏈接的是從半結構化數據和非結構化數據那里通過信息抽取提取出來的數據。那么除了半結構化數據和非結構化數據以外,還有個更方便的數據來源——結構化數據,如外部知識庫和關系數據庫。對于這部分結構化數據的處理,就是知識合并的內容啦。一般來說知識合并主要分為兩種:
海量數據在經信息抽取、知識融合之后得到一系列基本的事實表達,但這并不等同于知識,要想獲得結構化,網絡化的知識體系,還需要經過質量評估之后(部分需要人工參與甄別),才能將合格的部分納入知識體系中以確保知識庫的質量,這就是知識加工的過程。知識加工主要包括3方面內容:本體構建、知識推理和質量評估。
來自維基百科的本體的定義:
In computer science and information science, an ontology is a formal naming and definition of the types, properties, and interrelationships of the entities that really or fundamentally exist for a particular domain of discourse.
譯:在計算機科學和信息科學中,一個本體就是特定領域或根本存在的實體的類型、屬性、相互關系的一個正式的命名和定義
本體這個概念,對于初學者來說的確有些抽象,不易理解。它可以用多種方式來描述:
總的概括:本體定義了組成領域的詞匯表的基本術語及其關系,以及結合這些術語和關系來定義詞匯表外延的規則。
引用:
本體和知識圖譜都通過定義元數據以支持語義服務。不同之處在于:知識圖譜更靈活, 支持通過添加自定義的標簽劃分事物的類別。本體側重概念模型的說明,能對知識表示進行概括性、抽象性的描述,強調的是概念以及概念之間的關系。大部分本體不包含過多的實例,本體實例的填充通常是在本體構建完成以后進行的。知識圖譜更側重描述實體關系,在實體層面對本體進行大量的豐富與擴充。可以認為,本體是知識圖譜的抽象表達,描述知識圖譜的上層模式;知識圖譜是本體的實例化, 是基于本體的知識庫。( 黃恒琪,于娟,廖曉,席運江.知識圖譜研究綜述.計算機系統應用,2019,28(6):1–12.)
知識地圖 (knowledge map) 將特定組織內的知識索引通過“地圖”的形式串聯在一起,揭示相關知識資源的類型、特征以及相互關系。 知識地圖的主要功能在于實現知識的快速檢索、共享和再重用,充分有效地利用知識資源。知識地圖是關于知識的來源的知識。知識并非存儲在知識地圖中,而是存儲在知識地圖所指向的知識源中。知識地圖指向的知識源包含數據庫、文件以及擁有豐富隱性知識的專家或員工。有的企業應用知識地圖來揭示知識的結構,實現對知識及其相關知識的檢索。( 黃恒琪,于娟,廖曉,席運江.知識圖譜研究綜述.計算機系統應用,2019,28(6):1–12.)
本體構建過程包含三個階段:
比如對下面這個例子,當知識圖譜剛得到“阿里巴巴”、“騰訊”、“手機”這三個實體的時候,可能會認為它們三個之間并沒有什么差別,但當它去計算三個實體之間的相似度后,就會發現,阿里巴巴和騰訊之間可能更相似,和手機差別更大一些。
這就是第一步的作用,但這樣下來,知識圖譜實際上還是沒有一個上下層的概念,它還是不知道,阿里巴巴和手機,根本就不隸屬于一個類型,無法比較。因此我們在實體上下位關系抽取這一步,就需要去完成這樣的工作,從而生成第三步的本體。
當三步結束后,這個知識圖譜可能就會明白,“阿里巴巴和騰訊,其實都是公司這樣一個實體下的細分實體。它們和手機并不是一類?!?br>
完成了本體構建這一步之后,一個知識圖譜的雛形便已經搭建好了。但可能在這個時候,知識圖譜之間大多數關系都是殘缺的,缺失值非常嚴重,那么這個時候,我們就可以使用知識推理技術,去完成進一步的知識發現。
知識推理就是指從知識庫中已有的實體關系數據出發,經過計算機推理,建立實體間的新關聯,從而擴展和豐富知識網絡。
例如康熙是雍正的父親,雍正是乾隆的父親,那么盡管康熙和乾隆這兩個實體之間通過知識推理,就可以獲得他們之間是祖孫關系。
知識推理的對象也并不局限于實體間的關系,也可以是實體的屬性值,本體的概念層次關系等。比如:
知識的推理方法可以分為2大類:基于邏輯的推理和基于圖的推理。
質量評估也是知識庫構建技術的重要組成部分,這一部分存在的意義在于:可以對知識的可信度進行量化,通過舍棄置信度較低的知識來保障知識庫的質量。
1、通俗易懂解釋知識圖譜 或 一文揭秘!自底向上構建知識圖譜全過程
2、斯坦福CS224n(15)指代消解
3、知識圖譜學習系列之一:知識圖譜綜述
4、知識圖譜的總體構建思路
5、知識圖譜—初識本體
6、本體概述