張煦渤 張莉
摘要:隨著互聯網的發展和近年來中國電影的崛起,中國用戶越來越習慣于在豆瓣、貓眼一類的影評論壇或平臺上發布自己的觀影感受,并對電影進行打分。這些評論中隱藏著大量的用戶偏好等信息。而若想對這些隱含信息進行獲取,需要對影評特征進行進一步分析。基于此,本文通過Python對貓眼網站中“動漫電影”分類下面的影評及其得分等數據進行爬取,并將所得文本數據進行整理,通過jieba分詞和word2vec等方法對影評特征進行分析;之后,根據影評的主體內容,側重于其情感特征進行挖掘,將清洗過后的結構化數據帶入基于RNN的深度學習模型中,以用戶評分作為其影評情感特征的體現;然后,通過隨機游走對模型進行優化,再進行模型效用對比,得到動漫影評情感特征的預測模型,并對其應用場景予以分析。
關鍵詞:深度學習? 動漫影評? 特征挖掘
1 引言
隨著我國經濟的不斷發展和人們生活水平的日益提高,電影作為一種娛樂消費品,已成為國人生活中不可或缺的一部分,觀眾在養成觀影習慣的同時,越來越熱衷于將自己的觀影感受和想法分享到互聯網上,國內的豆瓣、貓眼等影評匯總平臺也由此越來越受人們的關注。而在眾多電影分類中,動漫電影作為電影行業中的一個重要成員,從其誕生以來,許多動漫角色深入人心,其影評中亦包含著大量潛在信息,包括電影的口碑、用戶的的觀影偏好等等。若想對這部分潛在信息進行獲取,就不得不對其影評的特征進行針對性的分析。
2 基于RNN深度學習的動漫影評特征分析
2.1 數據獲取及預處理
本文以貓眼移動端網頁版影評為數據源,選取其動漫電影分類中所有可見平均得分的電影影評為實驗對象,同時考慮了影評評論時間的篩選。
首先在Chrome開發者模式下可以通過對網絡請求的查詢獲取貓眼數據的API,其接口結構為:
在具體抓取某一部電影的影評時,只需將其中的movieId替換對對應的電影編號即可。同時,還需注意影評列表的開始時間等參數。
將獲取的json文件進行解析,即可得到對應影評的用戶ID、打分、地理位置、評論內容等有效信息。之后,將解析后的無效信息予以剔除,共計63條,有效信息214424條。
將評論按照用戶地域進行分組,通過pyecharts可視化后可得到樣本數據用戶地域分布如下圖。
從圖中不難看出,樣本用戶主要分布于東南沿海一帶和華北地區,其次是東北地區,少量位于西北內陸。這主要是因為東南沿海和華北一些地區經濟相對發達,城市人口基數龐大,極多的熒幕數量和座位、極高密度的排片場次,讓觀眾便捷觀影,活躍的觀眾評論也多,自然也就成為票房的主要貢獻者。
我們整理了樣本數據中影評數量排名前20的城市,分別為北京、上海、武漢、南京、成都、深圳、西安、廣州、天津、重慶、鄭州、杭州、沈陽、無錫、合肥、昆明、哈爾濱、常州、長沙、蘇州。這些城市都是經濟相對發達的城市,從某種角度來講,這也側面反映了城市的購買力和城市GDP,說明其消費水平較高,也印證了用戶分布圖中所得出的結論。
2.2 word2vec提取詞向量
為了在深度學習模型中更好的表示影評的文本數據,需將影評文本進行詞向量化表示,基于此本文選擇python中的gensim模塊訓練詞向量。由于所抓取的貓眼影評數據為中文影評,所以需要一個符合中文語料庫的word2vec模型,以完成對影評數據的詞向量獲取。因此,為了更好地描述影評詞語特征,本文直接選取貓眼影評作為訓練數據,采用Skip-Gram模型進行訓練。訓練參數如下表所示,訓練維度為64,迭代次數為5次。
在對抓取的影評數據進行表情符號剔除和去停用詞等操作之后,將其輸入word2vec進行訓練,得到模型測試結果如下表,由于訓練數據為影評數據,語料庫有限,所以在詞語的相似度上有一定的誤差,但就總體影評效果來看,符合影評總體語言風格。
同時,模型還生成了對應的詞向量表和對應的字典。在詞向量表中每一個詞語都是通過一個64維的行向量所表示的,而詞向量字典是后文中將影評分詞數據轉化為RNN模型可輸入數據的基礎。
2.3 基于LSTM的RNN模型搭建
通過tensorboard生成的模型結構如下圖所示,其中模型整體包括輸入層、隱層和輸出層,而在隱層中又包含了內部隱層和LSTM細胞狀態層。隱層中神經元個數為128,而LSTM細胞狀態中又含有四個子層。
其中,模型的關鍵運算過程位于LSTM_cell模塊中,其中包括了細胞狀態、RNN的內部神經元結構,以及激活函數等。
2.4 實驗結果及分析
在構建好RNN模型后,將清洗過的數據帶入模型。模型以用戶打分為預測變量,從0到10共分為十一個等級,輸入變量為用戶評論分詞轉化而來的向量矩陣,由此在經過多次迭代訓練后可以得到模型預測的準確率與成本函數。我們可以得出,隨著迭代次數的不斷增加,模型預測的平均成本逐漸減少,準確率不斷上升,約在12000次后準確率趨于穩定狀態,最終預測準確率可達93.75%,說明模型對于影評的用戶評分有著很好的預測效果。
而從模型的準確率曲線圖來看,模型在訓練的迭代前期準確率提升幅度較快,后期趨于平緩,最后逐漸穩定在90%以上水平。
2.5 基于隨機游走的改進RNN影評分析模型
由于隨機游走詞向量多用于做半監督分類模型,所以本節分別選取每種評分的500條數據作為標注數據,共計5500條標注數據,其余數據視為未標注數據。以標注數據為隨機游走圖中的已知點,對未標注的數據進行隨機游走,之后將數據帶入RNN模型中進行訓練,模型運行結果如下表。
由上表可以看出,模型的平均成本函數以及準確率的變化趨勢與上節中RNN模型是一致的;而在準確率上,在迭代前期準確率略低于隨機游走改進前RNN模型,而在趨于穩定狀態,相比于原模型,預測準確度約提高0.5%。
從上圖來看,經過隨機游走優化的RNN模型在穩定狀態略有提高,雖然隨機游走算法對于模型的預測準確率提高不顯著,這可能是由于原模型準確率已經很高,導致其提高水平不夠顯著造成的,但總體來講,本文實驗結果說明,隨機游走模型對應預測準確率的提高是有意義的。
3 結論
本文基于深度學習模型,通過對貓眼動漫影評進行數據抓取,完成了對動漫影評的自然語言處理處理和用戶評分預測。首先通過分析貓眼影評API,利用python中的requests等庫對影評數據進行爬取,再通過jieba模塊對評論進行分詞得到影評的語料庫,之后利用gensim中的word2vec模塊得到影評詞向量矩陣,在將影評數據轉換為嵌入式矩陣后,完成了對數據的預處理工作。接下來搭建基于LSTM的RNN深度學習模型,并將影評詞向量矩陣和用戶評分帶入模型,完成迭代訓練,最后得到評分預測模型。
參考文獻
[1]伍宏偉.基于隱馬爾可夫模型的交通流預測研究[D].蘭州交通大學,2019.
[2]鄭嘯,王義真,袁志祥,秦鋒.基于卷積記憶神經網絡的微博短文本情感分析[J].電子測量與儀器學報,2018,32(03):195-200.
[3]劉娜.文本自動摘要和信息抽取方法及其應用研究[D].大連海事大學,2012.