• 沒有找到結果。

第四章、 軟體知識的關鍵字分類機制

4.2 領域類別架構設計

領域類別是「問題–解法」知識分類法中的基本架構,由於領域具有階層特

性 , 大 領 域 又 可 細 分 為 小 領 域 , 因 此 可 採 用 樹 狀 的 階 層 架 構 (Hierarchy structure),即 Taxonomy 的方法對領域進行分類。由於議題與解法都將建構在此 領域類別之下,因此這個分類必須有足夠的廣度與深度,以及適當的彈性,方能 讓使用者有效率地在其中找到合適的知識。

由於Taxonomy 的分類非常方便且直觀,因此有非常多著名的 Taxonomy 領 域分類系統。以圖書館的分類而言,最常用的即為杜威十進分類法(Dewey Decimal Classification ) 以 及 美 國 國 會 圖 書 分 類 法 ( Library of Congress Classification),而運用在期刊上最著名的則是 ACM 分類系統(ACM Computing Classification System),此外尚有網路上許多搜尋引擎使用的ODP(Open Directory Project)等,這些分類方法都是對知識領域分類的階層架構,以下將對這些方法 進行討論,並提出適合軟體知識的領域類別架構。

杜威十進分類法是由Melvil Dewey 在 1876 年發明的,目前由 OCLC(Online Computer Library Center)負責維護。杜威十進分類法是利用十進位的數字來表 示類別,首先將所有的知識領域劃分為十種類型(稱為Main class),在每個Main class 下又可劃分十種較小的子領域(稱為 Division),而在 Division 之下又再分 十種更小的領域(稱為Section),而在Section 之下的小領域通稱為 Subdivision。

由於是採用十進位的數字表示,因此每個類別至多只能分為十個子領域,但都可 以無限地細分,至目前為止杜威十進分類系統已經需要四本書才能夠寫完。此分 類法主要是以四層為基礎,其下可彈性地細分,其分類範例如圖 4 - 3 所示:

圖 4 - 3 杜威十進分類法範例

此分類法由於採用十進位編碼,故其分類數量受限,隨著各領域學門發展不 同,加上某些新的領域興起,此時舊學門已將較高層的編碼用去,故新學門只能 分到較低的階層,由於此方法是在1876 年發明,故有許多分類已經顯得不合時 宜。例如近年增長快速的電腦科技,是被分在自然科學→數學→電腦科技中,相 當不合時宜,但因其編碼已固定,且之前的書籍也都依此編目歸類,故只能在此 架構下繼續細分,十分欠缺彈性。

美國國會圖書分類法是在1897 年由 J.C.M. Hanson 與 Charles Martel 帶領的 各領域專家所研發的。此分類法將知識分為21 個主要領域(稱為 Main class),

在各 Main class 下則分為次領域(稱為 Subclass),用以表示主領域的學門或分 支;Subclass 又可再細分為更小的領域(稱為 Division),Division 則可更細分成 Subdivision。此方法跟杜威十進分類法有點類似,都是用編碼的方式來表示分 類,Main class 與 Subclass 以英文二十六個字母編碼,其下的 Division、Subdivision 則依其規則以十進位數字編碼,其分類範例如圖 4 - 4:

圖 4 - 4 美國國會圖書分類法範例

此方法跟杜威十進分類法類似,故其問題也是缺乏彈性,但因為之前的書籍 已依此方法編目,要更動非常耗時耗力,因此只能繼續沿用。由於軟體知識可以

電子化,沒有書本編目的問題,因此可以設計更具彈性的分類架構,以符合領域 學門發展的變化。

ODP(Open Directory Project)是由網景公司(Netscape Communication Cooperation)提出及管理的。此分類架構與傳統分類不同,採用了自主管理的方 法,ODP 僅提供一些分類架構的準則,由一些志工對此分類的發展進行維護。

由於此分類法的開放性與彈性,使其發展快速而穩定,非常多的搜尋引擎都是使 用 ODP 做為其分類架構,如 AOL Search、Netscape Search、Google、Lycos、

DirectHit、HotBot 等。最高層級的分類是事先設定且不能更動的,其下的分類則 沒有限制其層級數量,僅提供一些簡單的分類準則,例如當一個分類下有超過二 十個連結時,志工應考慮對其進行細分等。此分類法尚有一項特色,它提供了相 關類別(Related Category)以及相等類別(Equal Category)來加強此分類系統 的效率。所謂相關類別指的是將具有相關性的類別加以連結,如此在類別中搜尋 時亦可以將其相關類別納入搜尋中,籍以增加搜尋的有效範圍,例如 Algorithm 中的Graph 跟 Computation Geometry 就是一個相關類別的狀況。相等類別則是提 供 使 用 者 由 不 同 的 瀏 覽 路 徑 , 例 如 Internet → WWW → Programming 與 Programming → WWW 其實是相同的,故在分類之中建立一些相等的關係,使得 使用者不會因為一開始選擇的類別而找不到他所需的知識。ODP 的分類範例如 圖 4 - 5:

圖 4 - 5 ODP 分類範例

ODP 雖然沒有限制層級數量,但至目前為止其分類都以四層為主,這個分 類的設計是以網頁資料為基礎,因此四層的分類已經足夠。但軟體知識的發展是 非常深入的,四層分類將使得同一分類下的議題及知識太過龐大,且使用者也無 法依此分類準確地找到適合的知識,例如近年來急速發展的 Internet,若要細分 的話可能會出現下列的類別:Internet → WWW → Web Programming → Scripting Language → ASP → Database Connection,光是這些就需要六層的分類才真正能 夠將知識恰當地分類。

ACM 分類系統(ACM Computing Classification)是最常運用在技術論文上 的分類法,此分類法由ACM(Association for Computing Machinery)提出,由一 個專門組成的分類維護委員會(Classification Update Committee)進行修改與維 護。此分類以一個四層的樹狀架構為主,第一層以英文字母編碼,第二、三層則 以數字編碼,第四層由於經常更動,故不予編碼。此分類法在1982 年提出,在 1982、1983、1987、1991、1998 都有修改。由於各領域學門發展不一,在 1998 年此委員會原本要重新修改整個分類架構,但由於此分類法已行之有年,大幅修 改將造成嚴重影響,因此仍只是在第三、第四層進行修改。其分類範例如圖 4 - 6:

圖 4 - 6 ACM 分類系統範例

由上述可知,目前主要的分類方法中,圖書館的分類法因為歷史悠久,學科 的分類跟現今的知識已有一定差距,至於 ACM 及 ODP 的分類法都大約只有四 層的架構,由於軟體知識各項學門的探討都愈來愈深,四層的分類已不足以使 用。需要建立一個更具深度及彈性的分類架構,以符合軟體知識分類的需求。

除了上述分類法外,生物種類的分類也是採用樹狀結構,且從十七世紀Carl Linnaeus 發明仍沿用至今,成為生物分類的標準。此分類系統是採七層架構,從 上往下依序是界(Kingdom)、門(Phylum)、綱(Class)、目(Order)、科(Family)、 屬(Genes)、種(Species),雖然生物種類繁多,但這樣的層級概念已足以對所 有的生物分類。

由上述可知,常用的分類方法都不超過七層架構,心理學家 George Miller 於1956 年提出人的暫時記憶數量是七加減二,層級架構太少固然會造成分類不 夠詳細,但若層級太多則會造成使用者難以從中找尋合適的分類。因此,我們提 出以七層架構為基礎的分類系統,搭配分類的相等及關聯性,並使此架構具重整 彈性,以符合軟體知識之需求。

杜威十進分類法的四層架構由上而下依序是Main class、Division、Section、

Subdivision,而美國國會圖書分類法的四層架構由上而下則是 Main class、

Subclass、Division、Subdivision,參考這兩個著名的分類系統,定義我們的七層 分類架構如圖 4 - 7:

Main class

Subclass

Division

Subdivision

Section

Subsection

Segment

圖 4 - 7 七層分類架構示意圖

此七層架構提高了目前常用分類法的深度,讓軟體知識能夠依其討論內容恰 當地分類,而七層架構又不致於太過繁雜造成使用者困擾,例如近年來發展快速 的Internet 就可以依此架構分類如圖 4 - 8:

Main class

Internet

圖 4 - 8 七層架構分類範例

Subclass Subclass Subclass

Telephony

Programming Security

Division Division Division

Browser

Scripting Language Development Tool

Subdivision Subdivision Subdivision Componentware

ASP PHP JSP

Section Section Section Section Perl

Database Chart Web Services

Subsection Subsection Subsection Subsection Automation