【知识图谱】知识表示:知识图谱如何表示结构化的知识?
互聯網時代,人類在與自然和社會的交互中生產了異常龐大的數據,這些數據中包含了大量描述自然界和人類社會客觀規律有用信息。如何將這些信息有效組織起來,進行結構化的存儲,就是知識圖譜的內容。
那么,在知識圖譜中以什么樣的形式對現實世界中的知識進行表示與存儲呢?本編介紹知識圖譜中的知識表示,以回答上面的問題。
作者&編輯 | 小Dream哥
1? 什么是知識表示
知識表示是知識圖譜中非常重要的概念,知識表示之于知識圖譜的重要性,就好比內功心法之于絕世武功的重要性。比如在英雄大會中,楊過一開始只練了打狗棒法的招數,用他小半調子的打狗棒法無法打贏金輪法王的徒弟霍都,當黃蓉跟他透露了打狗棒法的心法之后,瞬間就擊退了敵人。
知識圖譜中的知識表示也是如此,例如,要對所存儲的知識進行應用,其中最關鍵的就是要能夠進行知識的推理,而知識的表示形式和手段決定了知識推理的形式和難度;此外,知識表示的形式也決定了知識獲取的形式和難度??梢?#xff0c;一種合適的知識表示方法對知識圖譜的構建至關重要。
所以,我們在學習知識圖譜這個絕世武功之時,也需要熟悉它的內功心法,知識表示。
那么,什么是知識表示呢?筆者認為可以從如下兩個方面理解什么是知識表示:
1.知識表示表示了什么?
知識表示表示的是人類關于外部世界的結論,這些結論應該是無需實踐,僅僅通過思考和推理就可以得到。這樣說,可能還有一些抽象,簡單的理解,知識表示表示的就是人類世界的一些經驗、事實、思想等。例如,物理課本上的各種概念和定理;今年中國娛樂圈發生的各種狗血事件;馬克思主義中國化的各種具體論述和歷史經驗等。
2.如何對人類世界的經驗進行表示?
也就是知識表示的具體手段和形式。具體的手段和形式,在后面介紹具體知識表示方法大家就會清楚,這里先介紹所有知識表示的方法所應該具有的特點。
知識表示通常由大量的本體論約定的概念和實體組成,通過某一種有效的方式組織起來,使得知識系統能夠得以搭建并支持高效的知識推理,方便人們表達和分享對世界的認知。
那么,到底有哪些知識表示的方法呢?現在流行的知識圖譜采用的是哪一套知識表示的方法呢?下面來進行介紹。
2 知識表示的方法??
知識圖譜,或者說知識系統的研究其實由來已久。在很早的時候,不管是人工智能的研究者還是互聯網的工程師們,都試圖建立完善的知識系統,以便更好的應用人類的知識成果。所以,知識表示的研究也由來已久,包括邏輯表示法、語義網絡、框架表示法、腳本表示法、基于語義網的知識描述體系等。
限于篇幅,本文介紹比較重要的語義網絡,框架表示法以及基于語義網的知識描述體系。
1)語義網絡
語義網絡是Quillan M Ross1966年在研究人類聯想記憶時提出的一種心理學模型??偟膩碚f,語義網絡是一種由有向圖表示的知識系統,它將知識表示為相互連接的點和邊,節點代表概念,邊則代表概念之間的語義關系。
語義網絡中最基本的單元稱為語義基元,可以用我們熟悉的三元組表示:<節點1,關系,節點2>,例如,通過語義網絡,可以把“香港坐落于中國南部”表示為下圖中的三元組形式:<香港,坐落于,中國南部>
當然,語義網絡中的關系可以有很多種,例如實例關系,分類關系,成員關系等。語義網絡就是由大量的實體以及他們之間的關系構成,語義網絡通過這樣一種的簡單的方式描述現實世界中所有的知識。他的優點是便于計算機的存儲和檢索,缺點是推理過程較復雜,也不完善,需要對不同的關系做不同的處理。
此外,需要注意的是在語義網絡中,并沒有對節點和邊進行標準的定義,也就是完全用戶自定義的。沒有標準,一方面,會增加知識分享的難度;另一方面,知識描述和知識實例難以分隔。
建立于1988年的知網(Hownet)是一個典型的語義網絡,它由董振東教授建立,感興趣的同學可以關注下。董振東教授認為知識庫或者知識圖譜的構建應該首先由知識工程師設計好完備的知識框架,再由相關領域的專家填充領域知識,是一種典型的自頂向下的構建模式。
2)知識框架表示法
知識框架表示法是人工智能學者Minsky在1975年提出來的。所謂知識框架法,就是通過模仿人類認識世界的模式,將現實世界中的事物根據具體的情況抽象成一定的框架,框架中定義了這個事物應該或者可能具有屬性,也被稱為槽(slot)。
舉個具體的例子大家就明白了,如下圖所示,通過框架表示法來表示“計算機主機”,它總共有6個屬性,也就是槽,包括“主機名稱”,“生產廠商”等。"聯想主機"是“計算機主機”這個概念的一個示例,分別對各個屬性的值進行了填充。
有編程經驗的同學應該很快就能理解框架表示法。它跟面向對象的編程的思想如出一轍,都是對現實世界的模仿。面向對象的編程里的類就是框架表示法里定義的框架;面向對象的編程里的類屬性對應框架表示法里的槽;面向對象的編程里的對象對應框架表示法里的具體實例。
框架表示法的優點在于其強大的結構表達能力和接近人類的思維過程;其缺點在于,面對現實世界的復雜性和多樣性,框架體系設計的難度太大;另一方面,不同框架系統之間的框架很難對齊,難以建立一個統一的標準;此外,基于框架體系的思想,很難實現知識體系的自動化構建。
一個比較有名的基于框架的知識庫叫FrameNet,感興趣的同學可以關注了解。
3)語義網中的知識表示法
首先要說的是,這里的語義網與上面的語義網絡是完全不同的概念。語義網的概念來源于互聯網,人們期望互聯網能夠更為有效的組織信息,使得互聯網內豐富的資源得到充分的利用,而不是像現在這樣,互聯網中的信息僅僅通過薄弱的結構組織起來。因此,語義網也叫Web3.0。
那么,在語義網中,如何實現知識的表示的呢?目前,語義網中存在三種知識描述體系,包括XML,RDF和OWL,他們定義了互聯網中知識表示的形式。
1.XML
全稱是可擴展標記語言(eXtensible Markup Language),是最早的語義網絡標記語言。XML是從網頁標簽式語言向語義表達語言的一次飛躍。XML源于HTML,相比于HTML,XML可擴展性更強,結構性更強。因此,在語義網絡中得以應用。在語義網絡中,XML標簽不再僅僅是網頁格式的標志,而是含有自身的語義。
如下圖所示,是一個用XML表示“影星”這個概念的例子,它定義了“名字”,“出生地”,“民族”等屬性,能夠完整的表示這個概念。
<影星>
????<名字>張國榮</名字>
????<出生地>中國香港</出生地>
????<民族>漢</民族>
????<代表作>霸王別姬</代表作>
</影星>
2.RDF(Resource Description Frame)
資源描述框架(RDF)也是W3C提出的一種語義網描述框架,它假定任何復雜的語義都可以通過若干個三元組的組合來表示,并定義這種三元組的形式為“對象-屬性-值”或“主語-謂語-賓語”。怎么樣,是不是非常的耳熟?其實他與語義網絡并沒有本質的差別,差別在于,RDF規范化了所有的屬性和概念,避免了語義網絡不便于分享和難以區隔知識描述和知識實例的缺點。
因此,RDF可以有一套完整的知識查詢語言,叫SPARQL。
3.OWL(Web Ontology Language)
網絡本體語言(OWL),是RDF的改進版。OWL在RDF的基礎上定義了自己獨有的語法,主要包括頭部和主體兩個部分。
頭部:OWL描述一個本體(概念)時,會預先定制一系列的命名空間,并使用命名空間中預定義的標簽來形成某個概念的頭部,例如電影明星本體的頭部可以這樣表示:
<owl:Ontology rdf:about="">
????<rdfs:comment>一個概念的例子</rdfs:comment>
????<rdfs:label>電影明星</rdfs:label>
</owl:Ontology>
其中<owl:Ontology rdf:about="">表示模塊當前描述的概念。
主體:OWL的主體是用來描述概念的類別、實例、屬性之間相互關聯的部分,它是OWL的核心。例如上面電影明顯的概念可以有如下的組成部分:
<owl:Ontology rdf:ID="電影明星">
????<rdfs:Name rdf:resource="張國榮">
????<rdfs:Birthplace rdf:resource="中國香港">
</owl:ObjectProperty>
總的來說,OWL也是基于三元組的方式來描述知識,相比于RDF,OWL更為規范,功能更強。
3? 知識圖譜中的知識表示
知識圖譜中的知識表示方法,總體來是,就是以本體為核心,以RDF的三元組模式為基礎框架,但更多的體現實體、類別、屬性、關系等多顆粒度多層次的語義關系。
這里正式介紹一下本體的概念,所謂本體,實際上就是知識圖譜中的一個概念,它用一些屬性或特征,描述了客觀世界某一類事物的共性特征;并通過“關系”描述它與其他本體之間的關系。例如,本體“作家”,有“代表作”,“獲獎”等屬性,與本體“藝術家”屬于“從屬關系”。
在知識圖譜中,知識表示有知識定義(知識體系)與知識實例兩個層面。
知識定義(知識體系)描述了本體以及本體之間的關系,是上層建筑。知識實例是本體的一個一個實例,對應的是真實的數據存儲層。
此外,因為知識圖譜最重要的功能就是實現知識推理,進行語義計算。為此,一些知識的數值化表示方法的研究開始出現。基于數值化的知識表示,有利于知識推理,但目前僅處于研究階段,感興趣的同學可以自行搜索學習。
總結
知識圖譜是人工智能技術最重要的基礎設施,是計算機能夠實現推理、預測等類似人類思考能力的關鍵。在知識圖譜中,如何有效表示現實世界中的知識,就是知識表示的內容。知識表示的研究由來已久,在如今的知識圖譜領域,基于語義網的框架(三元組)來表示知識。
讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備注"加入有三AI NLP群"。
下期預告:知識體系構建詳述
知識星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。
知識星球主要有以下內容:
(1) 聊天機器人??紤]到聊天機器人是一個非常復雜的NLP應用場景,幾乎涵蓋了所有的NLP任務及應用。所以小Dream哥計劃以聊天機器人作為切入點,通過介紹聊天機器人的原理和實踐,逐步系統的更新到大部分NLP的知識,會包括語義匹配,文本分類,意圖識別,語義匹配命名實體識別、對話管理以及分詞等。
(2) 知識圖譜。知識圖譜對于NLP各項任務效果好壞的重要性,就好比基礎知識對于一個學生成績好壞的重要性。他是NLP最重要的基礎設施,目前各大公司都在著力打造知識圖譜,作為一個NLP工程師,必須要熟悉和了解他。
(3) NLP預訓練模型。基于海量數據,進行超大規模網絡的無監督預訓練。具體的任務再通過少量的樣本進行Fine-Tune。這樣模式是目前NLP領域最火熱的模式,很有可能引領NLP進入一個全新發展高度。你怎么不深入的了解?
轉載文章請后臺聯系
侵權必究
往期精選
總結
以上是生活随笔為你收集整理的【知识图谱】知识表示:知识图谱如何表示结构化的知识?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【NLP实战】基于ALBERT的文本相似
- 下一篇: 【每周CV论文推荐】 初学深度学习人脸属