語義網(wǎng)詳解
萬維網(wǎng)本身是一個有趣的矛盾體--它的構(gòu)成主體是計算機(jī),但服務(wù)對象是人。我們每天所訪問的站點都以便于我們理解的方式來提供信息,它們使用自然語言及圖片,并采用了相應(yīng)的頁面布局。盡管計算機(jī)處于構(gòu)建和維護(hù)萬維網(wǎng)的核心地位,但這些計算機(jī)本身并不能真正理解所有這些信息的含義。它們無法像人一樣去閱讀、確定相互關(guān)系并作出決定。
語義網(wǎng)的目的是幫助計算機(jī)能夠“閱讀”進(jìn)而使用萬維網(wǎng)。這個看似雄心勃勃的想法實現(xiàn)起來頗為簡單--將元數(shù)據(jù)添加到網(wǎng)頁中,從而使萬維網(wǎng)中現(xiàn)有的計算機(jī)能夠閱讀這些網(wǎng)頁。這并不是要賦予計算機(jī)人工智能或使其具有自我意識,它不過是讓計算機(jī)能夠查找、交換或者(在有限程度上)解釋信息。語義網(wǎng)是萬維網(wǎng)的延伸,而不是要取代萬維網(wǎng)。
上述內(nèi)容聽起來可能比較抽象,事實上也確實有些抽象。盡管某些站點已經(jīng)開始使用語義網(wǎng)概念,但很多必要的工具仍處于研發(fā)階段。本文中,我們將以《星球大戰(zhàn)》三部曲為例帶你了解語義網(wǎng)背后的概念和“利器”。
鳴謝
感謝喬西·賽內(nèi)卡爾(Josh Senecal)為本文提供的幫助。
假設(shè)您想要在網(wǎng)上購買《星球大戰(zhàn)》三部曲精裝全集,而且您為此設(shè)定了一些基本條件。首先,您想要的是寬銀幕(而非全銀幕)DVD,而且希望有附贈禮品光盤。其次,您希望能以最低價買到,而且是一套新的,不是二手的。最后,您不希望支付過多的送貨費用,也不希望等得太久才拿到手。
|
在萬維網(wǎng)不斷發(fā)展的今天,最普遍的做法是瀏覽不同零售商的網(wǎng)站,比較各自的價格以及送貨時間和費用。您也可以在某個網(wǎng)站同時對比幾家零售商的價格和送貨服務(wù)。不論您采取哪種方法,幾乎所有這類收集信息的繁瑣工作都要您親自完成,然后才能做出決定并提交訂單。
有了語義網(wǎng),您就多了一個選擇。您可以將您的偏好提交給一個計算機(jī)程序?qū)崿F(xiàn)的代理,它會為您搜索萬維網(wǎng),找到最佳匹配結(jié)果并提交訂單。而且,這個代理還會打開您計算機(jī)上的個人理財軟件并記錄本次消費金額,并在日歷上標(biāo)注DVD預(yù)計送達(dá)的日期。代理還會學(xué)習(xí)您的習(xí)慣和偏好。這樣,如果您在某個站點有過不愉快的購物經(jīng)歷,它會知道這個站點不應(yīng)該再“拜訪”了。
代理并不會像人一樣去觀看圖片或閱讀說明,它是通過搜索元數(shù)據(jù)實現(xiàn)上述過程的。這些元數(shù)據(jù)清晰地描述并定義了代理所需要的信息。元數(shù)據(jù)不過是可由計算機(jī)閱讀、用來描述其他數(shù)據(jù)的數(shù)據(jù)而已。在語義網(wǎng)中,元數(shù)據(jù)對于閱讀網(wǎng)頁的人是不可見的,但對計算機(jī)是清晰可見的。元數(shù)據(jù)也可以變得更為復(fù)雜,從而使得萬維網(wǎng)搜索能得到更精確的結(jié)果。用萬維網(wǎng)之父蒂姆·伯納斯-李(Tim Berners-Lee)的話說,這些工具會將當(dāng)前看似一本巨型書籍的萬維網(wǎng)轉(zhuǎn)變?yōu)橐粋€巨型數(shù)據(jù)庫。
接下來,我們來看看那些使得文檔能夠讓計算機(jī)閱讀的“利器”。
|
假設(shè)我們希望計算機(jī)能夠讀懂下面這句話:
阿納金·天行者(Anakin Skywalker)是盧克·天行者(Luke Skywalker)的父親。
這句話的含義對您來說再簡單不過了:阿納金·天行者和盧克·天行者都是指人,而且他們之間存在某種關(guān)系。我們知道,父親是雙親之一,而且這句話也意味著盧克·天行者是阿納金·天行者的兒子。但是,如果不借助某種手段,既便是如此簡單的含義也會另計算機(jī)一頭霧水。為了讓計算機(jī)能理解這句話的含義,我們需要添加一些計算機(jī)可閱讀的信息,這些信息描述了阿納金?天行者和盧克·天行者是誰,以及他們之間的關(guān)系。為此,首先要用到兩個工具--可擴(kuò)展標(biāo)記語言(eXtensible Markup Language,XML)和資源描述框架(Resource Description Framework,RDF)。
與超文本標(biāo)記語言(HTML)類似,XML也是一種標(biāo)記語言。通過網(wǎng)上沖浪,您可能對前者已有所了解。HTML 描述了信息在萬維網(wǎng)上的顯示效果。而XML則添加對數(shù)據(jù)加以描述的標(biāo)記,它是對HTML的補(bǔ)充,而非取而代之。這些標(biāo)記對于閱讀文檔的人是不可見的,但對計算機(jī)是可見的。XML標(biāo)記在萬維網(wǎng)中已得到應(yīng)用,而且現(xiàn)有的機(jī)器人(bot)(如為搜索引擎采集數(shù)據(jù)的機(jī)器人)就會閱讀這些標(biāo)記。
顧名思義,RDF的作用是提供一個描述資源的框架,這是通過XML標(biāo)記實現(xiàn)的。從RDF的角度看,世界上幾乎每樣事物都可視為資源。通過這個框架,資源(任何名詞,如上例中的“阿納金·天行者”或《星球大戰(zhàn)》三部曲)將與萬維網(wǎng)上的特定項或位置相匹配,這樣計算機(jī)就能確切知道該資源是什么。如此明確標(biāo)識的資源可以使計算機(jī)避免將阿納金·天行者與演員塞巴斯蒂安·肖(Sebastian Shaw)或海登·克里斯滕森(Hayden Christiansen)相混淆,也不會將原版三部曲與獨角戲改編版的《星球大戰(zhàn)》三部曲混為一談。
為此,RDF使用三元組以XML標(biāo)記的形式將該信息表達(dá)為一個圖。三元組由主體、屬性及客體構(gòu)成,類似于一個句子的主語、動詞和直接賓語。(有些資料稱之為主體、謂詞和客體。)RDF在萬維網(wǎng)中已得到應(yīng)用,例如RSS Feed的創(chuàng)建就用到了RDF。
每個RDF三元組都有一個主體(阿納金·天行者)和一個客體 (盧克·天行者),以及聯(lián)結(jié)二者的屬性。 |
在本例中,計算機(jī)現(xiàn)在知道了上述那句話中有兩個對象,而且二者之間有一定的關(guān)系。但計算機(jī)仍不知道這兩個對象是什么,也不知道二者之間具體是什么關(guān)系。接下來,我們將看到另一個工具,它將為我們添加新的一層:含義。
即使有了XML和RDF所提供的框架,計算機(jī)仍需通過一種非常直接具體的方式來理解這些資源是誰或是什么。為此,RDF使用統(tǒng)一資源標(biāo)識符(Uniform Resource Identifiers,URI)為計算機(jī)指引資源所代表的文檔或?qū)ο蟮木唧w位置。統(tǒng)一資源定位符(URL,以 http:// 開頭)對您來說已經(jīng)比較熟悉了,它是統(tǒng)一資源標(biāo)識符最為常見的形式。統(tǒng)一資源標(biāo)識符可以指向萬維網(wǎng)中的任何事物,也可以指向萬維網(wǎng)之外,如計算機(jī)化的住宅中的家電設(shè)備。統(tǒng)一資源標(biāo)識符還有一些其他形式,如Mailto、ftp以及telnet地址等。
在本文的例子中,我們使用人物角色的頁面作為其統(tǒng)一資源標(biāo)識符,該頁面位于《星球大戰(zhàn)》官方網(wǎng)站。
統(tǒng)一資源標(biāo)識符為計算機(jī)給出了三元組中每個項的具體引用點--這樣就無需進(jìn)行解釋,也不會造成理解錯誤。 |
現(xiàn)在,計算機(jī)知道了主體和客體是什么--第一個統(tǒng)一資源標(biāo)識符代表的實體是阿納金·天行者,第二個代表的實體是盧克·天行者。但是,你也會注意到三元組中間的那個統(tǒng)一資源標(biāo)識符并未指向《星球大戰(zhàn)》網(wǎng)站,而是指向HowStuffWorks服務(wù)器的一個關(guān)系說明文檔。如果該頁確實存在,它會成為我們的XML命名空間。
XML與HTML不同:后者使用標(biāo)準(zhǔn)的標(biāo)記(用表示粗體,用表示下劃線等),而XML并沒有標(biāo)準(zhǔn)的標(biāo)記。這是有好處的--它能讓開發(fā)人員針對特定目的創(chuàng)建獨特的標(biāo)記。但這也意味著瀏覽器無法自動識別這樣的標(biāo)記的含義。XML命名空間本質(zhì)上是一個定義文檔,它告知應(yīng)用程序另一個文檔中的所有標(biāo)記的含義。XML文檔的創(chuàng)建者在文檔的開頭用一行代碼聲明命名空間。在本例中,我們的命名空間形如:
-
這行代碼告訴計算機(jī):任何以“hsw”開頭的標(biāo)記所使用的詞匯都在此文檔中定義。您可以在此處查找任何以“hsw”開頭的標(biāo)記。通過這種方法,人們可以為文檔創(chuàng)建其所需的XML標(biāo)記,而不會與萬維網(wǎng)上的其他XML文檔沖突。
XML和RDF是語義網(wǎng)的“官方語言”,但它們本身并不足以使計算機(jī)能訪問整個萬維網(wǎng)。接下來,我們將看到一些其他的層。
|
語義網(wǎng)模式與本體工具:RDFS、OWL和SKOS
語義網(wǎng)的另一個障礙就是計算機(jī)并沒有人所具備的詞匯。您在生活中一直在使用語言,可以易如反掌地看出不同詞語和概念之間的關(guān)系并根據(jù)上下文來推斷含義。不幸的是,我們并不能簡單地將字典、年鑒和一套百科全書提供給計算機(jī),就指望計算機(jī)能自行學(xué)會所有的知識。為了能夠理解單詞的含義以及單詞之間的關(guān)系,計算機(jī)必須依賴那些描述所有單詞的文檔以及建立必要連接的邏輯。
在語義網(wǎng)中,這需要通過模式(schema)和本體(ontology)來實現(xiàn)。這是兩個相互關(guān)聯(lián)的工具,用于幫助計算機(jī)理解人類的詞匯。本體就是指描述對象以及對象間關(guān)系的詞匯。模式則是組織信息的方式。通過RDF標(biāo)記,可以在文檔內(nèi)包含對模式和本體的訪問,條件是文檔的創(chuàng)建者必須在文檔的起始處聲明所引用的本體。
語義網(wǎng)中使用的模式和本體工具包括:
- RDF詞匯描述語言模式 (RDF Vocabulary Description Language schema,RDFS)--RDFS為資源添加了類、子類以及屬性,從而創(chuàng)建了一個基本的語言框架。例如,資源“達(dá)戈巴”是行星的一個子類。達(dá)戈巴的一個屬性會是“多沼澤”。
- 簡單知識組織系統(tǒng)(Simple Knowledge Organization System,SKOS)--簡單知識組織系統(tǒng)按照寬泛或具體對資源進(jìn)行分類,它允許指定首選和備選標(biāo)簽,并允許用戶可以快速將同義詞和詞匯傳送到萬維網(wǎng)。例如,在《星球大戰(zhàn)》的詞匯中,西斯勛爵(Sith Lord)的具體名稱為達(dá)斯·西迪亞斯(Darth Sidious),而寬泛的名稱為武士。類似,漢·索羅的備用標(biāo)簽是那夫·赫德和激光腦。
- 萬維網(wǎng)本體語言(Web Ontology Language,OWL)--OWL是最復(fù)雜的一層,它對本體加以規(guī)范,描述類之間的關(guān)系并使用邏輯進(jìn)行推理。它也可以根據(jù)現(xiàn)有的信息構(gòu)建新的類。OWL共有三種基本的復(fù)雜級別--輕量、描述語言(DL)和完全。
《星球大戰(zhàn)》本體中的個別幾個資源和連接示例。您自己也可以通過觀看這部電影或從上網(wǎng)瀏覽來畫出這些資源和連接,但計算機(jī)必須對這些信息有很明晰的界定才能得出其含義。 |
本體帶來的問題是它們非常難以創(chuàng)建、實施和維護(hù)。如果本體涉及的范圍較廣,則本體數(shù)量會很龐大,涉及很多概念和關(guān)系的定義。正是由于上述困難,相比本體而言,一些開發(fā)人員更傾向于邏輯和規(guī)則。人們對于這些規(guī)則應(yīng)扮演的角色存在爭議,這可能是語義網(wǎng)發(fā)展一個潛在的困難。
接下來,我們將回到最初的示例:購買《星球大戰(zhàn)》三部曲 DVD,來全程體驗一下。
訪問元數(shù)據(jù)
語義網(wǎng)的長遠(yuǎn)目標(biāo)之一是讓代理、軟件應(yīng)用程序及Web應(yīng)用程序能夠訪問并使用元數(shù)據(jù)。實現(xiàn)這一點的關(guān)鍵工具之一是簡單協(xié)議(simple protocol)和仍處于開發(fā)階段的RDF查詢語言 (RDF Query Language, SPARQL)。SPARQL的目的是從RDF圖中抽取信息。它可以查找數(shù)據(jù),并對結(jié)果進(jìn)行限制和排序。RDF結(jié)構(gòu)的優(yōu)勢之一就是這些查詢可以非常精確,從而獲得非常準(zhǔn)確的結(jié)果。
在本文開頭部分的例子中說到,我們要在線購買《星球大戰(zhàn)》三部曲 DVD。接下來,我們說說語義網(wǎng)如何使整個購買過程更加便捷:
- 每個站點不但有供用戶閱讀的文字和圖片,還會有供計算機(jī)閱讀的元數(shù)據(jù),這些元數(shù)據(jù)描述了該站點出售的DVD。
- 使用RDF三元組和XML標(biāo)記的元數(shù)據(jù)使計算機(jī)能夠閱讀DVD的所有屬性(如條件和價格)。
- 如有必要,商家會使用本體為計算機(jī)提供用于描述所有這些對象及其屬性的詞匯。各購物站點都可以使用相同的一套本體,如此一來,所有這些元數(shù)據(jù)就成為了通用語言。
- 每個出售DVD的站點也可以采用相應(yīng)的安全性和加密機(jī)制來保護(hù)客戶的信息。
- 計算機(jī)應(yīng)用程序或代理便會閱讀各站點中的元數(shù)據(jù)。應(yīng)用程序可以對信息進(jìn)行比較,確定資源是準(zhǔn)確和可信的。
當(dāng)然,萬維網(wǎng)規(guī)模龐大,為現(xiàn)有的網(wǎng)頁添加這些元數(shù)據(jù)是一項艱巨的工程。接下來,我們將討論這一點以及語義網(wǎng)所面臨的其他潛在障礙。
|
同萬維網(wǎng)類似,語義網(wǎng)也是分散式的--并沒有哪個機(jī)構(gòu)或組織對其規(guī)則和內(nèi)容具有控制權(quán)。然而,確有某些個人和組織對語義網(wǎng)的原則和協(xié)議的制定擔(dān)負(fù)著領(lǐng)導(dǎo)角色。這里不得不提到的便是萬維網(wǎng)聯(lián)盟(World Wide Web Consortium,W3C) 和該組織的總監(jiān)蒂姆·伯納斯-李,此外還有W3C下屬的成員組織。W3C并非一個學(xué)術(shù)機(jī)構(gòu),因此大學(xué)、其他組織和公眾社會在這個領(lǐng)域也頗為活躍。
萬維網(wǎng)的某些領(lǐng)域現(xiàn)已融入了一些語義網(wǎng)的元素。其中包括:基于RDF的RSS饋送(RSS Feed)以及旨在創(chuàng)建可由計算機(jī)閱讀的個人網(wǎng)頁的Friend-of-a-Friend(FOAF)項目。
但語義網(wǎng)的大部分功能和實踐尚處在成長階段,還有一些相當(dāng)大的障礙有待克服。分散式使得開發(fā)人員能夠自由地精確創(chuàng)建所需的標(biāo)記和本體。但是,這也意味著不同的開發(fā)人員會采用不同的標(biāo)記來描述同一事物,從而給計算機(jī)在進(jìn)行比較時帶來困難。批評人士還提出了“身份問題”這一質(zhì)疑--URI代表一個網(wǎng)頁還是該頁描述的概念或?qū)ο螅坷纾骸癶ttp://www.starwars.com”代表《星球大戰(zhàn)》這部電影還是僅僅表示該網(wǎng)頁?
一些開發(fā)人員對語義網(wǎng)應(yīng)更多的依賴于規(guī)則還是更多的依賴于本體也存在爭議。批評人士甚至認(rèn)為這根本就是個無法實現(xiàn)的龐大工程。首先,人的思維方式與RDF所使用的圖實際上大相徑庭。其次,商家和現(xiàn)有的網(wǎng)站似乎不可能真正投入時間和資源添加所有必需的元數(shù)據(jù)。將來,某些商業(yè)軟件創(chuàng)建新文檔時可能會提供添加元數(shù)據(jù)的選項,但要在更大的規(guī)模上實施,這樣的工具似乎仍不可行。
評論
查看更多