根據 Baeza-Yates 等人[38]所述,資訊檢索是:「關於資訊項目 (Information Item) 的 表 示 (Representation) 、 儲 存 (Storage) 、 組 織 (Organization)與存取(Access),而資訊項目的表示與組織需能夠讓使 用者根據其資訊需求(Information Need)進行簡易存取」。狹義的資訊 檢索可以定義為[39]:「從大量未結構化的文件集合中(通常儲存在電 腦),取出符合資訊需求的文件資料」。而資訊檢索的演進[40],可說 自 1940 年代 Bush 所發表的開創性文章“As We May Think"後,便 產生自動存取大量儲存知識的想法,接下來如利用電腦尋找文字、使 用單字作為文件的索引與檢索系統評估工具 SMART (System for the Mechanical Analysis and Retrieval of Text) 的開發等研究,持續為資訊 檢索領域注入顯著的發展;而 1990 年代由美國政府相關機構所贊助 支持研究大量文件集合的 TREC(Text REtrieval Conference),則發展 出了許多資訊檢索領域的分支,包含如口語資料的檢索、非英語系語 言的檢索、資訊過濾,以及使用者與檢索系統間之互動等。現在資訊 世界不可或缺的網頁搜尋功能,便是由資訊檢索的演算法所達成。
2.3.1 資訊檢索系統
從資訊檢索的定義可延伸而知,資訊檢索系統是:「從大量未結 構化的文件中,取出符合使用者資訊需求之文件的系統」,但如何讓 電腦系統知道「使用者資訊需求」?以搜尋引擎的搜尋為例,若一個 使用者的資訊需求為:「找出所有資訊檢索的研究資料,這些資料中 需包含資訊檢索的定義,且必須是台灣研究者所發表的文章」,以現 在搜尋引擎的技術而言仍無法直接按照使用者語句取得資料,必須將 該使用者的資訊需求轉化為搜尋引擎查詢語句,此查詢語句一般稱為
中找出相關資料。資訊檢索系統的目標就是將使用者有需要或有相關 的資料取出,其運作可簡略描述如圖 11 所示[41],其中系統的輸入是 使用者檢索(Queries)與文件(Documents),經檢索處理後的輸出為相關 的文件,並回饋給使用者。
圖 11 資訊檢索系統 資料來源:Van Rijsbergen[41]
至於如何從未結構化的文件集合中取出符合資訊需求的文件資 料?常用的方式就是用一組關鍵字來代表文件集合中的某份文件 [41],再透過辨識文件的關鍵字來快速確認此份文件是否符合資訊需 求。一般對於未結構化文件的關鍵字處理如圖 12 所示[38],文件經 過斷詞切字、去除停用字(Stopwords)、去除名詞組(Noun Groups)、
詞幹處理(Stemming)與索引(Indexing)等文件處理步驟後,即可取得代 表此文件的關鍵字。
大部分資訊檢索系統的建置都是使用轉置檔(Inverted Files)的資 料結構,轉置檔中存放的為關鍵字在於哪些文件中,並且包含其他相 關的資訊[40]。文件處理中的索引步驟,就是在產生、建立與儲存文 件特徵,而索引也就是對關鍵字進行處理,故經索引處理後產生的轉 置檔稱為轉置索引(Inverted Index)[40]。使用轉置索引方式的優點是 比較容易建置,且檢索效能好;而缺點是有額外儲存空間的負擔,且 更新或重組索引的成本高[42]。
圖 12 文件轉化出關鍵字的邏輯檢視圖 資料來源:Baeza-Yates [38]
以本研究而言,事件診斷步驟中的新事件訊息可視為資訊需求,
需從已發生的歷史事件訊息資料中做檢索,取出符合所需的歷史事件 資訊。本研究環境中會遭遇事件含有中文字的情況,中文字無空白符 號作為斷詞切字的依據,如將每個中文字單字作為關鍵字,會出現較 多無相關但卻有相似字的狀況,若只以標點符號做為斷詞切字的依 據,關鍵字詞則會包含過多中文單字,比對時容易遺失可能的相似資 料,故若採用 N-gram 斷詞切字方法則可改善上述狀況[43]。在 N-gram 中,將相鄰的任意兩個字組合起來成為一個詞稱為 Bigram,任意三 個字的組合稱為 Trigram,依此類推,任意 N 個字的組合便為 N-gram。
2.3.2 向量空間模型(Vector Space Model, VSM)
早期的資訊檢索系統是使用布林模式(Boolean Model)作為檢索 模式,布林模式是一種以布林代數與集合理論為基礎的簡易檢索模 式,其主要概念,即考慮檢索關鍵字是否存在於文件中。此模式允許 使用者利用 AND、OR 與 NOT 等布林運算元建構出想要查詢語句,
使用者感覺較能控制整個檢索處理,但不足的地方是[40],(1) 無法
對取得文件做相關性排序,(2) 一般使用者不容易組合出適合的查詢 語句。
向量空間模型是解決布林模式不足之處的一個替代方案[44],在 此資訊檢索模型中[45],若文件空間中包含文件Di,則有一個以上的 關鍵字Tj來代表此文件Di,這些關鍵字會根據其重要性被指定權重 (Weight)等級,再轉化為向量表示。如圖 13,為三維的文件向量空間 表示法,每一個文件都有三個不同的關鍵字代表。若將圖 13 擴展為t 維 度 ( t 個 不 同 的 關 鍵 字 ) , 每 個 文 件 Di 的 表 示 方 式 為 Di=(di1,di2,...,dit),其中dij表示第 j個關鍵字在Di的權重。若將使用者 的查詢語句也做文件向量處理,兩向量之間的夾角角度,則代表兩向 量之間的相異性,夾角愈小代表兩向量愈相似,一般會用此夾角的餘 弦(Cosine)作為量化相似度的依據[40],因餘弦數值介於 1.0 到 0.0,
而兩向量餘弦值為 1.0 代表兩向量完全相似,反之餘弦值為 0.0 代表 兩向量完全不相似,故便可依此進行查詢語句與文件空間中各文件的 相似度(Similarity)比對。
圖 13 文件空間向量表示方式 資料來源:Salton [45]
2.3.3 相似度(Similarity) 一般用來作為資訊檢索的相似度衡量的 Cosine coefficient、Dice coefficient、與 Jaccard coefficient 等[41],皆有考量到關鍵字詞總數的 部份,基本概念是利用文件之間共同擁有的關鍵字個數來計算相似度 [46],相似度的計算數值稱為係數(Coefficient),範圍為 0.0 到 1.0 之 間,1.0 的值代表完全相似的狀況,二元向量(Binary Vectors)相似度公 式如下所示。
Jaccard coefficient
|
相似度計算公式中[46] [47],Dice 係數及 Jaccard 係數比較偏集 合的交集與聯集觀點,兩向量關鍵字詞交集數愈多,其相似度愈高,
若是相同交集數之下,Dice 係數則比 Jaccard 係數有更高相似度值。
在 ITIL 事件管理模組流程中,事件診斷步驟是由服務台人員取 得新事件相關資訊後,查找歷史相類似問題與解決方案,再經由所取 得的解決方案來進行事件的處理與 IT 服務回復動作。本研究中將使 用資訊檢索觀念,協助將事件管理診斷步驟自動化,新事件資訊將作 為查詢文件,歷史事件知識資料庫作為比對檢出的文件集合,然後經 文件邏輯處理步驟,進行去除符號字元與停用字的處理步驟,並建置 新事件與歷史事件知識資料庫中的轉置索引,最後經由相似度計算公 式,計算新事件與歷史知識事件的相似程度。本研究將會把事件檢索 用於協助事件診斷,依相似度由高至低排序後取得的前三筆歷史事件 資料,採用 Jaccard 相似度計算方式,從資料庫中找出相類似事件,
呈現於前端 Web 介面供服務台於發現事件時,同時可取得事件解決 方案。
三、 系統架構與設計
本章將闡述本論文所設計之自動化 ITIL 事件管理系統的架構與 運作模式。第一節介紹整體系統架構與設計,第二節說明事件偵測的 設計,第三節說明組態管理的設計,第四節敘述事件關聯的設計,第 五節介紹本系統的事件資訊檢索設計。