徐積文,張永棠
(廣東東軟學院 計算機學院,廣東 佛山 528225)
評論信息是消費者選購商品的參考信息之一,對商品購買決策的影響非常重要[1],然而,評論信息形式為半結構化或非結構化,商品購買決策時面臨前所未有的挑戰(zhàn)[2]。文獻[3]采取基于內(nèi)容的熱門話題的個性化推薦,并且利用文本相似度計算方法計算微博話題與用戶之間的相似度,實現(xiàn)個性化的推薦。文獻[4]提出一種聯(lián)合K-means的個性化推薦方法,將具有相似特征的產(chǎn)品聚到一個類別內(nèi),然后將與每個聚類中心點最近的產(chǎn)品推薦給用戶。文獻[5]在新聞文本分類的文本分類算法中使用LDA進行特征降維;文獻[6]在研究文本間的相似性問題時,使用 LDA模型計算文本相似,根據(jù)文本相似度將搜索記錄數(shù)據(jù)結果集進行分類。
這些推薦系統(tǒng)一般使用戶評分數(shù)據(jù)的推薦算法,存在數(shù)據(jù)稀疏、評分信息不能夠真實有效地表達用戶興趣等問題。本文以網(wǎng)站商品評論為物品特征描述語料,使用隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)[7]主題模型提取物品主題特征,在此基礎上,結合TF-IDF提取主題關鍵詞特征,作為物品描述文本信息的主題——關鍵詞特征集,以增強主題粗粒度特征對物品的描述能力,提高推薦的準確率。與現(xiàn)有的算法相比,該算法能更好地解決冷起動問題。
LDA主題模型其實是基于“文本–主題–詞”的三層貝葉斯產(chǎn)生式模型[8],用LDA主題模型對產(chǎn)品的評論內(nèi)容進行主題詞的抽取,用主題維度來代替原來的詞項維度,可以較好地降低文本表示的特征維度。本文通過使用主題模型,文本就被投影到k個主題上。
示文本Dn在主題Tk上的概率。
LDA的圖模型結構如上圖 1所示,在 LDA模型中,一篇文檔生成的方式為:
圖1 LDA的三層貝葉斯網(wǎng)絡模型圖Fig.1 Three-layer Bayesian network model of LDA
(1)文檔規(guī)模的大小服從 Poisson分布,記作 N~Possion(ζ);
(2)文檔Dm主題分布參數(shù)的生成θm~ Dir(α),即狄利克雷分布生成文檔Dm的K維主題向量mθ,其中狄利克雷分布參數(shù)用α表示。這個操作需要重復N次,生成所有文檔主題隨機分布;
(3)生成文檔特征詞wm,n:以根據(jù)文檔的主題向量θm的多項式分布Mulitinomial(θ)選擇該詞對應的某一隱藏主題zm,n,接著以多項式概率分布Mulitinomial(φ(z))即φk,從主題z中擇某一特征詞wm,n。
本文使用Google公司的開源工具Word2vec[9],處理及簡化向量空間中詞向量運算,包含兩種語言模型。其中,CBOW根據(jù)上下文語境預測目標詞語,Skip-Gram根據(jù)當前單詞預測上下文語境窗口內(nèi)的詞語。
具體處理及簡化運算的步驟如下:
Step.1通過爬蟲程序爬取評論信息,并進行預處理;
Step.2訓練主題模型,生成word2vec詞向量;
Step.3獲取文本關鍵詞語的詞向量,計算每條評論文本詞向量均值,做為每條評論文本的文本向量;
Step.4將有標記的評論文本向量按4∶1比例分為訓練集和測試集,采用 SVM 分類器,篩選出物品的正向評論、獲取物品正向評論率。物品i正向評論率posir為物i正向評論條數(shù)counti,與物品i總評論條數(shù) c ommentsi比值。
在給具體某用戶推薦物品時還需要考慮該用戶歷史評分,把用戶ui對物品 j的評分用Si,j進行表示,用戶歷史記錄中有打分行為的物品數(shù)目為n,用戶ui對物品 j的評分偏好記為wi,j,則計算公式為:
其中posir是物品i的正向評論率,是物品i正向評論條數(shù)與其總評論條數(shù)比值。
實驗數(shù)據(jù)采用爬蟲技術從豆瓣電影網(wǎng)站[9]采集共1 000部電影,830萬條評論信息,并獲取用戶對電影評分數(shù)據(jù),部分評論數(shù)據(jù)如表1所示。按4∶1樣本進行實驗訓練,計算推薦準確率、召回率信息。
表1 部分電影信息Table 1 Some movie information
圖2和圖3分別展示了Top-N不同推薦長度下推薦準確率、召回率。從圖上可以看出,在比較不同算法在相同的推薦長度下,本文的算法的優(yōu)勢明顯?;趦?nèi)容的推薦算法在推薦長度相同的情況下,準確率和召回率均有所提高。
圖2 不同推薦長度下推薦準確率Fig.2 Recommen dation accuracy under different recommendation length
圖3 不同推薦長度下推薦召回率Fig.3 Recommendation recall rate under different recommendation length
提出了一種融合用戶情感分析的個性化推薦算法,通過選取主題關鍵詞結合TF-IDF權重進行物品主題關鍵詞特征拓展,分析用戶感興趣物品相似度較高的產(chǎn)品作為推薦列表進行推薦。按4∶1樣本進行實驗訓練,驗證了該算法能更好地解決冷起動問題。