李霖 張俊坤 王燕 陳堯 鮮冰洋



摘要:文本情感分析已成為智慧旅游中一項關鍵技術。為了提升景區及酒店等旅游目的地美譽度及其相關競爭力,如何從海量的用戶評論中獲取相關數據,并從中整理出具有價值的信息,將其運用到智慧旅行的構建中,成為文旅主管部門和旅游相關企業非常重視的工作。文章基于數據挖掘技術對相關景區和酒店評論進行內在信息的挖掘與分析,研究基于雙向循環神經網絡的游客目的地印象分析算法及應用。首先,對獲得的評論數據集利用Python的Pandas庫、正則表達式進行數據預處理;其次,利用中文分詞組件jieba對數據進行分詞與停用詞過濾操作,保證模型構建的準確性;最后,通過構建中文詞向量模型擬合雙向LSTM回歸模型,分別對每個景區和酒店進行評分,采用了基于BRNN的中文情感傾向分類模型,分別對每條評論進行情感正負面分類;基于最終得出的有效評論,并且采用TF-IDF算法,分別對總得分各個層次的景點和酒店的評論進行關鍵詞提取,并保存為詞云圖,以便更加直觀地分析。闡述了基于雙向循環神經網絡的游客目的地印象分析算法過程及應用。
關鍵詞:BRNN算法;中文情感傾向分類;LSTM算法;算法應用
中圖分類號:G633 ? ? ?文獻標識碼:A
文章編號:1009-3044(2022)29-0016-05
本文所采用的數據為亞馬遜商城評論數據集——onlineshopping數據集,開源數據集總計693573條,開源數據集中情感置信度越接近1的文本為積極情感的可能性越高,置信度越接近0,文本為消極情感可能性越高。采用基于BRNN(Bidirectional Recurrent Neural Networks)模型的數據挖掘方法,在對數據集進行基本的數據預處理、中文分詞、停用詞過濾后,通過自構建中文文本情感傾向分類模型,實現對數據集文本的情感傾向判斷,提取出對智慧旅游構建的有效信息。并將建模的模型運用到實際中,對各個景區和酒店的優劣勢進行挖掘,為游客和政府部門提供數據保障[1]。
1 相關算法概念
1.1 BRNN(雙向循環神經網絡)理論
BRNN將傳統RNN的狀態神經元拆分為兩部分,一部分負責positive time direction,另一部分負責negativetime direction。由于Forward states的輸出并不會連接到Backward states的輸入,因此與傳統RNN相比,BRNN的結構提供了輸出層輸入序列中每一個點的完整的過去和未來的上下文信息,使得在任何時刻t都能獲取到所有時刻的輸入信息。BRNN的結構圖如圖1所示。
其中,s表示隱藏層的向量,o為輸出層的向量,x為輸入向量數據。U是輸入層到達隱藏層的權重矩陣,V為隱藏層到輸出數據權重矩陣,W是隱藏層上時間戳步到下一個時間戳計算 s的權重矩陣。當引入時間步 t,t在文本中就代表第t個詞或字。xt代表第t個詞(字)的詞(字)向量,st代表第t個時間步的隱藏狀態,ot代表第t個時間步的輸出向量。
1.2 LSTM簡述
LSTM(長短期記憶網絡)是一種較為特殊的RNN網絡,它能夠對相對長序列間的依賴進行學習。在LSTM算法中,每個神經元便是一個“記憶細胞”,每個細胞里都有“三重門”,分別是一個“輸入門”、一個“遺忘門”、一個“輸出門”。LSTM與一般的神經網絡的神經元相比,增加了遺忘門。其結構如下圖2所示。
它較一般的RNN結構在本質基本相同,但是使用不同的函數去計算隱藏層的狀態,如圖3所示。在LSTM中,i結構被稱為cells,可以把cells看作是黑盒,用以保存當前輸入x_t之前保存的狀態h_(i-1),這些cells決定哪些cell抑制,哪些cell興奮。它們可以結合前面的狀態、當前的記憶與當前的輸入。該結構在對長序列問題中非常有效[2]。
1.3 TF-IDF算法
TF-IDF(Term Frequency-Inverse Document Frequency)是一種用于信息檢索與數據挖掘的常用加權技術,因為其算法簡單高效的特點,常被用于最開始的文本數據清洗。TF-IDF有兩層意思,一層是“詞頻”(Term Frequency,縮寫為TF),另一層是“逆文檔頻率”(Inverse Document Frequency,縮寫為IDF)。
詞頻(TF):指的是在一份給定的文件里,某一個給定的詞語在其中出現的頻率。在對某一特定文件里的詞語ti而言,它的重要性可表示為公式(1):
(1)
其中ni,j{\displaystyle n_{i,j}}是該詞在文件{\displaystyle d_{j}}中的出現次數,而分母則是在文件dj{\displaystyle d_{j}}中所有字詞的出現次數之和。逆向文檔頻數(IDF):指的是一個詞語普遍重要性的度量。其值可由公式(2)表示:
[idfi=lgDj:ti∈dj] ? ? ? ? ? ? ? ? (2)
其中|D|:表示語料庫中的文件總數。[j:ti∈dj:]包含詞語ti的文件數目,如果詞語不在資料中,就導致分母為零。因此,一般情況下使用[1+j:ti∈dj]。然后[tfidfi,j=tfi.j×idfi],某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向于過濾常見的詞語,保留重要的詞語[3]。
2 數據預處理
2.1刪除異常值與重復值
根據觀察,原始數據集中存在少量英文評論,包含缺失值和無意義的標點符號,為了保證數據的精準性及模型的泛化能力,將少量英文評論、空值和標點符號除去。原始數據集中存在部分重復評論,這類評論是連續的、重復的主體,也是毫無意義的評論,需要進行刪除。
2.2特征提取
特征提取是深度學習的重要步驟,往往好的特征選擇能達到更高的精度。在數據預處理后,通過機器+人工的方式篩選出情感傾向較為明顯的文本作為自定義詞典部分內容。篩選后總文本量為522948行。
2.3中文分詞
在中文的句子中,詞是最小的語言單位,因此,要判斷句子的整體含義就必須將句子進行分詞操作。分詞結果是否準確對算法模型的優劣有重要影響,采用Python中jieba分詞庫,來達到分詞效果。其原理使用動態規劃查找最大概率路徑,找出基于詞頻組合的最大切分組合,jieba分詞有四種分詞模式,采用jieba.cut()精確模式對數據集進行分詞。為了節省存儲空間和提高檢索效率,在處理對情感分析任務中對沒有實際影響的功能詞和詞典詞,應予以刪除。
2.4構建中文字典
由于中文語意主要由詞語決定而不是單獨的漢字,因此需要對待訓練的中文文本進行分詞處理,并以此構建詞典。將Python字典中鍵0對應的值設為空字符串。將常用數字,英文字母直接添加至Python字典中,將分詞后的數據錄入字典,最終得到字典鍵值對261089對[4]。
3 算法模型構建
3.1構建中文詞向量
機器不能識別自然語言,只能將向量(數字數組)作為輸入數據,因此需要對文本進行向量化(將字符串轉為數字),再將其輸入模型。傳統One-hot的編碼得到的向量是二進的、稀疏的、緯度很高。為了規避以上問題,本文采用詞嵌入(word embedding)編碼方式,這種編碼較One-hot編碼相比,更加高效且密集,使得相似的詞組具有相似的編碼,且操作人員不必手動指定編碼。將特征提取后的文本保存為Python列表,對列表中的句子進行分詞,并查找詞語對應的中文詞典索引,將其保存為NumPy數組。
3.2構建文本情感傾向分類模型
根據回歸模型擬合的用戶評分,評論數據集中存在部分評分與評價內容相差較大的文本。實際用戶評價和用戶給出的評分相差過大,明顯為無相關內容,為了保證分析結果的準確性,采用雙向循環神經網絡(Bidirectional Recurrent Neural Networks)構建中文文本情感分析模型,通過模型對每一條評論進行情感分類,篩選出分類后情感傾向為負,但總評分較高的文本,判定為無效評論,并將其剔除,模型網絡結構如表1所示[5]。
經過測試發現,將BRNN模型迭代次數設置為5輪,模型即可達到最優,準確率在99.6%,模型對用戶評論情感分類具有較高精確度,能較好地對評論進行分類判斷。
3.3構建雙向LSTM算法模型
利用雙向LSTM模型,首先,對每個景區和酒店的每條評論進行打分操作。其次,根據模型擬合出的各個酒店和景區的評論各項得分之和,以此計算各項平均值,將所計算出的平均值作為酒店和景區在各個方面的最終得分,得出的各個酒店和景區的結果,部分如表2所示。
4 算法模型評估
4.1均方差(MSE)評估
根據所得出的評分,對模型按照均方差(Mean Squared Error, MSE)進行評價如圖4所示。
通過模型擬合的數值與專家的評分進行對比,得出絕大多數酒店的各項評分和專家給出的得分接近,專家的評分與實際用戶評分基本擬合,專家給出的酒店以及景區評分對用戶而言也具有實際的參考價值。
4.2情感置信度評估
采用了中文文本情感分類模型對每一條評論都進行了情感分類,并返回了0-1的情感置信度,越靠近于1的文本,其為正向情感的可能性越高,情感置信度越靠近0的文本,為負面情感的可能性越高。通過預測的每條文本的情感置信度和得分,剔除情感為負,但評分較高的評論。情感分類模型分析結果如表3所示。
從模型返回的情感置信度結合人為判斷文本的實際情感[6],如H01酒店評論:“升級了房間,延遲退房很贊”模型預測的情感置信度為0.97,接近于1為正向評論。H50酒店評論:“隔音極差,睡眠讓人崩潰”,模型預測的情感置信度為0.005,接近于0為負面情感。由此,從表3可以看出,如H50酒店評論:“隔音極差,睡眠讓人崩潰”這種為負面評論,但評分為4.6,這種評論明顯沒有意義,不具有參考價值,因此將這類評論剔除。
4 算法模型分析
采用TF-IDF算法,分別對總得分“低”“中”“高”三個層次的各3家景點和各3家酒店的所有評論進行了關鍵詞提取,并保存各自的詞云圖以便更直觀地分析。部分酒店及景區相關詞云圖如圖5所示:
由圖5可以得出,在同為總分低層次的酒店中,H38酒店的特色主要由“沙灘”“海水”“溫泉”這類詞語構成,從中可以推斷出H38酒店開設于海邊,主要面向的顧客為喜歡大海、沙灘、玩水的這一人群,又由“私人”“幽靜”這一熱度詞可知,H38酒店較為安靜,在宣傳時可用“私人沙灘”“清凈”等這類詞匯作為主要賣點,以此來吸引顧客。H48酒店特色主要由“國貿”“羅湖口岸”“老街”“服務號”詞語構成,H48酒店開設于深圳羅湖區,在市中心附近,主要面向的顧客可能為商業出差人士,可用“商業休息”“高品質服務”作為宣傳特色。
由圖6可知,這三家高評分的景區主要特色內容都不一樣。如景區A23主要特色由“蘇州園林”“嶺南”“中山”構成,景區A38主要特色為“溫泉”“陽西縣”“游泳池”。從中推斷,景區A23主要面向喜歡中式園林風格的游客,景區A38主要游客可能為陽西縣及其附近地區人群。
6 算法模型應用場景
6.1 城市交通短期客流預測
隨著城市的發展和人口的聚集,公共交通旅行問題變得越來越重要。城市交通由于其大容量、高速度和安全性等各種問題交錯已成為目前研究的熱門方向。近年來,城市交通發展迅速,但在追求大眾“優質”出行的過程中,諸如交通擁堵、交通不便等問題亟待解決。基于預測的時間范圍,客流預測可以大致分為兩類:長期預測和短期預測。長期預測通常是指預測未來時間3~10年的客流變化范圍;短期預測通常是指,進行以周為單位或月為單位的預測。長期預測和短期預測分別有諸多優點,長期預測可提高城市的科學管理水平,短缺預測能夠提高城市的線路優化和客流組織水平,從而進一步提高城市的科學管理水平。LSTM神經網絡非常適合從經驗中學習,LSTM神經網絡適合于短時間客流預測。在LSTM基礎上進行改進或者采用線性模型,同樣可以做到很好地短期預測,該預測可以為先進的客流控制和誘導方法提供證據,該方法可以防止擁塞,踐踏和其他安全事故。
6.2 彈幕情感分析
以視頻為媒介﹐觀眾可以針對視頻內容發送彈幕,用于表達自己在觀看影片或視頻后的情緒和感受,通過對彈幕內容的進一步分析,一方面可以對視頻內容進行信息挖掘,優化視頻內容。另一方面可以根據用戶的真實情感表現,能夠快速獲取網民的情感傾向,為有關部門治理網絡安全和輿情提供參考,結合中文預訓練模型和長短期記憶網絡的模型來完成彈幕文本的情感分類,可為彈幕文本分析提供較大幫助。
6.3 制定設備維護計劃
基于狀態監測數據,借助智能化的算法模型,實時評估系統健康狀況及預測設備剩余使用壽命并據此制定維護計劃。其在器械翻譯、時間序列預測等多個場景應用廣泛,針對復雜工況下的設備系統維護問題,可以結合時間序列網絡研究復雜工況下的設備健康狀況,以無監督學習的方式展開訓練,可有效提高復雜情況下設備監測數據的預測,對復雜工況下的設備數據具有很好的魯棒性。
6.4 網絡謠言分析
隨著互聯網的急速發展,網絡信息急劇增多,謠言也隨之而來,如何識別謠言也成為熱點問題之一。較早時期的謠言檢測通常利用轉發量、發布者的注冊時間等統計特征,時間序列網絡能夠使人們獲取信息以及信息檢測更加方便快捷,互聯網中存在的謠言對當前社會穩定具有較大的影響,將文本向量輸入時間序列網絡中,基于文本內容充分發掘其特征,并利用Softmax分類器進行訓練與分類,能夠更好地擬合互聯網中出現的謠言,對識別謠言具有一定意義。
7 結論
根據酒店和景區評論的特點,利用雙向LSTM算法模型以及采用開源數據集構造的中文文本情感分類模型,對其進行處理和信息挖掘,最終得到具有一定價值的結果,實現對相關景區和酒店在服務、位置、設施、衛生、性價比五個方面的評分和相關評論有效性的分析,以及相關酒店和景區的特色分析。這些分析結果對外來游客,外來投資者以及酒店公司和當地政府等都具有一定性的指導意義。酒店公司可以根據數據得出的信息,了解用戶所關注的方面,對用戶反饋較好的方面進行宣傳,對用戶反饋的問題進行改進。雙向LSTM算法模型,還可用于城市交通短期客流預測、彈幕情感分析、定制設備維護計劃、網絡謠言分析等多種應用場景。
參考文獻:
[1] 李巖.基于深度學習的短文本分析與計算方法研究[D].北京:北京科技大學,2016.
[2] Du L P,Li X G,Liu C L,et al.Chinese word segmentation based on conditional random fields with character clustering[C]//2016 International Conference on Asian Language Processing (IALP).Tainan ,China.IEEE,2016:258-261.
[3] 繆亞林,姬怡純,張順,等.CNN-BiGRU模型在中文短文本情感分析的應用[J].情報科學,2021,39(4):85-91.
[4] 邢夢來,王碩,孫洋洋.深度學習框架PyTorch快速開發與實戰[M].北京:電子工業出版社,2018.
[5] Schuster M,Paliwal K K.Bidirectional recurrent neural networks[J].IEEE Transactions on Signal Processing,1997,45(11):2673-2681.
[6] 范昊,李鵬飛.基于FastText字向量與雙向GRU循環神經網絡的短文本情感分析研究——以微博評論文本為例[J].情報科學,2021,39(4):15-22.
[7] 丁濤.基于用戶興趣建模的協同過濾推薦方法研究[D].太原:山西大學,2020.
【通聯編輯:唐一東】