知識圖譜是較為典型的多學科交叉領域,涉及知識工程、自然語言處理、機器學習、圖數據庫等多個領域。本書系統地介紹知識圖譜涉及的關鍵技術,如知識建模、關系抽取、圖存儲、自動推理、圖譜表示學習、語義搜索、知識問答、圖挖掘分析等。此外,本書還嘗試將學術前沿和實戰結合,讓讀者在掌握實際應用能力的同時對前沿技術發展有所了解。本書既適合計算機和人工智能相關的研究人員閱讀,又適合在企業一線從事技術和應用開發的人員學習,還可作為高等院校計算機或人工智能專業師生的參考教材。
王昊奮,上海樂言信息科技有限公司CTO,CCF理事、計算機術語審定工作委員會主任、中文知識圖譜zhishi.me創始人、OpenKG發起人之一、中文信息學會語言與知識計算委員會副秘書長,共發表80余篇高水平論文,在知識圖譜、問答系統和聊天機器人等諸多領域有豐富的研發經驗。其帶隊構建的語義搜索系統在Billion Triple Challenge中榮獲全球第2名;在著名的本體匹配競賽OAEI的實體匹配任務中斬獲得全球第1名。曾主持并參與多項國家自然科學基金、863重大專項和國家科技支撐項目,以學術負責人身份參與Paypal、Google、Intel、IBM、百度等企業的合作項目。
第1章 知識圖譜概述 1
1.1 什么是知識圖譜 1
1.2 知識圖譜的發展歷史 2
1.3 知識圖譜的價值 5
1.4 國內外典型的知識圖譜項目 9
1.4.1 早期的知識庫項目 9
1.4.2 互聯網時代的知識圖譜 9
1.4.3 中文開放知識圖譜 12
1.4.4 垂直領域知識圖譜 13
1.5 知識圖譜的技術流程 15
1.6 知識圖譜的相關技術 19
1.6.1 知識圖譜與數據庫系統 19
1.6.2 知識圖譜與智能問答 23
1.6.3 知識圖譜與機器推理 25
1.6.4 知識圖譜與推薦系統 28
1.6.5 區塊鏈與去中心化的知識圖譜 29
1.7 本章小結 30
參考文獻 31
第2章 知識圖譜表示與建模 40
2.1 什么是知識表示 40
2.2 人工智能早期的知識表示方法 43
2.2.1 一階謂詞邏輯 43
2.2.2 霍恩子句和霍恩邏輯 43
2.2.3 語義網絡 44
2.2.4 框架 45
2.2.5 描述邏輯 47
2.3 互聯網時代的語義網知識表示框架 48
2.3.1 RDF和RDFS 48
2.3.2 OWL和OWL2 Fragments 53
2.3.3 知識圖譜查詢語言的表示 59
2.3.4 語義Markup表示語言 62
2.4 常見開放域知識圖譜的知識表示方法 64
2.4.1 Freebase 64
2.4.2 Wikidata 65
2.4.3 ConceptNet5 66
2.5 知識圖譜的向量表示方法 68
2.5.1 知識圖譜表示的挑戰 68
2.5.2 詞的向量表示方法 68
2.5.3 知識圖譜嵌入的概念 71
2.5.4 知識圖譜嵌入的優點 72
2.5.5 知識圖譜嵌入的主要方法 72
2.5.6 知識圖譜嵌入的應用 75
2.6 開源工具實踐:基于Protégé的本體知識建模 77
2.6.1 簡介 77
2.6.2 環境準備 78
2.6.3 Protégé實踐主要功能演示 78
2.7 本章小結 80
參考文獻 80
第3章 知識存儲 82
3.1 知識圖譜數據庫基本知識 82
3.1.1 知識圖譜數據模型 82
3.1.2 知識圖譜查詢語言 85
3.2 常見知識圖譜存儲方法 91
3.2.1 基于關系數據庫的存儲方案 91
3.2.2 面向RDF的三元組數據庫 101
3.2.3 原生圖數據庫 115
3.2.4 知識圖譜數據庫比較 120
3.3 知識存儲關鍵技術 121
3.3.1 知識圖譜數據庫的存儲:以Neo4j為例 121
3.3.2 知識圖譜數據庫的索引 124
3.4 開源工具實踐 126
3.4.1 三元組數據庫Apache Jena 126
3.4.2 Tutorial:面向RDF的三元組數據庫gStore 128
參考文獻 131
第4章 知識抽取與知識挖掘 133
4.1 知識抽取任務及相關競賽 133
4.1.1 知識抽取任務定義 133
4.1.2 知識抽取相關競賽 134
4.2 面向非結構化數據的知識抽取 136
4.2.1 實體抽取 137
4.2.2 關系抽取 142
4.2.3 事件抽取 150
4.3 面向結構化數據的知識抽取 154
4.3.1 直接映射 154
4.3.2 R2RML 156
4.3.3 相關工具 159
4.4 面向半結構化數據的知識抽取 161
4.4.1 面向百科類數據的知識抽取 161
4.4.2 面向Web網頁的知識抽取 165
4.5 知識挖掘 168
4.5.1 知識內容挖掘:實體鏈接 168
4.5.2 知識結構挖掘:規則挖掘 174
4.6 開源工具實踐:基于DeepDive的關系抽取實踐 178
4.6.1 開源工具的技術架構 178
4.6.2 其他類似工具 180
參考文獻 180
第5章 知識圖譜的融合 184
5.1 什么是知識圖譜融合 184
5.2 知識圖譜中的異構問題 185
5.2.1 語言層不匹配 186
5.2.2 模型層不匹配 187
5.3 本體概念層的融合方法與技術 190
5.3.1 本體映射與本體集成 190
5.3.2 本體映射分類 192
5.3.3 本體映射方法和工具 195
5.3.4 本體映射管理 232
5.3.5 本體映射應用 235
5.4 實例層的融合與匹配 236
5.4.1 知識圖譜中的實例匹配問題分析 236
5.4.2 基于快速相似度計算的實例匹配方法 240
5.4.3 基于規則的實例匹配方法 241
5.4.4 基于分治的實例匹配方法 244
5.4.5 基于學習的實例匹配方法 260
5.4.6 實例匹配中的分布式并行處理 266
5.5 開源工具實踐:實體關系發現框架LIMES 266
5.5.1 簡介 266
5.5.2 開源工具的技術架構 267
5.5.3 其他類似工具 269
5.6 本章小結 269
參考文獻 270
第6章 知識圖譜推理 279
6.1 推理概述 279
6.1.1 什么是推理 279
6.1.2 面向知識圖譜的推理 282
6.2 基于演繹的知識圖譜推理 283
6.2.1 本體推理 283
6.2.2 基于邏輯編程的推理方法 288
6.2.3 基于查詢重寫的方法 295
6.2.4 基于產生式規則的方法 301
6.3 基于歸納的知識圖譜推理 306
6.3.1 基于圖結構的推理 306
6.3.2 基于規則學習的推理 313
6.3.3 基于表示學習的推理 318
6.4 知識圖譜推理新進展 324
6.4.1 時序預測推理 324
6.4.2 基于強化學習的知識圖譜推理 325
6.4.3 基于元學習的少樣本知識圖譜推理 326
6.4.4 圖神經網絡與知識圖譜推理 326
6.5 開源工具實踐:基于Jena和Drools的知識推理實踐 327
6.5.1 開源工具簡介 327
6.5.2 開源工具的技術架構 327
6.5.3 開發軟件版本及其下載地址 328
6.5.4 基于Jena的知識推理實踐 328
6.5.5 基于Drools的知識推理實踐 329
6.6 本章小結 329
參考文獻 330
第7章 語義搜索 334
7.1 語義搜索簡介 334
7.2 結構化的查詢語言 336
7.2.1 數據查詢 338
7.2.2 數據插入 341
7.2.3 數據刪除 341
7.3 語義數據搜索 342
7.4 語義搜索的交互范式 348
7.4.1 基于關鍵詞的知識圖譜語義搜索方法 348
7.4.2 基于分面的知識圖譜語義搜索 350
7.4.3 基于表示學習的知識圖譜語義搜索 352
7.5 開源工具實踐 355
7.5.1 功能介紹 355
7.5.2 環境搭建及數據準備 357
7.5.3 數據準備 357
7.5.4 導入Elasticsearch 360
7.5.5 功能實現 (views.py) 361
7.5.6 執行查詢 363
參考文獻 364
第8章 知識問答 366
8.1 知識問答概述 366
8.1.1 知識問答的基本要素 366
8.1.2 知識問答的相關工作 367
8.1.3 知識問答應用場景 369
8.2 知識問答的分類體系 371
8.2.1 問題類型與答案類型 371
8.2.2 知識庫類型 374
8.2.3 智能體類型 375
8.3 知識問答系統 376
8.3.1 NLIDB:早期的問答系統 376
8.3.2 IRQA:基于信息檢索的問答系統 380
8.3.3 KBQA :基于知識庫的問答系統 380
8.3.4 CommunityQA/FAQ-QA:基于問答對匹配的問答系統 381
8.3.5 Hybrid QA Framework 混合問答系統框架 382
8.4 知識問答的評價方法 386
8.4.1 問答系統的評價指標 386
8.4.2 問答系統的評價數據集 387
8.5 KBQA前沿技術 392
8.5.1 KBQA面臨的挑戰 392
8.5.2 基于模板的方法 394
8.5.3 基于語義解析的方法 398
8.5.4 基于深度學習的傳統問答模塊優化 401
8.5.5 基于深度學習的端到端問答模型 405
8.6 開源工具實踐 406
8.6.1 使用Elasticsearch搭建簡單知識問答系統 406
8.6.2 基于gAnswer構建中英文知識問答系統 410
8.7 本章小結 415
參考文獻 416
第9章 知識圖譜應用案例 420
9.1 領域知識圖譜構建的技術流程 420
9.1.1 領域知識建模 421
9.1.2 知識存儲 422
9.1.3 知識抽取 422
9.1.4 知識融合 423
9.1.5 知識計算 423
9.1.6 知識應用 424
9.2 領域知識圖譜構建的基本方法 425
9.2.1 自頂向下的構建方法 425
9.2.2 自頂向下的構建方法 426
9.3 領域知識圖譜的應用案例 428
9.3.1 電商知識圖譜的構建與應用 428
9.3.2 圖情知識圖譜的構建與應用 431
9.3.3 生活娛樂知識圖譜構建與應用:以美團為例 435
9.3.4 企業商業知識圖譜的構建與應用 440
9.3.5 創投知識圖譜的構建與應用 443
9.3.6 中醫臨床領域知識圖譜的構建與應用 448
9.3.7 金融證券行業知識圖譜應用實踐 452
9.4 本章小結 460
參考文獻 461