• 沒有找到結果。

基於類神經之關聯詞向量表示於文本分類任務之研究

N/A
N/A
Protected

Academic year: 2021

Share "基於類神經之關聯詞向量表示於文本分類任務之研究"

Copied!
85
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:陳柏琳 博士. 基於類神經之關聯詞向量表示於文本分類任務 之研究 Neural Relevance-aware Embedding for Text Categorization. 研究生: 石敬弘 撰 中華民國 一百零六 年 六 月.

(2) 中文摘要 由於資訊網路的蓬勃發展,人們在物聯網上存取文本資料的需求也與日俱增,因 此文本分類在自然語言處理的領域中的應用為相當熱門的研究。目前,在文本分 類中最為核心的問題為特徵表示的選擇,大部分的研究使用詞袋(Bag of words)模 型做為文本的特徵表示,但詞袋模型無法有效的表達詞與詞之間的關係,進而失 去了文本上的語意。 在本論文中,我們使用兩種新穎的類神經網路架構 : 連體網路(Siamese Nets) 和生成式對抗網路(Generative Adversarial Nets), 在訓練過程中使模型能學習更 為強健且帶有豐富語意的特徵表示。本論文實驗採用知名的分類資料庫,IMDB 電影評論分類、20Newsgroups 新聞群組分類,由一系列的情緒分析和主題分類的 實驗結果顯示,藉由這些類神經網路所學習到的特徵表示可以有效地提昇文本分 類的效能。. 關鍵詞: 文本分類、表示學習、深度學習、連體網路、生成式對抗網路. I.

(3) Abstract With the rapid global access to tremendous amounts of text data on the Internet, text categorization or classification has emerged as an important and hot research topic in the natural language processing (NLP) community with many applications. Currently, the foremost problem in text categorization would be feature representation, which is commonly based on the bag-of-words (BoW) model, where word unigrams, bigrams (n-grams) or some specifically designed patterns are typically extracted as the component features. It has been noted that the loss of word order raised by the BoW representations is particularly problematic on document categorization. In order to leverage the influence of word order and proximity information on text categorization tasks, we explore a novel use of a Siamese nets and Generative adversarial nets for document representation and text categorization. Experiments conducted on two benchmark text categorization tasks, viz. IMDB and 20Newsgroups, we take advantage of these novel architectures for learning distributed vector representations of documents that can reflect the semantic relatedness.. Keywords: Text Categorization, Representation Learning, Deep Learning, Siamese Nets, Generative Adversarial Nets. II.

(4) 致謝 感謝陳柏琳老師願意當我的指導教授,在我剛進研究所時,一切都尚未步入軌道, 但老師有教無類、春風化雨以及對於我的循循善誘,給予愚生啟發甚多,時常提 醒並指點我正確的方向。非常感謝老師這兩年在對於我的指導上所花費的精力與 時間,由於您孜孜不倦的教學和許多正面的鼓勵,使愚生能有動力繼續向前邁進, 往後,愚生仍會繼續努力,並遵循老師所給予的教誨。 感謝口試委員洪志偉老師和王家慶老師特地撥空前來,在口試時給予專業角 度的見解和修正,使本論文能夠更加完善,同時也給予我許多啟發和收穫,在此 獻上最誠摯的謝意與敬意。 另外感謝士弘、冠宇以及孝宗學長,對於我的研究提供了許多珍貴的建議, 使我能更快速的了解專業知識。感謝同梯好友必成與淳伊在我碩士生涯的支持和 陪伴,無論在於學業和生活中,都給予我極大的幫助。也感謝學弟妹映文、佳樺、 奕儒、天宏和明樟,處理實驗室繁瑣的事務和維護實驗室的整潔。 最後我要感謝我的家人,感謝我的爸爸媽媽在這兩年供我吃穿住,在我沒有 打工的這兩年,不但能給我充足的零用金,也讓我能更專心的培養自己的一技之 長,使我能堅定人生的理念,朝向正確的道路。. III.

(5) 目錄 圖目錄 ............................................................ VII 表目錄 ............................................................. IX 第 1 章 緒論 ......................................................... 1 1.1 研究背景 ....................................................... 1 1.2 研究內容與目的 ................................................. 2 1.3 研究貢獻 ....................................................... 4 1.4 章節安排 ....................................................... 5 第 2 章 相關研究 ..................................................... 6 2.1 文本分類概述 ................................................... 6 2.1.1 單標籤和多標籤文本分類 ..................................... 6 2.1.2 文本導向和類別導向文本分類 ................................. 7 2.1.3 硬性和軟性文本分類 ......................................... 8 2.2 文本特徵選擇概述 ............................................... 8 2.2.1 資訊增益 ................................................... 9 2.2.2 相互資訊 .................................................. 10 2.2.3 卡方檢驗 .................................................. 11 2.2.4 文件頻率 .................................................. 12 2.2.5 基尼指數 .................................................. 13 2.2.6 期望交叉熵 ................................................ 13 2.3 文本分類方法概述 .............................................. 14 2.3.1 Rocchio 演算法 ............................................. 14 2.3.2 樸素貝葉斯 ................................................ 15 2.3.3 最近鄰居法 ................................................ 16 2.3.4 支持向量機 ................................................ 17 2.3.5 決策樹 .................................................... 19 2.4 文本效能評估概述 .............................................. 21 2.4.1 基本指標 .................................................. 21 IV.

(6) 2.4.2 綜合指標 .................................................. 23 第 3 章 基礎實驗與設置 .............................................. 26 3.1 實驗語料 ...................................................... 26 3.2 基礎實驗結果 .................................................. 27 第 4 章 文本表示學習 ................................................ 29 4.1 表示學習概述 .................................................. 29 4.2 統計語言模型 .................................................. 30 4.2.1 N 元語言模型 .............................................. 31 4.2.2 機率式神經網路語言模型 ..................................... 33 4.3 詞向量 ........................................................ 35 4.3.1 連續詞袋模型 .............................................. 36 4.3.2 跳躍式模型 ................................................ 37 4.4 基於 Hierarchical Softmax 模型................................... 38 4.5 基於 Negative Sampling 模型 ..................................... 45 第 5 章 基於類神經網路的文本分類 .................................... 51 5.1 卷積神經網路 ................................................... 51 5.2 循環神經網路 ................................................... 53 5.3 長短期記憶網路 ................................................. 56 第 6 章 學習關聯詞向量的新穎神經網路 ............................... 58 6.1 連體網路 ...................................................... 58 6.1.1 連體網路架構 ............................................... 59 6.1.2 輸入成對文本建立 ........................................... 61 6.1.3 對比損失函數 ............................................... 61 6.1.4 連體網路實驗結果 ............................................ 62 6.2 生成式對抗網路 ................................................ 66 6.2.1 生成式對抗網路架構 ......................................... 67 6.2.2 生成式對抗網路實驗結果 ..................................... 68 第 7 章 結論與未來展望 ............................................. 69 V.

(7) 參考書目 ........................................................... 70. VI.

(8) 圖目錄 圖 1.1 文本分類流程圖................................................3 圖 2.1 支持向量機分類間距示意圖.....................................19 圖 4.1 傳統機器學習、表示學習和深度學習流程圖.......................30 圖 4.2 神經網路結構示意圖...........................................33 圖 4.3 三層神經網路結構示意圖.......................................34 圖 4.4 連續型詞袋模型...............................................37 圖 4.5 跳躍式模型...................................................38 圖 4.6 基於 Hierarchical Softmax 的連續型詞袋模型.......................39 圖 5.1 卷積神經網路文本應用示意圖...................................52 圖 5.2 循環神經網路示意圖...........................................54 圖 5.3 循環神經網路展開圖...........................................55 圖 5.4 長短期記憶網路示圖...........................................56 圖 6.1 應用連體神經網路於文本分類...................................61 圖 6.2 對比損失值和文本特徵的歐式距離關係...........................64 圖 6.3 在連體卷積神經網路中的序列長度影響...........................65. VII.

(9) 圖 6.4 在連體長短期記憶網路中的序列長度影響.........................65 圖 6.5 應用生成式對抗網路於文本分類.................................68. VIII.

(10) 表目錄 表 2.1 分類混和矩陣.................................................21 表 3.1 資料文件統計資訊.............................................27 表 3.2 基礎實驗結果.................................................27 表 6.1 連體網路實驗結果.............................................63 表 6.2 連體網路的相似度比較.........................................64 表 6.3 生成式對抗網路實驗結果.......................................69. IX.

(11) 第 1 章 緒論 研究背景. 1.1. 隨著全球資訊網 (World Wide Web) 的蓬勃發展,巨量的資料充斥著現今的網路 世界,網路上我們可以看到多元的資料型態,包含文本、語音及影像等等。其中, 以文本型態呈現的資料和其他兩者相比,占用的網路資源也相對較少,這使得大 部分的資料型態多以文本的方式呈現,在網路上的文本資源呈現指數級的增長趨 勢。為了有效率地的管理這些錯綜複雜的資料,並從這些海量的文本資料中找尋 具有價值的資訊是目前文本挖掘任務 (Text Mining ) [1] 的一大目標。而自動文本 分類任務 (Automated Text Categorization) [2] 是文本挖掘的重要基石,其任務根 據文本內容並將其劃分到預定義的類別中,進而更好的幫助人們組織文本,挖掘 文本資訊,因而得到日益廣泛的關注。這項任務在自然語言處理中有著廣泛的應 用,如新聞的主題識別、問答系統中問題的分類、郵件的過濾以及文件組織等等, 因此成為自然語言處理 (Natural Language Processing) [3] 領域中一項熱門的研究 議題。. 在近年來,基於深度學習 (Deep Learning) [4] 的文本分類模型逐漸成熟,能 透過獨特的層次結構,能從淺層中提取高層的特徵,不但有效的解決資料高維度. 1.

(12) 且稀疏的問題,也為提取良好的文本表示和建立精確的文本分類模型奠定了良好 的基石。. 研究內容與目的. 1.2. 自動文本分類任務是剖析待定文本的特徵,並與所有訓練文本的全局特徵進行比 較,然後預測待定文本最接近的類別。文本分類的主要流程可分為預處理、文本 特徵表示、特徵選擇、分類模型的訓練及分類效能的評估五個部分。. 在預處理的部分,我們首先對所有文本進行分詞,並根據事先定義的停用詞 彙表來去除文本內的停用詞 (Stop Word),例如 “the”, “is”, “at”, “which”等等沒有 什麼實際意義的詞,接下來再對文本行詞幹提取 (Stemming),如將 ”dogs” 處理 後會變成 ”dog”,將 ”effective” 變成 ”effect”,詞組 “automate”, “automatic”, “automation” 經過詞幹提取過程後,都會變成 ”automat ” ,即取相同的詞幹部 分。. 在文本特徵表示部分,會把文本表示成分類模型可以識別的模式,最常用的 統計模型是由 Salton 等人 [5] 所提出的向量空間模型,在此模型中,文本 𝑑𝑖 會. 2.

(13) 被表示成向量的型態, 𝑤𝑖 = (𝑑1𝑖 , 𝑑2𝑖 , … , 𝑑 𝑇𝑖 ), T 表示在訓練集中出現的特徵集 合。. 在特徵選擇部分,由於處理文本的一個核心問題在於特徵空間的維度很高, 特徵的維度會到達上萬,一般的分類模型很難處理如此龐大的特徵,計算的消耗 很大,且會影響分類的效能,因此我們必須對原始的特徵空間進行特徵空間降維 的處理,以提高後續模型訓練的速度與效能的準確度。. 最後我們將經過上述處理的文本,送入分類模型進行訓練,學習模型的參數, 等訓練完成後,對於測試文本,我們先將其進行預處理的動作,利用訓練時所抽 取的特徵來對每一個測試文本進行向量的表示,最終利用該分類器對測試文本進 行分類。. 圖 1.1 文本分類流程圖 3.

(14) 1.3. 研究貢獻. 文本分類方法的關鍵在於文本的特徵表示, 傳統上使用計數的表示型態,然而 這種表示方法假設字詞之間的關係是獨立的,因而忽略了語意資訊,其特徵亦有 維度高且稀疏的特點,故無法良好的表示文本。在深度學習中詞嵌入 (Word Embedding) [6] 的方法取得了良好的成效,詞嵌入從大量未標記的文本資料中無監督式 的學習詞向量,藉由其優化過程,使得學習到的詞向量表示包含字詞的語意關係。. 本論文延續過去學者的經驗、成果以及貢獻,針對文本分類的特性及困難點, 進 一步地深入研究自動文本分類方法與特徵使用,以提高自動文本分類的正確率為 目標,希望藉由自動文本分類技術的提昇,使文本分類的結果能完美詮釋文本內 容及主題。. 本論文的主要貢獻在於提出關聯的表示學習法,應用目前新穎的神經網路架 構,在連體神經網路,我們藉由這些新穎網路學習原始文本與文本的相似程度關 係,讓模型學習同類別文本之間的語意關聯性,同時也學習不同類別文本之間的 差異性,因此可以使模型學習到良好的文本表示。在生成式對抗網路中,我們利 用了對抗式的學習,使得模型中的鑑別器可以藉由較弱的生成器,來學習更為強 健的文本表示。 4.

(15) 1.4. 論文章節安排 第二章:. 簡介背景知識與回顧當前主要的文本分類方法。. 第三章:. 基礎實驗與實驗環境設定。. 第四章:. 介紹文本的學習表示。. 第五章: 詳述類神經網路模型於文本分類上。. 第六章: 詳述並探討本論文提出利用神經網路詞向量結合新穎神經網路架. 構於自動文本分類實驗。. 第七章: 本論文結論與未來研究方向。. 5.

(16) 第 2 章 相關研究 文本分類綜述. 2.1. 自動文本分類的主要目標是將每一個自然語言文本自動地給予事先定義的類別 標籤。給定一個訓練文本集 D = {𝑑1 , 𝑑2 , … , 𝑑𝑚 }和預定義的類別標籤集 C = {𝑐1 , 𝑐2 , … , 𝑐𝑛 },對於一個未知的待定文本,我們希望去預測該文本的類別標 籤。. 自動文本分類的相關研究大約從 1960 年開始,早期的自動文本分類任務主 要是建立於知識工程 (Knowledge Engineering) [7] 方法,藉由專家制定一些分類 的規則對文本進行分類,這種方法費時費力,並且需要對某領域有一定的了解程 度,才能制定合適的分類規則。. 到了 1990 年,隨著社群網路和機器學習方法的興起,巨量的文本分類和檢 索引起了學者的關注,自動文本分類系統透過事先分類好的文本集訓練,並建立 一組分類模型,進而對未知類別的待定文本進行自動分類。大量的文獻表明這樣 的分類效能比基於知識工程分類方法來的更好,且其學習不需要領域專家的干涉, 能夠應用於任何領域的學習,這也成為目前自動文本分類的主流方法。. 6.

(17) 2.1.1. 單標籤和多標籤文本分類. 根據不同的應用,我們可以給予文本一個或多個類別標籤。舉例來說,在電影評 論中可能包含多種錯綜複雜的情緒面向,像是快樂、驚訝…等等。我們可以給此 評論多個類別標籤,這種類型的分類我們稱之多標籤的文本分類。 然而在某些 應用中,我們只能給予文本一個專屬的類別標籤,像在惡意郵件的偵測中,我們 只能給予郵件單一的類別標記,我們必須明確的判定郵件屬於合法或非法,這種 類型的分類即為單標籤的文本分類,即給予文件集 D 中的每份文件 𝑑𝑖 一個屬於 標籤集 C 中的類別標記 𝑐𝑗。在本論文中,我們僅討論於單一標籤的文本任務,即 單標籤的自動文本分類任務。. 2.1.2. 文件導向和類別導向文本分類. 對於文本的分類器我們有兩種不同的使用方式,我們能以文件或是類別為核心來 建構分類器。給定一份屬於文件集 D 的文件 𝑑𝑖 ,我們希望從類別標籤集 C 中尋 找對於該份文件為合適的類別 𝑐𝑗 ,這種類型我們稱之為文件導向的文本分類 (Document-Pivoted Text Categorization, DPC),我們亦可以從類別標籤集中給定一 個類別𝑐𝑗 ,從文件集 D 中找尋所有符合該類別的文件,此種類型即為 (Category-Pivoted Text Categorization, CPC)。 7.

(18) 當文件集或類別標籤集在訓練初始時是未知時,兩種導向的概念和應用的地 方不盡相同,文件導向的文本分類適合用於一次分類一個文件的任務,例如惡意 郵件的分類應用,而類別導向文本分類則適合用於增加新類別的應用,例如專利 的應用分類。在本論文中我們探討主要應用基於文件導向的文本分類任務。. 2.1.3. 硬性和軟性文本分類. 硬性的文本分類模型必需將每一個文件給予類別標籤集中的一個類別,而軟性文 本分類模型,則是給予每一個文件一個標籤相關的高低次序,或者給予一個類別, 讓模型去排序所有文件對於該類別的一個相關次序。這樣的排序名單對於負責決 策的分類專家有很大的幫助,領域專家可以去限制位於高次序的項目,而非檢驗 整個訓練集。在本論文中,我們對文本採用硬性的分類原則。. 2.2. 文本特徵選擇方法. 特徵選擇 (Feature Selection),又稱作子集選取 (Subset Selection) 的目標是為了 增進分類效能、減少複雜度,從原始特徵空間中移除未含有分類資訊或者包含較 少資訊的特徵項,進而挑選出具有鑑別力特徵的過程。. 8.

(19) 使用特徵選擇技術的關鍵在於訓練資料中包含了許多無關或冗餘的特徵項, 因此移除這些特徵不會導致學習的演算法失去重要的資訊。傳統上我們會選擇文 本中的詞來當作該文本的特徵項,其中特徵項的粒度可以從一個單詞、詞彙或是 片語,在中文裡,由於中文的單詞對文本的理解區分度並不明顯,所以通常採用 詞彙或是片語來當作文本的特徵項,英文則無此限制。在本小節中,我們將介紹 在文本特徵選擇上常使用的方法。. 2.2.1. 資訊增益 (Information Gain, IG). 資訊增益 (Information Gain) [8] 在機器學習領域中被廣泛使用,其衡量標準在於 特徵能夠為分類系統帶來多少增益,給予系統的資訊越多,則表示該特徵對於系 統就越為重要。在文本分類的系統中,我們常採用詞作為特徵項,對於特徵詞 t 和文本類別 C, 資訊增益觀察類別中是否出現特徵詞來衡量增益效果,其式子如 下:. 𝐼𝐺(𝑡) = 𝐻(𝐶)- 𝐻(𝐶|𝑡). = − ∑𝑛𝑖=1 𝑝(𝐶𝑖 ) ∗ log 2 𝑝(𝐶𝑖 ) +. 𝑝(𝑡) ∑𝑛𝑖=1 𝑝(𝐶𝑖 |𝑡) ∗ log 2 𝑝(𝐶𝑖 |𝑡) + 𝑝(𝑡′) ∑𝑛𝑖=1 𝑝(𝐶𝑖 |𝑡′) ∗ log 2 𝑝(𝐶𝑖 |𝑡′) (2.1). 9.

(20) 其中 𝑝(𝐶𝑖 )表示某類別出現的機率, 𝑝(𝑡)表示語料中包含特徵詞 t 的文件的機率, 𝑝(𝑡′)表示語料中不包含特徵詞 t 的文件的機率,𝑝(𝐶𝑖 |𝑡)表示文件包含特徵詞 t 時 屬於類別 𝐶𝑖 的條件機率,𝑝(𝐶𝑖 |𝑡′) 表示文件不包含特徵詞 t 時屬於類別 𝐶𝑖 的條 件機率, n 表示類別數目。. 資訊增益是一種基於熵 (Entropy) 的評估方法,定義為某特徵詞為整個分類 所能提供的資訊量,根據訓練資料,計算每個特徵詞的資訊增益量,刪除資訊增 益量較小的特徵詞。資訊增益是資訊理論中的一個重要概念,它表示了一個特徵 詞存在與否對於類別預測的影響,而在類別不平衡的情況下,使用資訊增益會使 得其結果偏向那些具有更多數值的特徵,這也使使用資訊增益的一大缺點。. 2.2.2. 相互資訊 (Mutual Information, MI). 相互資訊 (Mutual Information) [9] 是分析語言模型的常見方法,相互資訊衡量的 是兩個隨機變數的相互依賴的程度,相互資訊並不局限於實質的隨機變數,更著 重於聯合機率分布和邊緣分布之間的相似程度。 一般而言,兩個離散隨機變數𝑋和𝑌的相互資訊可以由下列式子表示: 𝑃(𝑥,𝑦). 𝐼(𝑋; 𝑌) = ∑𝑦∈𝑌 ∑𝑥∈𝑋 𝑃(𝑥; 𝑦) log 𝑃(𝑥)𝑃(𝑦). 在連續隨機變數的情形,式子如下: 10. (2.2).

(21) 𝑃(𝑥,𝑦). 𝐼(𝑋; 𝑌) = ∫𝑌 ∫𝑋 𝑃(𝑥; 𝑦) log 𝑃(𝑥)𝑃(𝑦) dx 𝑑𝑦. (2.3). 其中𝑃(𝑥; 𝑦)指的是𝑋和𝑌的聯合機率分布,𝑃(𝑥) 和 𝑃(𝑦)分別是𝑋和𝑌的邊緣分布函 數。在文本分類的特徵選擇中,我們探討的是某個詞與類別之間互相依賴的程度, 對於每一個類別,特徵詞 t 對於其相互資訊量越大,則表示它對於該類別的貢獻 程度越大。. 2.2.3. 卡方檢驗 (Chi-square, CHI). 卡方檢驗 (Chi-square) [10] 最基本的思想是透過觀測實際值和理想值的差異來 決定理論是否正確。假設兩個變數值為獨立,如果實際值和理想值得差異夠小, 表示假設成立,如果實際值和理想值誤差很大,則表示兩個隨機變數是相關的。. 在文本分類的特徵選擇階段中,我們先假設特徵詞與類別不相關,如果計算 出的開方檢驗值越小,即假設成立,否則即表示特徵詞和類別具有關聯性。. 然而卡方檢驗的缺點在於它只統計文件是否出現特徵詞,而不考慮詞頻,這使得 某些低頻詞的效益增加,這就是在卡方檢驗的低頻詞缺陷問題,因此卡方檢驗在 使用時也常加入詞頻來避免這個問題。卡方檢驗的式子如下:. 𝑥 2 (𝑡, 𝑐) =. 𝑁∗(𝐴𝐷−𝐶𝐵)2 (𝐴+𝐶)∗(𝐵+𝐷)∗(𝐴+𝐵∗(𝑐+𝐷)). 11. (2.4).

(22) 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 中的文件數目。 通常會設定一個邊界值,如果計算得到的文件頻率值小於該邊界值,則認為該特 徵詞在這個類別的文件中出現次數太少,對於辨識此類別的貢獻度較低,或是該 特徵詞在其他類別的文件頻率值也很高,那麼表示這些特徵詞也不能很好的反映 類別資訊,需將其刪除。. 12.

(23) 2.2.5. 基尼指數 (Gini coefficient, Gini). 基尼指數 (Gini coefficient) [11] 是一種非純度的特徵分裂方法,由 Breiman 等人 於 1984 年所提出的,此特徵選擇方法被廣泛應用於 CART、SLIQ、SPRINT 等決 策樹演算法中。在分類問題中,假設有 K 個類別,則待定文本 D 屬於第 K 個類 別的機率𝐷𝑘 ,其基尼指數定義如下:. Gini(D) = ∑𝑘𝑘=1 𝐷𝑘 (1 − 𝐷𝑘 ) = 1 - ∑𝑘𝑘=1 𝐷𝑘2. (2.6). 其中𝐷𝑘 表示樣本屬於第 K 類的機率,基尼指數代表文件的不確定性,當基尼指數 值最小時, 表示文本為該類別的可能性高,相反地,基尼指數值越大,則表示 該文本對於類別的不確定性也越大。. 2.2.6. 期望交叉熵 (Expected Cross Entropy, ECE). 期望交叉熵 (Expected Cross Entropy) [12] 反映了文本類別的機率分布和含有某 個特徵詞的文本類別的機率分布之間的距離。特徵詞 t 的期望交叉熵越大,表示 該特徵詞對於文本類別的影響也越大,期望交叉熵定義如下:. ECE (t,C) = p(t) * ∑𝑖 𝑝(𝐶𝑖 |𝑡) * log. 13. 𝑝(𝐶𝑖 |𝑡) 𝑝(𝐶𝑖 ). (2.7).

(24) 2.3 文本分類方法 自動文本分類的其中一個關鍵問題在於如何建立分類模型,並應用此分類模型將 待定文本分配到相對應的類別空間中。目前有多種不同的分類模型,在本小節, 我們將介紹一些經典的文本分類模型。. 2.3.1 Rocchio 演算法 Rocchio 演算法 [13] 源自於資訊檢索領域,最早由 Hull 等人在 1994 年應用於自 動文本分類領域,Rocchio 演算法屬於人們思考文本分類問題時最為直覺的解決 方法,基本的思路是將一個類別中的所有文件的向量取平均值,得到一個代表該 類別的平均向量,稱作質心向量 (Centroid)。當我們要預測一個待定文件的類別 時,比較該待定文件和質心向量的相似度,就可以決定該文件是否屬於該類別。 具體作法如下:. 𝑠𝑖𝑚(𝑑𝑖 |𝑑𝑗 ) =. ∑𝑛 𝑘=1 𝑤𝑖𝑘 ∗𝑤𝑗𝑘 𝑛 2 2 √(∑𝑛 𝑘=1 𝑤𝑖𝑘 )∗√(∑𝑘=1 𝑤𝑗𝑘 ). (2.8). 其中,𝑑𝑖 為待定文本的特徵向量,𝑑𝑗 為第 j 類別的質心,n 為特徵的維度,k 表示 向量的第 k 維,比較待定文本和每一個類別質心的相似度,將該待定文本分類到 相似度最大的類別中。. 14.

(25) 然而 Rocchio 演算法有兩個過於強烈的假設,第一個是它假設一個類別的文 件僅聚集在一個質心的周圍,但對於某些線性不可分的空間來說,第二是它過於 相信訓練資料,因為它沒有任何衡量樣本是否含有噪音的機制,對於錯誤的數據 毫無抵抗力。. 2.3.2. 樸素貝葉斯( Naïve Bayes, NB). 基於機率的方法是最早應用於文本分類的演算法,該方法在 1998 年由 Lewis [14] 等人廣泛應用於自動文本分類任務中。他們使用詞和類別的聯合機率來估測待定 文件的類別機率。. ⃑⃑⃑⃑1 , ⃑⃑⃑⃑ 給定一個文件集的向量 D = {𝑑 𝑑2 ,…, ⃑⃑⃑⃑ 𝑑𝑛 },類別集的 C = {𝑐1 , 𝑐2 , … , 𝑐𝑚 }, ⃑⃑⃑𝑖 屬於每個類別𝑐⃑⃑𝑗 的機率,式子如下: 樸素貝葉斯分類器評估給定一個文件𝑑 ⃑⃑⃑𝑖 ) = 𝑝(𝑐𝑗 |𝑑. ⃑⃑⃑⃑𝑖 |𝑐𝑗 ) 𝑝(𝑐𝑗 )𝑝(𝑑 ⃑⃑⃑⃑𝑖 ) 𝑝(𝑑. (2.9). ⃑⃑⃑𝑖 )為文件 i 發生的機率, 𝑝(𝑐𝑗 )為類別 j 發生機率,如果類別的先驗機率未知, 𝑝 (𝑑 則這些假設類別發生機率相同,類別的先驗機率可以將該類別的文件數除以所有 文件數求得。. 15.

(26) ⃑⃑⃑𝑖 |𝑐𝑗 ) 的花費太大,為了降 在一個類別多樣性較為豐富的資料集中,計算 𝑝(𝑑 低其計算量,我們假設各類別之間互相獨立,即類別之間沒有任何依賴關係。. ⃑⃑⃑𝑖 |𝑐𝑗 ),也就是該待定文 對於一個待定文件 𝑑𝑖,和所有類別 C,我們計算 𝑝(𝑐𝑗 )𝑝(𝑑 件被指派到某類別的最大機率。. 利用樸素貝葉斯分類器對文本進行分類,其根本思想是利用詞語類別的聯合 機率來估測待定文件的類別機率,其假設詞有獨立性,一個詞在給定類別的條件 機率獨立於其他詞的條件機率,這個假設使得分類器具有較高的處理效率,但在 分類的準確度上效果較差。. 2.3.3. 最近鄰居法 ( K-Nearest Neighbors, KNN). 最近鄰居法最早對文本分類的應用是在 1992 年 Masand [15] 等人提出,其基本 思想是計算在訓練文本集中與待定文件最近的 K 篇文件,透過這 K 篇文件所屬 類別標籤判定該待定文本所屬的類別,演算法如下:. 𝑠𝑖𝑚(𝑑𝑖 |𝑑𝑗 ) =. ∑𝑛 𝑘=1 𝑤𝑖𝑘 ∗𝑤𝑗𝑘 𝑛 2 2 √(∑𝑛 𝑘=1 𝑤𝑖𝑘 )∗√(∑𝑘=1 𝑤𝑗𝑘 ). (2.10). 從待定文本的 K 個鄰居,依次計算每個鄰居類別的權重值,計算公式為:. ⃑⃑⃑⃑⃑⃑⃑⃑⃑ ⃑⃑⃑⃑⃑⃑⃑⃑⃑ ⃑⃑⃑ ⃑⃑⃑ 𝑝(𝑑 𝑛𝑒𝑤 |𝑐𝑗 ) = ∑ 𝑠𝑖𝑚(𝑑𝑛𝑒𝑤 , 𝑑𝑖 ) ∗ 𝑦(𝑑𝑖 |𝑐𝑗 ) 16. (2.11).

(27) ⃑⃑⃑⃑⃑⃑⃑⃑⃑ ⃑⃑⃑⃑⃑⃑⃑⃑⃑ ⃑⃑⃑ 其中,𝑑 𝑛𝑒𝑤 為待定文件的特徵向量,s𝑖𝑚( 𝑑𝑛𝑒𝑤 , 𝑑𝑖 ) 為待定文件和某類別文件 的相似度,𝑦( ⃑⃑⃑ 𝑑𝑖 |𝑐𝑗 ) 為類別屬性函數,如果 ⃑⃑⃑ 𝑑𝑖 文件屬於類別 𝑐𝑗 則函數值為 1, 否則為 0。. 然而,最近鄰居法很好的解決 Rocchio 演算法中無法處理線性不可分問題的 缺陷。,最近鄰居法最大缺點在於預測一篇新文本的類別時,需要與所有訓練文 本計算一次,這樣的計算量十分龐大,並不是所有系統能夠負荷,最近鄰居法的 有另一個缺點,當樣本數目不均衡時,即某些類別樣本的數量較多,而某些類別 的樣本數量較少,所以在使用最近鄰居法判定待定樣本類別時,可能會導致某些 樣本的鄰居都來自於某一類別的樣本,造成類別的預測錯誤。其中,目前並沒有 一份文件說明如何去選擇 K 的值,一般是採用初始值,再根據實驗結果調整 K 值,一般設定 K 為 100 到 1000 之間。. 2.3.4. 支持向量機 ( Support Vector Machine, SVM). 支持向量機 ( Support Vector Machine, SVM ) 由 Vapnik 等人 [16] 在 1995 年提出, 用來解決二元分類模型識別問題,而 Joachims 等人 [17] 最早應用支持向量機方 法於自動文本分類中,支持向量機將文本分類問題轉化為一系列的二元分類問 題。 17.

(28) 支持向量機方法是建立於統計學理論中的 VC 維度理論和最小風險結構基礎 上,根據有限樣本資訊在模型中的複雜度,從訓練樣本的準確度和辨識未知樣本 的準確度之間尋找最優,期望得到最好的一般化( Generalization)能力。. 以幾何的觀點上,支持向量機希望在維度為 K 的特徵空間中找到最好的決策 超平面,該決策超平面要能夠完美地區分類別,使得不同類別之間的間隔最大, 支持向量機的基本思想可以由不同類別的線性分割說明,如圖 2.1 所示,圖中實 心點和空心點代表不同類別的樣本,H 為分割超平面,H1 和 H2 分別為通過各類 離分割超平面最近樣本且平行與 H 的超平面,它們之間的距離稱為分類間距 (Margin)。支持向量機會選擇使與分割超平面的間距最大的一組超平面作為該類 別的最佳決策面,而最佳決策面的樣本為支持向量。若為非線性的問題,支持向 量機可以透過核函數 (Kernel Function) 的非線性的轉換,將原本的空間投射到一 個比原本的維度更高維的線性空間,如此就能解決原始樣本空間線性不可分的問 題,並在此轉換空間中尋找最佳的決策面。. 18.

(29) 圖 2.1 支持向量機分類間距示意圖. 支持向量機方法本質是解決一個二次規劃問題 (Quadratic Programming),因 此得到的會是全局最佳解,有著其他學習技術難以抗衡的優越性。在文本分類中, 使用支持向量機做為分類器的效果優異,相較於其他方法,支持向量機的效果和 穩定性能力也較比其他模型好。支持向量機在較大規模的資料集上訓練收斂較慢, 需要大量的儲存資源和強大的計算能力,而另一個缺點在於核函數的選擇困難, 很難針對問題來選擇最佳的核函數。. 2.3.5. 決策樹 ( Decision Tree, DT). 決策樹 [18] 是一種樹狀結構的分類器,決策樹從根節點開始,根據不同的文本 分成數個樣本子集,每個子集構成一個子節點,生成的決策樹每個樹葉對應一個. 19.

(30) 類別,建立決策樹的目的是尋找特徵和文本之間的關係,並用其預測待定文本的 類別。. 決策樹的建立為一種遞迴的過程,分為兩個步驟進行,第一步判斷訓練文本集 D 中所有文本是否都屬於同一類別,若皆為同一類別,則訓練文本集不再分化,形 成樹葉。否則,根據演算法策略選擇特徵,並按照特徵對訓練文件集 D 進行分化, 得到 n 個子文本訓練集,符號為 𝐷𝑖 ,接著再對每個 𝐷𝑖 進行第一步驟。. 經過了 n 次遞迴,決策樹的生成完成,從根節點到葉節點的路徑對應著一條 規則,整顆決策樹就包含一組分析文本類別的規則,在決策樹中,特徵屬性選擇 的方法有很多種,如 ID3、C4.5、CART 等等 [19,20,21]。. 在使用決策樹分類器時,最關鍵的部分在於不讓模型有過度擬合的現象發生, 特別在於含有噪音的文本或是有不在規則中屬性時,決策樹容易過度擬合,因此 通常使用決策樹的剪枝來解決此問題,常見的剪枝法有事前修剪法 (Prepruning) 和事後修剪法 (Postpruning)。. 20.

(31) 決策樹分類器的優點在於結構清晰,易於理解和解釋,在建構樹的過程中, 如果出現問題很容易測試,也能很好的應用到大型的資料集,缺點在於容易會有 過度擬合的現象,需要使用良好的剪枝策略,才能達到良好的分類效果。. 2.4. 文本分類性能評估. 由於自動文本分類在自然語言領域有關鍵性地位和廣泛的應用潛力,因此得到了 許多學者的熱切關注。隨著人工智慧、機器學習和統計理論的快速發展,目前有 各式各樣的自動文本分類模型。因此,如何有效且客觀的評估與比較這些分類方 法與模型成為了一個重要課題。. 2.4.1. 基本指標. 文本分類的性能評估基本指標和資訊檢索領域指標類似,如查準率 (Precision)、 查全率 (Recall)、準確率 (Accuracy)、誤報率 (Error)。. 真正屬於該類. 真正不屬於該類. 判斷屬於該類. A. B. 判斷不屬於該類. C. D. 表 2.1 分類混和矩陣 21.

(32) 查準率 (Precision) 是分類器正確判斷該類別文本數與分類器判斷屬於該類 別樣本總數的比例,查全率 (Recall) 是分類器正確判斷該類的類別文本數和屬於 該類別的文本總數的比例,其計算公式如下:. 查全率 =. 查準率 =. 分類正確文本數 實際分類文本數. * 100% =. 分類正確文本數 該類別應有文本數. 𝐴 𝐴+𝐵. * 100% =. 𝐴 𝐴+𝐶. * 100%. * 100%. (2.12). (2.13). 查全率和查準率在資訊檢索領域為重要的指標,在資訊檢索領域,目標為給 定查詢 (Query) 的情況下,從給定的文件集中尋找和查詢最為相關的對應文件, 因此關心的部分為相關文件的查準率和查全率。在自動文本分類領域,我們的目 的是對未知類別的文本分配類別標籤,只關心測試集中所有類別的查準率和查全 率,對於分類器來說,某些類別的查準率和查全率是互相抵抗的關係,因此在自 動文本分類領域,我們必須整合所有類別的性能,才能代表整個模型的評估。. 準確度 (Accuracy) 被定義為正確分類文件的百分比率,常被應用於單標籤 自動文本分類任務中,而誤報率 (Error) 為錯誤分類文件的百分比率,兩者為互 補性質,其定義如下:. 準確度 =. 分類正確文件數 文件總數. * 100% =. 22. 𝐴+𝐷 𝐴+𝐵+𝐶+𝐷. * 100%. (2.14).

(33) 錯誤率 =. 分類錯誤文件數 文件總數. * 100% =. 𝐵+𝐶 𝐴+𝐵+𝐶+𝐷. * 100%. (2.15). 一般進行分類模型的性能評估時,準確度是主要的衡量指標,大部分的自動 文本分類文獻,都是基於準確度的提升為評估指標。準確度指標較為常用且容易 理解,但有一定的局限性,如用戶希望得到的是該文本所屬類別的一個排序名單, 即軟性的文本分類,此時使用準確率來評估可能較為不理想。. 2.4.2. 綜合指標. 只使用基本指標來評估分類性能,存在部分缺陷,因此,我們需要更能全面反映 分類性能的綜合性指標,在本篇論文我們僅介紹以下三種綜合指標。. 我們首先介紹 F-測度 (F-measure),在 1979 年由 Van Rijsbergen 提出𝐹𝛽 -測度, 用於調整查準率和查全率在計算時的比重,其數學公式如下:. 𝐹𝛽 -測度 =. (𝛽 2 +1)∗𝑃∗𝑅 𝛽 2 ∗𝑃+𝑅. (2.16). 其中 β 為用於調整查準率和查全率的參數值,實際使用時,取 β = 1 ,得到下 列式子:. 𝐹1 -測度 =. 23. 2∗𝑃∗𝑅 𝑃+𝑅. (2.17).

(34) 第二項綜合指標為平衡點 (Break-Even Point, BEP),其想法為的查準率和查 全率相等時能完美呈現分類器模型的效能,該值稱為平衡點。如果測試時無相等 值出現,則取最為接近的值作為平衡點,此時:. BEP = 𝐹1 = 𝑃 = 𝑅. (2.18). 第三項綜合指標為宏平均 (Macro-Average) 和微平均 (Micro-Average),查全 率和查準率都是在某一類別進行效能評估,為了估計整個資料集的效能,我們使 用次綜合性指標來進行評估。宏平均是每一類別性能指標的算數平均值,微平均 是每一文件的性能指標的算術平均值,對於某個文件而言,其查準率和查全率是 相同的,因此查準率查全率的微平均是相同的。宏平均和微平均的式子定義如下: |𝐶|. Macro-P =. Macro-R =. Macro-𝐹1 =. ∑𝑖=1 𝑃𝑖. (2.19). |𝐶|. ∑𝐶 𝑖=1 𝑅𝑖. (2.20). |𝐶|. 2∗𝑀𝑎𝑐𝑟𝑜𝑃∗𝑀𝑎𝑐𝑟𝑜𝑅 𝑀𝑎𝑐𝑟𝑜𝑃+𝑀𝑎𝑐𝑟𝑜𝑅. (2.21). |𝐶|. Micro-P =. |𝐶|. ∑𝑖=1 𝐴𝑖. |𝐶|. ∑𝑖=1 𝐴𝑖 + ∑𝑖=1 𝐵𝑖. (2.22). |𝐶|. Micro-R =. Micro-𝐹1 =. |𝐶|. ∑𝑖=1 𝐴𝑖. |𝐶|. ∑𝑖=1 𝐴𝑖 + ∑𝑖=1 𝐶𝑖 2∗𝑀𝑖𝑐𝑟𝑜𝑃∗𝑀𝑖𝑐𝑟𝑜𝑅 𝑀𝑖𝑐𝑟𝑜𝑃+𝑀𝑖𝑐𝑟𝑜𝑅. 24. (2.23). (2.24).

(35) 宏平均是對於類別的平均,容易受到文件較少的類別所影響,而微平均則相反, 容易受到文件較多的類別所影響。. 25.

(36) 第 3 章 基礎實驗與配置 3.1. 實驗語料. 本論文實驗做於主題辨識和情緒分類任務的語料,在本章節將介紹本論文使用的 資料集,本論文使用兩個文件資料集進行實驗。. 首先 IMDB 電影評論資料集為本實驗的第一個資料集,本資料集為情緒分類 熱門的資料集,其目的是將待定的電影評論進行正評價和負評價的預測。在本資 料集中,訓練和測試資料集皆包含兩萬五千條影片評論,每條評論擷取自 IMDB 網站上情緒傾向明確且結構良好的文本。評論的資料結構為三元組型態:使用者 識別碼、評價標籤、影片評論。該資料集在 [22] 中推出。. 第二個資料集為 20Newsgroups 新聞群組分類,在本資料集中共有 18846 個 新聞群組文檔,在二十個不同的新聞群組中,每個新聞群組對應不同的主題,某 些新聞群組非常密切相關( 例如 comp.sys.ibm.pc.hardware 和 comp.sys.mac.hardware ) 如表 3.1 所示,每個新聞群組的文檔數大約為五百篇文 檔,本資料集最早是由 Ken Lang [23] 所收集,本論文使用的語料為已排序後的 資料集版本,20Newsgroups 也是在目前自動文本分類的應用中熱門的資料集。. 26.

(37) 資料集. 訓練/驗證/測試數量. 最大/平均/最短長度. 類別. IMDB. 22500/2500/25000. 2470/233/10. 2. 20Newsgroups. 10183/1131/7532. 11295/267/20. 20. 表 3.1 資料文件統計資訊. 3.2. 基礎實驗結果 方法/資料集/. IMDB. 20Newsgroups. Rocchio. 54.68%. 57.14%. Naïve Bayes + unigram. 83.55%. 81.00%. Naïve Bayes + bigram. 86.59%. 83.72%. SVM + unigram. 86.95%. 82.90%. SVM + bigram. 89.16%. 85.67%. KNN. 79.12%. 75.93%. Decision Tree. 81.58%. 78.90%. 表 3.2 基礎實驗結果(準確度). 表 3.2 呈現了 IMDB 資料集和 20Newsgroups 資料集以各種不同機器學習方法分類 的準確度評估,我們進行了在第 2 章所提的方法,包含 Rocchio 演算法、樸素貝 葉斯、最近鄰居法、支持向量機以及決策樹方法,其中以支持向量機和樸素貝葉 斯所展現的分類效能最佳。. 根據經驗通常使用樸素貝葉斯分類器在小型的分類任務上會有超乎預期的 分類成效,當然這可能和資料集的特性有關聯,在實驗中我們可以發現使用支持 向量機分類器有最好的效能,這也和目前自動文本分類所呈現的趨勢一致,我們 27.

(38) 也嘗試了給予的不同輸入特徵於樸素貝葉斯和支持向量機,分類效能也有增進的 趨勢,可以發現考量 bigram 特徵的分類器會有效能上的增長,但支持向量機分類 器的效能還是比樸素貝葉斯分類器來的好。. 28.

(39) 第 4 章 文本表示學習 4.1. 表示學習概述. 近年來,表示學習 (Representation Learning) [24] 或非監督的特徵學習,由於可 以自動地發現原始資料的特徵,有效地避免複雜的知識工程專家的干涉,成為了 近期重要的研究方向。其中,使用深度學習作為特徵學習,不僅可以利用大量的 訓練資料完成傳統機器學的目標,我們還可以利用模型的訓練過程中產生深層的 特徵,利用此特徵表示我們可以有效的提高模型的準確性,圖 4.1 呈現了傳統機 器學習、表示學習和深度學習的差異。. 29.

(40) 圖 4.1 傳統機器學習、表示學習和深度學習流程圖. 4.2. 統計語言模型. 目前的網路世界發展迅速,每日都會產生大量的文本資訊,要對這些文本資訊進 行處理並挖掘出有價值的資訊,和自然語言處理領域密切相關,其中統計語言模. 30.

(41) 型就是很重要的一部份,統計語言模型是自然語言領域的基礎,該模型也常廣泛 應用於語音識別、資訊檢索、機器翻譯、詞性標記等任務中。. 統計語言模型是用來計算一個句子機率的機率模型,給定 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). 31.

(42) 由式子(4.2)我們可以得知一個詞出現的機率和前面所有的詞皆相關,而 N 元 語言模型 [25] 模型的不同點在於一個詞出現的機率和其前面幾個詞相關,則估 計此機率為 𝑝(𝑤𝑘 |𝑤1𝑘−1 ),由貝氏定理可表示為:. 𝑝(𝑤𝑘 |𝑤1𝑘−1 ) =. 𝑝(𝑤1𝑘 ). 𝑝(𝑤1𝑘−1 ). (4.3). 當資料集夠大時,則可將上式近似為:. 𝑝(𝑤𝑘 |𝑤1𝑘−1 ) ≈. 𝑐𝑜𝑢𝑛𝑡(𝑤1𝑘 ). 𝑐𝑜𝑢𝑛𝑡(𝑤1𝑘−1 ). (4.4). 其中𝑐𝑜𝑢𝑛𝑡(𝑤1𝑘 )和𝑐𝑜𝑢𝑛𝑡(𝑤1𝑘−1 )的計算量十分龐大,因此 N 元語言模型模型作了 一個 n-1 階的馬可夫假設,認為一個詞出現的機率只和其前面 n-1 個詞相關,則 式子變為:. 𝑘−1 𝑝(𝑤𝑘 |𝑤1𝑘−1 ) ≈ 𝑝(𝑤𝑘 |𝑤𝑘−𝑛+1 ). 𝑝(𝑤𝑘 |𝑤1𝑘−1 ) ≈. 𝑘 𝑐𝑜𝑢𝑛𝑡(𝑤𝑘−𝑛+1 ) 𝑘−1 ) 𝑐𝑜𝑢𝑛𝑡(𝑤𝑘−𝑛+1. (4.5). (4.6). 如此簡化後不但使得單一參數的估計變得容易,也使得整個模型的參數量下降, 在計算的複雜度上,在實際應用中通常採用 n = 3 (Trigram)的模型設定。. 在模型的效能評估上,理論上 n 越大的效果越好,目前網際網路和機器算法 的性能提升,因此我們可以使用更為高階的 N 元語言模型,但 n 提升到一定程度 32.

(43) 時,模型效能的提升幅度會縮小。此外使用 N 元語言模型的一個問題在於,測試 時出現了訓練集中沒出現的詞,則模型估計的機率為 0,通常都使用平滑 (Smoothing) 技術來解決。. 4.2.2. 機率式神經網路語言模型. 在 2003 年 Bengio 等人 [26] 提出了機率式神經語言模型,示意圖如下,該 模型為四個層的網路,分別是輸入層 (Input Layer)、投影層 (Projection Layer)、 隱藏層 (Hidden Layer) 和輸出層 (Output Layer),其中 W 和 U 分別為投影層與 隱藏層和隱藏層與輸出層之間的權重矩陣,p 和 q 分別為隱藏層和輸出層的偏移 向量。. 圖 4.2 神經網路結構示意圖. 33.

(44) 在 [26] 的實驗中,作者發現使用投影層和輸出層之間的權值矩陣雖然無法提高 模型效果,但能減少模型的迭代次數,近年來,人們更多將圖 4.2 結構視為圖 4.3 的三層結構。. 圖 4.3 三層神經網路結構示意圖. 對於資料集中的任一個詞𝑤,將 𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)表示為前 n-1 個詞,對於訓練 樣本(𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤), 𝑤),給定詞向量的長度𝑚,我們將輸入到圖 4.2 的網路,式 子如下:. 𝑧𝑤 = tanh(𝑊𝑥𝑤 + 𝑝). (4.7). 𝑦𝑤 = 𝑈𝑧𝑤 + 𝑞. (4.8). 經過上述計算所得到的𝑦𝑤 ,為一個長度為 N 的向量,我們使用 Softmax 正規化方 法將其表示為當上下文為𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)時下一個詞為詞典中第 i 個詞的機率,其表 示如下: 34.

(45) p(𝑊|𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)) =. 𝑦 𝑒 𝑤,𝑖𝑤 𝑦𝑤,𝑖 ∑𝑁 𝑖=1 𝑒. (4.9). 其中 tanh 為雙曲正切函數,在此為用於隱藏層的激發函數,𝑖𝑤 代表詞 w 在字典 中的索引值。. 機率式神經語言模型與 N 元語言模型相比,有以下兩大優勢,第一為詞語之 間的相似程度可以透過詞向量來呈現,例如在一個訓練集中,句子一:”我喜歡 吃蘋果”出現了一千次,而句子二:”我喜歡吃榴槤”只出現了一次,依照 N 元 語言模型的流程,句子一出現的機率會遠大於句子二,但兩句之間的差異只在蘋 果和榴槤,這兩個詞彙在語意和句法上為相同的角色,因此句子一與句子二的機 率應該相近。然而,由機率式神經語言模型算出以上兩句的機率為相似的,因為 在機率式神經語言模型中假設了相似的詞其詞向量也是相似的。第二為機率式神 經語言模型不需要像 N 元模型需用平滑技術處理。. 4.3. 詞向量(Word Embedding). 在自然語言處理領域中,我們必須將自然語言交由機器學習演算法處理,但是機 器無法直接理解人類的語言,所以我們必須先將自然語言數學化,最直觀且簡單 的詞向量為 one-hot 表示,即使用詞典的大小 N 來表示文本,有出現在詞典中的. 35.

(46) 字向量索引為 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)。如此,該模型僅使用線性表示能力來計. 36.

(47) 算詞的實數表示向量,仍然可以保持良好的性能。在連續型詞袋模型中,是透過 一個詞的上下文 (Context) 來預測該詞的機率,如圖 4.4 所示:. 圖 4.4 連續型詞袋模型. 4.3.2 跳躍式模型(Skip-gram, SG) 跳躍式模型是由 Mikolov 等人所提出的另一經典架構,該模型以簡化的前饋類神 經網路透過逆向訓練目標來學習詞表示法。該模型與連續型詞袋模型相反,是 給定一個詞𝑤來預測其上下文𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)的機率,如下圖 4.5 所示:. 37.

(48) 4.5 跳躍式模型. 4.4. 基於 Hierarchical Softmax 模型. 本節將介紹基於 Hierarchical Softmax 的連續詞袋模型,在圖 4.6 中顯示連續型詞 袋模型的網路結構,其包含三層:輸入層、投影層以及輸出層。假設 𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) 是由詞 𝑤 前後各 𝑐 個詞所組成的上下文。在輸入層中,包含在 𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) 中的 2𝑐 個詞向量 v(𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)1 ), v(𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)2 ),…, v(𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)2𝑐 ) ∈ 𝑅 𝑚 , 其中 m 代表詞向量的長度。在投影層中,將輸入層的 2c 個詞向量加總, 即 𝑥𝑤 = ∑2𝑐 𝑖=1 v(𝑐𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)𝑖 )。在輸出層中,會對應一棵二元樹,以詞彙 𝑉 中 所出現過的詞作為葉節點 (Leaf Node),以每個詞在語料庫中的出現次數作為權重 構造出來的霍夫曼樹 (Huffman Tree),頻率越高的詞越接近根節點。在該棵霍夫 38.

(49) 曼樹中,葉節點共 𝑁 個,分別對應於詞彙 𝑉 中所有的詞,而非葉節點為 𝑁 − 1 個。在訓練過程中,模型會賦予每個非葉節點一個向量,該向量用以計算詞的機 率,而每個葉節點皆代表一個詞向量。. 圖 4.6 基於 Hierarchical Softmax 的連續型詞袋模型. 該網路結構的目的是為了判斷一段語句是否屬於自然語言。透過計算該語句 的詞序列組合之聯合機率藉由機率的高低決定出該語句是否為自然語言,而該方 法即是語言模型的目標。如給定由詞𝑤1 , 𝑤2 , … , 𝑤𝐿 所組成的一語句𝑆,即可 利用式子(4.10)計算出該語句為自然語言的機率,其中 C𝑜𝑛𝑡𝑒𝑥𝑡(𝑤𝑖 )代表詞𝑤𝑖 的 上下文。. 𝑝(S) = 𝑝(w1, w2, … , wL) = ∏𝐿𝑖=1 𝑝(wi| Context(wL)). 39. (4.10).

(50) 給定一個樣本(𝑤,x𝑤 ),其中 x𝑤 代表詞𝑤的上下文向量,霍夫曼樹的目標是使 根節點沿著詞𝑤所對應的葉節點之路徑由上至下,且該路徑為唯一,中間遇到的 每一次分支皆可視為一次的二元分類。除根節點之外,每一個節點都對應到一個 0 或 1 的霍夫曼編碼,因此以直接的方式將霍夫曼編碼為 1 的節點定義為負類, 編碼為 0 的定義成正類。根據邏輯回歸,一個節點被分配到正類的機率為:. 𝑇 σ(𝑋𝑊 𝜃) =. 1 𝑇 1+𝑒 −𝑋𝑊 𝜃. (4.11). 而被分為負類的機率為:. 𝑇 1-σ(𝑋𝑊 𝜃). (4.12). 其中𝜃為非葉節點所對應的向量,將每次的二元分類所產生的機率連乘後,可以 得到以上下文向量𝑥𝑤 和霍夫曼樹所定義出條件機率,如式(4.13) 𝑤. 𝑤 𝑝(w| Context(w)) = ∏𝑙𝑗=2 𝑝(𝑑𝑗𝑤 | 𝑥𝑤 , 𝜃𝑗−1 ). (4.13). 其中𝑙 𝑤 為根節點至詞 w 對應的葉節點之路徑中所包含的節點數量,𝑑𝑗𝑤 ∈ {0 , 1}為 路徑中第 j 個節點所對應的霍夫曼編碼,套用式子 (4.11) 和 (4.12) 則. 40.

(51) 𝑇 𝑤 σ(𝑋𝑊 𝜃𝑗−1 ) 𝑤 𝑝(𝑑𝑗𝑤 | 𝑥𝑤 , 𝜃𝑗−1 ) = { 𝑇 𝑤 1 − σ(𝑋𝑊 𝜃𝑗−1 ). ,. 𝑑𝑗𝑤 = 0. ,. 𝑑𝑗𝑤 = 1. (4.14). 整體可表示為式子(4.15). 𝑤. 𝑤. 𝑤 𝑇 𝑤 𝑇 𝑤 𝑝(𝑑𝑗𝑤 | 𝑥𝑤 , 𝜃𝑗−1 ) = [σ(𝑋𝑊 𝜃𝑗−1 )]1−𝑑𝑗 *[1 − σ(𝑋𝑊 𝜃𝑗−1 )]𝑑𝑗. (4.15). 基於類神經網路的語言模型通常取最大對數相似度 (Maximum Log-likelihood),所以我們可以將式子(4.13)取最大對數相似度變為式(4.16). 𝐿 = ∑𝑤∈𝐶 log 𝑝(w| Context(w)). (4.16). 其中 C 代表與資料集,將式子(4.13)代入(4.16)則目標函數變為:. 𝑤. 𝑤 𝐿 = ∑𝑤∈𝐶 𝑙𝑜𝑔 ∏𝑙𝑗=2 𝑝(𝑑𝑗𝑤 | 𝑥𝑤 , 𝜃𝑗−1 ). 𝑤. 𝑤. 𝑤. 𝑇 𝑤 𝑇 𝑤 = ∑𝑤∈𝐶 𝑙𝑜𝑔 ∏𝑙𝑗=2 𝑝 ([σ(𝑋𝑊 𝜃𝑗−1 )]1−𝑑𝑗 ∗ [1 − σ(𝑋𝑊 𝜃𝑗−1 )]𝑑𝑗 ). 𝑤. 𝑇 𝑤 𝑇 𝑤 = ∑𝑤∈𝐶 ∑𝑙𝑗=2{ (1 − 𝑑𝑗𝑤 ) ∗ log[𝜎(𝑋𝑊 𝜃𝑗−1 )] + 𝑑𝑗𝑤 ∗ log[1 − σ(𝑋𝑊 𝜃𝑗−1 )] }. 為了後續在梯度上的推導便利,我們簡記為 L(w, j),即. 𝑇 𝑤 𝑇 𝑤 𝐿(𝑤, 𝑗) = (1 − 𝑑𝑗𝑤 ) ∗ log[𝜎(𝑋𝑊 𝜃𝑗−1 )] + 𝑑𝑗𝑤 ∗ log[1 − σ(𝑋𝑊 𝜃𝑗−1 )]. (4.18). 41. (4.17).

(52) 利用隨機梯度上升法對式子(4.18)進行優化,對於每一樣本的參數進行一次更新, 𝑤 並觀察目標函數 L,該函數包含上下文向量𝑥𝑤,節點向量 𝜃𝑗−1 ,其中 j = 2,…,𝑙 𝑤 ,. 我們先考量目標函數對於節點向量的梯度計算,式子如下: ∂𝐿(𝑤,𝑗) 𝑤 ∂𝜃𝑗−1. =. ∂ 𝑤 ∂𝜃𝑗−1. 𝑇 𝑤 𝑇 𝑤 {(1 − 𝑑𝑗𝑤 ) ∗ log[𝜎(𝑋𝑊 𝜃𝑗−1 )] + 𝑑𝑗𝑤 ∗ log[1 − σ(𝑋𝑊 𝜃𝑗−1 )] }. 𝑇 𝑤 𝑇 𝑤 = (1 − 𝑑𝑗𝑤 )*[𝜎(𝑋𝑊 𝜃𝑗−1 )] ∗ 𝑥𝑤 - 𝑑𝑗𝑤 *𝜎(𝑋𝑊 𝜃𝑗−1 ) ∗ 𝑥𝑤. 𝑇 𝑤 𝑇 𝑤 = {(1 − 𝑑𝑗𝑤 )*[𝜎(𝑋𝑊 𝜃𝑗−1 )]-𝑑𝑗𝑤 *𝜎(𝑋𝑊 𝜃𝑗−1 )}∗ 𝑥𝑤. 𝑇 𝑤 = [1 − 𝑑𝑗𝑤 − 𝜎(𝑋𝑊 𝜃𝑗−1 )] ∗ 𝑥𝑤. (4.19). 𝑤 因此對節點向量的更新公式為𝜃𝑗−1. 𝑤 𝑤 𝑇 𝑤 𝜃𝑗−1 = 𝜃𝑗−1 + η[1 − 𝑑𝑗𝑤 − 𝜎(𝑋𝑊 𝜃𝑗−1 )] ∗ 𝑥𝑤. (4.20). 其中 η 為學習率 (Learning Rate),接下來考慮目標函數對於上下文向量的梯度計 算,其推導過程和節點向量梯度計算相同,我們可以從式子(4.19)得知其,所以 上下文向量的梯度計算和更新公式為:. ∂𝐿(𝑤,𝑗) ∂𝑥𝑤. 𝑤 𝑇 𝑤 = [1 − 𝑑𝑗𝑤 − 𝜎(𝑋𝑊 𝜃𝑗−1 )] ∗ 𝜃𝑗−1. 𝑤. v(𝑤 ̃) = v(𝑤 ̃) + η ∑𝑙𝑗=2. 42. ∂𝐿(𝑤,𝑗) ∂𝑥𝑤. (4.21). (4.22).

(53) 而基於 Hierarchical Softmax 的跳躍式模型,和連續型詞袋模型相同,皆 包含三層,輸入層、投影層和輸出層。在輸入層中,僅包含詞 w 的詞向量 v(w)∈ 𝑅 𝑚 。在投影層中,將 v(w)投影 v(w),這為一個等量投影,因此此投影層為 冗餘,因此保留投影層可以和連續詞袋模型做比較。輸出層也和連續詞袋模 型相同使用一個霍夫曼樹。. 對於跳躍式模型,其目的在給定當前詞 w 的狀態下,對其上下文 Context (w) 中的詞進行預測,因此目標函數類似與(4.13),因此跳躍式模型的數學式為下 式:. 𝑝 (Context(w)|w) = ∏𝑢∈𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) 𝑝(𝑢|𝑤). (4.23). 上式中的𝑝(𝑢|𝑤)可改寫為. 𝑢. 𝑢 𝑝(𝑢|𝑤) = ∏𝑙𝑗=2 𝑝(𝑑𝑗𝑢 |𝑣(𝑤) , 𝜃𝑗−1 ). (4.24). 由對數相似函數得 1−𝑑𝑗𝑢. 𝑢. 𝑢 L = ∑𝑤∈𝐶 ∏𝑢∈𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) ∏𝑙𝑗=2{[𝜎(𝑣(𝑤)T 𝜃𝑗−1 )]. 𝑑𝑢. 𝑢 [1 − 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] 𝑗 }. 𝑢. 𝑢 =∑𝑤∈𝐶 ∑𝑢∈𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) ∑𝑙𝑗=2{ (1 − 𝑑𝑗𝑢 )𝑙𝑜𝑔[𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] + 𝑑𝑗𝑢 𝑙𝑜𝑔[1 −. 𝑢 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] }. (4.25) 43.

(54) 為了推導便利,我們將(4.25)式簡記為 L( w ,u , j ) 即為. 𝑢 𝑢 L(w,u,j) = (1 − 𝑑𝑗𝑢 )𝑙𝑜𝑔[𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] + 𝑑𝑗𝑢 𝑙𝑜𝑔[1 − 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )]. (4.26). 接著利用隨機梯度上升法將(4.26)進行優化,對於其目標函數 L 中的單詞向量 𝑢 𝑣(𝑤),節點向量𝜃𝑗−1 進行參數更新,首先考慮目標函數 L 對於節點向量的梯度計. 算,運算如下: ∂𝐿(𝑤,𝑢,𝑗) 𝑢 ∂𝜃𝑗−1. =. ∂ 𝑢 ∂𝜃𝑗−1. 𝑢 𝑢 {(1 − 𝑑𝑗𝑢 ) ∗ log[𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] + 𝑑𝑗𝑢 ∗ log[1 − 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] }. 𝑢 𝑢 = (1 − 𝑑𝑗𝑢 )[1 − 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )]v(w)− 𝑑𝑗𝑢 [𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] v(w). 𝑢 𝑢 = {(1 − 𝑑𝑗𝑢 )[1 − 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] − 𝑑𝑗𝑢 [𝜎(𝑣(𝑤)T 𝜃𝑗−1 )]} v(w). 𝑢 = [1 − 𝑑𝑗𝑢 − 𝜎(𝑣(𝑤)T 𝜃𝑗−1 )] v(w). (4.27). 𝑢 因此得到𝜃𝑗−1 如. 𝑢 𝑢 𝑇 𝑢 𝜃𝑗−1 = 𝜃𝑗−1 + η[1 − 𝑑𝑗𝑢 − 𝜎(𝑋𝑊 𝜃𝑗−1 )] ∗ 𝑣𝑤. (4.28). 考量目標函數 L(w,u,j)對於 v(w)的梯度,同樣使用目標函數中 L(w,u,j)的單持詞 𝑢 向量 v(w)和節點向量𝜃𝑗−1 的對稱性,得下列式子:. ∂𝐿(𝑤,𝑢,𝑗) ∂v(w). 𝑤 𝑢 = [1 − 𝑑𝑗𝑢 − 𝜎(𝑣(𝑤)𝑇 𝜃𝑗−1 )] ∗ 𝜃𝑗−1. 44. (4.29).

(55) 𝑢. v(w) = v(w) + η ∑𝑢∈𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) ∑𝑙𝑗=2. ∂𝐿(𝑤,𝑢,𝑗) ∂v(w). (4.30). 4.5 基於 Negative Sampling 模型 本節將介紹基於 Negative Sampling 的連續詞袋模型,Negative Sampling 是由 Mikolov 等人於 2013 年所提出的一種改善模型效能和速度的方法,該方法是基於 噪聲對比估測 (Noise Contrastive Estimation, NCE),其目的在於提高詞向量的訓 練速度並改善詞向量之質量,將較於 Hierarchical Softmax,Negative Sampling 沒 有使用霍夫曼樹結構,但卻可以提升模型的性能,可作為 Hierarchical Softmax 的 一種替代方式。. 在圖 4.6 所顯示連續型詞袋模型的網路結構中,是利用上下文 Context(w)預 測該詞 w 機率,所以對於 Negative Sampling 來說,當前詞為一個正樣本(Postive Sample),而其他即為負樣本(Negative Sample)。給定一個詞的負樣本子集 Neg(w), 定義為公式(4.31)已表示詞𝑤 ̃的標籤,正樣本標籤為 1,負樣本標籤為 0,則:. 𝐿𝑤 (𝑤 ̃) = {. 1, 𝑤 ̃ = 𝑤 (詞為當前詞) 0, 𝑤 ̃ ≠ 𝑤(詞不為當前詞). 對於當前詞和其上下文,我們希望最大化下列式子: 45. (4.31).

(56) g(w) = ∏𝑢𝜖{𝑤}∪𝑁𝑒𝑔(𝑤) 𝑝(𝑢|𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤)). (4.32). 其中. 𝑝(𝑢|𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) = {. 𝑇 𝑢 ), 𝑤 (𝑢) σ(𝑋𝑊 𝜃 𝐿 =1 𝑇 𝑢) 𝑤 (𝑢) 1 − σ(𝑋𝑊 𝜃 , 𝐿 =0. (4.33). 整體可表示為式子(4.34). 𝑤 (𝑢). 𝑇 𝑢 )]𝐿 𝑝(𝑢|𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) = [σ(𝑋𝑊 𝜃. 𝑤 (𝑢). 𝑇 𝑢 )]1−𝐿 *[1 − σ(𝑋𝑊 𝜃. (4.34). 而𝜃 𝑢 ϵ 𝑅 𝑚 表示詞 u 所對應的一個向量,為一組待訓練參數,將公式(4.34)代入 𝑇 𝑤 )表示當上下文為 (4.32),其中σ(𝑋𝑊 𝜃 context(w)時,預測目標詞為 w 的機率,. 𝑇 𝑢 ),則表示當上下文為 σ(𝑋𝑊 𝜃 context(w)時,預測目標詞為 u 的機率,在此處我們. 𝑇 𝑤 ),最小化 可以看作是一個邏輯回歸問題,透過最大化 g(w)等同於最大化σ(𝑋𝑊 𝜃. 𝑇 𝑢 ),即增大正樣本的機率且同時降低負樣本的機率,因此給定一個 所有的σ(𝑋𝑊 𝜃. 語料庫 C,函數 G 為整體優化的目標,其公式如(4.35). 𝑇 𝑤) ∏ 𝑇 𝑢 G = ∏𝑤𝜖𝐶 𝑔(𝑤) = ∏𝑤𝜖𝐶 σ(𝑋𝑊 𝜃 𝑢𝜖𝑁𝑒𝑔(𝑤)[1 − σ(𝑋𝑊 𝜃 )]. 為了計算方便,對 G 取對數,則目標函數 L:. L = logG = log∏𝑤𝜖𝐶 𝑔(𝑤) =∑𝑤𝜖𝐶 𝑙𝑜𝑔𝑔(𝑤) 46. (4.35).

(57) 𝑤 (𝑢). 𝑇 𝑢 )]𝐿 = ∑𝑤𝜖𝐶 𝑙𝑜𝑔 ∏𝑢𝜖𝑁𝑒𝑔(𝑤){[σ(𝑋𝑊 𝜃. 𝑤 (𝑢). 𝑇 𝑢 )]1−𝐿 ∗ [1 − σ(𝑋𝑊 𝜃. }. 𝑇 𝑢 )] 𝑇 𝑢 )]} = ∏𝑤𝜖𝐶 ∏𝑢𝜖𝑁𝑒𝑔(𝑤){𝐿𝑤 (𝑢) ∗ log[σ(𝑋𝑊 𝜃 + 1 − 𝐿𝑤 (𝑢) ∗ log[1 − σ(𝑋𝑊 𝜃. 𝑇 𝑤 )] 𝑇 𝑢 )] = ∑𝑤𝜖𝐶 { log[σ(𝑋𝑊 𝜃 + ∑𝑢𝜖𝑁𝑒𝑔(𝑤) log[1 − σ(𝑋𝑊 𝜃 }. 𝑇 𝑤 )] 𝑇 𝑢 )] = ∑𝑤𝜖𝐶 { log[σ(𝑋𝑊 𝜃 + ∑𝑢𝜖𝑁𝑒𝑔(𝑤) log[σ(−𝑋𝑊 𝜃 }. (4.36). 為了梯度推倒方便,將(4.36)中的大括弧簡化為 L(w,u),即 L(w,u) = 𝐿𝑤 (𝑢) ∗ 𝑇 𝑤 )] 𝑇 𝑢 )] 𝑙𝑜𝑔[σ(𝑋𝑊 𝜃 + [1-𝐿𝑤 (𝑢)] * log[1 − σ(𝑋𝑊 𝜃. (4.37). 接著利用隨機梯度上升法對式子(4.28)進行優化,首先考量 L(w,u)對於的梯度計 算:. ∂𝐿(𝑤,𝑢) ∂𝜃𝑢. =. ∂ ∂𝜃𝑢. 𝑇 𝑤 )] 𝑇 𝑢 )} {𝐿𝑤 (𝑢) ∗ 𝑙𝑜𝑔[σ(𝑋𝑊 𝜃 + [1-𝐿𝑤 (𝑢)] * log[1 − σ(𝑋𝑊 𝜃. 𝑇 𝑢 )] 𝑇 𝑢) = 𝐿𝑤 (𝑢)*[1 − 𝜎(𝑋𝑊 𝜃 ∗ 𝑥𝑤 - [1-𝐿𝑤 (𝑢)] *𝜎(𝑋𝑊 𝜃 ∗ 𝑥𝑤. 𝑇 𝑢 )] 𝑇 𝑢 )}∗ = {𝐿𝑤 (𝑢)*[1 − 𝜎(𝑋𝑊 𝜃 - [1-𝐿𝑤 (𝑢)] *𝜎(𝑋𝑊 𝜃 𝑥𝑤. 𝑇 𝑢 )] = [𝐿𝑤 (𝑢) − 𝜎(𝑋𝑊 𝜃 ∗ 𝑥𝑤. (4.38). 更新公式為𝜃 𝑢. 47.

(58) 𝑇 𝑢 )] 𝜃 𝑢 = 𝜃 𝑢 + η[𝐿𝑤 (𝑢) − 𝜎(𝑋𝑊 𝜃 ∗ 𝑥𝑤. (4.39). 接下來考慮 L(w,u)對於𝑥𝑤 的梯度計算,其推導過程和 4.4 節的節點向量梯度計算 相同,所以上下文向量的梯度計算和更新公式為:. ∂𝐿(𝑤,𝑢) ∂𝑥𝑤. 𝑇 𝑢 )] = [𝐿𝑤 (𝑢) − 𝜎(𝑋𝑊 𝜃 ∗ 𝜃𝑢. v(𝑤 ̃) = v(𝑤 ̃) + η ∑𝑢𝜖{𝑤}∪𝑁𝑒𝑔(𝑤). (4.40). ∂𝐿(𝑤,𝑢). (4.41). ∂𝑥𝑤. 而基於 Negative Sampling 的跳躍式模型,和連續詞袋模型概念相同,給 定一個樣本,(w, Context(w)),目標希望能最大化下式:. g(u) = ∏𝑧𝜖{𝑢}∪𝑁𝑒𝑔(𝑢) 𝑝(𝑧|𝑤). (4.42). 其中𝑁𝑒𝑔(𝑢)表示處理詞時所產生的負樣本集,而該條件機率為:. 𝑝(𝑧|𝑤) = {. σ(𝑣(𝑤)𝑇 𝜃 𝑧 ), 𝐿𝑢 (𝑧) = 1 1 − σ(𝑣(𝑤)𝑇 𝜃 𝑧 ) , 𝐿𝑢 (𝑧) = 0. (4.43). 整體式子為:. 𝑢 (𝑧). 𝑝(𝑧|𝑤) = [σ(𝑣(𝑤)𝑇 𝜃 𝑧 )]𝐿. 𝑢 (𝑧). *[1 − σ(𝑣(𝑤)𝑇 𝜃 𝑧 )]1−𝐿. (4.44). 對於語料庫 C 函數 G 的整體優化目標則為:. G = ∏𝑤𝜖𝐶 𝑔(𝑢) 48. (4.45).

(59) 為了計算上的方便,我們取函數 G 的對數,最終的目標函數如下. L = logG = log∏𝑤𝜖𝐶 𝑔(𝑢) =∑𝑤𝜖𝐶 𝑙𝑜𝑔𝑔(𝑢). = ∑𝑤𝜖𝐶 𝑙𝑜𝑔 ∏𝑢𝜖𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) ∏𝑧𝜖{𝑢}∪𝑁𝑒𝑔(𝑢) 𝑝(𝑧|𝑤). 𝑢 (𝑧). =∑𝑤𝜖𝐶 𝑙𝑜𝑔 ∏𝑢𝜖𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) ∏𝑧𝜖{𝑢}∪𝑁𝑒𝑔(𝑢) log[σ(𝑣(𝑤)𝑇 𝜃 𝑧 )]𝐿. ∗ [1 −. 𝑢 (𝑧). σ(𝑣(𝑤)𝑇 𝜃 𝑧 )]1−𝐿. =∑𝑤𝜖𝐶 ∑𝐶𝑜𝑛𝑡𝑒𝑥𝑡(𝑤) ∑𝑧𝜖{𝑢}∪𝑁𝑒𝑔(𝑢) {𝐿𝑢 (𝑧)log[σ(𝑣(𝑤)𝑇 𝜃 𝑧 )] + (1-𝐿𝑢 (𝑧))log[1-σ(𝑣(𝑤)𝑇 𝜃 𝑧 )] (4.46). 為了梯度推倒方便,將(4.46)式子中的大括弧簡化為 L(w,u,z),即. L(w,u,z) = 𝐿𝑢 (𝑧) ∗ 𝑙𝑜𝑔[σ(𝑣(𝑤)𝑇 𝜃 𝑧 )] + [1-𝐿𝑢 (𝑧)] * log[1 − σ(𝑣(𝑤)𝑇 𝜃 𝑧 )](4.47). 接著利用隨機梯度上升法對式子(4.47)進行優化,首先考量 L(w,u,z)對於的梯度計 算:. ∂𝐿(𝑤,𝑢,𝑧) ∂𝜃𝑧. =. ∂ ∂𝜃𝑧. {𝐿𝑢 (𝑧) ∗ 𝑙𝑜𝑔[σ(𝑣(𝑤)𝑇 𝜃 𝑧 )] + [1-𝐿𝑢 (𝑧)] * log[1 − σ(𝑣(𝑤)𝑇 𝜃 𝑧 )}. = 𝐿𝑢 (𝑧)*[1 − 𝜎(𝑣(𝑤)𝑇 𝜃 𝑧 )] ∗ 𝑣(𝑤) - [1-𝐿𝑢 (𝑧)] *𝜎(𝑣(𝑤)𝑇 𝜃 𝑧 ) ∗ 𝑣(𝑤). 49.

(60) = {𝐿𝑢 (𝑧)*[1 − 𝜎(𝑣(𝑤)𝑇 𝜃 𝑧 )] - [1-𝐿𝑢 (𝑧)] *𝜎(𝑣(𝑤)𝑇 𝜃 𝑧 )}∗ 𝑣(𝑤). = [𝐿𝑢 (𝑧) − 𝜎(𝑣(𝑤)𝑇 𝜃 𝑢 )] ∗ 𝑣(𝑤). (4.48). 更新公式為𝜃 𝑧. 𝜃 𝑧 = 𝜃 𝑧 + η[𝐿𝑢 (𝑧) − 𝜎(𝑣(𝑤)𝑇 𝜃 𝑧 )] ∗ 𝜃 𝑧. (4.49). 接下來考慮 L(w,u,z)對於𝑣(𝑤)的梯度計算,其推導過程和 4.4 節的節點向量梯度 計算相同,所以上下文向量的梯度計算和更新公式為:. ∂𝐿(𝑤,𝑢,𝑧) ∂𝑣(𝑤). = [𝐿𝑢 (𝑧) − 𝜎(𝑣(𝑤)𝑇 𝜃 𝑧 )] ∗ 𝜃 𝑧. 𝑣(𝑤) = 𝑣(𝑤) + η ∑𝑢𝜖{𝑤}∪𝑁𝑒𝑔(𝑢). 50. ∂𝐿(𝑤,𝑢,𝑧) ∂𝑣(𝑤). (4.50). (4.51).

(61) 第 5 章 基於神經網路文本分類 深度學習目前是機器學習領域研究的熱點,而目前最常使用類神經網路模型來實 現深度學習的概念,希望獨特的層次結構,能從淺層中提取高層的特徵,解決資 料高維度且稀疏的問題,其中卷積神經網路和循環神經網路為目前神經網路中兩 大熱門的架構,在本章節我們將詳細介紹卷積神經網路和循環神經網路在文本分 類領域的實際應用。. 卷積神經網路(Convolutional Neural Network, CNN). 5.1. 卷積神經網路 [29] 是一種專門用於處理圖片類型的二維資料,在 1960 年, Hubel 和 Wiesel 等人研究貓皮層中用於局部敏感和方向選擇的神經元時,發現能 夠藉由卷積神經網路中的卷積層 (Convolution Layer) 和池化層 (Pooling Layer) 的獨特概念來接近更貼近真實生物的神經網路,並有效的降低傳統神經網路的複 雜程度。. 卷積神經網路在計算機視覺有了成功的發展,目前卷積神經網路更是廣泛的 應用於文本分類領域中,因為卷積神經網路和 N 元語言模型類似,所以卷積神經 網路的過濾器其實可以看作是 N 元語言模型類似的方法,但是卷積神經網路因為. 51.

(62) 有卷積層和池化層的幫助,使得卷積神經網路能夠減少參數量,並且抽取到文本 更深層的訊息。. 在圖 5.1,我們說明了卷積神經網路在文本上的應用,在最左邊的輸出層有 兩個通道 (Channel),每個通道是一個二維矩陣,矩陣的列為文本的長度,即一 篇文章中的單詞數量,矩陣的行為每個單詞的詞向量型式,我們可以使用上節介 紹的 Word2vec 方法來獲取詞向量,兩個通道分別為靜態和動態,靜態通道在給 定詞向量後,值不會改變,動態通道則是會在訓練過程中改變,會使用兩個通道 的原因在於考量 Word2vec 中的訓練語料和實驗語料的目的不一致,使得詞向量 會有偏差,但若是單純使用動態的通道,其初始化會對結果和收斂快慢有影響, 所以使用混和的通道可以解決這個問題。. 圖 5.1 卷積神經網路文本應用示意圖 52.

(63) 在經過輸入層,接著為卷積層,以圖 5.1 為例,最上方的過濾器矩陣大小為 3*6,對於句子 ”wait for the video and do n’t rent it” ,每隔三個詞會做一次卷積操 作,對於長度為 9 的句子,會產生一個 7*1 大小的矩陣輸出,後面一層為池化層, 在這邊是使用 Max-pooling 方法,經過池化層會選擇 7*1 矩陣中最大的值,並輸 出成一個 1*1 大小的矩陣,故有 n 個過濾器就會產生 n 個數值,這些數值會在繼 續接於後面的全連接層 (Fully Connected Layer) 使用,最後為一個輸出層,輸出 層的個數對應的是文本類別的數量,. 53.

(64) 5.2. 循環神經網路(Recurrent Neural Network, RNN). 人們的思考並不是每次都重新開始,當我們在閱讀一篇文章時,我們會根據前面 的文字來幫助理解目前閱讀到的文字,並非讀取每一文字時,都拋棄之前的思考, 我們的思考是有延續性的。. 然而,傳統的神經網路卻沒有延續性的概念,當我們想對文本進行類別分類 時,傳統的神經網路並不能根據前面已分類的文本來幫助當前的分類動作,循環 神經網路就是為了解決了這個問題所產生的一個機制。. 圖 5.2 循環神經網路示意圖. 在圖 5.2 中,輸入為𝑋𝑡 ,輸出為ℎ𝑡 ,A 為一個神經網路,即每一次的輸入都會參 考上一次的輸出,我們將圖 5.2 展開成圖 5.3。. 54.

(65) 圖 5.3 循環神經網路展開圖. 循環神經網路的核心思想即考量之前的資訊,在當前詞和相關資訊所在位置距離 較小時,循環神經網路可以有效地被訓練來使用這樣的資訊,但是當我們需要更 多的上下文資訊時,若該資訊離當前詞距離非常遠,則參考到資訊量較少,這就 是所謂的長期依賴 (Long Term Dependency) 問題,因此後面的學者,使用長短 期記憶網路來解決這個問題。. 55.

(66) 5.3. 長短期記憶網路(Long Short-Term Memory, LSTM). 長短期記憶網路是一種特殊循環神經網路,能夠解決一般循環神經網路的長期依 賴,長短期記憶網路在 1997 年由 [30] 所提出,目前被廣泛的應用於自然語言領 域的任務中。. 長短期記憶網路的關鍵在於單元狀態(Cell state),長短期記憶網路透過三個閘 (Gate)來對單元狀態進行增加或刪除資訊,三個閘分別為輸入閘 (Input Gate)、遺 忘閘 (Forget Gate) 和輸出閘 (Output Gate),圖 5.4 為長短期記憶網路示意圖。. 圖 5.4 長短期記憶網路示意圖. 第一步在於要丟棄前一個單元狀態的哪些資訊,這個動作由遺忘閘控制,我 們先從輸入閘中輸出一個介於 1 到 0 之間的數值,1 表示完全保留,0 表示完全 丟棄 。從語言模型的觀點來看,如果該單元狀態有包含前一個話題的特徵,正 確的代詞將會被保留,若是一個新的話題,就遺忘該特徵。 56.

參考文獻

相關文件

• The order of nucleotides on a nucleic acid chain specifies the order of amino acids in the primary protein structure. • A sequence of three

 To share strategies and experiences on new literacy practices and the use of information technology in the English classroom for supporting English learning and teaching

Understanding and inferring information, ideas, feelings and opinions in a range of texts with some degree of complexity, using and integrating a small range of reading

Forming expectations on texts and text interpretation and being higher-order generic and language skills to be fostered, and a way to differentiate the content for students 27

In order to facilitate school personnel of DSS schools in operating their schools smoothly and effectively and to provide new DSS schools a quick reference on the

a) Describe the changing trend of daily patronage of different types of public transport modes in Hong Kong from 2000 to 2015.. b) Discuss the possible reasons leading to

• Zhen Yang, Wei Chen, Feng Wang, Bo Xu, „Improving Neural Machine Translation with Conditional Sequence Generative Adversarial Nets“, arXiv 2017. • Supervised

competitive strategy to explore in order to provide some of the domestic banking wealth management business recommendations, and thus enhance the stability of domestic