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