〇1…,〇k],其中r。,〇1…,〇k表示從用戶撰寫(xiě)的商品評(píng)論中挖掘得到的意見(jiàn)評(píng)分;在實(shí)驗(yàn) 過(guò)程中,可以直接將r= [rQ,ri…,rk]替換為r= [rQ,cv,〇k]并用于聚類與推薦的過(guò)程 之中;目標(biāo)是同時(shí)對(duì)用戶{A,…,uj和商品,…,ij聚類為c個(gè)簇;聚類結(jié)果應(yīng)該被表 示為一個(gè)分塊矩陣MG[〇, 1](n+m)x'其中每個(gè)元素My表示相應(yīng)的元素對(duì)象i屬于簇j的 概率,因此,當(dāng)元素對(duì)象i屬于簇j的時(shí)候1f0,否則Mif0 ;由于M^j的大小直接反應(yīng) 了該元素對(duì)象i屬于簇j的可能性,所以分塊矩陣M的每一行之和要求為1 ;此外,如果限 制每一個(gè)元素對(duì)象能夠加入的簇的最大個(gè)數(shù),譬如1個(gè)簇,即1 < 1 <c,那么最多只可能在 M中的每一行中得到1個(gè)非零值;上述分塊矩陣可以被改寫(xiě)為:其中,PG[〇, 1]^為關(guān)于用戶的分塊矩陣,QG[〇, 1] 為關(guān)于商品的分塊矩陣; 對(duì)于用戶,相似性矩陣SUG[-1,l]nXn采用以下方式進(jìn)行構(gòu)建:其中,rx,i和ry,i分別表不用戶u #uy對(duì)商品i的評(píng)分向量,&和.義...分別表不用戶Ux 和uy的平均評(píng)分向量,Clx,y表示用戶uJPuy共同評(píng)論過(guò)的商品集合,IClx,yI表示屬于CIx,y 的商品的個(gè)數(shù);關(guān)于商品的相似性矩陣SIG[-l,irXm可以采用以下方式進(jìn)行構(gòu)建:其中,和ruiy分別表不用戶U對(duì)商品ix和iy的評(píng)分向量,&和.分別表不用戶I 和\的平均評(píng)分向量,⑶"表示曾經(jīng)對(duì)商品込和iy進(jìn)行過(guò)評(píng)分的用戶集合,I⑶表示 屬于cu"的用戶的個(gè)數(shù); 4)使用雙向聚類算法得到聚類矩陣 為了能夠?qū)τ脩艉蜕唐愤M(jìn)行雙向聚類,提出通過(guò)最小化以下目標(biāo)函數(shù)將緊密相關(guān)的用 戶或者商品關(guān)聯(lián)起來(lái);其中,Pl是分塊矩陣P的第i行,和巧"是關(guān)于用戶的對(duì)角度矩陣,計(jì)算方式為:屯是分塊矩陣Q的第i行,A廠,和五,是關(guān)于商品的對(duì)角 度矩陣,計(jì)算方式為:通過(guò)代數(shù)轉(zhuǎn)換,上式可以轉(zhuǎn)化為:InGRnXn表示單位矩陣;求解以下優(yōu)化問(wèn)題:滿足:MG[〇, 1] (n+m)Xe,Plc= 1n+m,|Pi | = 1,i= 1,…,(n+m);參數(shù)c是聚類的簇的個(gè) 數(shù)以及1是每個(gè)用戶或者商品可以屬于的簇的最大個(gè)數(shù),即1彡1彡c;另外,符號(hào)I?I表 示一個(gè)向量的非零元素的個(gè)數(shù); 提出一個(gè)兩階段的策略對(duì)上式進(jìn)行求解,具體描述如下: 4. 1)搜索一個(gè)共享低維空間對(duì)所有的用戶和商品信息進(jìn)行表示,最優(yōu)的保留用戶和商 品信息的t維矩陣Z'可以通過(guò)對(duì)以下問(wèn)題求解獲取:滿足:ZG[〇,l](n+m)Xt,ZTZ=It;其中,ItGRtxt表示單位矩陣并且ZTZ= 11;在這里,ZTZ=It主要用于避免矩陣Z任意擴(kuò)展;由于k是一個(gè)半正定矩陣,所以對(duì)于最優(yōu)解Z'可 以通過(guò)對(duì)特征值問(wèn)題KZ=AZ進(jìn)行求解獲得,也就是f= [Zi,…,zt],其中Zi,…,24是 根據(jù)矩陣k的特征值保留的最小特征向量; 4. 2)對(duì)用戶與商品同時(shí)進(jìn)行聚類,即雙向聚類; 考慮到用戶與商品均可以同時(shí)出現(xiàn)在一個(gè)或者多個(gè)簇內(nèi),提出對(duì)在最大程度上保留了 用戶與商品信息的矩陣Z'上執(zhí)行FuzzyC-Means聚類算法;執(zhí)行FuzzyC-Means聚類算 法的過(guò)程,也就是對(duì)以下目標(biāo)函數(shù)進(jìn)行迭代優(yōu)化的過(guò)程:其中My表示元素。屬于簇j的概率,Vj表示簇j的中心;函數(shù)d(.)表示歐幾里得 距離函數(shù),0表示用于控制聚類結(jié)果的模糊程度的參數(shù);在每一次迭代過(guò)程中,算法根據(jù) 以下式子更新矩陣M和V的元素:其中i= 1,. .,(m+n),j= 1,. .,c如果在兩個(gè)連續(xù)的迭代過(guò)程中目標(biāo)函數(shù)minJ(M,V) 的差距不小于閾值e,算法將被終止;在對(duì)矩陣M進(jìn)行求解之后,矩陣每一行中1個(gè)最大并 且總和超過(guò)預(yù)設(shè)閾值的元素將被保留下來(lái),并且進(jìn)行歸一化,因此,矩陣M中每一行的元素 之和為1 ; 5)單一簇內(nèi)推薦 5. 1)使用聚合函數(shù)算法得到單一簇內(nèi)推薦 基于聚合函數(shù)的推薦方法一般假設(shè):用戶對(duì)商品的綜合評(píng)分與多指標(biāo)評(píng)分緊密相關(guān), 即綜合評(píng)分往往由多指標(biāo)評(píng)分決定;由此,基于聚合函數(shù)的推薦方法提出利用多指標(biāo)評(píng)分 構(gòu)建關(guān)于綜合評(píng)分的聚合函數(shù),由構(gòu)建的聚合函數(shù)對(duì)用戶的評(píng)分進(jìn)行預(yù)測(cè);提出使用基于 主成份分析的回歸方法構(gòu)建關(guān)于綜合評(píng)分的聚合函數(shù)并將其用于計(jì)算推薦結(jié)果;主成份分 析是一種用于對(duì)數(shù)據(jù)進(jìn)行降維分析的方法,其主要核心思想是通過(guò)從數(shù)據(jù)樣本中抽取出少 數(shù)的主成份來(lái)代表全體數(shù)據(jù)樣本;如何選擇主成份主要是根據(jù)樣本數(shù)據(jù)的特征值方差進(jìn)行 的,即每次選擇的主成份都是數(shù)據(jù)樣本中特征值方差最大的;根據(jù)特征值方差選取的主成 分之間是互不相關(guān)的,由此可以排除多指標(biāo)評(píng)分之間存在的共線性關(guān)系影響;在此基礎(chǔ)上, 利用選取的主成份構(gòu)建關(guān)于因變量的聚合函數(shù); 在使用主成份回歸對(duì)用戶構(gòu)建關(guān)于綜合評(píng)分的聚合函數(shù)之后,目標(biāo)用戶對(duì)候選推薦商 品的可能評(píng)分由下式進(jìn)行預(yù)測(cè):其中,rUil表示目標(biāo)用戶u對(duì)候選推薦商品i的預(yù)測(cè)評(píng)分,w。表示聚合函數(shù)中關(guān)于指標(biāo)c的系數(shù),ru,表示用戶u'對(duì)商品i在指標(biāo)c上的評(píng)分,cu表示位于同一簇內(nèi)對(duì)商品i進(jìn) 行過(guò)評(píng)分的用戶集合,|CU|表示位于集合cu中的用戶的個(gè)數(shù); 5.2)使用協(xié)同過(guò)濾函數(shù)算法得到單一簇內(nèi)推薦 基于多指標(biāo)評(píng)分的協(xié)同過(guò)濾算法的核心思想是:即便用戶被聚類至同一個(gè)具有相同或 者相似的指標(biāo)偏好的簇內(nèi),他們也不是具有完全一致的指標(biāo)偏好;換而言之,在預(yù)測(cè)推薦結(jié) 果的時(shí)候,同一簇內(nèi)的不同用戶應(yīng)該被差異化對(duì)待;由此,提出使用基于多指標(biāo)評(píng)分的協(xié)同 過(guò)濾算法產(chǎn)生推薦結(jié)果,具體計(jì)算公式為:其中,€表示用戶u的綜合評(píng)分的均值,表示用戶u'對(duì)商品i的綜合評(píng)分, sim(u,u')表示利用多指標(biāo)評(píng)分計(jì)算的關(guān)于用戶u和u'之間的興趣相似度; 采取基于歐幾里得距離的計(jì)算方法,具體描述如下: 用戶屯和uy對(duì)商品i的兩個(gè)評(píng)分向量為rXii=[rw,rx,k]和ryii=]rw,ry,J, 兩者的歐幾里得距離計(jì)算如下:用戶udPU,的整體距離計(jì)算為他們共同評(píng)論過(guò)的商品的評(píng)分向量的歐幾里得距離的 均值,即:如果兩個(gè)用戶的興趣相似度越高,則他們的整體距離應(yīng)該越小;換言之,兩者之間存在 逆關(guān)系;由此,用戶udPU,的興趣相似度計(jì)算如下:6)使用綜合函數(shù)算法得到最終推薦結(jié)果 上面所采用的基于多指標(biāo)評(píng)分的雙向聚類算法,在經(jīng)過(guò)聚類后,同一個(gè)用戶或者商品 允許同時(shí)出現(xiàn)在多個(gè)簇內(nèi),提出的推薦算法每次只利用一個(gè)簇內(nèi)存在的評(píng)分?jǐn)?shù)據(jù)預(yù)測(cè)推薦 結(jié)果,這樣就會(huì)得到一個(gè)或者多個(gè)來(lái)源于不同簇的推薦結(jié)果,因此,需要找到合適的策略將 這些推薦結(jié)果綜合起來(lái)返回給目標(biāo)用戶作為最終推薦結(jié)果;由于提出的聚類算法基于以下 兩個(gè)假設(shè):①如果兩個(gè)用戶對(duì)同一個(gè)或多個(gè)商品給出了相同或者相似的綜合評(píng)分和多指標(biāo) 評(píng)分,這兩個(gè)用戶極有可能同時(shí)屬于一個(gè)或者多個(gè)簇;②如果兩個(gè)商品被一個(gè)或者多個(gè)用 戶給出了相同或者相似的綜合評(píng)分和多指標(biāo)評(píng)分,這兩個(gè)商品極有可能同時(shí)屬于一個(gè)或者 多個(gè)簇;因此,可以將聚類后的關(guān)于用戶和商品歸屬分布的分塊矩陣M中的元素,即M^,視 作該元素對(duì)象i與簇j內(nèi)其它元素的相似程度,即一個(gè)用戶與簇內(nèi)其它用戶的指標(biāo)偏好的 相似性,或者,一個(gè)商品與簇內(nèi)其它商品被用戶評(píng)論的相似性;在綜合多個(gè)推薦結(jié)果時(shí),需 要將關(guān)于用戶和商品的相似性指示值即考慮入內(nèi),由此提出以下綜合策略:其中,RUii表示用戶u對(duì)商品i的最終預(yù)測(cè)評(píng)分,Pre(u,i, 1)表示用戶u對(duì)商品i在簇 1中的推薦結(jié)果;使用上述綜合策略,只有當(dāng)用戶u和商品i同時(shí)屬于一個(gè)或者多個(gè)簇的時(shí) 候,即MXil辛0,Myil# 0, 1 = 1,…,h,h<c;推薦算法才能產(chǎn)生預(yù)測(cè)結(jié)果;另外,參數(shù)h表 示在參數(shù)推薦是考慮的具有最大隸屬概率的簇的個(gè)數(shù),只有前h個(gè)具有最大隸屬概率的簇 的信息才會(huì)被考慮入內(nèi)產(chǎn)生推薦,這樣做主要是為了過(guò)濾噪聲信息。2.根據(jù)權(quán)利要求1所述的一種基于多指標(biāo)評(píng)分的推薦算法,其特征在于:在步驟1) 中,衡量一個(gè)特征關(guān)鍵字w與指標(biāo)A之間的詞頻依賴關(guān)系的x2統(tǒng)計(jì)指標(biāo)計(jì)算如下:其中,c表示所有特征關(guān)鍵字出現(xiàn)的次數(shù),(^表示特征關(guān)鍵字w出現(xiàn)在屬于指標(biāo)A的句 子中的次數(shù),(:2表示特征關(guān)鍵字w出現(xiàn)在不屬于指標(biāo)A的句子中的次數(shù),C3表示屬于指標(biāo)A 的但不包含特征關(guān)鍵字W的句子的個(gè)數(shù),(:4表示表示既不屬于指標(biāo)A的又不包含特征關(guān)鍵 字w的句子的個(gè)數(shù)。
【專利摘要】本發(fā)明公開(kāi)了一種基于多指標(biāo)評(píng)分的推薦算法,包括以下步驟:1)指標(biāo)關(guān)鍵詞的識(shí)別;2)意見(jiàn)評(píng)分抽??;3)用戶和商品相似度矩陣構(gòu)建;4)使用雙向聚類算法得到聚類矩陣;5)單一簇內(nèi)推薦;6)使用綜合函數(shù)算法得到最終推薦結(jié)果。本發(fā)明可以解決用戶對(duì)于不同的商品可能具有不同的指標(biāo)偏好的個(gè)性化推薦問(wèn)題,具有較高的準(zhǔn)確率,可以獲得更高質(zhì)量的推薦結(jié)果。
【IPC分類】G06F17/30
【公開(kāi)號(hào)】CN105095477
【申請(qǐng)?zhí)枴緾N201510493550
【發(fā)明人】陳健, 林世杭
【申請(qǐng)人】華南理工大學(xué)
【公開(kāi)日】2015年11月25日
【申請(qǐng)日】2015年8月12日