1.4 知識圖譜的技術內涵
本節系統性地梳理知識圖譜涉及的主要技術要素,幫助大家了解和掌握知識圖譜的核心技術內涵。
1.4.1 知識圖譜是交叉技術領域
知識圖譜是典型的交叉技術領域,如圖1-15所示。在人工智能和機器學習領域,傳統符號知識表示是知識圖譜的重要基礎技術;同時深度學習、表示學習等領域與知識圖譜的交叉產生了知識圖譜嵌入、知識圖譜表示學習等交叉領域。在傳統的自然語言處理領域,怎樣從文本中自動化識別實體、抽取關系、檢測事件等信息一直是經久不衰的研究熱題,Knowledge Base Population即是知識圖譜與自然語言處理之間產生的交叉領域。在數據庫領域,知識圖譜與數據庫的交叉又產生了圖數據庫,而圖嵌入、圖挖掘等數據挖掘領域的方法也廣泛地被用來處理知識圖譜數據。同時,知識圖譜也具有互聯網基因,其最早的商業落地應用即是搜索引擎,因此在互聯網和信息獲取等領域的會議中也會看到很多知識圖譜相關的學術論文。此外,計算機視覺、物聯網和區塊鏈等領域也都能時常見到知識圖譜的影子。

圖1-15 知識圖譜是交叉技術領域
1.4.2 知識圖譜的兩個核心技術維度
雖然知識圖譜的交叉特征導致知識圖譜相關技術點繁多,但知識圖譜始終有兩個比較核心的技術基因,如圖1-16所示。第一個是從知識的視角,它來源于傳統AI的知識表示與推理領域,關心怎么表示概念和實體,怎樣刻畫它們之間的關系,怎樣進一步表示公理、規則等更加復雜的知識。隨著深度學習的興起,怎樣利用向量表示實體和關系產生了KG Embedding的技術領域;而怎樣利用神經網絡來實現邏輯推理則產生了Neural Symbolic Reasoning等新興的技術領域。

圖1-16 知識+圖譜:兩個互補的技術維度
第二個視角是從圖的視角,它來源于知識圖譜的互聯網基因,關心圖中的節點、邊、鏈接、路徑、子圖結構,怎樣存儲大規模的圖數據,怎樣利用圖的結構對圖數據進行推理、挖掘與分析等。知識圖譜一方面比純圖的表達能力更強,能建模和解決更加復雜的問題,另外一方面又比傳統專家系統時代的知識表示方法采用的形式邏輯更簡單,同時容忍知識中存在噪聲,在構建過程更加容易擴展,因此得到了更為廣泛的認可和應用。
1.4.3 知識圖譜的技術棧
進一步細分,知識圖譜涉及的技術要素可以分為表示、存儲、抽取、融合、推理、問答和分析等幾個方面,如圖1-17所示。例如,從表示的維度,涉及最基本的屬性圖表示和RDF圖模型,以及更復雜知識的OWL本體表示和規則知識建模。從存儲的維度,涉及怎樣利用已有的關系數據庫存儲知識圖譜,也涉及性能更高的原生圖存儲、圖查詢語言等。從抽取的維度,涉及怎樣從文本中抽取概念、識別實體以及抽取三元組和事件等更為復雜的結構化知識。從融合的角度,涉及怎樣實現本體映射和概念匹配,以及實例層的實體對齊等技術。從推理的角度,涉及基于傳統符號邏輯的推理技術,以及新興的基于表示學習和神經網絡的推理技術。從問答的角度,涉及問句理解、語義解析、答案生成和實體鏈接等多個智能問答領域的技術。從分析的角度,涉及傳統的圖算法,以及利用圖嵌入、圖神經網絡等技術對知識圖譜數據進行深度挖掘和分析等方面的技術。其他還包括知識圖譜的眾包技術,在計算機視覺領域的Scene Graph的構建,以及Semantic IoT等。在后面的章節中,嘗試對這些繁多的技術要素進行系統性的梳理和介紹。當然,在解決一個實際問題時,通常僅需要用到其中若干技術的組合,但對它們進行整體了解和全面把握,對于提出系統性的解決方案會有很大幫助。

圖1-17 知識圖譜技術棧
接下來,對各個技術維度進行概覽性的介紹,后面每一個技術維度都會有一個對應章節進行具體的介紹。
1. 基于圖的知識表示
第一個技術維度是表示。最常用的知識圖譜表示方法有屬性圖和RDF圖兩種。這兩種表示方法都基于一個共同的圖模型——有向標記圖(Directed Labeled Graph),知識圖譜就是基于有向標記圖的知識表示方法。以RDF圖模型為例具體介紹,知識圖譜的最基本組成單元是三元組。一個三元組包含(Subject,Predicate,Object)三個部分,即主語、謂語和賓語。例如,“浙江大學位于 杭州”就可以簡單地用一個三元組表示。一條三元組代表了對客觀世界某個邏輯事實的陳述。這些三元組頭尾相互連接形成了一張描述萬物關系的圖譜。從這個角度來看,三元組實際上是最簡單而且最接近于人的自然語言的數據模型,而圖的信息組織方式又更接近人腦的記憶存儲方式。當然,三元組的表達能力也是有限的,在后面的章節中還會介紹更加復雜的知識,比如本體公理、規則邏輯等怎樣建模和表示。
2. 圖數據存儲與查詢
第二個技術維度是存儲。圖數據庫充分利用圖的結構建立微索引。這種微索引比關系數據庫的全局索引在處理圖遍歷查詢時更加廉價,其查詢復雜度與數據集整體大小無關,僅正比于相鄰子圖的大小。因此在很多涉及復雜關聯和多跳的場景中得到廣泛應用。這里需要說明的是,圖數據庫并非知識圖譜存儲的必選方案,在后面的章節中,會介紹常見的知識圖譜存儲的各種解決方案。
3. 知識抽取
第三個技術維度是知識抽取。知識圖譜的構建一般多依賴于已有的結構化數據,通過映射到預先定義的Schema或本體來快速地冷啟動。然后利用自動化抽取技術,從半結構化數據和文本中提取結構化信息來補全知識圖譜。這里涉及D2R映射,表格及列表數據抽取,從文本中識別實體、關系和事件等。這里需要特別說明的是,目前完全自動化地抽取高質量的知識仍然是無法做到的,“機器抽取+人工眾包”仍然是當前知識圖譜構建的主流技術路線。
4. 知識融合
第四個技術維度是知識圖譜的融合。在知識圖譜的構建過程中,很多時候都需要使用數據融合技術將多個來源數據中的實體或概念映射到統一的命名空間中。主要包含兩個層面的融合,一個是在本體概念層面,例如兩個不同的知識圖譜用到的概念,其中一個定義的Rock Singer是另外一個定義的Singer類的子類。另一個是在實體層面,例如同一個人在不同的數據集中用的名字是不一樣的。基于表示學習的方法是當前實現知識圖譜異構融合的主流技術。
5. 知識推理
第五個技術維度是知識推理。推理是知識圖譜的核心技術和任務,知識圖譜推理的目標是利用圖譜中已經存在的關聯關系或事實來推斷未知的關系或事實,在知識圖譜的各項應用任務中發揮著重要作用。推理可以用來實現鏈接預測、補全缺失屬性、檢測錯誤描述和識別語義沖突,以提升圖譜質量等。在查詢和問答中,推理可以用來拓展問句語義,提高查詢召回。在推薦計算中,推理可用來提升推薦的精準性和可解釋性。此外,推理在深度語言語義理解和視覺問答中也扮演著必不可少的角色。凡是包含深度語義理解的任務都會涉及推理的過程。當前,在知識圖譜中實現推理大致可以分為基于符號邏輯的方法和基于表示學習的方法。傳統基于符號邏輯的方法的主要優點是具備可解釋性,主要缺點是不易于處理隱含和不確定的知識。基于表示學習的方法的主要優點是推理效率高且能表征隱含知識,主要缺點是丟失可解釋性。
6. 知識問答
第六個技術維度是知識問答。問答是利用知識圖譜數據的主要形式之一。一個典型的問答處理流程涉及對問句的語義解析,即把自然語言問句解析為更易于被機器處理的邏輯表示或分布式表示形式,再將問句的語義表示與知識圖譜中的節點進行匹配和查詢,這個過程中可能還需要疊加推理,對結果進行放大,最后再對候選的匹配結果進行排序,并生成對用戶友好的答案形式。知識圖譜問答有很多種不同的實現形式,也會在知識圖譜問答章節對相關基本技術進行介紹。
7. 圖算法與知識分析
第七個技術維度是圖算法與知識分析。知識圖譜作為一種基于圖結構的數據,可以充分地利用各種圖挖掘與分析算法對知識圖譜進行深度的挖掘和分析。包括常見的基于圖論的一系列算法,如最短路徑搜索、子圖識別和中心度分析等,也包括圖嵌入、圖神經網絡等圖表示學習方法。