文本分類方法的關鍵在於文本的特徵表示, 傳統上使用計數的表示型態,然而
這種表示方法假設字詞之間的關係是獨立的,因而忽略了語意資訊,其特徵亦有
維度高且稀疏的特點,故無法良好的表示文本。在深度學習中詞嵌入 (Word
Embedding) [6] 的方法取得了良好的成效,詞嵌入從大量未標記的文本資料中無監督式
的學習詞向量,藉由其優化過程,使得學習到的詞向量表示包含字詞的語意關係。
本論文延續過去學者的經驗、成果以及貢獻,針對文本分類的特性及困難點, 進
一步地深入研究自動文本分類方法與特徵使用,以提高自動文本分類的正確率為
目標,希望藉由自動文本分類技術的提昇,使文本分類的結果能完美詮釋文本內
容及主題。
本論文的主要貢獻在於提出關聯的表示學習法,應用目前新穎的神經網路架
構,在連體神經網路,我們藉由這些新穎網路學習原始文本與文本的相似程度關
係,讓模型學習同類別文本之間的語意關聯性,同時也學習不同類別文本之間的
差異性,因此可以使模型學習到良好的文本表示。在生成式對抗網路中,我們利
用了對抗式的學習,使得模型中的鑑別器可以藉由較弱的生成器,來學習更為強
健的文本表示。
5
1.4 論文章節安排
第二章: 簡介背景知識與回顧當前主要的文本分類方法。
第三章: 基礎實驗與實驗環境設定。
第四章: 介紹文本的學習表示。
第五章: 詳述類神經網路模型於文本分類上。
第六章: 詳述並探討本論文提出利用神經網路詞向量結合新穎神經網路架
構於自動文本分類實驗。
第七章: 本論文結論與未來研究方向。
6
第 2 章 相關研究
2.1 文本分類綜述
自動文本分類的主要目標是將每一個自然語言文本自動地給予事先定義的類別
標籤。給定一個訓練文本集 D = {𝑑1 , 𝑑2 , … , 𝑑𝑚}和預定義的類別標籤集 C =
{𝑐1 , 𝑐2 , … , 𝑐𝑛},對於一個未知的待定文本,我們希望去預測該文本的類別標
籤。
自動文本分類的相關研究大約從 1960 年開始,早期的自動文本分類任務主
要是建立於知識工程 (Knowledge Engineering) [7] 方法,藉由專家制定一些分類
的規則對文本進行分類,這種方法費時費力,並且需要對某領域有一定的了解程
度,才能制定合適的分類規則。
到了 1990 年,隨著社群網路和機器學習方法的興起,巨量的文本分類和檢
索引起了學者的關注,自動文本分類系統透過事先分類好的文本集訓練,並建立
一組分類模型,進而對未知類別的待定文本進行自動分類。大量的文獻表明這樣
的分類效能比基於知識工程分類方法來的更好,且其學習不需要領域專家的干涉,
能夠應用於任何領域的學習,這也成為目前自動文本分類的主流方法。
7
2.1.1 單標籤和多標籤文本分類
根據不同的應用,我們可以給予文本一個或多個類別標籤。舉例來說,在電影評
論中可能包含多種錯綜複雜的情緒面向,像是快樂、驚訝…等等。我們可以給此
評論多個類別標籤,這種類型的分類我們稱之多標籤的文本分類。 然而在某些
應用中,我們只能給予文本一個專屬的類別標籤,像在惡意郵件的偵測中,我們
只能給予郵件單一的類別標記,我們必須明確的判定郵件屬於合法或非法,這種
類型的分類即為單標籤的文本分類,即給予文件集 D 中的每份文件 𝑑𝑖 一個屬於
標籤集 C 中的類別標記 𝑐𝑗。在本論文中,我們僅討論於單一標籤的文本任務,即
單標籤的自動文本分類任務。
2.1.2 文件導向和類別導向文本分類
對於文本的分類器我們有兩種不同的使用方式,我們能以文件或是類別為核心來
建構分類器。給定一份屬於文件集 D 的文件 𝑑𝑖,我們希望從類別標籤集 C 中尋
找對於該份文件為合適的類別 𝑐𝑗,這種類型我們稱之為文件導向的文本分類
(Document-Pivoted Text Categorization, DPC),我們亦可以從類別標籤集中給定一 個類別𝑐𝑗,從文件集 D 中找尋所有符合該類別的文件,此種類型即為
(Category-Pivoted Text Categorization, CPC)。
8
當文件集或類別標籤集在訓練初始時是未知時,兩種導向的概念和應用的地
方不盡相同,文件導向的文本分類適合用於一次分類一個文件的任務,例如惡意
郵件的分類應用,而類別導向文本分類則適合用於增加新類別的應用,例如專利
的應用分類。在本論文中我們探討主要應用基於文件導向的文本分類任務。
2.1.3 硬性和軟性文本分類
硬性的文本分類模型必需將每一個文件給予類別標籤集中的一個類別,而軟性文
本分類模型,則是給予每一個文件一個標籤相關的高低次序,或者給予一個類別,
讓模型去排序所有文件對於該類別的一個相關次序。這樣的排序名單對於負責決
策的分類專家有很大的幫助,領域專家可以去限制位於高次序的項目,而非檢驗
整個訓練集。在本論文中,我們對文本採用硬性的分類原則。
2.2 文本特徵選擇方法
特徵選擇 (Feature Selection),又稱作子集選取 (Subset Selection) 的目標是為了
增進分類效能、減少複雜度,從原始特徵空間中移除未含有分類資訊或者包含較
少資訊的特徵項,進而挑選出具有鑑別力特徵的過程。
9
使用特徵選擇技術的關鍵在於訓練資料中包含了許多無關或冗餘的特徵項,
因此移除這些特徵不會導致學習的演算法失去重要的資訊。傳統上我們會選擇文
本中的詞來當作該文本的特徵項,其中特徵項的粒度可以從一個單詞、詞彙或是
片語,在中文裡,由於中文的單詞對文本的理解區分度並不明顯,所以通常採用
詞彙或是片語來當作文本的特徵項,英文則無此限制。在本小節中,我們將介紹
在文本特徵選擇上常使用的方法。
2.2.1 資訊增益 (Information Gain, IG)
資訊增益 (Information Gain) [8] 在機器學習領域中被廣泛使用,其衡量標準在於
特徵能夠為分類系統帶來多少增益,給予系統的資訊越多,則表示該特徵對於系
統就越為重要。在文本分類的系統中,我們常採用詞作為特徵項,對於特徵詞 t
和文本類別 C, 資訊增益觀察類別中是否出現特徵詞來衡量增益效果,其式子如
下:
𝐼𝐺(𝑡) = 𝐻(𝐶)- 𝐻(𝐶|𝑡)
= − ∑𝑛𝑖=1𝑝(𝐶𝑖) ∗ log2𝑝(𝐶𝑖) +
𝑝(𝑡) ∑𝑛𝑖=1𝑝(𝐶𝑖|𝑡) ∗ log2𝑝(𝐶𝑖|𝑡) + 𝑝(𝑡′) ∑𝑛𝑖=1𝑝(𝐶𝑖|𝑡′) ∗ log2𝑝(𝐶𝑖|𝑡′) (2.1)
10
其中 𝑝(𝐶𝑖)表示某類別出現的機率, 𝑝(𝑡)表示語料中包含特徵詞 t 的文件的機率,
𝑝(𝑡′)表示語料中不包含特徵詞 t 的文件的機率,𝑝(𝐶𝑖|𝑡)表示文件包含特徵詞 t 時
屬於類別 𝐶𝑖 的條件機率,𝑝(𝐶𝑖|𝑡′) 表示文件不包含特徵詞 t 時屬於類別 𝐶𝑖 的條
件機率, n 表示類別數目。
資訊增益是一種基於熵 (Entropy) 的評估方法,定義為某特徵詞為整個分類
所能提供的資訊量,根據訓練資料,計算每個特徵詞的資訊增益量,刪除資訊增
益量較小的特徵詞。資訊增益是資訊理論中的一個重要概念,它表示了一個特徵
詞存在與否對於類別預測的影響,而在類別不平衡的情況下,使用資訊增益會使
得其結果偏向那些具有更多數值的特徵,這也使使用資訊增益的一大缺點。
2.2.2 相互資訊 (Mutual Information, MI)
相互資訊 (Mutual Information) [9] 是分析語言模型的常見方法,相互資訊衡量的
是兩個隨機變數的相互依賴的程度,相互資訊並不局限於實質的隨機變數,更著
重於聯合機率分布和邊緣分布之間的相似程度。
一般而言,兩個離散隨機變數𝑋和𝑌的相互資訊可以由下列式子表示:
𝐼(𝑋; 𝑌) = ∑𝑦∈𝑌∑𝑥∈𝑋𝑃(𝑥; 𝑦) log𝑃(𝑥)𝑃(𝑦)𝑃(𝑥,𝑦) (2.2)
在連續隨機變數的情形,式子如下:
11
𝐼(𝑋; 𝑌) = ∫ ∫ 𝑃(𝑥; 𝑦)𝑌 𝑋 log𝑃(𝑥)𝑃(𝑦)𝑃(𝑥,𝑦) dx 𝑑𝑦 (2.3)
其中𝑃(𝑥; 𝑦)指的是𝑋和𝑌的聯合機率分布,𝑃(𝑥) 和 𝑃(𝑦)分別是𝑋和𝑌的邊緣分布函
數。在文本分類的特徵選擇中,我們探討的是某個詞與類別之間互相依賴的程度,
對於每一個類別,特徵詞 t 對於其相互資訊量越大,則表示它對於該類別的貢獻
程度越大。
2.2.3 卡方檢驗 (Chi-square, CHI)
卡方檢驗 (Chi-square) [10] 最基本的思想是透過觀測實際值和理想值的差異來
決定理論是否正確。假設兩個變數值為獨立,如果實際值和理想值得差異夠小,
表示假設成立,如果實際值和理想值誤差很大,則表示兩個隨機變數是相關的。
在文本分類的特徵選擇階段中,我們先假設特徵詞與類別不相關,如果計算
出的開方檢驗值越小,即假設成立,否則即表示特徵詞和類別具有關聯性。
然而卡方檢驗的缺點在於它只統計文件是否出現特徵詞,而不考慮詞頻,這使得
某些低頻詞的效益增加,這就是在卡方檢驗的低頻詞缺陷問題,因此卡方檢驗在
使用時也常加入詞頻來避免這個問題。卡方檢驗的式子如下:
𝑥2(𝑡, 𝑐) = (𝐴+𝐶)∗(𝐵+𝐷)∗(𝐴+𝐵∗(𝑐+𝐷))𝑁∗(𝐴𝐷−𝐶𝐵)2 (2.4)
12
N 為訓練集文件的總數,A 為包含特徵詞且屬於類別 c 的文件數目,B 為包含特
徵詞且不屬於類別 c 的文件數目,C 為屬於類別 c 且不包含特徵詞 t 的文件的數
目,D 為不屬於類別 c 且不包含特徵詞 t 的文件數目。因此卡方檢驗的目標在於
判斷特徵詞 t 和類別 c 是否獨立,如果獨立則表示特徵詞 t 對於類別 c 沒有什麼
關聯,如果不獨立,即表示特徵詞 t 對於類別 c 具有關聯性。
2.2.4 文件頻率方法 (Document Frequency, DF)
在文件頻率方法 (Document Frequency) 中,使用特徵詞在一個類別中出現的文件
數來表示這個特徵詞與類別的相關程度,特徵詞若在某類別的文件中出現頻率越
高,則表示對於該類別的重要程度也越大,式子如下:
DF (t,c) = log 𝐷𝐹𝑡
log 𝑁𝑐 (2.5)
其中,𝐷𝐹𝑡 為特徵詞 t 在類別 c 中出現的文件數目,𝑁𝑐為類別 c 中的文件數目。
通常會設定一個邊界值,如果計算得到的文件頻率值小於該邊界值,則認為該特
徵詞在這個類別的文件中出現次數太少,對於辨識此類別的貢獻度較低,或是該
特徵詞在其他類別的文件頻率值也很高,那麼表示這些特徵詞也不能很好的反映
類別資訊,需將其刪除。
13
2.2.5 基尼指數 (Gini coefficient, Gini)
基尼指數 (Gini coefficient) [11] 是一種非純度的特徵分裂方法,由 Breiman 等人
於 1984 年所提出的,此特徵選擇方法被廣泛應用於 CART、SLIQ、SPRINT 等決
策樹演算法中。在分類問題中,假設有 K 個類別,則待定文本 D 屬於第 K 個類
別的機率𝐷𝑘,其基尼指數定義如下:
別的機率𝐷𝑘,其基尼指數定義如下: