梁柯 李健 陳穎雪 劉志鋼
摘 要:本文利用Python語言,對25 000條英文影評數(shù)據(jù)進行文本分類。首先利用詞袋模型對文本數(shù)據(jù)進行分類。在此基礎(chǔ)上加入Word2Vec建立新的詞向量特征,通過精準率和召回率對比前后2種模型的分類效果;最后通過邏輯回歸和樸素貝葉斯分類模型的分類效果對照得出研究結(jié)論。結(jié)果表明:對于英文影評文本分類,在同等條件下,使用Word2Vec構(gòu)建詞向量模型的精準率和召回率比使用bag of Word詞袋模型分別高出0.02個百分點和0.026個百分點;在使用Word2Vec的基礎(chǔ)上,樸素貝葉斯分類器的精準率和召回率分別高出邏輯回歸分類0.027個百分點和0.028個百分點。
關(guān)鍵詞: 文本分類;詞袋模型;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 引 言
互聯(lián)網(wǎng)已融入社會生活的方方面面[1],各種通訊電子等行業(yè)迅速發(fā)展,使得文本、圖像、視覺等數(shù)據(jù)挖掘任務(wù)的需求不斷增加,而文本分類技術(shù)現(xiàn)已廣泛應用到信息過濾、信息檢索、詞義消歧、信息組織及管理、話題發(fā)現(xiàn)及跟蹤等多個。研究可知,文本分類能夠幫助用戶對龐雜的數(shù)據(jù)信息進行精準分類,或是幫助用戶快速定位和篩選所需信息,從海量文本數(shù)據(jù)中挖掘出對于當前個人用戶或用戶群最具價值的信息則有著較高的研究意義和應用價值。
分類是機器學習和數(shù)據(jù)挖掘領(lǐng)域中一項重要任務(wù)。分類是把數(shù)據(jù)樣本映射到一個事先定義的類中的學習過程,其實質(zhì)就是根據(jù)現(xiàn)有的樣本組成的訓練集判斷一個新樣本的類別。嚴格來講,分類也是一種預測,是對一組離散屬性(類標號)的預測,而預測通常指的是對連續(xù)值屬性的估計[2]分類,現(xiàn)已成為眾多領(lǐng)域的關(guān)鍵技術(shù),諸如情感分類[3-4]、自然語言處理[5]、計算機視覺[6]、手寫文字[7]等等。常用的分類算法有k近鄰、決策樹、隨機深林、邏輯回歸、貝葉斯、神經(jīng)網(wǎng)絡(luò)等模型[8]。而文本分類任務(wù)大多都是二分類任務(wù),最常用的方法是邏輯回歸和樸素貝葉斯分類模型。
基于此,本文運用kaggle網(wǎng)5 000條影評數(shù)據(jù),并選取Python程序語言,來進行影評數(shù)據(jù)的情感分類研究。對此,本文擬展開分析論述如下。
1 英文文本預處理
數(shù)據(jù)預處理是數(shù)據(jù)挖掘的重要部分,在真實世界中,數(shù)據(jù)通常是不完整的(缺少某些感興趣的屬性值)、不一致的(包含代碼或者名稱的差異)、極易受到噪聲(錯誤或異常值)的侵擾的。研究中對這些噪聲數(shù)據(jù)進行處理,不僅有利于后續(xù)數(shù)據(jù)分析,并可使數(shù)據(jù)分析結(jié)果更有意義。
無論是中文還是英文數(shù)據(jù),文本數(shù)據(jù)的預處理一般包括5個步驟,即:去掉html標簽、移除標點、切分成詞、去掉停用詞和重組為新的句子。這里對各步驟的設(shè)計分析可做重點闡述如下。
1.1 去掉Html標簽
在當今互聯(lián)網(wǎng)時代,對文本數(shù)據(jù)來說,來源廣泛,易獲得,但質(zhì)量參差不齊??紤]到很多數(shù)據(jù)都是從互聯(lián)網(wǎng)上實時爬取得來,而爬取得到的數(shù)據(jù)會含有大量的Html網(wǎng)頁標簽和表情等,但Html標簽對數(shù)據(jù)分析沒有任何作用,甚至還會影響分析效果。綜上分析可知,從互聯(lián)網(wǎng)上取得數(shù)據(jù)后的第一步就是去除Html標簽。
1.2 去掉標點符號
對于文本分類而言,標點符號和特殊符號的存在影響計算機識別效果,為了確保分類器的分類速度較快,以及得到良好分類的準確率,故需過濾掉這些噪聲數(shù)據(jù)[9]。
1.3 文本分詞
無論是在漢語還是英語中,詞一般都代表最小的語義單位,因此在研究中就需要將句子劃分成詞,才可轉(zhuǎn)入后續(xù)的研究分析中。在Python語言中,中文分詞一般選用Jieba分詞器,英文分詞一般選用Nltk分詞器。其中,Jieba是一款基于Python的中文分詞器,目前也是一款流行的開源分詞器,內(nèi)部有多個算法,支持多種分詞模式,并可以利用隱馬爾可夫模型和維特比算法解決部分未登錄詞問題。Nltk(Natural Language Toolkit),是自然語言處理工具包,也是NLP領(lǐng)域中,最常使用的一個Python庫,Nltk包括圖形演示和示例數(shù)據(jù)。
1.4 去掉停用詞
去除停用詞可以大大減小特征詞的數(shù)量,進而提高文本分類的準確性。停用詞主要有2種類型。一種是人類語言中包含的功能詞。這些功能詞都較為常見,類似虛詞,與其它詞相比,沒什么實際意義。比如英語中的the、is、at、which、on 等 ;另 一 種是 詞 匯 詞 , 比如want等。對中文來說,包括著諸如“的”、“和”、“在”、“是”等在內(nèi)的一系列副詞、量詞、介詞、嘆詞、數(shù)詞。對文本分類來說,這些詞匯幾乎在所有文本中都會出現(xiàn),不具備特殊性和區(qū)分度,反而會稀釋那些有區(qū)分度的詞,所以通常會把這些詞從問題中移去,如此一來就提高了分類性能。
1.5 數(shù)據(jù)重組
數(shù)據(jù)重組是文本分類中的重要環(huán)節(jié)。數(shù)據(jù)重組就是將預處理后的文本數(shù)據(jù)重新組成一句完整的話,便于后面的詞向量構(gòu)建和模型的訓練。
2 文本特征抽取和詞向量模型
2.1 文本特征抽取
文本特征抽取是為了提高文本分類的效率,減少計算復雜度。研究時,可通過判斷特征詞來進行文本特征選擇??偟貋碚f,文本特征選取方法有文本頻率和詞頻兩種,其它包括卡方檢驗、信息增益、互信息等方法是以文檔頻率為基礎(chǔ),常用的TF-IDF則是綜合詞頻和文檔頻率構(gòu)建的特征選擇方法。在本文研究中,選用了詞頻統(tǒng)計方法進行文本分類處理。
2.2 詞向量模型
詞向量模型是將文本文件表示為標識符(如索引)向量的代數(shù)模型。其主要適用于信息過濾、信息檢索、索引和相關(guān)排序方面的研究。詞向量就是用一個向量的形式表示一個詞。機器學習任務(wù)則是把任何輸入量化成數(shù)值表示,同時再充分利用計算機的運算能力,計算求出最終想要的結(jié)果。
本文分別使用bag of Word模型和Word2Vec模型進行詞向量構(gòu)建,并且對比分析了2種詞向量模型進行文本分類的性能優(yōu)劣。
3 文本分類模型
4 基于Python的英文文本分類設(shè)計實現(xiàn)
本文選取kaggle網(wǎng)上25 000條英文影評數(shù)據(jù)進行實例分析,通過考察用戶評論,對該評論進行情感分類,分為積極(Positive)和消極(Negative)兩類影評數(shù)據(jù),并選用精準率和召回率來評價分類效果?;谇笆龇治隽鞒?,逐步實現(xiàn)分類任務(wù),包括詞向量構(gòu)建對比分類和分類器對比分類。部分數(shù)據(jù)如圖3所示。對此研究過程,可得闡釋分述如下。
4.1 數(shù)據(jù)預處理
根據(jù)上文可知,數(shù)據(jù)預處理包括5個部分,即:去掉Html標簽、去除標點符號、切分成詞、去掉停用詞和數(shù)據(jù)重組。程序代碼如圖4所示。將預處理好的數(shù)據(jù)進行重組,命名為clean_review,詳見圖5。
4.2 特征抽取和詞向量模型
本文運用詞頻方法抽取數(shù)據(jù)特征(用sklearn的CountVectorizer),分別選用bag of Word和Word2Vec 兩種詞袋模型構(gòu)造詞向量,部分代碼參見圖6。
4.3 文本分類模型
4.3.1 邏輯回歸分類
使用bag of Word模型的邏輯回歸分類,部分代碼如圖7所示。
使用bag of Word 預料模型的邏輯回歸分類效果見圖7,準確率為0.845,召回率為0.853,分類效果較好,其混淆矩陣如圖8所示。
使用Word2Vec模型的邏輯回歸分類中,詞向量維度設(shè)為300,最小單詞數(shù)量設(shè)為40,單詞移動窗口設(shè)為10。分類結(jié)果如圖9所示。
由圖9可知,使用Word2Vec模型的邏輯回歸比使用bag of Word的精準率提高了0.02個百分點,召回率提高了0.026個百分點。
4.3.2 樸素貝葉斯分類
通過以上分析,使用Word2Vec構(gòu)建詞向量的邏輯回歸分類效果更好。本節(jié)在Wor2Vec的基礎(chǔ)上,選用樸素貝葉斯分類器,分別采用邏輯回歸和樸素貝葉斯算法對影評數(shù)據(jù)的分類效果進行比較。研究最終得到的樸素貝葉斯的分類結(jié)果如圖10所示。
由圖10可知,樸素貝葉斯分類器比邏輯回歸分類精準率高出了0.027個百分點,召回率高出了0.028個百分點。由此可見,在影評文本分類中,樸素貝葉斯分類器的分類效果要優(yōu)于邏輯回歸。
5 結(jié)束語
本文討論了文本分類常用的分類方法,即邏輯回歸和樸素貝葉斯算法。與此同時又可看到,近年來已陸續(xù)涌現(xiàn)數(shù)目可觀的利用深度學習進行文本分類的研究,并在許多公開數(shù)據(jù)集和分類任務(wù)上都取得了最優(yōu)結(jié)果。但仍要指出,深度學習也有著嚴重缺陷,對此可做詳盡剖述如下。
(1)需要大量的數(shù)據(jù)。深度學習是一種數(shù)據(jù)驅(qū)動型的技術(shù),海量的數(shù)據(jù)與深度學習算法結(jié)合往往能帶來巨大的效果提升,但如果數(shù)據(jù)量不足(比如本文中用到的新聞分類數(shù)據(jù)集)時,深度學習算法容易出現(xiàn)過擬合,泛化效果很差。
(2)缺乏解釋性。深度學習端到端的訓練和學習帶來很多便捷,無須人工繁雜地提取特征,也無須設(shè)計過多中間步驟,但這種端到端也會帶來不可預測的黑箱效應。參數(shù)調(diào)節(jié)與最終結(jié)果的好壞難以做到一一對應,缺乏指導意義,并且很難復現(xiàn)模型。鑒于前述分析可知,樸素貝葉斯在現(xiàn)今工業(yè)界也仍會受到青睞。
本文利用Python語言,對25 000條英文影評數(shù)據(jù)進行文本分類。首先利用詞袋模型對文本數(shù)據(jù)進行分類;在此基礎(chǔ)上加入Word2Vec建立新的詞向量特征,通過精準率和召回率對比前后兩種模型的分類效果;最后,即對邏輯回歸和樸素貝葉斯分類進行了對比研究。結(jié)果表明,對于英文影評文本分類,在同等條件下,使用Word2Vec構(gòu)建詞向量模型優(yōu)于使用bag of Word詞袋模型,樸素貝葉斯分類效果優(yōu)于邏輯回歸分類。在后續(xù)工作中,尤其在諸如決策樹、神經(jīng)網(wǎng)絡(luò)等算法對比上仍有待進一步的深入探索與研究。
參考文獻
[1]Miniwatts Marketing Group.世界互聯(lián)網(wǎng)統(tǒng)計網(wǎng)站[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.