使用深度學習方法於產品評論之建議探勘
81
0
0
全文
(2) 摘要 隨著網路的普及,許多的資訊愈來愈容易被搜索。其中,產品評論相關的訊 息也隨著社群網路的發展被公開在社群中。這類的社群包含,論壇、社群網站、 和產品官方網站等,甚至有組織專門在蒐集這些評論後組成評論相關的網站,並 且將評論分類,給受用戶查看。消費者可以在上述的網站中查看產品的使用狀況 與心得和是否符合自身所需,再決定是否購買;產品提供者也可以透過評論持續 收集使用者的使用狀況與心得,對產品進行迭代設計,對產品進行改良以符合大 眾的需求。 本研究將評論分為建議句 (suggestion)和非建議句 (non-suggestion)。使用 Stanford Core NLP 斷詞系統將文本以詞為單位進行處理;詞的表達方式分為兩種 ,詞向量與詞頻率;模型採用深度學習類神經網路,分為全連結類神經網路 (Full Connected Neural Networks, FCNN) 、 卷 積 類 神 經 網 路 (Convolutional Neural Networks, CNN)與長短期記憶類神經網路 (Long Short-Term Memory, LSTM)。本 研究以 Z-Score 方式標準化詞頻率表達式,並用全連結類神經網路訓練,此架構 即可和利用詞向量在卷積類神經網路與長短期記憶類神經網路有差不多效果,但 速度上快非常多。此外,本研究提供結合詞向量與詞頻率表達式在上述三種模型 上訓練,進而對結果做比較分析。效能的評估方式以精準率 (Precision)、召回率 (Recall) 和 F1 分數 (F1-measure, F1)作比較。. i.
(3) 關鍵字:深度學習、產品評論、建議探勘、詞向量、詞頻率. ii.
(4) Abstract With the popularity of the Internet, much of the information are searched easily. The information related to product reviews is also pushed to the social community, such as forums, social media, and official product websites. There are some organizations that collect the comments to form a review-based website and classify the comments to potential customers. Customers can see the usage and experience of the products to determine whether the products satisfy their needs to decide whether they purchase the products. The product providers can collect the user's usage and experience through comments, and iterate the product design to improve the product and satisfy the needs of customers. This study divided comments into two class, suggestion and non-suggestion. The Stanford Core NLP can segment corpus in word units. The expression of words were divided into two types, word vector and word frequency. The model uses deep learning neural network, which include Fully Connected Neural Networks (FCNN), Convolutional Neural Networks (CNN) and Long-Short Term Memory (LSTM) Neural Networks. This study normalized the word frequency in the Z-Score and trained it with a fully connected neural network. This architecture's performance can be similar to the architecture of word vectors in convolutional neural networks and long-short term memory neural networks, but the speed is very fast. In addition, this study provides a iii.
(5) combination of word vector and word frequency. The method of performance evaluation is based on Precision, Recall, and F1-measure (F1).. Keywords:Deep Learning, Product Reviews, Suggestion Mining, Word Vector, Word Frequency. iv.
(6) 目錄 摘要..................................................................................................................................I 目錄................................................................................................................................ V 附表目錄..................................................................................................................... VII 附圖目錄....................................................................................................................VIII 第一章 緒論................................................................................................................. 1 第一節 研究背景 ....................................................................................................... 1 第二節 研究目的 ....................................................................................................... 2 第三節 研究意義 ....................................................................................................... 2 第四節 論文架構 ....................................................................................................... 3 第二章 文獻探討........................................................................................................... 4 第一節 問題定義 ....................................................................................................... 4 第二節 規則式 ........................................................................................................... 5 第三節 因子分解機 ................................................................................................... 6 第四節 機器學習 ....................................................................................................... 6 第五節 類神經網路 ................................................................................................... 7 第三章 研究步驟與方法............................................................................................... 9 第一節 研究步驟 ....................................................................................................... 9 第二節 資料收集 ..................................................................................................... 15 第三節 前處理 - 標記 ............................................................................................ 16 第四節 前處理 - 斷句 ............................................................................................ 19 第五節 前處理 - 斷詞 ............................................................................................ 19 第六節 詞表達 - 詞向量 ........................................................................................ 20 第七節 詞表達 - 詞頻率 ........................................................................................ 23 第八節 詞表達 – 詞向量結合詞頻率 .................................................................... 25 第九節 類神經網路模型 - 全連結類神經網路 .................................................... 26 第十節 類神經網路模型 - 卷積類神經網路 ........................................................ 29 第十一節 類神經網路模型 - 長短期記憶類神經網路 ........................................ 32 第十二節 類神經網路架構 ..................................................................................... 36 第十三節 評估方式 ................................................................................................. 42 第四章 實驗結果與討論............................................................................................. 44 第一節 實驗資料 ..................................................................................................... 44 第二節 實驗結果 ..................................................................................................... 47 第三節 分析與討論 ................................................................................................. 61 v.
(7) 第五章 結論與未來展望............................................................................................. 67 參考文獻....................................................................................................................... 69. vi.
(8) 附表目錄 表 2.1.1 建議的表達方式.............................................................................................. 4 表 3.3.1 標記結果........................................................................................................ 17 表 3.5.1 TREEBANK 基本規則 ................................................................................. 20 表 3.7.1 詞頻 1 表達式................................................................................................ 23 表 3.13.1 評估分析表.................................................................................................. 42 表 4.1.1 建議句與非建議句句數................................................................................ 44 表 4.1.2 各種輸入維度大小........................................................................................ 46 表 4.2.1 詞向量 + 全連結類神經網路效能結果 ..................................................... 48 表 4.2.2 詞向量 + 單 CNN ENCODER 效能結果................................................. 49 表 4.2.3 詞向量 + 雙 CNN ENCODER 效能結果................................................. 50 表 4.2.4 詞向量(因子分解機) + 雙 CNN ENCODER 效能結果 .......................... 51 表 4.2.5 詞向量 + 單 LSTM ENCODER 效能結果 ............................................. 52 表 4.2.6 詞向量 + 雙 LSTM ENCODER 效能結果 ............................................. 53 表 4.2.7 詞向量 + BI-LSTM ENCODER 效能結果 .............................................. 54 表 4.2.8 詞向量(因子分解機) + 單 LSTM ENCODER 效能結果 ....................... 55 表 4.2.9 詞向量 + 單 LSTM + 單 CNN 效能結果 .............................................. 56 表 4.2.10 詞頻 2 + 全連結類神經網路效能結果 ..................................................... 57 表 4.2.11 詞頻 3 + 全連結類神經網路效能結果 ..................................................... 58 表 4.2.12 詞頻 3 結合詞向量 + 全連結類神經網路效能結果 ............................... 59 表 4.2.13 詞頻 3 結合詞向量 + 雙 CNN ENCODER 效能結果.......................... 60 表 4.2.14 詞頻 3 結合詞向量 + 單 LSTM ENCODER 效能結果 ....................... 61 表 4.3.1 實驗之效能清單............................................................................................ 65 表 4.3.2 相關研究的效能一覽表................................................................................ 66. vii.
(9) 附圖目錄 圖 2.4.1 詞的相依關係.................................................................................................. 7 圖 2.5.1 混合式模型...................................................................................................... 8 圖 3.1.1 研究流程圖-1 ................................................................................................ 11 圖 3.1.2 研究流程圖-2 ................................................................................................ 12 圖 3.1.3 研究流程圖-3 ................................................................................................ 13 圖 3.1.4 研究流程圖-4 ................................................................................................ 14 圖 3.3.1 FIGURE EIGHT 任務設計 ......................................................................... 16 圖 3.3.2 (A)、(B)標記次數比較圖 .............................................................................. 18 圖 3.6.1 ONE-HOT EMBEDDING 方法表達詞向量.............................................. 22 圖 3.6.2 兩種方法訓練詞向量的模型 ....................................................................... 22 圖 3.7.1 詞頻 2 表達式................................................................................................ 24 圖 3.7.2 詞頻 3 表達式............................................................................................... 25 圖 3.9.1 全連結類神經網路........................................................................................ 27 圖 3.9.2 激活函數........................................................................................................ 28 圖 3.9.3 平坦化............................................................................................................ 28 圖 3.10.1 卷積類神經網路.......................................................................................... 29 圖 3.10.2 圖像與文字的向量表達式 ......................................................................... 30 圖 3.10.3 (A) 過濾器大小 (B) 墊零 .......................................................................... 30 圖 3.10.4 (A) 步長 (B) 深度 ...................................................................................... 31 圖 3.10.5 池化層.......................................................................................................... 32 圖 3.11.1 (A) RNN ENCODER (B) 順向 LSTM ENCODER ................................ 33 圖 3.11.2 逆向 LSTM ENCODER ........................................................................... 34 圖 3.11.3 LSTM ENCODER 神經元結構 ................................................................ 36 圖 3.12.1 單 CNN ENCODER 類神經網路架構 .................................................... 37 圖 3.12.2 雙 CNN ENCODER 類神經網路架構 .................................................... 38 圖 3.12.3 單 LSTM ENCODER 類神經網路架構 ................................................. 39 圖 3.12.4 雙 LSTM ENCODER 類神經網路架構 ................................................. 39 圖 3.12.5 順向逆向 LSTM ENCODER 類神經網路架構 ..................................... 40 圖 3.12.6 LSTM ENCODER 串接 CNN ENCODER 的類神經網路架構 .......... 41 圖 3.12.7 全連結類神經網路架構 ............................................................................ 41 圖 4.1.1 各類別中不同產品類別的句數 ................................................................... 45 圖 4.2.1 詞向量 + 全連結類神經網路訓練收斂圖 ................................................. 47 圖 4.2.2 詞向量 + 單 CNN ENCODER 訓練收斂圖............................................. 48 圖 4.2.3 詞向量 + 雙 CNN ENCODER 訓練收斂圖............................................. 49 圖 4.2.4 詞向量(因子分解機) + 雙 CNN ENCODER 訓練收斂圖 ....................... 50 圖 4.2.5 詞向量 + 單 LSTM ENCODER 訓練收斂圖 .......................................... 51 viii.
(10) 圖 4.2.6 詞向量 + 雙 LSTM ENCODER 訓練收斂圖 .......................................... 52 圖 4.2.7 詞向量 + BI-LSTM ENCODER 訓練收斂圖 ........................................... 54 圖 4.2.8 詞向量(因子分解機) + 單 LSTM ENCODER 訓練收斂圖 .................... 55 圖 4.2.9 詞向量 + 單 LSTM + 單 CNN 訓練收斂圖 .......................................... 56 圖 4.2.10 詞頻 2 + 全連結類神經網路訓練收斂圖 ................................................. 57 圖 4.2.11 詞頻 3 + 全連結類神經網路訓練收斂圖 ................................................. 58 圖 4.2.12 詞頻 3 結合詞向量 + 全連結類神經網路訓練收斂圖 ........................... 59 圖 4.2.13 詞頻 3 結合詞向量 + 雙 CNN ENCODER 訓練收斂圖....................... 60 圖 4.2.14 詞頻 3 結合詞向量 + 單 LSTM ENCODER 訓練收斂圖 .................... 61. ix.
(11) 第一章 緒論. 第一節 研究背景. 隨著網路普及,愈來愈多文字被散播。其中有很多是評論,部分出自於論壇、 社群網站和產品官方網站等。這些評論的項目包含人、產品、服務或活動等。評 論可以依對象分為兩類,顧客對顧客 (Custom-To-Custom, CTC)與顧客對企業 (Custom-To-Business, CTB),其中所要表達的訊息有所不同。對象為 CTC 的評論 讓潛在消費者在購買前知道此產品是否為自己預期想要的產品; CTB 的評論則 提供給業者可以改善的地方。 Liu (2012) 提到意見探勘 (或稱情感分析)一部分的任務是找出意見的極性, 分為正向、中性和負向三種。有一些文本雖然極性是中性的,但是卻具有意義, 例如:"I recommend it to anyone who wants a rocking chair without having to pay a high price.",極性為中性,卻對消費者有用處,這個評論提供給不願意花較多資 金購買商品的消費者一種選擇,節省尋找商品的時間。 建議探勘 (suggestion mining)主要找出有建議成份的評論並將評論反饋給建 議的對象,建議成份包含想法、計劃或行為等。建議的對象除了買家和賣家,還 可以延伸到雇主和雇員等。建議探勘的用處依對象不同而有不同的用處,消費者 和業者關心花費金額與產品體驗;雇主和雇員關心雇員表現與工作環境等。 1.
(12) 第二節 研究目的. 本研究之目的從眾多的產品評論中找出具有建議成份的評論,並將分類為 suggestion 的評論回傳給需要的對象。. 第三節 研究意義. 產品研發需要請專業人士作市場調查,礙於人事成本考量,調查的範圍受限。 起初設計的產品可能無法滿足大眾消費者,透過使用者的回饋改善產品是較實際 的,但靠人力收集使用者的回饋相當耗時。利用本研究提出的研究方法可以自動 辨認出部分含建議成份的評論,並收集產品改進的建議節省營運上的成本,也提 供給消費者更好的體驗。 消費者可以使用本研究方法查看含建議句的評論,根據其他使用者的心得分 享再決定是否要購買使用,如此可以大幅減少自己閱讀評論的時間。. 2.
(13) 第四節 論文架構. 本論文架構如下:第一章簡介研究背景、目的與意義;第二章介紹問題的定 義與近期的相關研究方法;第三章提出本研究的步驟與方法,步驟包含資料收集、 資料前處理、建構類神經網路與模型效能評估;第四章為實驗結果與討論;第五 章為結論與未來展望。. 3.
(14) 第二章 文獻探討. 第一節 問題定義. 學者 Negi 等 (2016)提出建議探勘是指所使用的資料是從文本中獲得一組 句子,該句子會被標記為建議類 (suggestion)或非建議類 (non-suggestion),其中 建議類表達方式為明確的 (Explicit)情況是本研究要尋找的,如表 2.1.1,上句只 使用形容詞讚美主詞,而下句有明確指出要飯店後面的房間。. 表 2.1.1 建議的表達方式 表來源: Negi et al, 2016 建議類 表達方式. 建議對象. The view from the 7th floor was amazing.. Implicit. tourist. If you do end up here, be sure to specify a room at the back of the hotel.. Explicit. roomer. 文本 (句子). 建議探勘相關研究使用的方法包括規則式、因子分解機、機器學習方法及類 神經網路方法,分別如下列各節所述。. 4.
(15) 第二節 規則式. Ramanand 等 (2010)使用規則式開發建議分類模型,規則大致分為 modal verbs (would, could, should 等)為基礎與 "need to" 為基礎。 (1) 以 modal verbs 為 基礎的匹配方式例如一種模板如下 "<modal verb> <auxiliary verb> {window of size 3} <positive opinion word>",其中 auxiliary verb 包括 be、 have 和 been 等; window size 3 為 positive word 應該出現在 modal verb 後 3 個字內;positive opinion word 包括 good 、better 和 fast 等。 (2) "need to" 為基礎使用決策樹 方式作判斷,其中一個規則像是疑問句或負面詞在 need to 左邊就判定為 nonsuggestion。結果顯示,根據不同的產品不同的規則精準度也不同,在 iPod 的評 論中 Recall 為 50%。 Brun 等 (2013)的規則利用使用(1) 敘詞表 (Thesaurus) 和 (2)結構化術語 (Structured terminology)。 (1) 從提供敘詞表網站1收集關於建議相關的動詞和名詞 進行匹配,因為這些詞可能潛藏在建議句中。(2) 結構化術語匹配產品相關的特 徵,例如製造商、成份和重量等。Brun 等 (2013)也發現建議句不必是正向或負向 的意見。在產品、電影與書集等的評估效能中,Precision 為 77% 、Recall 為 70% 和 F1-measure 為 73%。. 1. https://www.thesaurus.com/ 5.
(16) 第三節 因子分解機. Rendle (2012)提出因子分解機 (Factorization Machine, FM),在數據稀疏的情 況下表現也很好,其時間複雜度為線性的。Dong 等 (2013)使用因子分解機作建 議分類,特徵有三個部分,unigram、tweeter #hashtag 和模板特徵;模板特徵經由 PrefixSpan (Pei 等, 2004)演算法找出經常出現的模板特徵,設定模板出現頻率的最 低 門 檻 與 模 板 的 長 度 , 找 出 模 板 特 徵 。 其 模 型 為 ŷ(𝒙) ≔ 𝜔0 + ∑𝑝𝑗=1 𝜔𝑗 𝑥𝑗 + ∑𝑝𝑗=1 ∑𝑝𝑗′ =𝑗+1 𝑥𝑗 𝑥𝑗′ ∑𝑘𝑓=1 𝑣𝑗,𝑓 𝑣𝑗′ ,𝑓,ϑ = {𝜔0 , 𝜔1 , … , 𝜔𝑝 , 𝑣1,1 , … , 𝑣𝑝,𝑘 },𝜔 ∈ R;模型 的 目 標 函 數 為 OPT(𝑆, 𝜆) ≔ argmin𝜃 (− ∑(𝑥,𝑦)∈𝑆 ln 𝜎(𝑦̂(𝑥|𝜗) ∙ 𝑦) + ∑𝜃∈ϑ 𝜆𝜃 𝜃 2 ) , 1. σ(𝑥) = 1+𝑒 −𝑥 ,𝜆𝜃 ∈ 𝑅 + ,y = ±1。此預測模型不只有標準的線性組合,另外加上 兩兩特徵的線性組合,使得因子分解機在稀疏的資料中也能可靠的預估。. 第四節 機器學習. Negi 和 Buitelaar (2015) 使用支持向量機 (Support Vector Machine, SVM)作. 6.
(17) 建議分類。作者從 WordNet 中搜尋一些建議的關鍵字2,例如:suggestion、advice 和 recommendation 等,以及使用 unigrams、bigrams 和 trigrams 當特徵。此外還 有一些特別的特徵,像是 (1) Sentiment Features,此特徵利用情緒分析的手動標 記資料集與利用 Sentiwordnet score summation (Fernández 等, 2016)標記資料集; (2) Imperative Mood Sequential Patterns 和 Information about the subject/s of a statement 擷取名詞主語相依性的特徵,例如:"If you do end up here, be sure to specify a room at the back of the hotel.",如圖 2.4.1 每個詞都與其它的詞存在至少 一種關係,其中有種關係是名詞主語 (nsubj)的相依性 (do, you) ,此特徵為 VBPPRP 。在電子產品的評估效能中,Precision 為 56% 、Recall 為 60% 和 F1measure 為 57%。. 圖 2.4.1 詞的相依關係. 第五節 類神經網路. 2. https://wordnet.princeton.edu/ 7.
(18) Golchha 等 (2018) 提出混合式類神經網路模型,如圖 2.5.1。使用 (1) 語言 特徵以建議相關的詞當特徵,例如: suggest、 recommend 和 request 等;N-gram 特 徵 與 Part-of-Speech N-gram 特 徵 , 包 括 最 常 見 的 unigrams 、 bigrams 與 trigrams;和 Imperative mood features ( Negi 和 Buitelaar,2015)。 (2) 遞迴編碼 器 (LSTM encoder)與卷積編碼器 (CNN encoder),利用預訓練的詞嵌入 Glove (Pennington 等, 2014) ,每個詞以 300 維度作為輸入。將語言特徵、遞迴編碼器和 卷積編碼器的結果串連起來,再經由全連結類神經網路訓練,最後由兩個神經元 的全連結類神經網路輸出。在電子產品評論中的 Precision 為 63%、Recall 為 67% 和 F1- measure 為 65%。. 圖 2.5.1 混合式模型 圖片來源:Golchha 等 (2018). 8.
(19) 第三章 研究步驟與方法. 第一節 研究步驟. 本論文研究流程如圖 3.1.1 到圖 3.1.4。本研究從 Kaggle 網站3收集評論文本, 在自然語言處理方式中,通常將文本做斷詞,例如:"The view from the 7th floor was amazing." 斷成 "The"、"view"、"from"、"the"、"7th"、"floor"、"was"、"amazing"、 "." 九個詞,以詞為最小單位進行處理,所以將評論文本斷詞後訓練出詞向量模 型;將評論文本篩選後做第一階段標記,即可以得到建議類評論文本與非建議類 評論文本。這些評論文本必須進行前處理,因為評論沒有一定的格式,有些只有 簡單幾個字,例如:"Awesome"、"Good stuff" 等,有些是一句話,例如:"The view from the 7th floor was amazing.",有些則是一段話;本研究將評論以句子為單位作 判斷,即使一篇評論中由多個句子組成,只要其中有一句含建議成份,將此篇評 論識別為建議類。非建議類評論文本斷句後可以得到非建議類句子文本,而建議 類評論文本斷句後須進行第二階段標記,將建議類評論文本標記為建議類句子文 本或非建議類句子文本,上述之句子文本即為本研究的實驗資料。實驗資料分別 使用詞向量表達式或詞頻率表達式,由於本研究使用類神經網路模型,模型的輸 入須為實數,參考前人作法 Bengio 等 (2003)和 Mikolov 等 (2013a)將詞轉為多. 3. https://www.kaggle.com/ 9.
(20) 維度的實數向量,稱作詞嵌入 (word embedding),而詞向量表達式使用前述訓練 出的詞向量模型轉換而得;詞頻率表達式透過統計訓練資料集中詞出現的次數並 建立詞頻率字典,即可使用詞頻率字典將實驗資料轉成詞頻率表達式。將實驗資 料分為測試集、訓練集和驗證集,使用訓練集和驗證集訓練出類神經網路參數, 再用測試集對類神經網路作效能評估,評估方式分別是 Precision、Recall 與 F1measure。. 10.
(21) 圖 3.1.1 研究流程圖-1. 11.
(22) 圖 3.1.2 研究流程圖-2. 12.
(23) 圖 3.1.3 研究流程圖-3. 13.
(24) 圖 3.1.4 研究流程圖-4. 14.
(25) 第二節 資料收集. Kaggle 是一個數據建模競賽平台,企業主以獎金的方式讓參賽者訓練出多種 模型,並選擇最適當的模型來使用。不只用於競賽方式,使用者還可以自主上傳 資料集到 Kaggle,讓其他有興趣的使用者可以為每筆資料集做一個 Kernel, Kernel 是 Kaggle 提供的線上編程功能,利用 Kaggle 的雲端運算資源做數據建 模等工作。 本研究的資料集 (Grammar-and-online-product-reviews) 是 Kaggle 使用者自 行提供的4。在 1,000 多種產品中超過 71,000 篇評論,包含電影和消耗型產品等。 每篇評論含有品牌、分類、製造商、產品名與評論等多個欄位,本研究只使用評 論欄位。本研究主要擷取消耗類型的產品評論作為資料,例如:生活用品和 3C 產品等。此類產品較能夠提供迭代設計,且也是必需品。電影有較多主觀成份, 且如果都往主流的方向設計反而沒有創意,畢竟是娛樂活動之一。. 4. https://www.kaggle.com/datafiniti/grammar-and-online-product-reviews 15.
(26) 第三節 前處理 - 標記. 評論的標記任務是由 Figure Eight5 公司提供的標記服務。選擇要標記的數據 種類 (文字或圖片等) 與標記的類別 (建議與非建議)。發佈者需要明確的設計任 務內容,如圖 3.3.1 列出任務步驟、任務規則和任務範本。. 圖 3.3.1 Figure Eight 任務設計. 標記的方式是同一筆數據會被不同人識別三次;每個人標記的數據中會至少 有一定比率是回答發佈者原先準備的題目,例如:標記者共標記 10 篇文本,假 設兩成題目是發佈者的庫存題目,則標記者會回答兩題有標準答案的題目,以判. 5. https://www.figure-eight.com/ 16.
(27) 斷此人的標記準確度。發佈者可以看到可靠的標記與不可靠的標記。如表 3.3.1, 一筆數據被不同人識別三次,發佈者可以依據表 3.3.1 的數量決定該筆數據最終 的標記結果,本研究依式 3.3.1 作為最後的標記結果。. 表 3.3.1 標記結果 Annotator. Sentence. Label. Person 1. Sentence A. non-suggestion. Person 2. Sentence A. suggestion. Person 3. Sentence A. suggestion. 𝐿𝑎𝑏𝑒𝑙 = {. suggestion 𝑖𝑓 𝑛𝑜 𝑜𝑓 suggestion ≥ 2 non − suggestion others. (式 3.3.1). 標記計價的方式是以每單位文本收一次費用,由於標記成本的考量,本研究 分兩階段標記,第一階段以評論為單位文本作標記,第二階段以標記為 "suggestion" 的評論文本先做斷句,再以句子為單位文本作標記。 比較分兩階段標記 (a)與先全部斷句後一次性標記 (b)的成本,如圖 3.3.2,(a) 先標記好每篇評論是否含建議句,再將含建議句的評論做斷句,接著才標記每個 句子是否為建議句;(b) 一開始就將每篇評論斷句,接著標記每個句子是否為建 議句。設總評論數 𝑤、平均一篇評論 𝑥 句、每次二分類結果的比值 17.
(28) 𝑦: 𝑧 (suggestion : non-suggestion),只要符合式 3.3.2 成本就會比較低,上述的數值 可以使用抽樣的方式取得;例如總評論文本數 1000,平均一篇評論含 3 句,每次 二分類結果都平均 (1:1)。. 圖 3.3.2 (a)、(b)標記次數比較圖. 𝑦. 如圖 3.3.2 所示,使用 (a) 方法標記所需次數為 𝑤 + 𝑥𝑤 𝑦+𝑧,使用 (b) 方法 𝑦. 標記所需次數為 𝑥𝑤,如果採用 (a) 方法,則須符合 𝑤 + 𝑥𝑤 𝑦+𝑧 < 𝑥𝑤 才能節省 成本,以該式推導與化簡過程如下所示,可得式 3.3.2。. 式 3.3.2 推導與化簡過程: 𝑤 + 𝑥𝑤. 𝑦 < 𝑥𝑤 𝑦+𝑧. 18.
(29) 1+𝑥. 𝑦 <𝑥 𝑦+𝑧. 𝑥 (1 −. 𝑦 )>1 𝑦+𝑧. 𝑥 > 1+. 𝑦 𝑧. (式 3.3.2). 第四節 前處理 - 斷句. 句子的分段符號有很多種,例如 : 「.」, 「! 」等 …,代表句子完成,即是 斷句。為了降低模型訓練的複雜度本研究將句子簡化,以下情況會進行調整,將 表情符號刪除;簡化不規則長度符號例如 : "….." 變為 "." 、"!!!!!" 變為 "!" 或 "~~~" 變為 "~";有些專有名詞的縮寫利用 「.」 分隔,這與以句點為斷句規則 衝突,解決的方式是將 「.」 先以其它字元取代,例如: "*_*" ,待斷句完後再 將取代後的字元返回原樣。. 第五節 前處理 - 斷詞. 一個句子有意義的最小單位是一個詞,所以將句子斷詞是自然語言處理的基. 19.
(30) 本技術。有很多工具提供斷詞的功能,像是 Python NLTK6、Stanford CoreNLP7 等。 本研究使用 Stanford CoreNLP 的功能進行斷詞,此功能基於 Penn Treebank style。 斷詞的分隔號是單空白字元,Treebank 一些基本的規則如表 3.5.1,由於某些詞會 連在一起寫,例如:"I am a student." 寫成 "I'm a student.",處理方式將 " 'm" 寫 成 "_'m",其中 "_" 為空白,最後的句子會變成 "I 'm a student.",斷詞後為 "I"、 " 'm"、"a"、"student."。. 表 3.5.1 Treebank 基本規則 取代前. 取代後. 取代前. 取代後. ". _''_. --. _--_. 'll_. _'ll_. …. _..._. 're_. _'re_. n't_. _n't_. 've_. _'ve_. [sents]. _[sents]_. 第六節 詞表達 - 詞向量. 6 7. https://www.nltk.org/ https://stanfordnlp.github.io/CoreNLP/ 20.
(31) 詞向量可以分為預訓練詞向量模型與自訓練詞向量模型,預訓練的詞向量模 型有採用 Google News 當資料集作訓練8,此資料集中有 100 億個字,每個詞有 300 維度,最終有 300 萬個詞和片語的向量。Kim (2014) 使用上述預訓練的詞 向量模型做詞表達式轉換。因為評論中很多非正式字詞出現,導致很多詞可能無 法找到對應的向量,像是 "love" 寫成 "looove " 以表示喜愛的程度。解決辦法是 從原始數據集中自己訓練模型,稱為自訓練詞向量模型。 使用 one-hot embedding 的方法表達詞向量在高維度的情況中會造成記憶體 的浪費,如圖 3.6.1 第一行為文本中的詞,詞向量每個欄位對應詞集合中的一個 詞,詞對應到的欄位值設為 1,其於為 0;本研究採用的詞量向訓練模型基於 Mikolov 等 (2013b) 提出的方法 word2vec,如圖 3.6.2,將預訓練的詞當作答案, 輸入用該詞的上下文,此為 CBOW 模式;或是預訓練的詞當輸入,將該詞的上 下文當作答案,此為 Skip-gram 模式,本研究使用 Skip-gram 模式當作訓練詞向 量模型的方法。訓練出的類神經網路權重值可用來映射詞的向量,並且也達到降 維的作用,詞向量維度的大小取決於類神經網路隱藏層中神經元的數目。. 8. https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing 21.
(32) 圖 3.6.1 one-hot embedding 方法表達詞向量. 圖 3.6.2 兩種方法訓練詞向量的模型 圖片來源:Mikolov 等 (2013b). 本研究將因子分解機的概念實作在詞向量中,將詞向量的每個元素組合,組 合後的詞向量维度可由式 3.6.1 計算出,任選兩個元素組合,每個組合有兩個元 素;例如本研究之詞向量维度大小為 25,將詞向量做因子分解機後詞向量的維度 大小變為 600。. 22.
(33) Factorized Dimensions = C2𝑛 × 2. (式 3.6.1). 第七節 詞表達 - 詞頻率. 基於詞頻率的詞表達是計算訓練文本中所有詞出現的次數,本研究使用以下 幾種詞頻率的計算方式 : 詞頻 1:統計所有詞在訓練集中出現的次數,每個詞的頻率當作一個詞的特 徵,如表 3.7.1。. 表 3.7.1 詞頻 1 表達式 詞. Apple. Banana. …. Cat. Dog. 頻率. 10. 20. …. 5. 20. 詞頻 2:詞頻 1 的變化版,本研究的任務屬於二分類,一個想法是將詞頻先 以 不 同 類 分 別 計 算 , 例 如 "suggestion" (s) 類 第 i 個 詞 𝑥𝑖 的 詞 頻 𝐹𝑠,𝑥𝑖 = 𝑛𝑢𝑚𝑏𝑒𝑟𝑂𝑓(𝑤𝑜𝑟𝑑𝑠,𝑥𝑖 ) , "non-suggestion" (ns) 類 第 j 個 詞 𝑥𝑗 的 詞 頻 𝐹𝑛𝑠,𝑥𝑗 = −𝑛𝑢𝑚𝑏𝑒𝑟𝑂𝑓(𝑤𝑜𝑟𝑑𝑛𝑠,𝑥𝑗 ),詞頻 1 之詞頻 𝐹𝑥 = 𝐹𝑠,𝑥𝑖 + |𝐹𝑛𝑠,𝑥𝑗 |, 𝑥𝑖 = 𝑥𝑗,詞頻 2 之詞 頻為 𝐹𝑥 = 𝐹𝑠,𝑥𝑖 + 𝐹𝑛𝑠,𝑥𝑗 , 𝑥𝑖 = 𝑥𝑗;如圖 3.7.1,例如:Apple 的𝐹𝑠,𝐴𝑝𝑝𝑙𝑒 = 5,𝐹𝑛𝑠,𝐴𝑝𝑝𝑙𝑒 = 23.
(34) −5。,詞頻 1 之𝐹𝐴𝑝𝑝𝑙𝑒 = 10,詞頻 2 之 𝐹𝐴𝑝𝑝𝑙𝑒 = 0。. 圖 3.7.1 詞頻 2 表達式. 詞頻 3:詞頻 2 的變化版,如圖 3.7.2,上述詞頻 2 在兩類頻率分別統計後多一道 程序,先個別標準化後再相加,標準化方法是用 Z-Score,如式 3.7.1 和式 3.7.2, s 為 suggestion 類,ns 為 non-suggestion 類,𝑥𝑖 和 𝑥𝑗 分別為 suggestion 類和 non-suggestion 類中的詞頻率,𝜇 為各類詞頻率的平均值,𝜎 為各類詞頻率的標 準差。. Z − Scores,𝑥𝑖 =. 𝑥𝑖 − 𝜇𝑠 𝜎𝑠. Z − Scorens,𝑥𝑗 =. (式 3.7.1). 𝑥𝑗 − 𝜇𝑛𝑠 𝜎𝑛𝑠. (式 3.7.2). 24.
(35) 圖 3.7.2 詞頻 3 表達式. 第八節 詞表達 – 詞向量結合詞頻率. 由於兩種詞表達式的數值域有所不同,根據實驗資料的統計,詞向量的極值 落在 ±0.7 之間,而詞頻率落在 -34 到 2 之間。為避免差距大的數值主導實驗 結果,本研究將詞頻率壓縮到 ±0.7 之間,壓縮的方式如式 3.8.1,scale_max 為 預壓縮後的最大值,scale_min 為預壓縮後的最小值,val_max 為被壓縮的最大值, val_min 為被壓縮的最小值,𝑥 為預轉換數值。. scaled𝑥 =. (𝑠𝑐𝑎𝑙𝑒_𝑚𝑎𝑥 − 𝑠𝑐𝑎𝑙𝑒_𝑚𝑖𝑛) × (𝑥 − 𝑣𝑎𝑙_𝑚𝑖𝑛) 𝑣𝑎𝑙_𝑚𝑎𝑥 − 𝑣𝑎𝑙_𝑚𝑖𝑛. + 𝑠𝑐𝑎𝑙𝑒_𝑚𝑖𝑛. 25. (式 3.8.1).
(36) 假設:𝑠𝑐𝑎𝑙𝑒_𝑚𝑎𝑥 = 0.7、𝑠𝑐𝑎𝑙𝑒_𝑚𝑖𝑛 = −0.7、𝑣𝑎𝑙_𝑚𝑎𝑥 = 2、𝑣𝑎𝑙_𝑚𝑖𝑛 = −34, 另𝑥 = 𝑣𝑎𝑙_ 𝑚𝑎𝑥 = 2,得到𝑠𝑐𝑎𝑙𝑒𝑑𝑥 = 0.7;𝑥 = 𝑣𝑎𝑙_𝑚𝑖𝑛 = −34,得到𝑠𝑐𝑎𝑙𝑒𝑑𝑥 = −0.7。. 第九節 類神經網路模型 - 全連結類神經網路. 全連結類神經網路 (Fully Connected Neural Network, FCNN),如圖 3.9.1,分 別為輸入層 (input layer)、隱藏層 (hidden layer) 和輸出層 (output layer)。除了輸 入層外,每層的神經元皆與前一層所有神經元連接,並且經過一個激活函數 (activation function),激活函數的種類如圖 3.9.2;如果神經元沒有經過激活函數, 那輸出與輸入脫離不了線性關係,所以激活函數引入非線性。除了輸出層,每層 都有一個偏移項值為 1 的神經元,在網路中通常不會標示出來。每個神經元連起 來的線是前一層神經元對後一層神經元的權重,也是網路要訓練的超參數 ℎ−1 (Hyper-Parameters)。神經元的值 𝑥𝑖ℎ = 𝑓( ∑𝑗 𝑥𝑗ℎ−1 𝑤𝑗,𝑖 + b) ,𝑓 為激活函數,ℎ. 為非輸入層之層,𝑥𝑖ℎ 為第 ℎ 層的第 𝑖 個神經元,𝑥𝑗ℎ−1 為第 ℎ – 1 層的第 𝑗 ℎ−1 個神經元,𝑤𝑗,𝑖 ∈ R 為連接前述神經元 𝑗 與 𝑖 的權重;𝑏 為第 ℎ − 1 層的偏. 移項,0 ≤ 𝑏 ≤ 1。本研究的輸入層神經元個數根據不同的架構而有所不同,例如: 使用詞向量、詞頻率、長短期記憶類神經網路或卷積類神經網路的維度不同;圖 26.
(37) 中 𝑛 代表訓練集中單一文本詞的數量之最大值,𝑚 為詞向量的維度,細節將於 第四章第一節詳述。隱藏層為一層,其神經元個數為 256 個;輸出層的神經元個 數因為是二分類,所以是兩個神經元。. 圖 3.9.1 全連結類神經網路. 本 研 究 的 全 連 結 類 神 經 網 路 中 神 經 元 的 激 活 函 數 為 ReLu ,ReLu(𝑧) = max(0, 𝑧) ,𝑧 為輸出層神經元的值,輸出層神經元的激活函數為 softmax , 𝑧 𝑒 𝑗. softmax(𝑧) = ∑𝐾. 𝑘=1 𝑒. 𝑧𝑗. for 𝑗 = 1, … , 𝐾,𝐾 為輸出層神經元的數目,與激活函數 1. Sigmoid 類似將數值轉換到 0 到 1 之間,Sigmoid(𝑧) = 1+𝑒 −𝑧,只是轉換的公式 不同;卷積類神經網路中卷積層使用的激活函數為 ReLu;長短期記憶類神經網 sinh(𝑧). 路中神經元的激活函數 tanh(𝑧),tanh(𝑧) = cosh(𝑧) , sinh(𝑧) = e𝑧 +e−𝑧 2. 。 27. e𝑧 −e−𝑧 2. , cosh(𝑧) =.
(38) 圖 3.9.2 激活函數. 若要使用全連結類神經網路,輸入的維度需為 R𝑛×1 。若使用 CNN 編碼器 (CNN encoder)或 LSTM 編碼器 (LSTM encoder),在本研究特徵擷取層的輸出維 度為 R𝑛×𝑚×1 和 R𝑛×𝑚,𝑛, 𝑚 ∈ N,須改為R𝑛𝑚×1,此過程稱為平坦化,如圖 3.9.3。. 圖 3.9.3 平坦化 28.
(39) 第十節 類神經網路模型 - 卷積類神經網路. 卷積類神經網路 (Convolutional Neural Network, CNN) (Kim, 2014) 大致分為 兩部份,如圖 3.10.1,第一部份有卷積層 (Convolutional Layer)與池化層 (Pooling Layer),第二部份為 FCNN,以下將簡介各層的細節。. 圖 3.10.1 卷積類神經網路. 在介紹卷積層前先展示輸入資料的形式。本研究將文本透過 word2vec 的方 法將每個詞轉為 25 維的實數向量,有別於圖像的每個像素有 RGB 三原色,如圖 3.10.2。. 29.
(40) 圖 3.10.2 圖像與文字的向量表達式. 卷積層利用多個二維過濾器 (filter) 與輸入作點積 (dot product) 。過濾器大 小 (filter size, receptive field) 以高 (height) 和寬 (width) 表示,高寬可以自行調 整以正方型為主,如圖 3.10.3 (a) 過濾器大小分別為 2 × 2 與 3 × 3。. 圖 3.10.3 (a) 過濾器大小 (b) 墊零. 卷積層中有三個參數需要設定,分別為 (I) 墊零 (zero-padding) :如圖 3.10.3 30.
(41) (b) ,在輸入的邊界上視情況補零,以便讓輸入維度大小與卷積後的切片維度大 小相同。可以根據輸入的高 (Hi)與輸入的寬 (Wi)、過濾器的寬或過濾器的高 (F)、 步長 (stride, S) 和墊零 (P)決定輸出切片 (slice)的高 (Ho) 與輸出的寬 (Wo),如 式 (式 3.10.1) (式 3.10.2) ;例如:𝐻𝑖 = 3 、𝑊𝑖 = 3、𝐹 = 2、𝑆 = 1與𝑃 = 1,則 輸出的 Ho 為 4,輸出的 Wo 為 4。(II) 步長 (stride) :如圖 3.10.4 (a),步長決定 過濾器每次卷積完後要移動多少格進行下一次卷積; (III) 深度 (depth) :如圖 3.10.4 (b),深度的多寡由過濾器的數量決定。切片內之值的產生如圖 3.10.4 (a)、 (b) ,切片中第一列第一行的值 5 是由 0 ∗ 1 + 0 ∗ 0 + 0 ∗ 2 + 1 ∗ 5 計算而得,第 一列第二行的值 12 是由 0 ∗ 1 + 0 ∗ 0 + 1 ∗ 2 + 2 ∗ 5 計算而得,依此類推即可得 到圖 3.10.4 (b) 的切片。. 圖 3.10.4 (a) 步長 (b) 深度. 𝐻𝑜 =. 𝐻𝑖 − 𝐹 + 2𝑃 +1 𝑆. (式 3.10.1). 𝑊𝑜 =. 𝑊𝑖 − 𝐹 + 2𝑃 +1 𝑆. (式 3.10.2) 31.
(42) 圖 3.10.5 池化層. 池化層如圖 3.10.5,池化層將卷積層的切片作大小調整,調整的方式是在池 化的區塊中選取最大的值,其餘丟棄,如圖 3.10.5 之切片大小為4 × 4,池化大小 為 R2𝑥2 ,在第一個區塊中選取 49,第二個區塊中選取 48,依此類推,這樣可以 減少 75% 的訊息量。. 第十一節 類神經網路模型 - 長短期記憶類神經網路. 循環類神經網路 (Recurrent Neural Networks, RNN),如圖 3.11.1 (a),𝒙 為文 本中某一詞向量,𝑖 為文本中詞的順序,𝑡 為循環傳遞的順序,𝑠𝑡 為傳遞到輸出 𝑦𝑡 與下一個循環序列 𝑠𝑡+1 的神經元。因為 RNN 存在梯度消失的問題,使某一 神經元會將以前的訊息遺忘,無法使用在長序列的數據中。長短期記憶類神經網 32.
(43) 路 (Long-Short Term Memory, LSTM)演化自 RNN,如圖 3.11.1 (b),改善單點傳 遞的神經元結構,多加入一個傳遞單元,單元控制項 𝑐𝑡。𝑐𝑡 的特色在於可以記憶 以前的訊息,但不傳遞到輸出,且與 𝑠𝑡 分開傳遞,所以可以減少梯度消失的影 響。. 圖 3.11.1 (a) RNN encoder (b) 順向 LSTM encoder. LSTM encoder 常用於序列數據,本研究的文本也屬於一種序列數據。一種語 言模型是根據前面幾個字判斷後面的詞,例如:"My phone was broken, I would like to. __", " __ " 可以填入 "repair"、"buy" 或 "cry";如果今天變成,"My phone. was broken, I would like to __ a new phone.",這時只能在 " __ " 中填入 "buy" 。 所以除圖 3.11.1 (b)的模型外,另外也使用圖 3.11.2 的模型,循環傳遞的順序相反, 因此模型訓練的文本會反向變為 ".phone new a __ to like would I ,broken was phone My" 作訓練,如此不只從前面的詞建立語言模型,也從後面的詞建立語言模型。 此種做法可以優化 word2vec 方法中訓練詞向量模型的缺點,該缺點是預訓練詞 33.
(44) 的上文與下文之擷取距離不可太長,而順向 LSTM 的優點是傳遞距離從頭開始, 再加上逆向 LSTM 即可彌補順向 LSTM 只與上文的訊息有關,使成為與上文和 下文有關且擷取距離範圍涵蓋到頭和尾。. 圖 3.11.2 逆向 LSTM encoder. LSTM encoder 的內部結構如圖 3.11.4。主要多了四個部分,從左到右分別為, 藍色區塊稱為遺忘門 (forget gate)、橘色區塊稱為輸入門 (input gate)、綠色區塊稱 為輸出門 (output gate)和紫色區塊稱為單元控制項 ct 。遺忘門的功用在決定要減 少多少的 𝑐𝑡−1成為 𝑐′𝑡−1,減少的比例由 𝑓𝑡 控制;輸入門由 𝑖𝑡 與 𝑐′𝑡 控制,輸 入門控制 𝑥𝑡 與 ℎ𝑡−1 使其增加或減少 𝑐′𝑡−1 使其成為 𝑐𝑡 ;輸出門計算原 RNN 架構下 𝑥𝑡 經過 𝑐𝑡 的調整得到輸出。神經元內的各個數值如式 3.11.1 到式 3.11.8, ℎ𝑡−1 為前一循環的輸出、 𝑥𝑡 為當前輸入、 𝑊_ 為 ℎ𝑡−1 與 𝑥𝑡 之權重矩陣, 𝑓𝑡 與 𝑐𝑡−1 和 𝑖𝑡 與 𝑐𝑡′ 為紀錄到長期記憶單元 𝑐𝑡 的向量、𝑜𝑡 與 𝑐𝑡 為神經元的輸 34.
(45) 出、𝑏_ 為偏移量,函數 σ 為函數 sigmoid,符號"。"為點積。對比於 RNN encoder, LSTM encoder 的輸出本質上與 RNN encoder 相同,稱為短期記憶單元,因為梯 度消失問題無法記憶長序列; LSTM encoder 多一個只負責記憶功能的單元 𝑐𝑡, 稱為長期記憶單元,減少梯度消失問題,可記憶較長序列。. 𝑊_ [ℎ𝑡−1 , 𝑥𝑡 ] = 𝑊_ℎ ℎ𝑡−1 + 𝑊_𝑥 𝑥𝑡. (式 3.11.1). 𝑓𝑡 = 𝜎(𝑊𝑓 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑓 ). (式 3.11.2). 𝑐′𝑡−1 = 𝑓𝑡 。𝑐𝑡−1. (式 3.11.3). 𝑖𝑡 = σ(𝑊𝑖 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑖 ). (式 3.11.4). 𝑐′𝑡 = tanh(𝑊𝑐 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑐 ). (式 3.11.5). ′ 𝑐𝑡 = 𝑐𝑡−1 + 𝑖𝑡 。𝑐𝑡′. (式 3.11.6). 𝑜𝑡 = σ(𝑊𝑜 [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑜 ). (式 3.11.7). ℎ𝑡 = 𝑜𝑡 。tanh(𝑐𝑡 ). (式 3.11.8). 35.
(46) 圖 3.11.3 LSTM encoder 神經元結構9. 第十二節 類神經網路架構. 使用 CNN encoder 擷取文本特徵,此模型除了主觀認定的特徵外,可以找出 未發現的特徵,在 3.10 節中提過可以設定過濾器的數目,過濾器愈多可以預設的 特徵就愈多,如圖 3.12.1,輸入文本的大小為 𝑛 × 𝑚 × 1,𝑛 為訓練集中單一文 本詞的數量之最大值,𝑚 為詞向量的維度,本研究中 𝑛 為 292,𝑚 為 25,若經 過因子分解機 𝑚 為 600,經過池化層的 Max pooling size 為 2 後與設定的過濾. 9. https://zybuluo.com/hanbingtao/note/581764 36.
(47) 器數量 s,CNN encoder 的輸出維度為 0.5𝑛 × 0.5𝑚 × 𝑠,為了使用 FCNN 將 encoder 平坦化,此時向量變成 0.25𝑛𝑚 × 1。本研究使用單 CNN encoder 擷取 特徵,並比較初步擷取特徵後再進行一次特徵擷取是否可以使效能提升,此稱為 雙 CNN encoder,如圖 3.12.2,第二個 CNN encoder 參數與前一個相同,第二個 CNN encoder 輸 出 維 度 大 小 為 0.25𝑛 × 0.25𝑚 × 𝑠 , 所 以 平 坦 化 後 的 大 小 為 0.0625𝑛𝑚 × 1。. 圖 3.12.1 單 CNN encoder 類神經網路架構. 37.
(48) 圖 3.12.2 雙 CNN encoder 類神經網路架構. 使用 LSTM encoder 訓練語言模型,在 3.6 節中所介紹的詞向量之訓練方法 已經有使用類神經網路訓練語言模型,但是詞向量在訓練時只參考相鄰幾個詞, 使用 LSTM encoder 可以將文本最前面的詞都參考進來,如圖 3.12.3,輸入文本 的大小為 𝑛 × 𝑚,𝑛 為訓練集中單一文本詞的數量之最大值,𝑚 維詞向量維度大 小,𝑛 為 292,𝑚 為 25,經過因子分解機後的 𝑚 為 600,為比較經過 LSTM encoder 後的語言模型是否優於未使用 LSTM encoder,LSTM encoder 之輸出詞 向量特徵數相同,LSTM encoder 後的輸出大小為𝑛 × 𝑚,為了使用 FCNN 將 encoder 平坦化,此時向量變成 𝑛𝑚 × 1。本研究使用單 LSTM encoder 訓練語言 模型,並比較訓練一次語言模型後再用一樣的 LSTM encoder 訓練一次語言模型 是否可以使效能提升,此稱為雙 LSTM encoder,如圖 3.12.4,第二個 LSTM encoder 參數與前一個相同,LSTM encoder 並不會使輸入的大小改變,所以輸出 大小同為 𝑛 × 𝑚,所以平坦化後的大小也同為 𝑛𝑚 × 1。 38.
(49) 圖 3.12.3 單 LSTM encoder 類神經網路架構. 圖 3.12.4 雙 LSTM encoder 類神經網路架構. 在 3.11 所提到的順向 LSTM encoder 的缺點,如果只看前面的詞去預測後面 的詞可能會發生錯誤,所以使用順向與逆向的雙向 LSTM encoder,此外也彌補 word2vec 訓練時擷取上下文範圍較小的缺點,如圖 3.12.5,將兩個 LSTM encoder 39.
(50) 的輸出取平均,此架構訓練出一種參考前序列詞與參考後序列詞的語言模型。. 圖 3.12.5 順向逆向 LSTM encoder 類神經網路架構. 若 LSTM encoder 可以優化詞向量的語言模型,且 CNN encoder 可以找出未 知的特徵,將兩種 encoder 結合是本研究感興趣的,如圖 3.12.6,輸入的詞向量 經過 LSTM 後維度保持不變,訓練出 LSTM encoder 語言模型,串接 CNN encoder 找出文本的特徵,比較混合型的 encoder 是否優於單一種 encoder 的效 能。. 40.
(51) 圖 3.12.6 LSTM encoder 串接 CNN encoder 的類神經網路架構. 除了使用詞向量的詞表達式,本研究使用詞頻率當作詞的表達式,由於使用 詞頻率當特徵並沒有序列關係,所以不適用 LSTM encoder 或 CNN encoder 當 作訓練模型,因此本研究只使用全連結神經網路當作主要模型,如圖 3.12.7, 𝑛 為詞頻率特徵的維度,本研究中 𝑛 為 4997 與 6200。. 圖 3.12.7 全連結類神經網路架構. 41.
(52) 第十三節 評估方式. 表 3.13.1 為評估分析表,正確正例 (True Positive, TP) 表示預測結果與真實 結果皆為正向的數量;錯誤正例 (False Positive, FP) 表示預測結果為正向但真實 結果為負向的數量;錯誤負例 (False Negative, FN) 表示預測結果為負向但真實結 果為正向的數量;正確負例 (True Negative, TN) 表示預測結果與真實結果皆為負 向的數量。評估方式如 (式 3.13.1) (式 3.13.2)(式 3.13.3)(式 3.13.4)。. 表 3.13.1 評估分析表 標準答案 正向資料. 負向資料. 實驗. 正向資料. 正確正例 (TP). 錯誤正例 (FP). 結果. 負向資料. 錯誤負例 (FN). 正確負例 (TN). Accuracy =. (𝑇𝑃 + 𝑇𝑁) 𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁. Precision 𝑃 = Recall 𝑅 =. 𝑇𝑃 𝑇𝑃 + 𝐹𝑃. (式 3.13.2). 𝑇𝑃 𝑇𝑃 + 𝐹𝑁. 𝐹 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 =. (式 3.13.1). (式 3.13.3). 2𝑃𝑅 𝑃+𝑅. (式 3.13.4). 42.
(53) 本研究認為評論中的建議可以對消費者或業者有好處,對於無建議成份的評 論不是本研究要找的,本研究指定正向代表建議類;負向代表非建議類。Accuracy 計算正確正例與正確負例的數量,如果模型對於識別負向效能特別好,測試數據 也很多負向的資料,Accuracy 雖然會較高,但對本研究目的沒有幫助。所以使用 式 (式 3.13.2)(式 3.13.3)(式 3.13.4) 為主要評估方式。. 43.
(54) 第四章 實驗結果與討論. 第一節 實驗資料. 如表 4.1.1,suggestion 類 (正向)文本有 2994 句而 non-suggestion 類 (負向) 文本有 3123 句,共有 6117 句。本研究將資料分為如下兩部份,第一部份為訓 練用,數量是各類文本的九成共 5504 句,其中再將九成分為訓練集共 4953 句, 一成分為驗證集共 551 句。第二部份為測試用,數量是各類文本的一成共 611 句。. 表 4.1.1 建議句與非建議句句數 Class. Number of sentences. Suggestion. 2994. Non-Suggestion. 3123. 圖 4.1.1 為各類別中不同產品類別的句數,辦公用品跟美容服務非常多商家 角逐競爭,消費者間容易產生推薦和比較之行為,代表進步空間較大,所以建議 類數目相對較多;家庭用品兩類的數目相當,如果產品已經很完善,代表每種產 品有各自的擁護者,單純分享產品內容的人也多;廚房用品相對來說比較沒有建 44.
(55) 議的行為,不管是對消費者或業者,代表該類產品已經迭代設計的很完整,或是 產業競爭少,使得較少比較的機會。. 圖 4.1.1 各類別中不同產品類別的句數. 詞向量的維度為 25 維,若經過因子分解機的詞向量,因為兩兩維度相關,其 維度大小用式 4.1.1 計算,𝑛 為原維度大小,在本研究是 25,任意選兩個維度組 合,每一組有兩個維度,因此因子分解機後的詞向量维度變為 600。. 𝐹𝑎𝑐𝑡𝑜𝑟𝑖𝑧𝑒𝑑 𝐷𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑠 = 𝐶2𝑛 × 2. (式 4.1.1). 詞頻率的維度大小最多為文本中詞集合的大小,而每一維度代表不同的詞, 45.
(56) 例如:"recommend"、"phones"、"buy" 和 "I" 等,本研究使用的文本詞集合大小 為 6200。詞頻 2 的統計方式會有很多詞出現次數很少,或是兩類的詞頻合併後值 很小,故將詞頻率部份的維度去除,只要詞頻率的絕對值小於 2 就刪除該維度。 詞頻 3 由於將詞頻率做 Z-Score 標準化將值域壓縮,故不刪除欄位,維持 6200 維。 由於本研究是以句子為單位作識別,所以輸入會有多個詞,為了使輸入詞的 數量相同,先統計訓練集中最多詞的文本之詞的數量,在此稱資料的長度,本研 究資料長度為 292。表 4.1.2 列出本研究所使用之輸入資料的維度大小。. 表 4.1.2 各種輸入維度大小 輸入類型. 維度大小. 詞向量. 292 × 25. 詞向量 (因子分解機). 292 × 600. 詞頻 2. 292 × 4997. 詞頻 3. 292 × 6200. 詞頻 3 結合詞向量. 292 × 25. 46.
(57) 第二節 實驗結果. 本研究首先測試詞向量 + 全連結類神經網路的模型,訓練收斂圖及效能結 果如圖 4.2.1 及表 4.2.1 所示。參數說明如下:輸入維度為 292 × 25、全連結網路 一 層 隱 藏 層 有 256 個 神 經 元 、 activation=ReLU 、 dropout=0.5 、 輸 出 層 activation=softmax、batch_size=16、epoch=10。在圖 4.2.1 中,loss 表示用訓練集 的資料輸入當前 epoch 的模型之 loss 總和,val_loss 表示表示驗證集的資料輸 入當前 epoch 的模型之 loss 總和;訓練的回合數與輸出的效能有很大的關係, 所以為盡可能公平的比較不同架構的效能,除模型參數外,訓練參數的 epoch 也 固定。. 圖 4.2.1 詞向量 + 全連結類神經網路訓練收斂圖 47.
(58) 表 4.2.1 詞向量 + 全連結類神經網路效能結果 Precision. Recall. F1. Training time (s). 0.94. 0.84. 0.89. 13.09. 接下來將全連結類神經網路加入 CNN encoder,詞向量 + 單 CNN encoder 的訓練收斂圖及效能圖結果如圖 4.2.2 及表 4.2.2 所示。參數說明如下:輸入維度 為 292 × 25 × 1、2D 過濾器 32 個、kernel_size=2、padding=same、activation=ReLU、 pooling_size=2、dropout=0.3、全連結網路參數和詞向量 + 全連結類神經網路相 同、batch_size=16、epoch=10,執行時間 59.06 秒。. 圖 4.2.2 詞向量 + 單 CNN encoder 訓練收斂圖 48.
(59) 表 4.2.2 詞向量 + 單 CNN encoder 效能結果 Precision. Recall. F1. Training time (s). 0.98. 0.87. 0.92. 59.06. 接著將單 CNN encoder 擴展為雙 CNN encoder 實驗,在詞向量 + 雙 CNN encoder 的訓練收斂圖及效能結果如圖 4.2.3 及表 4.2.3 所示。參數說明如下:輸 入維度為 292 × 25 × 1、兩個 CNN encoder 的參數相同、CNN encoder 參數和 詞向量 + 單 CNN encoder 相同、全連結網路參數和詞向量 + 全連結類神經網路 相同、batch_size=16、epoch=10,執行時間 31.82 秒。. 圖 4.2.3 詞向量 + 雙 CNN encoder 訓練收斂圖 49.
(60) 表 4.2.3 詞向量 + 雙 CNN encoder 效能結果 Precision. Recall. F1. Training time (s). 0.99. 0.89. 0.94. 31.82. 接下來實驗因子分解機應用於詞向量的模型,由於雙 CNN encoder 架構的 效能優於單 CNN encoder 架構,所以使用雙 CNN encoder 測試因子分解機的詞 向量,即詞向量 (因子分解機) + 雙 CNN encoder 的訓練收斂圖及效能結果如圖 4.2.4 及表 4.2.4 所示。參數說明如下:輸入維度為 292 × 600 × 1、CNN encoder 參數和詞向量 + 雙 CNN encoder 相同、全連結網路參數和詞向量 + 全連結類 神經網路相同、batch_size=16、epoch=10,執行時間 420.69 秒。. 圖 4.2.4 詞向量(因子分解機) + 雙 CNN encoder 訓練收斂圖 50.
(61) 表 4.2.4 詞向量(因子分解機) + 雙 CNN encoder 效能結果 Precision. Recall. F1. Training time (s). 0.97. 0.90. 0.93. 420.69. 為了比較 CNN encoder 與 LSTM encoder 的效果,本研究接下來實驗詞向 量 + 單 LSTM encoder,訓練收斂圖及效能結果如圖 4.2.5 及表 4.2.5 所示。參數 說 明如下:輸入維度為 292 × 25 、 LSTM encoder 輸出一單元維度為 25、 activation=tanh 、 全 連 結 網 路 參 數 和 詞 向 量 + 全 連 結 類 神 經 網 路 相 同 、 batch_size=16、epoch=10,執行時間 834.88 秒。. 圖 4.2.5 詞向量 + 單 LSTM encoder 訓練收斂圖 51.
(62) 表 4.2.5 詞向量 + 單 LSTM encoder 效能結果 Precision. Recall. F1. Training time (s). 0.99. 0.9. 0.94. 834.88. 再將上述單 LSTM encoder 擴展為雙 LSTM encoder,在詞向量 + 雙 LSTM encoder 的架構中,訓練收斂圖及效能結果如圖 4.2.6 及表 4.2.6 所示。參數說明 如下:輸入維度為 292 × 25、兩個 LSTM encoder 的參數相同、LSTM encoder 參數和詞向量 + 單 LSTM encoder 相同、全連結網路參數和詞向量 + 全連結類 神經網路相同、batch_size=16、epoch=10,執行時間 1718.06 秒。. 圖 4.2.6 詞向量 + 雙 LSTM encoder 訓練收斂圖 52.
(63) 表 4.2.6 詞向量 + 雙 LSTM encoder 效能結果 Precision. Recall. F1. Training time (s). 0.99. 0.9. 0.94. 1718.06. 其 次 以 雙 向 LSTM encoder (Bi-LSTM encoder) 取 代 上 述 之 單 向 LSTM encoder 實驗,在詞向量 + Bi-LSTM encoder 模型中,訓練收斂圖及效能結果如 圖 4.2.7 及表 4.2.7 所示。參數說明如下:輸入維度為 292 × 25、兩個 LSTM encoder 參數相同但其中一 encoder 將輸入序列之方向相反、LSTM encoder 參數和詞向 量 + 單 LSTM encoder 相同、全連結網路參數和詞向量 + 全連結類神經網路相 同、batch_size=16、epoch=10,執行時間 3240.95 秒。. 53.
(64) 圖 4.2.7 詞向量 + Bi-LSTM encoder 訓練收斂圖 表 4.2.7 詞向量 + Bi-LSTM encoder 效能結果 Precision. Recall. F1. Training time (s). 1. 0.88. 0.94. 3240.95. 由於詞向量 (因子分解機) + 雙 CNN encoder 比沒有因子分解機的詞向量之 效果要好,所以因子分解機詞向量應用在 LSTM encoder 模型中,又因上述三種 LSTM encoder 模型中效果差異不大,但執行時間上單 LSTM encoder 最快,故 使用單 LSTM encoder 測試因子分解機的詞向量,即詞向量 (因子分解) + 單 LSTM encoder,訓練收斂圖及效能結果如圖 4.2.8 及表 4.2.8 所示。參數說明如下: 輸入維度為 292 × 25、LSTM encoder 參數和詞向量 + 單 LSTM encoder 相同、 全連結網路參數和詞向量 + 全連結類神經網路相同、batch_size=16、epoch=10, 執行時間 1948.62 秒。. 54.
(65) 圖 4.2.8 詞向量(因子分解機) + 單 LSTM encoder 訓練收斂圖 表 4.2.8 詞向量(因子分解機) + 單 LSTM encoder 效能結果 Precision. Recall. F1. 0.0. 0.0. NA. Training time (s) 1948.62. 組合 LSTM encoder 與 單 CNN encoder 觀察利用 LSTM 優化 word2vec 再進行特徵擷取的效果,訓練收斂圖及效能結果如圖 4.2.9 及表 4.2.9 所示。參 數說明如下:輸入維度為 292 × 25、LSTM encoder 參數和詞向量 + 單 LSTM encoder 相同、CNN encoder 參數和詞向量 + 單 CNN encoder 相同、全連結網 路參數和詞向量 + 全連結類神經網路相同、batch_size=16、epoch=10,執行時 間,執行時間共 904.47 秒。 55.
(66) 圖 4.2.9 詞向量 + 單 LSTM + 單 CNN 訓練收斂圖 表 4.2.9 詞向量 + 單 LSTM + 單 CNN 效能結果 Precision. Recall. F1. Training time (s). 0.98. 0.9. 0.94. 904.47. 前述實驗皆為以詞向量輸入,以下實驗以詞頻率輸入。首先為詞頻 2 + 全連 結類神經網路,訓練收斂圖及效能結果如圖 4.2.10 及表 4.2.10 所示。參數說明如 下:輸入維度為 292 × 4997、全連結網路參數和詞向量 + 全連結類神經網路相 同,執行時間共 12.49 秒。. 56.
(67) 圖 4.2.10 詞頻 2 + 全連結類神經網路訓練收斂圖 表 4.2.10 詞頻 2 + 全連結類神經網路效能結果 Precision. Recall. F1. 0.79. 0.32. 0.46. Training time (s) 12.49. 接下來為詞頻 3 + 全連結類神經網路,訓練收斂圖及效能結果如圖 4.2.11 及 表 4.2.11 所示。參數說明如下:輸入維度為 292 × 6200、全連結網路參數和詞向 量 + 全連結類神經網路相同,執行時間共 12.53 秒。. 57.
(68) 圖 4.2.11 詞頻 3 + 全連結類神經網路訓練收斂圖 表 4.2.11 詞頻 3 + 全連結類神經網路效能結果 Precision. Recall. F1. 0.98. 0.91. 0.94. Training time (s) 12.53. 本研究並嘗試詞頻率結合詞向量的實驗,首先應用在全連結類神經網路,即 詞頻 3 結合詞向量 + 全連結類神經網路,訓練收斂圖及效能結果如圖 4.2.12 及 表 4.2.12 所示。參數說明如下:輸入維度為 292 × 25、全連結網路參數和詞向量 + 全連結類神經網路相同,執行時間共 14.43 秒。. 58.
(69) 圖 4.2.12 詞頻 3 結合詞向量 + 全連結類神經網路訓練收斂圖 表 4.2.12 詞頻 3 結合詞向量 + 全連結類神經網路效能結果 Precision. Recall. F1. 0.97. 0.86. 0.91. Training time (s) 14.43. 接下來實驗應用在 CNN encoder 上之效能,即詞頻 3 結合詞向量 + 雙 CNN encoder,訓練收斂圖及效能結果如圖 4.2.13 及表 4.2.13 所示。參數說明如下:輸 入維度為 292 × 25 × 1、CNN encoder 參數和詞向量 + 雙 CNN encoder 相同、 全連結網路參數和詞向量 + 全連結類神經網路相同,執行時間共 34.02 秒。. 59.
(70) 圖 4.2.13 詞頻 3 結合詞向量 + 雙 CNN encoder 訓練收斂圖 表 4.2.13 詞頻 3 結合詞向量 + 雙 CNN encoder 效能結果 Precision. Recall. F1. 1. 0.86. 0.92. Training time (s) 34.02. 接下來實驗應用在 LSTM encoder 上之效能,即詞頻 3 結合詞向量+單 LSTM encoder,訓練收斂圖及效能結果如圖 4.2.14 及表 4.2.14 所示。參數說明如 下:輸入維度為 292 × 25、LSTM encoder 參數和詞向量 + 單 LSTM encoder 相 同、全連結網路參數和詞向量 + 全連結類神經網路相同、batch_size=16、epoch=10, 執行時間共 850.27 秒。. 60.
(71) 圖 4.2.14 詞頻 3 結合詞向量 + 單 LSTM encoder 訓練收斂圖 表 4.2.14 詞頻 3 結合詞向量 + 單 LSTM encoder 效能結果 Precision. Recall. F1. 0.99. 0.9. 0.94. Training time (s) 850.27. 第三節 分析與討論. 表 4.3.1 整理上述各個實驗設計的效能。可以看出比起單純使用全連結的類 神經網路,不管使用 CNN encoder 特徵擷取或 LSTM encoder 優化 word2vec 都 讓效果有所提升;LSTM 架構的損失值與損失值間的差都是最小的,而 FCNN 架 61.
(72) 構的損失值與損失值間的差是最大的。使用雙 encoder 架構下,只有雙 CNN 架 構的結果有變好,LSTM 則無;代表雙 CNN 架構進一步擷取特徵對建議探勘是 有用的,而雙 LSTM 作為優化 word2vec 的功用使用一次就足夠;使用順逆向 LSTM (Bi-LSTM)改善 word2vec 上下文距離短的缺點之想法,在建議探勘中效果 沒有顯著提升,Recall 甚至下降,可能原因是只要有建議行為之句子就被標記為 建議類,而與句子的受詞或分詞並無直接關係。使用 LSTM 優化 word2vec 後再 使用 CNN 進行特徵擷取,效果使 LSTM 差不多,但是收斂圖中損失值與損失 值間的差和 CNN 差不多,所以整體效果變差。詞向量使用因子分解機後,使用 CNN 架構其損失值會維持收斂,但是效果與損失值並沒有明顯變化,而 LSTM 架構無法收斂;根據 CNN encoder 的運算流程,並不是所有維度都會被一起卷積, 使用因子分解機的概念使兩兩特徵皆會被卷積,以避免相鄰特徵卷積值過低在池 化層被丟棄,即使有更多的 CNN encoder 也不見得可以將相隔較遠的特徵成份 卷積在一起,但是 LSTM 無此動作,造成過多不必要的訊息。 詞頻率的詞表達式中,詞頻 2 將不同類的詞各別計算頻率後,一邊相加,另 一邊相加取負號,最後再將各類的詞頻率相加。如果某一類的詞數量遠多於另一 類,詞數量較多的類之詞頻率會造成數值主導,使最後的詞頻都是正的或都是負 的。所以使用詞頻 3 的方式,在各類相加前先對各類的詞頻率使用 Z-Score 的方 式標準化,使用 Z-Score 的好處是,不同類的詞數量可以用減去平均數 𝜇 減少 數值主導的影響,並以標準差為單位計算。顯示這與詞向量或有 encoder 的架構 62.
(73) 效果至少一樣好,訓練的速度快非常多,在詞頻 3 的收斂圖中可以發現比起使用 詞向量的情況中,損失值變低且損失值間的差也變小。嘗試結合詞向量與詞頻率, 由於兩者的數值域不同,又詞向量的範圍較小,故將詞頻率進行數值壓縮,減少 數值主導的情況,結合詞頻 3 與詞頻率表達式的結果中,在 FCNN 架構中,比 起只使用詞向量,加入詞頻率 3 後效果有所提升,但在 CNN 架構中效果變差了, 而 LSTM 架構的效果一樣;收斂圖的部份可以發現一個有趣的現象,FCNN 與 CNN 的損失值雖然沒有變小,但是損失值間的差變小了,代表訓練出的模型與現 實較貼近。本研究將詞向量應用在上述列出之架構中,而詞頻率只用在全連結類 神經網路架構中,如果將相加的詞向量與詞頻率分開來看,詞頻率輸入 CNN encoder,由於詞頻之間並無關係,所以 CNN encoder 無法擷取出特徵,效果甚至 變差;不過 LSTM encoder 架構中效果不變,如果將詞頻率當成加權值的概念, 有個值得探討的議題是詞頻率壓縮數值的方式,目前使用的方式會因為偏遠值的 關係使加權值的變動幅度變小,也就是說有沒有這個加權值並無明顯差異。最後 列出過去相關的研究效能如表 4.3.2。 下面三句標記為建議類,且模型識別為建議類,底線加粗體是建議行為的部 份 : (1) my recommendation should really read yes and no. (2) highly recommend for all around the house use. (3) they 'll learn one day that having too many options on the store counters will run consumers to a product with less options.,本研究發現,不論 建議成份出現在主詞或動詞都可以識別出建議類。而下面三句標記為建議類,但 63.
(74) 模型識別為非建議類,底線加粗體是建議行為的部份,斜體是誤判項 : (1) looks like a nice answer to organize presentation papers. (2) practical and can contained sorted documents in one folder. (3) a laminated version would be awesome i prefer a single-color pack,本研究發現,一個句子如果包含形容詞補語或是感官動詞,就 算句子裡有建議行為的部份,也會被識別為非建議類。. 64.
(75) 表 4.3.1 實驗之效能清單 Precision. Recall. F1. Training time (s). 詞向量+全連結網路. 0.94. 0.84. 0.89. 13.09. 詞向量+單 CNN. 0.98. 0.87. 0.92. 59.06. 詞向量+雙 CNN. 0.99. 0.89. 0.94. 31.82. 詞向量(因子分解機)+雙 CNN. 0.97. 0.90. 0.93. 420.69. 詞向量+單 LSTM. 0.99. 0.9. 0.94. 834.88. 詞向量+雙 LSTM. 0.99. 0.9. 0.94. 1718.06. 詞向量+Bi-LSTM. 1. 0.88. 0.94. 3240.95. 0.0. 0.0. NA. 1948.62. 詞向量+單 LSTM+單 CNN. 0.98. 0.9. 0.94. 904.79. 詞頻 2+全連結網路. 0.79. 0.32. 0.46. 12.49. 詞頻 3+全連結網路. 0.98. 0.91. 0.94. 12.53. 詞頻 3 結合詞向量+全連結網 路. 0.97. 0.86. 0.91. 14.43. 詞頻 3 結合詞向量+雙 CNN. 1. 0.86. 0.92. 34.02. 詞頻 3 結合詞向量+單 LSTM. 0.99. 0.9. 0.94. 850.27. 詞向量(因子分解機)+單 LSTM. 65.
(76) 表 4.3.2 相關研究的效能一覽表 Method. Recall. Precision. F1. Ramanand 等 (2010). 規則式. 0.5. -. -. Brun 等 (2013). 規則式. 0.7. 0.77. 0.73. Dong 等 (2013). 因子分解機. 0.71. 0.68. 0.69. Negi 等 (2015). SVM. 0.60. 0.56. 0.57. Golchha 等 (2018). 混合 類神經網路. 0.67. 0.63. 0.65. CNN+LSTM. 雖然上述研究者的實驗來源與本研究不同,但可以看出建議句的擷取的確是 值得研究的議題,且普遍效能在 60% 到 70% 之間。本研究不論使用 FCNN、 CNN 或 LSTM 都可以有 0.94 的效果。LSTM 架構加更多 LSTM encoder 效果 沒有變好,反而訓練時間增加。雙 CNN encoder 進一步特徵擷取可以使效果變好。 詞頻 3 的表達式只使用 FCNN 就可以跟 encoder 架構效果類似,訓練速度也最 快。結合詞頻 3 與詞向量的情況雖然在效果上無特別突出,但是收斂圖有明顯的 變化。. 66.
(77) 第五章 結論與未來展望. 本研究將評論分為建議句和非建議句。使用 Stanford Core NLP 斷詞系統將 文本以詞為單位進行處理;詞的表達方式分為兩種,詞向量與詞頻率;模型採用 深度學習類神經網路,分為全連結類神經網路、卷積類神經網路與長短期記憶類 神經網路。 在標記的任務中提出對資料抽樣後使用式 3.3.2 是一種節省標記成本的方法。 因子分解機實作在詞向量上發現只有具相關運算機制的 CNN 有用,但卻造成 LSTM 的雜訊過多,使其損失值無法收斂。本研究使用 FCNN、CNN 或 LSTM 多種類神經網路組合,其 F1-measure 都可達到 0.94。詞頻率 3 的方法可以使 FCNN 與 CNN 和 LSTM 效果一樣好。且利用詞頻 3 結合詞向量在訓練收斂圖 中,訓練集的損失值與驗證集的損失變很小,甚至比效果一直都很好的 LSTM 更 小,代表可使訓練出的模型與現實較為貼近。 本研究使用詞向量與詞頻率作詞表達式,並比較兩種不同的詞表達的效能。 本研究實驗過程中也嘗試結合兩種詞表達式,考慮到值域會影響模型的訓練,比 方說,某一種詞表達的數值過大,會使得另外一種詞表達效果不明顯。本研究將 Z-Score 值壓縮 (介於 -0.7~0.7 之間)後的數值當作詞向量的加權值,發現對詞向 量的影響非常小,使得訓練的結果與詞向量並無明顯不同。如果可以找到其它方 法,使得上述的加權值變動量提升,又不會主導另一種結合的詞表達式的數值, 67.
(78) 或許可以讓模型的效能更上一層。 全連結網路、卷積神經網路或長短期記憶網路每種網路都有各自的特色。當 中可以調整的參數非常多,例如:全連結層可以調整隱藏層數目、每層的神經元 個數或激活函數等;卷積神經網路可以調整過濾器個數與大小、卷積移動的策略、 池化策略或激活函數等;長短期記憶網路可以調整網路輸出的維度或激活函數等。 未來可以嘗試的組合有很多種,或許有一種網路組合與參數可以讓原本不突出的 詞表達式與網路模型得到更好的效能。 建議分類可以找出明顯建議的評論,提供消費者購買前的參考依據,或是提 供給業者迭代設計的建議。此分類並無提供訊息是給與消費者或業者。一個可以 進一步延伸的主題是根據分類出的評論再分出此評論是給消費者或業者。. 68.
(79) 參考文獻 Brun, C., & Hagege, C. (2013). Suggestion Mining: Detecting Suggestions for Improvement in Users' Comments. Research in Computing Science, 70(79.7179), 5379-62. Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A neural probabilistic language model. Journal of machine learning research, 3(Feb), 1137-1155. Dong, L., Wei, F., Duan, Y., Liu, X., Zhou, M., & Xu, K. (2013, June). The automated acquisition of suggestions from tweets. In Twenty-Seventh AAAI Conference on Artificial Intelligence. Fernández, A. M., Esuli, A., & Sebastiani, F. (2016). Distributional Correspondence Indexing for Cross-Lingual and Cross-Domain Sentiment Classification. Journal of artificial intelligence research, 55, 131-163. Golchha, H., Gupta, D., Ekbal, A., & Bhattacharyya, P. (2018). Helping each Other: A Framework for Customer-to-Customer Suggestion Mining using a Semi-supervised Deep Neural Network. arXiv preprint arXiv:1811.00379. Kim, Y. (2014). Convolutional neural networks for sentence classification. arXiv preprint arXiv:1408.5882. Liu, B. (2012). Sentiment analysis and opinion mining. Synthesis lectures on human language technologies, 5(1), 1-167. 69.
(80) Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., & Dean, J. (2013a). Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems (pp. 3111-3119). Mikolov, Tomas, et al. "Efficient estimation of word representations in vector space." arXiv preprint arXiv:1301.3781 (2013b). Negi, S., & Buitelaar, P. (2015). Towards the extraction of customer-to-customer suggestions from reviews. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing (pp. 2159-2167). Negi, S., Asooja, K., Mehrotra, S., & Buitelaar, P. (2016). A study of suggestions in opinionated texts and their automatic detection. In Proceedings of the Fifth Joint Conference on Lexical and Computational Semantics (pp. 170-178). Pei, J., Han, J., Mortazavi-Asl, B., Wang, J., Pinto, H., Chen, Q., .... & Hsu, M. C.. (2004). Mining sequential patterns by pattern-growth: The prefixspan approach. IEEE Transactions on knowledge and data engineering, 16(11), 1424-1440. Pennington, J., Socher, R., & Manning, C. (2014). Glove: Global vectors for word representation. In Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP) (pp. 1532-1543). Ramanand, J., Bhavsar, K., & Pedanekar, N. (2010, June). Wishful thinking: finding suggestions and'buy'wishes from product reviews. 70. In Proceedings of the.
(81) NAACL HLT 2010 workshop on computational approaches to analysis and generation of emotion in text (pp. 54-61). Association for Computational Linguistics. Rendle, Steffen. "Factorization machines with libfm." ACM Transactions on Intelligent Systems and Technology (TIST) 3.3 (2012): 57.. 71.
(82)
Outline
相關文件
在產品安全監管問題方面,風險評估方法與風險因素之考量為
(3) TTQS 是針對機構進行評鑑,而非訓練班別,由於同一個機構 所辦理的不同訓練班別品質不盡相同,故 TTQS
達成效益:本部持續推動多元類別之 職前訓練,運用自有場地、設備、師 資,並結合地方政府公、民營訓練單 位,辦理多元訓練職類課程,並視需
(三)TTQS 評核證書於所提各訓練計畫之開訓日應仍屬有效,如於開訓日前效期 屆滿者,應於申請訓練計畫時檢附已申請 TTQS
第四條 中央主管機關補助雇主依本法第十八條第一項規定,指派所 僱用之中高齡者及高齡者參加職業訓練,以國內訓練單位公開招 訓之訓練課程為限。..
十三、事業單位應依分署核定之訓練計畫內容辦理訓練,各訓練課程之
6.訓練生之實習訓練,應在日間實施為宜,且不得安排於下午 10 時至翌日上午
• 田口方法 (Taguchi method) 的意義為利用損 失函數的概念評估品質,採用實驗設計的 方法使產品不易受到不想要或無法控制因 子