在電影《復(fù)仇者聯(lián)盟2:奧創(chuàng)紀(jì)元》中,人工智能奧創(chuàng)引發(fā)了重大的災(zāi)難。奧創(chuàng)作為電影中的超級反派,有著強大的戰(zhàn)斗力,它可以精準(zhǔn)地分析復(fù)仇者聯(lián)盟中每位英雄的各項數(shù)據(jù)、屬性和歷史戰(zhàn)役,找出其各自的弱點,借此打敗了多個英雄,如圖1所示。其中一個可能的原因就是奧創(chuàng)擁有強大的知識計算能力,而知識計算的重要基礎(chǔ)就是知識圖譜。
圖1 電影《復(fù)仇者聯(lián)盟2:奧創(chuàng)紀(jì)元》中的片段
那么,什么是知識圖譜呢?
知識圖譜本質(zhì)上是一種揭示事物之間關(guān)系的語義網(wǎng)絡(luò)。這么說大家可能還不太理解。那首先,我們來了解一下什么是知識。說到知識,我們需要把它與信息區(qū)分開。信息是指對外部客觀事實的描述,比如說這里有一瓶水,現(xiàn)在溫度是7℃,這就是一個信息。但知識是對外部客觀規(guī)律的歸納和總結(jié),比如說,水在0℃時會結(jié)冰。因此,在信息的基礎(chǔ)上,建立事物之間的聯(lián)系,就能形成知識。知識圖譜是由一條條知識組成的網(wǎng)狀結(jié)構(gòu),每條知識可以用兩個表示事物的實體和它們之間關(guān)系的三元組來 表示。
知識圖譜背后的思想,最早可以追溯到二十世紀(jì)五六十年代提出的一種知識表示形式——語義網(wǎng)絡(luò)。語義網(wǎng)絡(luò)由相互連接的節(jié)點和邊組成,其中節(jié)點表示概念或者對象,邊表示它們之間的關(guān)系。
2012年,谷歌正式提出了知識圖譜的概念,其初衷是優(yōu)化搜索引擎返回的結(jié)果,增強用戶搜索的質(zhì)量和體驗。假設(shè)我們想知道“互聯(lián)網(wǎng)的發(fā)明者是誰”,搜索引擎會準(zhǔn)確返回Tim Berners-Lee的信息,說明搜索引擎理解了用戶的意圖,這就是知識圖譜的一個重要應(yīng)用。
了解了知識譜圖的發(fā)展歷程,接下來,我們看一看知識圖譜是怎么構(gòu)建的,如圖2所示。
圖2 知識圖譜講解圖
當(dāng)我們構(gòu)建某個領(lǐng)域的知識圖譜時,首先,我們需要根據(jù)該領(lǐng)域的知識構(gòu)建領(lǐng)域概念體系。所謂的領(lǐng)域概念體系實際上是知識圖譜的一種邏輯結(jié)構(gòu),是描述該領(lǐng)域里概念和概念之間的關(guān)系的一種體系。以生物為例,大家熟知的界門綱目科屬種就是一種領(lǐng)域概念體系。建立好領(lǐng)域概念體系后,我們就可以根據(jù)領(lǐng)域概念體系向知識圖譜里補充實例化數(shù)據(jù)。比如,動物界下面有脊索動物門,脊索動物門下有哺乳綱,哺乳綱下有食肉目和靈長目,等等。然而,現(xiàn)實生活中,我們的數(shù)據(jù)往往來源于互聯(lián)網(wǎng)中的海量數(shù)據(jù),這些數(shù)據(jù)沒有統(tǒng)一的格式,可能是半結(jié)構(gòu)化或者非結(jié)構(gòu)化的。這就需要我們從多來源、復(fù)雜的數(shù)據(jù)中抽取出所關(guān)心的實體、關(guān)系、屬性等知識要素,這就是知識抽取技術(shù)。舉例來說,在電影《復(fù)仇者聯(lián)盟2:奧創(chuàng)紀(jì)元》中,我們從鋼鐵俠和美國隊長的對話中可以抽取出,雷神與他們是戰(zhàn)友關(guān)系。當(dāng)發(fā)現(xiàn)新的知識后,我們需要把新的知識加入已有的知識圖譜進行更新,這就是知識更新技術(shù)。實現(xiàn)這一操作需要定位新知識與知識圖譜中已有知識的聯(lián)系,以此進行更新。因為知識圖譜中的知識來源廣泛,存在知識質(zhì)量良莠不齊、來自不同數(shù)據(jù)源的知識可能重復(fù)、知識間的關(guān)聯(lián)不夠明確等問題,所以必須要進行知識融合。知識融合大致可以分為兩類:一類是在相同領(lǐng)域中,將不同表達方式的知識圖譜進行融合;另一類是將不同領(lǐng)域的知識圖譜進行融合,比如將復(fù)仇者聯(lián)盟宇宙、變形金剛宇宙和正義聯(lián)盟宇宙之間的知識進行融合。
完成上述操作后,知識圖譜的構(gòu)建步驟就基本完成了。那么在知識圖譜的基礎(chǔ)上我們可以實現(xiàn)哪些有意思的應(yīng)用呢?
首先可以通過算法,讓計算機對知識圖譜中沒有顯性表達出來的知識(也就是隱含知識)進行推理,知識推理主要包括基于屬性的推理和基于結(jié)構(gòu)的推理兩大類。那么如何通過對知識圖譜中屬性的計算來實現(xiàn)知識推理呢?舉一個簡單的例子,我們都知道“鋼鐵俠大戰(zhàn)蝙蝠俠”是不可能實現(xiàn)的,但這兩人的戰(zhàn)斗力到底誰更強呢?通過知識推理的算法可以實現(xiàn)鋼鐵俠與蝙蝠俠,這兩個不同宇宙中的英雄的戰(zhàn)斗力比較,通過算法實現(xiàn)科技、財富、身體素質(zhì)、智謀等屬性值的量化比較,計算機可以推理出他們之間對戰(zhàn)可能的勝負(fù)關(guān)系。
此外,還可以通過基于結(jié)構(gòu)的推理來計算曾經(jīng)發(fā)生或正在發(fā)生的客觀事實。比如,通過分析鷹眼和綠巨人分別與黑寡婦的好感關(guān)系,推理出他們之間可能存在情敵關(guān)系。雖然這些推理人腦分析起來并不費勁,但要想讓計算機可以準(zhǔn)確計算出來,還需要更多深入的研究工作。
除了對已有可能存在的知識的推理外,還可以通過算法實現(xiàn)對未來可能發(fā)生事件的預(yù)測。比如,在電影《美國隊長2:冬日戰(zhàn)士》中,知識圖譜顯性地表示出冬兵和鋼鐵俠是殺父仇人關(guān)系,而冬兵與美國隊長是好朋友關(guān)系,那么算法就可以預(yù)測出在未來鋼鐵俠很可能會與美國隊長發(fā)生沖突。這一點也在電影《美國隊長3》中得到了驗證。
進一步對知識圖譜的時間屬性等規(guī)律進行計算和比較,可以實現(xiàn)知識的時序分析,從而對未來的時序知識進行預(yù)測。比如,在相關(guān)電影中鋼鐵俠于2008年發(fā)布了第一款戰(zhàn)甲馬可1代。這款戰(zhàn)甲外表比較簡陋,武器裝備也很簡單,可抵御一般輕量級武器襲擊。到2018年時,鋼鐵俠發(fā)布了馬可85代戰(zhàn)甲,該戰(zhàn)甲就已經(jīng)裝備了高殺傷性武器,并且可抵御反派的超強進攻。那么根據(jù)戰(zhàn)甲的知識圖譜時序數(shù)據(jù),計算機可以預(yù)測出到2028年時戰(zhàn)甲可能具備的功能特性。
在現(xiàn)在的日常生活中,知識圖譜已經(jīng)被成功應(yīng)用于很多人工智能產(chǎn)品中。比如,在電子商務(wù)領(lǐng)域,可以通過構(gòu)建商品知識圖譜來精準(zhǔn)地匹配用戶的購買意愿和商品候選集合;在公安刑偵領(lǐng)域,可以通過分析證據(jù)實體和實體之間的關(guān)系來準(zhǔn)確推斷出特定目標(biāo)的隱含線索;知識圖譜類技術(shù)還被廣泛應(yīng)用于智慧城市、智能穿戴、網(wǎng)絡(luò)安全、智能問答等實際系統(tǒng)。