Contents ...
udn網路城邦
知識本體問答
2021/03/06 15:05
瀏覽146
迴響0
推薦0
引用0

【這篇文章大約是在2006年左右寫的,主要是和博士生們對知識本體的問答】

先從「對象」、「格式」、「結構」、「寫作」這四個面向來說明我對「字典」與「百科全書」的認知,接著我再來回答蘭婷的問題。

從「對象」來說,字典以字為對象;百科全書以知識為對象。

從「格式」來說,字典包括了「注(發)音」、「詞性」(名詞、動詞…)、「時態」、「注釋」、「同義字」、「反義字」,有些字典甚至於包括了「字源」。百科全書的包括了領域範疇、縁起、發展沿革、該領域的知名學者、主要的知識內涵…。

顯然,字典和百科全書的「對象」和「格式」是不同的。

我在此所謂的「結構」,係指作者用樹狀或網絡(圖)的結構來呈現「字(詞)」或「知識條目」之間的關係。由於樹狀結構是網絡結構的一種特例,所以,理論上,吾人均可以用網絡結構來描述字典或者全科百書。「字(詞)」或「知識條目」以及其內容是節點,至於上述的「格式」則是這些節點之間的網絡關係(relation)。透過網絡結構,吾人能利用資料結構之技巧,以廣度優先、深度優先或其他更為複雜的方法,在網絡之中搜尋所需之相關資訊。所以,在「結構」面向,雖然字典與百科全書二者的節點和關係的種類(名稱)以及複雜程度有所差異,但是二者的結構並無本質上的差異,都是網絡結構。

不論字典或者百科全書,他們的網絡結構都可以用不同的程式語言來寫作(正如我們可以有不同語言版本的大英百科全書)。Fortran、Visual Basic、Visual C、Java、…等各種不同程式語言都可以表達網絡結構,以及其間的資料搜尋功能。

 接著回答蘭婷的問題。

1.      一般人所期望的百科全書是「內容」的豐富性,但就其格式、結構而言,「術語網」已大多具有,只要假以時日,充實其內容,是可以發展成「百科全書」。

2.      同義語不能用「is-a」來定義。 人是一種(is-a)動物,但人與動物並非同義語。

3.      不同專業領域的ontology是不同的,這也為何會有HAZ-termnet和GIS-termnet兩個專業術語網的原因。我將「引發」用於防救災術語網(HAZ-termnet),但是GIS-termnet幾乎用不著「引發」。反之,GIS-termnet用到了「同義」、「近義」…,但到目前HAZ-termnet尚未用著。蘭婷說:「在dependency的部份,僅有"引發"(cause)的semantic pattern 似乎對"血管"的ontology不太夠」。這其實不是問題,「任何」生理學ontology所需的semantic pattern都可以用CLIPS(以及其它任何程式語言)寫出來。重點在於:除了cause之外,尚需要什麼semantic pattern呢?以首階邏輯的術語來說,便是定義出所需的述詞(predicate,"引發"便是一個述詞),但這並不涉及到邏輯推理方法的改變。

4.      HAZ-termnet和GIS-termnet是我用CLIPS寫出來的二個不同的專業術語網。二者的程式架構幾乎相同,最大的差異在於「知識陳述」的部份。所以,我們可以很快的建立「生理學術語網」、「社區營造術語網」、「法律術語網」…。進一步的,我們便可以比較不同地區、不同文化、不同時代ontology的演變了。

5.      「程式寫作」是我們的實習課。從程式寫作當中,可以澄清許多觀念,發現許多新的議題。Ontology的重點畢竟還是在domain knowledge上。如何界定出「概念」(術語、專用語詞)?術語之間存在那些關係?是研究的重點。就「程式技術」而言,只要熟悉「資料結構」以及任何一種程式語言,便足夠了。我只是很好奇,為何「ontology builder」總是那麼神秘兮兮的?甚至變成商業軟體。所以,或許我們應該將「程式寫作能力」列為入門條件之一。一流的研究是要能夠自己去組裝「關鍵性」的實驗儀器,而不能光是去買別人的儀器設備。越基礎性的研究,越無現成的(商用)儀器可用。我們當然不需要自己去發展新的程式語言,但是顯然我們無法依賴(也不需要)別人的工具(如word-net、SUMO、KIF、protégé…)來進行我們的ontology研究,只要好好弄通一種程式語言(如CLIPS)以及資料結構即可。

6.      寫完了前面,發覺蘭婷前一篇文章的標題是「對呀programming好難 可別找我做」,而我建議將程式寫作能力列為入門條件之一,這可能真是晴天霹靂!好!我來點心理建設(不是針對她個人,而是給所有有志於此行的同學的建議):(1)不需要學「新」的程式語言,任何一種你懂的程式語言就可以了。如果真的都不懂,那只好硬著頭皮去學吧。(2)不必學太深奧的技巧,只要會建tree,會寫排序、廣度搜尋的程式便可以上路了(在我「空間邏輯」課程講義裡有CLIPS的範例)。(3)回去複習我在CAAD課程上的資料結構。(4) ontology的programming沒有想像的難,不要自己嚇自己。自己動手寫,從簡單的寫起,便可以建立起自己的信心。

 我說過,當我忍不住自己動手寫termnet時,才發現它的程式是出乎意料的簡單,不到四個鐘頭就完成了雛形。文君後來連續問了我二個問題,看能不能改善程式執行的方便性。我第一個反應也都是「可能要大改程式才能做到吧?」,不過,繼之一想,不到五分鐘程式就都改好了。原來,問題比想像的簡單。當然我不敢保證所有的問題都如此簡單。不過,我敢保證到目前為止,程式比你我想像都還簡單「太多」!

 

全站分類:知識學習 隨堂筆記
自訂分類:規劃設計理論
上一則: 下一波的城鄉規劃理論
你可能會有興趣的文章:
發表迴響

會員登入