• 沒有找到結果。

2.3 文本分類方法概述

2.3.5 決策樹

決策樹 [18] 是一種樹狀結構的分類器,決策樹從根節點開始,根據不同的文本

分成數個樣本子集,每個子集構成一個子節點,生成的決策樹每個樹葉對應一個

20

類別,建立決策樹的目的是尋找特徵和文本之間的關係,並用其預測待定文本的

類別。

決策樹的建立為一種遞迴的過程,分為兩個步驟進行,第一步判斷訓練文本集 D

中所有文本是否都屬於同一類別,若皆為同一類別,則訓練文本集不再分化,形

成樹葉。否則,根據演算法策略選擇特徵,並按照特徵對訓練文件集 D 進行分化,

得到 n 個子文本訓練集,符號為 𝐷𝑖,接著再對每個 𝐷𝑖 進行第一步驟。

經過了 n 次遞迴,決策樹的生成完成,從根節點到葉節點的路徑對應著一條

規則,整顆決策樹就包含一組分析文本類別的規則,在決策樹中,特徵屬性選擇

的方法有很多種,如 ID3、C4.5、CART 等等 [19,20,21]。

在使用決策樹分類器時,最關鍵的部分在於不讓模型有過度擬合的現象發生,

特別在於含有噪音的文本或是有不在規則中屬性時,決策樹容易過度擬合,因此

通常使用決策樹的剪枝來解決此問題,常見的剪枝法有事前修剪法 (Prepruning)

和事後修剪法 (Postpruning)。

21

決策樹分類器的優點在於結構清晰,易於理解和解釋,在建構樹的過程中,

如果出現問題很容易測試,也能很好的應用到大型的資料集,缺點在於容易會有

過度擬合的現象,需要使用良好的剪枝策略,才能達到良好的分類效果。

2.4 文本分類性能評估

由於自動文本分類在自然語言領域有關鍵性地位和廣泛的應用潛力,因此得到了

許多學者的熱切關注。隨著人工智慧、機器學習和統計理論的快速發展,目前有

各式各樣的自動文本分類模型。因此,如何有效且客觀的評估與比較這些分類方

法與模型成為了一個重要課題。

2.4.1 基本指標

文本分類的性能評估基本指標和資訊檢索領域指標類似,如查準率 (Precision)、

查全率 (Recall)、準確率 (Accuracy)、誤報率 (Error)。

真正屬於該類 真正不屬於該類

判斷屬於該類 A B

判斷不屬於該類 C D

表 2.1 分類混和矩陣

22

23

24

第二項綜合指標為平衡點 (Break-Even Point, BEP),其想法為的查準率和查

全率相等時能完美呈現分類器模型的效能,該值稱為平衡點。如果測試時無相等

值出現,則取最為接近的值作為平衡點,此時:

BEP = 𝐹1 = 𝑃 = 𝑅 (2.18)

第三項綜合指標為宏平均 (Macro-Average) 和微平均 (Micro-Average),查全

率和查準率都是在某一類別進行效能評估,為了估計整個資料集的效能,我們使

25

宏平均是對於類別的平均,容易受到文件較少的類別所影響,而微平均則相反,

容易受到文件較多的類別所影響。

26

第 3 章 基礎實驗與配置

3.1 實驗語料

本論文實驗做於主題辨識和情緒分類任務的語料,在本章節將介紹本論文使用的

資料集,本論文使用兩個文件資料集進行實驗。

首先 IMDB 電影評論資料集為本實驗的第一個資料集,本資料集為情緒分類

熱門的資料集,其目的是將待定的電影評論進行正評價和負評價的預測。在本資

料集中,訓練和測試資料集皆包含兩萬五千條影片評論,每條評論擷取自 IMDB

網站上情緒傾向明確且結構良好的文本。評論的資料結構為三元組型態:使用者

識別碼、評價標籤、影片評論。該資料集在 [22] 中推出。

第二個資料集為 20Newsgroups 新聞群組分類,在本資料集中共有 18846 個

新聞群組文檔,在二十個不同的新聞群組中,每個新聞群組對應不同的主題,某

些新聞群組非常密切相關( 例如 comp.sys.ibm.pc.hardware 和

comp.sys.mac.hardware ) 如表 3.1 所示,每個新聞群組的文檔數大約為五百篇文

檔,本資料集最早是由 Ken Lang [23] 所收集,本論文使用的語料為已排序後的

資料集版本,20Newsgroups 也是在目前自動文本分類的應用中熱門的資料集。

27

資料集 訓練/驗證/測試數量 最大/平均/最短長度 類別 IMDB 22500/2500/25000 2470/233/10 2 20Newsgroups 10183/1131/7532 11295/267/20 20

表 3.1 資料文件統計資訊

28

也嘗試了給予的不同輸入特徵於樸素貝葉斯和支持向量機,分類效能也有增進的

趨勢,可以發現考量 bigram 特徵的分類器會有效能上的增長,但支持向量機分類

器的效能還是比樸素貝葉斯分類器來的好。

29

第 4 章 文本表示學習

4.1 表示學習概述

近年來,表示學習 (Representation Learning) [24] 或非監督的特徵學習,由於可

以自動地發現原始資料的特徵,有效地避免複雜的知識工程專家的干涉,成為了

近期重要的研究方向。其中,使用深度學習作為特徵學習,不僅可以利用大量的

訓練資料完成傳統機器學的目標,我們還可以利用模型的訓練過程中產生深層的

特徵,利用此特徵表示我們可以有效的提高模型的準確性,圖 4.1 呈現了傳統機

器學習、表示學習和深度學習的差異。

30

圖 4.1 傳統機器學習、表示學習和深度學習流程圖

4.2 統計語言模型

目前的網路世界發展迅速,每日都會產生大量的文本資訊,要對這些文本資訊進

行處理並挖掘出有價值的資訊,和自然語言處理領域密切相關,其中統計語言模

31

型就是很重要的一部份,統計語言模型是自然語言領域的基礎,該模型也常廣泛

應用於語音識別、資訊檢索、機器翻譯、詞性標記等任務中。

統計語言模型是用來計算一個句子機率的機率模型,給定 S = 𝑊1𝑇 =

(𝑊1, 𝑊2, … 𝑊𝑇)表示由 T 個詞所組成的句子,則𝑊1, 𝑊2, … 𝑊𝑇的聯合機率分布為:

𝑝 (S) = 𝑝 (𝑊1, 𝑊2, … 𝑊𝑇) (4.1)

利用貝氏定理,上述式子可以分解為:

𝑝 (S) = 𝑝 (𝑊1) * 𝑝 (𝑊2|𝑊1) * 𝑝 (𝑊3|𝑊12) * … * 𝑝 (𝑊𝑇|𝑊1𝑇−1) (4.2)

因此我們必須去估計以上語言模型的參數,但在實現上有些困難,以上述例子來

說,句子長度為 T,故須計算 T 個參數,假設資料集的詞彙量為 N,假設不考慮

參數重複的情況,則其複雜度為 T ∗ 𝑁𝑇, 除了參數計算量龐大之外,其儲存的

花費也是一個問題。因此,我們需要一個估計參數較少的模型,在本小節,我們

將介紹 N 元語言模型和類神經網路模型兩種方法。

4.2.1 N 元語言模型(N-gram)

32

33

時,模型效能的提升幅度會縮小。此外使用 N 元語言模型的一個問題在於,測試

時出現了訓練集中沒出現的詞,則模型估計的機率為 0,通常都使用平滑

(Smoothing) 技術來解決。

4.2.2 機率式神經網路語言模型

在 2003 年 Bengio 等人 [26] 提出了機率式神經語言模型,示意圖如下,該

模型為四個層的網路,分別是輸入層 (Input Layer)、投影層 (Projection Layer)、

隱藏層 (Hidden Layer) 和輸出層 (Output Layer),其中 W 和 U 分別為投影層與

隱藏層和隱藏層與輸出層之間的權重矩陣,p 和 q 分別為隱藏層和輸出層的偏移

向量。

圖 4.2 神經網路結構示意圖

34

在 [26] 的實驗中,作者發現使用投影層和輸出層之間的權值矩陣雖然無法提高

模型效果,但能減少模型的迭代次數,近年來,人們更多將圖 4.2 結構視為圖 4.3

的三層結構。

圖 4.3 三層神經網路結構示意圖

對於資料集中的任一個詞𝑤,將 𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)表示為前 n-1 個詞,對於訓練

樣本(𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤), 𝑤),給定詞向量的長度𝑚,我們將輸入到圖 4.2 的網路,式

子如下:

𝑧𝑤 = tanh(𝑊𝑥𝑤 + 𝑝) (4.7)

𝑦𝑤 = 𝑈𝑧𝑤 + 𝑞 (4.8)

經過上述計算所得到的𝑦𝑤,為一個長度為 N 的向量,我們使用 Softmax 正規化方

法將其表示為當上下文為𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)時下一個詞為詞典中第 i 個詞的機率,其表

示如下:

35

p(𝑊|𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)) = 𝑁𝑒𝑦𝑤,𝑖𝑤𝑒𝑦𝑤,𝑖

𝑖=1 (4.9) 其中 tanh 為雙曲正切函數,在此為用於隱藏層的激發函數,𝑖𝑤 代表詞 w 在字典

中的索引值。

機率式神經語言模型與 N 元語言模型相比,有以下兩大優勢,第一為詞語之

間的相似程度可以透過詞向量來呈現,例如在一個訓練集中,句子一:”我喜歡

吃蘋果”出現了一千次,而句子二:”我喜歡吃榴槤”只出現了一次,依照 N 元

語言模型的流程,句子一出現的機率會遠大於句子二,但兩句之間的差異只在蘋

果和榴槤,這兩個詞彙在語意和句法上為相同的角色,因此句子一與句子二的機

率應該相近。然而,由機率式神經語言模型算出以上兩句的機率為相似的,因為

在機率式神經語言模型中假設了相似的詞其詞向量也是相似的。第二為機率式神

經語言模型不需要像 N 元模型需用平滑技術處理。

4.3 詞向量(Word Embedding)

在自然語言處理領域中,我們必須將自然語言交由機器學習演算法處理,但是機

器無法直接理解人類的語言,所以我們必須先將自然語言數學化,最直觀且簡單

的詞向量為 one-hot 表示,即使用詞典的大小 N 來表示文本,有出現在詞典中的

36

字向量索引為 1,其他為 0。這種表示法的缺點在於無法很好的描述字詞之間的

關聯程度,且容易受到維度詛咒的影響。

在 1986 年,Hinton 等人 [27] 提出分散式的表示 (Distributed

Representation) 可以很好的改進 one-hot 表示的缺點,其思路在於透過訓練將每個

詞語由固定長度且稠密的向量表示,這些向量組成一個詞向量空間,每一個向量

為空間中的一個點,我們可以在此空間上引入距離的概念,用詞與詞之間的距離

來判斷其語意和語法的相似程度。

使用基於類神經網路的語言模型做為學習詞表示的模型,在近年來掀起了一

股熱潮。在 2013 年由 Mikolov 等人 [28] 所提出的 Word2vec 方法是一個使用一

層隱藏層來學習詞向量的模型,連續詞袋模型 (Continuous Bag of Words, CBOW)

和跳躍式模型 (Skip-gram, SG) 為 Word2vec 模型的兩種實現方式。

4.3.1 連續型詞袋模型(Continuous Bag of Words, CBOW)

連續型詞袋模型是由 Mikolov 等人所提出的兩個經典架構之一,該架構類似於前饋

類神經網路 (Feed-Forward Neural Network),不同之處在於連續型詞袋模型移除非

線性隱藏層 (Non-Linear Hidden Layer)。如此,該模型僅使用線性表示能力來計

37

算詞的實數表示向量,仍然可以保持良好的性能。在連續型詞袋模型中,是透過

一個詞的上下文 (Context) 來預測該詞的機率,如圖 4.4 所示:

圖 4.4 連續型詞袋模型

4.3.2 跳躍式模型(Skip-gram, SG)

跳躍式模型是由 Mikolov 等人所提出的另一經典架構,該模型以簡化的前饋類神

經網路透過逆向訓練目標來學習詞表示法。該模型與連續型詞袋模型相反,是

給定一個詞𝑤來預測其上下文𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)的機率,如下圖 4.5 所示:

38

4.5 跳躍式模型

4.4 基於 Hierarchical Softmax 模型

本節將介紹基於 Hierarchical Softmax 的連續詞袋模型,在圖 4.6 中顯示連續型詞

本節將介紹基於 Hierarchical Softmax 的連續詞袋模型,在圖 4.6 中顯示連續型詞

相關文件