第五章 查詢結果摘要方法
5.2 產生查詢主體字詞之面向
5.2.1 產生候選查詢主體字詞之面向
為了產生與查詢主體字詞有關的其他面向字詞,必須先蒐集和查詢主體字詞 相關的文件,再從中挑選面向字詞。因此,本系統以查詢主體字詞𝑡𝑞作為查詢詞 至 Google 搜尋引擎搜尋,並將查詢結果所回傳的每一則文字敘述片段(snippet)視 為一篇文件。我們認為排序結果較前面的文字敘述片段與查詢主體字詞較相關,
因此取查詢結果中排序前 k 筆文字敘述片段作為與查詢主體字詞相關的文件集,
並以𝐷𝑡表示,則𝐷𝑡 = {𝑑𝑡1, 𝑑𝑡2,…, 𝑑𝑡𝑘}。
接著針對查詢主體字詞相關的文件集𝐷𝑡中每一篇文章𝑑𝑡,擷取候選查詢主體 面向字詞。由於對𝑑𝑡取出所有 unigram,會列出過多的候選查詢主體面向字詞,
導致挑選面向字詞時計算字詞重要性的時間過長。因此,我們只挑選在查詢主體 相關文件中較為重要的字詞,當作候選查詢主體面向字詞。我們認為根據具名實 體識別,及複合名詞樣式規則擷取出的字詞較為重要。例如當查詢主體字詞為
“Lord of the Rings”,並假設取得查詢結果中排序前 20 筆文字敘述片段作為與查 詢主體字詞相關的文件集,以 unigram 的方式列出的候選查詢主體面向字詞個
41
數,以及只挑選具名實體識別及複合名詞樣式規則擷取出的字詞,所列出的候選 查詢主體面向字詞個數統計如表 10 所示。
表 10 不同方法產生之候選查詢主體面向字詞個數
方法 unigram 只挑選重要字詞
候選查詢主體
面向字詞個數 1434 128
5.2.2 挑選查詢主體字詞之面向
為了從產生的候選查詢主體面向字詞中挑選前 x 個具有代表性的面向字詞,
必須計算每個候選查詢主體面向字詞對於查詢主體字詞的重要性。在此我們採用 傳統的方法以 TF-IDF 對每個候選查詢主體面向字詞進行評估,TF-IDF 實際上 是:TF * IDF,TF 代表詞頻(Term Frequency),IDF 代表逆向文件頻率(Inverse Document Frequency),基本概念為一個字詞在一篇文章中出現的頻率越高,且在 整個文件集合中出現的文章數越少,則此字詞在此篇文章中的代表性越高。而在 本論文中計算候選查詢主體面向字詞𝑜𝑓𝑡𝑖的詞頻時,字詞𝑜𝑓𝑡𝑖有可能在多篇文件 中出現,因此我們將綜合考慮所有文件中出現字詞𝑜𝑓𝑡𝑖的詞頻,計算方式如公式 十二所示,而逆向文件頻率的計算方式如公式十三所示。
𝑆𝑇𝐹(𝑜𝑓𝑡𝑖) =
∑ 𝑐(𝑜𝑓𝑡
𝑖,𝑑
𝑡)
|𝑑
𝑡|
𝑑
𝑡∈𝐷
𝑡 (公式十二)𝐼𝐷𝐹(𝑜𝑓𝑡𝑖) = log
|𝐷
𝑡|
|{ 𝑑
𝑡| 𝑑
𝑡∈𝐷
𝑡𝑜𝑓𝑡
𝑖∈ 𝑑
𝑡}|
(公式十三)當每個候選查詢主體面向字詞以𝑆𝑇𝐹(𝑜𝑓𝑡𝑖) ∗ 𝐼𝐷𝐹(𝑜𝑓𝑡𝑖)的方式計算其重要性 程度後,依其分數的大小排序。如圖 14 所示為查詢主體字詞“Lord of the Rings”,
假設取得查詢結果中排序前 20 筆 snippets 作為與查詢主體字詞相關的文件集,產 生的候選查詢主體面向字詞依 STF-IDF 分數計算後排序的結果。
圖 14 候選查詢主體面向字詞依重要性分數排序結果
對於候選查詢主體面向字詞,若依照 STF-IDF 分數高低直接挑選面向字詞,
則很有可能挑出多個面向相似的面向字詞。因此,本論文除了考慮面向字詞重要 性程度之外,亦考慮面向字詞多樣性。為了避免挑選面向相似的面向字詞,在此 我們採用階層式分群法(hierarchical clustering)將候選查詢主體面向字詞依共同 出現的相似性進行分群。階層式分群法是透過一種階層架構的方式,將資料層層 反覆地進行聚合,以產生最後的樹狀結構,以下將講解階層式分群法的步驟[13]。
步驟一: 將每一個候選查詢主體面向字詞視為一個群聚(cluster),假設現在 有 n 個候選查詢主體面向字詞,則將這 n 個字詞視為 n 個群聚𝐶𝑖,
43
i = 1 to n,亦即每個群聚包含一個字詞。
步驟二: 找出所有群聚間,面向字詞共同出現最相似的兩個群聚 𝐶𝑖及𝐶𝑗。
步驟三: 若面向字詞最相似的兩個群聚𝐶𝑖及𝐶𝑗之相似程度大於門檻值,則合 併𝐶𝑖、𝐶𝑗 成為一個新的群聚。
步驟四: 反覆重複步驟二及三,直到面向字詞最相似的兩個群聚𝐶𝑖及𝐶𝑗相似 程度小於門檻值。
在 步 驟 二 中 , 兩 個 群 聚𝐶𝑖及𝐶𝑗間 的 相 似 性 是 採 用 平 均 連 結 聚 合 演 算 法
(average-linkage agglomerative algorithm)進行計算,群聚間的相似程度值定義 為不同群聚間兩兩字詞相似程度的平均值,計算方式如公式十四所示,而兩兩字 詞的共同出現相似程度計算方式如公式十五所示。
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝐶𝑖, 𝐶𝑗) =
∑ 𝑠𝑖𝑚𝑢𝑙𝑎𝑟𝑖𝑡𝑦(𝑎 ,𝑏)
|𝐶
𝑖||𝐶
𝑗|
𝑎∈𝐶
𝑖,𝑏∈𝐶
𝑗 (公式十四)𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑜𝑓𝑡𝑖, 𝑜𝑓𝑡𝑗) =
𝑝(𝑜𝑓𝑡
𝑖∩ 𝑜𝑓𝑡
𝑗)
𝑝(𝑜𝑓𝑡
𝑖∪ 𝑜𝑓𝑡
𝑗)
(公式十五)透過上述階層式分群法,將候選查詢主體面向字詞進行分群後,在挑選查詢 主體面向字詞時,首先依照 STF-IDF 分數高低進行挑選,並檢查該字詞所屬之分 群,若字詞所在群組已被挑選過,則不挑選此字詞,繼續往下挑選,直到挑選到 給定所需挑選的面向數量為止。
【範例 5-1】挑選查詢主體面向字詞之範例
假設問題句的查詢主體字詞為“Lord of the Rings”,問題句的查詢面向字詞為
“wrote novel”,產生的候選查詢主體面向字詞以 STF-IDF 的方式計算其重要性程 度後並依其分數的大小排序,如圖 14 所示。而候選查詢主體面向字詞及問題句 的查詢面向字詞依階層式分群法進行分群,分群結果如圖 15 所示。當我們要挑 選 3 個查詢主體面向字詞時,若依照 STF-IDF 分數的高低進行挑選,可以得到
“fantasy novel”、“directed”及“story”。然而“story”和“fantasy novel”分在同一群,表 示表這兩個字詞面向意義相似,因此我們會依照 STF-IDF 所計算的分數往下挑 選。而下一個“author”和問題句的查詢面向字詞被分在同一群,因此再繼續往下挑 選直到取得 3 個與問題句查詢面向字詞面向不同,且所屬群皆不同的查詢主體面 向字 詞。最後 取到其他 的查詢 主 體面向字詞為“fantasy novel”、“directed”及
“actors”。
圖 15 階層式分群法分群結果
45