【知识图谱】知识表示与知识建模
文章目錄
- 一、早期知識表示簡介
- 1、概述
- 2、知識分類
- 3、早期知識表示方法
- (1)一階謂詞邏輯(First-Order Logic)
- (2)產生式規(guī)則(Production Rule)
- (3)框架(Framework)
- (4)語義網絡(Semantic Network)
- 二、基于語義網的知識表示框架
- 1、語義網(Semantic Web)
- 2、RDF
- (1)RDF概念
- (2)基本示例
- (3)RDF空白節(jié)點(Black Nodes)
- (4)RDF是數據類型,不是序列化格式
- (5)開放世界假設
- (6)分布式的定義與合并知識
- (7)變種:帶標注RDF
- 3、RDF Schema(RDFS)
- (1)概述
- (2)具體
- (3)基于RDFS的推理
- 4、OWL和OWL2
- (1)OWL簡述
- (2)OWL詞匯
- (3)OWL2
- 5、SPARQL簡介
- 6、JSON-LD 、RDFa、 HTML5 MicroData等新型知識表示
- (1)JSON-LD
- (2)RDFa
- (3)HTML5 Microdata
- 7、`RDF+SPARQL` vs. `ER+SQL`
- 三、典型知識庫項目的知識表示
- 1、各種知識圖譜項目
- 2、知識表示:多元關系
- 3、實用的知識表示
- 四、基于本體工具的知識建模實踐
一、早期知識表示簡介
1、概述
人類心智區(qū)別于其它物種心智的重要特征:具有獲取、表示和處理知識的能力。
知識表示 是一種為了讓計算機可以接受的用于描述知識的數據結構。它是機器通往智能的基礎,使得機器可以像人一樣運用知識。特別是常識知識才能實現真正類人的智能
知識的特點:相對正確性、不確定性、可表示性以及可利用性。
2、知識分類
- 按作用范圍分類:常識性知識、領域性知識;
- 按作用及表示分類:事實性知識、過程性知識、控制知識;
- 按確定性分類:確定性知識、不確定性知識;
- 按結構及表現形式分類:邏輯性知識、形象性知識;
3、早期知識表示方法
- 一階謂詞邏輯(First-Order Logic)
- 產生式規(guī)則(Production Rule)——專家系統(tǒng)
- 框架(Framework)
- 語義網絡(Semantic Network)——以網絡的方式來描述概念之間的語義關系
- 邏輯程序(Logic Programming)
- 缺省邏輯(Default Logic)
- 模態(tài)邏輯(Modal Logic)
(1)一階謂詞邏輯(First-Order Logic)
Horn邏輯:一階謂詞邏輯的子集
- 原子 Atom
p(t1,t2,...,tn)p(t_1,t_2,...,t_n)p(t1?,t2?,...,tn?)
其中,ppp是謂詞,nnn是目,tit_iti?是項(變量或常量),eg:has_child(Helen, Jack) - 規(guī)則 Rules ——由原子構建:
H:?B1,B2,...,Bm.H:-B_1,B_2,...,B_m.H:?B1?,B2?,...,Bm?.
H與B1,B2,...,BmH與B_1,B_2,...,B_mH與B1?,B2?,...,Bm?是原子,HHH是頭部原子,B1,B2,...,BmB_1,B_2,...,B_mB1?,B2?,...,Bm?是體部原子,eg:has_child(X,Y):-has_son(X,Y) - 事實——沒有體部且沒有變量的規(guī)則:
F(v1,v2,...,vn):?haschild(Helen,Jack):?F(v_1,v_2,...,v_n):- \\has_child(Helen, Jack):-F(v1?,v2?,...,vn?):?hasc?hild(Helen,Jack):?
描述邏輯:一階謂詞邏輯的可判定子集。用于描述概念、屬性,為術語知識庫的構建提供便捷的表達形式。
(2)產生式規(guī)則(Production Rule)
早起的專家系統(tǒng)多數是基于產生式系統(tǒng)的。以 IF-THEN 的形式,即產生式規(guī)則表示出來的。
產生式模型:
P→QorIFPTHENQCF=[0,1]P→Q \ \ \ or \\ \begin{aligned} IF\quad P\quad THEN\quad Q \quad CF = [0, 1]\end{aligned}P→Q???orIFPTHENQCF=[0,1]?
- 其中,PPP 是產生式的前提,QQQ 是一組結論或操作,CF(CertaintyFactor)CF (Certainty Factor)CF(CertaintyFactor) 為確定性因子,也稱置信度。
特點:
- 優(yōu)點:自然型好,易于模塊化管理、能有效表示知識、知識表示清晰等;
- 缺點:效率不高、不能表達具有結構性的知識等。
(3)框架(Framework)
基本組成:
示例:
利用上述框架在知識庫中匹配得到實例(對框架進行填充可得)。
(4)語義網絡(Semantic Network)
基本形式:(節(jié)點1, 弧, 節(jié)點2)
- 節(jié)點:表示各種事物、概念、情況、屬性、動作、狀態(tài)等,每個節(jié)點可以帶有若干屬性,一般用框架或元組表示。此外節(jié)點還可以是一個語義子網絡,形成一個多層次的嵌套結構。
- 弧:表示各種語義聯(lián)系,指明它所連接的節(jié)點間某種語義關系。
- 節(jié)點和弧都必須帶有標示,來方便區(qū)分不同對象以及對象間各種不同的語義聯(lián)系。
特點:
- 優(yōu)點:結構性、聯(lián)想性、自然性;
- 缺點:非嚴格性、處理上的復雜性
示例:eg:“每個學生都讀過一本書”
- 謂詞邏輯表示:(?s)學生(s)(?b)書(b)[讀過(s,b)](\forall s)學生(s)(\exists b)書(b)[讀過(s,b)](?s)學生(s)(?b)書(b)[讀過(s,b)]
- 語義網絡表示:
- 本質:將邏輯運算和邏輯項都映射為圖中的元素。
- 本質:將邏輯運算和邏輯項都映射為圖中的元素。
二、基于語義網的知識表示框架
1、語義網(Semantic Web)
知識圖譜中最關鍵的技術:RDF、SPARQL
下圖為W3C推薦的語義網標準棧,其中RDF和SPARQL為網絡數據鏈接部分。與此同時,W3C還推出五星級標準,規(guī)定了RDF為標準數據格式,URI標準為事物命名等規(guī)范。
2、RDF
(1)RDF概念
RDF:Resource Description Framework(資源描述框架)
- Resource:頁面、圖片、視頻等任何具有URI標識符;
- URI:http://mydomain.org//mypath//myresource
- Description:屬性、特征和資源之間的關系;
- Framework:模型、語言和這些描述的語法。
在RDF中,知識總是以 三元組(triple)模型 形式出現的,即每一份知識可以被分解為如下形式:
(subject(主), predicate(謂), object(賓)),同時在RDF中資源和屬性都可以被URI唯一標識。
(2)基本示例
示例1:CCF ADL邀請王昊奮作為講者,演講主題是知識圖譜。
- RDF形式:(CCF ADL, speaker, Haofen) (CCF ADL, theme, KG)
- 圖模型形式:(vertex, edge, vertex)
- 下面左圖為利用URI表示的結果,右圖為利用命名空間定義前綴的結果。
- 下面左圖為利用URI表示的結果,右圖為利用命名空間定義前綴的結果。
示例2:RDF中的屬性值同時也可以是一個文字,如字符串/數值 或 XML datatype類型。(它們不是一個Resource)。
- 左圖:CCF ADL邀請王昊奮作為講者,演講主題是知識圖譜。,此處知識圖譜為字符串。
- 右圖:CCF ADL has one speaker Haofen and last 3 hours.,其中"3"后面為其類型約束,即整型。
(3)RDF空白節(jié)點(Black Nodes)
空白節(jié)點:
- RDF允許空白節(jié)點;
- 一個資源可以是匿名的;
- 即不被URI標識,并標識為 _:xyz
eg:Haofen是某一次KG講座的講者(并不關心是什么講座)
(4)RDF是數據類型,不是序列化格式
RDF序列化格式之間的關聯(lián):
- RDF/XML格式:適合小數據的存儲與交換
- N-Triples格式
- Turtle格式
(5)開放世界假設
RDF 是 開放世界假設;
- 封閉世界假設:沒有定義則認為不存在。
- 開放世界假設:
- eg:(CCF ADL, speaker, Haofen)
- 封閉世界假設==》CCF ADL講座只有一位講者;
- 開放世界假設==》CCF ADL講座至少有一位講者;
(6)分布式的定義與合并知識
- RDF允許分布式地定義知識
- 分布式定義的知識可以自動合并
- 若分布式存儲 ex:haofen 的URI不一致,如何融合??
- 若分布式存儲 ex:haofen 的URI不一致,如何融合??
(7)變種:帶標注RDF
動機:如何擴展 RDF 用來表達更多信息
- 時間、不確定性、空間、信任等
- ==》帶標注 RDF(S) ==》知識庫:YAGO2
YAGO2:采用 annotated RDF 表示的知識庫
- 語法形式:(s,p,o):λ(s, p, o):\lambda(s,p,o):λ
- λ\lambdaλ 是一個標志
- eg:(特朗普,就職,總統(tǒng)):2017年1月
3、RDF Schema(RDFS)
(1)概述
RDFS在RDF基礎上提供了一個術語、概念等的定義方式,以及哪些屬性可以應用到哪些對象上。換句話說,RDFS為RDF模型提供了一個基本的類型系統(tǒng)。
示例:三元組表示用戶自定義的元數據Author是Dublin Core的元數據Creator的子類。
<http://mymetadata.vocab.org/Author> <rdfs: subClassOf > <http://purlorg/dc/elements/1.0/Creator>.作用:RDFS通過這樣的方式來描述不同詞匯集的元數據之間的關系,為網絡上統(tǒng)一格式的元數據交換提供便利。
(2)具體
RDF定義了如下幾種詞匯:
- Class、subClass、type、Property、subPropertyOf、Domain、Range
示例:
- 圖中,data層 是對 schema層 的實例化,是由數據驅動的。
(3)基于RDFS的推理
基于 data層 和 schema層 可進行推理,如上下位的推理(如subClass),類別的判斷等。
示例:
4、OWL和OWL2
RDF是有一定的表達缺陷,RDF不能表達復雜類。
(1)OWL簡述
OWL Web Ontology Language包含三個子語言:OWL Lite、OWL DL、WOL Full。
(2)OWL詞匯
- 等價性
| owl:equivalentClass | 類等價 | exp:運動員 owl:equivalentClass exp:體育選手 |
| owl:equivalentProperty | 屬性等價 | exp:獲得 owl:equivalentProperty exp:取得 |
| owl:sameIndividualAs | 個體等價 | exp:運動員A owl:sameIndividualAs exp:小明 |
exp 是命名空間 http://www.example.org 的別稱。
- 傳遞性
| owl:TransitiveProperty | 屬性傳遞 | exp:ancestor rdf:type owl:TransitiveProperty |
exp:ancestor 是一個傳遞關系 exp:小明 exp:ancestor exp:小林; exp:小林 exp:ancestor exp:小志
那么根據上述聲明,有 exp:小明 exp:ancestor exp:小志
- 屬性相反
| owl:inverseOf | 屬性相反 | exp:ancestor owl:inverseOf exp:descendant |
exp:ancestor 與 exp:descendant 是互反關系
eg:exp:小明 exp:ancestor exp:小林,那么有 exp:小林 exp:descendant exp:小明
- 屬性函數性
| owl:FunctionalProperty | 屬性函數性 | exp:hasMother rdf:type owl:FunctionalProperty |
exp:hasMother 是一個具有函數性的屬性(只有一個);因為每個人只有一個母親。
- 屬性對稱性
| owl:SymmetricProperty | 屬性對稱性 | exp:hasMother rdf:type owl:FunctionalProperty |
exp:小明 exp:friend exp:小林,那么有 exp:小林 exp:friend exp:小明
- 屬性的局部約束:全稱限定
| owl:allValuesFrom | 全稱限定 | exp:Person owl:allValuesFrom exp:Women,exp:Person owl:onProperty exp:hasMother |
exp:hasMother在主語屬于exp:Person類的時候,賓語的取值只能來自exp:Women這個類。
- 屬性的局部約束:存在限定
| owl:someValuesFrom | 存在限定 | exp:SemanticWebPaper owl:someValuesFrom exp:AAAI,exp:SemanticWebPaper owl:onProperty exp:publishedIn |
exp:publishedIn在主語屬于exp:SemanticWebPaper類的時候,賓語的取值部分來自exp:AAAI這個類。上面的三元組相當于:關于語義網的論文部分發(fā)表在AAAI上。
- 屬性的局部約束:基數限定
| owl:cardinality | 基數限定 | exp:Person owl:cardinality “1”^^xsd:integer,exp:Person owl:onProperty exp:hasMother |
exp:hasMother在主語屬于exp:Person類的時候,賓語的取值只能有一個;“1”的數據類型被聲明為xsd:integer;這是基數約束,本質上屬于屬性的局部約束。
- 聲明相交的類
| owl:intersectionOf | 相交的類 | exp:Mother owl:intersectionOf _tmp,_tmp rdf:type rdfs:Collection,_tmp rdfs:member exp:Person,_tmp rdfs:member exp:HasChildren |
_tmp是臨時資源;它是rdfs:Collection類型,是一個容器;它的兩個成員是exp:Person,exp:HasChildren;上述三元組說明exp:Mother是exp:Person,exp:HasChildren這兩個類的交集。
- OWL其他詞匯
(3)OWL2
OWL2 定義了一些 OWL 的子語言,通過限制語法使用,使得這些子語句能夠更方便地實現,以及服務于不同的應用。
OWL2的三大子語言:
- OWL2 RL、OWL2 QL、OWL2 EL,家族樹如下:
5、SPARQL簡介
SPARQL 是 RDF的查詢語言(i.e.基于RDF數據模型),可以針對不同的數據集撰寫復雜的連接,它支持主流的圖數據庫。
SPARQL查詢的基本構成:
- 變量,RDF中的資源,以 ? 或者 $ 來表示;
- 三元組模板 (triple pattern), 在 WHERE子句 中列示關聯(lián)的三元組模板;之所以稱之為模板,因為三元組中允許變量;
- SELECT子句 中指示要查詢的目標變量。
示例1:查詢學生姓名、選修課程,以及他們的年齡;若有年齡,則年齡必須大于25歲。
- 涉及 OPTIONAL關鍵字、FILTER關鍵字
示例2:查詢選修課程CS328或CS909的學生姓名以及郵箱,涉及 UNION關鍵字。
SELECT ?student ?email WHERE {?student foaf:mbox ?email .{?student exp:studies CS328}UNION {?student exp:studies CS909} }注意:此處郵箱為必返回項,若沒有郵箱值,則不返回該記錄,注意與OPTIONAL區(qū)別。
示例3:查詢選修課CS909的學生姓名以及郵箱和住址,涉及 FROM關鍵字,引入其他本體或可訪問的知識庫。
SELECT ?student ?email ?home FROM <http://www2.warwick.ac.uk/rdf/student> WHERE {?student exp:studies CS909 . OPTIONAL {?student foaf:mbox ?email .?student foaf:homepage ?home .} }SPARQL查詢語言與SQL很相似,定義了OPTIONAL、FILTER、UNION、FROM 等關鍵字,同時它支持嵌套查詢,基于規(guī)則的查詢.
6、JSON-LD 、RDFa、 HTML5 MicroData等新型知識表示
(1)JSON-LD
JSON-LD(JavaScript Object Notation for Linked Data),是一種基于JSON表示和傳輸互聯(lián)數據 (Linked Data) 的方法。
- JSON-LD描述了如何通過JSON表示有向圖,以及如何在一個文檔中混合表示互聯(lián)數據及非互聯(lián)數據。
- JSON-LD的語法和JSON兼容。
示例:
- 一個JSON文本
- 對應的JSON-LD文件:通過引入規(guī)范的術語表示,eg:統(tǒng)一化表示"name","homepage"和"image"的URI,使得數據交換和機器理解成為基礎。
(2)RDFa
RDFa (Resource Description Framework in attributes)是網頁標記語言,它擴充了XHTML的幾個屬性,網頁制作者可以利用這些屬性在網頁中添加可供機器讀取的資源,與RDF的對應關系使得RDFa可以將RDF的三元組嵌入在XHTML文檔中,它也使得符合標準的使用端可以從RDFa文件中提取出這些RDF三元組來。
RDFa工作原理:
- 通過引入命名空間的方法在已有的標簽中加入RDFa相應的屬性來使得支持RDFa技術的瀏覽器或者搜索引擎可以解析到,從而達到優(yōu)化的目的。
分析:上面的代碼示例中用到了RDFa屬性中的about屬性和property屬性,這段代碼示例說明了一篇文章,然后描述了和這篇文章相關的信息,比如說標題,創(chuàng)建者和創(chuàng)建日期,而這些屬性就可以使得支持RDFa的機器識別。
(3)HTML5 Microdata
- Microdata微數據,是在網頁標記標記語言嵌入機器可讀的屬性數據;
- 微數據使用可以來自自定義詞匯表、帶作用域的鍵/值對給DOM做標記;
- 用戶可以自定義微數據詞匯表,在自己的網頁中嵌入自定義的屬性;
- 微數據是給那些已經在頁面上可見的數據施加額外的語義。當HTML的詞匯不夠用時,使用微數據可以取得較好的效果。
示例:便于瀏覽器從網頁上提取微數據實體、屬性以及屬性值。
7、RDF+SPARQL vs. ER+SQL
RDF:關系顯示定義(語義存在于數據中)——數據變更較為方便(圖增加邊更為方便),易于推理。
ER:關系隱式聲明(語義存在于人腦中)——數據變更時,需要添加新表并修改原來的SQL語句。
數據的智能性
- ER+SQL:Dumb Data->Smart Application Code
- RDF+SPARQL:Smart Data->Uniform Inference Engine
三、典型知識庫項目的知識表示
1、各種知識圖譜項目
2、知識表示:多元關系
| DBPedia | 無考慮,可通過Blank Node等用多個三元組來表示 |
| Freebase | CVT 復合類型節(jié)點 |
| WikiData | Qualifier 或者 Reference |
| ConceptNet | 將多元關系添加為邊的屬性 |
3、實用的知識表示
實用的知識表示的特點:
- 接近人的自然語言:好的KG是同時為機器和人設計的;
- 夠用的表達能力:夠用就好,不必苛求邏輯完備;
- 易于擴展:能夠非常方便的增加新的類、實體和關系。
現狀:RDF/OWL只是眾多知識表示框架的一種,不少商業(yè)化的KG并未采用該框架,物理存儲也是直接采用關系數據庫實現,但基本表達要素都可在RDF/OWL中找到對應。
四、基于本體工具的知識建模實踐
基于Protege本體工具的知識建模實踐
總結
以上是生活随笔為你收集整理的【知识图谱】知识表示与知识建模的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识图谱】知识图谱概论
- 下一篇: 【知识图谱】知识抽取与挖掘(I)