徐文祥,魏紅芹
(東華大學旭日工商管理學院,上海 200051)
Web2.0下,電子商務發生了翻天覆地的變化,傳統的電子商務以企業為中心發布產品信息逐漸轉變為企業與消費者的互動,網絡購物評論作為口碑的一種新形式,指的是消費者對產品的質量和服務,通過短文本形式在網購平臺評論系統中發表的評價。根據相關調查研究,網絡購物評論對消費者的決策產生了重要的影響。而現有的電子商務只是簡單地根據商品的好評和差評數量幫助用戶進行快速決策,并沒有考慮不同用戶的情感傾向和偏好,基于此,本文在短文本觀點抽取和推薦算法相關研究進入深入分析的基礎上,通過挖掘評論信息中產品的特征和對應的用戶觀點,構建產品特征模型和用戶偏好模型,結合修正的余弦相似度計算對傳統的協同過濾算法進行改進,最終得到了融合網絡購物評論的協同過濾推薦算法。
協同過濾推薦算法可以分為基于內存(Memorybased)的方法和基于模型(Model-based)的方法[1]。其中基于內存[2]的方法根據研究對象的不同,又可以分為基于用戶的推薦(User-based)和基于項目的推薦(Item-based)兩種。基于用戶的推薦是根據用戶對項目打分等數據,計算目標用戶與其他用戶的相似度,再尋找與目標用戶最為接近的Top-k個相似用戶,對于目標用戶未曾打分的物品用相似用戶的歷史打分數據進行加權打分,最后根據物品的打分進行排序得到一個推薦結果列表給目標用戶。基于項目的協同過濾與基于用戶的協同過濾相似,不同是將最近鄰搜索從用戶整體空間轉換到項目空間上,大大地改善了傳統基于用戶算法的計算瓶頸,但是這兩者都無法解決推薦系統冷啟動問題。為了解決用戶冷啟動和項目冷啟動問題,相關學者提出了基于模型的協同過濾推薦算法,其主要思想是用基礎的協同過濾從歷史數據中訓練出一個模型,再通過訓練出來的模型進行預測。
網絡評論數據屬于非結構化的文本信息,主要由評論者、評論的對象、評論內容、評價者觀點四個部分組成。大部分的研究工作主要為產品特征提取和情感分析以及極性分析,涉及到的相關學科領域知識有信息檢索知識、自然語言的處理、機器學習等。
挖掘評論信息中用戶感興趣的產品特征分為兩種[3],一種是顯性的特征,如:“整體用著還不錯,開機速度挺快的,十幾秒。”其中“整體”、“開機速度”可以自己從評論語句中提取出來的為顯性特征;一類為隱形特征,如“機器顏色很好看,攜帶很方便,不過手部有油,留的痕跡也很明顯。”其中“顏色”指的是手機的外觀,而“攜帶很方便”討論的是手機的尺寸,但是這些特征都不能夠直接從評論語句中獲得,只能根據上下文語境進行語義分析獲取。產品的顯性特征挖掘,常用的方法有監督式和非監督式算法[4]。隱性方面的特征詞挖掘需要對評論語句進行深刻的語義理解[4]。觀點挖掘的算法主要分為:基于規則的抽取、基于統計模型提取和基于深度模型的提取方法[4]。
在結合評論挖掘的推薦方面,藍金炯[5]運用LDA模型挖掘評論主題分布,利用Rocchio算法得到了用戶的主題分布向量,改進了協同過濾推薦。那日薩[6]等運用構建產品屬性與推薦度模糊規則,實現了個性化產品推薦計算。扈中凱利用相似度傳遞技術環節了緩解了推薦系統中數據稀疏性問題。
本節主要針對網絡評論挖掘和改進的個性化推薦模型進行實驗研究,實驗思路和過程如圖1所示,首先從收集評論數據;接著對收集的評論數據進行預處理;隨后就是從評論語句中挖掘產品特征集、觀點識別、極性判斷和計算;然后對評論挖掘的結果進行分析,改進協同過濾推薦算法,構建產品特征模型和用戶偏好模型,產生推薦。

圖1 基于網絡購物評論的產品推薦框架
(1)關鍵詞過濾
網絡評論數據充滿著大量無用的垃圾信息,例如廣告、推廣等,例如評論中出現通知、公告、簡訊、快訊等詞語,可以通過建立關鍵詞過濾詞典,進行去噪。
(2)句式過濾
消費者發表的評論往往都帶有一定的感情色彩,句型一般要不為感嘆句,要不就是陳述語氣,很少有疑問句或者反問句式對商品進行評價,針對于這種情況,可以判斷如果評論語句中包含了“?”等表示疑問的標點符號,可以直接從評論集中過濾掉。
(3)冗余消除
另外,經常在購物網站中會發現有些評論是完全一模一樣,基于某中原因,有的是出自同一個評論者,或者不同的評論者,對于研究是沒有用處的,所以也可以去掉這些重復的評論,保證了評論的唯一性。
定義 1:用戶評論數據集 R={r1,r2,…,rn},r={s1,s2,…,sm},評論數據集由所有的用戶評論組成,每一條評論包含多個句子。
定義2:特征情感詞語對由<Fword,Oword,Mword,Is?Neg>表示,其中Fword表示特征指示詞語,一般為名詞或名詞詞組,Oword表示情感詞語,一般為形容詞,Mword為情感修飾詞語,一般為程度副詞,IsNeg代表否定詞,若句中含有否定詞語,則情感的極性要取反。
本文基于詞性抽取評論中的產品特征和用戶觀點,首先要對評論中的句子進行分詞和詞性標注(part of speech)。通過建立產品特征詞語庫FDict進行過濾,特征情感詞語對提取步驟如下:
步驟1:迭代每條評論r,對r分句,分句后對每條句子s分詞和標注詞性;
步驟2:抽取句子s中的名詞詞語N,如N存在于FDict中,則將 N存入 Fword中,不存在,則 Fword置為NULL;
步驟3:抽取句子s中中的形容詞ADJ,若包含一個或多個,則將 ADJ存入 Oword中,否則 Oword置為NULL;
步驟4:抽取句子中程度修飾副詞ADV,若ADV不存在,則Mword置為NULL,否則將ADV存入Mword中;
步驟 5:尋找否定詞語NEG,若存在,則IsNeg=true,否則,IsNeg=Flase;
步驟6:將抽取的結果按照<Rid,Sid,Fword,Oword,Mword,IsNeg>存放,其中Rid表示評論編號,Sid表示評論的句子編號。
本文基于HowNet情感字典構建電子產品領域的極性字典。極性判定詞典的詞性分為3類:褒義(Posi?tive)、貶義(Negative)、中性(Neutral),這 3類詞語極性的取值(Pvalue)為 positive、negative、neutral、unknown,其中Spos、Sneg和Sneu分別表示褒義詞集合,貶義詞集合和中性詞集合。unk為未登錄詞,不在這3個集合中,需要通過一定的方法進行判斷。本文計算未登錄詞的極性采用SO-PMI算法。
PMI(Pointwise Mutual Information),中文全稱點互信息,常用于機器學習領域,是計算兩個事物之間的相關性,計算公式(1)如下:

如果x與y不相關,則上式為零,若x與y相關性越大,則上式就越大。
本文通過建立極性詞典,通過信息檢索的方式,分別求出未登錄詞與極性詞典里面的正向詞和負向詞的PMI,若正向的PMI值大,則未登錄詞判定為正向,否則判定為負向。SO-PMI計算公式(2)如下:

如果 SO(unk)為正,則極性為 Positive,否則,極性為Negative
極性強度strength(w)計算公式如公式(5)所示。

公式(3)中V表示情感詞語原始極性,公式(4)中L1,L2,L3,L4,L5,L6分別代表 HowNet中程度修飾副詞不同的六個等級。
傳統的協同過濾推薦算法只考慮到了用戶評分之間的相似性,本文通過抽取用戶在產品特征層面的興趣偏好,通過用戶偏好來修正基于用戶的協同過濾推薦算法。
定義:用戶的關注偏好可以用向量來表示Pij={pij1,pij2,…,pijk},其中 pijk表示用戶i對產品j的第K個特征的偏好程度。對于用戶共同評價的項目可以用用戶-產品特征矩陣如圖2所示:

圖2 用戶-產品特征矩陣
傳統的余弦相似度計算,不能反映出不同的用戶對不同的產品的主觀評價尺度,往往會導致沒有相同的興趣愛好的用戶錯誤的聚類在一起,產生了不相關的推薦,為了克服不同用戶主觀差異帶來的問題,本文在原來相似度的基礎上,減去原來用戶對所有項目的平均得分作為用戶對產品的新評分,其改進的余弦相似度計算公式如下所示,其中-Ra和-Rb表示用戶a和用戶b對產品的所有屬性的平均得分。

在協同過濾推薦算法中,通過K個最近鄰用戶預測目標用戶對未評分的項目進行評分預測。

其中Puif表示用戶u對產品i的第j個特征的預測評分,U表示K個相似用戶集合,表示K個相似用戶的平均評分。Sim(u,m)表示用戶u和用戶m的相似度。
根據上式對目標用戶未評分的項目進行預測評分,再與用戶的實際評分進行比較,最后可以得出該模型的精確,并將評分按照從大到小進行排序,產生推薦結果。
本文數據來自于京東電子商務平臺的手機評論數據,通過運用網頁采集技術,一共爬取了100款手機共300,000評論數據。通過建立手機特征詞語庫和手機領域極性詞典,經過數據清洗,一共提取了564個用戶對57款手機的12,148條評論。
實驗采用交叉驗證,隨機提取75%的數據作為訓練集TrainSet,剩下的作為測試集TestSet,驗證模型的精確度。
推薦算法的評價公式一般驗證采用平均絕對誤差,其公式(8)如下所示:

其中Ra表示用戶的實際評分,pa表示預測得分。
通過設定不同的相似用戶的數量,比較本文算法同傳統協同過濾算法的MAE比較。結果如圖3所示。從圖中可以,橫坐標為相似用戶選取數量,取值從15-30,縱坐標表示MAE值,系列1表示本文改進的協同過濾算法,系列2表示傳統的協同過濾算法,結果表明,本文的算法評分預測精確度要高于傳統的協同過濾推薦算法。

圖3 本文算法與傳統協同過濾算法MAE比較
本文提出了融合網絡購物評論的協同過濾推薦算法,通過對挖掘評論中的特征觀點詞對,得到了用戶在產品特征層面的偏好程度,改善了用戶的偏好模型的質量,同時,在用戶相似度計算方面,修正了傳統余弦相似度未考慮不同用戶主觀評價尺度不同的問題,通過減去用戶的平均得分,得到用戶的新評分,在一定程度上解決了用戶主觀評價帶來的不足。最后通過預測用戶的評分進行排序產生推薦結果,實驗結果,表明,本文的推薦算法較傳統的給予用戶的推薦算法推薦精度有明顯的提高。
本文的不足在于未考慮用戶其他的歷史行為數據,只將評論作為模型的數據源,在實際的推薦系統中,建模的數據會是來自多個層面的,推薦的數據源選取還有待更進一步的研究。在評論特征挖掘方面,本文只針對了顯性特征的抽取,對于隱性特征的提取,本文沒有涉及,隱形特征對于產品特征建模同樣的重要,后期還有待進一步完善。
參考文獻:
[1]Breese J S,Heckerman D,Kadie C.Empirical Analysis of Predictive Algorithms for Collaborative Filtering[C].Fourteenth Conference on Uncertainty in Artificial Intelligence.Morgan Kaufmann Publishers Inc,1998:43-52.
[2]Gong S J,Ye H W,Tan H S.Combining Memory-Based and Model-Based Collaborative Filtering in Recommender System[C].Circuits,Communications and Systems,2009.PACCS'09.Pacific-Asia Conference on.IEEE,2009:690-693.
[3]Hu M,Liu B.Mining and Summarizing Customer Reviews[C].Tenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,Seattle,Washington,Usa,August.DBLP,2004:168-177.
[4]韓忠明,李夢琪,劉雯,張夢玫,段大高,于重重.網絡評論方面級觀點挖掘方法研究綜述.軟件學報[J].2017:1-23.
[5]藍金炯.融合在線用戶評論的協同過濾推薦研究[D].華南理工大學,2016.
[6]那日薩,鐘佳豐,童強.基于情感詞匯的在線評論產品個性化推薦方法研究[J].鄭州大學學報(理學版),2011,43(2):48-51.