一文读懂知识图谱的主要技术
導(dǎo)讀:
知識圖譜主要技術(shù)包括知識獲取、知識表示、知識存儲、知識建模、知識融合、知識理解、知識運(yùn)維等七個方面
知識圖譜主要技術(shù)包括知識獲取、知識表示、知識存儲、知識建模、知識融合、知識理解、知識運(yùn)維等七個方面,通過面向結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)構(gòu)建知識圖譜為不同領(lǐng)域的應(yīng)用提供支持,具體的技術(shù)架構(gòu)如圖4.1所示。
一、知識獲取
知識圖譜中的知識來源于結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化的信息資源,如圖4.2所示。通過知識抽取技術(shù)從這些不同結(jié)構(gòu)和類型的數(shù)據(jù)中提取出計算機(jī)可理解和計算的結(jié)構(gòu)化數(shù)據(jù),以供進(jìn)一步的分析和利用。知識獲取即是從不同來源、不同結(jié)構(gòu)的數(shù)據(jù)中進(jìn)行知識提取,形成結(jié)構(gòu)化的知識并存入到知識圖譜中。當(dāng)前,知識獲取主要針對文本數(shù)據(jù)進(jìn)行,需要解決的抽取問題包括:實體抽取、關(guān)系抽取、屬性抽取和事件抽取。
知識獲取作為構(gòu)建知識圖譜的第一步,通常有以下四種方式:眾包法、爬蟲、機(jī)器學(xué)習(xí)、專家法。
眾包法:允許任何人創(chuàng)建、修改、查詢的知識庫,就是常說的眾包模式,百度百科,維基百科就是典型的例子。此類場景下知識庫存儲的不是大量的雜亂的文本,而是機(jī)器可讀,具有一定結(jié)構(gòu)的數(shù)據(jù)格式(以百度某詞條為例)。現(xiàn)代通過眾包法建立的知識圖譜如谷歌和百度的知識圖譜都已經(jīng)包含超過千億級別的三元組,阿里巴巴于2017年8月份發(fā)布的僅包含核心商品數(shù)據(jù)的知識圖譜也已經(jīng)達(dá)到百億級別。
爬蟲:網(wǎng)頁開發(fā)者將網(wǎng)頁中出現(xiàn)的實體、實體屬性、關(guān)系按照某種規(guī)則做上標(biāo)記,Google、百度等搜索引擎通過爬蟲就能獲取到這些數(shù)據(jù),從而達(dá)到知識圖譜數(shù)據(jù)積累。當(dāng)前不同語言的爬蟲框架有不少,例如python的Scrapy,java的WebMagic等,通過簡單的配置即可完成爬蟲的規(guī)則定義、爬取、清洗、去重、入庫等操作,從而獲取知識。
機(jī)器學(xué)習(xí):通過機(jī)器學(xué)習(xí)將數(shù)據(jù)變成了可理解的知識,例如通過文本分類、主題模型等機(jī)器學(xué)習(xí)模型,可以獲取文本的特征,而這些特征就可以理解為知識。
專家法:專家法通常用于垂直領(lǐng)域的工程實踐,通過專家的經(jīng)驗,歸納總結(jié)后形成知識,例如在知識圖譜中的事件圖譜通常是由專家的經(jīng)驗形成的。
二、知識表示
知識是人類在認(rèn)識和改造客觀世界的過程中總結(jié)出的客觀事實、概念、定理和公理的集合。知識具有不同的分類方式,例如按照知識的作用范圍可分為常識性知識與領(lǐng)域性知識。知識表示是將現(xiàn)實世界中存在的知識轉(zhuǎn)換成計算機(jī)可識別和處理的內(nèi)容,是一種描述知識的數(shù)據(jù)結(jié)構(gòu),用于對知識的一種描述或約定。知識表示在人工智能的構(gòu)建中具有關(guān)鍵作用,通過適當(dāng)?shù)姆绞奖硎局R,形成盡可能全面的知識表達(dá),使機(jī)器通過學(xué)習(xí)這些知識,表現(xiàn)出類似于人類的行為。知識表示是知識工程中一個重要的研究課題,也是知識圖譜研究中知識獲取、融合、建模、計算與應(yīng)用的基礎(chǔ),如圖4.3所示。
知識表示方法主要分為基于符號的知識表示方法與基于表示學(xué)習(xí)的知識表示方法。
1、基于符號的知識表示方法基于符號的知識表示方法分為早期知識表示方法與語義網(wǎng)知識表示方法。其中,早期的知識表示方法包括一階謂詞邏輯表示法、產(chǎn)生式規(guī)則表示法、框架表示法與語義網(wǎng)絡(luò)表示法。
(1)一階謂詞邏輯表示法
基于謂詞邏輯的知識表示方法,通過命題、邏輯聯(lián)結(jié)詞、個體、謂詞與量詞等要素組成的謂詞公式描述事物的對象、性質(zhì)、狀況和關(guān)系。一階謂詞邏輯表示法以數(shù)理邏輯為基礎(chǔ),表示結(jié)果較為精確,表達(dá)較為自然,形式上接近人類自然語言。但是也存在表示能力較差,只能表達(dá)確定性知識,對于過程性和非確定性知識表達(dá)有限的問題。
(2)產(chǎn)生式規(guī)則表示法
上世紀(jì)40年代,邏輯學(xué)家Post提出了產(chǎn)生式規(guī)則表示。根據(jù)知識之間具有因果關(guān)聯(lián)關(guān)系的邏輯,形成了“IF-THEN”的知識表示形式,該形式是早期專家系統(tǒng)常用的知識表示方法之一。這種表示方法與人類的因果判斷方式大致相同,直觀,自然,便于推理。除此之外,產(chǎn)生式規(guī)則表示法知識的表達(dá)范疇較廣,包括確定性知識,設(shè)置置信度的不確定性知識,啟發(fā)式知識與過程性知識。但是產(chǎn)生式規(guī)則表示法由于具有統(tǒng)一的表示格式,當(dāng)知識規(guī)模較大時,知識推理效率較低,容易出現(xiàn)組合爆炸問題。
(3)框架表示法
20世紀(jì)70年代初,美國人工智能專家M.Minsky提出了一種用于表示知識的“框架理論”。來源于人們對客觀世界中各種事物的認(rèn)識都是以一種類似框架的架構(gòu)存儲在記憶中的思想,形成了框架表示法。框架是一種通用數(shù)據(jù)結(jié)構(gòu),用于存儲人們過去積累的信息和經(jīng)驗。在框架結(jié)構(gòu)中,能夠借助過去經(jīng)驗中的概念分析和解釋新的信息情況。在表達(dá)知識時,框架能夠表示事物的類別、個體、屬性和關(guān)系等內(nèi)容。框架結(jié)構(gòu)一般由“框架名-槽名-側(cè)面-值”四部分組成,即一個框架由若干各個槽組成,其中槽用于描述所論事物某一方面的屬性;一個槽由若干個側(cè)面組成,用于描述相應(yīng)屬性的一個方面,每個側(cè)面擁有若干值。框架具有繼承性、結(jié)構(gòu)化、自然性等優(yōu)點,但復(fù)雜的框架構(gòu)建成本較高,對知識庫的質(zhì)量要求較高,同時表達(dá)不夠靈活,很難與其他的數(shù)據(jù)集相互關(guān)聯(lián)使用。
(4)語義網(wǎng)絡(luò)表示法
1960年,認(rèn)知科學(xué)家AllanM.Collins提出了語義網(wǎng)絡(luò)(SemanticNetwork)的知識表示方法。語義網(wǎng)絡(luò)是一種通過實體以及實體間語義關(guān)系表達(dá)知識的有向圖。在圖中,節(jié)點表示事物、屬性、概念、狀態(tài)、事件、情況、動作等含義,節(jié)點之間的弧表示它所連接的兩個節(jié)點之間的語義關(guān)系,根據(jù)表示的知識情況需要定義弧上的標(biāo)識,一般該標(biāo)識是謂詞邏輯中的謂詞,常用的標(biāo)識包括實例關(guān)系、分類關(guān)系、成員關(guān)系、屬性關(guān)系、包含關(guān)系、時間關(guān)系、位置關(guān)系等。語義網(wǎng)絡(luò)由語義基元構(gòu)成,語義基元可通過三元組(節(jié)點1,弧,節(jié)點2)描述,語義網(wǎng)絡(luò)由若干個語義基元及其之間的語義關(guān)聯(lián)關(guān)系組成。語義網(wǎng)絡(luò)表示法具有廣泛的表示范圍和強(qiáng)大的表示能力,表示形式簡單直接、容易理解、符合自然。然而語義網(wǎng)絡(luò)存在節(jié)點與邊的值沒有標(biāo)準(zhǔn),完全由用戶自己定義,不便于知識的共享問題、無法區(qū)分知識描述與知識實例等問題。
2、基于表示學(xué)習(xí)的知識表示方法
早期知識表示方法與語義網(wǎng)知識表示法通過符號顯式地表示概念及其關(guān)系。事實上,許多知識具有不易符號化、隱含性等特點,因此僅通過顯式表示的知識無法獲得全面的知識特征。此外,語義計算是知識表示的重要目標(biāo),基于符號的知識表示方法無法有效計算實體間的語義關(guān)系,如圖4.4和4.5所示。
三、知識存儲
知識存儲是針對知識圖譜的知識表示形式設(shè)計底層存儲方式,完成各類知識的存儲,以支持對大規(guī)模圖數(shù)據(jù)的有效管理和計算。知識存儲的對象包括基本屬性知識、關(guān)聯(lián)知識、事件知識、時序知識和資源類知識等。知識存儲方式的質(zhì)量直接影響到知識圖譜中知識查詢、知識計算及知識更新的效率。
從存儲結(jié)構(gòu)劃分,知識存儲分為基于表結(jié)構(gòu)的存儲和基于圖結(jié)構(gòu)的存儲,如圖4.6所示
四、知識融合
知識融合的概念最早出現(xiàn)在1983年發(fā)表的文獻(xiàn)[HOLSAPPLEC,etal,1983]中,并在20世紀(jì)九十年代得到研究者的廣泛關(guān)注。而另一種知識融合的定義是指對來自多源的不同概念、上下文和不同表達(dá)等信息進(jìn)行融合的過程[維基百科]。[A.Smirnov,etal,2002]認(rèn)為知識融合的目標(biāo)是產(chǎn)生新的知識,是對松耦合來源中的知識進(jìn)行集成,構(gòu)成一個合成的資源,用來補(bǔ)充不完全的知識和獲取新知識。[唐曉波,魏巍,etal,2015]在總結(jié)眾多知識融合概念的基礎(chǔ)上認(rèn)為知識融合是知識組織與信息融合的交叉學(xué)科,它面向需求和創(chuàng)新,通過對眾多分散、異構(gòu)資源上知識的獲取、匹配、集成、挖掘等處理,獲取隱含的或有價值的新知識,同時優(yōu)化知識的結(jié)構(gòu)和內(nèi)涵,提供知識服務(wù)。
知識融合是一個不斷發(fā)展變化的概念,盡管以往研究人員的具體表述不同、所站角度不同、強(qiáng)調(diào)的側(cè)重點不同,但這些研究成果中還是存在很多共性,這些共性反應(yīng)了知識融合的固有特征,可以將知識融合與其他類似或相近的概念區(qū)分開來。知識融合是面向知識服務(wù)和決策問題,以多源異構(gòu)數(shù)據(jù)為基礎(chǔ),在本體庫和規(guī)則庫的支持下,通過知識抽取和轉(zhuǎn)換獲得隱藏在數(shù)據(jù)資源中的知識因子及其關(guān)聯(lián)關(guān)系,進(jìn)而在語義層次上組合、推理、創(chuàng)造出新知識的過程,并且這個過程需要根據(jù)數(shù)據(jù)源的變化和用戶反饋進(jìn)行實時動態(tài)調(diào)整。從流程角度對知識融合概念進(jìn)行分解,如圖4.11所示。
五、知識建模
知識建模是指建立知識圖譜的數(shù)據(jù)模型,即采用什么樣的方式來表達(dá)知識,構(gòu)建一個本體模型對知識進(jìn)行描述。在本體模型中需要構(gòu)建本體的概念,屬性以及概念之間的關(guān)系。知識建模的過程是知識圖譜構(gòu)建的基礎(chǔ),高質(zhì)量的數(shù)據(jù)模型能避免許多不必要、重復(fù)性的知識獲取工作,有效提高知識圖譜構(gòu)建的效率,降低領(lǐng)域數(shù)據(jù)融合的成本。不同領(lǐng)域的知識具有不同的數(shù)據(jù)特點,可分別構(gòu)建不同的本體模型。
知識建模一般有自頂向下和自底向上兩種途徑:1.自頂向下的方法(如圖4.12所示)是指在構(gòu)建知識圖譜時首先定義數(shù)據(jù)模式即本體,一般通過領(lǐng)域?qū)<胰斯ぞ幹啤淖铐攲拥母拍铋_始定義,然后逐步細(xì)化,形成結(jié)構(gòu)良好的分類層次結(jié)構(gòu)。2.自底向上的方法則相反(如圖4.13所示),首先對現(xiàn)有實體進(jìn)行歸納組織,形成底層的概念,再逐步往上抽象形成上層的概念。自底向上的方法則多用于開放域知識圖普的本體構(gòu)建,因為開放的世界太過復(fù)雜,用自頂向下的方法無法考慮周全,且隨著世界變化,對應(yīng)的概念還在增長,自底向上的方法則可滿足概念不斷增長的需要。
知識建模目前的實際操作過程,可分為手工建模方式和半自動建模方式。手工建模方式適用于對知識建模容量小、質(zhì)量高的要求,但是無法滿足大規(guī)模的知構(gòu)建,是一個耗時、昂貴、需要專業(yè)知識的任務(wù);混合方式將自然語言處理與手工方式結(jié)合,適于規(guī)模大且語義復(fù)雜的圖譜。
六、知識計算
隨著知識圖譜技術(shù)及應(yīng)用的不斷發(fā)展,圖譜質(zhì)量和知識完備性成為影響知識圖譜應(yīng)用的兩大重要難題,以圖譜質(zhì)量提升、潛在關(guān)系挖掘與補(bǔ)全、知識統(tǒng)計與知識推理作為主要研究內(nèi)容的知識計算成為知識圖譜應(yīng)用的重要研究方向。知識計算是基于已構(gòu)建的知識圖譜進(jìn)行能力輸出的過程,是知識圖譜能力輸出的主要方式。知識計算概念內(nèi)涵如圖4.16所示,主要包括知識統(tǒng)計與圖挖掘、知識推理兩大部分內(nèi)容,知識統(tǒng)計與圖挖掘重點研究的是知識查詢、指標(biāo)統(tǒng)計和圖挖掘;知識推理重點研究的是基于圖譜的邏輯推理算法,主要包括基于符號的推理和基于統(tǒng)計的推理。
知識計算的概念中明確了以下幾個層面的問題:
(1)知識計算是針對已構(gòu)建的知識圖譜所存在的問題:不完備性和存在錯誤信息,在此基礎(chǔ)上通過將知識統(tǒng)計與圖挖掘、知識推理等方法與傳統(tǒng)應(yīng)用相結(jié)合進(jìn)行能力輸出,為傳統(tǒng)應(yīng)用形態(tài)進(jìn)行賦能,進(jìn)而提高知識的完備性和擴(kuò)大知識的覆蓋面。
(2)知識計算中兩種具有代表性的能力:知識統(tǒng)計與圖挖掘、知識推理。知識統(tǒng)計和圖挖掘的方法是基于圖特征的算法來進(jìn)行社區(qū)計算、相似子圖計算、鏈接預(yù)測、不一致檢測等;知識推理的目標(biāo)在于從給定知識圖譜中推導(dǎo)出新的實體、關(guān)系和屬性。通過這兩種能力實現(xiàn)對已有圖譜的知識補(bǔ)全、知識糾錯、知識更新、知識鏈接等功能。在此基礎(chǔ)上,知識計算的能力輸出可應(yīng)用于用戶精準(zhǔn)畫像、決策數(shù)據(jù)、輔助決策意見、智能問答/搜索等方面。
七、知識運(yùn)維
由于構(gòu)建全量的行業(yè)知識圖譜成本很高,在真實的場景落地過程中,一般遵循小步快走、快速迭代的原則進(jìn)行知識圖譜的構(gòu)建和逐步演化。知識運(yùn)維是指在知識圖譜初次構(gòu)建完成之后,根據(jù)用戶的使用反饋、不斷出現(xiàn)的同類型知識以及增加的新的知識來源進(jìn)行全量行業(yè)知識圖譜的演化和完善的過程,運(yùn)維過程中需要保證知識圖譜的質(zhì)量可控及逐步的豐富衍化。知識圖譜的運(yùn)維過程是個工程化的體系,覆蓋了知識圖譜的從知識獲取至知識計算等的整個生命周期。
知識圖譜的運(yùn)維包括兩個方面的關(guān)注點:一個是從數(shù)據(jù)源方面的基于增量數(shù)據(jù)的知識圖譜的構(gòu)建過程監(jiān)控,另一個是通過知識圖譜的應(yīng)用層發(fā)現(xiàn)的知識錯誤和新的業(yè)務(wù)需求:例如錯誤的實體屬性值、缺失的實體間關(guān)系、未識別的實體、重復(fù)實體等問題。這些運(yùn)維暴露的問題會在知識圖譜構(gòu)建的流程、算法組合、算法調(diào)整、可新增業(yè)務(wù)知識優(yōu)先級排列等方面進(jìn)行修正,提升知識質(zhì)量和豐富知識的內(nèi)容。知識圖譜運(yùn)維需要基于用戶反饋和專家人工的問題發(fā)現(xiàn)及修正、自動的運(yùn)行監(jiān)控、算法調(diào)整后的更新相結(jié)合,因此是一個人機(jī)協(xié)同,專家和算法相互配合的一個過程。知識運(yùn)維的全過程如圖4.22所示:
互聯(lián)互通社區(qū)
互聯(lián)互通社區(qū)-IT智庫,是互聯(lián)互通社區(qū)IT架構(gòu)、前沿技術(shù)平臺。包含科技趨勢、總體架構(gòu)、產(chǎn)業(yè)架構(gòu)、技術(shù)架構(gòu)、系統(tǒng)架構(gòu)、業(yè)務(wù)架構(gòu)等內(nèi)容,內(nèi)容簡練,皆屬干貨,合作請+微信:hulianhutongshequ.
總結(jié)
以上是生活随笔為你收集整理的一文读懂知识图谱的主要技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 方维直播增加三级分销推广功能
- 下一篇: SAP ABAP 系列丛书推荐:ABAP