ontology 是什麼?
請先看這篇
精簡介紹:
The Semantic Web is a vision for the future of the Web in which information is given explicit meaning, making it easier for machines to automatically process and integrate information available on the Web. The Semantic Web will build on XML’s ability to define customized tagging schemes and RDF’s flexible approach to representing data. The first level above RDF required for the Semantic Web is an ontology language what can formally describe the meaning of terminology used in Web documents.
從第一篇文章中可以知道,純文字的內容對人類有意義,但對機器這種agent或檢索用途卻沒太多意義(如果你曾經用過 html parser就會有更深刻的感受),因此先出現了 semantic web這樣以tag為導向的結構,將內容用一個個有意義的tag標示出來,這樣至少在檢索時有一個共通的標準,目前為止最常看到的應用就是RDF與各大blog都有的各種RSS/ATOM文件。
如果你直接用browser打開一份 rss文件,就會發現類似這樣的結構:
http://blog.schee.info/archives/2005/02/16/1735/
http://blog.schee.info/archives/2005/02/16/1735/#comments Wed, 16 Feb 2005 08:05:57 +0000
http://blog.schee.info/archives/2005/02/16/1735/
(題外話,schee決定關站真可惜,難得的寫手呀)
其中title, link, comment, pubDate, category等就是事先約好的型式,只要這是一份符合rss規範的文件,就一定會有這些tag。有了這些tag後,資訊的取得與應用就會方便許多,因為我們可以放心的知道,只要是blog就一定有rss,而只要有rss,就一定可以正確的取得文章的資訊(例如作者、出版日期與摘要之類的)
但rss或rdf不足的地方在於,如果你想加一個獨門的tag,例如 currentListenning或 mySuggestedList就會破壞前面講過的標準,讓人家不知如何閱讀這份文件,更糟糕的是,如果有另一個人他想用 mySongs 而不是 currentListenning 來標示他現在聽的音樂,那這就更難檢索了。
因此semantic web的下一步就是 ontology,試者為 tag 間加上一些相容性與關聯,這也就是ontology最主要的三大要素:class, relationship, attributes,OWL就是W3C所制定專門用來標示該要素的語法,而RDF/XML 則是實作的方式(其實也就是一份超有彈性的xml但尊從一份共通的ontology規範)
因此簡單來說,ontology是要為純文字化的內容加上意義,讓內容變的更容易檢索,而採取的手法就是透過tag語法來標示內容,並為每個tag製定關係。
從六個應用範例中可以看到下面兩個代表性的應用:
case1:
For example, if an indexer selects the value “Late Georgian” for the style/period of (say) an antique chest of drawers, it should be possible to infer that the data element “date.created” should have a value between 1760 and 1811 A.D. and that the “culture” is British.
為同一件事提供不同觀看的面向,從不同的方向看進去都可以找到同樣的東西。例如花也可以用”植物”或”盆景”來找到,重要的是意義上的相通/相容。
這跟單純的為某樣東西加上一堆tag是更有彈性的應用,不過擁有tag的確是好的開始(有了tag就跨進semantic web的第一步,接者再定義ontology就完整了,這就是 OWL的功用)
case2:
A typical problem for each of these types of users is that they may not share terminology with the authors of the desired content. The salesperson may not know the technical name for a desired feature or technical people in different fields might use different terms for the same concept. For such problems, it would be useful for each class of user to have different ontologies of terms, but have each ontology interrelated so translations can be performed automatically.
不同專業領域的人都會有專屬的jargons,此時每個領域可以 都建構一份自已的 ontology表,然後再將不同的 ontology表做關連,就可以讓不同領域的人有機會更正確的檢索到其它領域的知識,例如上文中salesperson與techie間的隔闔就可因此打破。
當然並不是有了ontology就代表一定會更成功更好用,重要的是下面這句話:
…relies on content providers using the web ontology language to capture high-quality ontology relationships, and an objective of OWL is to enable sufficiently rich and useful metadata content to motivate the necessary effort
high-quality ontology relationships 才是一切的重點,如果整理資訊時沒有小心定義不同tag間的意義(不管是上/下層class或平行的關聯),那最終做出來的ontology也是沒太大意義的,可能還是會回到用tag做全文檢索的下場。
想到一個關於ontology的笑話,dog 與 food 間可能會有什麼樣的關聯?一般正常情況下,dog food 可能會因為food這個class而產生關聯,但在台灣,則可能是 dog 直接與 food 這個class產生關聯….orz.
言歸正傳,為什麼我會對ontology產生興趣?主要原因是總覺得wordpress的categories分類是非常有問題且不足夠的,因此最初想試試drupal那種比較偏tag式的系統,後來隨者tag一路查下來,就發現還有更棒的ontology可用,所以或許ontology與blog會是非常不錯的結合(當然理論上ontology與任何知識系統,例如wiki、search engine, CMS都會是很好的結合才對),但至於那位熱血青年要去實作這件事,那就…


Trackback this post | Subscribe to the comments via RSS Feed