鄭雄風(fēng),丁立新,萬(wàn)潤(rùn)澤
ZHENG Xiongfeng,DING Lixin,WAN Runze
武漢大學(xué) 計(jì)算機(jī)學(xué)院,武漢 430072
School of Computer Science,Wuhan University,Wuhan 430072,China
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)上產(chǎn)生大量用戶(hù)參與的,針對(duì)熱點(diǎn)事件、產(chǎn)品等有價(jià)值的評(píng)論文本信息,比如,微博、電商平臺(tái)、餐飲平臺(tái)等等。這些評(píng)論信息包含了人們豐富的情感色彩和情感傾向。情感分析的目的就是自動(dòng)地從文本中提取和分類(lèi)用戶(hù)針對(duì)產(chǎn)品或事件的主觀(guān)情感信息,幫助商家或者政府部門(mén)完成數(shù)據(jù)分析和輿情監(jiān)控等任務(wù)。因此,情感分析也成為了自然語(yǔ)言處理領(lǐng)域的重要課題之一。情感分析分為情感信息的抽取、情感信息的分類(lèi)以及情感信息的檢索與歸納[1]。本文解決的主要是文檔級(jí)別的情感信息分類(lèi)問(wèn)題。文檔級(jí)別的情感信息分類(lèi)任務(wù)主要是為了自動(dòng)分類(lèi)出用戶(hù)產(chǎn)生的情感文本中針對(duì)某一產(chǎn)品或事件表達(dá)的情感傾向(積極或者消極)或者情感強(qiáng)度(如電影或者餐廳評(píng)論文本中的1~5星評(píng)價(jià))。
目前的大多數(shù)方法將情感分類(lèi)看作文本分類(lèi)問(wèn)題的一種。通過(guò)機(jī)器學(xué)習(xí)的方法,將情感傾向或者情感評(píng)分當(dāng)作有監(jiān)督的數(shù)據(jù),訓(xùn)練分類(lèi)器對(duì)文本情感進(jìn)行分類(lèi)成為一種主流的方法。機(jī)器學(xué)習(xí)中的特征表示是影響分類(lèi)器效果的重要因素,因此,文本情感語(yǔ)義的特征表示成為文本情感分類(lèi)問(wèn)題中的關(guān)鍵且耗時(shí)的一步。傳統(tǒng)的特征表示方法包括One-hot、N-Gram以及領(lǐng)域?qū)<彝ㄟ^(guò)文本或者額外的情感詞典設(shè)計(jì)的一些有效特征[2-4]。在SemEval2013評(píng)測(cè)任務(wù)中取得第一名的系統(tǒng)就是設(shè)計(jì)了有效的特征達(dá)到的[5]。然而,特征工程是一個(gè)勞動(dòng)密集型的任務(wù),且需要較多的領(lǐng)域知識(shí)。因此,特征的自動(dòng)學(xué)習(xí)漸漸成為人們研究的重點(diǎn)?;谏窠?jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法就是自動(dòng)學(xué)習(xí)特征的一種方法[6]。并且隨著深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別和自然語(yǔ)言處理等領(lǐng)域的成功應(yīng)用,越來(lái)越多的基于深度學(xué)習(xí)的文本情感分類(lèi)模型產(chǎn)生,這些模型普遍地利用詞嵌入(Word Embedding)的方法進(jìn)行特征表示[7],這種低維度詞向量表示方法不僅能很好地解決傳統(tǒng)語(yǔ)言模型中詞表示中存在的維度過(guò)大的問(wèn)題,而且,能很好地保留詞的語(yǔ)義信息,使得語(yǔ)義相似的詞距離更近。另外,在詞嵌入的基礎(chǔ)上,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)[8-10]、遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network)[11-12]和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)[13-14]等神經(jīng)網(wǎng)絡(luò)模型,能很好地表示句子或者文檔級(jí)別的語(yǔ)義信息,由于深度學(xué)習(xí)具有良好的特征自動(dòng)抽取能力,從而在文本情感分類(lèi)問(wèn)題中得到了廣泛的應(yīng)用。
然而,目前大多數(shù)基于神經(jīng)網(wǎng)絡(luò)的文本情感分類(lèi)模型只考慮了文本內(nèi)容相關(guān)的情感語(yǔ)義,忽略了與文本相關(guān)的用戶(hù)信息以及文本內(nèi)容所描述的產(chǎn)品信息。同時(shí),有研究表明,用戶(hù)的喜好與產(chǎn)品的特點(diǎn)對(duì)于用戶(hù)的評(píng)分有著重要的影響[15]。因此,唐都鈺等人首先提出了通過(guò)矩陣和向量的形式將用戶(hù)喜好和產(chǎn)品信息加入文本情感分類(lèi)模型的方法[16-17],陳慧敏等人在此基礎(chǔ)上,提出了一些改進(jìn)方案[18]:以向量來(lái)表示用戶(hù)和產(chǎn)品信息,同時(shí),通過(guò)Attention的方法將用戶(hù)和產(chǎn)品信息與文本語(yǔ)義信息結(jié)合,該方法在一定程度減少模型參數(shù)的同時(shí),使得文本中語(yǔ)義信息更加豐富。但是,這兩種方法都是隨機(jī)初始化用戶(hù)和產(chǎn)品信息,然后在模型訓(xùn)練過(guò)程中更新用戶(hù)和產(chǎn)品的參數(shù)信息。這樣的方法得到的用戶(hù)和產(chǎn)品信息并不一定準(zhǔn)確,同時(shí)會(huì)使得模型參數(shù)過(guò)大,導(dǎo)致模型的訓(xùn)練速度過(guò)慢,甚至導(dǎo)致模型過(guò)擬合。為了解決這個(gè)問(wèn)題,文獻(xiàn)[19]提出了另外一種生成用戶(hù)喜好和產(chǎn)品信息的方法,首先將原始數(shù)據(jù)按照用戶(hù)和產(chǎn)品分組,然后按照相應(yīng)的事件順序排序,然后應(yīng)用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型分別得到用戶(hù)和產(chǎn)品信息的特征表示。最后將得到的用戶(hù)和產(chǎn)品信息特征表示和文本的特征表示結(jié)合到一起作為分類(lèi)器的輸入特征。雖然解決了用戶(hù)和產(chǎn)品信息特征表示的問(wèn)題,但其中的文本情感語(yǔ)義表示模型過(guò)于簡(jiǎn)單,不能有效地將文本中的上下文語(yǔ)義信息與用戶(hù)和產(chǎn)品信息結(jié)合。受到文獻(xiàn)[18-19]的啟發(fā),同時(shí)為了解決當(dāng)前方法中的問(wèn)題,本文提出了兩個(gè)改進(jìn)方案:
(1)本文改進(jìn)了文獻(xiàn)[18]中的文本語(yǔ)義表示模型,利用雙向的GRU模型代替原有的簡(jiǎn)單模型,結(jié)合文檔-句子和句子-詞的層次模型,更加有效地結(jié)合了文本中的上下文語(yǔ)義信息,整體的模型架構(gòu)如圖1所示。
(2)針對(duì)用戶(hù)和產(chǎn)品的評(píng)價(jià)數(shù)據(jù),首先利用奇異值分解(SVD)的方法,得到用戶(hù)和產(chǎn)品的先驗(yàn)信息,作為預(yù)訓(xùn)練好的模型參數(shù),避免了用戶(hù)和產(chǎn)品信息的參數(shù)增加。然后利用基于A(yíng)ttention的神經(jīng)網(wǎng)絡(luò)模型將用戶(hù)和產(chǎn)品信息結(jié)合到文本上下文語(yǔ)義的表示中,使得文本的情感語(yǔ)義信息更加準(zhǔn)確。
這部分主要介紹基于層次神經(jīng)網(wǎng)絡(luò)的文本情感分類(lèi)模型中3個(gè)重要的步驟:文檔特征表示、基于A(yíng)ttention機(jī)制的用戶(hù)和產(chǎn)品信息及文本情感分類(lèi)模型。首先介紹如何通過(guò)層次神經(jīng)網(wǎng)絡(luò)模型由詞向量得到句子級(jí)別的特征表示,再由句子級(jí)別特征表示得到文檔級(jí)別的特征表示,然后介紹通過(guò)Attention機(jī)制將用戶(hù)和產(chǎn)品信息與文本情感語(yǔ)義結(jié)合的方法,最后將得到的文檔級(jí)別特征表示作為文本分類(lèi)器的特征,完成文本情感分類(lèi)的任務(wù)。
研究表明,句子或者文檔級(jí)別的語(yǔ)義由它們所包含的詞的語(yǔ)義和詞結(jié)合的方式?jīng)Q定的,而文檔主要由句子組成,句子主要由詞組成。因此,首先得到詞的特征表達(dá),也就是詞嵌入(Word Embedding),然后在詞嵌入的基礎(chǔ)上,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)、遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network)或者循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)的深度學(xué)習(xí)模型,得到句子級(jí)別的特征表示。同理,在句子級(jí)別的特征表示基礎(chǔ)上,得到文檔級(jí)別的特征表示。
圖1 基于用戶(hù)和產(chǎn)品Attention的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
假設(shè)用戶(hù)u∈U有一條關(guān)于產(chǎn)品 p∈p的評(píng)價(jià)文本d∈d,文本d由n條句子{s1,s2,s3,…,sn}組成,其中第i個(gè)句子由li長(zhǎng)度的詞組成{,,…,}。
在詞級(jí)別的語(yǔ)義特征表示中,所有的詞是通過(guò)一個(gè)詞嵌入矩陣Lw∈Rd×|V|來(lái)表示,其中,d表示詞的維度,|V |是所有詞的數(shù)量。Lw中的詞向量∈Rd可以通過(guò)兩種方法生成:
(1)隨機(jī)初始化,并作為整個(gè)模型的參數(shù)的一部分,參與到模型的訓(xùn)練過(guò)程中,是一種簡(jiǎn)單可行的方法。
(2)結(jié)合語(yǔ)料,通過(guò)word2vector[7],glove[20]等詞嵌入方法預(yù)訓(xùn)練生成。
在句子級(jí)別的語(yǔ)義特征表示中,通過(guò)詞向量建模句子級(jí)別的語(yǔ)義特征時(shí),有兩種結(jié)構(gòu):樹(shù)結(jié)構(gòu)[21-22]、層次結(jié)構(gòu)[23]。目前,由于句子或者文檔中存在的序列結(jié)構(gòu),因此序列模型(如RNN等)正廣泛地用于自然語(yǔ)言處理,特別是句子或者文檔的特征表示中[24]。LSTM模型是RNN模型的一種,是為了解決RNN模型中出現(xiàn)的長(zhǎng)距離依賴(lài)和梯度消失問(wèn)題提出的。文獻(xiàn)[18]就是采用層次結(jié)構(gòu),基于簡(jiǎn)單的LSTM模型分別得到句子和文檔的語(yǔ)義特征。LSTM模型將句子中每個(gè)詞作為序列模型中的神經(jīng)元,詞向量神經(jīng)元的狀態(tài)和隱藏狀態(tài)是利用上一個(gè)詞向量的神經(jīng)元狀態(tài)和隱藏狀態(tài)來(lái)更新的。最后,為了在詞向量的基礎(chǔ)上得到句子的特征表示,可以利用LSTM模型的最后一個(gè)詞向量的隱藏狀態(tài)作為句子的特征表示,或者是利用LSTM模型中所有隱藏層狀態(tài)取平均作為句子的特征表示。
同理,在文檔級(jí)別的特征表示中,將文檔的每個(gè)句子作為L(zhǎng)STM中的序列單元,利用同樣的方法,就能得到文檔級(jí)別的語(yǔ)義特征,作為最終文本分類(lèi)器的特征輸入,就能得到文檔的情感分類(lèi)。
在文本情感分析任務(wù)中,與文本相關(guān)的用戶(hù)和產(chǎn)品信息是文本情感分類(lèi)的重要影響因素[19]。用戶(hù)的偏好特性會(huì)影響用戶(hù)文本中情感的極性,同時(shí),不同品質(zhì)產(chǎn)品得到的文本情感極性也會(huì)大不相同。唐都鈺等人在文獻(xiàn)[16]中提出,利用矩陣建模用戶(hù)和產(chǎn)品的偏好對(duì)文本情感的影響。通過(guò)實(shí)驗(yàn)驗(yàn)證了用戶(hù)和產(chǎn)品信息對(duì)文本內(nèi)容和文本情感分類(lèi)的重要性。但是,由于用戶(hù)和產(chǎn)品矩陣信息會(huì)有很大的稀疏性,很難得到比較準(zhǔn)確的用戶(hù)和產(chǎn)品信息。因此,本文提出利用用戶(hù)和產(chǎn)品向量建模用戶(hù)和產(chǎn)品偏好對(duì)文本情感的影響。另外,基于LSTM得到的文本語(yǔ)義特征有個(gè)重要的缺點(diǎn),那就是序列后面的神經(jīng)元比序列前的神經(jīng)元在最后的特征表示中所占權(quán)重更大。特別是在文檔級(jí)別的語(yǔ)義中,往往,有些文檔前面的句子比后面的更重要。而采用取平均的方法得到的句子或文檔表示能一定程度上緩解這個(gè)問(wèn)題,但會(huì)導(dǎo)致所有序列單元所代表的權(quán)重一樣。而實(shí)際情況是不同的詞在句子的語(yǔ)義特征表示中所占有的權(quán)重是不一樣的。
而注意力(Attention)機(jī)制是通過(guò)文獻(xiàn)[25]開(kāi)始得到了廣泛關(guān)注,起初注意力機(jī)制是被用于圖像分類(lèi)中。文獻(xiàn)[26]提出了將注意力機(jī)制用于機(jī)器翻譯的方法,自此,注意力機(jī)制開(kāi)始應(yīng)用在自然語(yǔ)言領(lǐng)域。由于注意力機(jī)制是對(duì)人腦注意力的一種模擬,通過(guò)自動(dòng)加權(quán)的模型實(shí)現(xiàn),因此,在神經(jīng)網(wǎng)絡(luò)模型中越來(lái)越流行[27]。本文提出將注意力機(jī)制引入文本特征表達(dá)中,如圖2所示,X表示詞向量特征,S表示句子的語(yǔ)義特征,注意力機(jī)制在生成句子的語(yǔ)義特征時(shí),是將X的GRU單元通過(guò)a加權(quán)得到,a的幾何意義就是不同詞在句子的語(yǔ)義特征表示的重要性,a越大表示這個(gè)詞在句子中的情感語(yǔ)義更重要。
圖2 基于A(yíng)ttention機(jī)制的句子級(jí)別語(yǔ)義特征結(jié)構(gòu)
因此,本文提出將帶有用戶(hù)和產(chǎn)品信息的向量通過(guò)Attention的方法,結(jié)合層次BGRU模型,在得到文本的語(yǔ)義特征時(shí),選擇與用戶(hù)和產(chǎn)品相關(guān)度較高的詞或者句子參與到下一步的計(jì)算中。這樣,就能得到更準(zhǔn)確的文本語(yǔ)義特征。如圖1所示,word attention用于在句子級(jí)別的語(yǔ)義特征表示中,結(jié)合用戶(hù)和產(chǎn)品偏好信息賦予語(yǔ)義更相關(guān)的詞更大的權(quán)重,sentence attention用于在文檔級(jí)別的語(yǔ)義特征表示中,結(jié)合用戶(hù)和產(chǎn)品偏好信息賦予語(yǔ)義更相關(guān)的句子更大的權(quán)重。通過(guò)這種層次結(jié)構(gòu)的語(yǔ)義關(guān)系生成,同時(shí)結(jié)合用戶(hù)和產(chǎn)品信息,就能得到更準(zhǔn)確的文本語(yǔ)義特征作為文本分類(lèi)器的特征輸入。具體計(jì)算過(guò)程如下:
假設(shè)用戶(hù)和產(chǎn)品信息分別通過(guò)向量u∈Rdu和p∈Rdp來(lái)表示,其中du和dp分別表示用戶(hù)和產(chǎn)品向量的維度。
在句子級(jí)別的文本語(yǔ)義特征表示中,假設(shè)si表示通過(guò)Attention方法得到的句子語(yǔ)義特征,那么
其中,e是計(jì)算詞的重要性程度的函數(shù):
其中,WH、WU和WP是參數(shù)矩陣,v是參數(shù)向量,vT是v的轉(zhuǎn)置向量。
在文檔級(jí)別的文本語(yǔ)義特征表示中,假設(shè)d是通過(guò)Attention方法由文本中的句子級(jí)別的特征得到的文檔級(jí)別的特征表示,那么:
其中,βi是句子級(jí)別特征表示序列中第i個(gè)隱藏層狀態(tài)hi,計(jì)算方法與一致。最終得到的d就是新的文本語(yǔ)義特征表示。
在第1.2節(jié)中得到的文檔級(jí)別的特征表示d可以直接作為文本分類(lèi)器的特征輸入。首先通過(guò)一個(gè)非線(xiàn)性層(sigmoid,relu,tanh)將d 映射到維度為C 的空間,C是文本分類(lèi)器中類(lèi)別的數(shù)目,計(jì)算公式:
然后,利用softmax分類(lèi)器,得到文本情感分類(lèi)分布,計(jì)算公式:
其中,pc是文本情感類(lèi)別為c的預(yù)測(cè)概率。本文使用交叉熵?fù)p失函數(shù)作為模型訓(xùn)練的優(yōu)化目標(biāo),通過(guò)Back-Propagation方法計(jì)算損失函數(shù)梯度同時(shí)更新模型參數(shù),Back-Propagation計(jì)算公式:
其中,D是訓(xùn)練數(shù)據(jù)集;是文本情感分類(lèi)為c的0-1分布,即,如果文本情感分類(lèi)為c,那么的值為1,否則的值為0。
Long Short Time Memory(LSTM)模型與Gated Recurrent Unit(GRU)模型都是循環(huán)神經(jīng)網(wǎng)絡(luò)模型的一種,GRU模型是LSTM模型的一種改進(jìn)。如圖3所示,i,f,o 表示LSTM中的input,forget,output三種門(mén)機(jī)制,r,z表示GRU模型中的reset和update兩種門(mén)機(jī)制[28]。通過(guò)門(mén)機(jī)制的優(yōu)化,GRU模型參數(shù)量更少,在保證模型效果的同時(shí),很好地簡(jiǎn)化了模型,在很多場(chǎng)景下得到了廣泛的應(yīng)用[18,29]。
圖3 LSTM與GRU的門(mén)機(jī)制結(jié)構(gòu)
另外,GRU模型更新神經(jīng)元狀態(tài)的方法也與LSTM略有不同,GRU模型神經(jīng)元狀態(tài)計(jì)算框架如圖4所示。
圖4 GRU模型結(jié)構(gòu)圖
在t時(shí)刻,GRU中的狀態(tài)通過(guò)下列公式計(jì)算:
其中,zt,rt分別是update,reset門(mén)機(jī)制函數(shù),⊙表示矩陣對(duì)應(yīng)元素相乘,σ表示sigmoid函數(shù),W表示GRU模型共享的參數(shù)。
單向RNN模型在表示文本上下文語(yǔ)義中存在不足,在模型訓(xùn)練過(guò)程中會(huì)導(dǎo)致權(quán)重的偏差。雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BRNN)的基本思想是提出每一個(gè)訓(xùn)練序列向前和向后分別是兩個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),而且這兩個(gè)都連接著一個(gè)輸出層。這個(gè)結(jié)構(gòu)提供給輸出層輸入序列中每一個(gè)點(diǎn)的完整的過(guò)去和未來(lái)的上下文信息。所以,本文提出利用雙向的GRU來(lái)建模句子和文檔級(jí)別的語(yǔ)義特征。雙向GRU就是在隱層同時(shí)有一個(gè)正向GRU和反向GRU,正向GRU捕獲了上文的語(yǔ)義特征信息,而反向GRU捕獲了下文的語(yǔ)義特征信息,這樣相對(duì)單向GRU來(lái)說(shuō)能夠捕獲更多的特征信息,所以通常情況下雙向GRU表現(xiàn)比單向GRU或者單向RNN要好,得到的上下文語(yǔ)義特征更加準(zhǔn)確。
假設(shè)一個(gè)句子si中有T個(gè)詞,每個(gè)詞為,t∈[0,T],將句子si看作一個(gè)序列,句子中的詞為句子序列的組成部分。那么,分別通過(guò)前向GRU和后向GRU模型就能得到句子的表達(dá)。
通過(guò)結(jié)合得到句子si的語(yǔ)義表示:
同理,假設(shè)一個(gè)文檔d中有L個(gè)句子,每個(gè)句子為si,i∈[0,L],將文檔d當(dāng)作一個(gè)序列,文檔中的句子為文檔序列的組成部分。通過(guò)前向GRU和后向GRU模型分別得到文檔級(jí)別的特征表示:
通過(guò)結(jié)構(gòu)就能得到最終的文檔級(jí)別的語(yǔ)義特征。
將前向GRU和后向GRU得到的結(jié)果合并到一起作為最終的句子或文檔的特征表達(dá),這樣通過(guò)上下文共同產(chǎn)生的語(yǔ)義特征更加準(zhǔn)確,并且可以直接作為最終文本情感分類(lèi)器的特征。
在文本情感分析任務(wù)中,與文本相關(guān)的用戶(hù)和產(chǎn)品信息是文本情感分類(lèi)的重要影響因素。因此,用戶(hù)和產(chǎn)品向量的初始化對(duì)于模型的最終效果也同樣重要。其中一種方式是隨機(jī)初始化用戶(hù)和產(chǎn)品向量,并作為整個(gè)模型的參數(shù)的一部分,參與到模型的訓(xùn)練過(guò)程中。但這樣會(huì)導(dǎo)致模型的參數(shù)量過(guò)大,訓(xùn)練速度慢,甚至可能產(chǎn)生過(guò)擬合,從而影響了模型的效果。因此,為了得到準(zhǔn)確的用戶(hù)和產(chǎn)品初始化向量,本文提出通過(guò)奇異值分解(SVD)的方法,利用用戶(hù)和產(chǎn)品的評(píng)論信息,得到用戶(hù)和產(chǎn)品的向量作為模型的先驗(yàn)信息,一方面避免了增加大量的模型參數(shù),另一方面,在有足夠數(shù)據(jù)集的情況下,通過(guò)SVD得到的用戶(hù)和產(chǎn)品信息更加準(zhǔn)確,語(yǔ)義信息更加豐富,最終提高模型的收斂速度和準(zhǔn)確率。
假設(shè)用戶(hù)-產(chǎn)品矩陣為c,如表1所示,對(duì)應(yīng)的值為用戶(hù)對(duì)產(chǎn)品的評(píng)分值,空白部分說(shuō)明用戶(hù)對(duì)相應(yīng)的產(chǎn)品沒(méi)有評(píng)分。一般的用戶(hù)-產(chǎn)品矩陣維度很大,相應(yīng)的計(jì)算量和所需的存儲(chǔ)空間都很大。如表2所示,Yelp2014數(shù)據(jù)集中,用戶(hù)和產(chǎn)品維度分別為4 818和4 194。SVD就是一種不丟失原有矩陣信息的矩陣分解方法。同時(shí),SVD能得到相應(yīng)的用戶(hù)和產(chǎn)品在低維度的潛在語(yǔ)義的向量表示,作為用戶(hù)和產(chǎn)品向量的初始化值。
表1 用戶(hù)-產(chǎn)品矩陣c
利用SVD計(jì)算用戶(hù)-產(chǎn)品矩陣c的k-秩近似矩陣xk。其中,xk可以表示成三個(gè)矩陣的乘積:xk=UkΣk。通過(guò)這種方法,可以將用戶(hù)-產(chǎn)品矩陣中用戶(hù)和產(chǎn)品分別映射到低維度的uk和vk中,從而得到一個(gè)比原始空間小得多的更加有效的語(yǔ)義空間。uk和vk作為初始化的用戶(hù)和產(chǎn)品向量,語(yǔ)義相近的用戶(hù)向量距離越近,語(yǔ)義相似的產(chǎn)品向量距離更近。具體對(duì)比結(jié)果見(jiàn)實(shí)驗(yàn)部分。另外,本文通過(guò)對(duì)不同k值下用戶(hù)-產(chǎn)品矩陣信息的保證驗(yàn)證,取k值為100時(shí),能保留原始矩陣99%的信息,同時(shí)也有效地降低了用戶(hù)和產(chǎn)品向量的維度。
實(shí)驗(yàn)部分通過(guò)三個(gè)數(shù)據(jù)驗(yàn)證了本文提出的方法在文本情感分類(lèi)任務(wù)中的有效性。分別從兩方面對(duì)比本文提出的方法作出了驗(yàn)證:一是通過(guò)文檔級(jí)別的文本分類(lèi)任務(wù)的準(zhǔn)確率對(duì)比,驗(yàn)證了基于用戶(hù)和產(chǎn)品信息的模型有效性;二是通過(guò)對(duì)比不同的用戶(hù)和產(chǎn)品信息初始化方法,驗(yàn)證了本文引入的SVD方法有效性。
實(shí)驗(yàn)數(shù)據(jù)來(lái)自于:IMDB、Yelp2013、Yelp2014[16]。IMDB是用戶(hù)對(duì)電影的評(píng)分?jǐn)?shù)據(jù),Yelp2013和Yelp2014是用戶(hù)對(duì)商家的評(píng)分?jǐn)?shù)據(jù)。具體統(tǒng)計(jì)信息如表2所示。實(shí)驗(yàn)的評(píng)價(jià)標(biāo)準(zhǔn)有分類(lèi)準(zhǔn)確率(Accuracy)和平方根誤差(RMSE),本文的所有實(shí)驗(yàn)均在如表3所示的實(shí)驗(yàn)環(huán)境中完成。
表2 IMDB,Yelp2013和Yelp2014數(shù)據(jù)集的統(tǒng)計(jì)信息
表3 實(shí)驗(yàn)環(huán)境及配置
(1)數(shù)據(jù)預(yù)處理:原始文本數(shù)據(jù)使用斯坦福CoreNLP工具進(jìn)行分詞處理得到訓(xùn)練樣本,另外,數(shù)據(jù)按照8/1/1得到訓(xùn)練數(shù)據(jù)集/驗(yàn)證數(shù)據(jù)集/測(cè)試數(shù)據(jù)集。實(shí)驗(yàn)中超參數(shù)通過(guò)驗(yàn)證數(shù)據(jù)集調(diào)整,模型分類(lèi)準(zhǔn)確率和平方根誤差通過(guò)測(cè)試集得到。
(2)詞向量訓(xùn)練:本文使用word2vector工具,結(jié)合相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)作為語(yǔ)料,得到詞向量,詞向量的維度為200,不參與模型的訓(xùn)練。根據(jù)文獻(xiàn)[30]的研究,語(yǔ)料的選擇,是生成好的詞向量的關(guān)鍵,因此本文利用相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)(IMDB,Yelp)作為語(yǔ)料,能得到更準(zhǔn)確的語(yǔ)義信息。
(3)層次BGRU模型的實(shí)現(xiàn):利用tensorflow 0.11.0的RNN模塊實(shí)現(xiàn)了基本的GRU單元,輸出的語(yǔ)義特征維度為50,在此基礎(chǔ)上搭建了層次結(jié)構(gòu)的雙向GRU神經(jīng)網(wǎng)絡(luò)模型,輸出的語(yǔ)義特征維度為100。使用隨機(jī)梯度下降的方法更新神經(jīng)網(wǎng)絡(luò)模型中的參數(shù),相應(yīng)的學(xué)習(xí)率設(shè)為0.01。
(4)層次BGRU模型的訓(xùn)練:基本的GRU單元輸出的語(yǔ)義特征維度為50,雙向GRU神經(jīng)網(wǎng)絡(luò)模型輸出的語(yǔ)義特征維度為100,使用隨機(jī)梯度下降的方法更新神經(jīng)網(wǎng)絡(luò)模型中的參數(shù),相應(yīng)的學(xué)習(xí)率設(shè)為0.01。
(5)訓(xùn)練過(guò)程數(shù)據(jù)序列化:訓(xùn)練過(guò)程中的中間數(shù)據(jù)通過(guò)tensorflow 0.11.0的summary模塊序列化,最終通過(guò)Excel工具得到如圖5中所示的曲線(xiàn)對(duì)比圖。
本文選取了一些方法作為對(duì)比實(shí)驗(yàn):
(1)SVM:根據(jù)文本和情感詞典設(shè)計(jì)特征,然后訓(xùn)練SVM分類(lèi)器得到相應(yīng)的準(zhǔn)確率和平方根誤差值。
(2)Paragraph Vector:處理文檔級(jí)別的情感分類(lèi)的利用神經(jīng)網(wǎng)絡(luò)模型的經(jīng)典方法。
(3)UPA+LSTM:陳慧敏等人[18]實(shí)現(xiàn)的層次LSTM結(jié)合User和product Attention的方法,也是本文的主要對(duì)比文獻(xiàn)。
(4)UPA+GRU:為了驗(yàn)證標(biāo)準(zhǔn)GRU模型的有效性,用GRU模型代替實(shí)驗(yàn)3中的LSTM模型。
(5)SVD+GRU:為了驗(yàn)證雙向GRU模型的有效性。
(6)SVD+BGRU模型:本文提出的模型。
所有實(shí)驗(yàn)結(jié)果如表4所示,從實(shí)驗(yàn)結(jié)果中可以看出:
(1)用戶(hù)和產(chǎn)品信息在情感分類(lèi)中的有效性。
從實(shí)驗(yàn)1、2中采用的是傳統(tǒng)的機(jī)器學(xué)習(xí)模型、SVM和Paragraph Vector,實(shí)驗(yàn)3、4、5、6采用的是基于用戶(hù)和產(chǎn)品的神經(jīng)網(wǎng)絡(luò)模型,從實(shí)驗(yàn)結(jié)果對(duì)比中可以看出,因?yàn)橐肓烁嗟恼Z(yǔ)義信息,在分類(lèi)準(zhǔn)確率方面后者有了10%提升,驗(yàn)證了用戶(hù)和產(chǎn)品信息在文本情感分類(lèi)中的重要性。同時(shí),本文提出的基于SVD的方法得到的用戶(hù)和產(chǎn)品信息更加準(zhǔn)確,在所有實(shí)驗(yàn)數(shù)據(jù)中達(dá)到最高分類(lèi)準(zhǔn)確率。
表4 實(shí)驗(yàn)結(jié)果比較表
(2)基于SVD方法的有效性。
從三個(gè)不同實(shí)驗(yàn)數(shù)據(jù)的結(jié)果可以看出,基于SVD的方法在IMDB數(shù)據(jù)中取得的準(zhǔn)確率提升最大,接近4%,而Yelp2013和Yelp2014數(shù)據(jù)的準(zhǔn)確率提升只有2%左右,原因是IMDB數(shù)據(jù)的用戶(hù)和產(chǎn)品的信息更加豐富。相應(yīng)的實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)信息如表2所示,IMDB數(shù)據(jù)中,每個(gè)用戶(hù)平均的文檔數(shù)是64.82,而Yelp2013和Yelp2014的平均文檔數(shù)分別是48.42和47.87。這一結(jié)果同時(shí)也驗(yàn)證了基于SVD方法得到的用戶(hù)和產(chǎn)品信息在文本情感分類(lèi)的有效性。
(3)雙向GRU模型的有效性。
對(duì)比實(shí)驗(yàn)3和實(shí)驗(yàn)4的結(jié)果,可以看出,GRU模型在文本特征抽取中要略?xún)?yōu)于LSTM模型,準(zhǔn)確率普遍提升1%,且GRU模型結(jié)構(gòu)更簡(jiǎn)單,模型參數(shù)更少,可以降低整體的模型效率。同時(shí),對(duì)比實(shí)驗(yàn)5和實(shí)驗(yàn)6的結(jié)果,可以看出,相比于標(biāo)準(zhǔn)GRU模型,雙向的GRU模型在最終模型分類(lèi)準(zhǔn)確率上有2%的提高。驗(yàn)證了雙向GRU模型在文本上下文語(yǔ)義結(jié)合中的有效性。
為了驗(yàn)證SVD在減少模型參數(shù),提高模型訓(xùn)練速度的有效性,以IMDB為實(shí)驗(yàn)數(shù)據(jù),在SVD+BGRU模型的基礎(chǔ)上,不改變其他參數(shù),本文做了相應(yīng)的對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)1采用隨機(jī)初始化用戶(hù)和產(chǎn)品信息,并參與到模型的訓(xùn)練過(guò)程中。實(shí)驗(yàn)2使用SVD得到用戶(hù)和產(chǎn)品的信息作為先驗(yàn)信息,不參與到模型的訓(xùn)練過(guò)程中,具體的實(shí)驗(yàn)結(jié)果見(jiàn)圖5。
圖5 IMDB實(shí)驗(yàn)中迭代次數(shù)與分類(lèi)準(zhǔn)確率的關(guān)系
從分類(lèi)準(zhǔn)確率與迭代次數(shù)的曲線(xiàn)圖可以看出,本文提出的基于SVD方法產(chǎn)生的用戶(hù)和產(chǎn)品的先驗(yàn)信息在迭代開(kāi)始時(shí)就取得了接近最高的準(zhǔn)確率,驗(yàn)證了SVD方法得到的用戶(hù)和產(chǎn)品信息的準(zhǔn)確性,同時(shí),基于SVD初始化的方法在較少的迭代次數(shù)下就達(dá)到了最優(yōu),驗(yàn)證了SVD方法在提高模型訓(xùn)練速度的有效性。
本文提出了一種基于奇異值分解(SVD)來(lái)得到文本中用戶(hù)和產(chǎn)品先驗(yàn)信息作為神經(jīng)網(wǎng)絡(luò)Attention信息的方法,同時(shí)引入雙向GRU模型作為層次神經(jīng)網(wǎng)絡(luò)中的語(yǔ)義組合模型。在用戶(hù)和產(chǎn)品數(shù)據(jù)足夠的情況下,相較其他方法,SVD能得到更加準(zhǔn)確的用戶(hù)和產(chǎn)品語(yǔ)義信息,在保證模型分類(lèi)準(zhǔn)確同時(shí),減少了模型訓(xùn)練中參數(shù)的數(shù)量,提高模型的訓(xùn)練效率。在層次神經(jīng)網(wǎng)絡(luò)的模型結(jié)構(gòu)基礎(chǔ)上,BGRU模型代替常用的LSTM,得到了更加豐富的上下文信息,作為文本情感分類(lèi)器的特征。提高了最終分類(lèi)器的效果。另外,如何在用戶(hù)和產(chǎn)品數(shù)據(jù)不足,特別是新用戶(hù)或者新產(chǎn)品的情況下,保證模型的分類(lèi)效果值得進(jìn)一步的研究。
參考文獻(xiàn):
[1]趙妍妍,秦兵,劉挺,等.文本情感分析[J].軟件學(xué)報(bào),2010,21(8):1834-1848.
[2]李婷婷,姬東鴻.基于SVM和CRF多特征組合的微博情感分析[J].計(jì)算機(jī)應(yīng)用研究,2015,32(4):978-981.
[3]Ding X,Liu B,Yu P S.A holistic lexicon-based approach to opinion mining[C]//International Conference on Web Search and Data Mining,2008:231-240.
[4]Taboada M,Brooke J,Tofiloski M,et al.Lexicon-based methods for sentiment analysis[J].Computational Linguistics,2011,37(2):267-307.
[5]Mohammad S M,Kiritchenko S,Zhu X.NRC-Canada:Building the state-of-the-art in sentiment analysis of tweets[J].Computer Science,2013.
[6]Lecun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553).
[7]Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositionality[J].Advances in Neural Information Processing Systems,2013,26:3111-3119.
[8]Collobert R,Weston J,Karlen M,et al.Natural language processing(almost) from scratch[J].Journal of Machine Learning Research,2011,12(1):2493-2537.
[9]Kim Y.Convolutional neural networks for sentence classification[J].arXiv preprint arXiv:1408.5882,2014.
[10]Kalchbrenner N,Grefenstette E,Blunsom P.A convolutional neural network for modelling sentences[J].Eprint Arxiv,2014.
[11]Socher R,Huval B,Manning C D,et al.Semantic compositionality through recursive matrix-vector spaces[C]//Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning,2012:1201-1211.
[12]Socher R,Perelygin A,Wu J Y,et al.Recursive deep models for semantic compositionality over a sentiment treebank[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing(EMNLP),2013.
[13]Wang X,Liu Y,Sun C,et al.Predicting polarities of tweets by composing word embeddings with long shortterm memory[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing,2015:1343-1353.
[14]Teng Z,Vo D T,Zhang Y.Context-sensitive lexicon features for neural sentiment analysis[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing,2016:1629-1638.
[15]Gao W,Kaji N,Yoshinaga N.Collective sentiment classification based on user leniency and product popularity[J].Journal of Natural Language Processing,2014,21(3):541-561.
[16]Tang D,Qin B,Liu T.Learning semantic representations of users and products for document level sentiment classification[C]//Meeting of the Association for Computational Linguistics and the International Joint Conference on Natural Language Processing,2015:1014-1023.
[17]Tang D,Qin B,Liu T,et al.User modeling with neural network forreview rating prediction[C]//International Conference on Artificial Intelligence,2015:1340-1346.
[18]Chen H,Sun M,Tu C,et al.Neural sentiment classification with user and product attention[C]//Proceedings of EMNLP,2016.
[19]Chen T,Xu R,He Y,et al.Learning user and product distributed representations using a sequence model for sentiment analysis[J].IEEE Computational Intelligence Magazine,2016,11(3):34-44.
[20]Pennington J,Socher R,Manning C.Glove:Global vectors for word representation[C]//Conference on Empirical Methods in Natural Language Processing,2014:1532-1543.
[21]Mou L,Peng H,Li G,et al.Discriminative neural sentence modeling by tree-based convolution[J].arXiv preprint arXiv:1504.01106,2015.
[22]Tai K S,Socher R,Manning C D.Improved semantic representations from tree-structured long short-term memory networks[J].Computer Science,2015.
[23]Yang Z,Yang D,Dyer C,et al.Hierarchical attention networks for document classification[C]//Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics:Human Language Technologies,2016.
[24]胡新辰.基于LSTM的語(yǔ)義關(guān)系分類(lèi)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[25]Mnih V,Heess N,Graves A,et al.Recurrent models of visual attention[J].Computer Science,2014,3:2204-2212.
[26]Bahdanau D,Cho K,Bengio Y.Neural machine translation by jointly learning to align and translate[J].arXiv preprint arXiv:1409.0473,2014.
[27]張沖.基于A(yíng)ttention-Based LSTM模型的文本分類(lèi)技術(shù)的研究[D].南京:南京大學(xué),2016.
[28]Chung J,Gulcehre C,Cho K H,et al.Empirical evaluation of gated recurrent neural networks on sequence modeling[J].Eprint Arxiv,2014.
[29]Tang D,Qin B,Liu T.Document modeling with gated recurrent neural network for sentiment classification[C]//Conference on Empirical Methods in Natural Language Processing,2015:1422-1432.
[30]來(lái)斯惟.基于神經(jīng)網(wǎng)絡(luò)的詞和文檔語(yǔ)義向量表示方法研究[D].北京:中國(guó)科學(xué)院研究生院,2016.