曾元顯
輔仁大學圖書資訊學系副教授
Yuen-Hsien Tseng
Associate Professor
Department of Library and Information Science
Fu Jen Catholic University
Email: tseng@blue.lins.fju.edu.tw
中國圖書館學會會訊 105 期
http://blue.lins.fju.edu.tw/~tseng/papers/sams.htm
Jun. 1, 1997
Accessed times
全球資訊網路(World Wide Web, 簡稱 WWW 或 Web)由於具備一致性的使用介面、多媒體的展現能力、超連結(hyperlink)的文件關連機制、互動式的彈性設計、以及免費軟體的支援,在短短的幾年內,便風行各地。從研究機構、行政單位、各級學校、到商業機構紛紛架起 Web 網站,將自己單位的簡介、研究報告、教育資料、服務說明、產品型錄等對外公開的文件放置在網站上,供使用者瀏覽取閱。然而,資料不斷成長,網站中累積越來越多的文件,使用者瀏覽取閱文件變得越來越困難。使用者常遇見的困難有下列幾種類型:
一、使用者確知某份文件的存在與放置處,但資料的成長與重新整理改變了文件放置的位置,造成使用者瀏覽不到原先已知的文件;
二、使用者不確定網站中某份文件的位置,過多的階層式分類標示、或不當的超連結使用,造成使用者無法迅速找到相關資料;
三、使用者不知道網站中是否有自己要找的相關資料,一一瀏覽費時耗力。
原先為方便使用者瀏覽取閱的美意,在文件資料累積越來越多後大打折扣。網路上的檢索引擎(search engine)如 Alta Vista [1]、Gais [2] 等雖可供使用者檢索網路上的文件,然而,鮮有檢索引擎提供針對單一網站的檢索功能。況且檢索引擎掃瞄某一網站有其時間間格(如 Gais 大約每個月掃瞄台灣的網站一次 [3]),無法反應某一網站立即的資料更新或變動。因此,除了以瀏覽的方式提供使用者取閱資料外,在自己的網站中提供文件檢索的功能,也是重要而且無可替代的資訊服務。
目前網路上有免費合法的檢索引擎供非營利性的使用,如中正大學的 Gais、中央研究院的Csmart [4] 等。這些系統不僅具備檢索中文的能力,更具備較為先進的 fuzzy search 功能,亦即具備容許錯誤或模糊概念的檢索能力,譬如允許「中小學教師的資訊素養」、「史蒂芬史匹伯電影」、等檢索字串裡包含冗字、錯字、非控制字彙,甚至記錄本身誤植等情形。
由於資訊檢索服務在網路時代變得更為重要,為教學起見,有必要讓更多的學生瞭解先進的檢索系統運作的原理,以發揮這些檢索系統的特色與功能。為此,我們不僅嘗試安裝了
Gais、Csmart等檢索引擎,也自己開發了一套具備
fuzzy search 功能的 Web 網站檢索系統,暫名為SAMS,以進一步瞭解不同系統之間的差異與特色。下一節將介紹查詢模式的進展,其後簡介SAMS
系統的功能架構,讓讀者可以瞭解我們發展此系統的目標與目前進展的地步。之後介紹此系統的安裝與維護步驟,讓使用者可以有效的使用與維護此系統。文末是我們的結語。
傳統的資訊檢索模式通常採用布林邏輯模式,布林邏輯模式在實作上較為簡單,也可對不同欄位的資料或相同欄位的多個關鍵詞做布林邏輯運算,以縮小檢索範圍。然而其最大的缺點在於檢索結果雖然都是符合條件的文件或記錄,卻無法區別出個別文件對此次檢索的重要程度 [5]。此外,目前網路通達的程度與普及速度,讓一般使用者皆可從家裡、辦公室、或任何方便的地方連線上網查詢資料,使用者如果沒有受過相當的訓練,或具備足夠的經驗,很難利用布林邏輯的方式,擬出比較有效的檢索策略,進行資料的檢索。這與過去使用者必須到圖書館查資料,而圖書館裡有館員協助的情形大不相同。所以檢索技術的發展方向是逐漸把使用者端的檢索複雜度,推向到檢索主機這一端,或是設計更便利的人機介面模式,讓使用者的檢索環境越來越簡單,但還維持一定、甚至更好的檢索效率。
資訊檢索技術雖已發展一段時日,拜網路技術的發展與計算機功能的不斷提昇,近幾年仍持續的進展,尤其在使用者端的介面方面,有各種查詢模式被提出來,茲列舉重要者如下:
一、Boolean model (布林邏輯查詢):此模式製作上較為簡單、檢索速度快、可以用不同欄位資料來限定檢索範圍,對主題明確的檢索(如明確的作者名稱、標題名稱)非常有效,然一般使用者比較難以利用此種模式表達較為複雜的查詢。
二、Ranking (重要性排序):檢索結果按符合程度排序,以加快檢索結果的檢視整理與利用,此為布林邏輯模式難以達到的重要功能。
三、Fuzzy search : 即容錯式、全文式、非控制字彙、允許利用近似自然語言的方式表達檢索字串與條件的檢索模式。此種模式大大降低資訊檢索的複雜度,對不明確自己檢索主題的使用者幫助尤其顯著。
四、Relevance feedback (相關回饋):使用者根據系統對檢索條件的回應,將相關資料或條件回饋給系統,以導引系統搜尋的方向,來逐漸逼近自己所要的資料。例如,使用者可以根據系統的初步回應,指出哪些文件或相關詞跟他的檢索主題相關,而哪些又是完全不相關,將此訊息回饋給系統,系統根據此種訊息,再作進一步的搜尋。因此,相關回饋表現出來的常成為漸進式查詢(progressive query)或範例查詢(query by example)的模式。
五、Personalized service (個人化服務):檢索系統記錄個別使用者的資訊需求,或是把相同需求的使用者的記錄組合運用,讓使用者彼此的需求和興趣交互推薦,使得使用者查詢時,系統提供較符合個人興趣的回應,做到個別化的服務。
六、Information filtering (資訊過濾):此種模式與使用者主動查詢資料而系統被動反應相反。使用者向系統登錄自己的資訊需求、興趣或檢索條件後,由系統主動、持續的為使用者蒐集相關的資料,再定時或不定時傳給使用者,使用者只需被動接受檢索與過濾後的結果即可。因此,在一段期間內,使用者只需做一次檢索,即可獲得持續的檢索結果。
七、Query by voice (語音檢索):由文字介面轉變為較為自然的口語語音介面,減低文字打字輸入的困難度,可以配合其他檢索模式運用。
八、Query by dialog (對話式查詢):系統以文字或語音為介面同使用者對話,從對話中透露使用者的資訊需求與意圖,系統再據以檢索。此種模式強調的是使用者端運用較為精緻的人機介面技術,因此與檢索引擎的實際運作原理可以較無關係。
九、Query by natural language (自然語言檢索):對話式查詢仍由系統主導話題與使用的語句,自然語言檢索則允許使用者以不限定的自然詞語、句法與系統溝通,因此使用者的負擔更輕,但系統的介面部份必須具備相當程度的人工智慧能力,以瞭解自然語言的意義。
十、Intelligent search agent (智慧型檢索精靈):使用者將自己的資訊需求交代檢索精靈程式,由此精靈代替使用者到各個相關資料庫檢索資料,再回報回使用者。此種模式是以上各種模式與人機介面技術的綜合運用,使得資訊檢索可以達到時空無礙、虛擬實境的境界。
雖然「智慧型檢索精靈」在電影中已經展示過了,電影中提示到的個別科技目前也有相當的進展,但如自然語言處理等技術,距想像中實際可用並且大量普及的階段仍有距離,目前的進展僅能在某些領域內才能發揮作用
[6]。無論如何,可以肯定的是資訊檢索技術乃逐漸往降低使用者負擔的方向實現。
如前所述,為便於管理網站上的資料與配合教學起見,我們自行發展了一套檢索系統。此檢索系統暫名為 SAMS(Search Agent for My Site 的字頭語),目前在輔仁大學圖書資訊系的 WWW 網站上以「檢索本站」的功能提供服務 [7]。使用者可用關鍵字做精確的比對查詢(exact match),或以自由詞彙做 fuzzy search。檢索結果,不論以精確比對或 fuzzy search 方式檢索,均會依照比對程度排序,內文詞句跟檢索字串比對結果越相近的文件,其排列就越前面。
檢索結果的排序,以精確比對來講,若使用者輸入「圖書館 利用教育」兩個關鍵詞(關鍵詞之間以空白或換行斷開),那麼內文中含「圖書館」與「利用教育」的文件會排列在前面,而內文中僅含「圖書館」或「利用教育」的文件則排列在後面。換言之,關鍵詞之間以 AND 連結的檢索條件會優先列於檢索結果之中,而關鍵詞之間以 OR 連結的檢索條件會列在後面。如此,使用者不需要理會布林邏輯的 AND、OR 運算,檢索結果自動依照此種內定的重要性排列順序。
以 fuzzy search 來講,若使用者輸入「圖書館利用教育」這樣的檢索字串,那麼內文中含「圖書館利用教育」的文件當然會排列在最前面,內文中含「圖書館」與「利用教育」的文件則排列在其後,而內文中含「圖書館的利用與指導」這樣字串的文件,也會接著出現。雖然使用者輸入「圖書館利用教育」時,中間沒有任何空白符號斷開,而且也沒有提到相關詞「指導」,但是透過系統的 fuzzy search 功能,仍能找出內含「圖書館的利用與指導」如此相關的文件,而且在檢索結果中仍能排列在前半段。這當中所運用的主要技巧是將檢索字串做各種組合的分段 [8][9],然後每個分段均以精確比對的技巧與內文做比較,所以此種方式耗費的資源較多,但其整體效果是既簡單又有效。
Fuzzy search 裡的 fuzzy 一詞應該是借用數學中的 fuzzy set 理論中的 fuzzy 一詞。Fuzzy set 理論 [10] 的出現類似機率理論,主要在處理不確定性(uncertainty)的問題,但其涵蓋的不確定性範圍比機率理論描述的還要廣泛[11]。由於 fuzzy search 功能允許使用者隨意輸入任何聯想到的關鍵詞,而且不限定是否合乎文法,雖然系統不一定瞭解其中的語意,但系統仍具有一定的檢索成效,所以暫時將 fuzzy search 翻譯成「近似自然語言檢索」。否則直接翻譯成「模糊檢索」、「乏晰檢索」容易造成誤解,因為一般使用者還不清楚學術領域中 fuzzy (「模糊」或「乏晰」)一詞的意義。
以檢索技術而言,SAMS 運用到的技巧包括:
一、以反向索引檔(inverted index file)的方式建立個別單字的索引。檢索引擎製作索引的方法主要有:「反向索引檔」[12]、「特徵檔」(signature file)[13] 與「隱含語意索引法」(latent semantic indexing)[14],其中「特徵檔」與「隱含語意索引法」的製作較為複雜,尤其如果沒有線性代數的向量空間觀念,恐怕不易明瞭「隱含語意索引法」的意義。因此我們選擇了最傳統簡單的反向索引檔法。
二、將索引檔壓縮,以便快速將索引檔從磁碟機載入主記體,加快檢索的速度。由於中央處理器(CPU)的執行速度比讀取硬碟的速度還要快,雖然會造成 CPU 的解壓縮負擔,此步驟還是能夠節省整體的檢索時間[15]。
三、將檢索字串以多重線性斷詞(multilinear term-phrasing)方式處理。這就是前面所說以各種可能的組合將檢索字串分段的步驟。不過,在此我們僅段出單字詞,雙字詞、與原來的檢索字串三部份。例如,檢索字串:「資訊檢索」會被分段成「資」、「訊」、「檢」、「索」、「資訊」、「訊檢」、「檢索」與「資訊檢索」八個詞。
四、計算文件頻率倒數(inverse document frequecy, IDF),使檢索結果按符合程度排序。IDF 與 TF (term frequency, 詞頻)是計算文件符合程度的重要指標,其中 IDF 關係到精確度(precision rate),而 TF 關係到召回率(recall rate)[12]。由於 TF 指標對文件長度不一的情形誤差較大,所以目前僅採用 IDF 指標來排列文件的符合程度。此權宜措施並不表示召回率降低,而是檢索結果的排序上比較沒有主觀認定上那麼準確。在我們觀察中,相關的文件會被找到並顯示出來,但顯示的位置在主觀上的認定上僅是前後幾個名次的對調而已。
五、儲存檢索記錄供後續分析,並將檢索結果以分頁的方式傳送,以節省傳輸等待時間,便利使用者瀏覽檢索結果。此步驟必須用到的技巧是透過WWW
介面記錄使用者狀態,並在一段時間後自動刪除此種記錄,以免系統的檔案記載負荷過重。
此外,除了對中文字做如上的處理外,我們對英文字也做類似的處理,尤其我們從網路上獲得英文停用字表 [16],將之運用在建立反向索引檔上以減少索引空間,使系統具備中英文檢索能力。
如同前述,為教學起見,我們的索引檔為純文字檔,而且除了英文停用字外,中、英文單字均是逐字索引,所以索引檔可以用一般文字編輯(瀏覽)器即可檢視,讓學習者清楚索引檔的結構,以及瞭解每個字出現在文件中的頻率。這是一項有趣的觀察,學習者可以瞭解中英文中,個別單字在文件中的分佈情形。雖然索引檔為逐字索引且以一般文字檔儲存,但是索引檔所佔的空間,卻相當節省。以輔大圖書資訊系的網站為例,截至6月6日為止(1997年),共有
HTML 文件
2796 篇,總共
16.8 Mega Bytes,編制索引後,其索引檔為原來文件總量的
20%,再經壓縮處理後,則約僅剩
6%,遠比預期得小。
軟體系統的安裝與維護常常造成系統管理人員的困擾與負擔,為減輕此種負荷,我們設計了輔助一些措施,讓安裝的動作變得更為簡易,並使系統自動進行維護的工作。
目前 SAMS 系統放置在輔仁大學圖書資訊系的 anonymous FTP 站下:
ftp://ftp.lins.fju.edu.tw/pub/tseng/SAMS/sams.tar.gz
讀者取回檔案解壓縮後,可以利用系統所附的安裝程式,以瀏覽器為介面,完成安裝的動作。其安裝的步驟主要有兩項:
一、自上述 FTP 站取得壓縮檔後,將此檔案放置在自己的 Web 站台下。解壓縮後,會自動產生一個名為 SAMS 的子目錄,此目錄內包含系統所有的檔案。
二、透過瀏覽器叫出自己 Web 站台內 SAMS 目錄下的 install.htm 檔案,按照其中的說明做必要的設定,並填入資料,最後以滑鼠點選「確定」鍵即可。
系統一旦安裝完成後,就不必後續的維護動作,系統每天會對網站內的 HTML 文件自動做索引,使新加入的文件能在第二天被檢索到。
目前SAMS系統是在 Linux (Unix) 作業系統下以 Perl 語言發展而成。限於人力與設備,我們還未對 Unix 以外的作業系統撰寫安裝程式,不過讀者仍然能夠透過底下對系統檔案的描述,自行安裝到 Windows NT 、 OS/2 、 MAC OS 等其他作業系統上去。
SAMS 系統包含四種型態的檔案:「使用說明檔」、「使用者介面檔」、「系統程式檔」、以及「系統操作檔」,詳細檔案列於表一。「使用說明檔」與「使用者介面檔」均為
HTML 檔案,目的是讓讀者透過瀏覽器即可閱讀說明並使用本系統。「系統程式檔」則包含系統的執行程式,各程式所需要的參數均列於程式開頭,進行系統安裝時這些參數會由安裝程式自動設定,而如讀者是自己手動安裝,則可利用一般的文字編輯器,按照註解說明加以修改。至於「系統操作檔」,則是編制索引以及進行檢索時所需要的輸入檔或是產生的輸出檔。讀者如果是手動安裝,則必須造個
tmp_dir 子目錄,並修改各個系統檔案的存取與執行權限,以確保系統能正常運作。
| 讀我檔案,目的、架構、使用、安裝、維護等系統說明文件 | |
| 版權聲明檔,說明使用對象、條件、範圍 | |
| 系統安裝介面檔,使用者可透過 WWW 介面安裝系統 | |
| 使用者查詢介面檔,使用者透過 WWW 介面檢索網站 | |
| 系統安裝程式,與 install.htm 搭配使用以安裝本系統 | |
| 檢索引擎主程式,接受檢索字串、執行查詢、並顯示前十筆資料 | |
| 檢索結果以每十筆一頁的方式顯示,此為顯示下一頁結果的程式 | |
| 索引編制程式;此程式需要「系統操作檔」的配合 | |
| 暫存檔刪除程式;檢索結果會暫存起來,以便利後續的瀏覽檢視 | |
| 自動執行檔,讓系統每隔一段時間執行索引與刪除暫存檔的動作 | |
| 英文停用字表,編制索引時用以過濾不需要索引的英文字 | |
| 中、英文標點符號表,編制索引時用以過濾不需要的標點符號 | |
| 編制索引產生的索引檔,純文字格式,可用一般編輯器檢視 | |
| 索引檔的壓縮檔,search.pl 讀取此檔、解壓縮後,才執行檢索 | |
| 文件代號與檔案對照表,執行 indexing.pl 後產生 | |
| 檢索日誌,記錄使用者查詢條件、時間等,由 search.pl 產生 | |
| 檢索結果暫存目錄,所有檢索結果暫存檔案均放置此目錄下 |
隨著網路上文件累積越來越多,網路上的檢索服務也會越來越多樣化。目前網路上的分類目錄與檢索引擎雖然可以滿足使用者部份的資訊檢索需求,但從網站的維護者角度來看,網路上的分類目錄與檢索引擎幾乎不能反應網站中文件的成長與變化速度。因此,為降低使用者瀏覽取閱文件的困難,以及減輕網站管理者的維護工作,在自己的網站中建立瀏覽功能以外的檢索服務,對提昇資訊服務的成效而言是相當必要的。
網站中快速累積的全文資料,帶給資訊檢索研究更迫切的挑戰。資訊檢索的研究探討各種更有效的使用者查詢模式與伺服器端的檢索技術。拜計算機性能的不斷提昇與網路資源的普及,目前資訊檢索技術已比過進展得更快、更好。為因應此種進展,我們不僅利用網路上的免費合法的軟體,嘗試安裝了不同的檢索引擎。此外,為使更多學習者,深入瞭解檢索引擎的製作技術,以充分發揮檢索系統的功能,並掌握未來資訊檢索的發展,我們也開發了自己的檢索系統。目前此系統已具備中文
fuzzy search 功能,最近我們也已開發出相關詞自動擷取的技術,此技術將可運用到文中提到的「相關回饋」、「個人化服務」、「資訊過濾」等較具智慧型的檢索系統上。
[1] "AltaVista Search: Main Page" http://altavista.digital.com/
[2] "GAISWWW Query Page" http://gais.cc.nccu.edu.tw/www.html
[3] GAIS網路資訊搜尋系統簡介,http://gais.cs.ccu.edu.tw/aboutGAIS.html
[4] Csmart:網路中文資源檢索系統,http://csmart.iis.sinica.edu.tw/
[5] Patrick Hoffman, "Text Information Retrieval on the WEB - with emphasis on search engines, indexing,querying and visualization", http://www.cs.uml.edu/shootout/papers/irsrch.html
[6] Victo Zue, '人機對談介面',中國時報47版節錄,86 年 6 月 10 日。
[7] 'Search This Site in Free Text: 檢索本站', http://www.lins.fju.edu.tw/search.htm
[8] C. Lin and H. Chen, "An Automatic Indexing and Neural Network Approach to Concept Retrieval and Classification of Multilingual (Chinese-English) Documents" http://ai.bpa.arizona.edu/papers/chinese93/chinese93.html, July 5, 1994.
[9] 卜小蝶,"Fuzzy Search 技術在中文 OPAC 的應用",中國圖書館學會會報,第56期,85年6月,頁77─86。
[10] Zadeh, L. A., "Fuzzy Sets," Information and Control, Vol. 8, 1965, pp. 338-353.
[11] Bart Kosko, Neural Networks and Fuzzy Systems: A Dynamic Systems Approach to Machine Intelligence, Prentice-Hall, 1992, Chapter 7.
[12] Gerard Salton, Automatic Text Processing: The Transformation, Analysis, and Retrieval of Information by Computer, Addison-Wesley, 1989, Chapter 9.
[13] Lee-Feng Chien, "Fast and Quasi-Natural Language Search for Gigabytes of Chinese Texts," ACM SIGIR 1995.
[14] Christos Faloutsos and Douglas Oard, "A Survey of Information Retrieval and Filtering Methods," The URL of this paper can be found at http://www.cs.jhu.edu/~weiss/papers.html
[15] Timothy C. Bell, Alistair Moffat, and Ian H. Witten, "Compressing the Digital Library," http://www.csdl.tamu.edu/DL94/paper/bell.html
[16] "Chapter 2: Automatic Text Analysis - Table 2.1"
http://www.dcs.gla.ac.uk/Keith/Chapter.2/Table_2.1.html