羅浩然,楊 青
(1.華中師范大學(xué)伍倫貢聯(lián)合研究院,武漢 430079;2.華中師范大學(xué)計(jì)算機(jī)學(xué)院,武漢 430079;3.國家語言資源監(jiān)測與研究網(wǎng)絡(luò)媒體中心,武漢 430077)
教育類機(jī)器人是教育行業(yè)和工業(yè)界的一次基于發(fā)展的人工智能技術(shù)的嘗試,然而對這一部分用戶反饋的研究大部分仍停留在人工分析使用自然語言的購物評論的階段。對于此類新興技術(shù)的文本分析,僅使用標(biāo)準(zhǔn)的情感詞典或某類神經(jīng)網(wǎng)絡(luò)是不夠的,因?yàn)獒槍υ擃I(lǐng)域的情感詞匯極少,也沒有有效、科學(xué)的分類模型或情感得分量化的算法。基于此,本文的工作主要在于:1)通過無監(jiān)督學(xué)習(xí)、聚類算法的結(jié)合,合理設(shè)置情感分類的一、二級影響因素;2)通過構(gòu)造情感詞典和深度學(xué)習(xí)模型并將兩者結(jié)合,提高特定領(lǐng)域的情感分類的精準(zhǔn)度。
二分法的思想被普遍應(yīng)用于情感分析中,其中情感分為“積極”和“消極”,一些學(xué)者添加了“中立”情感作為補(bǔ)充。對于情感分析來說,情感分類是核心步驟。在這一步中,研究人員需要識別指定文本的主觀觀點(diǎn),并判斷文本的正面和負(fù)面傾向。早年,基于情感詞典的方法是根據(jù)經(jīng)驗(yàn)總結(jié)和整理廣泛使用的情感詞,并將預(yù)處理后的輸入與詞典中的情感詞進(jìn)行匹配。具體來說,需要在輸入中搜索與情感詞典中重疊的情感詞,判斷這些詞的極性,然后得到整個句子的情感取向。分類效果取決于情感詞典的完整性。Kim 等利用詞典將手工采集的種子情感詞集進(jìn)行擴(kuò)展來獲取大量的情感詞,但是這種方法的效果對種子情感詞集的個數(shù)和質(zhì)量依賴性比較大。在接下來的十幾年里,許多學(xué)者在情感詞匯的研究中不斷探索,李勇敢等通過以詞序流表示文本的LDA(Linear Discriminant Analysis)-Collocation 模型,采用吉布斯抽樣法推導(dǎo)了算法,實(shí)現(xiàn)中文微博情感傾向性自動分類。Tan 等提出了一種基于半監(jiān)督特征提取的情感分類系統(tǒng),該系統(tǒng)融合譜聚類、主動學(xué)習(xí)、遷移學(xué)習(xí)等不同方法提取情緒特征,應(yīng)用遷移學(xué)習(xí)的方法完成整個情感分析系統(tǒng)的構(gòu)建。在搜狐學(xué)習(xí)評論、搜狐股票評論和中關(guān)村電腦評論語料庫的實(shí)驗(yàn)中,這種半監(jiān)督特征提取的方法的最小f
值可達(dá)82.62%。然而,傳統(tǒng)的情感分類方法往往需要高質(zhì)量的特征構(gòu)造,如N
元模型(N
-Gram)?;谏疃葘W(xué)習(xí)的抽象特征可以避免人工特征提取,通過詞的嵌入模擬詞與詞之間的關(guān)系,具有局部特征提取和記憶存儲的功能。Johnson 等在深層金字塔卷積神經(jīng)網(wǎng)絡(luò)(Deep Pyramid Convolutional Neural Network for text categorization,DPCNN)中引入了殘差結(jié)構(gòu),增加了多尺度信息,并且增加了用于文本分類卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的網(wǎng)絡(luò)深度,以提取文本中遠(yuǎn)程關(guān)系特征,并且并沒有帶來較高的復(fù)雜度。Rajasegaran 等通過借助CNN 的成功經(jīng)驗(yàn)引入“DeepCaps”這一種深囊網(wǎng)絡(luò)結(jié)構(gòu),并在其中使用基于3D 卷積的動態(tài)路由算法。借助DeepCaps,該方法在CIFAR10、Street View House Number(SVHN)和Fashion Mixed National Institute of Standards and Technology(FashionMNIST)性能上超越了最新的膠囊域網(wǎng)絡(luò)算法,同時減少了68%的參數(shù)量。Zhang 等針對特定任務(wù),對于每個方面層級設(shè)計(jì)了基于注意力機(jī)制的注意力向量,該機(jī)制涉及兩個子向量,即維度注意力向量和情感注意力向量,從語義空間的角度解決了神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)過于復(fù)雜的問題。但是,這類具有特定領(lǐng)域?qū)傩?、短文本、?fù)合情感的評論的情感分析模型存在著諸多局限性:單一使用情感詞典存在情感詞匯覆蓋率低,編纂、維護(hù)詞典工作量大,無法洞察語句中上下單詞的聯(lián)系的問題;而單獨(dú)使用深度學(xué)習(xí)方法,在處理一些特定領(lǐng)域的文本時容易出現(xiàn)過度過濾和錯誤處理語氣助詞、修飾詞的情況。因此,本文以科大訊飛、小度、狄刺史、天貓精靈四個智能教育機(jī)器人品牌為例,通過爬取在線評論數(shù)據(jù)、數(shù)據(jù)清洗并構(gòu)建一種基于堆疊殘差的雙向長短期記憶(Bidirectional Long Short-Term Memory,Bi-LSTM)網(wǎng)絡(luò)和人工構(gòu)建的情感詞典結(jié)合的情感分析算法來判斷評論的情感取向,量化產(chǎn)品質(zhì)量、性價比和外觀的情感指數(shù),然后將情感指數(shù)標(biāo)準(zhǔn)化為某個情感極性的概率,以完成分類任務(wù)。研究路徑如圖1 所示。
圖1 研究路徑圖Fig.1 Research roadmap
本文選取中國四大知名教育機(jī)器人品牌旗下的最新型號機(jī)器人作為研究對象,包括天貓精靈CC10、小度智能機(jī)器人旗艦版、科大訊飛阿爾法大蛋2.0、狄刺史H2,同時選取的四款產(chǎn)品也屬于不同價位,以便于縱向?qū)Ρ?。通過基于Python 的爬蟲軟件“后羿采集器”,在淘寶、京東、蘇寧易購等電商平臺上收集了2019 年至2021 年每個品牌的15 000 條在線評論,最終獲得60 000 條評論。
由于自然語言的隨機(jī)性和非標(biāo)準(zhǔn)化,原始數(shù)據(jù)中存在很多噪聲,如語法結(jié)構(gòu)混亂、錯別字模糊、傳統(tǒng)字符和重復(fù)注釋,無效的評論、廣告和其他問題。如果這些數(shù)據(jù)被直接輸入到情感分析模型中,深度學(xué)習(xí)模型將會學(xué)習(xí)到大量無意義的數(shù)據(jù),模型的分類精準(zhǔn)率將嚴(yán)重降低。為了過濾冗余數(shù)據(jù),本文采取了兩個步驟進(jìn)行數(shù)據(jù)清理:首先,使用正則表達(dá)式來清理字符串。然而正則化雖然可以初步過濾數(shù)據(jù),但仍達(dá)不到使用標(biāo)準(zhǔn),這是因?yàn)樵谠u論中仍有許多經(jīng)常被廣泛使用但沒有實(shí)際意義的漢字或英文字母。因此本文以中國科學(xué)院開發(fā)方漢語詞法分析系統(tǒng)的停用詞表作為基礎(chǔ)停用詞表,結(jié)合購物評論的特殊性,添加了部分特定領(lǐng)域內(nèi)的停用詞,如機(jī)器人品牌、顏色、型號、html 標(biāo)簽名稱等。最終,本文使用的停用詞列表的條目總數(shù)為2 072。最后,使用“庖丁分詞”對經(jīng)過正則表達(dá)式和停用詞表處理過后的文本數(shù)據(jù)進(jìn)行分詞。
1.2.1 詞頻統(tǒng)計(jì)
為了初步了解關(guān)鍵詞的分布情況可以計(jì)算數(shù)據(jù)的詞頻。NLTK(Natural Language Toolkit)工具包可以用來計(jì)算單詞特征,并建立頻率分布表,導(dǎo)入matplotlib 用來可視化單詞頻率。四個品牌的詞頻可視化結(jié)果如圖2 所示。
圖2 詞頻統(tǒng)計(jì)Fig.2 Word frequency statistics
1.2.2 關(guān)鍵詞提取
本文需要對產(chǎn)品的衡量維度進(jìn)行劃分,主要采取“兩級”劃分法則。主要思路是:首先,通過數(shù)據(jù)處理和關(guān)鍵詞提取技術(shù)得到一定數(shù)量的關(guān)鍵詞作為一級分類,使用聚類算法衡量語句相似度劃分一級目錄下的二級目錄;然后,通過人工情感標(biāo)注處理后的文本放置在各個分類目錄下,經(jīng)過詞向量轉(zhuǎn)化過程進(jìn)入情感分析的步驟。這樣劃分后的文本評論會根據(jù)所屬的不同維度被初步分類,方便觀察分類算法對于不同維度分類下的文本的分類效果,以上過程如圖3 所示。
圖3 兩級劃分規(guī)則Fig.3 Two-level division rules
1)一級關(guān)鍵詞提取。在進(jìn)行關(guān)鍵詞提取時,主要有三類方法:基于統(tǒng)計(jì)的詞頻-逆文檔頻率(Term Frequency-Inverse Document Frequency,TF-IDF)方法、基于詞共現(xiàn)圖的TextRank 方法和基于詞語網(wǎng)絡(luò)的方法。其中:單獨(dú)使用TFIDF 無法同時精準(zhǔn)地反映單詞在一篇文本中的重要程度和特征詞的分布情況;而詞語網(wǎng)絡(luò)的構(gòu)造相對復(fù)雜,各類參數(shù)設(shè)置復(fù)雜。因此本文采用基于詞共現(xiàn)圖的方法進(jìn)行關(guān)鍵詞提取。
TextRank 算法是一種基于圖的排序算法,通過移動共現(xiàn)窗口表示詞語之間的聯(lián)系程度,對后續(xù)關(guān)鍵詞排序的同時從文本中提取出關(guān)鍵詞。TextRank 是對PageRank 的改進(jìn)算法,該算法著力構(gòu)造詞匯網(wǎng)絡(luò)圖模型,詞語間的相似關(guān)系被看成是一種投票關(guān)系,計(jì)算每一個詞語的重要程度,具體計(jì)算如式(1)所示:
WS
(V
)體現(xiàn)詞語的重要程度,d
為阻尼系數(shù),w
表示兩個節(jié)點(diǎn)之間的邊連接具有不同的重要程度,In
(V
)是節(jié)點(diǎn)V
的入度點(diǎn)的集合,Out
(V
)是節(jié)點(diǎn)V
的出度點(diǎn)集合。下面結(jié)合本文的中文文本評論數(shù)據(jù)集對上述公式做具體分析:首先將每個品牌的評論的評論集T
按照句子進(jìn)行分割,即T=
[S
,S
,…,S
],對于每個分割結(jié)果S∈T
進(jìn)行分詞和詞性標(biāo)注,在過濾停用詞后只保留指定詞性為名詞的詞語,即S=
[d
,d
,…,d
],其中d
代表候選關(guān)鍵詞,并由此構(gòu)建關(guān)鍵詞圖G=
(V,E
),其中V
是上一步得到的候選關(guān)鍵詞的集合;然后根據(jù)共現(xiàn)關(guān)系(若兩個關(guān)鍵詞在長度為k
的窗口中同時存在則認(rèn)為存在共現(xiàn)關(guān)系)構(gòu)造兩點(diǎn)之間的邊集E
。此外,本文中設(shè)置d
為經(jīng)驗(yàn)值0.85。根據(jù)式(1),遞歸傳播各關(guān)鍵詞的權(quán)重,直至收斂。將關(guān)鍵詞的權(quán)重進(jìn)行倒序排序,取權(quán)重值最大的t
個單詞作為關(guān)鍵詞。雖然TextRank 可以用來計(jì)算詞語的重要性,但是算法不能解決詞語的重要性的差異對相鄰的節(jié)點(diǎn)權(quán)值轉(zhuǎn)移的影響問題,基于此本文最終使用了一種TextRank 的改進(jìn)算法,即使用TF-IDF 和平均信息熵兩個特征來計(jì)算詞語的權(quán)重,用計(jì)算得到的綜合特征信息來改進(jìn)TextRank 詞匯節(jié)點(diǎn)的初始權(quán)重大小以及概率轉(zhuǎn)移矩陣從而共同決定關(guān)鍵詞的選取。經(jīng)計(jì)算分析,得到一級關(guān)鍵詞如下:學(xué)習(xí)、影視、交互、用戶體驗(yàn)、價格。2)二級關(guān)鍵詞提取。經(jīng)過獨(dú)熱編碼轉(zhuǎn)化后的數(shù)組作為數(shù)據(jù)輸入,使用Word2Vec 的CBOW(Continuous Bag-Of-Word)模式下的神經(jīng)網(wǎng)絡(luò)層對二級影響因素的單詞進(jìn)行向量化處理。因此,為了得到某一領(lǐng)域中某個詞的向量,首先要對該領(lǐng)域的評論集進(jìn)行預(yù)處理,然后利用Gensim 模塊的API 接口添加Word2Vec 訓(xùn)練詞向量模型。本文使用文本聚類方法K
均值(K
-Means)聚類算法獲得詞向量的聚類結(jié)果,使用輪廓系數(shù)評價聚類質(zhì)量。在獲得每個單詞的詞向量后,繪制上一步收集到的特征詞的向量表示。在使用K
-Means進(jìn)行聚類分析時,首先初始化K
個質(zhì)心,計(jì)算屬于數(shù)據(jù)集的每個待算數(shù)據(jù)與K
個質(zhì)心之間的歐氏距離,找出最小值,將數(shù)據(jù)添加到相應(yīng)的簇類中。然后,計(jì)算聚類集之間的均方誤差,并對聚類類中每個向量與質(zhì)心之間的距離進(jìn)行累加。通過不斷調(diào)整K
值和迭代次數(shù),最終發(fā)現(xiàn)當(dāng)K
=5 時,均方誤差達(dá)到最小值 0.334 7,輪廓系數(shù)達(dá)到最大值0.796 8(圖4)。圖4 K-Means聚類結(jié)果Fig.4 K-Means clustering result
綜上所述,結(jié)合文本聚類技術(shù)和電子商務(wù)點(diǎn)評系統(tǒng)的相關(guān)研究和一級分類因素得到二級分類因素,其中:學(xué)習(xí)分類下包括教學(xué)、做題、問題、搜題;影視分類下包括視頻、音質(zhì)、娛樂;交互分類下包括語音、對話、聊天、回答、陪伴;用戶體驗(yàn)分類下包括顏色、手感、尺寸、外形;價格分類下包括便宜、性價比。共計(jì)一類分類因素5 個,二類分級因素18 個。
構(gòu)建情感分析模型是情感分析里的核心任務(wù)。本文基于傳統(tǒng)方法和深度學(xué)習(xí)模型相結(jié)合的思想提出了如下方法進(jìn)行情感分類:將Python 的文本數(shù)據(jù)庫SnowNLP、傳統(tǒng)情感詞典和Bi-LSTM 共同作為情感評分模型的參考維度,通過合理設(shè)置各部分參數(shù)比重最終得到用戶的整體情感得分和各種影響因素的個人得分,并標(biāo)準(zhǔn)化為概率值作為預(yù)測結(jié)果。通過預(yù)測結(jié)果和真實(shí)值的比較,可以反映模型預(yù)測的精準(zhǔn)度。
在計(jì)算每個評論的情感評分時,首先要完成文本分類。目前常用的情感分類方法有機(jī)器學(xué)習(xí)中的分類算法(如支持向量機(jī)和樸素貝葉斯)和深度學(xué)習(xí)中的分類算法。
機(jī)器學(xué)習(xí)的方法主要用有監(jiān)督的(需要人工標(biāo)注類別)機(jī)器學(xué)習(xí)方法來對文本進(jìn)行分類。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一種基于時序邏輯的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),因此適合處理諸如天氣預(yù)測、人類自然語言語義預(yù)測等關(guān)注前后事件發(fā)生的順序及其聯(lián)系的任務(wù)。RNN 的基本結(jié)構(gòu)如圖5 所示。
圖5 RNN結(jié)構(gòu)Fig.5 Structure of RNN
如圖5 所示,拆分的RNN 結(jié)構(gòu)由初始狀態(tài)h
、輸入時間序列x
和輸出時間序列h
組成,對于每一個RNN 的單元細(xì)胞都具有相同的隱層結(jié)構(gòu),根據(jù)任務(wù)需求可以增減每個細(xì)胞內(nèi)隱層的層數(shù)。每一輪生成的更新狀態(tài)h
在輸出的同時還參與到下一組的運(yùn)算當(dāng)中,和輸入序列x
共同作為輸入?yún)?shù)進(jìn)入細(xì)胞內(nèi)的隱層迭代運(yùn)算。RNN 雖然可以一定程度上處理句內(nèi)前后文之間的聯(lián)系,但是在反向傳播訓(xùn)練時,如果維度過大、參數(shù)過度會出現(xiàn)梯度彌散的問題。LSTM 是RNN 的一種改進(jìn)版本,主要用來解決RNN 梯度消失和梯度爆炸的問題。Bi-LSTM 是前向LSTM 和反向LSTM 的組合。
如圖6 所示,LSTM 的一個環(huán)節(jié)中包括t
時刻的輸入數(shù)據(jù)x
、細(xì)胞狀態(tài)C
、隱層狀態(tài)h
、遺忘門f
、記憶門i
、輸出門o
。圖6 LSTM結(jié)構(gòu)Fig.6 Structure of LSTM
LSTM 的具體計(jì)算流程如下:傳遞遺忘細(xì)胞狀態(tài)下的部分信息,并記住新的信息,在隨后的時刻計(jì)算有用數(shù)據(jù)時使用這些信息。無效信息被丟棄的同時,輸出每個時間步的隱藏層狀態(tài)h
,其中忘記步驟、記憶步驟和輸出步驟被遺忘門f
、記憶門i
和輸出門o
以及前一時刻的隱層狀態(tài)h
和當(dāng)前輸入間的x
共同控制計(jì)算。在一些分析情況下,預(yù)測可能需要由前一個輸入和后一個輸入來確定,后者將更準(zhǔn)確;因此,雙向RNN 被提出,其網(wǎng)絡(luò)結(jié)構(gòu)主要包括四個層次:詞向量層、前向傳播層、反向傳播層和連接層。在分析時,首先將句子分詞,然后經(jīng)過詞映射層將單詞轉(zhuǎn)化為詞向量并傳入前向LSTM 層,而前向?qū)雍头聪驅(qū)优c輸出層相連。前向?qū)訌臅r間1 到時間t
進(jìn)行正向計(jì)算,每次得到并保存隱含層的輸出。反向?qū)友貢r間t
到時間1 進(jìn)行反向計(jì)算,獲取并保存反向隱含層每時每刻的輸出。最后,將每一時刻前向?qū)雍秃笙驅(qū)訉?yīng)時刻的輸出結(jié)果相結(jié)合,得到每一時刻的最終輸出。就文本分類任務(wù)來說,學(xué)術(shù)界普遍認(rèn)為改進(jìn)的LSTM 或Bi-LSTM 相較于早期版本的RNN 有著更好的分類效果;然而,即便使用標(biāo)準(zhǔn)的Bi-LSTM,因?yàn)槟P蜕疃扔邢?,所以在處理一下語義關(guān)系比較復(fù)雜、前后文關(guān)系比較強(qiáng)的文本時分類的精準(zhǔn)度仍然有待提高。
近年來,隨著諸如VGG(Visual Geometry Group)、InceptionNet和ResNet等層數(shù)很多的神經(jīng)網(wǎng)絡(luò)架構(gòu)被提出,增加神經(jīng)網(wǎng)絡(luò)的深度來提高學(xué)習(xí)模型的性能的猜想得以證實(shí)。由于能夠?qū)W習(xí)到更好的特征表示,對于語言建模任務(wù),應(yīng)用深層架構(gòu)從理論上來說具有可行性。其中,一種較為流行的做法是使用堆疊的LSTM 模型,但是相較于DAN(Deep Averaging Network)這一類層數(shù)較淺的模型,堆疊模型很容易遇到“退化”問題。
此時,無論是增加隱層層數(shù)還是疊加LSTM 數(shù)量都無法有效地提高預(yù)測的精確度,模型也趨于飽和。由此可見,模型的優(yōu)化難度和堆疊的層數(shù)是正相關(guān)的?;诖?,本文將構(gòu)造一種基于殘差網(wǎng)絡(luò)和堆疊的LSTM 結(jié)合的神經(jīng)網(wǎng)絡(luò)預(yù)測給定文本的情感類別,將每個LSTM 層中引入殘差連接塊解決退化問題。
如圖7 所示,n
個模型層的隱層狀態(tài)h
和每一輪的輸入向量x
相加,通過殘差連接進(jìn)行學(xué)習(xí),隱層狀態(tài)h
的更新公式如式(2)所示:圖7 殘差連接的Bi-LSTM單元Fig.7 Bi-LSTM units with residual connection
圖8 堆疊殘差的Bi-LSTMFig.8 Stacked residual Bi-LSTM
如圖8 所示,該模型為一個8 層的堆疊殘差Bi-LSTM 結(jié)構(gòu),每兩個堆疊層后連接一個殘差層。對于每個殘差連接的矩陣加法無需學(xué)習(xí)參數(shù),從而避免模型復(fù)雜度的增加。同時由于LSTM 是以結(jié)果偏置的模型,因此句尾單詞相較于句首有更高的影響程度,然而這一點(diǎn)對于文本預(yù)測而言是不利因素,因?yàn)樽匀徽Z言中,關(guān)鍵詞的出現(xiàn)位置不具有固定規(guī)律?;诖?,該模型使用平均池化層學(xué)習(xí)文本向量,從而使得每個單詞對于預(yù)測結(jié)果具有同等程度的貢獻(xiàn)。最后,使用Sigmoid 激活函數(shù)輸出二分類的預(yù)測結(jié)果。
市場上一些收費(fèi)的自然語言處理(Natural Language Processing,NLP)功能集成平臺雖然具備一定的泛化能力,也能處理多個互聯(lián)網(wǎng)領(lǐng)域(餐飲、汽車)的情感極性分析工作,但是對于短文本的教育類產(chǎn)品評價的分類效果較差,本文將結(jié)合深度學(xué)習(xí)和機(jī)器學(xué)習(xí)類庫、情感詞典的方法構(gòu)建基于情感詞典和堆疊殘差的Bi-LSTM 的情感分析模型。具體的構(gòu)造思想是:根據(jù)預(yù)處理后的數(shù)據(jù)建設(shè)程度副詞詞典、否定詞詞典、機(jī)器人產(chǎn)品用戶評論詞典,SnowNLP 情感詞典計(jì)算基本情緒分值,結(jié)合Bi-LSTM 模型,將Softmax 激活函數(shù)輸出極性是0(消極)或1(積極)的概率,將概率轉(zhuǎn)化為極性對應(yīng)的得分,與基本得分共同計(jì)算得到最終的情感得分;然后再通過標(biāo)準(zhǔn)化算法,輸出為0~1 的數(shù)值,當(dāng)數(shù)值大于0.5 時認(rèn)為是積極情感,當(dāng)數(shù)值小于0.5 時認(rèn)為是消極情感,從而完成情感分類工作。
2.2.1 詞典結(jié)構(gòu)
1)程度副詞詞典。本文根據(jù)知網(wǎng)程度水平詞構(gòu)建程度副詞詞匯庫,并根據(jù)極值(權(quán)重2)、高值(權(quán)重1.75)、中值(權(quán)重1.5)和低值(權(quán)重1.25)分別賦予權(quán)重,計(jì)算情感得分,以上權(quán)重皆基于程度副詞詞典構(gòu)造一般經(jīng)驗(yàn)賦值。
2)否定詞詞典。本文收集了80 個負(fù)面詞匯作為負(fù)詞詞典的組成部分,權(quán)重設(shè)為-1。當(dāng)否定詞在句子中出現(xiàn)的次數(shù)為奇數(shù)時,表示否定意義;當(dāng)一個否定詞在句子中出現(xiàn)的次數(shù)是偶數(shù)時,表示肯定意義。
3)教育機(jī)器人情感詞典。本文構(gòu)造的評論情感詞典充分考慮了當(dāng)代電商平臺用戶在各種電子商務(wù)平臺和論壇上的公眾言論和用戶習(xí)慣,并結(jié)合了互聯(lián)網(wǎng)上的各種流行詞匯,這使得情感詞典具有及時性和全面性。本文在臺灣大學(xué)NTUSD 簡體中文情感詞典的基礎(chǔ)上根據(jù)5 個分類標(biāo)準(zhǔn)和332個對應(yīng)于學(xué)習(xí)、影視、交互、用戶體驗(yàn)和價格方面的常見情感詞,通過刪除多余情感詞、增加適用情感詞構(gòu)造了教育機(jī)器人評論情感詞典(見表1)。
表1 教育機(jī)器人補(bǔ)充情感詞典Tab 1 Educational robot supplementary sentiment lexicon
2.2.2 情感得分計(jì)算
基于情感辭典的情感得分計(jì)算:當(dāng)每次要分析的單詞與機(jī)器人評論詞典中的積極情感單詞匹配時得分+1 分;當(dāng)與機(jī)器人評論情感詞典中的負(fù)面情感詞匯匹配時-1 分。從語句的第一個單詞開始遍歷,如果單詞前面存在一個程度副詞,則用程度副詞權(quán)重乘以單詞分?jǐn)?shù)。如果在程度副詞之前仍然有否定詞,則將否定詞的權(quán)重、程度副詞的權(quán)重和詞的分?jǐn)?shù)相乘。遍歷整個評論直到?jīng)]有情感詞出現(xiàn),累加每個部分的分?jǐn)?shù)得到機(jī)器人評論情感詞典計(jì)算的總分?;谏疃葘W(xué)習(xí)的情感得分計(jì)算:Bi-LSTM 是一種深度學(xué)習(xí)模型,用于預(yù)測文本極性值的概率。
模型中隱層的Softmax 激活函數(shù)可以輸出判別結(jié)果的概率p
,1-p
得到相反結(jié)果的概率值。Bi-LSTM 可以通過學(xué)習(xí)大量的文本特征來反映句子中單詞和單詞之間的關(guān)系,因此,通過判斷一個句子是積極的還是消極的概率,可以從側(cè)面反映出句意是積極(消極)的程度,這種抽象意義上的度量可以量化為情感得分。在本文中,從激活函數(shù)輸出的概率值被轉(zhuǎn)換為情感得分:以判斷一處句意為積極的語意為例,當(dāng)輸出概率在[0.8,1]時,情感得分+2 分;當(dāng)輸出概率在[0.5,0.8)時,情感得分+1 分;當(dāng)輸出概率在[0.2,0.5)時,情感得分-1分;當(dāng)輸出概率在[0,0.2)時,情感得分-2 分。在計(jì)算出情感辭典和Bi-LSTM 對文本的得分計(jì)算之后,再使用SnowNLP 進(jìn)行得分計(jì)算。SnowNLP 情感得分的計(jì)算方法是將句子的情感程度轉(zhuǎn)化為[0,1]的情感得分。在得到基于教育機(jī)器人評論情感詞典、SnowNLP 和Bi-LSTM 的情感得分后,可以計(jì)算總分并將其標(biāo)準(zhǔn)化到[0,1]。以評論“東西然貴,但非常智能,物流神速,視頻無比清晰”為例,從機(jī)器人評論情感詞匯中可以看出,“貴”是負(fù)面情感詞,“智能”“神速”“清晰”是正面情感詞,“非常”“無比”是極端程度副詞,基于機(jī)器人評論情感詞匯的得到分?jǐn)?shù)S1(+4);分析Bi-LSTM輸出的結(jié)果為0.73,屬于范圍(0.5,0.8],因此得分S2(+1);基于SnowNLP 計(jì)算的整句情感得分為S3(+0.89)。最后,將總分標(biāo)準(zhǔn)化為[0,1]上的概率值,完成一次情感評分,并根據(jù)評分判定評論的情感極性(得分大于或等于0.5 判定為積極,得分小于0.5 判定為消極)。
根據(jù)圖9 示例語句,經(jīng)過本文構(gòu)造的補(bǔ)充機(jī)器人情感詞典后根據(jù)分值權(quán)重計(jì)算出了初步得分4 分,經(jīng)過堆疊殘差的Bi-LSTM 模型后獲得情感得分1 分,經(jīng)過SnowNLP 后獲得0.89 分的情感加分,最終得分5.89 分,經(jīng)過標(biāo)準(zhǔn)化后得到0.83 分,根據(jù)判斷規(guī)則該語句情感傾向?yàn)榉e極。
圖9 情感得分計(jì)算Fig.9 Sentiment score calculation
在這個過程中,三個部分的情感得分計(jì)算是可以同步進(jìn)行的,因?yàn)樗鼈儽舜瞬⒉恍枰渌糠值牡梅只蛘呓Y(jié)算數(shù)據(jù)作為自身計(jì)算時的參數(shù),所以并不強(qiáng)調(diào)先后順序上的差別。
在本文實(shí)驗(yàn)環(huán)境下,對于該情感得分計(jì)算模型而言,在情感傾向極為強(qiáng)烈時情感詞典的得分占比較大,而在情感傾向不太強(qiáng)烈時深度學(xué)習(xí)模型的得分占比較大。而總分計(jì)算和標(biāo)準(zhǔn)化的過程必須置于情感得分計(jì)算模型中的三個計(jì)算步驟之后。
在實(shí)驗(yàn)階段,本文使用經(jīng)過清洗的數(shù)據(jù)集中48 000 條評論作為訓(xùn)練集在數(shù)據(jù)預(yù)處理后進(jìn)行模型訓(xùn)練,訓(xùn)練的模型包括兩種分類模式(機(jī)器學(xué)習(xí)和深度學(xué)習(xí)),其中機(jī)器學(xué)習(xí)分類模式分為兩種特征提取方法(基于單詞的特征提取方法和基于雙詞的特征提取方法),共7 種分類算法;深度學(xué)習(xí)包括6種既有分類算法以及本文構(gòu)建的基于堆疊殘差的Bi-LSTM和情感詞典的分類模型。在訓(xùn)練集結(jié)束訓(xùn)練后,對于訓(xùn)練好的分類模型再使用帶有積極的標(biāo)簽和消極的標(biāo)簽的12 000 條評論作為測試集,用以測試不同的分類算法在各個二級分類下的準(zhǔn)確率,最后,將各個二級分類目錄下的分類準(zhǔn)確率累加求均值,得到一類分類目錄下的分類準(zhǔn)確率,選擇分類準(zhǔn)確率最高的方案。
在將該套方案存為備選之后,后續(xù)過程中如果更新、拓展數(shù)據(jù)集(該模型分類的準(zhǔn)確率依賴于數(shù)據(jù)集的狀態(tài),過時的數(shù)據(jù)集學(xué)習(xí)出的分類模型將損失很多準(zhǔn)確率),會產(chǎn)生新的分類模型,分類準(zhǔn)確率可能也會因此而改變,因此需要適時更新分類方案。
其中,在與其他機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型進(jìn)行分類性能對比時,本文選取了機(jī)器學(xué)機(jī)器學(xué)習(xí)模型算法包括伯努利樸素貝葉斯(BernouliNB)分類器、多項(xiàng)式樸素貝葉斯(MultinomialNB)分類器、線性回歸(Linear Regression,LR)、支持向量機(jī)(Support Vector Machine,SVM)、線性支持向量機(jī)(Linear SVM,LinearSVM)、核支持向量機(jī)(Nuclear SVM,NuSVM)。測試的分類維度分為500、1 000、1 500、2 000、2 500 和3 000;深度學(xué)習(xí)模型包括LSTM、深層循環(huán)神經(jīng)網(wǎng)絡(luò)(Deep Recurrent Neural Network,DRNN),雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bi-directional Recurrent Neural Network,BiRNN),RNN,BERT(Bidirectional Encoder Representation from Transformers),Elmo(Embeddings from Language models)。以上模型均為機(jī)器學(xué)習(xí)、深度學(xué)習(xí)領(lǐng)域進(jìn)行NLP 尤其文本分類任務(wù)較為常用的模型。除此以上模型外,也可以使用其他的分類模型進(jìn)行對比。
根據(jù)上述構(gòu)建的影響因素規(guī)則和情緒評分系統(tǒng),得到教育機(jī)器人每條評論的情感得分,再結(jié)合各影響因素的整體情感評分和情感極性,計(jì)算各二級、一級分類下評論的情感得分均值,判定不同二級、一級分類整體的情感極性。如表2所示,在一級因素中,“交互”的情感極性最傾向于負(fù)面,而對應(yīng)的二級因素中大部分的品牌在“語音”“對話”“聊天”中得到的分?jǐn)?shù)較低,低于0.5 的得分也對應(yīng)了判定為“消極”的預(yù)測結(jié)果,而“影視”對應(yīng)的評論中積極情感占據(jù)主導(dǎo)。從表2中可以得到以下推論:智能教育機(jī)器人在當(dāng)前階段更多地承擔(dān)起一個影音、娛樂、學(xué)習(xí)、陪伴性質(zhì)的工具,而在交互方面很難達(dá)到較高層次的“智能”。因此,一些AI 機(jī)器人和傳統(tǒng)的MP4 等影音播放器的邊界較為模糊,這一方面受限于現(xiàn)有人工智能技術(shù)的應(yīng)用能力,一方面也和產(chǎn)品的價位有關(guān)。然而,雖然多數(shù)產(chǎn)品在“交互”分類下的“語音”“對話”“聊天”等二級分類的表現(xiàn)不佳,但是普遍在“陪伴”分類中獲得了較高的分?jǐn)?shù),這表明對于幼兒、兒童來說,即便是提供了傳統(tǒng)的影音娛樂功能的機(jī)器仍然能一定程度上滿足用戶的心理需求。
表2 各個維度情感得分及極性判別Tab 2 Sentiment score of each dimension and polarity discrimination
在搭配了一些網(wǎng)絡(luò)教育資源和較為成熟的教育系統(tǒng)后,很多AI 機(jī)器人也能滿足低年級學(xué)生的學(xué)習(xí)需求。對于一些價格較高、搭配了較強(qiáng)的人工智能技術(shù)的早教機(jī)器人,在“性價比”一項(xiàng)上得分較低,這從側(cè)面反映了許多用戶在對于該類高端產(chǎn)品時仍然保持觀望態(tài)度。在獲得了構(gòu)建的模型的分類情況后,可以將預(yù)測結(jié)果與人工標(biāo)注的真實(shí)值從不同維度做誤差分析,本文用精確率、召回率、準(zhǔn)確率和F1 值來綜合衡量不同算法的性能表現(xiàn)。
對比分析環(huán)節(jié)將詳細(xì)對比本文模型和其他模型在訓(xùn)練集上的準(zhǔn)確表現(xiàn)。為對應(yīng)1.2.2 節(jié)中的二級目錄,分為一級因素和二級因素分別測試每個目錄下的分類準(zhǔn)確率情況。訓(xùn)練集情況和訓(xùn)練后基于本文構(gòu)建的復(fù)合文本分析模型在驗(yàn)證集上的準(zhǔn)確率結(jié)果以及所屬關(guān)鍵詞的評論數(shù)目情況如表3 所示。
表3 基于情感詞典和堆疊殘差的Bi-LSTM的模型準(zhǔn)確率Tab 3 Accuracy of sentiment lexicon and stack residual Bi-LSTM based model
從表3 中簡單計(jì)算可知:該模型對于積極感情的整體預(yù)測準(zhǔn)確率約為0.883,對消極情感的整體預(yù)測準(zhǔn)確率約為0.874,整體準(zhǔn)確率約為0.879。對于積極情感的預(yù)測準(zhǔn)確率高于消極情感,其中:在“價格”方面預(yù)測的整體準(zhǔn)確率最高,約0.910;在“交互”方面預(yù)測的整體準(zhǔn)確率最低,約0.858?;仡檾?shù)據(jù)集,這和用戶在交互領(lǐng)域評論更趨向于使用反語、諷刺語、俗語、比喻等較難為機(jī)器理解的修辭手法和文法、語法有關(guān),而在價格領(lǐng)域的評論較為直白,基本情感詞典都能做到覆蓋。
接下來使用機(jī)器學(xué)習(xí)的7 種分類算法分兩種特征提取方法計(jì)算多個維度下的準(zhǔn)確率,結(jié)果如圖10 所示。對比以所有詞為特征提取方法的機(jī)器學(xué)習(xí)領(lǐng)域的分類算法和以所有雙詞搭配為特征選取方法結(jié)果的機(jī)器學(xué)習(xí)領(lǐng)域的分類算法可以發(fā)現(xiàn),雖然準(zhǔn)確率隨著分類維度的上升有所提高,但是普遍處于0.8 的分類準(zhǔn)確率之下,其中:BernoulliNB 算法在所有維度始終低于0.8;NuSVM 算法的表現(xiàn)最好,整體的情感分類準(zhǔn)確率維持在0.836 和0.840。
圖10 2種特征方法下提取的分類精度Fig.10 Classification accuracy extracted by two feature methods
接下來,使用幾類深度學(xué)習(xí)模型在訓(xùn)練集上進(jìn)行訓(xùn)練,并通過驗(yàn)證集計(jì)算分類算法的精確率、召回率、準(zhǔn)確率和F1分?jǐn)?shù)。為方便對比,將本文模型和其他深度學(xué)習(xí)模型并列。
觀察圖11,本文模型在四項(xiàng)標(biāo)準(zhǔn)上均獲得最高值,其次BERT 在各項(xiàng)分類指標(biāo)上的數(shù)據(jù)表現(xiàn)最好,準(zhǔn)確率達(dá)到0.859,LSTM 的整體準(zhǔn)確率約為0.834。說明基于情感詞典和堆疊殘差的Bi-LSTM 模型在預(yù)測結(jié)果為積極情感的樣本空間中的成功率較高;而RNN 的整體表現(xiàn)較差,這可能是因?yàn)镽NN 存在梯度消失和梯度爆炸問題。雖然基于本文模型取得最高的準(zhǔn)確率,但是在“交互”領(lǐng)域的分析效果仍不夠理想。經(jīng)分析推測原因如下:1)在該領(lǐng)域下存在較多的學(xué)術(shù)專業(yè)詞匯,它們應(yīng)該比普通詞匯享有更高的情感權(quán)重;2)一些專業(yè)術(shù)語詞匯由較長的英文單詞或者英文和中文單詞的組合構(gòu)成,這些詞組可能被正則表達(dá)式和停詞表過濾掉了詞組中的一部分,導(dǎo)致分詞不完整、語義破碎的情況,從而影響了最終的準(zhǔn)確率。縱觀所有分類算法,對于正標(biāo)簽的分類效果普遍稍高于負(fù)標(biāo)簽、精確率普遍稍高于召回率,這說明負(fù)面情感的評論對情感詞典的覆蓋率以及模型的分析能力有著更高的要求,這可能是因?yàn)樨?fù)面評論中有著更多的諷刺語、反語和借助特殊形式的表達(dá)。
圖11 深度學(xué)習(xí)模型分類結(jié)果Fig.11 Classification results of deep learning models
本文模型相較于其他機(jī)器學(xué)習(xí)、深度學(xué)習(xí)模型分類性能評估更好的原因主要在于克服了分類問題在兩方面的不足:1)對特定領(lǐng)域的專業(yè)詞匯的解讀能力的不足。通過定性分析,結(jié)合二級分類目錄的設(shè)置,補(bǔ)充了AI 教育機(jī)器人領(lǐng)域情感詞匯,從而提高了對于特定詞匯的分類準(zhǔn)確率。2)堆疊LSTM 時模型精度上限的不足。通過在堆疊的LSTM 中加入殘差連接,有效避免了高層數(shù)模型存在的網(wǎng)絡(luò)“退化”問題,從而提高了通過增加模型深度從而實(shí)現(xiàn)性能提升的上限。
本文雖然是針對于“AI 教育機(jī)器人”的評論建立的分析模型,但整套分析邏輯對于其他各類型評論類型的短文本情感分類工作都具有一定的重構(gòu)意義,通過上文分析可以論證:將針對某個領(lǐng)域而編纂的情感詞典和深度學(xué)習(xí)模型相結(jié)合,可以提高分析模型的準(zhǔn)確率;而針對某個領(lǐng)域的情感詞典可以在一套標(biāo)準(zhǔn)化的情感詞典上根據(jù)該領(lǐng)域的特定情況而調(diào)整詞典的范圍,添加對于分析工作有價值的詞匯,減少對分析工作有誤導(dǎo)的詞匯。本文實(shí)驗(yàn)的限制主要在于:1)數(shù)據(jù)集僅限于國內(nèi)電子商務(wù)平臺,對海外用戶的分析仍然稀缺;2)Bi-LSTM 模型在處理帶有多個負(fù)面單詞的句子時表現(xiàn)不佳。增加注意機(jī)制將使模型的擬合度更高。此外,隨著時代的發(fā)展,情感詞典需要不斷更新和修改,特別是對于像中文這類結(jié)構(gòu)較為復(fù)雜的語言,建立詞典的工作量相對龐大。