Synonym Matching Step

Download Report

Transcript Synonym Matching Step

運用輕量化方法建構
中文同義字庫於資訊檢索
學校:國立雲林科技大學資訊管理系
發表者:李亞哲
指導教授:黃純敏 博士
報告者:
學號: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 Word Collecting Step)
 2.同義字配對步驟(Synonym Matching Step)
 3.記錄步驟(Recording Step)
 使用者互動的兩個機制:
 1.同義字評估機制(Synonym Evaluation 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。
 感謝大家的聆聽!!!