從一開始的Google搜索,到現在的聊天機器人、大數據風控、證券投資、智能醫療、自適應教育、推薦系統,無一不跟知識圖譜相關。 隨著移動互聯網的發展,萬物互聯成為了可能,這種互聯所產生的數據也在爆發式地增長,而且這些數據恰好可以作為分析關系的有效原料。如果說以往的智能分析專注在每一個個體上,在移動互聯網時代則除了個體,這種個體之間的關系也必然成為我們需要深入分析的很重要一部分。 在一項任務中,只要有關系分析的需求,知識圖譜就“有可能”派的上用場。 知識圖譜的表示 知識圖譜應用的前提是已經構建好了知識圖譜,也可以把它認為是一個知識庫。這也是為什么它可以用來回答一些搜索相關問題的原因,比如在Google搜索引擎里輸入“Who is the wife of Bill Gates?”,我們直接可以得到答案-“Melinda Gates”。這是因為我們在系統層面上已經創建好了一個包含“Bill Gates”和“Melinda Gates”的實體以及他倆之間關系的知識庫。所以,當我們執行搜索的時候,就可以通過關鍵詞提取("Bill Gates", "Melinda Gates", "wife")以及知識庫上的匹配可以直接獲得最終的答案。這種搜索方式跟傳統的搜索引擎是不一樣的,一個傳統的搜索引擎它返回的是網頁、而不是最終的答案,所以就多了一層用戶自己篩選并過濾信息的過程。 在現實世界中,實體和關系也會擁有各自的屬性,比如人可以有“姓名”和“年齡”。當一個知識圖譜擁有屬性時,我們可以用屬性圖(Property Graph)來表示。下面的圖表示一個簡單的屬性圖。李明和李飛是父子關系,并且李明擁有一個138開頭的電話號,這個電話號開通時間是2018年,其中2018年就可以作為關系的屬性。類似的,李明本人也帶有一些屬性值比如年齡為25歲、職位是總經理等。 這種屬性圖的表達很貼近現實生活中的場景,也可以很好地描述業務中所包含的邏輯。除了屬性圖,知識圖譜也可以用RDF來表示,它是由很多的三元組(Triples)來組成。RDF在設計上的主要特點是易于發布和分享數據,但不支持實體或關系擁有屬性,如果非要加上屬性,則在設計上需要做一些修改。目前來看,RDF主要還是用于學術的場景,在工業界我們更多的還是采用圖數據庫(比如用來存儲屬性圖)的方式。感興趣的讀者可以參考RDF的相關文獻,在文本里不多做解釋。 知識抽取 知識圖譜的構建是后續應用的基礎,而且構建的前提是需要把數據從不同的數據源中抽取出來。對于垂直領域的知識圖譜來說,它們的數據源主要來自兩種渠道:一種是業務本身的數據,這部分數據通常包含在公司內的數據庫表并以結構化的方式存儲;另一種是網絡上公開、抓取的數據,這些數據通常是以網頁的形式存在所以是非結構化的數據。 前者一般只需要簡單預處理即可以作為后續AI系統的輸入,但后者一般需要借助于自然語言處理等技術來提取出結構化信息。比如在上面的搜索例子里,Bill Gates和Malinda Gate的關系就可以從非結構化數據中提煉出來,比如維基百科等數據源。 信息抽取的難點在于處理非結構化數據。在下面的圖中,我們給出了一個實例。左邊是一段非結構化的英文文本,右邊是從這些文本中抽取出來的實體和關系。在構建類似的圖譜過程當中,主要涉及以下幾個方面的自然語言處理技術: a. 實體命名識別(Name Entity Recognition) b. 關系抽取(Relation Extraction) c. 實體統一(Entity Resolution) d. 指代消解(Coreference Resolution) 知識圖譜的存儲 知識圖譜主要有兩種存儲方式:一種是基于RDF的存儲;另一種是基于圖數據庫的存儲。它們之間的區別如下圖所示。RDF一個重要的設計原則是數據的易發布以及共享,圖數據庫則把重點放在了高效的圖查詢和搜索上。其次,RDF以三元組的方式來存儲數據而且不包含屬性信息,但圖數據庫一般以屬性圖為基本的表示形式,所以實體和關系可以包含屬性,這就意味著更容易表達現實的業務場景。 根據最新的統計(2018年上半年),圖數據庫仍然是增長最快的存儲系統。相反,關系型數據庫的增長基本保持在一個穩定的水平。同時,我們也列出了常用的圖數據庫系統以及他們最新使用情況的排名。 其中Neo4j系統目前仍是使用率最高的圖數據庫,它擁有活躍的社區,而且系統本身的查詢效率高,但唯一的不足就是不支持準分布式。相反,OrientDB和JanusGraph(原Titan)支持分布式,但這些系統相對較新,社區不如Neo4j活躍,這也就意味著使用過程當中不可避免地會遇到一些刺手的問題。如果選擇使用RDF的存儲系統,Jena或許一個比較不錯的選擇。 知識圖譜在其他行業中的應用 除了金融領域,知識圖譜的應用可以涉及到很多其他的行業,包括醫療、教育、證券投資、推薦等等。其實,只要有關系存在,則有知識圖譜可發揮價值的地方。 在這里簡單舉幾個垂直行業中的應用。 比如對于教育行業,我們經常談論個性化教育、因材施教的理念。其核心在于理解學生當前的知識體系,而且這種知識體系依賴于我們所獲取到的數據比如交互數據、評測數據、互動數據等等。為了分析學習路徑以及知識結構,我們則需要針對于一個領域的概念知識圖譜,簡單來講就是概念拓撲結構。在下面的圖中,我們給出了一個非常簡單的概念圖譜:比如為了學習邏輯回歸則需要先理解線性回歸;為了學習CNN,得對神經網絡有所理解等等。所有對學生的評測、互動分析都離不開概念圖譜這個底層的數據。 在證券領域,我們經常會關心比如“一個事件發生了,對哪些公司產生什么樣的影響?” 比如有一個負面消息是關于公司1的高管,而且我們知道公司1和公司2有種很密切的合作關系,公司2有個主營產品是由公司3提供的原料基礎上做出來的。 其實有了這樣的一個知識圖譜,我們很容易回答哪些公司有可能會被這次的負面事件所影響。當然,僅僅是“有可能”,具體會不會有強相關性必須由數據來驗證。所以在這里,知識圖譜的好處就是把我們所需要關注的范圍很快給我們圈定。接下來的問題會更復雜一些,比如既然我們知道公司3有可能被這次事件所影響,那具體影響程度有多大? 對于這個問題,光靠知識圖譜是很難回答的,必須要有一個影響模型、以及需要一些歷史數據才能在知識圖譜中做進一步推理以及計算。 實踐上的幾點建議 首先,知識圖譜是一個比較新的工具,它的主要作用還是在于分析關系,尤其是深度的關系。所以在業務上,首先要確保它的必要性,其實很多問題可以用非知識圖譜的方式來解決。 知識圖譜領域一個最重要的話題是知識的推理。 而且知識的推理是走向強人工智能的必經之路。但很遺憾的,目前很多語義網絡的角度討論的推理技術(比如基于深度學習,概率統計)很難在實際的垂直應用中落地。其實目前最有效的方式還是基于一些規則的方法論,除非我們有非常龐大的數據集。 最后,還是要強調一點,知識圖譜工程本身還是業務為重心,以數據為中心。不要低估業務和數據的重要性。 總之知識圖譜是一個既充滿挑戰而且非常有趣的領域。只要有正確的應用場景,對于知識圖譜所能發揮的價值還是可以期待的。我相信在未來不到2,3年時間里,知識圖譜技術會普及到各個領域當中。 分享安排 一、知識圖譜概論 1.1知識圖譜的起源和歷史 1.2知識圖譜的發展史——從框架、本體論、語義網、鏈接數據到知識圖譜 1.3知識圖譜的本質和價值 1.4知識圖譜VS傳統知識庫VS關系數據庫 1.5經典的知識圖譜 1.5.1經典的CYC, WordNnet, WikiData, DBpedia, YAGO, NELL等知識庫 1.5.2行業知識圖譜: Google知識圖譜,微軟實體圖,阿里知識圖譜,醫學知識圖譜,基因知識圖譜等知識圖譜項目 二、知識圖譜應用 2.1知識圖譜應用場景 2.2知識圖譜應用簡介 2.2.1知識圖譜在數字圖書館上的應用 2.2.2知識圖譜在國防、情報、公安上的應用 2.2.3知識圖譜在金融上的應用 2.2.4知識圖譜在電子商務中的應用 2.2.5知識圖譜在農業、醫學、法律等領域的應用 2.2.6知識圖譜在制造行業的應用 2.2.7知識圖譜在大數據融合中的應用 2.2.8知識圖譜在人機交互(智能問答)中的應用 三、知識表示與知識建模 3.1知識表示概念 3.2 知識表示方法 a.語義網絡 b.產生式規則 c.框架系統 d.描述邏輯 e.本體 f.RDF和RDFS g.OWL和OWL2 Fragments h.SPARQL查詢語言 i.Json-LD、RDFa、HTML5 MicroData等新型知識表示 3.3典型知識庫項目的知識表示 3.4知識建模方法學 3.5知識表示和知識建模實踐 1.三國演義知識圖譜的表示和建模實踐案例 2.學術知識圖譜等 四、知識抽取與挖掘 4.1知識抽取基本問題 a.實體識別 b.關系抽取 c.事件抽取 4.2數據采集和獲取 4.3面向結構化數據的知識抽取 a.D2RQ b.R2RML 4.4面向半結構化數據的知識抽取 a.基于正則表達式的方法 b.基于包裝器的方法 4.5.面向非結構化數據的知識抽取 a.實體識別技術(基于規則、機器學習、深度學習、半監督學習、預訓練等方法) b.關系抽取技術(基于模板、監督、遠程監督、深度學習等方法) c.事件抽取技術(基于規則、深度學習、強化學習等方法) 4.6.知識挖掘 a.實體消歧b.實體鏈接c.類型推斷 d.知識表示學習 4.7知識抽取上機實踐 A.面向半結構化數據的三國演義知識抽取 B.面向文本的三國演義知識抽取 C.人物關系抽取 五、知識融合 5.1知識融合背景 5.2知識異構原因分析 5.3知識融合解決方案分析 5.4.本體對齊基本流程和常用方法 a.基于文本的匹配 b.基于圖結構的匹配 c.基于外部知識庫的匹配 e.不平衡本體匹配 d.跨語言本體匹配 f.弱信息本體匹配 5.5實體匹配基本流程和常用方法 a.基于相似度的實例匹配 b.基于規則或推理的實體匹配 c.基于機器學習的實例匹配 d.大規模知識圖譜的實例匹配 (1)基于分塊的實例匹配 (2)無需分塊的實例匹配 (3)大規模實例匹配的分布式處理 5.6 知識融合上機實踐 1.百科知識融合 2.OAEI知識融合任務 六、存儲與檢索 6.1.知識圖譜的存儲與檢索概述 6.2.知識圖譜的存儲 a.基于表結構的存儲 b.基于圖結構的存儲 6.3.知識圖譜的檢索 a.關系數據庫查詢:SQL語言 b數據庫查詢:SPARQL語言 6.4.上機實踐案例:利用GraphDB完成知識圖譜的存儲與檢索 七、知識推理 7.1.知識圖譜中的推理技術概述 7.2.歸納推理:學習推理規則 a.歸納邏輯程設計Øb.關聯規則挖掘 c.路徑排序算法 上機實踐案例:利用AMIE+算法完成Freebase數據上的關聯規則挖掘 7.3.演繹推理:推理具體事實 Ø a.馬爾可夫邏輯網 b.概率軟邏輯 7.4.基于分布式表示的推理 a. TransE模型及其變種 b.RESCAL模型及其變種 c.(深度)神經網絡模型介紹 d.表示學習模型訓練 7.5.上機實踐案例:利用分布式知識表示技術完成Freebase上的鏈接預測 八、語義搜索 8.1.語義搜索概述 8.2.搜索關鍵技術 a.索引技術:倒排索引 b.排序算法:BM25及其擴展 8.3.知識圖譜搜索 a.實體搜索 b.關聯搜索 8.4.知識可視化 a.摘要技術 8.5.上機實踐案例:SPARQL搜索 九、知識問答 9.1.知識問答概述 9.2.知識問答基本流程 9.3.相關測試集:QALD、WebQuestions等 9.4.知識問答關鍵技術 a.基于模板的方法 b.語義解析 c.基于深度學習的方法 9.5.上機實踐案例:DeepQA、TemplateQA 學習和關注人工智能技術與咨詢,了解更多資訊!!! |