徐積文,張永棠
(廣東東軟學院 計算機學院,廣東 佛山 528225)
評論信息是消費者選購商品的參考信息之一,對商品購買決策的影響非常重要[1],然而,評論信息形式為半結構化或非結構化,商品購買決策時面臨前所未有的挑戰[2]。文獻[3]采取基于內容的熱門話題的個性化推薦,并且利用文本相似度計算方法計算微博話題與用戶之間的相似度,實現個性化的推薦。文獻[4]提出一種聯合K-means的個性化推薦方法,將具有相似特征的產品聚到一個類別內,然后將與每個聚類中心點最近的產品推薦給用戶。文獻[5]在新聞文本分類的文本分類算法中使用LDA進行特征降維;文獻[6]在研究文本間的相似性問題時,使用 LDA模型計算文本相似,根據文本相似度將搜索記錄數據結果集進行分類。
這些推薦系統一般使用戶評分數據的推薦算法,存在數據稀疏、評分信息不能夠真實有效地表達用戶興趣等問題。本文以網站商品評論為物品特征描述語料,使用隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)[7]主題模型提取物品主題特征,在此基礎上,結合TF-IDF提取主題關鍵詞特征,作為物品描述文本信息的主題——關鍵詞特征集,以增強主題粗粒度特征對物品的描述能力,提高推薦的準確率。與現有的算法相比,該算法能更好地解決冷起動問題。
LDA主題模型其實是基于“文本–主題–詞”的三層貝葉斯產生式模型[8],用LDA主題模型對產品的評論內容進行主題詞的抽取,用主題維度來代替原來的詞項維度,可以較好地降低文本表示的特征維度。本文通過使用主題模型,文本就被投影到k個主題上。

示文本Dn在主題Tk上的概率。
LDA的圖模型結構如上圖 1所示,在 LDA模型中,一篇文檔生成的方式為:

圖1 LDA的三層貝葉斯網絡模型圖Fig.1 Three-layer Bayesian network model of LDA
(1)文檔規模的大小服從 Poisson分布,記作 N~Possion(ζ);
(2)文檔Dm主題分布參數的生成θm~ Dir(α),即狄利克雷分布生成文檔Dm的K維主題向量mθ,其中狄利克雷分布參數用α表示。這個操作需要重復N次,生成所有文檔主題隨機分布;
(3)生成文檔特征詞wm,n:以根據文檔的主題向量θm的多項式分布Mulitinomial(θ)選擇該詞對應的某一隱藏主題zm,n,接著以多項式概率分布Mulitinomial(φ(z))即φk,從主題z中擇某一特征詞wm,n。




本文使用Google公司的開源工具Word2vec[9],處理及簡化向量空間中詞向量運算,包含兩種語言模型。其中,CBOW根據上下文語境預測目標詞語,Skip-Gram根據當前單詞預測上下文語境窗口內的詞語。
具體處理及簡化運算的步驟如下:
Step.1通過爬蟲程序爬取評論信息,并進行預處理;
Step.2訓練主題模型,生成word2vec詞向量;
Step.3獲取文本關鍵詞語的詞向量,計算每條評論文本詞向量均值,做為每條評論文本的文本向量;
Step.4將有標記的評論文本向量按4∶1比例分為訓練集和測試集,采用 SVM 分類器,篩選出物品的正向評論、獲取物品正向評論率。物品i正向評論率posir為物i正向評論條數counti,與物品i總評論條數 c ommentsi比值。
在給具體某用戶推薦物品時還需要考慮該用戶歷史評分,把用戶ui對物品 j的評分用Si,j進行表示,用戶歷史記錄中有打分行為的物品數目為n,用戶ui對物品 j的評分偏好記為wi,j,則計算公式為:







其中posir是物品i的正向評論率,是物品i正向評論條數與其總評論條數比值。
實驗數據采用爬蟲技術從豆瓣電影網站[9]采集共1 000部電影,830萬條評論信息,并獲取用戶對電影評分數據,部分評論數據如表1所示。按4∶1樣本進行實驗訓練,計算推薦準確率、召回率信息。

表1 部分電影信息Table 1 Some movie information
圖2和圖3分別展示了Top-N不同推薦長度下推薦準確率、召回率。從圖上可以看出,在比較不同算法在相同的推薦長度下,本文的算法的優勢明顯。基于內容的推薦算法在推薦長度相同的情況下,準確率和召回率均有所提高。

圖2 不同推薦長度下推薦準確率Fig.2 Recommen dation accuracy under different recommendation length

圖3 不同推薦長度下推薦召回率Fig.3 Recommendation recall rate under different recommendation length
提出了一種融合用戶情感分析的個性化推薦算法,通過選取主題關鍵詞結合TF-IDF權重進行物品主題關鍵詞特征拓展,分析用戶感興趣物品相似度較高的產品作為推薦列表進行推薦。按4∶1樣本進行實驗訓練,驗證了該算法能更好地解決冷起動問題。