第三章 研究方法
3.3 維基百科內容前處理
3.3.1 WikiExtractor 擷取本文
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
3.3 維基百科內容前處理
在研究中使用維基百科內容以及使用者提供相關句作為研究語料。但是,於維基 百科:資料庫下載中所提供的維基百科內容是以XML 格式紀錄許多資訊。因此 需透過前處理,將資料處理成所需的格式。以下分別介紹維基百科內容前處理方 式,其中包含擷取條目正文、中文簡繁轉換、移除標籤與剩餘空白、斷句及斷詞。
3.3.1 WikiExtractor 擷取本文
條目維基百科內容是以XML 格式保存中文維基百科資料,如圖 3 所示,其中包 含條目正文、相關欄位以及頁面基本設置…等基本資訊,大小約為6.7G。在本研 究中,透過WikiExtractor[31]擷取條目標題、條目正文及條目 id。擷取後結果如 圖 4 所示,其中每一行對應維基百科內容的一個段落,每個段落之間以空白行 作為分隔。
圖3 中文維基百科原始語料(部分結果)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖4 WikiExtractor 擷取正文(部分結果) 3.3.2 中文簡繁轉換
雖然在本研究中是針對繁體中文,但是在維基百科內容主要使用者為香港地區、
臺灣以及中國大陸地區。正因如此在維基百科內容中文繁簡混雜,所以必須將簡 體中文統一轉換成繁體中文,轉換後的結果如圖5 所示。
而在研究中,透過OpenCC [30](Open Chinese Convert,開放中文轉換)進行轉換,
其不僅能將簡體中文轉換成繁體中文,亦能同時使用臺灣繁體常用的詞彙,在例 句 J1 中為原始簡體中文例句,而例句 J2 為經 OpenCC 轉換成繁體中文後的結 果,其中在原始簡體中文例句中詞彙「光盘」轉換成臺灣繁體常用詞彙「光碟」。
J1. 给我一张光盘。
J2. 給我一張光碟。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖5 簡體中文統一成繁體中文,使用 OpenCC(部分結果) 3.3.3 移除剩餘標籤與去除空白
透過WikiExtractor 擷取條目正文,擷取出的內容不僅僅包含正文,亦同時會包含 每篇文檔的編號、基本資訊以及空白行將段落作分隔。而在研究中,因為針對維 基百科內容的條目正文資訊作處理。因此要將要將編號、基本資訊等標籤以及空 白行進行去除,圖6 示範移除剩餘標籤與去除空白後的結果。
圖6 移除剩餘標籤與去除空白行(部分結果)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
3.3.4 斷句
在研究中相關句是以例句為單位,因此擷取維基百科內容後,需將正文進行斷句 處理,以產生例句。斷句是以標點符號(逗號、句號、驚嘆號、分號)作為句子之 間的分割點,斷句後每句獨立的句子稱之為例句,經過斷句處理的中文維基百科 後總共有 26,815,431 個例句。例句長度為原始例句的字串長度(包含中英、數字 及標點),如例句 K1 例句長度為 27,例句 K2 例句長度為 15。
K1. 2003 年 3 月 14 日臺灣首例非典型肺炎引發 SARS 風波 K2. 不久就傳入日本、朝鮮、越南等國
圖 7 展示例句長度為 1 至例句長度為 100 數量之統計結果。例句平均長度 為15 個字元,例句長度眾數為 10 個字元。此外最長的例句達到 3,859 個字元,
內容為例述中國人民政治協商會議第五屆全國委員會委員名單;圖 8 示範中文 維基百科斷句後結果。
圖7 例句長度以及數量(部分結果,例句長度 1 至 100 之數量統計)
0 200,000 400,000 600,000 800,000 1,000,000 1,200,000 1,400,000 1,600,000
1 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151
數量
例句長度
例句長度與數量線圖
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖8 中文維基百科斷句後結果(部分結果) 3.3.5 維基百科內容基本數據統計
表 3 呈現維基百科內容基本數據。維基百科資料庫平均一至二個禮拜更新一次 內容,而本研究於 2018 年 11 月 1 日取得最新維基百科內容,其總條目數共有 1,029,447 篇條目。而在研究中是以相關句為基礎,因此須將維基百科內容進行 斷句,經標點符號進行斷句後共有26,815,431 個例句,例句平均長度為 15 個字 元,每個條目平均有26 個例句。
表3 維基百科內容基本數據統計
3.3.6 斷詞
在中文,詞彙為最小有意義的單位,然而中文並不像是英文詞彙之間有空白作分 隔。因此需要藉由斷詞器來作處理。在目前研究中,使用兩種斷詞器進行斷詞,
分別為CKIP 中文斷詞系統以及結巴(Jieba)斷詞器,以下分別介紹:
取得日期 2018 年 11 月 1 日 條目總數 1,092,447 篇 總例句數目 26,815,431 句 例句平均長度 15 字元 條目平均例句數 26 句
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
1. CKIP 中文斷詞系統
[20
]CKIP 由中央研究院詞庫小組所開發,有單機版以及線上版。單機版允許 使用者自行更新字典,執行斷詞速度較線上版迅速。圖 9 示範維基百科內 容經 CKIP 斷詞後結果。
圖 9 CKIP 斷詞結果(部分結果) 2. Jieba 斷詞
[4
]Jieba 是一套由 python 所開發的中文開源斷詞程式,Jieba 採用隱藏式馬 可夫模型( hidden Markov model ) 搭配維特比算法( Viterbi algorithm) 找 出最佳的斷詞結果,同時支援自定義辭典以提升準確率。執行速度較單機 版 CKIP 快,在原始版 Jieba 是以簡體中文作為訓練語料,由於在研究中 實驗語料為繁體中文,因此在研究中使用繁體版 Jieba。繁體版 Jieba 採用 與原始版 Jieba 相同的演算法,不同的是繁體版 Jieba 替換原有的簡體中 文詞庫以及機率表做出針對繁體中文的斷詞器。圖 10 示範維基百科內容 經繁體版 Jieba 斷詞後結果。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖10 繁體版 Jieba 斷詞結果(部分結果) 3.3.7 斷詞器基本數據比較
表4 呈現 CKIP 和繁體版 Jieba 斷詞的結果統計。單機版 CKIP 處理整批中文維 基百科約需 50 個小時,而繁體版 Jieba 則約為 40 分鐘;斷詞後語料大小相差 10MB;總中文詞彙數兩者來到 1.9 億左右,而繁體版 Jieba 斷出多約 200 萬個詞 彙;相異中文詞彙數,CKIP 來到 230 萬左右,較繁體版 Jieba 多出約 50 萬;而 在CKIP 處理中每個詞彙的平均頻率為 82 次,繁體版 Jieba 處理中每個詞彙的平 均頻率為106 次;而二種斷詞器斷出的結果中,僅出現一次的詞彙 CKIP 有 120 萬左右,而繁體版Jieba 亦有 80 萬左右。
表4 CKIP 和 Jieba 斷詞結果統計
圖 11 呈現繁體版 Jieba 以及單機版 CKIP 斷詞器,將中文維基百科進行斷
斷詞器 CKIP 繁體版Jieba
所需時間 181,861(sec) 2,454 (sec) 斷詞後語料大小 1.22(G) 1.23(G)
總中文詞彙數 190,560,030(詞彙) 192,813,143(詞彙) 相異中文詞彙數 2,320,843(詞彙) 1,818,616(詞彙)
平均詞彙頻率 82(次) 106(次)
僅出現一次詞彙數 1,217,859(詞彙) 809,407(詞彙)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
斷詞器中所斷出的詞中,二字詞所佔比例最高,繁體版Jieba 所斷出的詞彙中,
有55.6%為二字詞;單機版 CKIP 斷詞器所斷出的詞彙中,有 49.6%為二字詞。
此外繁體版Jieba 所斷出單字、二字、三字以及四字詞佔所有繁體版 Jieba 斷出的 詞彙比例為99.9%;單機版 CKIP 斷詞器所斷出單字、二字、三字以及四字詞佔 所有單機版CKIP 斷詞器斷出的詞彙比例為 99.6%。
圖11 單字、二字、三字及四字詞所佔比例
表5 、表 6 呈現繁體版 Jieba 以及單機版 CKIP 斷詞器,將中文維基百科進行斷 詞後,頻率前100 名詞彙頻率以及所佔比例。於繁體版 Jieba 所斷出的詞彙中,
頻率前31 名詞彙皆為單字詞,頻率最高的二字詞為「中國」,於中文維基百科中 共出現461,653 次,所佔總中文詞彙比例為 0.2%;於單機版 CKIP 斷詞器所斷出 的詞彙中,頻率前30 名詞彙皆為單字詞,頻率最高的二字詞亦為「中國」,於中 文維基百科中共出現 458,742 次,所佔總中文詞彙比例為 0.2%。此外於繁體版 Jieba 中前 100 名詞彙佔總中文詞彙比例為 29.8%;單機版 CKIP 斷詞器前 100 名 詞彙佔總中文詞彙比例為30.0%。各斷詞器前 25 名所佔比例呈現在圖 12 。
‧
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖12 頻率前 25 名詞彙所佔比例
3.4 擷取相關句
在研究中,透過分群目標詞彙的相關句,將目標詞彙中義項相似的相關句集合成 一群,再透過每群之相關詞彙和代表句,對目標詞彙進行消歧。
首先,斷句後每句獨立的句子稱之為例句,而在本研究中定義相關句為具有 目標詞彙的例句。在此以目標詞彙「蘋果」為例,以下有三句例句
L1. 在日語語法學界。
L2. 內部設計為四人一間。
L3. 但並不會改變蘋果其他方面的特性。
因為例句L3 包含目標詞彙「蘋果」,例句L3 在研究中定義為相關句,而例句 L1 以及例句L2 因為未包含目標詞彙「蘋果」,因此不為相關句。
3.4.1 增加相關句語境
在實際情形中,僅將一句例句作為相關句,其提供的語境可能無法判斷目標詞彙 在此相關句的義項。在此以目標詞彙為「蘋果」例句M1 為例,蘋果代表的義項
0.00%
1.00%
2.00%
3.00%
4.00%
5.00%
6.00%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
比例
名次
頻率前25名詞彙所佔比例
繁體版Jieba 單機版CKIP
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
可以為科技產品或者水果,其語義邏輯皆可以解釋,造成「蘋果」在此相關句下 仍為歧義。
在本研究中,提供參數「左右例句數量」,設置相關句左右例句的數量。透 過增加相關句「左右例句數量」,增加相關句更多語境,用以辨讀目標詞彙在此 相關句的義項。以例句M1 左右例句數量設置為 1 為例,增加例句 M1 語境後,
透過例句M2 可以得知。
M1. 但並不會改變蘋果其他方面的特性。
M2. 能夠將導致氧化褐變的多酚氧化酶的表達量顯著降低至原先的十分之 一不到,但並不會改變蘋果其他方面的特性,研究人員在蘋果中轉入能 夠抑制多酚氧化酶的基因序列已完成RNA 干擾的過程。
目標詞彙「蘋果」在此相關句中代表的義項為水果,而非科技產品,藉此解決相 關句過短,目標詞彙在相關句中仍可能會歧義的現象。
3.4.2 剔除過短相關句
而在增加相關句語境後,因為原始語料中,標點符號錯用的緣故,使得相關句仍 過短無法提供足夠的語境資訊。以目標詞彙為「蘋果」 並且將「左右例句數量」
設置為1 為例,在維基百科內容中,其中一相關句如例句 N1,原始條目在此條 列期貨商品的種類,因此棉紗與蘋果之間不應以逗號或分號進行分隔,應以頓號 分隔相關句。
N1. 棉紗,蘋果;動力煤
因此於本研究中設計二種方式剔除過短相關句,第一種,根據相關句中的例 句最小長度;第二種,根據相關句中的例句平均長度。若以目標詞彙「蘋果」, 左右例句數量設置為1 為例,相關句如例句 O1 所示。
O1. 瑞典著名乒乓球運動員10//暱稱"金蘋果"7//左手橫握球拍6
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
其中於各個例句的右下角標記例句長度,於例句 O1 中,例句長度最小為 6,例 句平均長度為7.6,因此若設置「篩選長度」為 7 以第一種「篩選種類」進行篩 選,則剔除此相關句;反之,以第二種「篩選種類」進行篩選,則保留此相關句。
3.5 建立 K-means 分群模型
本研究,使用分群技術將相關句進行分群,使目標詞彙義項相似的相關句集合成 一群。
其中在本研究中使用K-means、聚合式階層分群法、BIRCH clustering、spectral
其中在本研究中使用K-means、聚合式階層分群法、BIRCH clustering、spectral