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