馬 鑫,段剛龍
(1.南開大學商學院,天津 300110;2.西安理工大學 a.經(jīng)濟與管理學院;b.大數(shù)據(jù)分析與商務(wù)智能實驗室,西安 710054)
近年來,推薦系統(tǒng)作為傳統(tǒng)搜索引擎的重要補充,成為幫助用戶專注有用信息和緩解信息過載的重要工具,而協(xié)同過濾是個性化推薦系統(tǒng)中使用最普遍的推薦算法[1]。為應(yīng)對協(xié)同過濾算法的數(shù)據(jù)稀疏等問題,既有研究往往結(jié)合聚類、回歸、圖等算法[2,3]或矩陣分解、多模態(tài)數(shù)據(jù)融合、矩陣填充等技術(shù)[1,4,5]進行組合推薦。在聚類算法方面,劃分聚類算法因具有準確率高、可操作性強等優(yōu)點,常被學者加以改進后用來對用戶進行聚類。改進方法主要有手肘法[6]、輪廓系數(shù)[7]、譜聚類[8]、粗聚類[9]等。雖然上述改進算法在一定程度上提升了基于劃分聚類的協(xié)同過濾推薦(Divide Clustering-based Collaborative Filtering Recommender,DC-CFR)算法的推薦效果,但仍存在以下不足:(1)評分失真且評分區(qū)分度小?,F(xiàn)有產(chǎn)品評分多為“5 星評價”,離散、有限數(shù)值往往難以準確量化用戶的真實喜好,而這種偏差會進一步影響用戶聚類中高維稀疏評分向量間的空間距離測算,影響DC-CFR算法的表現(xiàn);此外,受從眾效應(yīng)和可得性效應(yīng)的影響,用戶評分分布較為集中,信息量較小,通過空間距離或相關(guān)系數(shù)比較用戶間異同的難度較大。(2)初始聚類中心隨機。自由參數(shù)問題是劃分聚類算法的主要缺陷。相比于最佳聚類數(shù)的確定,初始聚類中心的選擇較少被討論和研究。而隨機初始聚類中心不僅易使聚類結(jié)果陷入局部最優(yōu),而且會增加聚類迭代次數(shù),累積數(shù)據(jù)稀疏造成的用戶聚類偏差,影響DC-CFR 算法推薦效果。
鑒于此,本文提出一種基于評論情感挖掘與數(shù)據(jù)場聚類的協(xié)同過濾推薦算法(Comment Sentiment Mining and Data Field Clustering-based Collaborative Filtering Recommender,CSM-DFC-CFR),該算法首先利用高頻詞性路徑規(guī)則等無監(jiān)督情感挖掘技術(shù)量化評論情感來修正用戶-產(chǎn)品評分矩陣中的評分;其次,利用數(shù)據(jù)場算法計算劃分聚類自由參數(shù)的取值;然后,通過基于相似用戶的聚類協(xié)同過濾推薦算法生成產(chǎn)品推薦列表;最后,在三個真實數(shù)據(jù)集上進行實驗,以驗證改進算法的推薦效果。
傳統(tǒng)的DC-CFR 算法是基于相似用戶的協(xié)同過濾推薦算法的一種改進算法,具有易理解、易復現(xiàn)、推薦結(jié)果新穎度高等優(yōu)勢[10]。其基本思想是:在用戶-產(chǎn)品評分矩陣上,通過劃分聚類創(chuàng)建較少且包含目標用戶的聚類簇,以降低近鄰用戶檢索中的相似度計算次數(shù),減小數(shù)據(jù)稀疏性對聚類效果的影響。
假設(shè)有用戶-產(chǎn)品評分矩陣M=[r1r2…rm]T,其中ri=(ri,1,ri,2,…,ri,n),m為用戶數(shù),n為產(chǎn)品數(shù),ri,j為用戶i對產(chǎn)品j的評分。隨機選擇k個用戶評分向量ri作為初始聚類中心C=[c1c2…ck]T,按歐氏距離大小將用戶歸到最近聚類中心:
更新聚類中心:
其中,|Ck|為第k個聚類中包含的用戶數(shù)。
當誤差平方和最小時聚類停止迭代:
計算目標用戶u與同簇用戶v的相似度:
預測用戶-產(chǎn)品評分矩陣中目標用戶缺失評分:
其中,為目標用戶u同簇用戶v的歷史評分均值,Nu為用戶u的最近鄰域。
將ru,j降序排列,選擇前z個較高評分對應(yīng)的產(chǎn)品pj生成推薦列表。
在線產(chǎn)品評論一直是用戶生成決策的重要信息來源。為進一步提升DC-CFR 算法在高維數(shù)據(jù)空間中的用戶聚類能力,本文利用一種無監(jiān)督評論情感挖掘算法修正評分與用戶偏好間的偏差。
假設(shè)有用戶u的評論集合Tu={t1,t2,…,tm},m為歷史評論數(shù),ti為用戶u對產(chǎn)品i的評論。
對評論t進行預處理,附加148612個詞的分詞詞庫和3451 個詞的停用詞詞庫,利用pkuseg 工具進行分詞并標注詞性,統(tǒng)計并生成10個高頻詞性路徑:
其中,n為名詞,a為形容詞,d為副詞,v為動詞,an為形容詞性名詞,l為習用語。
按Ruls路徑對評論t進行模糊匹配,生成詞對pt={(w1,s1),(w2,s2),…,(wf,sf)},f為詞對個數(shù),wi為實體詞,si為情感詞。
計算實體詞wi與產(chǎn)品主題詞themei之間的互信息,剔除不相關(guān)實體詞及對應(yīng)情感詞:
其中,I(wi,themei)為wi與themei之間的互信息,值越大表明關(guān)聯(lián)程度越強;p(wi,themei)為wi與themei共同出現(xiàn)的次數(shù),p(wi)為wi單獨出現(xiàn)的次數(shù),p(themei)為themei單獨出現(xiàn)的次數(shù)。
利用SingleRank算法計算Tu中實體詞wi的權(quán)重hwi,生成實體偏好向量Hu=(hw1,hw2,…,hwg),g為集合Tu中的實體詞數(shù)量。
計算評論t中的實體詞相對權(quán)重:
基于NTUSD[11]、Hownet[12]的研究以及自整理詞典,按[積極,中性,消極]=[5,3,1]的規(guī)則量化情感詞,生成評論t中情感詞si的情感值cssi。
評論t的整體情感值為:
設(shè)定評分修正幅度Δ,將Et調(diào)整到[-Δ,Δ]范圍:
修正用戶-產(chǎn)品評分矩陣中評論t的對應(yīng)評分r:
受物理學場論啟發(fā),數(shù)據(jù)場將數(shù)域空間中的數(shù)據(jù)對象當作相互作用的有質(zhì)量粒子,任一數(shù)據(jù)對象均受其他對象的共同作用,且當無外力作用時,數(shù)據(jù)對象會相向運動并聚集成簇,類似劃分聚類過程,因此常被用于劃分聚類算法優(yōu)化[13]。
為解決劃分聚類算法的自由參數(shù)問題,尤其是隨機初始聚類中心的選擇問題,本文提出了一種數(shù)據(jù)場算法,可一次性確定最佳聚類數(shù)和最優(yōu)初始聚類中心,減少聚類迭代次數(shù),避免數(shù)據(jù)稀疏性引起的用戶聚類偏差累積。
假設(shè)有修正評分后的用戶-產(chǎn)品評分矩陣R=[r1r2…rm]T,其中,ri=(ri,1,ri,2,…,ri,n),m為用戶數(shù),n為產(chǎn)品數(shù),ri,j為用戶i對產(chǎn)品j的評分,U為用戶集合。
計算數(shù)據(jù)場中各用戶ui的相互作用勢值:
其中,d為歐氏距離,mj為用戶uj的質(zhì)量,滿足Σm=1,σ為數(shù)據(jù)對象之間的相互作用力里程。
對于用戶質(zhì)量mi和作用里程σ,給定計算公式:
其中,|Ngi|為與用戶ui相距不超過1/4分位數(shù)距離的用戶數(shù),φ(ui)為對應(yīng)σ取值下用戶ui的勢值,argmin 為獲取最小值對應(yīng)σ的函數(shù)。
利用隨機爬山法計算數(shù)據(jù)場的勢值極大值,將極大值對應(yīng)用戶評分向量作為初始聚類中心C=[c1c2…ck]T,最佳聚類數(shù)k即為|C|。
本文首先通過評論情感挖掘算法修正評分偏差,使評分更加接近用戶真實偏好,得到更加準確的用戶-產(chǎn)品評分矩陣;然后,利用數(shù)據(jù)場算法計算用戶聚類的最佳聚類數(shù)和最優(yōu)初始聚類中心;最后,通過基于劃分聚類的協(xié)同過濾推薦算法為目標用戶生成推薦結(jié)果。
2.3.1 算法模型構(gòu)建
本文提出的基于評論情感挖掘與數(shù)據(jù)場聚類的協(xié)同過濾推薦算法(CSM-DFC-CFR)模型見圖1。
圖1 基于評論情感挖掘與數(shù)據(jù)場聚類的協(xié)同過濾算法模型
2.3.2 算法描述
圖1所示模型包含三大模塊,具體描述如下:
(1)利用評論情感修正用戶評分模塊。首先,利用高頻詞性路徑規(guī)則匹配評論文本中的實體詞與情感詞,并借助互信息剔除無關(guān)實體詞及對應(yīng)情感詞;然后,利用混合情感詞詞典對情感詞進行量化,計算評論中各實體詞的相對權(quán)重;最后,按實體詞相對權(quán)重對各量化情感值進行加權(quán)以獲得評論總體情感值,在[-Δ,Δ]區(qū)間內(nèi)對用戶評分進行修正。
(2)利用數(shù)據(jù)場計算劃分聚類參數(shù)模塊。基于評分修正后更加接近用戶真實喜好的用戶-產(chǎn)品評分矩陣,先計算各用戶質(zhì)量m和數(shù)據(jù)場作用里程σ,再將其作為勢函數(shù)參數(shù),計算用戶之間的相互作用勢值,利用啟發(fā)式隨機爬山法挖掘勢值分布規(guī)律,尋優(yōu)勢值極大值。
(3)劃分聚類協(xié)同過濾推薦模塊。首先,將勢值極大值點對應(yīng)評分向量和勢值極大值點個數(shù)分別作為劃分聚類的聚類數(shù)和初始聚類中心,對用戶進行迭代聚類;然后,計算目標用戶與同聚類簇用戶相似度,并按相似度大小降序排列生成最近鄰域Nu;最后,基于鄰域用戶相似度和非共有評分預測目標用戶可能評分,按評分高低生成長度為z的產(chǎn)品推薦列表。
2.3.3 算法流程
綜上所述,CSM-DFC-CFR算法步驟如下:
遵循網(wǎng)站robots協(xié)議,利用爬蟲采集了2015年6月17日至2020 年5 月9 日某知名電商平臺1190 個類目下153129 個商品的評分及評論文本,從中隨機抽取三組數(shù)據(jù)作為實驗數(shù)據(jù)集,分別占原始評分數(shù)據(jù)的0.8%(數(shù)據(jù)集1)、0.9%(數(shù)據(jù)集2)和1.1%(數(shù)據(jù)集3)。同時,剔除歷史評分總數(shù)為0的用戶行和產(chǎn)品列,并按用戶評分時間先后將前80%數(shù)據(jù)作為訓練集,后20%數(shù)據(jù)作為測試集,以供模型訓練使用。實驗數(shù)據(jù)集的統(tǒng)計特征如表1所示。
表1 預處理后實驗數(shù)據(jù)集統(tǒng)計特征
采用精度Precision(見公式(15))、召回率Recall(見公式(16))和F1-Score(見公式(17))共三種常見評價指標對算法推薦效果進行評價[10,14]。特別地,所有評價指標均依據(jù)產(chǎn)品推薦列表R(u)和測試集用戶選擇列表T(u)計算得出。
關(guān)于對照算法,選擇基于用戶的協(xié)同過濾推薦(U-CFR)算法、基于K-means的協(xié)同過濾推薦(KM-CFR)算法、融合Canopy和K-means的協(xié)同過濾推薦(CKM-CFR)算法、基于評論情感挖掘的協(xié)同過濾推薦(CSM-CFR)算法、基于數(shù)據(jù)場聚類的協(xié)同過濾推薦(DFC-CFR)算法以及本文所提算法(CSM-DFC-CFR)共六種算法在三個實驗數(shù)據(jù)集上進行實驗,所有實驗結(jié)果的數(shù)據(jù)為1折15次交叉實驗結(jié)果的平均值。
3.3.1 參數(shù)影響
對于評分修正幅度Δ,分別取值為0.1、0.2、0.3、0.4和0.5,探討Δ的最佳取值。由圖2 可知,CSM-DFC-CFR 算法精度在Δ=0.4時最優(yōu)(召回率也相對較優(yōu)),算法表現(xiàn)最佳。
圖2 不同評分調(diào)整幅度Δ對CSM-DFC-CFR算法精度影響
對于最近鄰域大小|Nu|,很容易理解,最近鄰數(shù)量增加會降低目標用戶與鄰居之間的評分相似度,如果取值過大,那么勢必會影響算法表現(xiàn)。參照文獻[15],將所有算法最近鄰域大小取值為5。此外,參照文獻[16],令各算法推薦列表長度z=15。
3.3.2 算法性能分析
不同對照算法在三個測試集中的1折15次Precision、Recall和F-Score表現(xiàn)如圖3所示。對比U-CFR算法和CSMDFC-CFR 算法的兩種變體算法(CSM-CFR 和DFC-CFR)的結(jié)果發(fā)現(xiàn),評論情感挖掘修正用戶評分和數(shù)據(jù)場聚類方法均能提升協(xié)同過濾算法的性能,且數(shù)據(jù)場聚類的方法對算法推薦效果正向作用更大。此外,進一步對比CSM-DFC-CFR及其兩種變體算法可以發(fā)現(xiàn),評論情感挖掘修正用戶評分和數(shù)據(jù)場聚類兩種方法的結(jié)合要比任意一種方法對算法推薦性能的提升效果都要明顯。對比U-CFR、KM-CFR、CKM-CFR 和CSM-DFC-CFR 算法,結(jié)果表明,本文所提CSM-DFC-CFR算法在三個不同評價指標上推薦性能均最佳,CKM-CFR 算法次之,而KM-CFR和U-CFR算法較差。
圖3 不同測試集中推薦算法的性能表現(xiàn)
3.3.3 算法有效性分析
為充分證明本文所提算法的有效性,進一步利用Kruskal-Wallis 檢驗方法對CSM-DFC-CFR 與U-CFR、KM-CFR、CKM-CFR和CSM-CFR算法的1折15次交叉驗證結(jié)果進行組間差異比較。表2的結(jié)果表明,在95%的置信區(qū)間內(nèi),各測試集CSM-DFC-CFR算法的性能表現(xiàn)均顯著優(yōu)于其他對照算法(P<0.05)。還可以發(fā)現(xiàn),雖然CSMDFC-CFR 與DFC-CFR 算法在各評價指標結(jié)果之間并不存在顯著組間差異,但平均而言,CSM-DFR-CFR 算法的Precision、Recall 和F1-Score 均優(yōu)于DFC-CFR 算法。以上結(jié)果充分證明了本文所提推薦算法的有效性,算法的優(yōu)化思路與實際數(shù)據(jù)相吻合。
表2 CSM-DFC-CFR和對照算法的性能差異比較
本文針對當前DC-CFR 算法存在的評分失真和區(qū)分度小以及自由參數(shù)問題,提出了一種基于評論情感挖掘和數(shù)據(jù)場聚類的協(xié)同過濾推薦算法。其中,評論情感挖掘是指利用無監(jiān)督情感挖掘技術(shù)對評論整體情感進行量化,通過加權(quán)方式修正用戶評分,以提升評分區(qū)分度(細化了評分粒度),縮小評分與用戶真實喜好之間的偏差。數(shù)據(jù)場聚類是指利用數(shù)據(jù)場計算最佳聚類數(shù)和最優(yōu)初始聚類中心,對用戶進行劃分聚類,以縮小最近鄰域檢索范圍,優(yōu)化高維數(shù)據(jù)聚類表現(xiàn)。三個真實數(shù)據(jù)集的實驗結(jié)果表明,與其他算法相比,本文所提算法在Precision、Recall和F1-Score指標上的表現(xiàn)均最優(yōu)。值得注意的是,本文未處理虛假用戶評論,即假定評論中不存在不實消費經(jīng)歷及對商品實體的鼓吹或誹謗[17],未來將考慮運用文體或元數(shù)據(jù)特征識別并剔除虛假評論,對本文算法進行改進。