• 沒有找到結果。

兩個專有詞彙關聯句自動擷取之研究

N/A
N/A
Protected

Academic year: 2021

Share "兩個專有詞彙關聯句自動擷取之研究"

Copied!
77
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:柯佳伶. 博士. 兩個專有詞彙關聯句自動擷取之研究 Associated Sentences Retrieval for Two Domain-Specific Terms. 研究生:鍾昇宏 中華民國. 一百零一. 撰 年. 七. 月.

(2) 摘要. 兩個專有詞彙關聯句自動擷取技術之研究 鍾昇宏 本論文之研究目的是針對可信文字資料來源,根據使用者所輸入的兩個專有 詞彙,依照詞彙不同的關係,由資料來源中自動找出關聯句組或是關聯句,幫助 使用者比較兩個專有詞彙概念。我們將詞彙關係分成兩大類:包含關係和非包含 關係。本系統利用網路搜尋引擎分別搜尋兩個查詢詞彙,蒐集包含個別查詢詞彙 的前 K 名網頁摘要,統計兩個查詢詞彙在彼此網頁摘要中出現的機率作為特徵, 依據詞彙關係分類模型進行自動分類。兩個查詢詞彙若被分類為‖包含‖關係,系 統會取出同時包含兩個查詢詞彙之句子作為關聯句集,比對關聯句型規則模型, 並計算與查詢詞彙之語意關聯度,選出關聯分數最高的句子當作關聯句。查詢詞 彙若被分類為 ‖非包含‖ 關係,系統則取出包含任一查詢詞彙的句子作為關聯句 集,從中找出對兩個查詢詞彙有高度關聯的共同概念詞,將句子依照共同概念詞 進行分群,評估句子與共同概念詞以及句子間兩兩配對的語意相關分數,挑選分 數最高的兩個句子形成關聯句組。實驗結果顯示本研究所提出的方法能有效對查 詢字組的關係自動分類;考慮句型和語意關聯度分數找出的關聯句有助於使用者 了解查詢詞彙的關聯性;而利用句組分數篩選出的關聯句組亦大多可以幫助使用 者釐清兩個查詢詞彙在某些概念上相同相異的比較。. 關鍵字:專有詞彙、問題分類、句型樣式、語意關聯度、關聯句、關聯句組.

(3) Abstract Associated Sentences Retrieval for Two Domain-Specific Terms by Sheng-Hong Chung According to different relationships between two domain-specific query terms, this thesis studies the strategies of automatically extracting the associated sentences or sentence pairs of the query terms from a reliable text data source. The goal of this task is to help users comparing two domain-specific query terms from the retrieved results. Two categories for the relationships between query terms are defined in this thesis: contained and not-contained relationships. The system uses a search engine on the web to search the given two query terms for collecting the top-k snippets for each query term. The probability of a query term appearing in the top-k snippets of the other query term is used as features to train a classifier of query pair relationship. If the two query terms have the contained relationship, the sentences containing both terms are retrieved as the candidate sentences. For each candidate sentence, its associated score is evaluated by matching the lexical pattern with the associated sentence rule model and computing the semantic relatedness degree with the query terms. The sentence with the highest associated score is selected as the associated sentence. If the relationship is a not-contained relationship, the common concept terms, which have high semantic relatedness with both query terms, are extracted from the sentences containing one of the two query terms. We use common concept terms to group sentences. Within each group, the representation score of each candidate sentence pair is evaluated by computing its sematic relatedness with the concept terms and the sematic relatedness sematic similarity between the sentence pair. The sentence pair with the highest representation score is selected as an associated sentence pair. The experimental results show that the proposed method can effectively classify the relationships of query terms. Moreover, the retrieved associated sentences are helpful for users to understand the semantic relationship between two query terms. The discovered associated sentence pairs also effectively help users to clarify the similar and dissimilar concept between two query terms. Keywords: domain-specific term, query classification, lexical pattern, relatedness degree, associated sentence, associated sentence pair.

(4) 目錄 表目錄............................................................................................................................. i 圖目錄............................................................................................................................ii 第一章 緒論 ................................................................................................................. 1 1.1 研究動機與目的 ................................................................................................. 1 1.2 研究範圍與限制 ................................................................................................. 2 1.3 論文方法 ............................................................................................................. 4 1.4 論文架構 ............................................................................................................. 6 第二章 文獻探討 ......................................................................................................... 7 2.1 自動問答系統 ..................................................................................................... 7 2.2 字詞間關係分類.................................................................................................. 9 2.3 字詞語意關係探勘 ........................................................................................... 11 2.3.1 字詞間的語意關係探勘............................................................................ 11 2.3.2 高語意關聯字詞探勘................................................................................ 12 2.4 文件內容自動摘要技術.................................................................................... 14 第三章 系統運作流程 ............................................................................................... 15 第四章 電子書資料前處理與索引建立 ................................................................... 18 4.1 句子擷取............................................................................................................ 18 4.2 建立文句索引.................................................................................................... 19 4.3 詞性標記及產生概念詞集................................................................................ 21 4.3.1 詞性標記.................................................................................................... 21 4.3.2 產生概念詞集............................................................................................ 21 第五章 查詢詞彙關係評估 ....................................................................................... 23 5.1 詞彙關係分類定義 ........................................................................................... 23 5.2 分類特徵擷取方法............................................................................................ 24 5.3 詞彙關係分類模型建立方法 ........................................................................... 27 5.3.1 產生訓練字組............................................................................................ 27 5.3.2 建立詞彙關係分類模型............................................................................. 28 5.3.3 線上詞彙關係自動分類............................................................................. 29 第六章 包含關係關聯句挑選 ................................................................................... 30 6.1 擷取句型樣式 ................................................................................................... 30 6.2 關聯句比對規則模型建立................................................................................ 33 6.2.1 訓練句子的蒐集........................................................................................ 33.

(5) 6.2.2 關聯句比對規則模型建立......................................................................... 33 6.3 挑選關聯句 ....................................................................................................... 35 第七章 非包含關係概念關聯句組建立 ................................................................... 37 7.1 找出共同概念詞 ............................................................................................... 37 7.1.1 產生共同候選概念詞集............................................................................ 37 7.1.2 擷取高度相關的共同概念詞..................................................................... 38 7.2 建立關聯句組 ................................................................................................... 41 第八章 實驗結果與討論 ........................................................................................... 43 8.1 實驗資料 ........................................................................................................... 43 8.2 自動分類詞彙關係之正確率 ........................................................................... 44 8.2.1 不同的特徵在分類器上效能的影響........................................................ 45 8.2.2 以貪婪選擇法組合特徵配對在分類器上效果的影響............................ 47 8.3 評估關聯句品質 ............................................................................................... 51 8.4 評估關聯句組效果 ........................................................................................... 55 8.5 跨領域查詢字組的測詴 ................................................................................... 60 第九章 結論與未來討論 ........................................................................................... 64 9.1 結論 ................................................................................................................... 64 9.2 未來研究方向 ................................................................................................... 65 參考文獻...................................................................................................................... 66 附錄 A.......................................................................................................................... 68 包含關係訓練查詢字組.......................................................................................... 68 非包含關係訓練查詢字組...................................................................................... 69.

(6) 表目錄 表 5. 1 SORT ALGORITHM 網頁摘要篇數 ...................................................................... 25 表 5. 2 INSERTION SORT 網頁摘要篇數 ........................................................................ 25 表 6. 1 本研究採用的取代原則 .................................................................................. 31 表 6. 2 取出子序列之結果 .......................................................................................... 32 表 8. 1 FEATURE 對應的算式 ....................................................................................... 45 表 8. 2 使用 FEATURE 2 的 CONFUSION MATRIX .......................................................... 48 表 8. 3 使用 FEATURE 1 & 3 的 CONFUSION MATRIX .................................................... 49 表 8. 4 使用 FEATURE 1 的 CONFUSION MATRIX .......................................................... 50 表 8. 5 REL 方法受詴者標記為最相關句的分布情況 ............................................... 53 表 8. 6 ASSOCIATEDSCORE 方法受詴者標記為最相關句的分布情況 ....................... 54 表 8. 7 METHOD 1 和 METHOD 2 整體平均分數 ........................................................ 57 表 8. 8 METHOD 2 和 P_METHOD 整體平均分數結果 ................................................ 59 表 8. 9 5 組跨領域查詢字組 ....................................................................................... 60 表 8. 10 編號 1 的部分關聯句組 ................................................................................ 60 表 8. 11 編號 2 的部分關聯句組 ................................................................................ 61 表 8. 12 編號 3 的部分關聯句組 ................................................................................ 62 表 8. 13 編號 4 的部分關聯句組 ................................................................................ 62 表 8. 14 編號 5 的部分關聯句組 ................................................................................ 63. i.

(7) 圖目錄 圖 1. 1 包含關係關聯句範例 ........................................................................................ 3 圖 1. 2 非包含關係關聯句組範例 ................................................................................ 4 圖 3. 1 系統架構圖 ..................................................................................................... 17 圖 4. 1 PDF 電子書部分純文字內容.......................................................................... 19 圖 4. 2 句子詞性標記結果 .......................................................................................... 21 圖 5. 1 以 HEAPSORT 搜尋網頁摘要擷取範例 ............................................................ 24 圖 5.2 維基百科實體頁面類別資訊範例 .................................................................. 28 圖 6. 1 句子詞性標記結果 .......................................................................................... 31 圖 6. 2 取代之後結果 .................................................................................................. 31 圖 8. 1 實驗所採用之 40 組包含關係查詢字組 ........................................................ 43 圖 8. 2 實驗所採用之 40 組非包含關係查詢字組 .................................................... 44 圖 8. 3 專家挑選的訓練查詢字組使用不同特徵的正確率 ...................................... 46 圖 8. 4 維基百科資料結構領域蒐集的查詢字組使用不同特徵的正確率 .............. 46 圖 8. 5 維基百科經濟學領域蒐集的查詢字組使用不同特徵的正確率 .................. 47 圖 8. 6 專家挑選的訓練查詢字組以貪婪選擇法組合特徵在分類器上的效果 ...... 48 圖 8. 7 資料結構蒐集查詢字組以貪婪選擇法組合特徵在分類器上效果 .............. 49 圖 8. 8 經濟學領域蒐集查詢字組以貪婪選擇法組合特徵在分類器上效果 .......... 50 圖 8. 9 關聯句評分問卷範例 ..................................................................................... 51 圖 8. 10 各個查詢詞組關聯句評估結果 ................................................................... 52 圖 8. 11 關聯句組評分範例 ....................................................................................... 56 圖 8. 12 METHOD 1 和 METHOD 2 對於各個查詢詞組的評估結果 .......................... 57 圖 8. 13 關聯句組平均分數在 0.66 以上的組數 ...................................................... 58 圖 8. 14 METHOD 2 和 P_METHOD 對於各個查詢詞組的評估結果 ........................... 58 圖 8. 15 關聯句組平均分數在 0.66 以上的組數 ....................................................... 59. ii.

(8) 第一章 緒論 1.1 研究動機與目的 對於專業領域的使用者來說,了解專有詞彙是學習上重要的一環。使用者在 閱讀專業領域的書籍時,經常會遇到不懂的專有詞彙,而這類型的詞彙無法由一 般字典中獲得在專業領域上的解釋。假設有一龐大的資料來源可供查詢,使用者 可以取得和專有詞彙相關文章中的說明句子,幫助了解專有詞彙。然而大量的文 章內容會導致資訊過載(Information Overload)的問題,使用者無法在短時間內了 解文章內容,需要花費大量時間自行分析整理之後才可以得到真正想要的資訊。 即使有一個很好的資訊檢索工具,若是使用者想了解兩個專有詞彙有何關聯時, 一次只能輸入一個專有詞彙進行查詢,而只查閱和一個專有詞彙相關的句子,使 用者需要自行整理之後,才能夠瞭解兩個詞彙彼此的關聯性或其具有相同相異的 概念比較。如果能提供一有效摘要方法,例如當使用者輸入兩個查詢詞彙是 ―insertion sort‖和―merge sort‖,能自動找出兩個句子,如以下表示: . ‖The Θ(n2) bound on the worst case running time of insertion sort, however, does not imply a Θ(n2) bound on the running time of insertion sort on every input.‖. . ―Once the input size n becomes large enough, merge sort, with its Θ(n lg n) worst case running time, beats insertion sort, whose worst case running time is Θ(n2 ). ―. 1.

(9) 使 用者可以 藉由這樣 的句組了解 兩 個查詢 詞彙 在最差執行時間 (worst case running time) 上 的 比 較 ; 當 使 用 者 輸 入 兩 個 查 詢 詞 彙 是 ―heapsort‖ 和 ‖sort algorithm‖,能自動找出這樣的句子,如以下表示: . ―Heapsort is a comparison-based sort algorithm to create a sorted array (or list), and is part of the election sort family. ―. 使用者可以藉由這樣的句子了解―heapsort‖是一個以比較為基準的排序演算法。 但是目前一般查詢方法大多是針對一個查詢詞彙為主,無法達到自動摘要出兩個 查詢詞彙關係的句子。 因此本論文的研究目的是針對可信資料來源,根據使用者所輸入的兩個專有 詞彙,依照詞彙不同的關係,由資料來源中自動找出關聯句組或是關聯句,幫助 使用者在兩個專有詞彙的比較學習。. 1.2 研究範圍與限制 本論文研究資料來源為可信的英文文件資料,文件資料中需要包含可區分出 句子的標點符號或是句尾符號,我們目前採用專業領域的英文 PDF 格式的電子 書,並且假設書中存在和查詢詞彙有相關的關聯句。輸入限定為兩個英文的專有 詞彙。 本論文的研究範圍分為兩大部分,我們將查詢詞彙關係分為兩大類,‖包含‖ 關係和‖非包含‖關係。第一部分探討如何對於輸入的兩個查詢詞彙關係進行自動 分類,第二部分則探討如何根據詞彙關係的不同,找出‖包含‖關係的關聯句,或 2.

(10) 是找出‖非包含‖關係的關聯句組。 我們定義詞彙關係分為兩類,第一類為‖包含‖關係,查詢詞彙之間彼此為上 下包含的關係,例如,‖data structure‖和‖linked list‖,‖linked list‖是一種資料結構 (data structure) ; 第 二 類 為 ‖ 非 包 含 ‖ 關 係 , 例 如 , ‖insertion sort‖ 和 ‖merge sort‖ , ‖insertion sort‖ 和 ‖merge sort‖ 都 是 一 種 排 序 演 算 法 (sorting algorithm);‖binary tree‖和‖merge sort‖這兩個查詢詞彙同屬於演算法領域之下也 是屬於非包含關係。 詞彙關係若被分類為包含關係,如圖 1.1 所示,當使用者查詢‖data structure‖ 和‖linked list‖時,本論文將探討如何自動擷取同時包含兩個查詢詞彙的句子,從 中自動選出一個句子,以下稱關聯句,用以解釋查詢詞彙在包含關係及定義上的 敘述。 詞彙關係若被分類為非包含關係,如圖 1.2 所示,當使用者查詢‖insertion sort‖ 和‖merge sort‖,本論文將探討如何自動擷取出包含個別查詢詞彙的句子,並自 動找出兩個句子形成句組,以下稱關聯句組,顯示查詢詞彙在某些概念上相同或 相異的比較。 輸入兩個查詢詞彙: ―data structure‖、‖linked list‖ A linked list is a data structure which can change during execution, consisting of a group of nodes which together represent a sequence.. 圖 1. 1 包含關係關聯句範例 3.

(11) 輸入兩個查詢詞彙: ―insertion sort‖、‖merge sort‖ Query: insertionsort The Θ(n 2 ) bound on the worst case running time of insertion sort, however, does not imply a Θ(n 2 ) bound on the running time of insertion sort on every input. Query: mergesort Once the input size n becomes large enough, merge sort, with its Θ(n lg n) worst case running time, beats insertion sort, whose worst case running time is Θ(n 2 ).. 圖 1. 2 非包含關係關聯句組範例. 1.3 論文方法 本論文為了幫助使用者瞭解所查詢的兩個專有詞彙,建立一套由電子書為資 料來源自動擷取關聯句之查詢系統。本論文方法主要分為兩大部分,分別是離線 訓練(Offline training)和線上處理(Online processing)。 離線訓練可分為三部分來說明:電子書內容的前處理、建立詞彙關係分類模 型和建立關聯句比對規則模型。<1>首先對於電子書文字內容進行前處理,句子 切割之後,以句子為單位儲存形成文句集,經過詞性標記和字型原型化的處理後, 對於文句集建立索引。<2>利用 Google 網路搜尋引擎蒐集多篇包含個別訓練查詢 字組的網頁摘要,藉由詞彙出現在網頁摘要中的分布情況作為特徵,輸入支持向 量機(Support Vector Machine, SVM)建立詞彙關係分類模型。<3>對於訓練資料進 行句型樣式擷取後,並取出其子序列,經過評分之後建立關聯句比對規則模型。 4.

(12) 使用者輸入兩個查詢詞彙後,本系統利用 Google 網路搜尋引擎分別以兩個 查詢詞彙當作關鍵字去搜尋,蒐集多篇包含個別查詢詞彙的網頁摘要,藉由詞彙 間彼此出現在網頁摘要中的分布情形做為特徵,利用詞彙關係分類模型進行自動 分類。兩個查詢詞彙若是被分類為‖包含‖關係,系統會利用資訊檢索的概念取出 同時包含兩個查詢詞彙之句子作為關聯句集,一一擷取出句型樣式並取出子序列 後,利用關聯句比對規則模型對於句子進行評分,選出句型和語意關聯分數最高 的當作關聯句;詞彙若是被分類為 ‖非包含‖ 關係,系統取出包含任一查詢詞彙 的句子作為關聯句集,透過這些句子找出對於兩個查詢詞彙有高度關聯的字詞作 為共同概念詞,再依照共同概念詞進行分群,評估句子與共同概念詞以及句子間 兩兩配對的分數,挑選分數最高的兩個句子形成關聯句組。 針對所提出的方法,本研究進行三個部分的實驗:<1>評估查詢詞彙關係自 動分類的正確性,<2>評估‖包含‖關係的關聯句是否可以幫助使用者瞭解查詢詞 彙之間的關係,<3>評估‖非包含‖關係的關聯句組是否能夠讓使用者瞭解查詢詞 彙在概念下的異同處。. 5.

(13) 1.4 論文架構 本論文以下章節內容簡介如下:第二章說明相關文獻及探討。第三章說明本 論文提出之系統架構。第四章說明如何對電子書進行前處理和建立索引。第五章 詳細描述如何對於查詢詞彙關係進行自動分類。第六章說明如何找出‖包含‖關係 的關聯句。第七章說明如何找出‖非包含‖關係的關聯句組。第八章以實驗結果顯 示本論文方法的執行效果。最後在第九章提出總結及未來研究方向。. 6.

(14) 第二章 文獻探討 為了解決資訊過載的問題,近年來有越來越多的研究討論如何自動對大量資 料進行擷取分析以及摘要整理,讓使用者能夠更方便、更快速的獲取所想要的資 訊。與本論文相關的研究可分成自動問答系統、字詞間關係分類、字詞語意關係 探勘、和文件內容自動摘要技術等,我們將在底下一一介紹。. 2.1 自動問答系統 一般來說利用網路搜尋引擎是目前最普遍搜尋資訊的方式,搜尋引擎所採用 的是以關鍵字為主(keyword-based)的方法,使用者下關鍵字之後,搜尋引擎回傳 一連串的網頁連結及部分包含關鍵字的文字內容給使用者。網頁呈現的排序是根 據網頁的重要性評估計算結果,例如有多少使用者點擊過這個網頁、連結到網頁 的超連結數目以及關鍵字和網頁內容的相關性等,較重要的網頁排名會在前面, 優先呈現給使用者。但是對於使用者來說,只提供一連串的網頁連結以及部分的 網頁文字內容仍無法很快找到所需的資訊,使用者仍需要花費時間逐一閱讀瀏覽 網頁內容之後才能夠獲得所想要的資訊。 自動問答系統希望改變這種資訊查詢的方式,相較於關鍵字為主的搜尋方法, 使用者可以對自動問答系統下口語化的問題而不用去思考該用怎樣的關鍵字去 查詢,系統會回傳精確且簡短的句子或段落作為答案,例如使用者可以查詢「誰 是美國總統?」 ,自動問答系統便會直接回傳「歐巴馬」 。自動問答系統又可依資 7.

(15) 料來源分為兩類,以開放式語料庫(Open Corpus)為資料來源的開放式語料庫自動 問答系統和封閉語料庫(Closed Corpus)為資料來源的封閉式語料庫自動問答系統, 其中開放式語料庫自動問答系統和本研究的假設不同,故以下僅介紹封閉式語料 庫自動問答系統。 TREC(Text Retrieval Conference)自 2003 年提出以自動問答為主題的 QA Track,此後有許多相關的研究開始發表。這類的研究大多運用資訊檢索、資訊 擷取以及自然語言處理等技術。自動問答系統的查詢問題通常是以口語化描述為 主,因此系統先利用自然語言處理技術,藉由問題剖析器對於查詢問題進行解析, 取出問題中重要的部分當作關鍵字以及將問題自動分類為預先訂好的類型之一, 例如,人名、地點或是數值等,再從語料庫中檢索出和問題相關的文件,擷取出 包含關鍵字的語句或是段落,最後依照問題的分類以及和關鍵字的相關性挑選最 符合的語句或段落作為答案[2]。 [1]利用網路搜尋引擎蒐集和資料來源有相關的網頁,從中擷取出重要文字 內容(text nugget),經由特徵擷取之後,例如 TFIDF 值、網頁排名、重要文字內 容的字數和在網頁中的位置等,利用邏輯迴歸(logistic regression)分析對文字內容 進行評分,將分數高的句子結合形成虛擬文件(pseudo document)。利用虛擬文件 幫助自動問答系統找出更精確的答案。 事實類的問題(factoid question)大多是較長敘述的問句,自動問答系統若採用 直接字串比對出可能的答案,挑選出答案的效果較差。[7]提出利用分解識別器 8.

(16) (Decomposition Recognizer)將問題中的具名實體(named entity)和名詞擷取出來, 當成是額外的子問題(Subquestion),挑選答案時會同時考慮原問題和子問題的候 選答案,利用機器學習的方法對於候選答案進行評分,回傳答案分數最高的呈現 給使用者。 上述研究僅能接受一個查詢詞彙,若是使用者想要找出兩個查詢詞彙的關聯 時,需要下兩個查詢詞彙,由回傳的答案經過閱讀理解之後才能了解詞彙間的關 聯性,[17]提出了一個方法,根據使用者輸入的兩個專有辭彙作為查詢詞彙,自 動找出和查詢詞彙關聯度高的概念詞後,挑選出兩句和專有詞彙以及概念詞關聯 度高的句子形成概念關聯句組,方便使用者了解兩個查詢詞彙在概念詞底下之異 同處。但是該方法對於查詢字組間的關係是包含關係時,使用者較難利用概念關 聯句組了解查詢詞彙的關聯性。. 2.2 字詞間關係分類 本研究必頇自動分類兩個查詢詞彙的關係,這個問題相似於查詢問題的分類 (Query classification)研究。隨著 Web 2.0 平台的興起,越來越多的使用者利用社 群問答系統(Community Question Answering)去查詢自己所想要的資訊,例如 Yahoo!Answers 和百度吧。在這些平台上,使用者查詢問題之後,系統會自動去 比對內部原有的 問題 - 答案 配對,從中去挑選和查詢問題類似的 問題 - 答 案 配對回傳給使用者。社群問答系統上的問題都會有類別(category)的標籤,如, 9.

(17) 寵物之於狗,旅行之於國家等,藉由這些類別標籤,系統可以更快速和有效率地 找出和問題有相關的答案,因此近年來也有越來越多研究在討論如何將查詢問題 對應到預先定義的類別上。 [3]利用機率模型(language model)分類使用者所下的查詢問題是屬於哪個類 別。作者計算使用者輸入的查詢問題和社群問答系統內已有的問題的相關分數, 以不同參數組合查詢問題內的字詞出現在內部原有問題中的機率、出現在類別中 的機率以及出現在整個語料庫的機率,選擇機率值最高的問題,並以該問題的類 別當作依據,由類別中選擇出和使用者查詢問題的 問題 – 答案 最相關的配對 回傳給使用者。 由於在社群自動問答系統中的問題相對於一般文件來說字數較少,在問題 分類上較為困難,因此[4]提出了利用維基百科內的資訊,建立同義字、多義字 和相關字的模型,藉以找出和問題有高度相關的字詞,幫助系統在問題分類上能 夠得到更精確的效果。當使用者下達一個查詢問題時,會先利用[8]的問題擷取 模型(Query Retrieval model),挑選出系統內前 n 個和問題有相關的問題集並蒐集 問題所屬的類別,利用這些類別名稱當作關鍵字到維基百科上進行查詢,藉由查 詢頁面內的鏈結文字(Anchor text)當作是同義字、多義字和相關字的資訊,達到 問題拓展,再藉由機器學習的方法將使用者輸入的問題進行分類。 近年來隨著社交網絡的興起,在標籤推薦系統中如何得知標籤間的關係也成 為相當熱門的研究,近似於字詞間關係分類的概念。[5]在標籤雲(tag cloud)中 10.

(18) 對於多個標籤建立語意階層樹狀結構, 達到推薦摘要性標籤的效果。 如,‖programming‖的摘要性比―java‖高,在樹狀結構中的語意階層位置就會比較 高。作者所提出的方法是由包含標籤的文件中擷取多種特徵計算標籤的摘要性分 數,例如標籤在文件中的亂度(entropy)、TFIDF 值、標籤間在個別的文件集合中 共同出現的機率和單獨出現的機率等,之後依照分數的高低,利用作者所提出的 樹狀結構演算法選擇最佳位置插入語意階層樹中。最後利用這個樹狀結構便可以 獲得標籤與標籤之間的語意關係。. 2.3 字詞語意關係探勘 本研究必頇自動擷取出句子中重要的字詞或是句型樣式當作特徵,計算句子 間彼此的語意關聯度,相似於字詞語意關係探勘之研究。一般來說文件資料都是 由大量的字詞或是文句所組成,但是在計算文件間相似度或是關聯性時,如果將 每個字詞都考慮的話,不僅會浪費儲存空間,效率上也會不佳,而且文句中並非 每一個字詞都是有意義的,因此也有越來越多的研究在討論如何擷取文件中重要 的特徵或字詞。. 2.3.1 字詞間的語意關係探勘 [6]對於使用者所輸入的兩個查詢詞組,判斷彼此間是否有隱含上的語意關 聯,例如,輸入為―鴕鳥-鳥類‖和―獅子-貓科‖,彼此間隱含的關係是‖大型‖,因 11.

(19) 為鴕鳥是一種體型較大的鳥類,獅子則是大型的貓科動物。為了評估兩個查詢詞 組間的關係是否有相關,作者利用網路搜尋引擎蒐集兩個詞組的網頁摘要後,從 中篩選出同時包含兩個詞組的句子,並以這兩個詞組在句中的位置為起始位置和 終止位置,擷取在這範圍內的語句樣式(lexical pattern),依照所訂定的規則去組 合成子序列(subsequence)樣式,利用這些子序列樣式進行分群,由聚落和聚落間 不同的相關程度值得知查詢字組間是否相關。 [9]利用網路搜尋引擎找出不同實體(entity)間有什麼關聯性。例如輸入兩家 公司名稱,‖鴻海‖和‖宏碁‖,知道它們彼此間有‖電腦公司‖這個相關的特性。作 者先利用網路搜尋引擎對於使用者輸入的兩個實體當作關鍵字查詢之後,收集兩 個實體間前 M 個網頁形成兩個集合,經過前處理後,由兩個集合中的網頁一一 進行配對,利用 Okapi formula [10]計算網頁間彼此的相關分數,回傳前 k 名的網 頁配對,再利用 Okapi formula 計算對於兩個集合相關程度高的字詞當作兩個實 體間的關係。. 2.3.2 高語意關聯字詞探勘 一般來說,在資訊檢索領域中,在比較文件和文件之間的相似度時,可以利 用文件中字詞出現的頻率,以及出現在文件中的頻率形成 TFIDF 值,建立特徵 向量,再利用這個向量去計算文件間的相似程度。但是這種方法的缺點在於,若 是字詞間有一字多義或是多字一義的情況時,例如,‖table‖和‖desk‖都是表示桌 12.

(20) 子,但因為沒有考慮到字詞之間的語意關聯,在計算相似度時會將這兩個字詞視 為不同,如此一來會影響查詢效果。本小節將介紹有關於擷取高語意關聯字詞之 研究。 [12]利用 WordNet [13]建立語意網路,從中可找到和字詞有相關的概念詞。 作者建立了以名詞為主的語意網路,首先利用了維基百科收集了大量的名詞,再 利用 WordNet 找出和這些名詞關聯性高的字詞,稱為概念,計算名詞和概念在 維基百科內的 Kullback-Leivler divergence 值,找出和名詞語意關聯度高的字詞。 [14]提出了一些不同於以往 TFIDF 為主的向量模型,例如結合字詞出現在文件中 的機率和在語料庫中的機率計算 Mutual information 值;或是利用字詞出現在文 件中的機率和沒有出現在文件中的機率計算 Information Gain 值,當字詞間有多 字一義的情況時,這兩種方法皆可有效避免相同兩個字語意相關高但相似度低的 情況。 在標籤推薦系統中,也會遇到類似這樣的問題,以 Flickr 為例,當使用者下 標籤‖table‖去搜尋圖片時,若是不考慮語意相關的標籤,可能無法找到包含‖desk‖ 的圖片推薦給使用者。因此[15]提出一方法,同時考慮標籤和標籤之間語法和語 意上的相關性。作者提出的方法是將標籤自成一個聚落,計算標籤和聚落之間各 標籤的出現物件所形成的特徵向量之餘弦相似度值,若是大於所訂定的門檻值, 則將該標籤加入聚落中,之後再進行合併以避免過多重複的標籤聚落。. 13.

(21) 2.4 文件內容自動摘要技術 隨著網際網路的興盛,使用者如果想要查詢有興趣的事物時,可以藉由各式 各樣的網路平台蒐集大量的資料。但是大量回傳結果對於使用者來說,很難在短 時間之內了解並從中找到想要的資訊及重點。近年來有許多研究著重於如何從文 件中找出合適的內容作為文件的摘要,幫助使用者迅速瞭解文件主要內容而不必 閱讀整篇文件。 [16]提出一個以產品評論為主的正反意見摘要器(Sentiment Summarizer),當 使用者想在論壇或是其他平台上查詢商品的資訊時,利用這個摘要器可以將產品 評論依照正反意見經過摘要後呈現給使用者。當使用者下達查詢問題後,作者會 利用訓練好的SVM分類器,分類出查詢問題中有包含哪些資訊,像是有哪些面 向(facet)、情緒字(sentiment)或是產品等,再利用搜尋系統蒐集和產品相關的語 句,經過分數篩選之後,例如句子和其他句子間相似度分數,句子內的字詞對於 整個語料庫的代表程度和句子內情緒字的分數等,將句子進行分群,再由聚落中 挑選出正反意見分數最高的兩句作為摘要推薦給使用者。. 14.

(22) 第三章 系統運作流程 系統架構中分成離線訓練(Offline training)和線上處理(Online processing)兩 大部份。如圖 3.1 所示。 離線訓練細分為:電子書資料前處理(Book Data preprocessing)、產生網頁摘 要 特 徵 (Snippet feature generation) 、 建 立 詞 彙 關 係 分 類 模 型 (Query pairs relationship classifier)、擷取句型樣式(Lexical pattern extraction)以及建立關聯句比 較規則模型(Associated sentence rule model) 五個處理單元。 線上處理則分為:詞彙關係分類(Query pairs Classification)、產生共同概念詞 (Common concept term construction)、產生關聯句組(Associated sentence pairs Construction) 、 擷 取 句 型 樣 式 (Lexical pattern extraction) 以 及 產 生 關 聯 句 (Associated sentence construction) 五個處理單元。. 簡述本論文提出的系統處理流程如下: 在離線訓練的部分,首先系統會對於我們所採用的電子書進行電子書資料前 處理,經過斷句、詞性標記以及字詞原型化的處理後,存入文句集資料庫中,使 用 Lucene 對文句集進行索引以供線上處理時能夠更有效率地進行文句檢索。利 用蒐集的訓練網頁摘要,經過網頁摘要特徵擷取後,系統會利用支持向量機建立 詞彙關係分類模型以供線上處理時能夠自動分類詞彙關係。此外,我們先利用以 人工方式標記關聯句訓練句集,經過擷取句型樣式、取出子序列和評分之後,建 15.

(23) 立關聯句比較規則模型以供線上處理時挑選包含關係的關聯句。 當使用者輸入兩個查詢詞彙之後,系統會先以這兩個查詢詞彙當作關鍵字分 別去蒐集多篇包含查詢詞彙的網頁摘要,經過特徵擷取後,利用詞彙關係分類模 型自動分類兩個查詢詞彙關係。詞彙關係若是被分類為包含關係時,由文句集資 料庫中將同時包含兩個查詢詞彙的句子當作關聯句集,擷取句型樣式並取出子序 列後,利用關聯句比較規則模型對句子進行評分,挑選出句型和語意關聯分數最 高的句子當作關聯句;詞彙關係若是被分類為非包含關係時,由文句集資料庫中 將包含任一查詢詞彙的句子當作關聯句集,找出兩個查詢詞彙所共有的字詞,經 過篩選和計算關聯性分數後形成共同概念詞,再依據共同概念詞進行分群,挑選 句組間對於共同概念詞的語意關聯分數和句子間配對分數最高的成為關聯句 組。. 16.

(24) offline. Snippet collection. Training sentences. PDF Textbooks. Lexical pattern extraction. Snippet feature generation. Book Data preprocessing. Associated sentence rule model. Query pairs relationship classifier. Sentence index. online Query pairs. Query pairs classification. Sentence set contained. Not-contained. Lexical pattern extraction. Common concept term construction. Associated sentence construction. Associated sentence pairs construction. 圖 3. 1 系統架構圖 17.

(25) 第四章 電子書資料前處理與索引建立 本系統使用的資料來源為 PDF 格式電子書,我們先對電子書進行資料前處 理,接著對資料建立索引並擷取資料中的重要字詞。此章將說明處理的各個步 驟。. 4.1 句子擷取 本系統利用 Apache PDFBox( http://pdfbox.apache.org/ )對 PDF 電子書內容 進行處理。PDFBox 為 Apache open source JAVA PDF Library 的一個 tool ,主要 功能如下: 1. 對 PDF 文件進行切割或合併。 2. 擷取 PDF 文件的文字內容轉換成一般純文字。 本系統以頁為單位對電子書進行切割,將其儲存為純文字檔案,如圖 4.1 所 示。此外我們會對文字內容進行斷句,以英文大寫字母為開頭,結尾 是 ‖ . ‖、‖ ! ‖、‖ ? ‖ 等結束符號當作一個完整句。依照上述規則使用 JAVA 正規 表示式(Regular Expression)進行句子擷取,所擷取出的句子即是本系統之文句 集。. 18.

(26) 136 CHAPTER 11 This code breaks all the rules of abstract data structures by assuming a particular representation for the priority queue (during each loop, the priority queue resides in a[l], . . . , a[k-1]), but it is reasonable to do this here because we are implementing a sort, not a priority queue. The priority queue procedures are being used only for descriptive purposes: in an actual implementation of the sort, we would simply use the code from the procedures to avoid doing so many unnecessary procedure calls. It is actually a little better to build the heap by going backwards through it, making little heaps from the bottom up. Note that every position in the array is the root of a small heap, and downheap will work equally well for such small heaps as for the big heap. Also, we’ve noted that remove can be implemented by exchanging the first and last elements, decrementing N, and calling downheap(1). This leads to the following implementation of Heapsort:ure heapsort; 圖 4. 1 PDF 電子書部分純文字內容. 4.2 建立文句索引 本系統利用 Apache Lucene 對文句集建立索引,目的是提升句子檢索的效率。 建立索引之前我們會先對文句集中的句子進行兩步驟的處理。 <1>移除停用字(stopwords removal) 停用字(stopwords)泛指在一般文章中出現詞頻次數很高,但卻沒有實質意義 的字詞,例如,‖it‖、‖that‖、‖or‖等字詞,這類字詞其詞性大多是介係詞、代名 詞以及連接詞等。由於停用字的詞頻出現次數偏高,但又沒有實質的意義,可能 影 響 後 續 評 估 句 子 語 意 關 聯 的 效 果 , 因 此 我 們 採 用 TEXT FIXER. 19.

(27) (http://www.textfixer.com/resources/common-english-words.txt) 網站所提供的停用 字列表,在進行其他步驟處理前,會參照這個表移除停用字。 <2>字詞原型化 一般來說,在英文文章中,大部分的字會因為時態或是主被動文法的關係, 導致一個字可能以多種不同的型態出現,例如,‖classify‖、‖classifies‖、‖classified‖ 以及‖classifying‖等,這些字詞都是在表示‖classify‖的語意。如果在系統中將這 些字視為不同字的話,不僅會浪費空間,而且可能影響計算詞頻和擷取特徵的效 果,所以必頇將字詞進行原型化處理。本系統使用了 Porter Stemming Algorithm 進行字詞原型化處理,此演算法由 Martin Porter 於 1980 年所提出,至今仍然被 廣泛使用,我們採用這個演算法 JAVA 版本的 Open source 應用於系統上。 經過上述的兩步驟處理後,本系統採用 Apache Lucene 對句子依所包含字建 立索引。Lucene 是 Apache open source 項目之下的一個以 JAVA 語言建立的全文 檢索引擎,提供了完整的程式介面,不僅能大大提升全文索引和檢索的效率,並 且易於嵌入於系統之中使用。目前有許多網站使用 Lucene 實作站內的內容檢索 服務,例如科技新聞網站 CNet。 本系統採用詞組搜尋(phrase search)的方式對於查詢詞彙進行搜尋,當查詢詞 彙是一個字詞以上組合而成時,例如,‖greedy algorithm‖,則系統會自文句集中 找出同時出現‖greedy‖和‖algorithm‖的句子,而且兩個字詞必頇是連續出現,中 間不出現其他字詞。 20.

(28) 4.3 詞性標記及產生概念詞集 本研究是以句子為基本單位,句子大多是由數十個字詞所組成。我們認為句 子中有意義的概念字詞多是由句子內名詞或是名詞片語所形成,所以我們對 4.1 的斷句文字內容進行進一步處理,以取出概念詞供後續處理使用。 4.3.1 詞性標記 本 研 究 採 用 美 國 史 丹 佛 大 學 自 然 語 言 處 理 研 究 小 組 研 發 的 Standford Log-linear Part-Of-Speech Tagger 套件,對於句子中每個字詞標記詞性,如圖 4.2 所示,在 ‖ / ‖ 之後顯示的是字詞的詞性。. a/dt decision/nn tree/nn is/vbz a/dt full/jj binary/jj tree/nn that/wdt represents/vbz the/dt comparisons/nns between/in elements/nns that/wdt are/vbp performed/vbn by/in a/dt particular/jj sorting/vbg algorithm/nn operating/vbg on/in an/dt input/nn of/in a/dt given/vbn size/nn ./. 圖 4. 2 句子詞性標記結果. 4.3.2 產生概念詞集 本研究認為句子中出現的名詞和名詞片語可表示句子中重要概念,因此我們 訂定以下規則擷取出句中的概念詞,各個規則以正規表示法表示如下: (1) Noun+:單一名詞,或是多個名詞組成的複合名詞,例如,‖complexity‖。 (2) Adj (Vbg | Noun)+:形容詞後接著一個或多個名詞或是動名詞,例如,‖optimal solution‖。. 21.

(29) (3) Det (Vbg | Noun)+:定冠詞後接著一個或多個名詞或是動名詞,由此規則找出 之概念詞會去掉定冠詞。例如,出現‖the comparison sort‖會找出‖comparison sort‖。 一個句子𝑠中符合上述規則的字詞皆會被擷取出,稱為𝑠的概念詞集,以 𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠)表示。. 22.

(30) 第五章 查詢詞彙關係評估 當使用者輸入兩個查詢詞彙後,本系統會對詞彙關係進行自動分類。本章將 分別介紹查詢詞彙關係之定義、分類特徵擷取方法、詞彙關係分類模型建立方法 及線上詞彙關係自動分類的處理。. 5.1 詞彙關係分類定義 本研究定義了兩種詞彙關係:包含(Contained)關係以及非包含(Not-contained) 關係,當使用者給予兩個查詢詞彙之後,系統會先判定詞彙是屬於上述的哪一種. 關係。兩類關係之定義如下: <1>包含關係 包含關係指的是兩個專有詞彙中,其中一個是較廣的概念或是主題,而另一 個是該概念或是主題下的一種技術或是方法。例如,‖data structure‖和‖linked list‖,‖data structure‖表示是一個涵蓋較廣的主題,而‖linked list‖是其中的一種方 法。 <2>非包含關係 非包含關係為兩個專有詞彙中,兩者皆屬於同樣概念或是主題之下的技術或 是方法。例如,‖insertion sort‖和‖merge sort‖,‖insertion sort‖和‖merge sort‖都是 一種排序演算法(sorting algorithm);以‖binary tree‖和―merge sort‖為例,兩個查詢 詞彙都屬於演算法這個領域。 23.

(31) 5.2 分類特徵擷取方法 由使用者給定的兩個查詢詞彙𝑄1 及𝑄2 ,我們利用網路搜尋引擎個別搜尋𝑄1 及𝑄2,由其回傳結果的網頁摘要,相互統計在其中一個查詢詞彙網頁摘要中出現 的另一個查詢詞彙的分布情況當作分類特徵值。以‖heapsort‖為例,圖 5.1 顯示在 網路搜尋引擎搜尋‖heapsort‖,我們會蒐集方框內的文字內容當作網頁摘要。本 小節將介紹如何計算出分類特徵值。. Heapsort is a comparison-based sorting algorithm to create a sorted array (or list), and is part of the selection sort family. Although somewhat slower in practice ... H摸 Heap Sort. The binary heap data structures is an array that can be viewed as a complete binary tree. Each node of the binary tree corresponds to an element of ... . . .. 圖 5. 1 以 heapsort 搜尋網頁摘要擷取範例 24.

(32) 假設兩個查詢詞彙𝑄1 及𝑄2 分別為‖sort algorithm‖及―insertion sort‖,利用 Google 網路搜尋引擎分別將‖sort algorithm‖及―insertion sort‖當作關鍵字查詢,蒐 集搜尋引擎回傳前 k 名的網頁摘要,以 k = 10 為例,依回傳摘要內容中是否包含 另一查詢字的統計結果如表 5.1 和表 5.2 所示。 表 5. 1 sort algorithm 網頁摘要篇數 snippet query sort algorithm. 出現 insertion sort 的 網頁摘要篇數. 未出現 insertion sort 的 網頁摘要篇數. 總計. 2. 8. 10. 表 5. 2 insertion sort 網頁摘要篇數 snippet query insertion sort. 出現 sort algorithm 的. 未出現 sort algorithm 的. 網頁摘要篇數. 網頁摘要篇數. 6. 4. 總計 10. 首先我們計算在𝑄1或𝑄2 網頁摘要中同時出現兩個字的機率作為第一種分類 特徵值,如算式 1,此算式所得之值可代表𝑄1和𝑄2 的語意關聯程度。 𝑐𝑜𝑂𝑐𝑐𝑢𝑟𝑒𝑛𝑐𝑒(𝑄1 , 𝑄2 ) =. |𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄2 |𝑄1 )|+|𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄1 |𝑄2 )| |𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄1 )|+|𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄2 )|. (算式 1). 其中𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄𝑖 )表示以𝑄i 為關鍵字查詢出的前 k 篇網頁摘要所成的集合,以下稱 𝑄i 的網頁摘要集。|𝑠𝑛𝑖 �� 𝑒𝑡(𝑄2 |𝑄1 )|表示𝑄1網頁摘要集內出現𝑄2 的網頁摘要篇 數,相同的,|𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄1 |𝑄2 )|表示𝑄2 網頁摘要集內出現𝑄1 的網頁摘要篇數。以 上述表 5.1 及表 5.2 的例子代入算式 1 可得到 𝑐𝑜𝑂𝑐𝑐𝑢𝑟𝑒𝑛𝑐𝑒("𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚", "𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡") =. 25. 2+6 10 + 10. = 0.4。.

(33) 如果查詢詞彙關係是包含關係,以‖insertion sort‖和‖sort‖為例,大部分出 現‖insertion sort‖ 的句 子會出現 ‖sort‖這個字 ,但是出現 ‖sort‖的句 子 未必包 含‖insertion sort‖這個字,因此在計算 confidence 值時,confidene(insertion sort → sort)值會顯然比 confidene(sort → insertion sort)值來得高。所以第二種分類特徵 值考慮關聯規則𝑄1 → 𝑄2的信賴度(confidence),如算式 2。 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑄1 → 𝑄2 ) =. |𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄2 |𝑄1 )|. (算式 2). |𝑠𝑛𝑖𝑝𝑝𝑒𝑡(𝑄1 )|. 由於𝑄1和𝑄2 順序不同會造成𝑄1 → 𝑄2信賴度值的不同,我們先利用算式 3 挑選出 𝑄1 → 𝑄2及𝑄2 → 𝑄1兩者信賴度值較高的規則之信賴度值,再利用公式 4 挑選信 賴度值較低的規則之信賴度值。此外,我們計算𝑄1 → 𝑄2 及𝑄2 → 𝑄1 兩者信賴度 值的差距,也就是將兩個信賴度值相減,如算式 5 所示。 𝑀𝑎𝑥𝑐𝑜𝑛𝑓𝑖(𝑄1 , 𝑄2 ) = 𝑀𝑎𝑥*𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑄1 → 𝑄2 ), 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑄2 → 𝑄1 )+ (算式 3) 𝑀𝑖𝑛𝑐𝑜𝑛𝑓𝑖(𝑄1 , 𝑄2 ) = 𝑀𝑖𝑛*𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑄1 → 𝑄2 ), 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑄2 → 𝑄1 )+ (算式 4). 𝑐𝑜𝑛𝑓𝑖_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒(𝑄1 , 𝑄2 ) = 𝑀𝑎𝑥𝑐𝑜𝑛𝑓𝑖(𝑄1 , 𝑄2 ) − 𝑀𝑖𝑛𝑐𝑜𝑛𝑓𝑖(𝑄1, 𝑄2 ) (算式 5) 舉例來說,以前面表 5.1 及表 5.2 例子代入算式 2, 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒("𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚" → "𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡") = 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒("𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡" → "𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚") =. 2 10 6 10. = 0.2及 = 0.6。代入算式 3 以及. 算 式 4 , 𝑀𝑎𝑥𝑐𝑜𝑛𝑓𝑖("𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚", "𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡") = 𝑀𝑎𝑥*0.2, 0.6+ = 0.6 , 𝑀𝑖𝑛𝑐𝑜𝑛𝑓𝑖("𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚", "𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡") = 𝑀𝑖𝑛*0.2, 0.6+ = 0.2;代入算式 5,. 𝑐𝑜𝑛𝑓𝑖_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒("𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚", "𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡") = 0.6 − 0.2 = 0.4。 26.

(34) 最後一種分類特徵則是考慮在𝑄1網頁摘要集內沒有出現𝑄2 的篇數以及𝑄2 網 頁摘要集內沒有出現𝑄1的篇數,將篇數較少的放在分母,篇數較多的放在分子計 算比值,如算式 6 所示。此外為了避免零值的情況,我們採用了 Laplace smoothing 的方式。 𝑛𝑜_𝐼𝑛𝑐𝑙𝑢𝑑𝑒_𝑝𝑒𝑟𝑐𝑒𝑛𝑡(𝑄1 , 𝑄2 ) =. 𝑀𝑎𝑥*|𝑠𝑛𝑖𝑝𝑝𝑒𝑡(¬𝑄2 |𝑄1 )|, |𝑠𝑛𝑖𝑝𝑝𝑒𝑡(¬𝑄1|𝑄2)|++𝜎 𝑀𝑖𝑛*|𝑠𝑛𝑖𝑝𝑝𝑒𝑡(¬𝑄2 |𝑄1 )|, |𝑠𝑛𝑖𝑝𝑝𝑒𝑡(¬𝑄1|𝑄2)|++𝜎. (算式 6). 其中 𝜎 為一個常數,我們將其設為 1。舉例來說, 𝑛𝑜_𝐼𝑛𝑐𝑙𝑢𝑑𝑒_𝑝𝑒𝑟𝑐𝑒𝑛𝑡(𝑠𝑜𝑟𝑡 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑕𝑚, 𝑖𝑛𝑠𝑒𝑟𝑡𝑖𝑜𝑛 𝑠𝑜𝑟𝑡) =. 8+1 4+1. = 1.8。. 綜合上面三種特徵,當使用者輸入兩個查詢詞彙‖sort algorithm‖及‖insertion sort‖,根據表 5.1 及 5.2,我們會計算出 5 個特徵值,𝑐𝑜𝑂𝑐𝑐𝑢𝑟𝑒𝑛𝑐𝑒函式、𝑀𝑎𝑥𝑐𝑜𝑛𝑓𝑖函 式、𝑀𝑖𝑛𝑐𝑜𝑛𝑓𝑖函式、𝑐𝑜𝑛𝑓𝑖_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒函式以及𝑛𝑜_𝐼𝑛𝑐𝑙𝑢𝑑𝑒_𝑝𝑒𝑟𝑐𝑒𝑛𝑡函式。. 5.3 詞彙關係分類模型建立方法 本系統採用了由 C-J. Lin[19]所提出的支持向量分類器(SVM)建立詞彙關係 分類模型,本小節將介紹產生訓練字組、蒐集網頁摘要以及建立詞彙關係分類模 型。 5.3.1 產生訓練字組 我們使用維基百科內的資訊,來蒐集不同的查詢字組作為詞彙關係分類訓練 字組。維基百科是一個內容豐富的線上百科全書,以人工方式在維基百科實體頁 面上查詢專有詞彙時,可以知道它是屬於哪個類別(category)的資訊。如圖 5.1 所 27.

(35) 示,以排序演算法(sorting algorithm)為例,在排序演算法類別中可以得到其他排 序演算法的資訊,例如‖bubble sort‖、‖heapsort‖等。由這些專有詞彙在類別架構 的 關 係,我們 列出一 些字組作為詞 彙關係 分類 ,例如 , ‖sorting algorithm‖ 和‖heapsort‖為包含關係的訓練字組;‖heapsort‖和―bubble sort‖為非包含關係的訓 練字組。本系統總共蒐集了 145 組的訓練字組,其中包含關係的訓練字組共有 58 組,非包含關係的訓練字組共有 87 組,如附錄 A 所示,在後面的實驗會顯示 以不同的訓練字組對於分類效果的影響。. 圖 5.2 維基百科實體頁面類別資訊範例. 5.3.2 建立詞彙關係分類模型 利用蒐集的訓練字組,以 5.2 所述方法,依照函式𝑐𝑜𝑂𝑐𝑐𝑢𝑟𝑒𝑛𝑐𝑒、𝑀𝑎𝑥𝑐𝑜𝑛𝑓𝑖、 𝑀𝑖𝑛𝑐𝑜𝑛𝑓𝑖、𝑐𝑜𝑛𝑓𝑖_𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒、𝑛𝑜_𝐼𝑛𝑐𝑙𝑢𝑑𝑒_𝑝𝑒𝑟𝑐𝑒𝑛𝑡(算式 1、3、4、5、6)的特徵 28.

(36) 值形成特徵向量並給定訓練字組已知的分類關係,輸入 SVM 分類模型建立詞彙 關係分類模型。 5.3.3 線上詞彙關係自動分類 當使用者輸入兩個查詢詞彙後,系統便會依照 5.2 所述處理步驟,蒐集個別 網頁摘要集,擷取出分類特徵,利用詞彙關係分類模型對於輸入的兩個查詢詞彙 關係進行自動分類。. 29.

(37) 第六章 包含關係關聯句挑選 查詢詞彙關係被分類成包含關係後,系統會自動選出一關聯句,幫助使用者 瞭解兩個查詢詞彙的關聯性。此章將會詳細敘述句型樣式擷取、關聯句比對規則 模型建立以及關聯句選取方法。. 6.1 擷取句型樣式 為了學習關聯句的句型樣式,我們對於同時包含兩個查詢詞彙的句子,會經 過第四章 4.3.1 所提到的詞性標記方法處理後取出句子中一般化的句型樣式。其 中包含兩個步驟:第一,依照所訂定的規則取代特殊字詞;第二,取出子序列。 <1>取代特殊字詞 為了避免過多不同的詞性符號導致不容易找出關聯句的句型,我們會進行特 殊字詞取代。我們參考 Cui et al. [18]所提出的取代原則,並加以修改,所採用之 原則如表 6.1 所示。 我們將輸入的兩個查詢詞彙取代為<target>;不同型態的 be 動詞被取代為 BE$;複數型態的名詞(NNS)替換成 NN;對於形容詞、副詞以及標點符號不列 入考慮;其他字詞則以本身的詞性標記符號取代。 以―quicksort‖和―sort algorithm‖為例,圖 6.1 表示句子經過詞性標記的結果; 圖 6.2 表示經過我們所採用的取代規則之後的結果,所擷取出的句型樣式 P 為兩 個<target>之間的詞性標記符號,如,<BE$, vbn, in, dt, nn, cc, vb, nn, dt>。 30.

(38) 表 6. 1 本研究採用的取代原則 Token. Replacement. Example. Query term. <target>. data structure  <target>. is, am, are, was, were. BE$. is  BE$. All nouns and noun. Corresponding. classifiers  NN. phrases. part-of-speech tags. Adjective and adverbial. Ignore. modifiers(JJ/RB) Punctuations. Ignore. All other words. Replaced by. running  vbg,. part-of-speech tag. time  nn. quicksort/nnp ,/, is/vbz based/vbn on/in the/dt divide/nn and/cc conquer/vb paradigm/nn ,/, a/dt sort/nn algorithm/nn with/in worst/jjs case/nn running/vbg time/nn o/nnp -lrb-/-lrb- n/fw ^/fw 2/cd -rrb-/-rrb- on/in an/dt input/nn array/nn of/in n/jj numbers/nns ./. 圖 6. 1 句子詞性標記結果. <target> is/BE$ based/vbn on/in the/dt divide/nn and/cc conquer/vb paradigm/nn a/dt <target> with/in case/nn running/vbg time/nn o/nnp 2/cd on/in an/dt input/nn array/nn of/in numbers/nn 圖 6. 2 取代之後結果 31.

(39) <2>取出子序列 本系統對於取出的句型樣式列出兩個詞性標記符號形成的子序列,目的是為 了避免<target>間字數不相同時,句型樣式被判定為不同。我們考慮詞性標記符 號的前後順序,並且訂一個最大差距(gap),不一定要是連續出現,限制取出子 序列時兩個詞相隔不能超過 n 個字詞,我們將其設為 3。以句型樣式 P 為例,取 出子序列的範例如表 6.2 所示。 表 6. 2 取出子序列之結果 BE$. vbn. in. BE$_*. BE$_vbn BE$_in. vbn_*. vbn_in. in _*. dt. nn. cc. vb. nn. dt. vbn_dt in_dt. dt_*. in_nn dt_nn. dt_cc. nn_*. nn_cc nn_vb. cc_*. cc_vb. cc_nn. vb_*. vb_nn vb_dt. nn_*. nn_dt. dt_* 表 6.2 顯示句型樣式 P 所有取出之子序列。表中每一行詞性標記符號,每一 列表示以詞性標記符號為開頭之子序列,如第一列所示,是以 BE$為開頭的子序 列,和 BE$相距不超過 3 個字詞的詞性標記符號是 vbn 和 in,形成之子序列為 BE$_vbn 和 BE$_in。一個句子𝑠利用上述方法取出的所有子序列,稱為𝑠的子序 列集,以𝑠𝑒𝑛_𝑆𝑢𝑏𝑠𝑒𝑞(𝑠)表示。. 32.

(40) 6.2 關聯句比對規則模型建立 接下來本系統採用規則模型(rule-based model)建立關聯句比對規則模型,從 關聯句訓練資料中出現的子序列當作關聯規則的左側條件,找出關聯規則右側為 關聯句的比對規則,經由規則評分之後,將規則由分數高至低排序。本小節將介 紹訓練句子的蒐集以及關聯句比對規則模型建立。. 6.2.1 訓練句子的蒐集 我們以人工方式由網路搜尋引擎中,蒐集兩個類別的訓練句子,定義如下: 1. 𝐶1 :表示可以描述包含關係的關聯句所形成的類別。 2. 𝐶0 :表示非關聯句所形成的類別。 以查詢詞彙是‖binary search tree‖和‖data structure‖為例,”In computer science, a binary search tree (BST), which may sometimes also be called an ordered or sorted binary tree, is a node-based binary tree data structure.”會被挑選為包含關係的關聯 句;“The data structure must be modified to reflect this change, but in such a way that the binary search tree property continues to hold.”被選為非關聯句。. 6.2.2 關聯句比對規則模型建立 蒐集完𝐶1 和𝐶0 句子後,𝐶1 的句子所成的集合為 𝑠𝑒𝑛(𝐶1 ),𝐶0 的句子所成的集 合為𝑠𝑒𝑛(𝐶0 ),對於𝑠𝑒𝑛(𝐶1 )中每一個句子s擷取句型樣式並取出子序列形成候選 33.

(41) 子序列集𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 ),如算式 7 所示,(i = 0 或 1);以同樣的方法,得到 𝑠𝑒𝑛(𝐶0 )的候選子序列集𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶0 )。 𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶𝑖 ) = ⋃∀𝑠∈𝑠𝑒𝑛(𝐶𝑖 ) 𝑠𝑒𝑛_𝑆𝑢𝑏𝑠𝑒𝑞(𝑠), (算式 7) 兩個候選子序列集取交集之後,形成共同子序列集 𝑖𝑛𝑡𝑒𝑟_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 , 𝐶0 ),如算 式 8 所示。 𝑖𝑛𝑡𝑒𝑟_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 , 𝐶0 ) = 𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 ) ∩ 𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶0 ) (算式 8) 我 們 必 頇 探 勘 出 𝐶1 的 分 類 規 則 幫 助 我 們 挑 選 關 聯 句 。 我 們 利 用 𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 )內每一個子序列𝑠𝑢𝑏𝑠𝑒𝑞進行評分,評分方法同時會考慮覆蓋率 (coverage)和精準度(accuracy)。 𝑓. 𝑠𝑒𝑞𝑆𝑐𝑜𝑟𝑒(𝑠𝑢𝑏𝑠𝑒𝑞) = 2 ∑1𝑖=0 𝑓𝑖 𝑙𝑜𝑔2 (𝑒𝑖 ) (算式 9) 𝑖. 𝑒𝑖 =. |𝑠𝑢𝑏𝑠𝑒𝑞|∗|𝑠𝑒𝑛(𝐶𝑖 )| |𝑠𝑒𝑛(𝐶1 )|+|𝑠𝑒𝑛(𝐶0 )|. (算式 10). 𝑓𝑖 表示在類別𝐶𝑖 中有多少句子包含子序列𝑠𝑢𝑏𝑠𝑒𝑞; 𝑒𝑖 表示期望值,表示一個子序 列𝑠𝑢𝑏𝑠𝑒𝑞屬於𝐶𝑖 的機率,如算式 10 所示。根據一個給定門檻值θ,當子序列𝑠𝑢𝑏𝑠𝑒𝑞 的𝑠𝑒𝑞𝑆𝑐𝑜𝑟𝑒(𝑠𝑢𝑏𝑠𝑒𝑞)值低於θ時,視為不夠明顯的規則,由𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 )將 其刪除,在此我們將θ設為 1。 經過上述的篩選,我們再檢查𝑖𝑛𝑡𝑒𝑟_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 , 𝐶0 )內的𝑠𝑢𝑏𝑠𝑒𝑞。我們利用 算式 11 計算信賴度值決定是否要保留子序列𝑠𝑢𝑏𝑠𝑒𝑞。 𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑠𝑒𝑞 → 𝐶𝑗 ) =. |𝑠𝑒𝑛(𝑠𝑢𝑏𝑠𝑒𝑞 ∩ 𝐶𝑗 )| |𝑠𝑒𝑛(𝑠𝑢𝑏𝑠𝑒𝑞)|. 34. , j:{0,1}, (算式 11).

(42) 其中| 𝑠𝑒𝑛(𝑠𝑢𝑏𝑠𝑒𝑞) | 表示包含這個子序列𝑠𝑢𝑏𝑠𝑒𝑞的句數;| 𝑠𝑒𝑛(𝑠𝑢𝑏𝑠𝑒𝑞 ∩ 𝐶𝑗 )| 表 示句子中包含子序列𝑠𝑢𝑏𝑠𝑒𝑞並屬於類別 𝐶𝑗 的句數。 如果𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑠𝑢𝑏𝑠𝑒𝑞 → 𝐶1 )大於𝑐𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒(𝑠𝑢𝑏𝑠𝑒𝑞 → 𝐶0 ),我們便會保 留這個子序列𝑠𝑢𝑏𝑠𝑒𝑞;反之則將其由𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 )中刪除。 經過評分和篩選之後在𝑐𝑎𝑛𝑑𝑖_𝑆𝑢𝑏𝑠𝑒𝑞(𝐶1 )剩下來的規則依照分數由高到低 排序,即建立了本系統的關聯句比對規則模型,每一個規則𝑠𝑢𝑏𝑠𝑒𝑞會對應其 𝑠𝑒𝑞𝑆𝑐𝑜𝑟𝑒(𝑠𝑢𝑏𝑠𝑒𝑞)值,之後在線上處理時比對這個模型計算句型分數。. 6.3 挑選關聯句 當使用者輸入兩個專有詞彙𝑄1 及𝑄2 ,若是詞彙關係被分類為包含關係,我 們 利 用 語 句 檢 索 系 統 擷 取 同 時 包 含 兩 個 查 詢 詞 彙 的 句 子 𝑠𝑒𝑛(𝑄1 , 𝑄2 ) , 對 𝑠𝑒𝑛(𝑄1 , 𝑄2 )中每一個句子𝑠,擷取句型樣式並取出其子序列集𝑠𝑒𝑛_𝑆𝑢𝑏𝑠𝑒𝑞(𝑠),對 於𝑠𝑒𝑛_𝑆𝑢𝑏𝑠𝑒𝑞(𝑠)中每一個子序列𝑠𝑢𝑏𝑠𝑒𝑞 ,利用關聯句分類模型比對最高分 𝑠𝑒𝑞𝑆𝑐𝑜𝑟𝑒(𝑠𝑢𝑏𝑠𝑒𝑞)當作句子的句型分數,如算式 12 所示。 𝑝𝑎𝑡𝑡𝑒𝑟𝑛𝑆𝑐𝑜𝑟𝑒(𝑠) = 𝑀𝑎𝑥(𝑠𝑒𝑞𝑆𝑐𝑜𝑟𝑒(𝑠𝑢𝑏𝑠𝑒𝑞)), 𝑠𝑢𝑏𝑠𝑒𝑞 ∈ 𝑠𝑒𝑛_𝑆𝑢𝑏𝑠𝑒𝑞(𝑠) (算式 12) 本系統也會計算各句子𝑠中各概念詞𝐶𝑗 和兩個查詢詞彙𝑄1及𝑄2 的語意關聯度, 當作句子的語意關聯分數,如算式 13 所示。 𝑛. 𝑟𝑒𝑙(𝑄1 , 𝑄2 , 𝑠) = √∏𝐶𝑖 ∈𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠) 𝑠𝑞𝑟𝑡(𝐷𝑖𝑐𝑒(𝑄1 , 𝐶𝑖 ) ∗ 𝐷𝑖𝑐𝑒(𝑄2 , 𝐶𝑖 )) (算式 13) 35.

(43) 其中𝑛表示句子中的概念詞數,去除掉概念詞和𝑄1或𝑄2 相同的情況,其數值為 |𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠) − *𝑄1 , 𝑄2 +| 。 我們認為關聯句內各概念詞𝐶𝑗 對於𝑄1及𝑄2 兩者的語意關聯度都要夠高,所以 我們會先計算句子𝑠中各概念詞𝐶𝑗 對單一一個查詢詞彙𝑄1 或𝑄2 的語意關聯度 𝐷𝑖𝑐𝑒(𝑄1 , 𝐶𝑗 )或𝐷𝑖𝑐𝑒(𝑄2 , 𝐶𝑗 ),如算式 14 所示。 𝐷𝑖𝑐𝑒(𝑄𝑖 , 𝐶𝑗 ) =. 𝑠𝑓(𝐶𝑗 |𝑄𝑖 )+𝑠𝑓(𝑄𝑖 |𝐶𝑗 ) 𝑠𝑓(𝑄𝑖 )+𝑠𝑓(𝐶𝑗 ). , i: *1,2+, 𝐶𝑗 ∈ 𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠) (算式 14). 𝑠𝑓(𝐶𝑗 |𝑄𝑖 ) 表示𝑠𝑒𝑛(𝑄𝑖 )文句集中包含𝐶𝑗 之句數;𝑠𝑓(𝑄𝑖 ) 與𝑠𝑓(𝐶𝑗 ) 分別為句子中包 含 𝑄𝑖 和 𝐶𝑗 之句數。 我們將𝐷𝑖𝑐𝑒(𝑄1 , 𝐶𝑗 )值和𝐷𝑖𝑐𝑒(𝑄2 , 𝐶𝑗 )相乘,當各概念詞𝐶𝑗 得到這個相乘的數 值,再取其幾何平均數,當作是句子的語意關聯分數。最後我們從句子中挑選出 𝑎𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑒𝑑𝑆𝑐𝑜𝑟𝑒(𝑄1 , 𝑄2 , 𝑠)值最高的句子 s,當作是𝑄1及𝑄2 的關聯句,如算式 15 所示。 𝑎𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑒𝑑𝑆𝑐𝑜𝑟𝑒(𝑄1 , 𝑄2 , 𝑠) = 𝑝𝑎𝑡𝑡𝑒𝑟𝑛(𝑠) + 𝑟𝑒𝑙(𝑄1 , 𝑄2 , 𝑠 ) (算式 15). 36.

(44) 第七章 非包含關係概念關聯句組建立 查詢詞彙關係被分類為非包含關係後,系統會先選出對於兩個查詢詞彙關聯 度高的字詞形成共同概念詞,透過這些共同概念詞自動挑選出關聯句組,幫助使 用者瞭解兩個查詢詞彙在某些概念上相同相異的比較。此章將詳細敘述找出共同 概念詞以及建立關聯句組的方法。. 7.1 找出共同概念詞 本系統由包含任一查詢詞彙的句子中,找出和查詢詞彙一同出現的字詞,經 過處理之後,產生和兩個查詢詞彙高度相關的共同概念詞。本小節首先介紹如何 產生共同候選概念詞集,再介紹擷取高度相關共同概念詞的處理方法。. 7.1.1 產生共同候選概念詞集 當使用者輸入之兩個查詢詞彙𝑄1以及𝑄2 被分類成非包含關係,系統會回傳 包含查詢詞彙𝑄1句子所成的集合𝑠𝑒𝑛(𝑄1 ),以及包含查詢詞彙𝑄2 句子所成的集合 𝑠𝑒𝑛(𝑄2 )。根據第四章 4.3.2 提出的方法,可取出每一個句子 𝑠 的概念詞集 𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠)。我們對於𝑠𝑒𝑛(𝑄1 )中每個句子的概念詞集進行聯集,得到𝑄1 所 有概念詞集𝑐𝑎𝑛𝑑𝑖_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑄1 ),如算式 16;以同樣的方法,得到𝑄2 所有概念詞 集𝑐𝑎𝑛𝑑𝑖_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑄2 )。 𝑐𝑎𝑛𝑑𝑖_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑄𝑖 ) = ⋃∀𝑠∈𝑠𝑒𝑛(𝑄𝑖 ) 𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠), 𝑖: *1,2+ (算式 16) 37.

(45) 兩個共同概念詞集取交集後,再去掉𝑄1和𝑄2 兩個查詢詞彙,如算式 17 所示, 剩下來的字詞就是兩個查詢詞彙的共同候選概念詞集comcandi_C(𝑄1 , 𝑄2 )。 𝑐𝑜𝑚𝑐𝑎𝑛𝑑𝑖_𝐶(𝑄1 , 𝑄2 ) = (𝑐𝑎𝑛𝑑𝑖_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑄1 ) ∩ 𝑐𝑎𝑛𝑑𝑖_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑄2 )) − *𝑄1 , 𝑄2 + (算式 17) 7.1.2 擷取高度相關的共同概念詞 接下來本系統會對共同候選概念詞集進行三個階段的篩選處理,取出和查詢 詞彙高度相關的共同概念詞,篩選方法說明如下。. [第一階段篩選] 取出的共同候選概念詞集中有些概念詞雖然符合複合字詞的型式但語意不 明顯或是無意義的,例如,‖follow sort algorithm‖。這類的字詞和查詢詞彙沒有 語意上的關聯,也無法了解該字詞想要表達的關係。我們採用的篩選方法是利用 本系統所使用的語句檢索系統,擷取句子中包含 𝐶𝑖 的句子所成之集合以𝑠𝑒𝑛(𝐶𝑖 ) 表示,並訂定一門檻值,我們設為 1。假設在整個資料來源中,|𝑠𝑒𝑛(𝐶𝑖 )|的句數 小於門檻值,我們認為是語意不明顯的字詞,而予以刪除。. [第二階段篩選] 接下來我們以算式 18 計算各候選概念詞𝐶𝑖 和兩個查詢詞彙𝑄1和𝑄2 之 Mutual Information 值,以下稱 MI 值,評估共同候選概念詞 𝐶𝑖 與查詢詞彙 𝑄𝑗 的關聯程度。 38.

(46) 𝑞𝑢𝑒𝑟𝑦𝑅𝑒𝑙(𝑄1 , 𝑄2 , 𝐶𝑖 ) = 𝑀𝐼(𝑄1 , 𝐶𝑖 ) ∗ 𝑀𝐼(𝑄2 , 𝐶𝑖 ) , 𝐶𝑖 ∈ 𝑐𝑜𝑚𝑐𝑎𝑛𝑑𝑖_𝐶(𝑄1 , 𝑄2 ) (算式 18) 𝑃(𝑄𝑗 ,𝐶𝑖 ). 𝑀𝐼(𝑄𝑗 , 𝐶𝑖 ) = 𝑃(𝑄𝑗 , 𝐶𝑖 ) ∗ 𝑙𝑜𝑔2 𝑃(𝑄 𝑠𝑓(𝑄𝑗 ∩𝐶𝑖 ). 𝑃(𝑄𝑗 , 𝐶𝑖 ) =. 𝑠𝑓(𝑄𝑗 ) |𝑎𝑙𝑙𝑆𝑒𝑛|. 𝑃(𝐶𝑖 ) =. |𝑎𝑙𝑙𝑆𝑒𝑛|. 𝑠𝑓(𝐶𝑖 ). (算式 19). (算式 20). 𝑠𝑓(𝑄𝑗 ). 𝑃(𝑄𝑗 ) =. 𝑗 )𝑃(𝐶𝑖 ). (算式 21) (算式 22). 其中𝑀𝐼(𝑄𝑗 , 𝐶𝑖 )表示共同候選概念詞𝐶𝑖 對查詢詞彙𝑄𝑗 的 MI 值,j = 1 或 2; 𝑃(𝑄𝑗 , 𝐶𝑖 )表示出現𝑄𝑗 的句集中出現共同候選概念詞𝐶𝑖 的機率;𝑃(𝑄𝑗 )和𝑃(𝐶𝑖 )分別 表示資料集中句子包含查詢詞彙𝑄𝑗 及句子包含共同候選概念詞𝐶𝑖 的機率。 我們認為一個共同概念詞𝐶𝑖 與兩個查詢詞彙𝑄1及𝑄2 出現機率都要有正相關 性,即𝑀𝐼(𝑄1 , 𝐶𝑖 )及𝑀𝐼(𝑄2 , 𝐶𝑖 )值皆必頇大於零的情況;如果共同候選概念詞𝐶𝑖 對 於任一查詢詞彙的 MI 值是小於零或是等於零時,表示𝐶𝑖 和任一查詢詞彙的出現 機率是負相關性或是獨立事件,我們會去除這類的候選概念詞𝐶𝑖 。. [第三階段篩選] 在共同候選概念詞集中,有些概念詞彼此存在語意上重複的現象。假設存在 概念詞𝐶1 和𝐶2 ,我們以算式 23 來計算重複率。 |𝑠𝑒𝑛(𝑄 ,𝑄 ,𝐶 )∩𝑠𝑒𝑛(𝑄 ,𝑄 ,𝐶 )|. 𝑜𝑣𝑒𝑟𝑙𝑎𝑝(𝐶1 , 𝐶2 ) = |𝑠𝑒𝑛(𝑄1 ,𝑄2 ,𝐶1)∪𝑠𝑒𝑛(𝑄1 ,𝑄2 ,𝐶2 )| (算式 23) 1. 2 1. 1. 2 2. 𝑠𝑒𝑛(𝑄1 , 𝑄2 , 𝐶𝑖 ) = 𝑠𝑒𝑛(𝑄1 , 𝐶𝑖 ) ∪ 𝑠𝑒𝑛(𝑄2 , 𝐶𝑖 ) (算式 24) 39.

(47) 其中𝑠𝑒𝑛(𝑄1 , 𝐶𝑖 )表示𝑄1的句子集中有出現𝐶𝑖 的句子所成的集合。𝑠𝑒𝑛(𝑄1 , 𝑄2 , 𝐶𝑖 )表 示𝑄1 的句子集中有出現𝐶𝑖 的句子所成的集合和𝑄2 的句子集中有出現𝐶𝑖 的句子所 成的聯集。 若是重複率𝑜𝑣𝑒𝑟𝑙𝑎𝑝(𝐶1 , 𝐶2 )大於等於α值,在此α = 0.8,我們將刪除其中一 個概念詞𝐶𝑖 。我們認為𝑞𝑢𝑒𝑟𝑦𝑅𝑒𝑙(𝑄1 , 𝑄2 , 𝐶𝑖 )值較大的概念詞𝐶𝑖 和兩個查詢詞彙有 較 高 的 關 聯 程 度 , 因 此 若 是 由 算 式 18 所 得 之 𝑞𝑢𝑒𝑟𝑦𝑅𝑒𝑙(𝑄1 , 𝑄2 , 𝐶1 ) 大 於 𝑞𝑢𝑒𝑟𝑦𝑅𝑒𝑙(𝑄1 , 𝑄2 , 𝐶2 ),則保留概念詞𝐶1,去掉概念詞𝐶2,反之,則保留概念詞𝐶2,去 掉概念詞𝐶1 。 舉例來說,假設查詢詞彙為‖binary tree‖和‖red black tree‖時,共同候選概念 詞有‖binary search tree‖和‖search tree‖,若 o𝑣𝑒𝑟𝑙𝑎𝑝(𝑏𝑖𝑛𝑎𝑟𝑦 𝑠𝑒𝑎𝑟𝑐𝑕 𝑡𝑟𝑒𝑒, 𝑠𝑒𝑎𝑟𝑐𝑕 𝑡𝑟𝑒𝑒)大於等於 0.8,且 𝑞𝑢𝑒𝑟𝑦𝑅𝑒𝑙(𝑄1 , 𝑄2 , 𝑏𝑖𝑛𝑎𝑟𝑦 𝑠𝑒𝑎𝑟𝑐𝑕 𝑡𝑟𝑒𝑒)大於𝑞𝑢𝑒𝑟𝑦𝑅𝑒𝑙(𝑄1 , 𝑄2 , 𝑠𝑒𝑎𝑟𝑐𝑕 𝑡𝑟𝑒𝑒),則去 除共同候選概念詞‖search tree‖。 經過三階段的處理後,剩下的共同候選概念詞集我們稱為高度相關的共同概 念詞集𝑕𝑖𝑔𝑕𝑆𝑒𝑚𝑎𝑛𝑡𝑖𝑐_𝐶(𝑄1 , 𝑄2 ),我們可以將𝑕𝑖𝑔𝑕𝑆𝑒𝑚𝑎𝑛𝑡𝑖𝑐_𝐶(𝑄1 , 𝑄2 )內的所有 概念詞留下來進行下一階段處理,或是保留前 k 名建立關聯句組,後面的實驗會 比較這兩種方法的效果。. 40.

(48) 7.2 建立關聯句組 找出𝑕𝑖𝑔𝑕𝑆𝑒𝑚𝑎𝑛𝑡𝑖𝑐_𝐶(𝑄1 , 𝑄2 )後,我們對各個共同概念詞選出關聯句組,幫 助使用者了解兩個查詢詞彙在該共同概念詞下之相同相異之比較。此小節將介紹 關聯句組的選取方法。 對於一個共同概念詞𝐶來分組,我們由𝑠𝑒𝑛(𝑄1 , 𝐶)和𝑠𝑒𝑛(𝑄2 , 𝐶)中各挑出一句 𝑠1 及𝑠2 建立關聯句組(𝑠1 , 𝑠2 )。而我們認為一個好的關聯句組需滿足以下兩個條件: 1. 𝑠1 及𝑠2 中的概念詞與共同概念詞𝐶的語意相關度高。 2. 𝑠1 和𝑠2 中的概念詞彼此語意相關度高。 以下將介紹本研究如何挑選出滿足這兩個條件的句子作為關聯句組。 <1> 評估句子和共同概念詞相關程度 對於𝑠𝑒𝑛(𝑄𝑗 , 𝐶)中的每一個句子s,(j=1 or 2),我們取出句子概念詞集 𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠)中每一個概念詞和共同概念詞𝐶計算相關程度,如算式 25 所示。 𝑛. 𝑐𝑜𝑛𝑐𝑒𝑝𝑡_𝑅𝑒𝑙(𝐶, 𝑠) = √∏. 𝐶𝑖 ∈𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠) ∧ 𝐶𝑖 ≠𝐶. 𝐷𝑖𝑐𝑒(𝐶, 𝐶𝑖 ). (算式 25) 我們會計算共同概念詞𝐶和句中各個概念詞𝐶𝑖 的𝐷𝑖𝑐𝑒(𝐶, 𝐶𝑖 )後,取幾何平均數。 𝐷𝑖𝑐𝑒(𝐶, 𝐶𝑖 )計算方式與算式 14 相同,只是將輸入參數改為(𝐶, 𝐶𝑖 )。其中 n 表示句 子 s 的概念詞集去掉共同概念詞的個數,其數值為|𝑠𝑒𝑛_𝐶𝑜𝑛𝑐𝑒𝑝𝑡(𝑠) − *𝐶+|。. <2> 句子和句子間關聯度評估方法 41.

參考文獻

相關文件

 如課室容額超過 30 ,但在任何班制 ( 包括 混合班 ) 的學童人數均為 30 人或以下,則 計算時可採用 30

學結合 目的 鼓勵說話 (目的語) 分析 詞彙

Conventional TED: Selected Area diffraction (SAD): requires the Selected Area diffraction (SAD): requires the insertion of an aperture in the image plane of objective. insertion of

雙壓力閥在何時才有壓力(訊號)輸出(A) 其中一個輸入口有壓力(訊號)輸出 (B) 經指定的一 個輸入口有壓力(訊號),並且另一個輸入口沒有壓力(訊號) (C)

關鍵詞:1.paratantralakṣaṇa 2.the simile of phantom 3.the three natures of treatment 4.the mental eject and the consciousness 相見二分 5.the thory of self realization

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Suppose, instead, we run the algorithm for the same running time mkT (n) once and rejects the input if it does not stop within the time bound.. • By Markov’s inequality, this