日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【知识图谱】知识表示与知识建模

發布時間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【知识图谱】知识表示与知识建模 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、早期知識表示簡介
    • 1、概述
    • 2、知識分類
    • 3、早期知識表示方法
      • (1)一階謂詞邏輯(First-Order Logic)
      • (2)產生式規則(Production Rule)
      • (3)框架(Framework)
      • (4)語義網絡(Semantic Network)
  • 二、基于語義網的知識表示框架
    • 1、語義網(Semantic Web)
    • 2、RDF
      • (1)RDF概念
      • (2)基本示例
      • (3)RDF空白節點(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、概述

人類心智區別于其它物種心智的重要特征:具有獲取、表示和處理知識的能力。

知識表示 是一種為了讓計算機可以接受的用于描述知識的數據結構。它是機器通往智能的基礎,使得機器可以像人一樣運用知識。特別是常識知識才能實現真正類人的智能

知識的特點:相對正確性、不確定性、可表示性以及可利用性。

2、知識分類

  • 按作用范圍分類:常識性知識、領域性知識;
  • 按作用及表示分類:事實性知識、過程性知識、控制知識;
  • 按確定性分類:確定性知識、不確定性知識;
  • 按結構及表現形式分類:邏輯性知識、形象性知識;

3、早期知識表示方法

  • 一階謂詞邏輯(First-Order Logic)
  • 產生式規則(Production Rule)——專家系統
  • 框架(Framework)
  • 語義網絡(Semantic Network)——以網絡的方式來描述概念之間的語義關系
  • 邏輯程序(Logic Programming)
  • 缺省邏輯(Default Logic)
  • 模態邏輯(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)
  • 規則 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_mHB1?,B2?,...,Bm?是原子,HHH是頭部原子,B1,B2,...,BmB_1,B_2,...,B_mB1?,B2?,...,Bm?是體部原子,eg:has_child(X,Y):-has_son(X,Y)
  • 事實——沒有體部且沒有變量的規則:
    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)產生式規則(Production Rule)

早起的專家系統多數是基于產生式系統的。以 IF-THEN 的形式,即產生式規則表示出來的。

產生式模型
P→QorIFPTHENQCF=[0,1]P→Q \ \ \ or \\ \begin{aligned} IF\quad P\quad THEN\quad Q \quad CF = [0, 1]\end{aligned}PQ???orIFPTHENQCF=[0,1]?

  • 其中,PPP 是產生式的前提,QQQ 是一組結論或操作,CF(CertaintyFactor)CF (Certainty Factor)CF(CertaintyFactor) 為確定性因子,也稱置信度。

特點

  • 優點:自然型好,易于模塊化管理、能有效表示知識、知識表示清晰等;
  • 缺點:效率不高、不能表達具有結構性的知識等。

(3)框架(Framework)

基本組成

示例

利用上述框架在知識庫中匹配得到實例(對框架進行填充可得)。

(4)語義網絡(Semantic Network)

基本形式:(節點1, 弧, 節點2)

  • 節點:表示各種事物、概念、情況、屬性、動作、狀態等,每個節點可以帶有若干屬性,一般用框架或元組表示。此外節點還可以是一個語義子網絡,形成一個多層次的嵌套結構。
  • 弧:表示各種語義聯系,指明它所連接的節點間某種語義關系。
  • 節點和弧都必須帶有標示,來方便區分不同對象以及對象間各種不同的語義聯系。

特點

  • 優點:結構性、聯想性、自然性;
  • 缺點:非嚴格性、處理上的復雜性

示例: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還推出五星級標準,規定了RDF為標準數據格式,URI標準為事物命名等規范。

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表示的結果,右圖為利用命名空間定義前綴的結果。

示例2:RDF中的屬性值同時也可以是一個文字,如字符串/數值XML datatype類型。(它們不是一個Resource)。

  • 左圖:CCF ADL邀請王昊奮作為講者,演講主題是知識圖譜。,此處知識圖譜為字符串。
  • 右圖:CCF ADL has one speaker Haofen and last 3 hours.,其中"3"后面為其類型約束,即整型。

(3)RDF空白節點(Black Nodes)

空白節點

  • RDF允許空白節點;
  • 一個資源可以是匿名的;
  • 即不被URI標識,并標識為 _:xyz

eg:Haofen是某一次KG講座的講者(并不關心是什么講座)

(4)RDF是數據類型,不是序列化格式

RDF序列化格式之間的關聯:

  • RDF/XML格式:適合小數據的存儲與交換
<rdf:RDFxmlns:ex-schema=http://ex.org/schema#><rdf:Description rdf:about="http://ex.org/ccf_adl"><ex-schema:speaker rdf:resource="http://ex.org/haofen"/><ex-schema:theme rdf:resource="http://ex.org/KG"/></rdf:Description> </rdf:RDF>
  • N-Triples格式
<http://ex.org/ccf_adl><http://ex.org/schema#speaker><http://ex.org/haofen>.<http://ex.org/ccf_adl><http://ex.org/schema#theme><http://ex.org/KG>.
  • Turtle格式
@prefix ex:<http://ex.org>. @prefix ex-schema:<http://ex.org/schema#>ex:ccf_adlex-schema:speaker ex:haofen;ex-schema:theme ex:KG.

(5)開放世界假設

RDF 是 開放世界假設

  • 封閉世界假設:沒有定義則認為不存在。
  • 開放世界假設:
  • eg:(CCF ADL, speaker, Haofen)
    • 封閉世界假設==》CCF ADL講座只有一位講者;
    • 開放世界假設==》CCF ADL講座至少有一位講者;

(6)分布式的定義與合并知識

  • RDF允許分布式地定義知識
  • 分布式定義的知識可以自動合并
    • 若分布式存儲 ex:haofen 的URI不一致,如何融合??

(7)變種:帶標注RDF

動機:如何擴展 RDF 用來表達更多信息

  • 時間、不確定性、空間、信任等
  • ==》帶標注 RDF(S) ==》知識庫:YAGO2

YAGO2:采用 annotated RDF 表示的知識庫

  • 語法形式(s,p,o):λ(s, p, o):\lambda(s,p,o):λ
    • λ\lambdaλ 是一個標志
    • eg:(特朗普,就職,總統):2017年1月

3、RDF Schema(RDFS)

(1)概述

RDFS在RDF基礎上提供了一個術語、概念等的定義方式,以及哪些屬性可以應用到哪些對象上。換句話說,RDFS為RDF模型提供了一個基本的類型系統。

示例:三元組表示用戶自定義的元數據Author是Dublin Core的元數據Creator的子類。

<http://mymetadata.vocab.org/Author> <rdfs: subClassOf > <http://purlorg/dc/elements/1.0/Creator>.

作用:RDFS通過這樣的方式來描述不同詞匯集的元數據之間的關系,為網絡上統一格式的元數據交換提供便利。

(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中的詞匯描述示例
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中的詞匯描述示例
owl:TransitiveProperty屬性傳遞exp:ancestor rdf:type owl:TransitiveProperty

exp:ancestor 是一個傳遞關系 exp:小明 exp:ancestor exp:小林; exp:小林 exp:ancestor exp:小志
那么根據上述聲明,有 exp:小明 exp:ancestor exp:小志

  • 屬性相反
OWL中的詞匯描述示例
owl:inverseOf屬性相反exp:ancestor owl:inverseOf exp:descendant

exp:ancestor 與 exp:descendant 是互反關系
eg:exp:小明 exp:ancestor exp:小林,那么有 exp:小林 exp:descendant exp:小明

  • 屬性函數性
OWL中的詞匯描述示例
owl:FunctionalProperty屬性函數性exp:hasMother rdf:type owl:FunctionalProperty

exp:hasMother 是一個具有函數性的屬性(只有一個);因為每個人只有一個母親。

  • 屬性對稱性
OWL中的詞匯描述示例
owl:SymmetricProperty屬性對稱性exp:hasMother rdf:type owl:FunctionalProperty

exp:小明 exp:friend exp:小林,那么有 exp:小林 exp:friend exp:小明

  • 屬性的局部約束:全稱限定
OWL中的詞匯描述示例
owl:allValuesFrom全稱限定exp:Person owl:allValuesFrom exp:Women,exp:Person owl:onProperty exp:hasMother

exp:hasMother在主語屬于exp:Person類的時候,賓語的取值只能來自exp:Women這個類。

  • 屬性的局部約束:存在限定
OWL中的詞匯描述示例
owl:someValuesFrom存在限定exp:SemanticWebPaper owl:someValuesFrom exp:AAAI,exp:SemanticWebPaper owl:onProperty exp:publishedIn

exp:publishedIn在主語屬于exp:SemanticWebPaper類的時候,賓語的取值部分來自exp:AAAI這個類。上面的三元組相當于:關于語義網的論文部分發表在AAAI上。

  • 屬性的局部約束:基數限定
OWL中的詞匯描述示例
owl:cardinality基數限定exp:Person owl:cardinality “1”^^xsd:integer,exp:Person owl:onProperty exp:hasMother

exp:hasMother在主語屬于exp:Person類的時候,賓語的取值只能有一個;“1”的數據類型被聲明為xsd:integer;這是基數約束,本質上屬于屬性的局部約束。

  • 聲明相交的類
OWL中的詞匯描述示例
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子句 中列示關聯的三元組模板;之所以稱之為模板,因為三元組中允許變量;
  • SELECT子句 中指示要查詢的目標變量。
# prefix declarations:for abbreviating URIs PREFIX foo: <http://example.com/resources/> ... # dataset defintion, stating what RDF graph(s) are being queried FROM ... # result clause:identifying what information to return from the query SELECT ... # query pattern: WHERE {... } # query modifiers:slicing, ordering, and otherwise rearranging query results ORDER BY ...

示例1:查詢學生姓名、選修課程,以及他們的年齡;若有年齡,則年齡必須大于25歲。

  • 涉及 OPTIONAL關鍵字、FILTER關鍵字
## 命名空間聲明 PREFIX exp: http://www.example.org/ SELECT ?module ?name ?age WHERE {?student exp:studies ?module .?student foaf:name ?name . OPTIONAL {?student exp:age ?age . FILTER (?age > 25)} }

示例2:查詢選修課程CS328或CS909的學生姓名以及郵箱,涉及 UNION關鍵字。

SELECT ?student ?email WHERE {?student foaf:mbox ?email .{?student exp:studies CS328}UNION {?student exp:studies CS909} }

注意:此處郵箱為必返回項,若沒有郵箱值,則不返回該記錄,注意與OPTIONAL區別。

示例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 等關鍵字,同時它支持嵌套查詢,基于規則的查詢.

6、JSON-LD 、RDFa、 HTML5 MicroData等新型知識表示

(1)JSON-LD

JSON-LD(JavaScript Object Notation for Linked Data),是一種基于JSON表示和傳輸互聯數據 (Linked Data) 的方法。

  • JSON-LD描述了如何通過JSON表示有向圖,以及如何在一個文檔中混合表示互聯數據及非互聯數據。
  • JSON-LD的語法和JSON兼容。

示例

  • 一個JSON文本
// 表示一個人,具有名字、主頁、照片 { "name": "Manu Sporny", "homepage": "http://manu.sporny.org/", "image": "http://manu.sporny.org/images/manu.PNG" }
  • 對應的JSON-LD文件:通過引入規范的術語表示,eg:統一化表示"name","homepage"和"image"的URI,使得數據交換和機器理解成為基礎。
{"http://schema.org/name": "Manu Sporny", "http://schema.org/url": { "@id":"http://manu.sporny.org/" }, "http://schema.org/image": { "@id":"http://manu.sporny.org/images/manu.PNG" } }

(2)RDFa

RDFa (Resource Description Framework in attributes)是網頁標記語言,它擴充了XHTML的幾個屬性,網頁制作者可以利用這些屬性在網頁中添加可供機器讀取的資源,與RDF的對應關系使得RDFa可以將RDF的三元組嵌入在XHTML文檔中,它也使得符合標準的使用端可以從RDFa文件中提取出這些RDF三元組來。

RDFa工作原理

  • 通過引入命名空間的方法在已有的標簽中加入RDFa相應的屬性來使得支持RDFa技術的瀏覽器或者搜索引擎可以解析到,從而達到優化的目的。
<div xmlns:dc="http://purl.org/dc/elements/1.1/" about="http://www.example.com/books/wikinomics"><span property="dc:title">Wikinomics</span><span property="dc:creator">Mr right</span><span property="dc:date">2006-09-02</span> </div>

分析:上面的代碼示例中用到了RDFa屬性中的about屬性和property屬性,這段代碼示例說明了一篇文章,然后描述了和這篇文章相關的信息,比如說標題,創建者和創建日期,而這些屬性就可以使得支持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等用多個三元組來表示
FreebaseCVT 復合類型節點
WikiDataQualifier 或者 Reference
ConceptNet將多元關系添加為邊的屬性

3、實用的知識表示

實用的知識表示的特點

  • 接近人的自然語言:好的KG是同時為機器和人設計的;
  • 夠用的表達能力:夠用就好,不必苛求邏輯完備;
  • 易于擴展:能夠非常方便的增加新的類、實體和關系。

現狀:RDF/OWL只是眾多知識表示框架的一種,不少商業化的KG并未采用該框架,物理存儲也是直接采用關系數據庫實現,但基本表達要素都可在RDF/OWL中找到對應。

四、基于本體工具的知識建模實踐

基于Protege本體工具的知識建模實踐

總結

以上是生活随笔為你收集整理的【知识图谱】知识表示与知识建模的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。