宛艷萍,谷佳真,張 芳
(河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401)
文本情感分析是通過對(duì)文本的觀點(diǎn)、情感或者極性進(jìn)行挖掘的一種計(jì)算機(jī)技術(shù),是對(duì)用戶在互聯(lián)網(wǎng)中發(fā)布的帶有情感的文本進(jìn)行整合和信息提取.相較于英文文本,中文文本因其句式、語法和分詞等方面更加復(fù)雜而分析更加困難,成為了研究者們進(jìn)行情感分析的焦點(diǎn).
現(xiàn)階段的中文文本情感分析技術(shù)大體分為兩種方法:基于規(guī)則的文本情感分析和基于機(jī)器學(xué)習(xí)的文本情感分析.基于規(guī)則的文本情感分析方法在處理跨領(lǐng)域文本時(shí),其情感分析結(jié)果未達(dá)到應(yīng)有效果;基于機(jī)器學(xué)習(xí)的文本情感分析方法包括傳統(tǒng)機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法,其訓(xùn)練結(jié)果依賴于訓(xùn)練集的設(shè)置,并且單一的傳統(tǒng)機(jī)器學(xué)習(xí)方法在處理不同文本時(shí)各有利弊.由于單一機(jī)器學(xué)習(xí)方法并不能滿足研究者們對(duì)文本情感分析的準(zhǔn)確度要求,便將集成機(jī)器學(xué)習(xí)方法應(yīng)用在該領(lǐng)域.
常見的集成學(xué)習(xí)方法有:Boosting、Bagging和Stacking等.其中Stacking算法集成了多個(gè)傳統(tǒng)機(jī)器學(xué)習(xí)算法,融合其各自優(yōu)點(diǎn),具有泛化能力強(qiáng)、比任何一種單一的機(jī)器學(xué)習(xí)效果好等優(yōu)點(diǎn).然而隨著人工智能的發(fā)展,可供Stacking集成的算法越來越多,而Stacking算法并不是隨著集成的分類器數(shù)量越多效果越好,對(duì)于文本情感分類領(lǐng)域,如何選擇集成的分類器種類也是一個(gè)有待解決的問題.
為了解決上述問題,本文擬實(shí)現(xiàn)一種基于融合改進(jìn)Stacking與規(guī)則的文本情感分析方法:
1)建立基于文本規(guī)則的方法模型,計(jì)算文本情感傾向值,從而得到類標(biāo)簽.
2)在傳統(tǒng)Stacking集成算法的基礎(chǔ)上進(jìn)行改進(jìn).改進(jìn)基學(xué)習(xí)器與元學(xué)習(xí)器的輸入用以提高分類器的準(zhǔn)確度.
3)將基于文本規(guī)則的情感分析方法與Stacking算法融合,得到新的文本情感分類模型Stacking-I.
4)對(duì)比本文方法各種配置的分類情況,得出對(duì)于評(píng)論文本情感分析的最佳Stacking-I配置.
為驗(yàn)證該方法的效果,研究將在不同的網(wǎng)絡(luò)評(píng)論文本上進(jìn)行實(shí)驗(yàn).
文本情感分析的主要工作就是提取文本中的特征,并利用該文本特征來分析文本的情感.
基于文本規(guī)則的情感分析方法在文本情感分析領(lǐng)域發(fā)揮著重要的作用.該方法需要首先通過對(duì)文本集的分析建立情感詞典,再將文本中的詞語與情感詞典中的詞語進(jìn)行對(duì)照獲得詞語極性,根據(jù)中文文本規(guī)則等建立計(jì)算整體文本情感傾向值的數(shù)學(xué)模型,最終獲得該文本的情感極性.朱建平等人[1]根據(jù)文本中正向詞和負(fù)向詞的數(shù)量來決定文本的情感詞的極性;肖江等人[2]將情感詞、否定詞、程度副詞、縮寫詞和表情符號(hào)賦予權(quán)值,并用加權(quán)求和的方式來計(jì)算文本情感傾向值,得到文本的情感極性.基于文本規(guī)則的情感分析方法過于依賴情感詞典,對(duì)未登錄詞的情感傾向分析有較大的偏差,因此在跨領(lǐng)域情感分析中效果不理想.
基于機(jī)器學(xué)習(xí)的情感分析方法通過提取可能影響文本情感分析的特征值,利用監(jiān)督學(xué)習(xí)的方法,采用傳統(tǒng)機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法,將文本進(jìn)行情感分類,最終得到情感分析結(jié)果.2002年P(guān)ang等人[3]初次將機(jī)器學(xué)習(xí)應(yīng)用在情感分類問題上;Kouloumis等人[4]將表情和縮寫加入情感分析的特征當(dāng)中;李明等人[5]提出了一種基于SVM結(jié)合PMI的細(xì)粒度商品評(píng)論情感分析方法.深度學(xué)習(xí)也同樣被應(yīng)用在文本情感分析當(dāng)中:譚旭等人[6]通過構(gòu)造中文文本詞向量解析模型和RAE深度學(xué)習(xí)模型來實(shí)現(xiàn)文本信息的高層特征提取和情感分類;周錦峰等人[7]提出一種多窗口多池化層的卷積神經(jīng)網(wǎng)絡(luò)模型.傳統(tǒng)機(jī)器學(xué)習(xí)方法對(duì)于不同的文本分析各有優(yōu)缺點(diǎn),且其得到的情感分析效果不能達(dá)到預(yù)期,因此研究者們提出了融合多種機(jī)器學(xué)習(xí)的方法.高歡等人[8]結(jié)合情感詞典構(gòu)造文本特征,利用邏輯回歸、Light GBM等機(jī)器學(xué)習(xí)方法進(jìn)行在線評(píng)論情感分類;Liu P等人[9]將條件隨機(jī)場與最大熵模型相結(jié)合進(jìn)行情感分析;黃偉等人[10]利用了一種基于多個(gè)分類器投票集成的半監(jiān)督方法進(jìn)行情感分類;李壽山等人[11]采用一種基于Stacking集成分類方法來進(jìn)行中文文本情感分析研究.基于機(jī)器學(xué)習(xí)的方法過于依賴訓(xùn)練集的設(shè)定,其缺少對(duì)上下文的分析,且對(duì)于特征的選取和拓展不夠靈活,而深度學(xué)習(xí)適合處理大量數(shù)據(jù),對(duì)于處理網(wǎng)絡(luò)評(píng)論這種的數(shù)據(jù)量較少的數(shù)據(jù)集表現(xiàn)不能達(dá)到預(yù)期.
Stacking集成算法是指用一個(gè)模型來組合其他各個(gè)模型,具有很強(qiáng)的泛化能力,可以綜合各個(gè)傳統(tǒng)機(jī)器學(xué)習(xí)的優(yōu)點(diǎn),且對(duì)時(shí)間、空間復(fù)雜度的影響較少.而基于學(xué)習(xí)器和元學(xué)習(xí)器的算法選擇即Stacking算法的配置則也是研究者們的一個(gè)重要課題.Kai等人[12]實(shí)證表明多響應(yīng)線性回歸MLR作為元學(xué)習(xí)器可以很好的學(xué)習(xí)效果;GzVeroski等人[13]的研究中用多響應(yīng)模型樹代替多響應(yīng)線性回歸來提高分類性能;Webb等人[14]則將AdaBoost算法作為Stacking的基分類器.其他研究者基于Stacking也做了相應(yīng)的研究[15-18].然而對(duì)于不同的領(lǐng)域,最優(yōu)的Stacking配置并不相同,因而需要對(duì)文本情感分析領(lǐng)域的最優(yōu)Stacking配置進(jìn)行探索.
本文針對(duì)于上述所提兩種方法的優(yōu)缺點(diǎn),提出了一種融合改進(jìn)Stacking與規(guī)則的中文文本情感分析方法,該方法不僅利用了基于文本規(guī)則方法的靈活性和對(duì)上下文的考量等優(yōu)點(diǎn),還利用了Stacking算法的泛化能力和集合多種單一的機(jī)器學(xué)習(xí)算法優(yōu)點(diǎn)等優(yōu)勢(shì)以提高對(duì)網(wǎng)絡(luò)評(píng)論文本的情感分析準(zhǔn)確率.
圖1為本文提出的基于融合改進(jìn)Stacking與規(guī)則的中文文本情感分析框架圖,該模型分為以下4個(gè)部分:
圖1 融合改進(jìn)Stacking與規(guī)則的方法總框架Fig.1 Framework of the model based on the integration of improved Stacking and text rule
1)網(wǎng)絡(luò)評(píng)論文本預(yù)處理.該部分的主要任務(wù)就是將從網(wǎng)絡(luò)中爬取的評(píng)論文本進(jìn)行分詞以及去停用詞等預(yù)處理,使得文本可以更好的在所提出的模型中進(jìn)行處理分類.
2)基于文本規(guī)則的情感分析.該部分的主要內(nèi)容為構(gòu)建情感詞典,利用情感詞典將文本中的特征與之對(duì)照,根據(jù)所建立的情感分析模型計(jì)算評(píng)論文本情感傾向值,并根據(jù)文本情感傾向值進(jìn)行文本情感分類.該部分所得到的文本情感傾向值與分類結(jié)果放入改進(jìn)的Stacking算法中輔助該算法進(jìn)行最終的情感分類.
3)基于改進(jìn)Stacking的情感分析.該部分利用文本中提取并選擇的特征將原有的Stacking算法改進(jìn),利用Stacking算法的泛化優(yōu)點(diǎn)來對(duì)網(wǎng)絡(luò)評(píng)論文本進(jìn)行情感分析
4)將兩種方法融合得到最終的文本情感傾向.將基于文本規(guī)則的方法的分析結(jié)果放入基于改進(jìn)Stacking的方法中,從而得到文本情感分析的結(jié)果.
下文將從以上4個(gè)部分進(jìn)行深入介紹.
通常文本預(yù)處理包括去重、降噪、分詞和去停用詞等過程.對(duì)于網(wǎng)絡(luò)評(píng)論文本,其中的#話題#、@用戶和URL等不包含用戶的情感信息,應(yīng)在分詞前將其去掉.由于網(wǎng)絡(luò)評(píng)論文本有不規(guī)范等特征,文本集中可能出現(xiàn)亂碼、錯(cuò)字以及重復(fù)文本等情況,應(yīng)將文本進(jìn)行規(guī)范和篩選.本文使用的分詞系統(tǒng)為Jieba分詞系統(tǒng),將文本進(jìn)行分詞后,再通過自建停用詞表,將文本進(jìn)行去停用詞處理.
基于文本規(guī)則的情感分析方法首先建立針對(duì)文本集的詞典,該詞典包括情感詞典、否定詞典、程度副詞詞典等一系列可以影響情感分析的詞典.再將文本中的詞與詞典中的詞進(jìn)行對(duì)照,獲取其權(quán)值.通過詞語權(quán)重值以及語句規(guī)則來建立情感分析模型,并利用模型對(duì)每個(gè)文本進(jìn)行情感分析.下面我們將從基于文本規(guī)則的兩個(gè)重要部分進(jìn)行介紹.
3.2.1 構(gòu)建詞典
由于不同的詞語對(duì)文本的情感傾向影響程度不同,本文采用投票制,通過采納100名志愿者對(duì)詞匯的理解,構(gòu)建了情感詞典、否定詞典、程度副詞典、詞組詞典、連詞詞典、標(biāo)點(diǎn)表六個(gè)詞典,并給詞典中的每個(gè)詞匯賦予權(quán)值,下面對(duì)每一個(gè)詞典的具體內(nèi)容進(jìn)行詳細(xì)介紹.
1)情感詞典
本文的情感詞典分為兩個(gè)部分,一個(gè)是正向情感詞典,另一個(gè)是負(fù)向情感詞典.而構(gòu)建的情感詞典包括:HowNet中文情感詞典、網(wǎng)絡(luò)情感詞典以及通過分析語料自建的領(lǐng)域情感詞典.其中網(wǎng)絡(luò)情感詞典通過百度搜索引擎的網(wǎng)絡(luò)新詞中獲取,經(jīng)過去重和權(quán)值賦予等過程構(gòu)建出如表1和表2所示的情感詞典,其中包含負(fù)向情感詞匯4450個(gè),和正向情感詞匯4554個(gè).
表1 部分正向情感詞Table 1 Part of the positive emotion words
表2 部分負(fù)向情感詞Table 2 Part of the negative emotion words
2)否定詞典
句子中否定詞的出現(xiàn)可以改變句子的情感極性,因此分清句子情感極性傾向,則要將句子中的否定詞考慮在內(nèi),因此我們收集了一些可以影響句子極性的否定詞并構(gòu)造如表3中的否定詞典,本文將用到24個(gè)否定詞.
表3 部分否定詞Table 3 Part of the denial
3)程度副詞典
程度副詞修飾情感詞,并對(duì)文本情感極性有所影響,其影響有時(shí)是增強(qiáng)有時(shí)是減弱,而每個(gè)詞匯對(duì)文本的情感增強(qiáng)或減弱的程度不同,因此本文將根據(jù)每個(gè)程度副詞對(duì)情感極性的影響,賦予了對(duì)應(yīng)的權(quán)重.本文將用到98個(gè)程度副詞,表4列出了部分程度副詞.
表4 部分程度副詞Table 4 Part of the adverb
4)詞組詞典
由于行文的復(fù)雜性,中文文本存在很多不包含情感詞卻依舊含有情感極性的詞組,我們通過總結(jié)語料,得到了正向以及負(fù)向詞組詞典,將該詞組賦予權(quán)值,其中正數(shù)為正向,負(fù)數(shù)為負(fù)向,得到了本文所需要的詞組詞典.該詞典中包括37個(gè)詞組,表5列出部分詞組及其權(quán)值.
表5 部分詞組Table 5 Part of the phrases
5)連詞詞典
中文文本中經(jīng)常為了語義的連貫性而出現(xiàn)連詞,一部分的連詞同樣可以突顯出該文本中所跟分句的情感極性,因此文本建立連詞詞典,并為其賦權(quán).表6列出了部分連詞及其權(quán)重.
表6 部分連詞Table 6 Part of the conjunction
6)標(biāo)點(diǎn)表
除以上詞表可以影響文本情感極性外,文本中出現(xiàn)的表情符號(hào)有時(shí)也會(huì)影響文本的情感分析結(jié)果,例如“??”等符號(hào)通常代表文本對(duì)某件事情的消極態(tài)度的增強(qiáng).因此文本中還根據(jù)標(biāo)點(diǎn)規(guī)定了各個(gè)標(biāo)點(diǎn)的權(quán)值用以情感分析.部分符號(hào)以及對(duì)應(yīng)權(quán)值如表7所示.
表7 部分標(biāo)點(diǎn)符號(hào)Table 7 Part of the punctuation
3.2.2 建立方法模型
基于文本規(guī)則的方法主要是要建立方法模型用于計(jì)算該文本的情感傾向值,通過計(jì)算得到的文本傾向值來確定該文本的情感極性.
本文首先將微博的評(píng)論文本,通過標(biāo)點(diǎn)符號(hào)進(jìn)行分句,并對(duì)單個(gè)分句進(jìn)行情感分析.而分句中又存在影響該分句情感傾向的詞組,該詞組一般是由情感詞、程度副詞和否定詞組成,因此將分句中的詞語與情感詞典中的詞語進(jìn)行比較,獲得其相對(duì)應(yīng)的權(quán)值,每一個(gè)情感詞作為該分句中的一個(gè)情感詞組.計(jì)算該情感詞組的情感傾向值SW如式(1)所示:
SW=WvWdS
(1)
其中SW為該情感詞組的情感傾向值,Wv為初始為1的情感詞前后3個(gè)窗口出現(xiàn)的程度副詞的權(quán)重,Wd為情感詞前后3個(gè)窗口出現(xiàn)的否定詞的權(quán)重,其初始為1,S為該情感詞的權(quán)值.
分句中除情感詞組會(huì)影響該分句的情感傾向值外,其中的連詞、標(biāo)點(diǎn)以及某些動(dòng)詞名詞詞組也會(huì)影響情感傾向值,于是計(jì)算該分句的情感傾向Ss如式(2)所示:
SS=WpWc(∑Swi+Wph)
(2)
其中Wp為該分句中出現(xiàn)標(biāo)點(diǎn)的權(quán)重,Wc為該分句中出現(xiàn)連詞的權(quán)重,Swi為該分句中第i個(gè)情感詞組的情感傾向值,Wph該分句中出現(xiàn)動(dòng)名詞詞組的權(quán)重.
除以上情況外,分句的位置也會(huì)對(duì)評(píng)論文本的情感傾向產(chǎn)生影響,其中首句和尾句的情感傾向?qū)φ麄€(gè)評(píng)論文本的傾向影響較大,因此分句的情感傾向值可再通過式(3)進(jìn)行處理,得到加權(quán)的第i個(gè)分句情感傾向值Si:
Si=WdSsi
(3)
其中Wd為句子權(quán)重,當(dāng)該分句為首句或尾句時(shí),其值為2;當(dāng)該句在其他位置時(shí),其值為1.而Ssi則為之前計(jì)算的該分句的情感傾向值.
根據(jù)以上的計(jì)算,整個(gè)評(píng)論文本的情感傾向值如式(4)所示:
(4)
其中Score為該評(píng)論文本的情感傾向值,Si為第i個(gè)分句的情感傾向值,n為整個(gè)評(píng)論的分句數(shù).
根據(jù)情感傾向值的計(jì)算,本文通過對(duì)情感傾向值的分析,可以確定該評(píng)論文本的情感極性,如式(5)所示:
(5)
其中,當(dāng)sentiment為0時(shí),該評(píng)論的情感為負(fù)向的,反之,評(píng)論的情感為正向的.
3.3.1 Stacking集成算法
集成算法的基本思想就是集成分類器.Stacking算法的集成方式為:集成不同基分類器,再將基分類器的輸出作為第2層元分類器的輸入進(jìn)行再次分類.該分類方法可以中和傳統(tǒng)機(jī)器學(xué)習(xí)方法的優(yōu)缺,其分類結(jié)果比其集成的任意單一分類器的分類結(jié)果都要好,因此本文考慮在Stacking集成分類方法的基礎(chǔ)上進(jìn)行改良,從而有效對(duì)網(wǎng)絡(luò)評(píng)論文本進(jìn)行情感分析.
傳統(tǒng)的Stacking集成方法中,將基分類器分類后的類標(biāo)簽,即本文中的情感正向和負(fù)向作為元分類器的輸入.Wolpert[19]研究表明新數(shù)據(jù)的屬性表示對(duì)Stacking集成的泛化性能影響很大,因此本文將類標(biāo)簽用類概率替代.類概率不僅僅包含了基分類器的預(yù)測(cè)結(jié)果,還包含了基分類器的置信程度和各個(gè)基分類器之間的差異性等信息,因此使其分類結(jié)果更能結(jié)合基分類器的優(yōu)缺點(diǎn),提高泛化能力.傳統(tǒng)Stacking算法框架如圖2所示.
圖2中ti為n個(gè)文本中每個(gè)網(wǎng)絡(luò)評(píng)論文本經(jīng)過向量化處理后的表示,m為基分類器的個(gè)數(shù),fm為基分類器對(duì)應(yīng)的機(jī)器學(xué)習(xí)算法,且其互不相同,ti′為文本經(jīng)過基分類器分類后所得的分類概率向量,其中Pij+為第i個(gè)評(píng)論文本通過第j個(gè)基分類器分類后結(jié)果為正向的概率,Pij-為第i個(gè)評(píng)論文本通過第j個(gè)基分類器分類后結(jié)果為負(fù)向的概率,F(xiàn)則為元分類器的機(jī)器學(xué)習(xí)算法.
圖2 Stacking集成算法Fig.2 Stacking integration algorithm
3.3.2 改進(jìn)Stacking集成算法
然而只在元分類器層輸入基分類器的分類類概率,效果雖有提高但并不能滿足本文要求的準(zhǔn)確率,其原因?yàn)榉诸惡蟮念惛怕仕鶖y帶的原始數(shù)據(jù)信息不足,導(dǎo)致元分類器的分類結(jié)果不理想.因此本文將元分類器的輸入進(jìn)行改進(jìn),輸入向量在類概率的基礎(chǔ)上添加原始數(shù)據(jù)經(jīng)過特征提取等工作所得的特征向量以提高整個(gè)集成分類器的分類準(zhǔn)確率,具體結(jié)構(gòu)如圖3所示.本文使用CBOW實(shí)現(xiàn)詞語向量化,并通過χ檢驗(yàn)進(jìn)行特征提取.其中xiq為n個(gè)評(píng)論文本內(nèi)第i個(gè)評(píng)論文本進(jìn)行向量化后的第q個(gè)特征值.
圖3 改進(jìn)Stacking算法Fig.3 Improved Stacking algorithm
此外,傳統(tǒng)的Stacking算法對(duì)于基分類器與元分類器算法的選擇只局限于傳統(tǒng)機(jī)器學(xué)習(xí)方法.隨著機(jī)器學(xué)習(xí)的發(fā)展,更多的集成機(jī)器學(xué)習(xí)算法出現(xiàn),其分類是性能比傳統(tǒng)的機(jī)器學(xué)習(xí)好.已知Stacking算法的準(zhǔn)確率一定比其集成的機(jī)器學(xué)習(xí)方法準(zhǔn)確率高,因此本文將其他集成算法以及深度學(xué)習(xí)學(xué)習(xí)算法加入基分類器與元分類器算法的選擇中,進(jìn)而提高其分類準(zhǔn)確率.
前文已經(jīng)提到,文本規(guī)則法和機(jī)器學(xué)習(xí)法各有優(yōu)缺,本文將結(jié)合兩種方法,中和兩種方法的優(yōu)缺,得到一個(gè)新的文本情感分析模型.該模型將基于文本規(guī)則方法的輸出,作為改進(jìn)Stacking算法的輸入,該輸入不僅僅局限于類標(biāo)簽,還包括文本情感傾向值,其輸入不僅作為基分類器的一部分,還將影響元分類器.
研究者們?cè)谥暗难芯恐校呀?jīng)將基于文本規(guī)則的方法與基于機(jī)器學(xué)習(xí)的方法進(jìn)行了簡單的融合,即已經(jīng)出現(xiàn)將基于文本規(guī)則方法分析所得的情感傾向值作為傳統(tǒng)機(jī)器學(xué)習(xí)輸入特征的一部分,以此來彌補(bǔ)傳統(tǒng)機(jī)器學(xué)習(xí)方法未考慮上下文關(guān)系的缺陷,提高文本情感分析的準(zhǔn)確率.與之不同的是,本文將基于文本規(guī)則方法所得文本傾向值進(jìn)行歸一化處理后再放入分類器中,以此來統(tǒng)一輸入向量中的特征量,其具體的歸一化處理如式(6)所示:
score′=(score-s.min)/(s.max-s.min)
(6)
其中,score為該文本計(jì)算所得的情感傾向值,s.min為最小情感傾向值,s.max為最大情感傾向值.
此外,Stacking集成算法的基本思想就是融合各種分類方法,并將這些分類方法所得結(jié)果放入第2層分類器中,以此來解決各分類方法優(yōu)缺不一的情況.
對(duì)于文本情感分析,分類方法則不局限于各種機(jī)器學(xué)習(xí)方法,還包括文本規(guī)則情感分析法,因此本文將基于文本規(guī)則的情感分析方法也作為Stacking集成算法中的一個(gè)基分類器,將基于文本規(guī)則的情感分析方法所得的類標(biāo)簽作為元分類器輸入的一部分進(jìn)行再次分類.具體本文模型如圖4所示,其中Scorei為基于文本規(guī)則方法所得的歸一化后的文本情感傾向值,sentimenti為該方法最后得到的類標(biāo)簽.
圖4 融合兩種方法框架Fig.4 Framework for merging the two approaches
該節(jié)將分析本文提出的算法Stacking-I在具體的網(wǎng)絡(luò)文本評(píng)論情感分析中的表現(xiàn).
本文將從網(wǎng)絡(luò)上爬取某外賣app評(píng)論,通過去重降噪等處理,人工標(biāo)注得到內(nèi)有2500、4000、5000條數(shù)據(jù)的3組數(shù)據(jù)集,其中正負(fù)向評(píng)論比為1∶1.在研究者們的研究中表明Stacking集成算法中,訓(xùn)練集與測(cè)試集的比例為4∶1時(shí)的效果最好.因此本文在2000條數(shù)據(jù)集A中設(shè)置2000條作為訓(xùn)練集,500條作為測(cè)試集;在4000條數(shù)據(jù)集B中設(shè)置3200條作為訓(xùn)練集,800條作為測(cè)試集;在5000條數(shù)據(jù)集C中設(shè)置4000條作為訓(xùn)練集,1000條作為測(cè)試集.其中每個(gè)訓(xùn)練集與測(cè)試集正負(fù)向數(shù)據(jù)分布平均.
本次實(shí)驗(yàn)結(jié)果使用準(zhǔn)確率作為評(píng)估值,且通過Python語言實(shí)現(xiàn),部分傳統(tǒng)機(jī)器學(xué)習(xí)方法應(yīng)用Scikit-learn框架實(shí)現(xiàn),深度學(xué)習(xí)方法應(yīng)用keras框架實(shí)現(xiàn).
4.2.1 對(duì)比實(shí)驗(yàn)
實(shí)驗(yàn)結(jié)果如表8所示.本文將基于融合改進(jìn)Stacking與規(guī)則的文本情感分析方法(Stacking-I)與傳統(tǒng)機(jī)器學(xué)習(xí)、其他集成算法以及深度學(xué)習(xí)算法進(jìn)行比較,意在證實(shí)本文提出的算法模型stacking-I可以有效提高文本情感分類的準(zhǔn)確率.
表8 與各類方法的比較Table 8 Comparison with traditional machine learning methods
表8中TCNN中有3個(gè)中間層,每個(gè)中間層有16個(gè)人隱藏單元;Stacking-I(A)的配置為:AdaBoost、RandomForest、Bagging和GradientBoosting作為基分類器,Logistic作為元分類器;Stacking-I(B)的配置為:RandomForest、ExtraTree、KNN和TCNN為基分類器,Logistic作為元分類器.由實(shí)驗(yàn)數(shù)據(jù)可以看出,本文提出的基于融合改進(jìn)Stacking與規(guī)則的中文文本情感分析方法(Stacking-I)比傳統(tǒng)機(jī)器學(xué)習(xí)模型對(duì)該數(shù)據(jù)集的情感分析準(zhǔn)確率有明顯提高,對(duì)比其他的集成算法及深度學(xué)習(xí)算法,Stacking-I也有很大的提高.
針對(duì)文本數(shù)據(jù)集A,傳統(tǒng)機(jī)器學(xué)習(xí)算法中,準(zhǔn)確率最高可以到89.4%,而Stacking-I(A)所得分類準(zhǔn)確率比其高1%;Stacking-I(A)與傳統(tǒng)Stacking算法相比提高了1%;在其他集成算法中準(zhǔn)確率最高為88.8%,Stacking-I(A)比其高1.6%;與深度學(xué)習(xí)TCNN相比,Stacking-I比其高3.6%.
對(duì)于數(shù)據(jù)B,傳統(tǒng)機(jī)器學(xué)習(xí)算法中,準(zhǔn)確率最高可以到85.125%,而Stacking-I(A)和Stacking-I(B)比該算法所得分類準(zhǔn)確率提高2.2%和2.7%;Stacking-I(A)和Stacking-I(B)與傳統(tǒng)Stacking算法相比提高了3.6%和4.1%;在其他集成算法中,AdaBoost算法的準(zhǔn)確率最高為85.75%,Stacking-I(A)和Stacking-I(B)分別比其高1.5%和2.0%;與深度學(xué)習(xí)TCNN相比,Stacking-I(A)和Stacking-I(B)分別比其高0.8%和1.3%.
對(duì)于數(shù)據(jù)C,傳統(tǒng)機(jī)器學(xué)習(xí)算法中,準(zhǔn)確率最高可以到87.6%,而Stacking-I(A)和Stacking-I(B)比該算法所得分類準(zhǔn)確率高3.7%和3.9%;Stacking-I(A)和Stacking-I(B)與傳統(tǒng)Stacking算法相比分別提高了2%和2.2%;在其他集成算法中,AdaBoost準(zhǔn)確率最高為85.8%,Stacking-I(A)和Stacking-I(B)分別比其高5.5%和5.7%;與深度學(xué)習(xí)TCNN相比,Stacking-I(A)和Stacking-I(B)分別比其高2.3%和2.5%.
通過對(duì)比可以看出,融合改進(jìn)Stacking與規(guī)則的中文文本情感分析方法(Stacking-I)有更好的性能,且比傳統(tǒng)機(jī)器學(xué)習(xí)方法、其他集成算法和深度學(xué)習(xí)方法的準(zhǔn)確率都要高,有效提高了文本情感分析的準(zhǔn)確率.
4.2.2 獲取最優(yōu)配置
本部分將從Stacking算法的配置討論,通過對(duì)時(shí)間復(fù)雜度與準(zhǔn)確率兩方面進(jìn)行考慮,選出最適合本文數(shù)據(jù)集的一組Stacking配置.
1)元分類器
研究者們對(duì)于Stacking算法配置的研究中,線性分類器作為元分類器時(shí),準(zhǔn)確率較高,本文固定基分類器,將Logistic、TCNN、BiLSTM作為元分類器在3組數(shù)據(jù)上實(shí)驗(yàn),其中BiLSTM為雙向單層LSTM,得到實(shí)驗(yàn)結(jié)果如表9所示.可以看出,當(dāng)Logistic作為元分類器時(shí)的文本情感分類效果最優(yōu).
表9 不同元分類器對(duì)比Table 9 Comparison with different meta-classifiers
2)基分類器
對(duì)于基分類器的選擇,本文將從兩個(gè)方面進(jìn)行探究.
對(duì)于基分類器的數(shù)量問題,若分類器的數(shù)量過多會(huì)導(dǎo)致算法的時(shí)間復(fù)雜度過大.因此本文通過控制基分類器數(shù)量在數(shù)據(jù)集C上進(jìn)行全排列組合實(shí)驗(yàn),獲得了圖5,從而分析得到最優(yōu)的分類器數(shù)量.由圖可見,基分類器數(shù)量為4時(shí)效果最優(yōu).
圖5 基分類器個(gè)數(shù)與分類準(zhǔn)確率的關(guān)系Fig.5 Relationship between the number of base classifiers and classification accuracy
對(duì)于基分類器選擇的問題,本文經(jīng)過大量的實(shí)驗(yàn)對(duì)比,將基分類器的組成分為3組:基分類器只包含傳統(tǒng)機(jī)器學(xué)習(xí)方法和集成方法,基分類器包含一種深度學(xué)習(xí)方法以及基分類器包含兩種深度學(xué)習(xí)方法.最終在3大組中實(shí)驗(yàn)得到了3種準(zhǔn)確率組內(nèi)最高Stacking-I基分類器配置,分別為AdaBoost、RandomForest、Bagging和GradientBoosting的組合(Stacking-I(A)),RandomForest、ExtraTree、KNN和TCNN的組合(Stacking-I(B))以及RandomForest、ExtraTree、BILSTM和TCNN的組合(Stacking-I(C)),其具體文本情感分類準(zhǔn)確率如表10所示.
表10 不同基分類器對(duì)比Table 10 Comparison with different base-classifiers
對(duì)于數(shù)據(jù)量少的數(shù)據(jù)集,Stacking-I(A)的配置在文本分類時(shí)表現(xiàn)更好,而當(dāng)數(shù)據(jù)量變大時(shí),Stacking-I(B)的配置在文本分類時(shí)表現(xiàn)更好.Stacking-I(C)的表現(xiàn)與Stacking-I(B)的相差不多,但因?yàn)榧闪藘蓚€(gè)深度學(xué)習(xí)算法,其時(shí)間復(fù)雜度相較于Stacking-I(B)更大.因此在數(shù)據(jù)量小時(shí),Stacking-I(A)的配置,即AdaBoost、RandomForest、Bagging和GradientBoosting作為基分類器的效果更好;而當(dāng)數(shù)據(jù)量大時(shí),Stacking-I(B)的配置,即RandomForest、ExtraTree、KNN和TCNN作為基分類器的效果更好.
4.2.3 分析算法時(shí)間復(fù)雜度
該部分將從算法的時(shí)間復(fù)雜度上進(jìn)行分析,將本文所提算法Stacking-I的兩種不同配置與其他機(jī)器學(xué)習(xí)算法、深度學(xué)習(xí)算法TCNN在數(shù)據(jù)集C上的運(yùn)行時(shí)間對(duì)比,其結(jié)果如表11所示.
表11 算法運(yùn)行時(shí)間對(duì)比Table 11 Comparison of algorithm′s running time
通過對(duì)比可知,本文所提出的Stacking-I(A)和Stacking-I(A)的時(shí)間復(fù)雜度比傳統(tǒng)機(jī)器學(xué)習(xí)算法、集成算法要高,且Stacking-I(A)其比運(yùn)行時(shí)間最長的GrandiantBoost算法運(yùn)行時(shí)間增加了60%.而Stacking-I(A)與深度學(xué)習(xí)TCNN相比,其運(yùn)行時(shí)間更短,運(yùn)行時(shí)間縮短了55.7%.Stacking-I(B)與深度學(xué)習(xí)TCNN相比,其運(yùn)行增加了25%.
因此Stacking-I(A)的時(shí)間復(fù)雜度雖然與其他機(jī)器學(xué)習(xí)方法相比有所增加,但其復(fù)雜度遠(yuǎn)遠(yuǎn)低于深度學(xué)習(xí)TCNN算法的時(shí)間復(fù)雜度,且其分類準(zhǔn)確率與其他算法相比表現(xiàn)更加優(yōu)秀.而 Stacking-I(B)雖在時(shí)間復(fù)雜度上有所增加,但其分類準(zhǔn)確率遠(yuǎn)遠(yuǎn)高于其他算法,因此本文認(rèn)為Stacking-I算法在對(duì)時(shí)間復(fù)雜度影響較小的前提下,提高了文本情感分析的準(zhǔn)確率.
以上實(shí)驗(yàn)證明了本文提出的融合改進(jìn)Stacking與規(guī)則的文本情感分析方法Stacking-I相較于基于傳統(tǒng)機(jī)器學(xué)習(xí)、集成學(xué)習(xí)以及深度學(xué)習(xí)的文本情感分析方法有著更高的分類準(zhǔn)確率,最高可達(dá)91.70%.且通過大量實(shí)驗(yàn),在不同數(shù)據(jù)量的情況下,本文得出了最佳的Stacking-I的配置.
本文提出了一種融合改進(jìn)Stacking與規(guī)則的中文文本情感分析方法Stacking-I:
1)建立基于文本規(guī)則的方法模型,計(jì)算文本情感傾向值,從而得到類標(biāo)簽.
2)在Stacking集成算法的基礎(chǔ)上進(jìn)行改進(jìn),改進(jìn)元學(xué)習(xí)器的輸入用以提高分類器的準(zhǔn)確度.
3)將基于文本規(guī)則的情感分析方法與Stacking算法融合.
4)對(duì)比該模型各種配置的分類情況,得出針對(duì)不同數(shù)據(jù)量的最佳文本情感分析Stacking-I配置.
通過實(shí)驗(yàn)可知,相比于傳統(tǒng)機(jī)器學(xué)習(xí)方法、其他集成算法以及深度學(xué)習(xí)方法,本文所提模型Stacking-I在情感分析在對(duì)時(shí)間復(fù)雜度影響不大的情況下,其準(zhǔn)確率有了明顯地提高,最高可達(dá)91.7%.并且本文確定了當(dāng),Logistic作為元分類器時(shí)效果最佳,而對(duì)于基分類器的選擇,當(dāng)數(shù)據(jù)量小時(shí)其配置為:AdaBoost、RandomForest、Bagging和GradientBoosting作為基分類器效果最佳,當(dāng)數(shù)據(jù)量相對(duì)較大時(shí),RandomForest、ExtraTree、KNN和TCNN作為基分類器的效果最好.
Stacking-I算法彌補(bǔ)了基于文本規(guī)則和基于機(jī)器學(xué)習(xí)方法的文本情感分析的不足,融合了兩方法的優(yōu)點(diǎn),并在對(duì)時(shí)間復(fù)雜度影響不大的情況下,提高了文本情感分析的泛化能力和準(zhǔn)確率.