圖構(gòu)建:領(lǐng)域本體設(shè)計(jì)原則與動(dòng)態(tài)本體
本體設(shè)計(jì)是圖應(yīng)用中的重中之重,而圖構(gòu)建的核心也是本體設(shè)計(jì)。本篇文章中作者詳細(xì)介紹了領(lǐng)域本體的設(shè)計(jì)原則和如何設(shè)計(jì)本體,感興趣的小伙伴一定不能錯(cuò)過(guò),一起來(lái)看看吧。
前文《思考總結(jié):領(lǐng)域知識(shí)圖譜平臺(tái)構(gòu)建與業(yè)務(wù)應(yīng)用》中提到:“本體設(shè)計(jì)是圖應(yīng)用中的重中之重,一切的圖展示、圖計(jì)算、圖分析、圖挖掘、圖模式匹配…的基礎(chǔ)在圖構(gòu)建,而圖構(gòu)建的核心是本體設(shè)計(jì)?!?/strong>,接著上文,本文就重點(diǎn)聊一下本體設(shè)計(jì)。
在聊本體之前,有必要先將對(duì)于本體的叫法對(duì)齊。在知識(shí)圖譜層面(偏學(xué)術(shù)),一般將本體稱為本體;在圖數(shù)據(jù)庫(kù)層面,一般將本體稱為Schema;在業(yè)務(wù)領(lǐng)域?qū)用?,一般將本體稱為場(chǎng)景圖模型;本文將稱之為本體。
一、領(lǐng)域本體是什么
領(lǐng)域本體是指領(lǐng)域概念體系(包括領(lǐng)域概念定義和概念間關(guān)系)的形式化規(guī)范定義。近幾年,隨著領(lǐng)域知識(shí)圖譜項(xiàng)目和產(chǎn)品的發(fā)展,領(lǐng)域本體開(kāi)發(fā)的工作逐步從AI專家轉(zhuǎn)移到領(lǐng)域業(yè)務(wù)專家手中。
依據(jù)本體的層次和領(lǐng)域依賴度,Guarino等人將其分為四類:頂層本體、領(lǐng)域本體、任務(wù)本體和應(yīng)用本體。
- 頂層本體:研究通用的概念以及概念之間的關(guān)系,如空間、時(shí)間、事件、行為等,與具體的應(yīng)用無(wú)關(guān),完全獨(dú)立于限定的領(lǐng)域,因此可以在較大范圍內(nèi)進(jìn)行共享。
- 領(lǐng)域本體:研究的是特定領(lǐng)域內(nèi)概念及概念之間的關(guān)系。
- 任務(wù)本體:定義一些通用任務(wù)或者相關(guān)的推理活動(dòng),用來(lái)表達(dá)具體任務(wù)內(nèi)的概念及概念之間關(guān)系。
- 應(yīng)用本體:用來(lái)描述一些特定的應(yīng)用,既可以引用領(lǐng)域本體中特定的概念,又可以引用任務(wù)本體中出現(xiàn)的概念。
本體是一個(gè)描述性的形式化概念體系,是知識(shí)圖譜的模型層,本體中包括點(diǎn)類型(也叫實(shí)體分類或概念,本文統(tǒng)稱為點(diǎn)類型),點(diǎn)類型屬性(也可叫點(diǎn)類型特征,本文統(tǒng)稱點(diǎn)類型屬性)以及邊類型,邊類型連接點(diǎn)類型與點(diǎn)類型,邊類型也包含邊類型屬性。
以本體作為模型層,將數(shù)據(jù)與本體建立一一映射關(guān)系,然后將映射結(jié)果導(dǎo)入到圖數(shù)據(jù)庫(kù)中,便可形成知識(shí)圖譜。因此,可以看出,本體其實(shí)是知識(shí)圖譜的構(gòu)建范式,是數(shù)據(jù)的組織模板。
二、設(shè)計(jì)本體的意義
通過(guò)以上內(nèi)容可知,本體是構(gòu)建圖譜項(xiàng)目的核心,是圖譜組織數(shù)據(jù)的范式和模板,除此之外,本體的意義可總結(jié)為如下5種:
- 達(dá)成業(yè)務(wù)場(chǎng)景共識(shí),當(dāng)幾個(gè)不同的數(shù)據(jù)源都存在某個(gè)業(yè)務(wù)場(chǎng)景所需的信息或數(shù)據(jù)時(shí),如果定義好底層本體,腳本就可以從這些數(shù)據(jù)源中提取并以規(guī)范的形式融合數(shù)據(jù),進(jìn)而使用融合后的數(shù)據(jù)為業(yè)務(wù)分析決策提供支持,將散落的數(shù)據(jù)形成知識(shí)以提供應(yīng)用價(jià)值,所謂:“無(wú)規(guī)矩不成方圓”。
- 復(fù)用業(yè)務(wù)結(jié)構(gòu)知識(shí):許多不同領(lǐng)域的模型需要用到時(shí)間概念,包括時(shí)間區(qū)間、時(shí)間點(diǎn)、時(shí)間的相關(guān)度量等。如果有業(yè)務(wù)人員詳細(xì)研究并定義了一個(gè)業(yè)務(wù)本體,那么就可以被其他人直接復(fù)用。如果需要構(gòu)建一個(gè)大規(guī)模本體,則既可以綜合若干相關(guān)業(yè)務(wù)的現(xiàn)有本體,也可以從通用本體出發(fā)有針對(duì)性地?cái)U(kuò)展領(lǐng)域本體。
- 業(yè)務(wù)知識(shí)的顯性表示:為便于專家有效應(yīng)對(duì)領(lǐng)域知識(shí)的變化。領(lǐng)域知識(shí)不但包括事實(shí),也包括規(guī)則,例如,“鸚鵡是鳥(niǎo)”為事實(shí),“鳥(niǎo)會(huì)飛“為規(guī)則(知識(shí)),那么業(yè)務(wù)知識(shí)的應(yīng)用就可以推導(dǎo)出”鸚鵡會(huì)飛“。如果只是簡(jiǎn)單地把業(yè)務(wù)知識(shí)用編程的方式表示出來(lái),不但全程依賴開(kāi)發(fā)者支持維護(hù),而且這樣的表示也不利于業(yè)務(wù)專家理解與更新。而業(yè)務(wù)知識(shí)的顯性化表示也便于新用戶透徹理解業(yè)務(wù)知識(shí)的完整意義。
- 區(qū)別業(yè)務(wù)知識(shí)與操作知識(shí):數(shù)據(jù)本身和數(shù)據(jù)處理流程可以分離,領(lǐng)域應(yīng)用中不但需要領(lǐng)域知識(shí),同時(shí)可以描述如何配置與處理這些領(lǐng)域知識(shí)。
- 分析業(yè)務(wù)場(chǎng)景知識(shí):可以利用描述性形式語(yǔ)言。通過(guò)對(duì)領(lǐng)域知識(shí)的形式化表示,可以有效支持本體的復(fù)用和擴(kuò)展。
三、如何設(shè)計(jì)領(lǐng)域本體
設(shè)計(jì)本體的過(guò)程一般包括如下步驟:
- 定義點(diǎn)類型(實(shí)體分類)
- 定義點(diǎn)類型的分類關(guān)系(即子類 – 父類的分類樹(shù)),本體中的點(diǎn)類型,可以有最高抽象點(diǎn)類型(如:人類、自然人),也可以有子點(diǎn)類型(如:男人、女人、歐洲人、亞洲人),甚至可以更細(xì)分(如:中國(guó)人、美國(guó)人、北京人)。
- 定義邊類型、邊類型的有向型(是否有向,有向?yàn)槌鱿蜻€是入向)
- 定義點(diǎn)、邊類型屬性以及屬性值取值范圍
- 設(shè)定點(diǎn)、邊類型屬性取值的缺省值
四、領(lǐng)域本體設(shè)計(jì)原則
本體的應(yīng)用期望直接影響本體的結(jié)構(gòu)和本體的詳細(xì)程度,本體的直觀程度、可擴(kuò)展性、可維護(hù)性都是本體設(shè)計(jì)時(shí)需要考慮的因素。同時(shí),也要考慮本體模型與實(shí)際世界的邏輯聯(lián)系。
筆者在過(guò)往的本體設(shè)計(jì)中總結(jié)了幾點(diǎn)基本原則,這些原則可以幫助在許多情況下進(jìn)行設(shè)計(jì)決策:
- 領(lǐng)域場(chǎng)景本體設(shè)計(jì)沒(méi)有唯一的標(biāo)準(zhǔn)和正確的答案,只有更好沒(méi)有最好,最好的設(shè)計(jì)方案取決于后續(xù)的應(yīng)用期望和拓展期望。
- 本體設(shè)計(jì)方案是一個(gè)不斷迭代的過(guò)程,在應(yīng)用和拓展的過(guò)程中,總會(huì)發(fā)現(xiàn)更優(yōu)的方案和優(yōu)化點(diǎn)。
- 本體中的點(diǎn)類型、邊類型以及點(diǎn)、邊類型的屬性設(shè)計(jì),應(yīng)該接近目標(biāo)應(yīng)用場(chǎng)景中的對(duì)象和關(guān)系。
- 業(yè)務(wù)滿足度與性能兼容度皆需考慮,在業(yè)務(wù)與性能之間取得平衡,并且考慮可視化分析與圖計(jì)算、圖挖掘。Neo4j希望用戶能夠尊重業(yè)務(wù)領(lǐng)域?qū)嶓w的關(guān)系進(jìn)行設(shè)計(jì),Nebula Graph的共識(shí)是面向性能設(shè)計(jì)。
設(shè)計(jì)好本體的初始版本后,可以通過(guò)實(shí)際應(yīng)用、解決問(wèn)題、與領(lǐng)域業(yè)務(wù)專家討論對(duì)本體進(jìn)行評(píng)估和優(yōu)化。一般情況下,初始版本設(shè)計(jì)的本體,都需要不斷調(diào)優(yōu)修改。迭代本體的動(dòng)作需要在業(yè)務(wù)應(yīng)用的整個(gè)生命周期中持續(xù)進(jìn)行。
五、本體版本管理
本體初次設(shè)計(jì)好后,根據(jù)實(shí)際業(yè)務(wù)場(chǎng)景應(yīng)用發(fā)展的需要,總是不斷地發(fā)展和變化,因此需要對(duì)本體進(jìn)行有效管理。本體管理環(huán)節(jié)包括:
- 本體演化:本體的發(fā)展過(guò)程中的變化規(guī)律及本體的維護(hù)管理。
- 本體融合:從多個(gè)本體中集成一個(gè)新的本體,從子業(yè)務(wù)場(chǎng)景融合成為新業(yè)務(wù)場(chǎng)景。
- 本體驗(yàn)證:驗(yàn)證本體的正確性與合理性,是否滿足業(yè)務(wù)需求。
- 本體版本化:維護(hù)管理本體的演化過(guò)程中所生成的不同版本。
六、Palantir 動(dòng)態(tài)本體
由于本體總是需要不斷的演進(jìn)和變化,業(yè)界領(lǐng)先的領(lǐng)域知識(shí)圖譜公司Palantir提出了動(dòng)態(tài)本體論。
Palantir的設(shè)計(jì)哲學(xué)與核心是動(dòng)態(tài)本體。Palantir動(dòng)態(tài)本體的靈活定義是基于對(duì)象的數(shù)據(jù)模型,動(dòng)態(tài)本體是將眾多來(lái)源的數(shù)據(jù)從原始存儲(chǔ)格式轉(zhuǎn)換、集成到數(shù)據(jù)對(duì)象和相關(guān)屬性中的方式,這些屬性代表了世界上的人物、地點(diǎn)、事件以及它們之間的聯(lián)系。
不同的組織以不同的方式構(gòu)思世界,并且這些數(shù)據(jù)模型隨著時(shí)間的推移而變化,動(dòng)態(tài)本體在每個(gè)案例(場(chǎng)景)的基礎(chǔ)上進(jìn)行定義,可以隨著新的數(shù)據(jù)源被添加、更改、刪除而更新。靈活、統(tǒng)一的數(shù)據(jù)模型大大簡(jiǎn)化了Palantir數(shù)據(jù)集成的過(guò)程,能夠在幾天或幾天內(nèi)完成,而不是大多數(shù)據(jù)集成項(xiàng)目需要幾月甚至幾年。
在Palantir中,一個(gè)本體主要包括三個(gè)部分:
- 對(duì)象:對(duì)象指的是任何被建模的事物,對(duì)象包含文檔、實(shí)體和事件。文檔是基于文本的,實(shí)體是概念和分類的實(shí)例,比如人、地點(diǎn);事件是以時(shí)間出現(xiàn)的事物。
- 屬性:屬性指是對(duì)象的特征,如:人的性別、人的年齡、戶籍地等。
- 關(guān)系:關(guān)系指的是概念之間的關(guān)聯(lián),如:人物之間的雇傭關(guān)系,人與人之間的朋友關(guān)系、夫妻關(guān)系。
在Palantir中,可以基于對(duì)象、屬性和關(guān)系設(shè)計(jì)各種靈活的本體和數(shù)據(jù)模型。而這里的對(duì)象又被分為文檔、實(shí)體和事件。
對(duì)于情報(bào)分析來(lái)說(shuō),及其重要的就是對(duì)文檔的檢索以及分析,對(duì)人物、組織等實(shí)體的畫(huà)像和關(guān)聯(lián),對(duì)事件的建模和分析。
動(dòng)態(tài)本體允許對(duì)不再使用的對(duì)象、屬性和關(guān)系進(jìn)行移除,同時(shí)也可以添加新的對(duì)象、屬性和關(guān)系,本體時(shí)刻處于動(dòng)態(tài)更新。還支持對(duì)已有對(duì)象、屬性和關(guān)系的功能的修改,比如可以添加和修改標(biāo)簽、圖標(biāo)、解析器等。
動(dòng)態(tài)本體對(duì)于異構(gòu)數(shù)據(jù)的集成很有幫助?,F(xiàn)有關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng)一般采用表和關(guān)系的固定模式來(lái)組織數(shù)據(jù),當(dāng)模式變化時(shí),需要對(duì)表進(jìn)行修改,導(dǎo)致很多重復(fù)勞動(dòng)。
另外,基于一個(gè)固定的模式不利于對(duì)數(shù)據(jù)做集成,特別是對(duì)于數(shù)據(jù)模式經(jīng)常要更新的場(chǎng)景。
《動(dòng)態(tài)本體 palantir》文章中介紹了Palanti動(dòng)態(tài)本體的方案流程圖,可作為參考:
目前大多數(shù)圖數(shù)據(jù)庫(kù)也是支持入圖后的本體的二次修改,不過(guò)都有較大的限制,一般只支持新增和刪除點(diǎn)類型、邊類型、點(diǎn)邊類型屬性,但是不支持點(diǎn)、邊類型的修改和屬性修改。
動(dòng)態(tài)本體的提出就是為了提供一個(gè)靈活可變的數(shù)據(jù)模型,方便數(shù)據(jù)管理和多源數(shù)據(jù)的集成。在一個(gè)應(yīng)用中,可以構(gòu)建一個(gè)數(shù)據(jù)庫(kù)的動(dòng)態(tài)本體,而該動(dòng)態(tài)本體可以用來(lái)集成各種數(shù)據(jù)。具體思路如下:
- 對(duì)象類型編輯器用來(lái)設(shè)計(jì)數(shù)據(jù)類型和數(shù)據(jù)類型的屬性特征。
- 屬性類型編輯器用來(lái)設(shè)計(jì)屬性類型并且定義該屬性類型的特征。
- 每個(gè)屬性類型都有一個(gè)解析器,該解析器將一些輸入的數(shù)據(jù)跟動(dòng)態(tài)本體做一個(gè)映射,并且把輸入數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中。
Palantir動(dòng)態(tài)本體通過(guò)解析器可以把各種格式的數(shù)據(jù)都集成到一個(gè)數(shù)據(jù)庫(kù)中,從而很好地實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)的集成。
同時(shí),為了達(dá)到這個(gè)目的,需要將動(dòng)態(tài)本體的對(duì)象類型和屬性類型定義完備,同時(shí)需要將解析器的正則表達(dá)式寫(xiě)好,否則很難使用。這也是Palantir的動(dòng)態(tài)本體的缺陷所在。
七、總結(jié)
本體的設(shè)計(jì)原則和概念在此做了一些介紹,可以說(shuō)本體是千變?nèi)f化的,相同的業(yè)務(wù)領(lǐng)域基于不同的應(yīng)用方式以及設(shè)計(jì)目的,形態(tài)和結(jié)果多種多樣,總的來(lái)說(shuō)以業(yè)務(wù)需求為導(dǎo)向去設(shè)計(jì),并且結(jié)合應(yīng)用場(chǎng)景和應(yīng)用性能。
當(dāng)前,本體開(kāi)發(fā)技術(shù)存在很多大的局限性,即使Palantir設(shè)計(jì)出了動(dòng)態(tài)本體以彌補(bǔ)數(shù)據(jù)和需求的動(dòng)態(tài)演變過(guò)程中的本體變化問(wèn)題,但是解析器的正則表達(dá)式仍要窮舉,無(wú)法定義完備,希望在技術(shù)的發(fā)展過(guò)程中,后續(xù)會(huì)有更好的本體開(kāi)發(fā)技術(shù)出現(xiàn)。
當(dāng)前依然處于學(xué)習(xí)和應(yīng)用嘗試過(guò)程中,認(rèn)知有局限性,不當(dāng)之處,歡迎私信指出和交流。
參考文獻(xiàn):
神秘Palantir-平臺(tái)介紹:https://mp.weixin.qq.com/s/JgLkd4_J5s93FDuS31F-Cg
動(dòng)態(tài)本體 palantir: https://blog.csdn.net/weixin_44319196/article/details/111598680
動(dòng)態(tài)本體簡(jiǎn)介: https://zhuanlan.zhihu.com/p/30799669
本體(Ontology)概述: https://blog.csdn.net/baijinswpu/article/details/81113314
本文由 @阿拉燈神丁 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 Unsplash,基于CC0協(xié)議。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!