郭 慧,柳 林,劉 曉,程 鵬
(山東科技大學測繪科學與工程學院,山東 青島 266590)
如今的餐飲越來越離不開網絡,在篩選商家時歷史評價起到至關重要的作用。傳統的美食推薦算法只是基于用戶的地理位置、歷史消費及瀏覽記錄,未充分利用用戶的反饋數據。本研究利用情感分析技術將海量的評價數據作為個性化推薦的依據。情感分析(sentiment analysis,SA)是通過用戶對產品的評價,判斷用戶情感態度的分類過程[1],主要包括語義方法與機器學習方法[2]。利用機器學習進行情感分析的結果更精準,有廣闊的研究空間[3]。最早,Pang等[4]作了初步探索,此后,Mikolov等[5-6]系統性提出word2vec框架,Socher等[7-8]提出利用循環神經網絡進行情感分析。基于前人的研究,本文將重點討論利用優化循環神經網絡對美食評價數據進行情感分析與推薦算法的實現。
循環神經網絡是一種對序列數據建模的網絡[9],其結構如圖1所示。

圖1 循環神經網絡結構

a〈n〉=g1(Waaa〈n-1〉+WaxX〈n〉+ba)
(1)
(2)
式中,g1為tanh或Rell激勵函數;g2為sigmoid激勵函數;ba、by為偏重值。
不同用戶評價時采用的屬性詞不同,為避免龐大的計算量[10],本研究提出一種屬性聚類的方法。首先,根據評價主題,建立n個母類屬性W母類={W1,…,Wn},然后識別評價中的屬性詞w={w1,…,wm}(n similarity(W母類,w)= (3) 計算結果越大表示此屬性詞與該母類屬性的含義越相似。不同于傳統PMI計算表達式,本公式經試驗調試引入參數,增大共現概率的準入口徑以提高特定主題評價信息的權重。 傳統利用循環神經網絡進行情感分析的方法僅僅是多對一的RNN結構,不利于捕捉用戶對店鋪不同屬性的情感態度。因此,本研究提出一種基于聚類屬性加權輸出的循環神經網絡(RNN-multiple attribute clustering weighting output,RNN-MACWO)模型,如圖2所示。 圖2 多重屬性聚類加權輸出的循環神經網絡結構 對第一個屬性“味道”的態度詞進行情感分析后,得到第一部分的分析結果,然后參數重置,分析下一個屬性的情感得分,最終將每一個屬性得分按照注意力機制分配得出該條評價總體的情感態度。 為了符合情感表達的一般特點,對評價內容的分析需要有所側重,因此,引入注意力機制,提高特定詞句的注意力參數,參數計算公式為 (4) 本模型的情感分類器采用多分類模型,訓練分類器時選用Softmax函數[11],將交叉熵作為損失函數,L2函數作正則化(如式(5)所示),利用反向傳播進行參數的修正[12]。 (5) 為了利用RNN-MACWO模型更高效地分析海量評價信息,建立商鋪數據庫,該數據庫包含屬性、好評、中評、差評4個字段,屬性字段中包括環境、味道等屬性詞,在好、中、差評價中分別添加與更新店鋪的名稱。 每位用戶對店鋪的關注點和挑剔度不同,而這些信息往往體現在其評價中,基于這兩個特征聚類相似用戶并建立數據庫,使之作為推薦商家的依據,具有更強的匹配度與個性化。 (6) 式中,j為店鋪;i為用戶,分別設定0、1、2為低、中、高挑剔度的標簽。將每位用戶的關注點與其挑剔度映射到某一空間,采用余弦相似度計算公式(如式(7)所示)對用戶進行相似聚類并為每位用戶建立數據庫,包含用戶名、關注點、挑剔度、相似用戶4個字段。 (7) (8) 本文利用GooSeeker數據爬取工具得到美團軟件中2016—2018年80家店鋪的美食評價數據,總計3萬條。數據涵蓋:店鋪名稱、人均消費、評價用戶、評價時間、評價內容與星級評分。綜合用戶的評價與評分,人工為評價的情感態度建立標簽,然后引用jieba分詞工具對數據進行分詞操作后刪除停用詞,再進行文本數字化[13]。 建立屬性詞庫。根據評價內容,確定10個關于美食店鋪的母類屬性詞,包含環境、味道、服務等,利用本文提出的屬性聚類方法,將評價數據中其他的屬性詞依次聚類到母類屬性詞中得到屬性詞庫。強注意力詞句庫的建立,包含否定詞、程度詞、轉折詞,將“下次再去”等這類表示高度認可的詞語納入強注意力詞庫中。 本試驗的主要流程如圖3所示。 本試驗共3萬條評價數據,將其中80%作為訓練數據,20%作為交叉驗證數據。對訓練結果評價的指標主要包括:精準率(precision)、召回率(recall)和F1-Measure[14]。 經過3項指標檢測,得到RNN-MACWO模型的測試結果,見表1。 圖3 情感分析與店鋪推薦試驗流程 標簽precisionrecallF1好評0.860760.837960.84920中評0.811540.819800.81564差評0.878640.893360.88593 為更好驗證本研究所提出模型作情感分析的質量,利用相同試驗數據分別對多層全連接神經網絡模型(multilayer fully connected neural network,MFCNN)與長短記憶神經網絡模型(long short-term memory,LSTM)作試驗對比[15],測評結果見表2、表3。 表2 MFCNN模型測試結果 表3 LSTM模型測試結果 為了更直觀地比較分析測評結果,將其可視化,如圖4、圖5、圖6所示。 由圖可知,RNN-MACWO模型相較于另外兩種模型的準確率有所提高,尤其體現在好評與差評的分類上,因為本模型結合屬性多輸出結果,并引入注意力參數,增強了模型對情感態度的敏感度,使情感特征更清晰。且本模型具有更高的召回率,因為本模型提高轉折詞與否定詞后的評價內容的權重,使模型對消極情感的捕捉更精準可靠。 圖4 3種模型的準確率對比圖 圖5 3種模型的召回率對比圖 圖6 3種模型的F1值對比圖 為驗證本文提出推薦算法的準確性,基于80%的訓練數據為其余20%的用戶做推薦,將得分排名前8的商鋪作為最終推薦商家,利用標簽中的好評商鋪驗證推薦效果。 根據標簽信息,該20%評價數據中包含2249條好評,經測算,利用推薦算法得到的推薦商鋪在好評商鋪中占比高達92%,由此可見,本推薦算法具有較高的可靠性,符合用戶對優質商鋪快速篩選的需求。 本文利用深度學習提出了一種RNN-MACWO情感分析模型。該模型挖掘出用戶潛在興趣點,利用注意力機制得到細粒度的分析結果。綜合考慮大量語料與特定主題下屬性詞的相似度,提出了一種屬性聚類算法,實現屬性詞聚類更全面準確的效果,并結合商鋪數據與用戶偏好構建推薦算法,達到個性化推薦效果,也為商家及時得到用戶反饋,提升店鋪品質創造了可能。2.2模型結構

2.3 注意力機制
2.4 模型訓練

3 基于店鋪屬性與用戶聚類推薦
3.1 建立商鋪數據庫
3.2 用戶聚類與用戶數據庫

3.3 構建推薦算法



4 試驗過程與驗證
4.1 數據預處理
4.2 建立詞庫
4.3 試驗流程
4.4 RNN-MACWO模型試驗對比分析







4.5 推薦算法試驗分析
5 結 語