Deep Learning NLP 筆記(一) Introduction
上禮拜開始看Stanford線上的 DL NLP課程,覺得很棒,必須記錄一下
首先講講自身的經驗,最一開始做文字探勘(Text Mining)的時候,有使用過TF-IDF、LDA之類的演算法,非深度學習(DL)的演算法,大部分都需要生成TDM(Term-Document Matrix),進行後續的分析,但我在實務上遇到幾點困難:
(1) 運算量大:文章一多,矩陣(TDM)會變很大。
(2)TDM不考慮字詞順序:字詞的順序會影響語意,TDM只考慮斷詞後字詞出現的次數,語意可能流失甚至錯誤解讀,Ex. 不 我 喜歡 你 vs. 我 不 喜歡 你,TDM的次數計算一樣,但是語意相反。
(3)中文斷詞必須準確,不然會影響結果:中文不像英文有空白,必須額外處理,目前大部分是使用jieba,但由於預設字典是簡體的,用在繁體會有落差(雖然也可以用萌典之類的,取代預設字典,或是中研院的斷詞系統,但我都還沒嘗試過);如果使用n-gram納入更多斷詞的可能性,TDM又會變得更大。
(4)人工設置停用詞,減少運算量跟凝聚語意:需要過濾像是標點符號,根據不同任務過濾常出現的字詞像台灣、的、了、我們、記者之類常出現的字詞,但也有語意流失的風險。
(5)Feature Engineering特徵工程:機器學習選feature一直是很重要的關鍵,變數選不好,後面再怎麼調也沒有用;挑選的時候要有產業知識(domain knowledge)才能找到有預測力跟解釋力的變數,所以相對需要大量的人為判斷,當然也有變數挑選的演算法如WOE、多變量分析等,但當變數很多時,效果就會受限;相對於Deep Learning也就是較為複雜的類神經網路,像一個黑盒子,可以把變數挑出來,但其實演算法早就有了,現今受惠於運算量增長與結構化資料的急速增加(一大部分來自網路),讓類神經又獲得重生並引領風潮。
下面是課程影片,官網也可以下載課程資料:
我之前利用Doc2Vec做的新聞分群,也是一個DL的演算法實作
ps. 小弟才疏學淺,如果有誤請幫忙指正,我會非常感謝您!也歡迎一起討論歐~