序
知識圖譜的早期理念源於WWW 之父Tim Berners-Lee 關於語義網(The Semantic Web)的設想,旨在採用圖結構(Graph Structure)來建模和記錄世界萬物之間的連結關係和知識,以便有效實現更加精準的物件級搜索。知識圖譜的相關技術已經在搜尋引擎、智慧問答、語言了解、推薦計算、大數據決策分析等許多領域獲得廣泛的實際應用。近年來,隨著自然語言處理、深度學習、圖資料處理等許多領域的高速發展,知識圖譜在自動化知識取得、知識表示學習與推理、大規模圖型擷取與分析等領域又獲得了很多新進展。
知識圖譜已經成為實現認知層面的人工智慧不可或缺的重要技術之一。
✤ 為什麼寫作本書
知識圖譜是較為典型的交換領域,有關知識工程、自然語言處理、機器學習、圖資料庫等多個領域。而知識圖譜的建置及應用有關更多細分領域的一系列關鍵技術,包含:知識建模、關係取出、圖型儲存、自動推理、圖譜表示學習、語義搜索、智慧問答、圖型計算分析等。做好知識圖譜需要系統掌握和應用這些分屬多個領域的技術。
本書寫作的第一個目的是盡可能地整理和組織好這些基礎知識,幫助讀者系統掌握相關技術,能夠從整體、全域和系統的角度看待和應用知識圖譜技術。早期的知識圖譜應用主要是Google、百度等公司的通用域搜尋引擎,以及以搜索延續發展出來為基礎的以知識圖譜為基礎的智慧問答應用,如天貓精靈、小米小愛等。這種應用主要依靠通用領域的知識圖譜,如百科類知識圖譜。近年來,知識圖譜在醫療、金融、安全等垂直領域深入發展,知識圖譜的應用也進一步從通用領域向越來越多的垂直領域擴充。對於剛剛進入該領域的從業人員,更需要能從應用入手,開展知識圖譜的研究與開發。
本書寫作的第二個目的是希望能夠為這些知識圖譜應用程式開發人員提供一本參考型的工具書。因此,本書在章節最後安排了一個小節介紹相關技術點的常用開放原始碼工具。
近幾年,隨著人工智慧的進一步發展,知識圖譜在深度知識取出、表示學習與機器推理、以知識為基礎的可解釋性人工智慧、圖譜採擷與圖神經網路等領域獲得了一系列新的進展。
本書寫作的第三個目的是希望整理和整理這些與知識圖譜相關領域的最新進展,幫助讀者了解它們的技術發展前端。
✤ 關於本書作者
本書邀請了從事相關領域研究和開發的第一線專家。三位主編都在語義網和知識圖譜領域具有十餘年的研究和開發經驗,同時也是中文領域開放知識圖譜OpenKG 的發起人。每個章節由各細分技術領域的專家主持撰寫,參與撰寫的編者既有來自大專院校從事相關學術研究的教師,也有來自企業擁有豐富實際開發經驗的技術專家。
✤ 本書主要內容
本書共包含9 章,主要內容如下:
第1 章主要介紹知識圖譜的基本概念、歷史淵源、典型的知識圖譜專案、技術要素以及核心應用價值。
第2 章圍繞知識表示與建模,首先介紹傳統人工智慧領域的典型知識表示方法,如述詞邏輯、描述邏輯、架構系統等,接下來重點介紹RDF、OWL 等網際網路時代的知識表示架構,此外還介紹知識圖譜的向量表示方法等。最後以Protégé 為例介紹知識建模的實際實作過程。
第3 章圍繞知識儲存,首先介紹知識圖譜儲存的主要特點和困難,然後介紹幾種常用的知識圖譜儲存索引及儲存技術,並對原生圖資料庫的技術原理進行簡介。此外,還概要介紹常用的圖資料庫,並以Apache Jena 和gStore 為例介紹知識圖譜儲存的實際實作過程。
第4 章圍繞知識取出與知識採擷,首先介紹從不同來源取得知識圖譜資料的常用方法,然後重點圍繞實體取出、關係取出和事件取出等,對從文字中取得知識圖譜資料的方法展開了較為實際的介紹。最後以DeepDive 開放原始碼工具為例介紹關係取出的實際實作過程。
第5 章圍繞知識圖譜的融合,分別對概念層的融合和物理層的融合多作說明,包含本體對映、語義對映技術、實體對齊、實體連結等。最後以LIMES開放原始碼工具為例介紹實體融合的實際實作過程。
第6 章圍繞知識圖譜推理,首先介紹推理的基本概念,然後分別從以演繹邏輯為基礎的知識圖譜推理和以歸納為基礎的知識圖譜推理,對常用的知識圖譜推理技術介紹。最後以Apache Jena 和Drools 等開放原始碼工具為例介紹知識圖譜推理的實際實作過程。
第7 章和第8 章分別圍繞語義搜索和知識問答展開,介紹語義索引、以知識圖譜為基礎的問答等系列技術,並以gAnswer 等開放原始碼工具為例,介紹以知識圖譜實現精準搜索和問答為基礎的實際實作過程。
第9 章為應用案例章節,作者挑選了電子商務、圖情、生活娛樂、企業商業、創投、中醫臨床領域和金融證券企業7 個應用案例,對知識圖譜技術在不同領域的實現過程和應用方法多作說明。
✤ 如何閱讀本書
這是一本知識含金量極高的書,讀者應該怎樣利用這本書呢?
在閱讀此書前,讀者應當具備資料庫、機器學習及自然語言處理的基礎。本書的章節是依據知識圖譜的相關技術點進行安排的。由於知識圖譜有關的技術面較多,我們建議剛進入知識圖譜領域的讀者依下列方式閱讀本書。
■ 第一遍先通讀全書,主要釐清基本概念,對有關學術前端的內容以及開放原始碼工具實作部分的內容可以只簡單瀏覽。
■ 第二遍重點針對每個章節後面的開放原始碼工具進行實作學習,透過實際操作加深對各技術點的了解。
■ 第三遍針對各章中介紹的演算法進行學習,並結合相關論文的閱讀加深對演算法的了解。在這個階段可以挑選自己有興趣的技術點進行深入研究。
在撰寫本書時,編者考慮了各章節技術點的獨立性,對知識圖譜的某些技術已經有些了解的讀者,可以不用嚴格按照書的章節順序閱讀,而是挑選自己有興趣的章節進行學習。
✤ 致謝
本書是很多人共同努力的成果,在此感謝各位編者的共同努力。同時,在本書寫作過程中,北京大學的鄒磊、胡森,湖南大學的彭鵬,海知智能的袁熙昊、韓廬山、王燚鵬、孫勝男、郭玉婷,東南大學的吳桐桐、譚亦鳴、花雲程,浙江大學的張文、王冠穎、王若旭、陳名楊、王梁、葉志權等人也提供了非常有價值的研究結果和修改意見,在此表示衷心的感謝。
在電子工業出版社博文視點宋亞東編輯的熱情推動下,最後促成了我們與電子工業出版社的合作。在審稿過程中,他多次邀請專家對此書提出有益意見,對書稿的修改增強有重要作用。在此感謝電子工業出版社博文視點和宋亞東編輯對本書的重視,以及為本書出版所做的一切。
為推動中文領域開放知識圖譜的發展,本書的作者們一致同意將部分稿酬捐贈給OpenKG。在此,也對參與本書的所有作者的無私奉獻表示感謝。
由於作者水準有限,書中不足及錯誤之處在所難免。此外,由於知識圖譜技術涉及面廣,本書難免有所遺漏,敬請專家和讀者給予批評指正。