李翔 柴志菲


摘要:情感分類是NLP應用的一個分支,在輿情控制,評價預測以及推薦方面都有重要應用。目前常用的情感分類方法有K近鄰算法、樸素貝葉斯分類、支持向量機、決策樹等。本文提出采用隨機森林進行情感分類的研究,采取隨機森林作為分類模型,文本評論的句向量作為模型輸入,在15萬條的評論數據上訓練,取得了不錯的預測結果。由于隨機森林算法方便并行化,該方案,極其容易部屬到集群中,進行后續的工程化應用。
關鍵詞:word2vec;隨機森林;情感分類
在當代互聯網形式復雜的各種數字信息中,文本信息占據著重要的作用。文本自古以來文本就扮演著傳承人類智慧結晶的角色,是最重要的知識來源。
情感分類目前在知識發現、數字圖書等領域扮演著不可或缺的重要角色。目前常用的情感分類方法有K近鄰算法、樸素貝葉斯分類、支持向量機、決策樹等,另一種比較常用的方法是集成分類算法,這種方法通過構建并結合多個基分類器來完成分類的任務,其中在情感分類中比較廣泛應用的是Breiman在2001年提出的隨機森林算法[1],并且其具有良好的分類性能、容易并行化、不易過擬合、構建過程中無偏估計泛化誤差等優點,因此對隨機森林在情感分類問題中的研究和應用有著重要的意義。
1.數據集
我們從新浪微博爬取781224條評論數據,并對其批量打了標簽,經過數據分析,我們發現數據集中包含很多雜亂信息,需要對應清洗,其中包括超鏈接部分,特殊字符部分,英文單和數字的處理,以及對應長度的考慮。我們針對超鏈接,特殊字符,空格采取的是去除策略;對英文,數字采取正則表達式的方式進行替換,替換成特殊字符;為了兼顧訓練數據的質量和數據規模,我們將評論長度限制在10到20之間。
中文是一種粘性語言,英文天然有空格進行分詞,因此為了向量化的表示,我們需要對中文進行分詞處理,常見的分詞方式有三種:基于前向后向的匹配分詞,基于概率的統計分詞,以及基于神經網絡的分詞,這里我們采用基于概率的統計分詞方法,選取清華開源的thulac分詞工具[4]進行分詞。
2.向量化
計算機只能識別數字化,向量化的信息,因為需要將我們的文本表示方式轉換成向量化的方式,其核心為詞向量。現有詞向量的主流方式有以word2vec和glove為主的靜態詞向量,以及以ELMO為主流的神經網絡編碼,以及以bagging思想為主的one-hot,tf-idf詞編碼。考慮到模型為隨機森林,我們這里采取word2vec進行詞編碼。個人訓練的word2vec信息如下表。
考慮到模型的輸入問題,需要將詞向量轉變為句向量,此處采取最簡單的方式,即以詞向量的tf-idf加權平均和表示句向量。
3.模型介紹
由于一個決策樹的分類結果往往不夠準確,或者容易產生過擬合問題,在2001年,Breiman從袋裝算法和隨機特征子空間方法得到啟發,提出了隨機森林算法[1]。隨機森林利用袋裝算法的有放回抽樣,從原始樣本中抽取多個樣本子集,并使用這幾個樣本對多個決策樹模型訓練,在訓練過程中使用借鑒了隨機特征子空間方法,在特征集中抽取部分特征進行決策樹的分裂,最后集成多個決策樹稱為一個集成分類器,這個集成分類器稱為隨機森林。
隨機森林算法按結構可以分為三個部分,子樣本集的生成,決策樹的構建,投票產生結果。子樣本集的生成。典型是袋裝算法的樣本自助聚集法,對原始樣本集進行有放回的隨機抽樣,形成與原始樣本集大小一樣的子樣本集,并重復進行k次(k為基分類器的個數)。決策樹的構建。隨機森林的決策樹與普通的決策樹構建方式基本一致,不同的是隨機森林的決策樹在進行分裂時選擇的特征并不是對整個特征全集進行搜索,而是隨機選取k個特征進行劃分。投票產生結果。隨機森林的分類結果是各個基分類器,即決策樹,進行投票得出。
4.實驗
首先我們從186413條評論數據中,劃分了20000條作為測試集合,其余數據作為訓練集訓練模型,將準備好的句向量作為隨機森林模型的輸入,得到如下的評價指標。可以看出模型的效果還算不錯。
5.總結
本文我們對隨機森林在情感分類上的應用進行了探索,取得了還算不錯的結果。該方法的好處是方便部屬到分布式集群上,做分布式計算。當然,在情感分類方面也可以嘗試采用最新的神經網絡模型,例如Bert,但是其在分布式方面的應用比較困難。
引用
[1]BreimanL.RandomForests[J].MachineLearning,2001,45:5-32
[2]ZhongguoLi,MaosongSun.PunctuationasImplicitAnnotationsforChineseWordSegmentation.ComputationalLinguistics,vol.35,no.4,pp.505-512,2009.
[3]張其龍.基于隨機森林的情感分類研究與應用[D].2019.
[4]羅新.基于隨機森林的文本分類模型研究[J].農業圖書情報學刊,2016,028(011):50-54.
[5]彭徵,王靈矯,郭華.基于隨機森林的文本分類并行化[J]. 計算機科學,2018, 45(12):155-159.
[6]田寶明,戴新宇,陳家駿.一種基于隨機森林的多視角文本分類方法[J].中文信息學報,2009.