梁柯 李健 陳穎雪 劉志鋼



摘 要:本文利用Python語言,對25 000條英文影評數據進行文本分類。首先利用詞袋模型對文本數據進行分類。在此基礎上加入Word2Vec建立新的詞向量特征,通過精準率和召回率對比前后2種模型的分類效果;最后通過邏輯回歸和樸素貝葉斯分類模型的分類效果對照得出研究結論。結果表明:對于英文影評文本分類,在同等條件下,使用Word2Vec構建詞向量模型的精準率和召回率比使用bag of Word詞袋模型分別高出0.02個百分點和0.026個百分點;在使用Word2Vec的基礎上,樸素貝葉斯分類器的精準率和召回率分別高出邏輯回歸分類0.027個百分點和0.028個百分點。
關鍵詞: 文本分類;詞袋模型;Word2Vec;邏輯回歸;樸素貝葉斯
【Abstract】 This paper uses Python language to categorize 25 000 English film review data. Firstly, word bag model is used to categorize text data; Then, Word2Vec is added to build new feature vectors, and the classification results of the two models are compared by precision and recall rates; Finally, the classification effects of logistic regression and Naive Bayesian classification model are compared. The results show that the accuracy and recall rate of word vector model using Word2Vec are 0.02 and 0.026 percentage points higher than those using bag of Word model under the same conditions. On the basis of Word2Vec, the accuracy rate and recall rate of Naive Bayes classifier are 0.027 and 0.028 percentage points higher than Logistic Regression classification respectively.
【Key words】 ?text classification; word bag model; Word2Vec; Logistic Regression; Naive Bayes
0 引 言
互聯網已融入社會生活的方方面面[1],各種通訊電子等行業迅速發展,使得文本、圖像、視覺等數據挖掘任務的需求不斷增加,而文本分類技術現已廣泛應用到信息過濾、信息檢索、詞義消歧、信息組織及管理、話題發現及跟蹤等多個。研究可知,文本分類能夠幫助用戶對龐雜的數據信息進行精準分類,或是幫助用戶快速定位和篩選所需信息,從海量文本數據中挖掘出對于當前個人用戶或用戶群最具價值的信息則有著較高的研究意義和應用價值。
分類是機器學習和數據挖掘領域中一項重要任務。分類是把數據樣本映射到一個事先定義的類中的學習過程,其實質就是根據現有的樣本組成的訓練集判斷一個新樣本的類別。嚴格來講,分類也是一種預測,是對一組離散屬性(類標號)的預測,而預測通常指的是對連續值屬性的估計[2]分類,現已成為眾多領域的關鍵技術,諸如情感分類[3-4]、自然語言處理[5]、計算機視覺[6]、手寫文字[7]等等。常用的分類算法有k近鄰、決策樹、隨機深林、邏輯回歸、貝葉斯、神經網絡等模型[8]。而文本分類任務大多都是二分類任務,最常用的方法是邏輯回歸和樸素貝葉斯分類模型。
基于此,本文運用kaggle網5 000條影評數據,并選取Python程序語言,來進行影評數據的情感分類研究。對此,本文擬展開分析論述如下。
1 英文文本預處理
數據預處理是數據挖掘的重要部分,在真實世界中,數據通常是不完整的(缺少某些感興趣的屬性值)、不一致的(包含代碼或者名稱的差異)、極易受到噪聲(錯誤或異常值)的侵擾的。研究中對這些噪聲數據進行處理,不僅有利于后續數據分析,并可使數據分析結果更有意義。
無論是中文還是英文數據,文本數據的預處理一般包括5個步驟,即:去掉html標簽、移除標點、切分成詞、去掉停用詞和重組為新的句子。這里對各步驟的設計分析可做重點闡述如下。
1.1 去掉Html標簽
在當今互聯網時代,對文本數據來說,來源廣泛,易獲得,但質量參差不齊。考慮到很多數據都是從互聯網上實時爬取得來,而爬取得到的數據會含有大量的Html網頁標簽和表情等,但Html標簽對數據分析沒有任何作用,甚至還會影響分析效果。綜上分析可知,從互聯網上取得數據后的第一步就是去除Html標簽。
1.2 去掉標點符號
對于文本分類而言,標點符號和特殊符號的存在影響計算機識別效果,為了確保分類器的分類速度較快,以及得到良好分類的準確率,故需過濾掉這些噪聲數據[9]。
1.3 文本分詞
無論是在漢語還是英語中,詞一般都代表最小的語義單位,因此在研究中就需要將句子劃分成詞,才可轉入后續的研究分析中。在Python語言中,中文分詞一般選用Jieba分詞器,英文分詞一般選用Nltk分詞器。其中,Jieba是一款基于Python的中文分詞器,目前也是一款流行的開源分詞器,內部有多個算法,支持多種分詞模式,并可以利用隱馬爾可夫模型和維特比算法解決部分未登錄詞問題。Nltk(Natural Language Toolkit),是自然語言處理工具包,也是NLP領域中,最常使用的一個Python庫,Nltk包括圖形演示和示例數據。
1.4 去掉停用詞
去除停用詞可以大大減小特征詞的數量,進而提高文本分類的準確性。停用詞主要有2種類型。一種是人類語言中包含的功能詞。這些功能詞都較為常見,類似虛詞,與其它詞相比,沒什么實際意義。比如英語中的the、is、at、which、on 等 ;另 一 種是 詞 匯 詞 , 比如want等。對中文來說,包括著諸如“的”、“和”、“在”、“是”等在內的一系列副詞、量詞、介詞、嘆詞、數詞。對文本分類來說,這些詞匯幾乎在所有文本中都會出現,不具備特殊性和區分度,反而會稀釋那些有區分度的詞,所以通常會把這些詞從問題中移去,如此一來就提高了分類性能。
1.5 數據重組
數據重組是文本分類中的重要環節。數據重組就是將預處理后的文本數據重新組成一句完整的話,便于后面的詞向量構建和模型的訓練。
2 文本特征抽取和詞向量模型
2.1 文本特征抽取
文本特征抽取是為了提高文本分類的效率,減少計算復雜度。研究時,可通過判斷特征詞來進行文本特征選擇。總地來說,文本特征選取方法有文本頻率和詞頻兩種,其它包括卡方檢驗、信息增益、互信息等方法是以文檔頻率為基礎,常用的TF-IDF則是綜合詞頻和文檔頻率構建的特征選擇方法。在本文研究中,選用了詞頻統計方法進行文本分類處理。
2.2 詞向量模型
詞向量模型是將文本文件表示為標識符(如索引)向量的代數模型。其主要適用于信息過濾、信息檢索、索引和相關排序方面的研究。詞向量就是用一個向量的形式表示一個詞。機器學習任務則是把任何輸入量化成數值表示,同時再充分利用計算機的運算能力,計算求出最終想要的結果。
本文分別使用bag of Word模型和Word2Vec模型進行詞向量構建,并且對比分析了2種詞向量模型進行文本分類的性能優劣。
3 文本分類模型
4 基于Python的英文文本分類設計實現
本文選取kaggle網上25 000條英文影評數據進行實例分析,通過考察用戶評論,對該評論進行情感分類,分為積極(Positive)和消極(Negative)兩類影評數據,并選用精準率和召回率來評價分類效果。基于前述分析流程,逐步實現分類任務,包括詞向量構建對比分類和分類器對比分類。部分數據如圖3所示。對此研究過程,可得闡釋分述如下。
4.1 數據預處理
根據上文可知,數據預處理包括5個部分,即:去掉Html標簽、去除標點符號、切分成詞、去掉停用詞和數據重組。程序代碼如圖4所示。將預處理好的數據進行重組,命名為clean_review,詳見圖5。
4.2 特征抽取和詞向量模型
本文運用詞頻方法抽取數據特征(用sklearn的CountVectorizer),分別選用bag of Word和Word2Vec 兩種詞袋模型構造詞向量,部分代碼參見圖6。
4.3 文本分類模型
4.3.1 邏輯回歸分類
使用bag of Word模型的邏輯回歸分類,部分代碼如圖7所示。
使用bag of Word 預料模型的邏輯回歸分類效果見圖7,準確率為0.845,召回率為0.853,分類效果較好,其混淆矩陣如圖8所示。
使用Word2Vec模型的邏輯回歸分類中,詞向量維度設為300,最小單詞數量設為40,單詞移動窗口設為10。分類結果如圖9所示。
由圖9可知,使用Word2Vec模型的邏輯回歸比使用bag of Word的精準率提高了0.02個百分點,召回率提高了0.026個百分點。
4.3.2 樸素貝葉斯分類
通過以上分析,使用Word2Vec構建詞向量的邏輯回歸分類效果更好。本節在Wor2Vec的基礎上,選用樸素貝葉斯分類器,分別采用邏輯回歸和樸素貝葉斯算法對影評數據的分類效果進行比較。研究最終得到的樸素貝葉斯的分類結果如圖10所示。
由圖10可知,樸素貝葉斯分類器比邏輯回歸分類精準率高出了0.027個百分點,召回率高出了0.028個百分點。由此可見,在影評文本分類中,樸素貝葉斯分類器的分類效果要優于邏輯回歸。
5 結束語
本文討論了文本分類常用的分類方法,即邏輯回歸和樸素貝葉斯算法。與此同時又可看到,近年來已陸續涌現數目可觀的利用深度學習進行文本分類的研究,并在許多公開數據集和分類任務上都取得了最優結果。但仍要指出,深度學習也有著嚴重缺陷,對此可做詳盡剖述如下。
(1)需要大量的數據。深度學習是一種數據驅動型的技術,海量的數據與深度學習算法結合往往能帶來巨大的效果提升,但如果數據量不足(比如本文中用到的新聞分類數據集)時,深度學習算法容易出現過擬合,泛化效果很差。
(2)缺乏解釋性。深度學習端到端的訓練和學習帶來很多便捷,無須人工繁雜地提取特征,也無須設計過多中間步驟,但這種端到端也會帶來不可預測的黑箱效應。參數調節與最終結果的好壞難以做到一一對應,缺乏指導意義,并且很難復現模型。鑒于前述分析可知,樸素貝葉斯在現今工業界也仍會受到青睞。
本文利用Python語言,對25 000條英文影評數據進行文本分類。首先利用詞袋模型對文本數據進行分類;在此基礎上加入Word2Vec建立新的詞向量特征,通過精準率和召回率對比前后兩種模型的分類效果;最后,即對邏輯回歸和樸素貝葉斯分類進行了對比研究。結果表明,對于英文影評文本分類,在同等條件下,使用Word2Vec構建詞向量模型優于使用bag of Word詞袋模型,樸素貝葉斯分類效果優于邏輯回歸分類。在后續工作中,尤其在諸如決策樹、神經網絡等算法對比上仍有待進一步的深入探索與研究。
參考文獻
[1]Miniwatts Marketing Group.世界互聯網統計網站[EB/OL].[2019-08-21]. http://www.internetworldstats.com.
[2]毛承勝. 基于貝葉斯決策理論的局部分類方法研究及其應用[D].蘭州:蘭州大學,2016.
[3]LI Xiaowei, ZHAO Qinglin, HU Bin, et al. Improve affective learning with EEG approach[J]. Computing and Informatics, 2012, 29(4): 557-570.
[4]LU Yifei, ZHENG Weilong, LI Binbin, et al. Combining eye movements and EEG to enhance emotion recognition[C]//IJCAI'15 Proceedings of the 24th International Conference on Artificial Intelligence.Buenos Aires, Argentina:AAAI,2015:1170-1176.
[5]張春燕.基于自然語言處理的文本分類分析與研究[D]. 贛州:江西理工大學,2011.
[6]GRAUMAN K, DARRELL T. The pyramid match kernel: Discriminative classification with sets of image features[C]//
IEEE International Conference on Computer Vision. Beijing, China: IEEE, 2005: 1458-1465.
[7]CAO Jun, AHMADI M, SHRIDHAR M. Recognition of handwritten numerals with multiple feature and multistage classifier [J]. Pattern Recognition, 1995, 28(2): 153-160.
[8]周志華. 機器學習[M].北京: 清華大學出版社, 2016.
[9]DILRUKSHI I, ZOYSA K D. Twitter news classification: Theoretical and practical comparison of SVM against Naive Bayes algorithms [C]//International Conference on Advances in ICT for Emerging Regions(ICTer).Colombo Sri Lanka:IEEE, 2013:278.