• 沒有找到結果。

第五章 查詢結果摘要方法

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