專利名稱::一種基于協(xié)同過濾的推薦方法和系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及網(wǎng)絡通訊
技術領域:
,尤其涉及一種基于協(xié)同過濾的推薦方法和系統(tǒng)。
背景技術:
:推薦系統(tǒng)是為解決信息過載問題而提出的一種智能代理系統(tǒng),能從大量信息中向用戶自動推薦出符合其興趣偏好或需求的資源。隨著互聯(lián)網(wǎng)的普及和飛速發(fā)展,推薦系統(tǒng)已經(jīng)被廣泛應用于各種領域,尤其在電子商務領域,推薦系統(tǒng)得到了越來越多的研究和應用。目前,幾乎所有的大型電子商務網(wǎng)站都不同程度的使用了各種形式的推薦系統(tǒng),比如Amazon、CDN0W、eBay和當當網(wǎng)上書店等。其中,協(xié)同過濾技術在當前推薦系統(tǒng)的應用中獲得了較大的成功。協(xié)同過濾算法主要有基于用戶的協(xié)同過濾算法和基于項目的協(xié)同過濾算法。兩種算法的輸入都是用戶對項目的評分矩陣,如表l所示表l用戶對項目的評分矩陣\^目用^^項目1項目2項目3項目4項目5項目6項目7項目8用戶l534用戶2425用戶3353用戶4454用戶55352用戶6345用戶7244用戶83443用戶9545其中,用戶對項目的評分可以顯式獲得,例如通過用戶對項目進行評分操作;也可隱式獲得,例如通過用戶對項目的搜索、瀏覽、購買等7行為構(gòu)造評分函數(shù)計算得到。矩陣的每一行形成的向量表示該行對應用戶的對各個項目的評分向量?;谟脩舻膮f(xié)同過濾算法的基本原理是利用用戶對項目評分的相似性來互相推薦用戶可能感興趣的項目。例如對當前用戶U,系統(tǒng)通過其評分記錄及特定相似度函數(shù),計算出與其評分行為最相近的k個用戶作為用戶U的最近鄰居集,統(tǒng)計用戶U的近鄰用戶評分過而用戶U未評分的項目生成候選推薦集,然后計算用戶U對候選推薦集中每個項目i的預測評分,取其中預測評分最高的N個項目作為用戶U的Top-N推薦集?;陧椖康膮f(xié)同過濾算法則比較項目之間的相似性,根據(jù)當前用戶已評分的項目集合推薦未評分的項目。由于項目之間的相似性比用戶相似性穩(wěn)定,因此可以離線進行計算存儲并定期更新,所以基于項目的協(xié)同過濾算法相對于基于用戶的協(xié)同過濾算法,推薦精度高,實時性好,對基于項目的協(xié)同過濾算法進行優(yōu)化推薦準確度更高、效果更佳、更符合客戶需求。基于項目的協(xié)同推薦的基本處理流程,分為線下相似度計算和線上推薦兩個部分。圖l所示為基于項目的協(xié)同推薦方法中線下相似度計算流程,圖2所示為基于項目的協(xié)同推薦方法中線上推薦流程。圖l中線下相似度計算流程用于計算并保存項目間的相似度。其中,步驟l:獲取每一用戶對每一項目的評分矩陣;步驟2:計算各個項目間相似度,可采用相似度函數(shù)為余弦相似度、皮爾森相似度(Pearson)等;步驟3、存儲各個不同項目間相似度。在預先計算存儲了各個不同項目間相似度的基礎上,如圖2所示線上推薦流程如下步驟ll:獲取待推薦的用戶標識(ID),即目標用戶標識(ID);步驟12:獲取目標用戶ID對應的目標用戶已經(jīng)評分的項目集合;步驟13:根據(jù)預先存儲的項目相似度數(shù)據(jù),獲取與目標用戶已經(jīng)評分的項目集合中各項目相似度高的項目,形成該目標用戶的待推薦項目集;步驟14:根據(jù)項目間相似度,進一步計算目標用戶對待推薦項目集中每個項目8的預測評分,例如根據(jù)如下公式計算預測評分尸仏,J,"H,其中,iV.,表示目標用戶U對待項目i的預測評分,WmC/,z')表示項目j和項目i之間的相似度,i"表示用戶t/對項目y的實際評分;步驟15:根據(jù)預測評分結(jié)果取評分最高的前N項作為對目標用戶的推薦結(jié)果。在基于項目的協(xié)同過濾算法流程中,項目間的相似度對最終的推薦結(jié)果有著至關重要的影響。在傳統(tǒng)的基于項目的協(xié)同過濾推薦算法中,項目之間相似度的計算并未考慮到不同偏好用戶群之間的差異。項目間相似度基于用戶評分矩陣計算得到,對所有的用戶而言,同樣兩個項目,它們之間的相似度是相同的。而現(xiàn)實中,對同樣兩個項目的看法,不同偏好的用戶群觀點通常不同。這勢必造成推薦準確度低,質(zhì)量下降。
發(fā)明內(nèi)容為了提高推薦的準確性,符合用戶偏好,本發(fā)明實施例提供一種基于協(xié)同過濾的推薦方法和系統(tǒng)。一種基于協(xié)同過濾的推薦方法,包括獲取目標用戶標識;查找所述目標用戶標識對應的用戶群標識;獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的項目間相似度;根據(jù)所述項目間相似度,向目標用戶推薦項目。一種基于協(xié)同過濾的推薦系統(tǒng),包括推薦控制模塊,用于獲取目標用戶標識,調(diào)用確定待推薦集模塊和生成模塊向所述目標用戶標識對應的目標用戶推薦項目;確定待推薦集;f莫塊,用于查找所述目標用戶標識對應的用戶群組標識,獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的項目間相似度,根據(jù)所述項目間相似度確定待推薦集,或者獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的熱點項目集,將所述熱點項目集作為待推薦集;生成推薦才莫塊,用于向用戶推薦推薦集中的項目。采用本發(fā)明實施例提供的基于協(xié)同過濾的推薦方法和系統(tǒng),通過將用戶9分群,使得用戶群中的每個用戶偏好基本相同,利用這樣的用戶群所包含的項目相似度信息為用戶推薦,提高了推薦的準確性,體現(xiàn)了個性化。圖1為現(xiàn)有技術基于項目的協(xié)同推薦方法中線下相似度計算流程;圖2為現(xiàn)有技術基于項目的協(xié)同推薦方法中線上推薦流程;圖3為本發(fā)明實施例一提供的一種基于協(xié)同過濾的推薦系統(tǒng)結(jié)構(gòu)示意圖4為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中用戶分群流程示意圖5為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中計算項目間相似度流程示意圖6為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中計算項目熱點度流程示意圖7為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中建立分類器流程示意圖8為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中線上推薦流程示意圖9為為本發(fā)明實施例三提供的一種基于協(xié)同過濾的推薦方法流程示意圖。具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。本發(fā)明實施例中提出了一種首先將用戶基于用戶-項目評分矩陣分群,每一個用戶群僅包含該群中用戶對所有項目的評分數(shù)據(jù),然后在每一個用戶群上獨立計算項目間相似度,最后以目標用戶所在群中計算得到的相似度作為依據(jù)對目標用戶進行推薦。如圖3所示為本發(fā)明實施例一提供的一種基于協(xié)同過濾的推薦系統(tǒng)結(jié)構(gòu)示意圖。該推薦系統(tǒng)包括推薦控制模塊51、生成推薦模塊52,確定待推薦集模塊54、數(shù)據(jù)庫55、評分預測模塊53、以及定時器56、用戶分群模塊57、分類器生成模塊58、項目熱點度計算模塊59和項目相似度計算模塊60。其中、評分預測模塊53中還包括相似項目評分預測模塊531、熱點項目評分預測模塊532;確定待推薦集模塊54中還包括用戶所屬群組確定模塊541、待推薦項目集確定模塊542;數(shù)據(jù)庫55中還包括用戶基本信息庫551、用戶群庫552、用戶群項目熱點度庫553、用戶項目評分矩陣庫555和用戶群項目相似度庫554。運算過程中出現(xiàn)并進行了五個部分數(shù)據(jù)的存儲和提取,其中包括系統(tǒng)基礎數(shù)據(jù)集和系統(tǒng)運算數(shù)據(jù)集。系統(tǒng)基礎數(shù)據(jù)集主要包括用戶-項目評分矩陣數(shù)據(jù),具體為每一用戶在業(yè)務使用過程中產(chǎn)生的對不同項目的評分數(shù)據(jù);用戶基本信息數(shù)據(jù),具體為描述了用戶本身的基本屬性信息,包括地域、職業(yè)、性別、年齡、教育程度等。系統(tǒng)運算數(shù)據(jù)集主要包括用戶群數(shù)據(jù),包含用戶基于用戶-項目評分矩陣數(shù)據(jù)分群的結(jié)果,每一個用戶對應一個群組,每一個群組對應一個群組中心;用戶群項目熱點度數(shù)據(jù)庫,用于記錄基于用戶分群結(jié)果生成的每個用戶群對應的熱點項目以及熱點度,其中,熱點項目為被評分最多的前M(M不小于N)個項目,熱點項目熱點度為所述項目所得評分的平均值;用戶群項目相似度數(shù)據(jù)庫,用于記錄基于用戶分群結(jié)果生成的每個用戶群對應的項目之間相似度的情況。如下詳細介紹該推薦系統(tǒng)中每一模塊的功能及模塊間的交互。該推薦系統(tǒng)中各個模塊并非全部必要,可以根據(jù)功能或性能的強弱需要,相應增減部分模塊。推薦控制模塊51為在線推薦部分的主控模塊,在接收到待推薦用戶ID(即目標用戶ID)之后,具有調(diào)用其他各模塊能力,完成整個推薦處理ii流程。確定待推薦集模塊54用于根據(jù)待推薦用戶ID確定對應目標用戶之后,通過定位目標用戶所屬用戶群,找到目標用戶評分項目的鄰居項目的集合,或者所述用戶群對應的熱點項目集,得到待推薦集,將此集合作為下一步評分預測模塊53的運算基礎。確定待推薦集模塊可進一步細分為用戶所屬群組確定模塊541、待推薦項目集確定模塊542。其中,用戶所屬群組確定模塊541用于確定用戶所屬的用戶群,可以根據(jù)目標用戶ID定位目標用戶所屬用戶群,或者根據(jù)分類器確定目標用戶所屬用戶群;待推薦項目集確定模塊542用于在目標用戶所屬群中確定待推薦項目集合,可以通過目標用戶評分項目的鄰居項目的集合,或者所述用戶群對應的熱點項目集,得到待推薦集。如果待推薦集合中項目個數(shù)小于N,則計算目標用戶與其他群組的距離,在距離最近的群組中繼續(xù)上述確定待推薦集的過程,直到推薦項目數(shù)大于或等于N,或者直到所有用戶群遍歷完畢為止。評分預測模塊53,主要用于在確定待推薦集模塊54得到的待推薦項目集合中進行基于相似項目評分的預測或基于熱點項目評分的預測,得出目標用戶對于待推薦項目的預測評分。此模塊可進一步細分為相似項目評分預測模塊531、熱點項目評分預測模塊532。其中,相似項目評分預測模塊531根據(jù)相似項目間的相似度計算預測評分,例如根據(jù)如下公式計算預測評分iV,:Z,"力哉乂,其中,A/,,表示目標用戶U對待項目i的預測評分,w7wC/力表示項目j和項目i之間的相似度,i^.,表示用戶t/對項目y的實際評分;熱點項目評分預測模塊532用于計算基于熱點項目的預測評分,例如計算熱點項目的熱點度作為熱點項目的預測評分。在本發(fā)明的其他實施例中也可不需要進行待推薦項目集合的進一步預測評分而直接推薦給用戶。生成推薦模塊52,主要用于根據(jù)評分預測模塊53對待推薦項目集合12200810216517.9說明書第7/15頁中各項目的預測評分,將評分最高的前N個項目作為對目標用戶的推薦結(jié)果。用戶分群模塊57,用于根據(jù)數(shù)據(jù)庫55中用戶-項目評分矩陣庫555中存儲的全部用戶的用戶-項目評分矩陣進行用戶分群,得到全體用戶的分群結(jié)果,以及每個群組的群組中心,存儲在數(shù)據(jù)庫55的用戶群庫552中。分類器生成模塊58,用于根據(jù)用戶分群結(jié)果,以數(shù)據(jù)庫55中用戶基本信息庫551中每一用戶群中各個用戶基本信息為分類特征,構(gòu)建一個分類器并存儲。在本發(fā)明的其他實施例中,分類訓練集也可以是根據(jù)已有用戶數(shù)量大小取一個合適的百分比,以此百分比為要求在每一個用戶群中隨機選出若干用戶基本信息作為分類訓練集數(shù)據(jù)。項目熱點度計算模塊59,用于根據(jù)用戶分群結(jié)果和用戶-項目評分矩陣,在每一個用戶群中獨立找出評分最多的若干項目,即熱點項目,計算所得評分均值,即熱點度,并存儲在數(shù)據(jù)庫55的用戶群項目熱點度庫553中。項目相似度計算模塊60,用于根據(jù)用戶分群結(jié)果和用戶-項目評分矩陣,在每一個用戶群中獨立計算項目間相似度并存儲在數(shù)據(jù)庫55的用戶群項目相似度庫554中。在本發(fā)明其他實施例中,待推薦項目集確定模塊542可以同時使用項目熱點度計算模塊59及項目相似度計算模塊60中存儲數(shù)據(jù)確定針對目標用戶所在用戶群確定待推薦項目集,也可以根據(jù)需要采用二者其中任一模定時器56,用于定時觸發(fā)用戶分群模塊57、分類器生成模塊58、項目熱點度計算模塊、項目相似度計算模塊60對基礎數(shù)據(jù)集進行處理,包括更新后的基礎數(shù)據(jù)集。在本發(fā)明的其他實施例中該模塊為可選模塊。根據(jù)上述對推薦系統(tǒng)的描述可知,推薦系統(tǒng)在執(zhí)行具體操作時可以分為線下和線上兩部分組成。其中,線下部分由定時器56定時觸發(fā)用戶分群模塊57、分類器生成模塊58、項目熱點度計算模塊59及項目相似度計算模塊60,也可通過手動觸發(fā),主要為線上部分的運算提供數(shù)據(jù),減輕線上計算量,提高推薦速率,以達到實時推薦目的。所需數(shù)據(jù)存儲于數(shù)據(jù)庫55中。線上部分主要完成的是對目標用戶的在線推薦工作。獲得目標用戶所在群組、待推薦項目集合和對待推薦項目的評分預測是線上部分的重要過程,其主要任務是在推薦前為目標用戶尋找與其興趣度最類似的項目集合并預測其評分。圖4所示為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中用戶分群流程詳細示意圖。步驟S101,獲取每一用戶對各個項目的評分;步驟S102,根據(jù)用戶項目評分,建立用戶-項目評分矩陣,如表2所示;表2用戶-項目評分矩陣^^^頁目項目1項目2項目3項目4項目5項目6項目7項目8用戶134用戶242用戶333用戶444用戶532用戶634用戶72445用戶834543用戶9545步驟S103,對用戶分群,得到若干用戶群和每個用戶群的群組中心。本實施例中提供一種基于用戶間相似度的均值聚類算法(k-means)對所有用戶進行分群。在本發(fā)明的其他實施例中可采用多種分群的方法,如人工分群、機器分群、人機結(jié)合等。其中,基于用戶間相似度的k-means聚類算法對所有用戶進行分群,包括(l)定義類別個數(shù)A和誤差精度e,隨機選取k個用戶Ml,MV'',MM々為初始群組中心,分別對應類別C',G,…,^;(2)對每個用戶",計算所述用戶與各初始群組中心的距離"(",鉍)=1—"'w(",^'),z、l,2,…,A:,w'm(t/,M)指用戶"與群組中心M的相似度。將所述用戶分到與其距離最近的初始群組邵)=Z£^牟,竭,=乂中心所在的群組中,并計算分散度'-i"[o,t/gc'',,指迭MS^代次數(shù);(3)計算新的聚類中心"U"IHIC'II,其中l(wèi)lc/ll指用戶t/的評分向量的模長,UC'II指類別C'中用戶的總數(shù);(4)重復(2)、(3)直到|五("1)-£|"終止。為每一個群賦予一個用戶群標識(ID),同時記錄下每一個用戶群最終的群組中心。在本實施例中,以將所有用戶劃分為兩個用戶群為例進行說明。如表3所示為用戶群列表。表3用戶群列表用戶ID^7"Si5""~~~~"~—_____i4i2i1i3292622827上述用戶群1和用戶群2對應的群組中心,如表4所示。表4用戶群對應的群組中心^\^頁目項目1項目2項目3項目4項目5項目6項目7項目8用戶群l0.460,300.460.440.000.000.000.00用戶群20.000.000.320,430.080.290.580.2415圖5所示為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中計算項目間相似度流程示意圖。步驟S201,獲取唯一標識每一用戶群的用戶群ID;步驟S202,根據(jù)該用戶群ID獲取對應用戶群中所有用戶對應的用戶-項目評分矩陣;步驟S203,計算該用戶群對應用戶-項目評分矩陣中項目間相似度并保存。在本發(fā)明的其他實施例中項目間相似度可采用余弦相似度、Pearson相似度、修正的余弦相似度等。在本實施例中,采用余弦相似度,得到每個用戶群對應的項目間相似度,如表5和表6所示。表5用戶群l對應的項目間相似度<table>tableseeoriginaldocumentpage16</column></row><table>步驟S204,判斷所有的用戶群是否遍歷完畢,若沒有遍歷完畢,返回步驟S201;若遍歷完畢,結(jié)束本流程。圖6所示為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中計算項目熱點度流程示意圖。步驟S301,獲取唯一標識每一用戶群的用戶群ID;步驟S302,根據(jù)該用戶群ID獲取對應用戶群中每一個用戶對應的用戶-項目評分矩陣;步驟S302,計算該用戶群對應用戶-項目評分矩陣中熱點項目熱點度,熱點項目是指被評分最多的前若干項目,項目熱點度是該項目所得評分的平均值。在本實施例中,以每個用戶群取2個熱點項目為例,每個用戶群對應的熱點項目與項目熱點度為,如表7和表8所示。表7用戶群l對應的項目熱點度<table>tableseeoriginaldocumentpage17</column></row><table>步驟S304,判斷所有的用戶群是否遍歷完畢,若沒有遍歷完畢,返回步驟S301;若遍歷完畢,結(jié)束本流程。圖7所示為本發(fā)明實施例二提供的一種基于協(xié)同過濾的推薦方法流程中建立分類器流程示意圖。步驟S401,在每個用戶群中隨機選出占該群用戶總數(shù)a。/。的用戶ID;步驟S402,獲取以上用戶的基本屬性;步驟S403,分析上述用戶基本屬性特征構(gòu)建分類器。在本發(fā)明的實施例中,可以采用決策樹、神經(jīng)網(wǎng)絡等多種方法構(gòu)造分類器。上述圖4、圖5、圖6、圖7所述流程均可在線下或離線狀態(tài)完成?;谏鲜鲇脩舴秩簲?shù)據(jù)、用戶群對應項目相似度數(shù)據(jù)、用戶群對應項目熱點度數(shù)據(jù)、分類器構(gòu)建。圖8為本發(fā)明實施例二提供的線上推薦流程示意圖。步驟S501,確定待推薦的用戶ID,通常將該用戶稱為目標用戶,即獲取目標用戶ID;步驟S502,根據(jù)該目標用戶ID判斷對應目標用戶是否在用戶群中,如果在,執(zhí)行步驟S503,則獲取該目標用戶對應的用戶群ID,否則,執(zhí)行步驟S504,獲取目標用戶基本屬性;步驟S505,利用分類器將目標用戶分到對應的某個用戶群,獲取對應的用戶群ID;步驟S506,判斷目標用戶是否有項目評分記錄,如果有,執(zhí)行步驟S507,確定相似項目待推薦集,否則,執(zhí)行步驟S508,計算目標用戶對所屬用戶群的熱點項目的評分預測,在本實施例中可以要求熱點項目數(shù)不小于W;步驟S509,利用目標用戶所在用戶群中項目相似度和用戶項目評分為依據(jù),選擇與用戶評分高的項目相似度高的且目標用戶未評分的項目作為待推薦集,判斷待推薦集中項目數(shù)目是否不小于7V;如果否,執(zhí)行步驟S511,計算目標用戶與其他用戶群的群組中心的距離,在離目標用戶最近的其他群中選擇待推薦集并與上述步驟的待推薦集作并集處理,直到待推薦集中項目數(shù)目不小于iV,或者直到所有用戶群遍歷完畢為止;如果是,執(zhí)行步驟S510,計算目標用戶對待推薦集中每一個項目的評分預測。步驟S512,將評分預測最高的7V個項目作為推薦項目向目標用戶推薦。在本實施例中,步驟S504,步驟S505為了解決當新目標用戶不在已有的用戶群中,對新用戶進行分群后進行推薦的流程,可以預見的在不考慮新目標用戶的情況下。步驟S504,步驟S505為可選步驟。步驟S506給出了了當目標用戶有評分記錄和沒有評分記錄的兩種推薦流程,在本發(fā)明的其他實施例中可以采用其中之一。步驟S508和步驟S507也同時給出了兩種推薦的算法,可以預見在本發(fā)明的其他實施例中可以任意采用其中之一。步驟S509,S511給出當待推薦集中項目數(shù)小于N時,在臨近用戶群中確定待推薦集的流程,可以預見在本發(fā)明的其他實施例中若對推薦集項目數(shù)不做限制時為可選步驟。步驟S510在本發(fā)明的其他實施例中直接將待推薦集推薦給用戶時為可選步驟。步驟S510同樣為提高推薦準確度的步驟在本發(fā)明的其他實施例為可選步驟。綜上所述,本實施例方法流程的上述步驟可以根據(jù)推薦準確度的需要進行靈活適當?shù)恼{(diào)整、取舍,均能達到提高推薦準確度的效果。如圖9所示為本發(fā)明實施例三結(jié)合一具體應用實例說明本發(fā)明方法流程。步驟S601,獲取目標用戶ID,確定對應的目標用戶。在本發(fā)明的實施例中,目標用戶由業(yè)務調(diào)用方提供。業(yè)務調(diào)用方給出目標用戶ID,期望獲取該目標用戶的推薦項目列表。假設用戶7為目標用戶,如表9所示為用戶-項目評分矩陣。表9用戶-項目評分矩陣<table>tableseeoriginaldocumentpage19</column></row><table>步驟S602,獲取目標用戶所在用戶群的ID。在本實施例中,根據(jù)表3可知用戶7屬于用戶群2。如果目標用戶是新用戶,則需要利用用戶基本信息將用戶分類以獲取該新用戶所在用戶群的ID。步驟S603,確定待推薦集。首先取用戶7評分高的項目,這里以用戶7評分大于等于4為評分高的標準,例如評分大于等于4的項目為項目4、項目7、項目8,并且接下來通過查找前述實施例表6得到與項目4、項目7和項目8相似度高(這里的相似度高指所選項目與項目4、項目7和項目8的相似度的均值大于O.5)且用戶7沒有評分過的項目作為待推薦集,即得待推薦集為項目6和項目3。當待推薦項目集中項目數(shù)不小于N,N等于l;此時待推薦集中有兩個項目,滿足不小于l的條件。如果待推薦集中項目數(shù)小于1,則需要計算目標用戶與其他群組中心的距離,挑選最近的用戶群,并在此用戶群中挑選待推薦集,直到待推薦集中項目總數(shù)不小于l,或者直到所有用戶群遍歷完畢為止。如果目標用戶沒有評分記錄,則計算目標用戶對所屬群組的熱點項目的評分預測。該評分預測可查閱前述實施例表7、表8的結(jié)果。步驟S6G4,計算評分預測。尸":》ZW(/H利用公式2>w"o計算,尸".'表示目標用戶u對待項目i的預測評分,""^',o表示項目j和項目i之間的相似度,"^表示用戶u對項目j的實際評分。根據(jù)如上公式,用戶7對待推薦項目的評分預測,如表10所示。表10用戶7對待推薦項目的評分預測<table>tableseeoriginaldocumentpage20</column></row><table>步驟S604,將滿足上述條件的項目推薦給用戶。根據(jù)表IO,最終將項目3推薦給用戶7。本發(fā)明實施例提供一種基于協(xié)同過濾推薦的方法和系統(tǒng)。該方法在線下處理的過程中,首先利用用戶項目評分數(shù)據(jù)將用戶分群,然后在每個用戶群中獨立計算項目間相似度,并且可以由分群結(jié)果建立一個分類器,使目標用戶所屬的群組,利用該群組相關的項目間相似度對目標用戶進行基于項目的協(xié)同過濾推薦,或者利用該群組相關的熱點項目的熱點度為目標用戶進行推薦。相比于傳統(tǒng)的協(xié)同推薦流程,本發(fā)明先將用戶分群,使得每個用戶群的用戶偏好基本相似,利用這樣的用戶群所包含的項目相似度信息為用戶推薦,提高了推薦的準確性,體現(xiàn)了個性化。同時,分群后計算相似度也提高了線下處理的計算速度。本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。此外,本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括ROM、RAM、》茲碟或者光盤等各種可以存儲程序代碼的介質(zhì)。權利要求1、一種基于協(xié)同過濾的推薦方法,其特征在于,包括獲取目標用戶標識;查找所述目標用戶標識對應的用戶群標識;獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的項目間相似度;根據(jù)所述項目間相似度,向目標用戶推薦項目。2、如權利要求l所述的方法,其特征在于,所述方法還包括根據(jù)用戶對項目的評分,建立用戶-項目評分矩陣;根據(jù)用戶-項目評分矩陣進行用戶間相似度計算,將用戶進行分群;其中,每一用戶群對應一用戶群標識。3、如權利要求2所述的方法,其特征在于,所述根據(jù)用戶-項目評分矩陣進行用戶間相似度計算采用均值聚類算法(K-means),包括隨機選取k個用戶作為初始群組中心;對每個用戶,計算所述用戶與各初始群組中心的距離,將所述用戶分到與其距離最近的初始群組中心所在的群組中。4、如權利要求3所述的方法,其特征在于,當所有用戶分群完畢后,計算每個群組的新群組中心,所述新群組中心是對應群組中所有用戶評分向量的單位向量的均值。5、如權利要求2所述的方法,其特征在于,所述根據(jù)用戶-項目評分矩陣進行用戶間相似度計算,將用戶進行分群采用人工分群、機器分群或人機結(jié)合分群。6、如權利要求l所述的方法,其特征在于,所述獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的項目間相似度,包括獲取用戶群標識;根據(jù)所述用戶群標識獲取對應用戶群中所有用戶對應的用戶-項目評分矩陣;計算所述用戶-項目評分矩陣中項目間相似度。7、如權利要求6所述的方法,其特征在于,所述計算所述用戶-項目評分矩陣中項目間相似度采用余弦相似度、皮爾森(Pearson)相關系數(shù)或修正的余弦相似度計算。8、如權利要求1所述的方法,其特征在于,若根據(jù)所述目標用戶標識未查找到對應的用戶群標識,包括獲取所述目標用戶標識對應目標用戶的基本屬性;分類器根據(jù)所述目標用戶基本屬性將所述目標用戶分到對應用戶群,并獲得所述用戶群對應的用戶標識。9、如權利要求8所述的方法,其特征在于,所述分類器的建立方法包括在所述每個用戶群中隨機選出占所述用戶群用戶總數(shù)a。/n的用戶標識;獲取所述a。/。的用戶的基本屬性;根據(jù)所述a。/。的用戶基本屬性特征構(gòu)建分類器。10、如權利要求l所述的方法,其特征在于,所述根據(jù)所述項目間相似度,向目標用戶推薦項目,包括判斷目標用戶在所述用戶群對應的用戶_項目評分矩陣中是否有評分記錄,若有,通過所述項目間相似度,確定與所述評分記錄對應項目相似的項目作為待推薦集。11、如權利要求10所述的方法,其特在于,所述根據(jù)所述項目間相似度,向目標用戶推薦項目,包括判斷目標用戶在所述用戶群對應的用戶-項目評分矩陣中是否有評分記錄,若沒有,通過計算所述用戶-項目評分矩陣中熱點項目的評分預測,將熱點項目作為待推薦集,其中,熱點項目為被評分最多的前M個項目。12、如權利要求11所述的方法,其特征在于,對所述用戶-項目評分矩陣中熱點項目計算基于熱點項目的評分預測,包括獲取用戶群標識;根據(jù)所述用戶群標識獲取對應用戶群中所有用戶對應的用戶-項目評分矩陣;計算所述用戶群對應用戶-項目評分矩陣中熱點項目熱點度,熱點項目熱點度為所述項目所得評分的平均值,所述熱點項目的熱點度即為所述熱點項目的^平分預測。13、如權利要求10所述的方法,其特征在于,所述方法進一步包括判斷所述待推薦集中項目數(shù)目是否不小于N,若小于,則在距離目標用戶最近的其它用戶群中獲取待推薦集,與已確定的待推薦集取并集,直到推薦項目數(shù)大于或等于N,或者直到所有用戶群遍歷完畢為止。14、如權利要求13所述的方法,其特征在于,所述方法進一步包括判斷所述推薦集中項目數(shù)目是否不小于N,若大于或等于,則計算所述推薦集中各項目的評分預測,將評分預測最高的前N個項目作為推薦項目向用戶推薦。15、如權利要求14所述的方法,其特征在于,計算所述推薦集中各項目的評分預測采用基于相似項目評分預測。16、一種基于協(xié)同過濾的推薦系統(tǒng),其特征在于,包括推薦控制模塊,用于獲取目標用戶標識,調(diào)用確定待推薦集模塊和生成模塊向所述目標用戶標識對應的目標用戶推薦項目;確定待推薦集模塊,用于查找所述目標用戶標識對應的用戶群組標識,獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的項目間相似度,根據(jù)所述項目間相似度確定待推薦集,或者獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的熱點項目集,將所述熱點項目集作為待推薦集;生成推薦模塊,用于向用戶推薦推薦集中的項目。17、如權利要求16所述的系統(tǒng),其特征在于,包括數(shù)據(jù)庫,所述數(shù)據(jù)庫中進一步包括用戶-項目評分矩陣,用于存儲每一用戶對各個項目的用戶-項目評分矩陣。18、如權利要求17所述的系統(tǒng),其特征在于,包括用戶分群模塊用于根據(jù)所述數(shù)據(jù)庫中所述用戶-項目評分矩陣庫中存儲的用戶-項目評分矩陣對用戶進行用戶分群,每個用戶群對應一用戶群標識和群組中心,用戶分群結(jié)果存儲于所述數(shù)據(jù)庫中的用戶群庫中。19、如權利要求17所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫中進一步包括用戶基本信息庫,用于存儲每一用戶的基本信息。20、如權利要求19所述的系統(tǒng),其特征在于,包括分類器生成模塊用于根據(jù)所述用戶分群結(jié)果,將每一用戶群中對應用戶的基本信息作為分類特征,構(gòu)建一個分類器。21、如權利要求18所述的系統(tǒng),其特征在于,包括熱點項目熱點度計算模塊,用于根據(jù)所述用戶分群結(jié)果和與所述用戶群對應的用戶-項目評分矩陣,在每一個用戶群中獨立找出評分最多的若干項目作為熱點項目,計算所述熱點項目的評分均值得到熱點項目的熱點度。22、如權利要求21所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫中進一步包括用戶群項目熱點度庫,用于存儲所述用戶群組對應的熱點項目的熱點度。23、如權利要求21所述的系統(tǒng),其特征在于,包括項目相似度計算模塊,用于根據(jù)所述用戶分群結(jié)果和與所述用戶群組對應的用戶-項目評分矩陣,在每一個用戶群組中獨立計算項目間相似度。24、如權利要求23所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫中進一步包括用戶群組項目相似度庫,用于存儲所述用戶群組對應的所述項目間相似度。25、如權利要求24所述的系統(tǒng),其特征在于,所述確定待推薦集模塊包括用戶所屬群組確定模塊,用于在用戶群庫中根據(jù)所述目標用戶標識確定對應得用戶群標識;待推薦項目集確定模塊,用于根據(jù)所述用戶群標識在用戶項目相似度庫中獲取項目間相似度,根據(jù)所述項目間相似度確定待推薦集,或者獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的熱點項目集,將所述熱點項目集作為待推薦集。26、如權利要求16所述的系統(tǒng),其特征在于,包括評分預測模塊,用于對所述待推薦集中各項目進行基于相似項目評分的預測或基于熱點項目評分的預測,得出目標用戶對于待推薦集中各項目的預測評分,將評分最高的N個項目向用戶推薦。27、如權利要求26所述的系統(tǒng),其特征在于,所述評分預測模塊包括相似項目評分預測模塊,用于對所述待推薦集中各項目進行基于相似項目評分的預測;或者,熱點項目評分預測模塊,用于對所述待推薦集中各項目進行基于熱點項目評分的預測。全文摘要一種基于協(xié)同過濾的推薦方法,包括獲取目標用戶標識;查找該目標用戶標識對應的用戶群標識;獲取根據(jù)所述用戶群標識對應的用戶-項目評分矩陣確定的項目間相似度;根據(jù)該項目間相似度,向目標用戶推薦項目。采用本發(fā)明提供的推薦方法能提高項目推薦的準確度,提高用戶體驗。本發(fā)明同時提供一種基于協(xié)同過濾的推薦系統(tǒng)。文檔編號G06Q10/00GK101685458SQ20081021651公開日2010年3月31日申請日期2008年9月27日優(yōu)先權日2008年9月27日發(fā)明者琦方,杜家春,汪芳山,譚衛(wèi)國,鐘杰萍申請人:華為技術有限公司