330 likes | 485 Views
運用 輕量化方法建 構 中文 同義字庫於 資訊檢索 學校 : 國立 雲林科技大學資訊管理系 發表者 : 李亞哲 指導 教授 : 黃純敏 博士. 報告者 : 學號 : 102598059 姓名 : 吳杰宇. 研究背景與動機. 研究背景 : 網路 上擁有琳瑯滿目的新聞網站,每個網站為了突顯 出自己 的獨特性來吸引讀者,習慣在 同一件事情上使用不同的字詞解釋類似的意思 ,使 文章更生動、更具可讀性 。 雖然這些不斷創造的同義字能夠幫助人類語言進步地更快速,但是 對電腦 而言 ,要能夠自動化地 辨別同義字、建 構同義 字庫是 個 難題。
E N D
運用輕量化方法建構中文同義字庫於資訊檢索學校:國立雲林科技大學資訊管理系發表者:李亞哲指導教授:黃純敏 博士 報告者: 學號:102598059 姓名:吳杰宇
研究背景與動機 • 研究背景:網路上擁有琳瑯滿目的新聞網站,每個網站為了突顯出自己的獨特性來吸引讀者,習慣在同一件事情上使用不同的字詞解釋類似的意思,使文章更生動、更具可讀性。雖然這些不斷創造的同義字能夠幫助人類語言進步地更快速,但是對電腦而言,要能夠自動化地辨別同義字、建構同義字庫是個難題。 • 研究動機:過去研究提出萃取同義字的方法是非常依賴資料集,需要大量的資料集來提升整體精確度,如此會使電腦負荷量過高,因此本研究提出了一種輕量化建構同義字庫的方法。
研究目的與貢獻 • 1. 提出一種創新方法以萃取過去研究都未解決的一型多詞型態。 • 2. 提出的方法能夠利用維基百科中具備結構化欄位的資訊盒找出非包含數字的一型多詞同義字,例如「S.H.E」是由「Selina」、「Hebe」、「Ella」的偶像團體。 • 3. 提出的方法能夠替換任何的中文斷詞方法以及資料集,且不影響品質。 • 4. 開放平台供外界進行同義字的建議,彌補只依賴維基百科作為同義字萃取來源的缺點,最後證明其精確率是非常高的。 • 5. 提出萃取同義字的方法是非常輕量化的,已經證明電腦能夠以低負荷、高萃取速度找出同義字。
中文縮寫詞 • 縮寫的目的就是將結構複雜、音節較多的字刪減並省略[6],常見的縮寫型態可分為縮減法(Reduction)、刪去法(Elimination)以及概括法 (Generalization)[7]。 • 縮減法:日常生活中最常見的一種,它是一種在原形詞中挑選不連續的字成為縮寫的方法,如原形詞「台灣大學」挑選「台」、「大」成為縮寫詞「台大」。 • 刪去法:與縮減法類似,但是在原形詞挑選出的字必須要連續,如原形詞「技嘉電腦公司」挑選連續的「技」、「嘉」成為縮寫詞「技嘉」。 • 概括法:即一型多詞是指由許多的原形詞簡化成縮寫詞稱之,如原形詞「陸軍」、「海軍」、「空軍」可以簡稱為「三軍」。
中文斷詞處理 • 資訊檢索領域中,電腦為了辨識兩句話是否相等,必須要經過斷詞處理進而判斷兩句話是否為相同意思。 • 以下皆是常用斷詞法 • 詞庫斷詞法:在電腦中事先累積大量的詞庫。 • N-Gram斷詞法:N 指的是依照字的長短,一個字可以稱為一個Gram。 • 混和斷詞法:先是使用詞庫斷詞擷取出文章中的字詞,再將剩下其沒有取出的剩餘字詞使用N-Gram 斷詞法。
系統架構概觀 • 系統步驟: • 1.查詢字收集步驟(Query WordCollecting Step) • 2.同義字配對步驟(Synonym Matching Step) • 3.記錄步驟(Recording Step) • 使用者互動的兩個機制: • 1.同義字評估機制(SynonymEvaluation Mechanism) • 2.同義字建議機制(Synonym Suggestion Mechanism) • 研究限制:本研究僅針對中文進行研究,並不包含其他語言。
查詢字收集步驟(Query Word Collecting Step) • 為了讓電腦自動取出查詢字以在配對步驟能找出同義字,產生大量的查詢字。
Yahoo!每日新聞(Yahoo !daily news) 使用Apache 開發的HttpClient[10]作為萃取Yahoo!新聞HTML 原始碼的工具,並且使用Jsoup[24]剖析出這些HTML 以萃取出Yahoo!的內文。
CKIP 文字斷詞以及詞性標註(CKIP Word Segmentation and Tagging) 使用CKIP 開放的Service[10]進行文字斷詞以及詞性標註,以圖2「施振榮:年輕人不敢冒險了」這篇新聞為例,經由CKIP 斷詞後片段結果。
名詞挑選(Noun POS selection) 經過CKIP 中文斷詞後的字詞非常地瑣碎,取出的字詞包含了標點符號以及許多詞性,其中發現除了名詞之外的詞性其長度幾乎是只有一到兩個字,且包括了標點符號,而名詞在其他篇文章中重複的機率較低,因只挑選名詞作為查詢字。
去除重複查詢字(Remove Duplicate Query Words) 由於資料集是來自3000 篇Yahoo!四個類別的新聞,經過文字斷詞後的字詞一定有重複,為了避免在同義字配對步驟重複的萃取,在這個步驟將重複的查詢字過濾掉,使用未具順序性而且不重複的Hashset[24]作為儲存查詢字的資料結構。
同義字配對步驟(Synonym Matching Step) 維基百科是一個不斷更新、開放編輯、高正確率的百科全書,非常適合作為知識庫的萃取來源[21],本研究在同義字配對步驟中,將維基百科的內文作為同義字的萃取來源,並且針對不同的查詢字進行不同的方法萃取。
判斷查詢字是否有包含數字 一型多詞的查詢字會有中文數字,如「三民主義」、「三軍」或「四大天王」,因此在這個步驟中系統必須先判斷查詢字是否有中文數字,如果查詢字有包含中文數字,系統必須要回到進行一型多詞萃取演算法,如果沒有的話,系統就直接進行萃取範圍挑選。
一型多詞萃取演算法(Polysemy Extraction Algorithm) 中文寫作時常會使用連續的頓號「、」或是特定中文連接詞(如:「或」、「和」、「以及」…等)來解釋一型多詞,如維基百科中對「三軍」的解釋如圖4。因此基於連續出現的頓號或是連接詞的啟發,提出一型多詞萃取演算法,計算這些特定字元所出現的次數,若是符合條件則萃取出來,其細節如圖5以關鍵「三軍」為例,演算法一開始先掃描全文,若發現有符合的字元(包含「頓號」、「或」、「以及」、「和」等字元)則停止,並且往後面開始掃描,計算除了特定符號以外之標點符號之前的個數,最後抽取出來的結果為:上軍、中軍、下軍,步兵、騎兵、戰車,前軍、中軍、下軍以及陸軍、海軍、空軍。
萃取範圍挑選(Extraction Range Selection) 香港知名藝人「劉德華」在維基百科的解釋畫面如圖6,發現維基百科對每一個字詞的第一段幾乎都會使用同義字來解釋其定義,之後的內容則是內容詳細介紹,因此在萃取同義字中只將第一段視為萃取範圍。
模式對應(Pattern Mapping) 如圖7「國立成功大學」以及圖8「國立政治大學」在維基百科中的第一段解釋,可以發現兩間學校的英文縮寫以及簡稱的位子與查詢字之間的字元是一模一樣的,而為了讓電腦能夠自動地辨識這些同義字的位置,將這個模式事先定義為如圖9,其中QueryWord是指每一個維基百科頁面的查詢字,MappingWord是指要萃取的同義字。 電腦藉由以下步驟找出同義字: 1. 掃描模式中的查詢字以及配對字(如圖8 的QueryWord和MappingWord)。 2. 判斷模式中的查詢字和配對字之間的字元是否和維基百科中的查詢字和配對字是一模一樣的。 3. 若一模一樣即將之配對字萃取出為同義字。
HTML 標籤配對(HTML Tag Mapping) 如「劉德華」在維基百科中的第一段解釋,維基百科習慣在同義字「Andy Lau Tak-wah」以及「劉福榮」上使用粗體字表示,因此藉由這種粗體字特徵視為同義字萃取的線索,將之萃取出。
資訊盒數值配對(Infobox Value Mapping) 資訊盒還能夠幫助系統萃取出非包含數字的一型多詞,如維基百科中對「S.H.E」的解釋畫面如圖10,說明了「S.H.E」的現任成員有「Selina」、「Hebe」和「Ella」,如此一來,可以藉由資訊盒欄位的說明萃取出非包含數字的一型多詞同義字。
移除標點符號且字面相同的字(Remove Punctuation and Identical Words) 本研究使用不同的方法萃取同義字,因此所萃取的同義字有機率發生字面上的重複或是存在標點符號,論文將字詞使用無順序、不重複的資料結構Hashset[24]來儲存這些同義字,以避免萃取出重複的同義字。
記錄步驟(Recording Step) 由於同義字會因為不同的時間而改變,因此在新增同義字至資料庫之前,必須先取得當時的時間,再儲存至資料庫中。本研究將同義字庫分為六個欄位,分別為由資料庫產生的獨一無二編號(Unique ID)、查詢字、配對字、配對規則、接受度分數以及配對時間,其萃取結果參考如圖12。獨一無二編號是為了方便程式萃取所定義, 接受度分數是為了計算外界認為19同義字配對的接受程度。
實驗評估標準 本研究使用精確率(Precision rate)以及召回率(Recall rate)作為電腦萃取同義字的衡量準則,其之間的差異表以及公式如表3 以及公式1、2,在本研究中,精確率是指系統萃取出的同義字正確的程度
實驗方法介紹 主要目的是要評估由系統自動找出同義字的精確率以及召回率
實驗方法介紹 由於在步驟一發現60 位受測者在異形同義型態中認為有許多同義字是遺漏的,因此為了驗證這些受測者所建議的同義字是正確,使用右方流程圖。 建議的同義字會被系統馬上地更新回同義字庫,並且要求每一位受測者填寫「是否同意這組同義字是正確的」
實驗結果與結論 • 最後實驗結果如圖17,我們發現受測者建議的同義字接受度在80%~95%之間,雖然這些同義字是維基百科中未提到的,但是被大家接受程度卻很高
評估時間 在實驗步驟三中,我們主要目的是要評估系統萃取同義字的速度。實驗環境為Windows7 作業系統、AMD3.2GHz 雙核心處理器、記憶體4.00GB 環境、並且使用Java7 實作,發現在100 組查詢字,系統找出7 組同義字只需要0.06 秒。
結論 • 在資訊檢索領域中,過去對於縮寫詞或是同義字的萃取方式多是使用統計方式讓電腦判斷字詞之間是否相同意思,這種方式除了依賴資料集之外,長期下來還會造成電腦龐大的負荷,論文提出了一種輕量化建構同義字庫,不會因為資料集的數量、內容影響到萃取出同義字的品質,實驗結果發現,提出的建構同義字庫方法除了能讓電腦自動地萃取出縮寫詞、異形同義之外,還能夠萃取出過去研究都尚未解決的一型多詞型態。 • 自動化萃取出的同義26字 • 精確率為72%、召回率82% • 經過受測者建議之後,平均精確率提升到89%、召回率為95%, • 電腦平均找出7 組同義字配對只需要0.06。