一種基于多指標評分的推薦算法
【技術領域】
[0001] 本發(fā)明涉及電子商務推薦系統(tǒng)的技術領域,尤其是指一種基于多指標評分的推薦 算法。
【背景技術】
[0002] 通過主動為用戶推送其可能感興趣的信息或者服務,推薦系統(tǒng)幫助用戶獲取更多 有用信息并且節(jié)省檢索時間。傳統(tǒng)推薦系統(tǒng)的實現(xiàn)主要依賴于協(xié)同過濾技術,雖然在一定 范圍內取得了成功,但是協(xié)同過濾技術往往只利用單一的綜合評分對用戶的喜好進行刻 畫,綜合評分只能刻畫用戶喜歡一個商品的程度,對用戶喜歡該商品的原因卻一無所知。為 了對用戶的喜好信息進行更加細致的刻畫并提高推薦結果的準確性,新興的推薦系統(tǒng)應致 力于獲取用戶對商品不同指標的評分信息并加以利用。在這里,指標表示商品共有的屬性, 譬如,對于酒店,其地理位置、房間、服務等都可以用戶描述該酒店優(yōu)劣的指標。
[0003] 隨著Web 2.0技術的出現(xiàn)與發(fā)展,越來越多的大型網(wǎng)站鼓勵用戶以多種方式與網(wǎng) 站進行互動,這使得推薦系統(tǒng)獲取并利用多指標評分信息成為可能。近年來,許多學者在強 調多指標評分重要性的同時,也指出用戶為商品撰寫的評論具有重要意義,這類商品評論 往往包含了大量用戶對商品的評價信息,換而言之,除了由用戶直接提供之外,多指標評分 也可以依賴一定的評論挖掘技術由商品評論中獲取。
[0004] 目前,基于多指標評分的推薦系統(tǒng)與基于商品評論挖掘的推薦系統(tǒng)均取得了一定 的研究成果。但是,這些研究成果很大程度上基于一個既定假設:用戶對所有的商品均采取 相同的指標偏好,實際上,這樣的假設與我們的日常認知存在誤差。
【發(fā)明內容】
[0005] 本發(fā)明的目的在于克服現(xiàn)有技術的不足,提供一種基于多指標評分的推薦算法, 以解決用戶對于不同的商品可能具有不同的指標偏好的個性化推薦問題。
[0006] 為實現(xiàn)上述目的,本發(fā)明所提供的技術方案為:一種基于多指標評分的推薦算法, 包括以下步驟:
[0007] 1)指標關鍵詞的識別
[0008] I. 1)將數(shù)據(jù)集中的每一條評論分割成句子Ix1, X2,…},并且構造一個由具有表征 性的關鍵字組成的列表;
[0009] 1. 2)根據(jù)原始的關鍵字列表,將評論語料庫中的每一個句子標識至與其具有最大 詞頻重合度的指標;
[0010] 1.3)使用X2統(tǒng)計指標衡量每一個指標與關鍵字之間的詞頻關系,并將前t個具 有最尚詞頻依賴關系的關鍵字加入該指標的關鍵字列表中;
[0011] 1. 4)重復上述過程直至算法滿足終止條件,即指標的關鍵字列表保持不變或者算 法的循環(huán)次數(shù)到達閾值;
[0012] 2)意見評分抽取
[0013] 在識別商品指標及其相關的特征關鍵字之后,對評論中的語句進行語法分析并抽 取用戶對指標或者特征關鍵字的意見;
[0014] 對于每一條評論,它關于第k個指標的意見評分計算如下:
[0015]
[0016] 其中,s表示表述意見的形容詞;OPk表示由關于第k個指標的意見形容詞組成 的集合;|〇P k|表示集合元素的個數(shù);score (s)表示形容詞s的意見極性,即+1、-1或者 〇 ;通過這樣的方式,非結構化的評論文本可以轉化為一個由意見評分組成的向量Ouil = [O^1,;抽取出來的意見評分的取值范圍為[-1,1],而用戶直接給出的多指標評 分的范圍則為[1,5],為了使得兩者具有相同的取值范圍,采用等距離轉換的方式將意見評 分轉換至區(qū)間[1,5]之內,具體轉換公式如下:
[0017] Oafter= 〇 before X 2+3
[0018] 其中,0 aftCT分別表示轉換前后的意見評分數(shù)據(jù),通過采用上式,可以確保 多指標評分數(shù)據(jù)與意見評分數(shù)據(jù)具有相同的取值范圍,由此可以將兩者分別直接用于進行 推薦的過程并比較它們的作用;
[0019] 3)用戶和商品相似度矩陣構建
[0020] 在推薦系統(tǒng)中,使用U = Iu1,…,un}表示用戶的集合,I = U1,…,im}表示商品 的集合,其中η和m分別表示用戶和商品的總數(shù);一個用戶對于某一商品的評價可以表示 為一個由綜合評分和多指標評分構成的評分向量r = [r。,IV··,rk],其中r。表示綜合評分, A…,4表示關于k個指標的評分,該評分向量也可以由綜合評分和意見評分構成,即r = [r。,cv··,0k],其中r。,cv··,〇k表示從用戶撰寫的商品評論中挖掘得到的意見評分;在實驗 過程中,可以直接將r = [rQ,ri…,rk]替換為r = [rQ,cv",0k]并用于聚類與推薦的過程 之中;目標是同時對用戶Iu 1,…,uj和商品U1,…,ij聚類為c個簇;聚類結果應該被表 示為一個分塊矩陣M e [0, 1](n+m)x'其中每個元素 Mli j表示相應的元素對象i屬于簇j的 概率,因此,當元素對象i屬于簇j的時候Mli 0,否則MI 0 ;由于M h j的大小直接反應 了該元素對象i屬于簇j的可能性,所以分塊矩陣M的每一行之和要求為1 ;此外,如果限 制每一個元素對象能夠加入的簇的最大個數(shù),譬如1個簇,即1 < 1 < c,那么最多只可能在 M中的每一行中得到1個非零值;上述分塊矩陣可以被改寫為:
[0021]
[0022] 兵ψ,F(xiàn) t LU, 1」'…刀關于用戶的分塊矩陣,Q e [0, 1] mXe為關于商品的分塊矩 陣;
[0023] 對于用戶,相似性矩陣SU e [-1,l]nXn采用以下方式進行構建:
[0024]
[0025] 其中,rXii和r yii分別表不用戶ujP Uy對商品i的評分向量,☆和.分別表不用戶 UdPuy的平均評分向量,ci "表示用PuJPuy共同評論過的商品集合,|ci "I表示屬于 (:1"的商品的個數(shù);關于商品的相似性矩陣SI e [-1,1] 可以采用以下方式進行構建:
[0026]
[0027] 其中,rUiX和r Uiy分別表不用戶u對商品i jP i y的評分向量,&和&分別表不用戶 屯和uy的平均評分向量,cux,y表示曾經(jīng)對商品i JP iy進行過評分的用戶集合,IcuJ表 示屬于CU"的用戶的個數(shù);
[0028] 4)使用雙向聚類算法得到聚類矩陣
[0029] 為了能夠對用戶和商品進行雙向聚類,提出通過最小化以下目標函數(shù)將緊密相關 的用戶或者商品關聯(lián)起來;
[0030]
[0031] 其中,P1是分塊矩陣P的第i行,是關于用戶的對角度矩陣,計算方式 為
_ Q1是分塊矩陣Q的第i行,盡Γ和是關于商品的對 角度矩陣,計算方式爻
J-I 一 -?:
[0032] 通過代數(shù)轉換,上式可以轉化為:
[0033]
[0036] Ine Rnxn表示單位矩陣;求解以下優(yōu)化問題:
[0037]
[0038] 滿足:M e [0, 1] (n+m)Xc,Plc= I n+m,Ipi I = 1,i = 1,···,(n+m);參數(shù) c 是聚類的簇 的個數(shù)以及1是每個用戶或者商品可以屬于的簇的最大個數(shù),即1彡1彡c ;另外,符號卜 表示一個向量的非零元素的個數(shù);
[0039] 提出一個兩階段的策略對上式進行求解,具體描述如下:
[0040] 4. 1)搜索一個共享低維空間對所有的用戶和商品信息進行表示,最優(yōu)的保留用戶 和商品信息的t維矩陣Z'可以通過對以下問題求解獲?。?br>[0041]
[0042] 則~."一 L,丄」 ,/Z = It;其中,I tG Rtxt表示單位矩陣并且ZtZ =仁;在 這里,ZTZ = It主要用于避免矩陣Z任意擴展;由于k是一個半正定矩陣,所以對于最優(yōu)解 可以通過對特征值問題KZ= λζ進行求解獲得,也就是t ζ?ζρ-,ζ」,其中Z1,…,Zt 是根據(jù)矩陣k的特征值保留的最小特征向量;
[0043] 4.2)對用戶與商品同時進行聚類,即雙向聚類;
[0044] 考慮到用戶與商品均可以同時出現(xiàn)在一個或者多個簇內,提出對在最大程度上保 留了用戶與商品信息的矩陣t上執(zhí)行Fuzzy C-Means聚類算法;執(zhí)行Fuzzy C-Means聚 類算法的過程,也就是對以下目標函數(shù)進行迭代優(yōu)化的過程:
[0045]
[0046] 其中M1,;表示元素 e i屬于簇j的概率,V ;表示簇j的中心;函數(shù)d(.)表示歐幾 里得距離函數(shù),Θ表示用于控制聚類結果的模糊程度的參數(shù);在每一次迭代過程中,算法 根據(jù)以下式子更新矩陣M和V的元素:
[0047]
[0048]
[0049] 其中卜(辦+ I,j = 1,…,c如果在兩個連續(xù)的迭代過程中目標函數(shù)min J(M,V)的差距不小于閾值