江帆,邢巍,王佳佳,張波
(國(guó)家電網(wǎng)有限公司客戶服務(wù)中心互聯(lián)網(wǎng)運(yùn)營(yíng)分析及風(fēng)險(xiǎn)管理,天津 300309)
生活類APP 占據(jù)APP 市場(chǎng)重要地位,隨著人們生活品質(zhì)逐漸改善,對(duì)軟件服務(wù)需求不斷提高。從基礎(chǔ)的生存需求擴(kuò)展到便捷服務(wù)、甚至情感訴求。正如人本主義理論中所表示的人類需求最終會(huì)發(fā)展為自我實(shí)現(xiàn)與私人定制。共享經(jīng)濟(jì)的出現(xiàn),使生活類APP展示出強(qiáng)大的綜合服務(wù)能力,逐漸向多元化方向創(chuàng)新,追求更高的商業(yè)價(jià)值。但是一款A(yù)PP成功與否主要取決于用戶體驗(yàn),越來越多的用戶習(xí)慣在網(wǎng)絡(luò)上發(fā)表自己的體驗(yàn)感受,對(duì)這些評(píng)論中體現(xiàn)出現(xiàn)的情感進(jìn)行研究能夠創(chuàng)造巨大商業(yè)價(jià)值,因此用戶評(píng)論情感是預(yù)測(cè)滿意程度的主要依據(jù)。
近年來有關(guān)用戶評(píng)論情感分析的研究較多,盧偉聰?shù)热颂岢鲆环N基于二分網(wǎng)絡(luò)的評(píng)論情感分析方法。建立“用戶—產(chǎn)品”的二分網(wǎng)絡(luò),根據(jù)該網(wǎng)絡(luò)投影和情感分析結(jié)果分別獲得APP 與用戶的單頂點(diǎn)網(wǎng)絡(luò),對(duì)其做中心性和平均聚類系數(shù)研究,獲得評(píng)論情感差異和產(chǎn)品特性之間的聯(lián)系,從而實(shí)現(xiàn)用戶評(píng)論情感挖掘[1]。喻影等人在關(guān)鍵詞與關(guān)鍵字抽取基礎(chǔ)上對(duì)用戶評(píng)論情感進(jìn)行分析。在情感分析中最重要的任務(wù)是結(jié)合用戶發(fā)表的評(píng)論內(nèi)容對(duì)其情感進(jìn)行判斷,不同詞語和句子都存在不同情感貢獻(xiàn)度,通過句法關(guān)系研究句子結(jié)構(gòu);獲取和情感有關(guān)的詞語做加權(quán)處理,改善分類性能;將關(guān)鍵句抽取與分類器算法相融合,綜合分析情感詞屬性,使信任度最高的子分類器決定分類效果,實(shí)現(xiàn)對(duì)用戶評(píng)論情感的分類[2]。
上述兩種用戶評(píng)論情感分析方法適用于對(duì)評(píng)論的全局分析,無法分析文本局部特征,使語義信息丟失,降低情感分析準(zhǔn)確率,從而影響預(yù)測(cè)模型精度。為此,本文利用注意卷積神經(jīng)網(wǎng)絡(luò)(Attention Convolutional Neural Network ACNN)方法分析用戶評(píng)價(jià)情感,該方法在卷積神經(jīng)網(wǎng)絡(luò)算法基礎(chǔ)上引入注意機(jī)制,使分析模型更加注重局部特征。同時(shí)在深度學(xué)習(xí)與灰色預(yù)測(cè)基礎(chǔ)上利用少量信息對(duì)事物發(fā)展規(guī)律進(jìn)行模糊描述,構(gòu)建預(yù)測(cè)模型。
用戶是評(píng)論生活類APP 滿意度的主體,也是滿意度主觀因素表現(xiàn)。感知是軟件使用情況的直觀感受,其價(jià)值是影響滿意度的主要因素[3],也是用戶主要的子屬性,其中感知有用性、愉悅性屬于用戶感知關(guān)鍵內(nèi)容。因此,本文提出的滿意度影響因素中有關(guān)用戶子屬性的內(nèi)容如表1所示。
表1 用戶子屬性內(nèi)容表
本文分析了軟件質(zhì)量影響用戶滿意度的多種屬性。在預(yù)測(cè)APP用戶滿意度時(shí),這些屬性可以體現(xiàn)軟件自身特征。APP子屬性內(nèi)容如表2所示。
表2 軟件子屬性內(nèi)容表
環(huán)境對(duì)提升APP 服務(wù)質(zhì)量與顧客滿意度產(chǎn)生重要影響,在不同環(huán)境中,用戶滿意度也有所差別。在APP 中,環(huán)境因素對(duì)滿意度造成的影響通常最容易被忽視。在互聯(lián)網(wǎng)中,網(wǎng)絡(luò)性能對(duì)用戶滿意度起到?jīng)Q定性作用[4]。APP加載過程中會(huì)受到網(wǎng)速影響,如果加載時(shí)間過長(zhǎng),會(huì)降低用戶體驗(yàn)感,進(jìn)而影響用戶粘性,導(dǎo)致用戶數(shù)量減少,因此本文將網(wǎng)絡(luò)當(dāng)作環(huán)境子屬性。
表3 環(huán)境子屬性內(nèi)容
本文從主觀與客觀兩方面分析,將用戶、軟件與環(huán)境作為響應(yīng)滿意度的主要因素。
對(duì)用戶評(píng)論文本進(jìn)行預(yù)處理的主要目標(biāo)是將文本變換為可以被計(jì)算機(jī)所處理的形式。傳統(tǒng)的文本預(yù)處理方法是詞袋模型,此模型將評(píng)論文本當(dāng)作由詞匯構(gòu)成的集合,結(jié)合輸入信息建立大小為V的詞匯表,V與輸入的詞匯數(shù)量相等。對(duì)詞匯多少進(jìn)行統(tǒng)計(jì),針對(duì)某條評(píng)論,將其通過一個(gè)長(zhǎng)度是V的矢量進(jìn)行描述,矢量中存在的分量代表此評(píng)論中詞匯出現(xiàn)次數(shù)。在此基礎(chǔ)上,進(jìn)行n元特征提取,如果n=1,特征表達(dá)和詞袋模型一致,稱其為一元特征;如果n>1,詞匯表由長(zhǎng)度是n的詞語組成,稱其為二元特征。此種特征提取方式雖然可以檢測(cè)到詞語之間關(guān)聯(lián)程度,但是處理精度還需進(jìn)一步提高。因此本文對(duì)其改進(jìn),利用TF-IDF加權(quán)法對(duì)每個(gè)詞匯賦予合理權(quán)重。該方法能降低在整體評(píng)論中出現(xiàn)頻率較高的詞匯,因?yàn)檫@類詞語含有的信息內(nèi)容通常不重要,此外,還能提高出現(xiàn)頻率較少的詞語權(quán)重[5],因?yàn)檫@類詞語通常涵蓋較為重要的信息。針對(duì)某個(gè)評(píng)論中任意詞匯t,其權(quán)重計(jì)算公式為:
公式(1)~(3)中,Nt代表已知評(píng)論中詞匯t出現(xiàn)的頻率,Ntd描述評(píng)論中詞語總數(shù)量,D表示評(píng)論總數(shù),Dt為包含詞語t的評(píng)論總數(shù)。因此能夠得出,若詞語t在所有評(píng)論中都出現(xiàn),則IDF(t)=0,此時(shí)詞語t的權(quán)重為零。因此可通過詞匯權(quán)重不同完成評(píng)論文本預(yù)處理,剔除冗余信息[6]。
針對(duì)大多數(shù)情感分析方法不能感知局部特征的缺陷,本文利用注意力卷積神經(jīng)網(wǎng)絡(luò)對(duì)用戶評(píng)論情感進(jìn)行分析。通過注意力機(jī)制重點(diǎn)分析局部特征,同時(shí)對(duì)不同局部特征進(jìn)行注意力賦權(quán)來實(shí)現(xiàn)更加準(zhǔn)確的評(píng)論情感表達(dá)。本文構(gòu)建ACNN用戶情感評(píng)價(jià)模型,該模型分為三部分,以下通過介紹模型各部分內(nèi)容實(shí)現(xiàn)用戶評(píng)論情感分析。
3.2.1 詞嵌入層
對(duì)于APP 的評(píng)論是由長(zhǎng)短不同的句子構(gòu)成,任意一條評(píng)論都能當(dāng)作由不同數(shù)量詞匯組合而成。為注重詞匯出現(xiàn)的順序,提高模型對(duì)語義理解能力[7],利用連續(xù)低維詞匯進(jìn)行特征表達(dá),詞匯t可通過下述低維矢量進(jìn)行描述:
公式(4)中,w∈Rv,Rv表示V維實(shí)數(shù)矢量空間,屬于一個(gè)one-hot矢量,因此該矢量中詞匯出現(xiàn)位置值等于1,其它位置的值等于零。L∈Rd×v代表某個(gè)詞的嵌入矩陣,L的第i列就是詞匯表中第i個(gè)詞匯的矢量表示,d代表詞向量維度。本文利用預(yù)訓(xùn)練詞矢量建立嵌入矩陣L。
ACNN情感分析模型把用戶評(píng)論當(dāng)作由不同詞匯構(gòu)成的序列[8-10],利用詞匯表將其變換為不同類型矢量,再通過嵌入層將評(píng)論映射成低維詞矢量集合:
公式(5)中,yi∈Rd表示任意詞匯經(jīng)過嵌入層形成的低維矢量,d為矢量維度。
3.2.2 卷積層
卷積層是情感分析模型關(guān)鍵部分,其利用空間結(jié)構(gòu)練習(xí)學(xué)習(xí)局部特征,降低模型參數(shù)數(shù)量。本文通過設(shè)置一定大小的卷積核來獲取評(píng)論局部特性。卷積層輸入是通過詞嵌入獲得一些詞語矢量review∈Rd×n,假設(shè)窗口是k的卷積核權(quán)重W∈Rd×k,則通過下述公式獲取局部特征ci:
公式(6)中,W的權(quán)值就是模型需要的訓(xùn)練參數(shù),*表示卷積操作,xi:i+k是輸入某個(gè)長(zhǎng)度是k的詞矢量序列,b是模型偏置參數(shù),φ則代表卷積結(jié)果中的非線性函數(shù)。經(jīng)過卷積計(jì)算后獲得整體輸入特性序列:
公式(7)中,c是獲取的特征張量,ci屬于局部特征。僅利用一個(gè)卷積層能夠減少模型參數(shù),提高訓(xùn)練速度,同時(shí)加強(qiáng)對(duì)輸入特性的表達(dá)。
3.2.3 注意力機(jī)制
傳統(tǒng)的情感分析方法會(huì)在卷積操作后通過池化層獲取更多特征以此減少訓(xùn)練參數(shù),本文的ACNN 模型利用注意力機(jī)制代替池化,避免池化過程中信息損失。
通過卷積層獲得輸入中任意部分的局部特性,但是針對(duì)比較復(fù)雜的評(píng)論,不同字段對(duì)感情貢獻(xiàn)度有所區(qū)別,例如一些評(píng)論在結(jié)尾處才體現(xiàn)出情感傾向。這就必須形成一種可以從整體上編碼用戶評(píng)論的方法,從而獲得比較豐富的長(zhǎng)評(píng)論特性。利用ACNN 模型對(duì)評(píng)論進(jìn)行編碼,構(gòu)成中間特性s'∈Rm。將中間特性s'和卷積層內(nèi)局部特性做對(duì)比,判斷輸入內(nèi)容中每部分重要程度。分析s'與ci之間的相似度對(duì)局部特性進(jìn)行注意力權(quán)重賦值。權(quán)重值隨相似度的提高而增加,權(quán)重值ai表達(dá)式為:
式(8)中:
式(9)中sim()函數(shù)可判斷兩個(gè)輸入量之間的相似程度,因此有:
獲取注意力權(quán)重后,評(píng)論特征表達(dá)式為:
S屬于每條評(píng)論最終的特征表示,將其引入到情感分類器做分類處理。
為實(shí)現(xiàn)誤差逆向傳輸?shù)秸麄€(gè)網(wǎng)絡(luò),達(dá)到訓(xùn)練參數(shù)目的,通過Softmax函數(shù),將函數(shù)值當(dāng)作最終輸出結(jié)果:
公式(12)中,hj屬于第j個(gè)初始輸出,K是情感分類數(shù)量,則模型最終輸出的情感分析結(jié)果表示為:
通過上述對(duì)用戶評(píng)論情感的分析,結(jié)合分析結(jié)果實(shí)現(xiàn)對(duì)APP用戶滿意度的預(yù)測(cè)?;疑到y(tǒng)雖然本身在局部表現(xiàn)上不夠清晰,但是整體有序有界,其中還包括一些規(guī)律。由于影響用戶滿意度原因很多,存在一定不確定性,因此本文在評(píng)論情感分析基礎(chǔ)上構(gòu)建灰色預(yù)測(cè)模型GM(1,1)完成滿意度預(yù)測(cè)。
將設(shè)定的時(shí)間段當(dāng)作單位時(shí)間,則單位時(shí)間內(nèi)APP 用戶滿意度表示為:
公式(14)中,p(r)表示第r個(gè)時(shí)間段內(nèi)用戶較為積極的評(píng)價(jià)數(shù)量,n'(r)代表此時(shí)間段內(nèi)用戶消極評(píng)價(jià)數(shù)量,因此p(r)+n'(r)即為評(píng)價(jià)總數(shù)量。
如果某APP 在n'個(gè)時(shí)間段內(nèi)滿意度的初始序列表示為s0={s0(1),s0(2),…,s0(n)},此時(shí)GM(1,1)預(yù)測(cè)模型構(gòu)建過程如下:
步驟一:對(duì)初始序列做累計(jì)處理,降低數(shù)據(jù)的隨機(jī)性和變化性,形成新的滿意度序列:
公式(15)中s1(t)=s0(k)代表初始序列前r項(xiàng)和。
步驟二:對(duì)s1(r)構(gòu)建一階微分方程,表達(dá)式如下:
式(16)中,α表示發(fā)展系數(shù),μ屬于內(nèi)生控制系數(shù),α的取值范圍是(-2,2),假設(shè)=(α,μ)T,只需獲取的值,即可形成新的滿意程度序列s1(r),因此能夠計(jì)算出初始序列s0(r)內(nèi)下一個(gè)時(shí)間段的滿意度情況。
綜上所述,將某個(gè)生活類APPr個(gè)時(shí)間段內(nèi)滿意度序列s0={s0(1),s0(2),…,s0(n')},當(dāng)作預(yù)測(cè)模型輸入,如果r<n',則可獲得滿意度擬合值,若r=n',則可得到下一個(gè)時(shí)間段的用戶滿意度預(yù)測(cè)值。
為驗(yàn)證本文構(gòu)建的預(yù)測(cè)模型性能,仿真實(shí)驗(yàn)環(huán)境設(shè)置如下。軟件環(huán)境:操作系統(tǒng)為Windows10,利用的編程語言是Python3.5,模型在Tensor flow框架下實(shí)現(xiàn),同時(shí)引入Numpy第三方Python庫協(xié)助進(jìn)行。硬件環(huán)境為:Intel Corei5的處理器,其內(nèi)存是10GB,具有加速訓(xùn)練的能力。引入下述兩個(gè)指標(biāo)對(duì)本文方法、基于二分網(wǎng)絡(luò)方法、基于關(guān)鍵詞和關(guān)鍵句抽取方法進(jìn)行對(duì)比。
(1)準(zhǔn)確率:表示模型分類正確的評(píng)論情感樣本占總樣本比例,公式如下:
公式(21)中,Ncorrect表示分類正確的樣本數(shù)量,Ntotal是全部樣本數(shù)量。
(2)召回率:又稱作查全率,代表全部樣本中被分析模型正確分類的比例,計(jì)算公式為:
三種方法對(duì)情感分類結(jié)果如表4所示。
表4 不同方法情感分類結(jié)果表
由表4可知,所提方法在準(zhǔn)確率與召回率方面均高于其它兩種方法。這是因?yàn)樵摲椒ㄔ诰矸e神經(jīng)網(wǎng)絡(luò)中引入注意力機(jī)制,避免用戶評(píng)價(jià)信息丟失,更加全面地分析用戶情感,提高情感分類準(zhǔn)確度。
圖1表明,本文獲得的預(yù)測(cè)結(jié)果與真實(shí)值最為接近,由于對(duì)用戶情感分析較為精準(zhǔn),引入灰色理論解決了預(yù)測(cè)過程中的不確定性因素,從而得到理想預(yù)測(cè)效果。
圖1 不同方法用戶滿意度預(yù)測(cè)結(jié)果
隨著生活類APP 受到越來越多人的關(guān)注,對(duì)該類型軟件進(jìn)行滿意度預(yù)測(cè)十分重要。本文利用注意力卷積神經(jīng)網(wǎng)絡(luò)對(duì)用戶評(píng)論情感進(jìn)行分析,結(jié)合分析結(jié)果構(gòu)建灰色滿意度預(yù)測(cè)模型。仿真結(jié)果表明,該方法得到的預(yù)測(cè)值與實(shí)際值較為接近。有助于對(duì)APP的完善與改進(jìn)。但是本文只從用戶、軟件與環(huán)境方面分析了影響滿意度的主要因素,不夠全面,在今后研究中需不斷完善,并進(jìn)一步分析這些因素之間的關(guān)系。