


摘要:文本分類(lèi)與情感分類(lèi)是自然語(yǔ)言處理中基礎(chǔ)的領(lǐng)域,為幫助初學(xué)者對(duì)文本情感多分類(lèi)的項(xiàng)目學(xué)習(xí),在機(jī)器學(xué)習(xí)的基礎(chǔ)上,分析了線(xiàn)性邏輯回歸算法、樸素貝葉斯模型在文本情感分類(lèi)項(xiàng)目中的應(yīng)用,并針對(duì)數(shù)據(jù)處理、模型構(gòu)建、模型訓(xùn)練、模型測(cè)試過(guò)程中初學(xué)者難以解決和易出錯(cuò)的部分進(jìn)行分析與實(shí)現(xiàn)。結(jié)合kaggle上的比賽數(shù)據(jù)實(shí)例,實(shí)現(xiàn)了完整的文本情感多分類(lèi)項(xiàng)目并做出詳細(xì)分析,項(xiàng)目評(píng)測(cè)結(jié)果較為可觀,證實(shí)可以幫助初學(xué)者更易上手文本情感多分類(lèi)和機(jī)器學(xué)習(xí)。同時(shí)提出了基于傳統(tǒng)二分類(lèi)問(wèn)題的多分類(lèi)問(wèn)題解決方法。
關(guān)鍵詞:機(jī)器學(xué)習(xí);文本分類(lèi);情感分類(lèi);自然語(yǔ)言處理;多分類(lèi)
中圖分類(lèi)號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)20-0181-02
Study and Research on Text Emotion Multi-Classification Based on Machine Learning
LIU Cheng
(Central China Normal University, Wuhan 430079,China)
Abstract: Text categorization and emotion classification are basic fieldsin natural language processing. To help beginners leam theitems of text sentiment multi-classification. based on machine learning, the linear logistic regression algorithm and Bayesian modelare analyzed in the text sentiment classification project. In the process of data processing、model building、model training and mod-el testing, it is difficult for beginners to solve and error-prone parts are analyzed and implemented. Combined with the game dataexamples on Kaggle, a complete text emotion multi-classification project has been implemented and detailed analysis has beenmade. The results are considerable, which proves that it can help beginners get started with text emotion classification and machineleaming. At the same time, a multi-classification problem solving method based on the traditional two-classification problem isproposed.
Key words : machine leaming ; text categorization; emotion classification: NLP; Multi-classification
隨著人工智能的飛速發(fā)展,作為最核心與最具挑戰(zhàn)性領(lǐng)域之一的自然語(yǔ)言處理在最近幾年逐漸進(jìn)入研究高潮,進(jìn)入這個(gè)領(lǐng)域的初學(xué)者也越來(lái)越多。在NLP(Natural Language Process-ing.)領(lǐng)域,所需知識(shí)比較繁雜,掌握難度較大,缺乏對(duì)于初學(xué)者入門(mén)級(jí)學(xué)習(xí)的研究,導(dǎo)致初學(xué)者大多難以適應(yīng)。
本文基于NLP中基礎(chǔ)性的文本情感分類(lèi)項(xiàng)目,區(qū)別于傳統(tǒng)的二分類(lèi)問(wèn)題,將情感類(lèi)型細(xì)化為五類(lèi),更貼合生活實(shí)際,做出挑戰(zhàn)。同時(shí)結(jié)合kaggle上的比賽數(shù)據(jù)實(shí)例,基于機(jī)器學(xué)習(xí)中的線(xiàn)性邏輯回歸算法和樸素貝葉斯模型算法,完成了整個(gè)情感多分類(lèi)項(xiàng)目流程并做出研究。針對(duì)初學(xué)者在數(shù)據(jù)處理、特征選擇、模型網(wǎng)絡(luò)構(gòu)建、模型訓(xùn)練與測(cè)試過(guò)程中難以解決和易出錯(cuò)的部分做出了詳細(xì)分析與說(shuō)明,以幫助初學(xué)者進(jìn)行NLP領(lǐng)域的項(xiàng)目學(xué)習(xí)。
1文本情感分類(lèi)概述
文本情感分類(lèi)是對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、處理、歸納和推理的過(guò)程,是NLP領(lǐng)域重要的基礎(chǔ)領(lǐng)域,涉及文本分詞、詞語(yǔ)情感分析、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等。文本情感分類(lèi)通過(guò)在現(xiàn)有的大量數(shù)據(jù)中,基于學(xué)習(xí)算法尋找并學(xué)習(xí)詞語(yǔ)情感的規(guī)律,構(gòu)建相應(yīng)的分類(lèi)函數(shù)或分類(lèi)模型(分類(lèi)器,Classi-fie),這樣對(duì)于給定的其他文本將能做到文本情感分類(lèi)[1]。
計(jì)算機(jī)并不能直接識(shí)別與處理所提供的自然語(yǔ)言數(shù)據(jù),通常要對(duì)這些文本數(shù)據(jù)進(jìn)行維度上的抽象處理[1]。基于機(jī)器學(xué)習(xí)算法的文本情感分類(lèi)通常需要構(gòu)建學(xué)習(xí)模型,針對(duì)已處理的數(shù)據(jù)進(jìn)行重復(fù)的訓(xùn)練與測(cè)試,通過(guò)測(cè)試的反饋修正模型參數(shù),使得分類(lèi)模型具備更高的準(zhǔn)確度。文本數(shù)據(jù)經(jīng)過(guò)模型導(dǎo)出后將被劃分到對(duì)應(yīng)情感類(lèi)別,實(shí)現(xiàn)文本情感分類(lèi)。
2文本情感多分類(lèi)項(xiàng)目設(shè)計(jì)與實(shí)現(xiàn)
文本情感多分類(lèi)項(xiàng)目整體流程大致分為數(shù)據(jù)處理、特征選取、模型的構(gòu)建、訓(xùn)練與測(cè)試,其中對(duì)于模型的處理,本文基于機(jī)器學(xué)習(xí)主要給出兩種模型算法:線(xiàn)性邏輯回歸模型和樸素貝葉斯模型。圖1是項(xiàng)目結(jié)構(gòu)框架圖。
項(xiàng)目過(guò)程的功能與實(shí)現(xiàn)如下:
2.1數(shù)據(jù)處理
文本數(shù)據(jù)來(lái)源于Kaggle網(wǎng)站競(jìng)賽數(shù)據(jù),數(shù)據(jù)包括四列,Phraseld(短語(yǔ)編號(hào))、Sentenceld(句子編號(hào))、Phrase(短語(yǔ))和Sentiment(短語(yǔ)情感分類(lèi))。針對(duì)數(shù)據(jù)做出幾點(diǎn)說(shuō)明,一個(gè)句子可以劃分成若干個(gè)短語(yǔ),所以存在多個(gè)短語(yǔ)來(lái)源于同一個(gè)句子,其句子編號(hào)相同;情感分類(lèi)是對(duì)每一個(gè)短語(yǔ)進(jìn)行分類(lèi),情感類(lèi)型劃分為五類(lèi),用數(shù)字0-4標(biāo)明,代表非常消極、消極、中性、積極、非常積極。
對(duì)數(shù)據(jù)梳理清楚后,需要對(duì)每個(gè)短語(yǔ)進(jìn)行分詞,英文文本分詞相對(duì)簡(jiǎn)單,以空格為標(biāo)志劃分出每個(gè)單詞。這里存在初學(xué)者的誤區(qū),一些諸如“a”的英文單詞是否取舍不應(yīng)該由停詞表來(lái)決定。對(duì)此本文去掉停詞表,對(duì)統(tǒng)計(jì)到的單詞計(jì)算每一個(gè)單詞的頻率,頻率過(guò)大或過(guò)小的單詞均去除。至此,數(shù)據(jù)處理完成,得到了所有有效單詞的匯總與其頻率,成功構(gòu)建了詞袋。
2.2特征選取
如英文單詞,這些自然語(yǔ)言計(jì)算機(jī)無(wú)法處理,其二進(jìn)制碼也毫無(wú)意義,這使得特征選取工作變得困難。通常采取的是One-Hot編碼(獨(dú)熱編碼),統(tǒng)計(jì)所有的狀態(tài)并對(duì)每一個(gè)狀態(tài)獨(dú)立編碼,這樣任意時(shí)刻每個(gè)狀態(tài)的編碼中只有一位是有效的[2]。但這樣使用對(duì)初學(xué)者十分不友好,One-Hot編碼后的數(shù)據(jù)維度將十分龐大,無(wú)論是計(jì)算機(jī)內(nèi)存還是運(yùn)行時(shí)間,其效率都變得十分低下。針對(duì)初學(xué)者,本文采取TfidfVectorizer函數(shù),利用數(shù)據(jù)處理過(guò)程中得到的詞袋,對(duì)單詞進(jìn)行狀態(tài)編碼,每一個(gè)單詞都是被選取的特征。短語(yǔ)由若干個(gè)單詞組成,這樣每一個(gè)短語(yǔ)可以表示成單詞編碼的組合,于是得到了計(jì)算機(jī)可以處理的數(shù)據(jù)[3]。
最后,將處理好的數(shù)據(jù)劃分為兩類(lèi),一類(lèi)作為訓(xùn)練數(shù)據(jù),讓模型進(jìn)行學(xué)習(xí),另一類(lèi)作為測(cè)試數(shù)據(jù),評(píng)價(jià)模型效果。
2.2線(xiàn)性邏輯回歸模型
線(xiàn)性邏輯回歸模型是機(jī)器學(xué)習(xí)中常見(jiàn)的模型算法,可以通過(guò)調(diào)用skleam庫(kù)里的LogisticRegression函數(shù),其作用是對(duì)輸入短語(yǔ)的每一個(gè)維度數(shù)據(jù)(單詞編碼)分配一個(gè)可調(diào)整參數(shù),使輸出結(jié)果趨近短語(yǔ)的情感類(lèi)型數(shù)字[4]。
每一輪訓(xùn)練都需要針對(duì)輸出結(jié)果與實(shí)際結(jié)果的差距進(jìn)行調(diào)整維度參數(shù),對(duì)于如何評(píng)價(jià)差距,初學(xué)者很容易想到roc_auc評(píng)價(jià)方法,它是接收者操作特征曲線(xiàn)下的面積,可以有效避免假陽(yáng)性和偽陰性數(shù)據(jù)的影響[5]。但這是一種初學(xué)者的誤區(qū),roc_auc方法只針對(duì)二分類(lèi)問(wèn)題,本文采取間接轉(zhuǎn)化的方法,將五分類(lèi)轉(zhuǎn)化為多次二分類(lèi)問(wèn)題,首先中性與非中性數(shù)據(jù)的分類(lèi),然后是積極與消極數(shù)據(jù)的分類(lèi),最后是其內(nèi)部程度的二分類(lèi)。
另外提出,模型訓(xùn)練過(guò)程中是基于訓(xùn)練集數(shù)據(jù)不斷學(xué)習(xí),模型準(zhǔn)確度也是基于這些已訓(xùn)練的數(shù)據(jù),過(guò)度訓(xùn)練可能導(dǎo)致模型“僵化”,對(duì)新數(shù)據(jù)適應(yīng)性較差。
模型除了對(duì)于輸入數(shù)據(jù)的參數(shù)外還有自身的選擇性參數(shù),稱(chēng)為超參數(shù),比如學(xué)習(xí)率等,如何調(diào)整合適的模型參數(shù)一直是初學(xué)者難以把握的問(wèn)題,本文采用CridSearchCV函數(shù)對(duì)模型進(jìn)行自動(dòng)調(diào)參。它是網(wǎng)格搜索和交叉驗(yàn)證的結(jié)合,原理是在指定的參數(shù)范圍內(nèi),按步長(zhǎng)依次調(diào)整參數(shù),利用調(diào)整的參數(shù)訓(xùn)練學(xué)習(xí)器,從所有的參數(shù)中找到在測(cè)試集上精度最高的參數(shù),這其實(shí)是一個(gè)訓(xùn)練和比較的過(guò)程。
訓(xùn)練好模型后,對(duì)于新的文本數(shù)據(jù),只要處理好數(shù)據(jù)特征,模型將會(huì)自動(dòng)對(duì)文本進(jìn)行情感分類(lèi)。基于線(xiàn)性邏輯回歸模型的文本情感分類(lèi),其最終準(zhǔn)確度為0.768,較為可觀。
2.3樸素貝葉斯模型
樸素貝葉斯模型是常見(jiàn)的分類(lèi)模型之一,通過(guò)假設(shè)特征條件之間相互獨(dú)立的方法,先通過(guò)已給定的訓(xùn)練集,學(xué)習(xí)從輸入到輸出的聯(lián)合概率分布,進(jìn)行模型的訓(xùn)練[6]。其算法原理是:
其中,d為樣本數(shù)據(jù)集D的下標(biāo),x為樣本特征數(shù)據(jù)集X特征,y為情感的類(lèi)變量。通過(guò)MultinomiaINB函數(shù)可以調(diào)用樸素貝葉斯模型。
區(qū)別于線(xiàn)性邏輯回歸模型處理的一點(diǎn)時(shí),這里本文沒(méi)有采用GridSearchCV網(wǎng)絡(luò)搜索,準(zhǔn)確度的評(píng)價(jià)采用Cross_val_score函數(shù)的十折交叉驗(yàn)證,最終模型準(zhǔn)確度為0.743,略低于線(xiàn)性邏輯回歸模型。
3項(xiàng)目結(jié)果與分析
情感分類(lèi)本質(zhì)是函數(shù)的映射,評(píng)價(jià)分類(lèi)器的效果依據(jù)就是映射的準(zhǔn)確度,除此之外還有模型的開(kāi)銷(xiāo)(速度與內(nèi)存),評(píng)價(jià)的標(biāo)準(zhǔn)各異,本文采取準(zhǔn)確率作為評(píng)價(jià)標(biāo)準(zhǔn)[1]。
項(xiàng)目過(guò)程中,通過(guò)從Kaggle上收集的比賽數(shù)據(jù),進(jìn)行線(xiàn)性邏輯回歸和樸素貝葉斯兩種模型的學(xué)習(xí)與誤區(qū)難點(diǎn)研究,完成了文本情感多分類(lèi)項(xiàng)目。兩種模型得到的準(zhǔn)確度分別為0.768、0.743,對(duì)于初學(xué)者而言,這種準(zhǔn)確度已頗為可觀。詳細(xì)模型評(píng)測(cè)數(shù)據(jù)如表1所示。
4結(jié)束語(yǔ)
本文主要研究初學(xué)者在文本情感多分類(lèi)項(xiàng)目過(guò)程中的誤區(qū)與難點(diǎn),同時(shí)做出了詳細(xì)說(shuō)明與解決方法,實(shí)現(xiàn)了基于機(jī)器學(xué)習(xí)的線(xiàn)性邏輯回歸和樸素貝葉斯兩種模型并詳細(xì)介紹了項(xiàng)目過(guò)程中的各個(gè)步驟與相關(guān)原理,提出了基于傳統(tǒng)二分類(lèi)的多分類(lèi)問(wèn)題解決方法,最后給出了兩種模型的評(píng)測(cè)結(jié)果。從評(píng)測(cè)結(jié)果來(lái)看,項(xiàng)目的準(zhǔn)確度完全能滿(mǎn)足初學(xué)者對(duì)于文本情感多分類(lèi)的入門(mén)學(xué)習(xí)。進(jìn)一步的研究是模型算法的改進(jìn),利用更先進(jìn)的模型解決文本情感多分類(lèi)問(wèn)題,比較其性能效果,提高總體的準(zhǔn)確度,同時(shí)滿(mǎn)足初學(xué)者的學(xué)習(xí)。
參考文獻(xiàn):
[1]徐大偉,董淵,張素琴.文本分類(lèi)技術(shù)在海洋信息處理領(lǐng)域中的應(yīng)用[J].計(jì)算機(jī)科學(xué),2008,35(11):144-146.
[2]嚴(yán)紅.詞向量發(fā)展綜述[J].現(xiàn)代計(jì)算機(jī),2019(8):50-52.
[3]郁可人.基于情感分類(lèi)的特征表示研究[D].上海:華東師范大學(xué).2019.
[4]張璞,李逍,劉暢.基于情感詞匯與機(jī)器學(xué)習(xí)的方面級(jí)情感分類(lèi)[J].計(jì)算機(jī)工程與設(shè)計(jì),2020,41(1):128-133.
[5]楊俊杰.基于k近鄰分類(lèi)器ROC分析方法[D].廣州:廣東工業(yè)大學(xué).2019.
[6]向志華,鄧怡辰.基于機(jī)器學(xué)習(xí)的文本分類(lèi)技術(shù)研究[J].軟件,2019,40(9):94-97.
【通聯(lián)編輯:唐一東】
收稿日期:2020-03-25
作者簡(jiǎn)介:劉呈(2000一),男,湖北黃岡人,本科,主要研究方向?yàn)樽匀徽Z(yǔ)言處理。