在一個資訊快速爆炸的時代,如何利用網路快速找到所需資訊,進而提升組織或個人競爭力,是個非常重要的議題,而搜尋引擎正是我們的重要助手。本文除介紹現今傳統以關鍵詞為主的文字檢索搜尋引擎,還將介紹目前正在研究開發中的知識檢索,與多媒體檢索未來搜尋引擎。
早期的目錄型搜尋引擎依靠人工預先分類資料,雖較準確,但較耗費人力無法處理巨量資料,也無法即時動態更新與全文檢索。目前文字檢索的「全文檢索」或「後設元搜尋引擎」則依靠電腦自動搜建索引。所謂的「全文檢索」搜尋引擎,系統可獨立搜建索引並提供使用者查詢全文內的相關資訊;而「後設元搜尋引擎」則是後端整合多個搜尋引擎,提供使用者更多資訊的統一查詢介面;特點是查全率 (Recall) 較高,查準率 (Precision) 較低,搜索範圍較廣,提供的訊息多而全;但缺乏清晰層次結構,查詢結果中重覆部分較多。
傳統文字檢索搜尋引擎
先介紹傳統以關鍵詞為查詢比對基礎的搜尋引擎系統中,不同模組的概念。下圖是文字檢索搜尋引擎內主要模組圖示。
1. 文件擷取模組
通常稱搜尋引擎中的資料擷取模組為網路蜘蛛或爬蟲 (Spider or Crawler),其功用是配合不同資安存取權限與協定,以一系列最佳化擷取策略規則,自動在網路中搜集取回各種所需類型的資料文件。
2. 文件解析模組
該模組主要目的是為了方便後續建立適切索引,以提供符合需求的查詢結果,而先對擷取到文件檔案類型進行辨識轉譯,再對文件內容進行解析過濾組織等處理。一般文件內容解析處理包括:段落、句、字詞幹的分割提取,非字詞幹的過濾,再經語法解析或比對語料庫或統計分析,建立關鍵詞表。接者文件分類或群並標註訊息,解析各文件結構,萃取生成單一或多文件的摘要。
3. 索引建立模組
該模組主要功能是分析處理非結構化或結構化文件內容,從原始文件抽取能代表所需文件的簡捷辨識單詞或句的索引項與索引表,以方便使用者在大量文件中找到所需對應文件。文件索引結構常組織成依照索引項排列之較佳資料結構格式鏈接表存放,便於後續查詢時快速載入以進行檢索詞匹配比對計算,找到查詢結果所在的鏈接表。目前較主流的索引鏈接技術有:「倒排索引技術」、「後接資料樹」、「簽名文件技術」,最常用的是能快速查詢的「倒排索引技術」。
4. 排序處理模組
此模組功能是經過較佳排序策略,以方便使用者較先看到想找的資料。系統一般會給每個索引項賦予權重值,使用者輸入查詢條件時,系統會分割查詢語句成獨立詞後查詢關鍵詞表,找出相似相關關鍵詞,再找出索引表中對應索引項, 經排序後列示結果。目前主要的排序算法有由搜尋引擎系統主動依據使用者行為模式計算的 Page Rank 算法;及經由使用者主動依據查詢結果的相似相關程度回饋給系統,讓系統重新學習調整排序的 RelevanceFeedback 算法等。
5. 查詢介面模組
使用者查詢介面,是提供使用者輸入查詢項目,並顯示查詢結果。可再分為:簡單查詢介面、進階複雜查詢介面,以配合使用者特定的複合查詢需求。
常用到的檢索模型又分布林邏輯模型、向量空間模型、代數模型、相關機率模型、模糊邏輯模型、混合模型。而不同檢索模型之相似相關程度算法也會不同,考慮因素很多。索引查詢的設計需求,主要有 3 個:查詢結果和相似相關匹配程度、查詢結果能否符合相似相關程度或查詢需求排序、能否適切萃取文件索引與摘要方便找到檔案內容。
其中相似相關程度與索引排序的計算是搜尋引擎的核心技術, 最近還提供使用者依據其較特殊常用需求,動態調整成能符合個別需求的個性化查詢介面,或是提供跨多語言機器翻譯查詢介面。
知識檢索搜尋引擎
知識檢索需先利用演繹或歸納的知識萃取模組建立知識庫,查詢時先分析轉換查詢條件詞句成知識表達樣型,再查詢知識庫中知識結構並配合關鍵詞索引表進行相似相關程度比對計算,以取得所需知識。下圖是知識檢索搜尋引擎主要模組圖示。
(作/工業技術研究院資訊技術服務中心 李仲平)
(…未完,更多精采內容請參閱網路資訊雜誌 220 期 3 月號)
