馮永 陳以剛 強保華
汽車相對于普通生活用品,屬于特殊商品,一是價格高,在購買時用戶相對更謹慎;二是用戶購買需求復雜,決策過程的總體時間相對較長.由于汽車自身具有復雜度高、交易和消費頻次低等特點,所以在推薦任務執行過程中,會遇到用戶相關領域知識匱乏、用戶歷史交易數據少、商品屬性復雜等困難.
針對相關領域知識匱乏和商品屬性復雜,研究者一般通過構建相關知識領域專家系統應對.這些專家系統通過與用戶進行信息交互來準確獲得用戶的信息及需求,在此基礎上結合已有的領域專業知識體系協同計算分析,從而對用戶提供高效的推薦[1].然而,專家系統的構建過程相對繁瑣,在系統構建初期,需要將領域專家提供的信息和知識體系轉化成系統能理解的數據模型,這些數據模型主要包括專業知識庫、規則集合等,這個過程需要花費大量的時間和人力.同時,在整理專業知識和規則時,由于人為將需求和屬性特征關聯,導致專家系統的知識庫和規則庫產生一定的片面性和主觀性,最終對推薦結果形成干擾.針對用戶歷史交易數據少,一些研究者利用社交網絡來獲取用戶更多的相關信息來彌補信息缺失,而另外一些研究者則使用項目信息(例如項目描述、簡介、評論文本信息)進行處理.雖然在社交網絡和評論文本這兩個領域的研究已分別有了矚目的成果,但是將社交網絡和評論文本相互結合的研究卻相對較少.社交網絡為用戶提供了豐富的社交信息,可緩解用戶歷史交易記錄少的困難,而評論文本分析則可緩解用戶相關領域知識匱乏和商品屬性復雜帶來的負面影響.
本文首次將評論文本與社交網絡信息結合應用于汽車商品推薦領域,一方面構建購買用途需求社交圈,在此社交圈的基礎上分析個人偏好和偏好相似度兩種社交因素,并給出合理的量化計算方法.另一方面,以評論文本為汽車的附屬信息,利用卷積神經網絡提取文本隱特征.在設計汽車推薦模型時,融合社交環境因素和評論文本卷積網絡獲得的附加屬性信息,從而提升汽車推薦系統的效果.
綜上,在對社交網絡和評論行為兩方面的數據充分挖掘的基礎上,設計汽車推薦模型這一研究在技術理論和現實應用層面都具有重要的意義和價值.
近年來,研究人員提出了幾種基于社會信任的推薦系統來提高推薦準確性.事實上,用戶可以信任不同類別中的不同朋友.基于這一概念,最近有研究引入了“推斷的信任圈”概念[2],用于社交網絡中的推薦,考慮人際信任的影響.他們專注于推斷類別特定的社交信任圈.然而,一些社交網絡用戶喜歡選擇與他們的個人偏好密切相關的產品,很少考慮人際影響.研究者探索使用矩陣分解工具設計社交推薦從而解決“冷啟動”問題.Jamali等[3]在社會網絡中探索了這類方法,將信任傳播機制加入到推薦模型中.潘濤濤等[4]利用置信系數區分評分值之間的可信度.信任傳播已被證明是社會網絡分析和信任推薦中的關鍵因素.Yang等[5]提出社會網絡中“信任圈”的概念.他們的模型優于BasicMF[6]和SocialMF[3].用戶之間的信任值由矩陣S表示,用戶u與用戶v的有向加權社會關系由正值表示.其基本思想是用戶特征應該類似于他/她的好友的特征的平均值,其種類為c中的權重.除了文獻[5]中的人際影響因素外,Jiang等[7]提出另一個重要因素:個人偏好.他們對中國的人人網數據集和騰訊微博數據進行了實驗,結果表明社會語境因素(個人偏好和人際影響)在模型中有重要的意義.例如張燕平等[8]利用歷史記錄獲取用戶聲譽來建立聲譽推薦系統.Qian等[9]提出了一種結合用戶人際興趣相似性、人際影響力和個人興趣因素的個性化推薦模型(Personalized recommender model,PRM).Wang等[10]提出使用社會傳播模擬和內容相似性分析來更新用戶內容矩陣.他們還構建了一個聯合的社會內容空間來衡量用戶和視頻之間的相關性,為視頻導入和重新分享推薦提供了高度的準確性.Feng和Qian[2]提出了一個推薦模型,以滿足用戶(特別是對有經驗的用戶)的個性.此外,他們的方法不僅考慮個人偏好,而且結合了人際信任影響和人際興趣相似性.
隱含狄利克雷分布(Latent Dirichlet allocation,LDA)和棧式降噪自編碼器(Stacked denoising auto-encoder,SDAE)等基于文檔建模的方法主要是利用了評論、摘要或概要的項目描述文檔[11?14].具體來說,Wang等[11]提出了協同主題回歸(Collaborative topic regression,CTR),在概率方法中結合了LDA和協同過濾.而CTR的變體是將LDA集成到協同過濾中通過使用不同的集成方法來分析項目描述文檔[12?13].Wang等[6]提出了協同深度學習(Collaborative deep learning,CDL),將SDAE整合到概率矩陣分解(Probabilistic matrix factorization,PMF)中,從而在評分預測精度方面產生更準確的隱義模型[14].
但是,現有的集成模型不能完全捕獲文檔信息,因為它們采用詞袋模型,該模型假定忽略如周圍單詞和單詞順序文檔的上下文信息.但文檔內的這種細微差異也是成為更深入理解文檔的重要因素,并且進一步理解有助于改進評分預測準確度.為了解決上述問題,部分研究者嘗試使用卷積神經網絡(Convolutional neural network,CNN).CNN通過本地接收場、共享權重和亞采樣的建模組件有效地捕獲圖像或文檔的局部特征[15?16].因此,CNN的使用有助于更深入地理解文檔,并且產生比LDA和SDAE更好的隱義模型,特別是缺乏評分的描述文檔.此外,CNN能夠利用預訓練的詞嵌入模型,例如Glove[17],以便更好地理解項目描述文檔,而LDA和SDAE不能利用預訓練的詞嵌入模型.
然而,現有的CNN不適合推薦任務.具體來說,常規CNN主要解決預測詞、短語或文檔的標簽分類任務.相反,推薦的目的通常是回歸任務,旨在準確地逼近用戶對項目的評分.因此,現有的CNN不能直接應用于本文的推薦任務.為了解決該技術問題,Kim等[18]提出了一種文檔上下文感知推薦模型—卷積矩陣分解(Convolutional matrix factorization,ConvMF),利用CNN捕獲項目描述文檔的上下文信息,進一步增強評分預測精度.
本文對汽車推薦系統進行研究,為了更好地理解用戶的評分行為,需要挖掘用戶的個性化特征.本文從兩方面入手:1)社交環境對用戶的影響,在特定的車型下構建購買用途需求的社交圈,在此社交圈的基礎上,分析用戶的個人偏好和偏好相似度兩個社交因素,并計算量化其社交關系;2)分析評論文本對項目的影響,通過深度學習技術構建了四層卷積神經網絡來學習文本特征.最終,本文提出了新穎的SCTCMAR汽車推薦模型,該模型融合了社交影響和評論文本特征,即用戶的個人偏好、偏好相似度以及項目的評論文本特征,最終將這三個因素注入到推薦模型中體現社交因素和評論文本特征因素對用戶決策過程的影響.
本文提出的模型如圖1所示,中間的點線框為PMF,左邊線框是社交因素,右邊線框是CNN.該模型在概率矩陣分解(PMF)的基礎上,融合社交因素對用戶的影響和評論文本特征對項目的影響,提出了SCTCMAR模型.推薦模型中的符號定義見表1.
假設有N個用戶和M個項目以及真實評分矩陣,目標是找到用戶和項目的隱義模型,求其乘積來重構評分矩陣R.通過概率矩陣分解模型使用W,F和Q不斷地影響用戶和項目的隱義模型,從而求其乘積得到預測u到i的評分值,不斷逼近預測值與實際值之間的差距,從而提高推薦精準度.在概率上真實評分的條件概率分布如下:

其中,N(x|u,σ2)表示均值為u,方差為σ2的高斯分布概率密度函數,Iui是指示函數,如果用戶u對項i評價過,則Iui=1,反之為0.

表1 推薦框架的符號定義Table 1 Notations in recommender framework

圖1 SCTCMAR的圖模型Fig.1 Graphical model of SCTCMAR
對于用戶隱義模型有三個因素:1)為了防止過擬合的0均值高斯先驗概率;2)在已知該用戶社交圈中朋友的偏好隱特征時,用戶隱特征的條件概率;3)在已知該用戶社交圈中個人偏好隱特征時,用戶隱特征的條件概率.具體定義為

與常規PMF中的項隱義模型不同,我們假設從三個變量生成項目隱義模型.1)CNN中的內部權重W;2)表示項i的文檔Xi;3)εi變量作為高斯噪聲.這使我們能夠進一步優化項隱義模型的評分.因此,最終項隱義模型為

其中,cnn表示卷積運算.
對于W中的每個權重wk,設置最常用0均值高斯先驗概率.具體定義如下:

于是,項隱義模型的條件概率如下:

其中,X是項目的描述文檔集合.為了建立CNN和PMF之間的橋梁,使用從CNN模型獲得的評論隱向量作為高斯分布均值,并且項的高斯噪聲作為高斯分布的方差,這有助于完全分析描述文檔和評分.
接下來將按以下過程詳細介紹:
1)為了確定社交環境的影響范圍,需要構建基于購買用途需求的社交圈;
2)在該社交圈的基礎上分別分析用戶的個人偏好和偏好相似度;
3)使用卷積神經網絡提取評論隱特征.
2.1.1 社交圈
給定用戶u,類別c和用途t,本文使用Yang等[2]提出的推理規則為當前類別評分用戶建立社交圈.
定義1.基于購買用途需求的社交圈.在特定類別c下,對于用途t,原始社交網絡SN(Social network)滿足以下條件的所有用戶v構成u的社交圈,即.
1)在SN中用戶u和用戶v有直接社交關系,即SNu,v=1;
按照給出的說明,圖2展示了購買用途需求的社交圈的構造過程.每個用戶購買用途需求使用括號標注在用戶旁邊,例如用戶u的購買用途需求為t1,t2,t3.用戶u為了構造特定購買用途需求t1下的社交圈,首先需要在SN中找出與u有直接社交關系的用戶集合,再按照條件進行篩選,最后找到用戶集合是用戶u在購買用途需求t1下的社交圈.同理,可推出u在t1和t2下的社交圈和.下文對社交影響中的社交因素的有關研究全部限制在購買用途需求的社交圈范疇內.
2.1.2 個人偏好
Feng和Qian[2]提出了一種基于項類別分布向量來衡量用戶個人偏好的方法,但忽略了歷史用戶評分值.然而,u對項i的評分值反映了u喜歡i的程度.因此,將項類別分布與用戶評分數據結合,可以更精確地學習用戶的個人偏好.關于類別c,可以從評分矩陣Rc獲得用戶評分數據.矩陣Rc的每一行歸一化如下:

圖2 構造購買用途需求的社交圈Fig.2 The inference process of purpose-based social circle of users


其中,Icn是指示函數,如果項i屬于類別cn,則Icn=1,反之亦然.n是目錄的數量.
定義2.個人偏好是用戶u在特定類別c下對汽車主題的偏愛分布情況,用表示.
如果u在類別c中具有評分,則其個人偏好應該類似于項類別分布向量的加權平均值.u在類別c中的個人偏好為

如果u從來沒有為類別c中的項評分,作為其個人偏好的近似值,使用屬于他的社交圈的朋友的個人偏好的平均值.從而

在實踐中,用戶u的個人偏好與項目i的主題的相關性被視為用戶u在項目i上的隱實際評分值,用Qu,i表示.

其中,Cosin表示兩個向量間的余弦相似度.
2.1.3 偏好相似度
定義3.偏好相似度是在特定類別c下,用戶u和v之間的主題偏好向量相似度,用表示.具體來說,本文采用Feng和Qian[2]提出的方法來度量偏好相似度.

歸一化后如下:

2.1.4 評論隱特征
CNN的目標是從汽車評論文本數據中學習文本的隱特征向量.圖3顯示了CNN的結構,包括Embedding層、卷積層、Pooling層和輸出層.

圖3 卷積神經網絡結構Fig.3 Structure of convolutional neural network
1)Embedding層
該層將預處理的汽車評論文本變換成表示下一個卷積層文檔的密集矩陣.具體來說,對于作為l個詞的序列文檔,通過連接文檔中詞的向量將文檔表示為矩陣.詞向量由隨機初始化或用詞向量嵌入模型GloVe預先訓練好,通過優化過程進一步訓練,文檔矩陣D∈Rp×l變為

其中,l為文檔長度,p為wi的嵌入維度大小.
2)卷積層
卷積層提取上下文特征.
定義4.上下文特征向量用來提取汽車評論文本的上下文信息的向量,用表示.

其中,?是卷積算子,是的偏差,f是非線性激活函數.在諸如sigmoid、tanh和ReLU的非線性激活函數中,使用ReLU來避免梯度消失的問題,導致優化收斂慢并且可能導致差的局部最小值[19?20].帶有權重文檔的上下文特征向量由下式構成:

然而,一個共享權重只能捕獲一種類型的上下文特征.因此,使用多個共享權重來捕獲多種類型的上下文特征,能夠生成與Wc數量nc一樣多的上下文特征向量.例如中的.
3)Pooling層
Pooling層從卷積層提取表征特征,并且通過構建固定長度特征向量的池化操作來處理文檔的可變長度.在卷積層之后,文檔被表示為nc個上下文特征向量,其中每個上下文特征向量具有可變長度(即l?ws+1個上下文特征).然而,這種表示存在兩個問題:1)存在太多的上下文特征ci,其中大多數上下文特征可能不會幫助增強其性能;2)上下文特征向量的長度變化,使得難以構建接下來的層.因此,利用max-pooling,通過從每個上下文特征向量中僅提取最大上下文特征,將文檔的表示減少到nc個固定長度向量中.

4)輸出層
通常,在輸出層,從前一層獲得的高級特征應該被轉換用于特定任務.因此,在推薦任務的用戶和項目隱義模型的k維空間上投影,通過使用常規非線性投影最終產生評論隱向量.
定義5.評論隱向量是表示汽車評論文本中的隱義特征向量,又作為評論隱特征,用表示.

通過上述過程,CNN架構以預處理的汽車評論文本為輸入函數,返回每個文檔的隱向量作為輸出.

其中,W表示所有權重和偏差變量,以防止混亂.Xi表示項目i的文檔,si表示項目i的評論隱向量.
本文采用低階矩陣分解技術將用戶–評分矩陣分為用戶隱特征矩陣UT∈Rn×k和汽車隱特征矩陣V∈Rm×k,k是隱空間的向量維度,對于每個類別c,汽車推薦模型SCTCMAR的目標函數為


針對推薦模型SCTCMAR的目標函數,使用梯度下降法進行優化,將看作變量并求偏導.

求偏導后同時更新用戶隱特征向量和汽車隱特征向量,然后把更新后的隱特征向量代入目標函數中重新計算,使目標函數值最快速度下降,循環迭代該過程直到目標函數收斂為止,最終經過訓練得到用戶隱特征矩陣和汽車隱特征矩陣.
然而,由于W與CNN結構中的特征(例如max-pooling層和非線性激活函數)密切相關,所以W不能像對U和V一樣由梯度下降的方式來優化.然而,當U和V是暫時恒定時,我們觀察到L可以被解釋為具有如下的L2正則化項的平方誤差函數.

其中,constan表示返回一個常量.
W是每一層的權重和偏置,為了優化W,使用反向傳播算法.重復整個優化過程(U,V,W交替地更新)直到收斂.通過優化U,V,W,最終可以預測用戶對汽車的未知評分.

本文實驗主要使用網絡爬蟲從Internet抓取的汽車基本信息、用戶信息、用戶對汽車評論信息和與汽車有關的語料文本集.汽車和用戶數據主要來源于汽車之家和網易汽車,預訓練詞嵌入模型主要將語料數據集作為訓練數據,通過使用GloVe工具1GloVe,available:https://nlp.stanford.edu/projects/glove,2017來構建.該工具使用的是一種無監督學習算法,主要用于獲取詞特征向量,本質上是具有加權最小二乘的log-bilinear模型,其模型的主要來源于觀察的現象,即詞–詞共同出現可能性的比例具有編碼某種形式的意義的潛力.此外,分詞過程中使用了數據堂和搜狗輸入法提供的汽車領域字典以及爬取的互聯網上的汽車字典資源,如表2所示.
汽車評論文本預處理的主要任務包括,數據清理和中文分詞兩部分.1)清理:由于實驗數據主要是通過網絡爬蟲技術從相關的汽車網站上抓取得到的,所以數據信息的格式有很多不規范的地方,存在結構化和非結構化數據.得到的數據中存在HTML標簽、Javascript代碼、廣告標語等不同形式的噪點,需要進行去噪、清洗,轉為合適的數據結構,便于使用和理解.去噪主要采用正則表達式,對廣告標語主要靠人工清理.2)分詞:在自然語言處理的相關研究工作中,分詞占據著重要的地位.對于中文語料,分詞工作更是如此.本文采用ICTCLAS2ICTCLAS,available:http://ictclas.nlpir.org,June 10,2017系統作為研究工作中的分詞工具,主要使用基于詞典的分詞功能.
爬取的數據經過清理、去重和整合處理之后,最終數據集中有266995個用戶信息、702輛汽車信息以及用戶購買的汽車信息,其中每一個用戶的購車用途需求有多個,例如上班、接送孩子、自駕游等;汽車車型有11種類型,如跑車、小轎車、SUV、皮卡等.用戶對其購買汽車的評分主要是1~5的整數.本文將數據集分成5組,進行5-fold交叉驗證來評估算法的性能.
針對汽車的推薦性能,主要從三個方面進行評價:1)汽車推薦列表中用戶真正購買的比例;2)在用戶–汽車測試集中向用戶成功推薦的比例;3)汽車推薦列表中用戶最終購買汽車的排名.評價指標為精確率(Precision)和召回率(Recall).


表2 數據集信息列表Table 2 The list of datasets
其中,T為用戶數,N表示系統為用戶推薦的汽車列表長度,H指最終購買汽車推薦列表中的汽車的用戶數.
對于汽車這一特定商品,還采用平均倒序排名(Average reciprocal hit rank,ARHR)[21]對推薦排序準確度進行評價.排序準確度評估指標衡量的是系統產生的推薦集中商品的排序與用戶個人偏好的相似度,平均倒序排名衡量推薦系統向用戶輸出的效用性,用戶最終購買的商品在推薦列表中的排名越高,該推薦系統的效用性越強.在推薦列表中,排序位置pi的成功推薦效果值設置為1/pi,然后進行迭代,迭代后求平均值得到平均倒序排名值.具體如下:

為了驗證提出的汽車推薦模型SCTCMAR的有效性,選用具有代表性的推薦算法與SCTCMAR進行比較,被選入實驗對比的四種推薦算法如下:
1)FMM(Flexible mixture model).由Si等[22]提出的靈活混合模型.FMM通過將用戶和項目同時聚類在一起,同時進行協同過濾來擴展現有的分區/聚類算法,而不必假定每個用戶和項目只應屬于單個集群.實驗中,按照該算法的主要思想,將用戶和汽車以購買用途需求分別進行聚類,實現了FMM模型,最終完成測試用戶的汽車推薦任務.
2)TR(Trust rank).由Zou等[23]提出的算法.該算法利用可用于電子商務的用戶信任網絡來處理冷啟動問題給推薦系統帶來的限制.用戶信任網絡由用戶在其中指定的友誼或信任關系形成,主要通過應用個性化的PageRank算法,擴展了給定用戶的朋友,即其他具有類似購買記錄的人的朋友.在實驗中,根據該模型的主要想法,構造一個以購車用戶組成的社交網絡,并且實現了該模型和算法.
3)RS(Random sampling).從整個汽車信息集中隨機抽取N輛汽車向用戶推薦,作為其他算法的對比實驗.
4)SCTCMAR+.本文提出的推薦算法的另外一個版本,該方法使用了GloVe預訓練詞嵌入模型.
現有的深度學習平臺和工具種類繁多[24],本文使用Python和Keras3F.Chollet.Keras.http://github.com/fchollet/keras,2017庫來實現本文模型SCTCMAR.良好的學習率策略可以顯著提高深度學習模型的收斂速度,減少模型的訓練時間[25].為了訓練CNN的權重,本文使用小批量的RMSprop(自動調節學習速率的深度學習優化方法),每個小批量包括128個訓練項目.至于詳細的CNN架構,本文使用以下設置:1)將文檔的最大長度設置為3000.2)SCTCMAR:隨機初始化維度大小為50的詞潛在向量.SCTCMAR+:通過尺寸大小為50的預訓練詞嵌入模型初始化詞潛在向量.兩種詞潛在向量都將通過優化過程訓練.3)在卷積層中,使用的各種窗口大小為3,4和5,并且使用每個窗口大小的100個共享權重.4)代替與CNN的權重相關的L2正則化器,使用dropout和設置dropout率為0.2以防止CNN過度擬合.本文按照原文的調優成果將FMM算法中的用戶和汽車種類分別設為10和20,對于TR算法和其他參數的設置設為默認值.
在實驗對比中,首先對比N取值為5,10,15,20的情況下的精確率和召回率.表3、表4和圖4是各算法的精確率和召回率的比較,以及SCTCMAR+相對于其他方法提升百分比的實驗結果.
表3、表4和圖4表明,SCTCMAR相較于其他方法在精確率和召回率上的性能好,進一步驗證了算法對于汽車這個特殊商品的推薦有效性.無論是精確率還是召回率,隨機抽取算法比其他各個算法都低很多.具體來說,在精確率方面,從圖4(a)可以看出,SCTCMAR汽車推薦模型比FMM和TR推薦算法性能要好,相對于FMM在N=5時提升了46.1%,而相對于TR在N=10時提高了41.1%;召回率方面,從圖4(b)可以看出,當N=5時,SCTCMAR達到54.6%,相對于FMM上升了43%,TR上升了25.8%.從圖4可以看出,N值越大,各個算法的推薦精準率逐漸下降,即推薦列表中的汽車越來越多,算法錯誤推薦的概率也越大;而召回率的走勢與精確率相反,隨著N值增大,召回率逐漸上升,N值越大,算法預測到用戶最終購買汽車的概率越大.

表3 本文提出的算法與其他算法在推薦精確率上的比較及提升百分比Table 3 Precision comparison and improvement between our algorithm and other algorithms

表4 本文提出的算法與其他算法在推薦召回率上的比較及提升百分比Table 4 Recall comparison and improvement between our algorithm and other algorithms

圖4 在精確率和召回率上本文提出的算法與其他算法的對比Fig 4 Precision and recall comparisons between our algorithm and other algorithms
但是,從表3和圖4可以發現,相對于一般消費商品來說,本文中各個算法精確率都很低,主要是由精確率的定義和汽車這種特定商品的屬性造成的.從精確率的定義來看,它計算推薦列表中用戶真正購買的汽車比例.對汽車而言,用戶通常情況下只會選購列表中的一輛,即所占比例不會超過1/N.
為了對系統推薦準確性進行更好的評估,本文還采用了平均倒序排名ARHR[21]這一評價標準.平均倒序排名值越大,表明用戶真正購買的汽車在推薦列表中的排名越靠前,對于購買汽車用戶的推薦效果越優.實驗結果如表5和圖5所示.
從圖5可以看出,各算法遠比隨機抽取的平均倒序排名高.在汽車這種特定領域商品Top-N推薦任務中,SCTCMAR相比于FMM和TR算法在平均倒序排名上有更好的推薦準確度.進一步可知,N值越大,各推薦算法的平均倒序排名越高,最終慢慢趨于平穩.說明該評價標準對于汽車商品推薦的有效性,也進一步說明將社交因素與評論文本特征融合到推薦模型的有效性.

表5 各算法在平均倒序排名上的對比Table 5 ARHR comparison between our algorithm and other algorithms

圖5 各算法在平均倒序排名上的對比Fig 5 ARHR comparison between our algorithm and other algorithms
1)預訓練詞嵌入模型的影響
與協同過濾的主題回歸(CTR)和協同深度學習(CDL)不同,SCTCMAR能夠利用預先訓練的詞語嵌入模型,例如GloVe[17].因此,通過使用GloVe預先訓練的詞嵌入模型初始化SCTCMAR的CNN的嵌入層來分析預訓練的詞嵌入模型對汽車推薦任務的影響.表3~5顯示了SCTCMAR+與SCTCMAR在數據集上的實際變化,精確率、召回率和平均倒序排名都有不錯的提升,但是可以看出詞嵌入模型對SCTCMAR的影響與推薦列表長度N沒有直接關系.為了進一步分析預訓練詞嵌入模型的影響,實驗選取皮卡(pika)、面包(mianbao)、小型車(small)和緊湊型車(compact)四種車型在N=5時的平均倒序排名影響.其中車型的評分數據稀疏度是pika>mianbao>small>compact.實驗結果如表6所示.

表6 本文算法使用詞嵌入模型在平均倒序排名上的影響Table 6 ARHR comparison between our algorithm with pre-trained word embedding model
在表6中,盡管有微小的變化,可以觀察到一致的趨勢,評分數據越來越稀疏,預先訓練的詞嵌入模型有助于提高SCTCMAR的性能.因為預先訓練的詞嵌入模型的語義和句法信息補充了評分的不足.還可以觀察到,給定足夠數量的評分來訓練,則預先訓練的詞嵌入模型使SCTCMAR的性能惡化.換句話說,由于評分直接反映了用戶和項目之間的關系,最好是充分利用評分信息,而不是在評估數據相對密集的時候,使用從外部文檔獲得的預先訓練的詞嵌入模型.
2)因素組合的影響
在實驗中將研究的因素的參數設為一定值,將剩余其他的因素的參數設為0.在SCTCMAR模型中,對于個人偏好因素,設定γ=5和cnn(Wc,Xc)=λw=β=0,對于偏好相似度因素,設定β=5和cnn(Wc,Xc)=λw=γ=0;對于評論隱特征因素設定β=γ=0.SCTCMAR模型有兩個社交因素,因此性能比較時設置相同的參數.
我們系統地比較了不使用因素以及使用1個、2個、3個因素的各種方法,比較結果如圖6所示.UP,PS,CTC分別表示SCTCMAR中的個人偏好、偏好相似度和評論隱特征.+表示因素組合.通過比較可以發現,所有因素對提高平均倒序排名都有積極影響.進一步,SCTCMAR模型中的每一個因素比PMF中的每個社會因素都有更好的表現.此外,SCTCMAR的多因素組合比其他方法更好,例如FMM,Trust rank和Random sampling.
本文主要針對汽車推薦進行研究,重點探索社交因素和評論文本因素對用戶購車決策過程的影響,融合以上兩方面提出了新穎的SCTCMAR推薦模型.雖然實驗結果表明SCTCMAR模型在一定程度上改善了推薦性能,但是還沒有考慮用戶購車需求與決策過程中更多的關聯關系以及更多的汽車屬性信息.下一步工作將考慮將更多的汽車屬性信息和交互關系信息融入到推薦模型中,進一步提高推薦精準度,并找到更有趣的規律.

圖6 本文算法多因素聯合對平均倒序排名的影響Fig 6 ARHR line chart of impact of factors combination in our model