專利名稱:一種基于逆鄰分析的協(xié)作過濾推薦系統(tǒng)及方法
技術領域:
本發(fā)明屬于網絡推薦系統(tǒng)技術領域,特別涉及一種基于逆鄰分析的協(xié)作過濾推薦 系統(tǒng)及方法。
背景技術:
網絡上的信息回的信息/商品過多而無所適從。個性化推薦系統(tǒng)是幫助用戶過 濾掉其他無用信息/商品,聚焦在他最有可能感興趣的信息/商品的有力手段。協(xié)作過濾 推薦是迄今為止個性化推薦系統(tǒng)中應用得最廣泛、最成功的推薦技術,其基本思想是通過 用戶對已瀏覽的信息或已購買商品進行評分,通過評分表達他對該信息/商品的喜好或厭 惡程度,系統(tǒng)根據多個用戶在多個信息/商品(下稱為項目)上的評分矩陣,計算用戶之 間(稱為基于用戶的協(xié)作過濾)或項目(稱為基于項目的協(xié)作過濾)相似性,并保存下來。 當為目標用戶計算在未評分項目上的推薦時,系統(tǒng)在線為目標項目尋找興趣最相近的若干 個項目,考慮這些項目接受該用戶的評分情況,并根據這個評分來決定是否將該未評分項 目推薦給用戶。然而,評分數據的稀疏性給協(xié)作過濾推薦帶來了很多問題,一是系統(tǒng)使用初 期,系統(tǒng)資源還未獲得足夠多的評價,此時的評分矩陣中獲得評分的項目相當的少;二是隨 著數據庫中項目數量的增加,每個用戶對這些項目相關的評分密度就會減少。由于用戶與 用戶之間在已評分項目上的交集很小,那么由評分項目體現出來的特征相似性就會降低, 從而導致系統(tǒng)產生不可靠的推薦結果,而且此時必須花費很高的代價來維持用戶相似性矩 陣,計算量大大增加,系統(tǒng)的性能和準確性都會越來越低。
發(fā)明內容
本發(fā)明的首要目的在于克服上述現有技術的缺點與不足,提供一種結構簡單、合 理的基于逆鄰分析的協(xié)作過濾推薦系統(tǒng),同時結合目標用戶的最近鄰和逆最近鄰來為目標 用戶產生推薦列表。本發(fā)明的另一目的還在于提供由上述系統(tǒng)實現的基于逆鄰分析的協(xié)作過濾推薦 方法。為達上述目的,本發(fā)明采用如下的技術方案一種基于逆鄰分析的協(xié)作過濾推薦系統(tǒng),包括依次連接的用戶信息記錄器、用戶 信息存儲模塊、逆鄰分析器和推薦產生器,所述逆鄰分析器包括項目相似度計算模塊、項目 相似度分析模塊、最近鄰產生模塊和逆最近鄰產生模塊,所述項目相似度計算模塊分別與 用戶信息存儲模塊、項目相似度分析模塊連接,所述項目相似度分析模塊分別與最近鄰產 生模塊、逆最近鄰產生模塊連接,所述最近鄰產生模塊、逆最近鄰產生模塊分別與推薦產生 器連接。所述推薦產生器包括相互連接的項目預測分數計算模塊和推薦列表產生模塊,所 述項目預測分數計算模塊分別與最近鄰產生模塊、逆最近鄰產生模塊連接。所述項目預測分數計算模塊包括相互連接的評分模塊和判斷模塊,所述評分模塊分別與最近鄰產生模塊、逆最近鄰產生模塊連接;所述推薦列表產生模塊包括排序模塊、選值模塊和列表生成模塊,所述排序模塊 與判斷模塊連接。其中所述用戶信息記錄器用于記錄用戶對不同項目的評分;所述用戶信息存儲模塊,用于將通過記錄模塊得到的用戶評分信息保存在物理存 儲中,并將其在使用時通過矩陣的形式讀出,矩陣列為所有項目資源的名稱,矩陣行為每個 用戶對相應資源的評分;所述逆鄰分析器根據用戶信息存儲模塊中已有的用戶評分,分析項目間的相似程 度,來推測各項目間的關系,最后通過這種關系得到目標項目的最近鄰與逆最近鄰。所述推薦產生器,利用逆鄰分析模塊提供的最近鄰以及逆最近鄰,對用戶未評分 的項目進行預測評分,并根據評分的結果對用戶進行推薦。項目相似度計算模塊,通過分析用戶對項目已有評分,對所有項目之前的相似度 進行計算。項目相似度分析模塊,通過對項目相似度計算模塊得出的項目相似度信息,對各 項目的相似性進行分析,得到項目相似性的一個排名,以列表的形式存儲待后續(xù)步驟使用。最近鄰產生模塊,根據項目相似度計算模塊得到的項目間相似度,為每一個項目 找到與之最相似的若干個其他項目,作為這個項目的最近鄰。逆最近鄰產生模塊,根據項目相似度計算模塊得到的項目間相似度,為每一個項 目找到那些將該項目視為前若干個最相似項目的其他項目,作為這個項目的逆最近鄰。項目預測分數計算模塊,根據逆鄰分析器中最近鄰產生模塊與逆最近鄰產生模塊 得到的針對目標項目的兩個項目集合,與這兩個項目集合上用戶給出的評分記錄,預測用 戶對目標項目的評分情況。推薦列表產生模塊,根據預測分數計算模塊得出的對于目標項目的預測分數,對 所有項目進行比較,取預測評分最高的那部分項目作為對用戶的推薦列表。逆鄰分析器的輸入為用戶信息存儲模塊的輸出,即結構化的用戶-項目評分矩 陣;逆鄰分析器的輸出是目標項目的最近鄰集合和逆最近鄰集合;推薦產生器的輸入是目 標項目的最近鄰集合與逆最近鄰集合,即逆鄰分析器的輸出,其輸出是對用戶可能感興趣 之項目的推薦列表。由上述系統(tǒng)實現的基于逆鄰分析的協(xié)作過濾推薦方法,包括步驟(1)用戶分別對部分項目作出評分,并通過用戶信息記錄器記錄用戶給各項目所 作出的已有評分信息;(2)步驟(1)中記錄所得的評分信息發(fā)送至用戶信息存儲模塊的物理存儲中保 存,并通過用戶信息存儲模塊建立用戶_項目評分矩陣;所述用戶-項目評分矩陣為一個結 構化的二維矩陣,其縱坐標為項目列表,橫坐標為用戶列表,每一個矩陣單元中存儲的數據 為該矩陣單元橫坐標對應的用戶給該矩陣單元縱坐標對應的項目的評分值;(3)逆鄰分析(3-1)相似度計算將步驟(2)中的用戶-項目評分矩陣輸入逆鄰分析器中,逆鄰 分析器中的項目相似度計算模塊根據用戶_項目評分矩陣計算所有各項目之間的相似度;
(3-2)逆鄰分析器中的項目相似度分析模塊對計算所得的各項目之間的相似度進 行分析,建立項目相似性列表,所述項目相似性列表的第一列為目標項目,第一列以上的各 列為目標項目以外的其他各項目,且所述目標項目以外的其他各項目按照其與目標項目的 相似度由大至小依次排列;相似度以一個橫坐標與縱坐標均為項目的項目間距離矩陣來表 示;(3-3)為多個用戶產生推薦,分別為每個用戶產生推薦的獨立過程;對一個用戶 進行推薦,由逆鄰分析器選擇一個該用戶未評分且未予預測的項目為目標項目;(3-4)最近鄰產生模塊在步驟(2-2)所得項目相似性列表中查找到該目標項目 的所有最近鄰,并構成最近鄰集;所述最近鄰集合為其與該目標項目相似度的排名在設定 百分比以上的其他各項目構成的集合;各目標項目與其最近鄰集合構成最近鄰-相似性列 表,所述最近鄰_相似性列表的第一列為目標項目,第一列以上的各列分別為該目標項目 的最近鄰集合中的各最近鄰,且各最近鄰按其與目標項目的相似度由大至小依次排列;(3-5)逆最近鄰產生模塊在步驟(2-2)所得項目相似性列表中查找該目標項目的 所有逆最近鄰,并構成逆最近鄰集;所述逆最近鄰集為視該目標項目為最近鄰的其他項目 構成的集合;各目標項目與其逆最近鄰集合構成逆最近鄰-相似性列表,所述逆最近鄰-相 似性列表的第一列為目標項目,第一列以上的各列分別為該目標項目的逆最近鄰集合中的 各最近鄰,且各逆最近鄰按其與目標項目的相似度由大至小依次排列;(4)根據步驟(3-4)得到的最近鄰-相似性列表和步驟(3-5)得到的逆最近鄰-相 似性列表,項目預測分數計算模塊中的評分模塊計算用戶對該目標項目的預測評分,得到 該用戶對各目標項目的預測評分值;(5)預測分數計算模塊中的判斷模塊判斷是否所有目標項目都已完成預測評分, 若是,則進行下一步驟,否則執(zhí)行步驟(3-3) 步驟(3),對下一個目標項目進行預測評分;(6)推薦列表產生模塊中的排序模塊對所有已進行預測評分的項目的預測評分值 由大至小進行排序,選值模塊選取預測評分值的排名位于設定百分比以上的所有項目,并 通過列表生成模塊將選取的結果生成推薦列表,返回給用戶;(7)完成項目的推薦。作為優(yōu)選方案,所述步驟(3-4)中,所述最近鄰集合為其與該目標項目相似度的 排名在5% 20%以上的其他各項目構成的集合;作為優(yōu)選方案,所述步驟(6)中,所述選值模塊選取預測評分值的排名位于5% 20%以上的所有項目。作為優(yōu)選方案,所述步驟(3-5)中,所述逆最近鄰集為目標相似度在其與所有項 目相似度中的排名在5% 20%以上的其他所有項目構成的集合。對于所述步驟(3-1)中的相似度,作為一種優(yōu)選方案,所述步驟(3-1)中,兩個項 目之間的相似度滿足
χ 其中,sim(iD,iD)為項目iD與項目iD之間的相似度,Sk,p為用戶Uk對項目iD的給出的評分值,Sk, q為用戶Uk對項目ip的給出的評分值; 對于所述步驟(3-1)中的相似度,作為第二種優(yōu)選方案,所述步驟(3-1)中,兩個 項目之間的相似度滿足
權利要求
一種基于逆鄰分析的協(xié)作過濾推薦系統(tǒng),其特征在于包括依次連接的用戶信息記錄器、用戶信息存儲模塊、逆鄰分析器和推薦產生器,所述逆鄰分析器包括項目相似度計算模塊、項目相似度分析模塊、最近鄰產生模塊和逆最近鄰產生模塊,所述項目相似度計算模塊分別與用戶信息存儲模塊、項目相似度分析模塊連接,所述項目相似度分析模塊分別與最近鄰產生模塊、逆最近鄰產生模塊連接,所述最近鄰產生模塊、逆最近鄰產生模塊分別與推薦產生器連接。
2.根據權利要求1所述的基于逆鄰分析的協(xié)作過濾推薦系統(tǒng),其特征在于所述推薦 產生器包括相互連接的項目預測分數計算模塊和推薦列表產生模塊,所述項目預測分數計 算模塊分別與最近鄰產生模塊、逆最近鄰產生模塊連接。
3.根據權利要求2所述的基于逆鄰分析的協(xié)作過濾推薦系統(tǒng),其特征在于所述項目 預測分數計算模塊包括相互連接的評分模塊和判斷模塊,所述評分模塊分別與最近鄰產生 模塊、逆最近鄰產生模塊連接;所述推薦列表產生模塊包括排序模塊、選值模塊和列表生成模塊,所述排序模塊與判 斷模塊連接。
4.由權利要求1 3任一項所述系統(tǒng)實現的基于逆鄰分析的協(xié)作過濾推薦方法,其特 征在于,包括步驟(1)用戶分別對部分項目作出評分,并通過用戶信息記錄器記錄用戶給各項目所作出 的已有評分信息;(2)步驟(1)中記錄所得的評分信息發(fā)送至用戶信息存儲模塊的物理存儲中保存,并 通過用戶信息存儲模塊建立用戶_項目評分矩陣;所述用戶_項目評分矩陣為一個結構化 的二維矩陣,其縱坐標為項目列表,橫坐標為用戶列表,每一個矩陣單元中存儲的數據為該 矩陣單元橫坐標對應的用戶給該矩陣單元縱坐標對應的項目的評分值;(3)逆鄰分析(3-1)相似度計算將步驟(2)中的用戶-項目評分矩陣輸入逆鄰分析器中,逆鄰分析 器中的項目相似度計算模塊根據用戶-項目評分矩陣計算所有各項目之間的相似度;(3-2)逆鄰分析器中的項目相似度分析模塊對計算所得的各項目之間的相似度進行分 析,建立項目相似性列表,所述項目相似性列表的第一列為目標項目,第一列以上的各列為 目標項目以外的其他各項目,且所述目標項目以外的其他各項目按照其與目標項目的相似 度由大至小依次排列;(3-3)對一個用戶進行推薦,由逆鄰分析器選擇一個該用戶未評分且未予預測的項目 為目標項目;(3-4)最近鄰產生模塊在步驟(2-2)所得項目相似性列表中查找到該目標項目的所有 最近鄰,并構成最近鄰集;所述最近鄰集合為其與該目標項目相似度的排名在設定百分比 以上的其他各項目構成的集合;各目標項目與其最近鄰集合構成最近鄰_相似性列表,所 述最近鄰_相似性列表的第一列為目標項目,第一列以上的各列分別為該目標項目的最近 鄰集合中的各最近鄰,且各最近鄰按其與目標項目的相似度由大至小依次排列;(3-5)逆最近鄰產生模塊在步驟(2-2)所得項目相似性列表中查找該目標項目的所有 逆最近鄰,并構成逆最近鄰集;所述逆最近鄰集為視該目標項目為最近鄰的其他項目構成 的集合;各目標項目與其逆最近鄰集合構成逆最近鄰_相似性列表,所述逆最近鄰_相似性列表的第一列為目標項目,第一列以上的各列分別為該目標項目的逆最近鄰集合中的各最 近鄰,且各逆最近鄰按其與目標項目的相似度由大至小依次排列;(4)根據步驟(3-4)得到的最近鄰-相似性列表和步驟(3-5)得到的逆最近鄰-相似 性列表,項目預測分數計算模塊中的評分模塊計算用戶對該目標項目的預測評分,得到該 用戶對各目標項目的預測評分值;(5)預測分數計算模塊中的判斷模塊判斷是否所有目標項目都已完成預測評分,若是, 則進行下一步驟,否則執(zhí)行步驟(3-3) 步驟(3),對下一個目標項目進行預測評分;(6)推薦列表產生模塊中的排序模塊對所有已進行預測評分的項目的預測評分值由大 至小進行排序,選值模塊選取預測評分值的排名位于設定百分比以上的所有項目,并通過 列表生成模塊將選取的結果生成推薦列表,返回給用戶;(7)完成項目的推薦。
5.根據權利要求4所述的基于逆鄰分析的基于逆鄰分析的協(xié)作過濾推薦方法,其特征 在于所述步驟(3-4)中,所述最近鄰集合為其與該目標項目相似度的排名在5% 20%以 上的其他各項目構成的集合;所述步驟(6)中,所述選值模塊選取預測評分值的排名位于5% 6%以上的所有項目。
6.根據權利要求4所述的基于逆鄰分析的基于逆鄰分析的協(xié)作過濾推薦方法,其特征 在于所述步驟(3-5)中,所述逆最近鄰集為目標相似度在其與所有項目相似度中的排名 在5 % 20 %以上的其他所有項目構成的集合。
7.根據權利要求4所述的基于逆鄰分析的基于逆鄰分析的協(xié)作過濾推薦方法,其特征 在于所述步驟(3-1)中,兩個項目之間的相似度滿足
8.根據權利要求4所述的基于逆鄰分析的基于逆鄰分析的協(xié)作過濾推薦方法,其特征 在于所述步驟(4)中,用戶對該目標項目的預測評分滿足其中,Sa, t為用戶Ua在項目it上的預測評分,SimGj, it)為項目ij與it之間的相似 性,kNN(it)為k個最近鄰集合;Rk' NN(it)為k,個逆最近鄰集合。
9.根據權利要求4所述的基于逆鄰分析的基于逆鄰分析的協(xié)作過濾推薦方法,其特征 在于所述步驟(4)中,用戶對該目標項目的預測評分滿足其中,Sa,t為用戶Ua在項目it上的預測評分,SimGpit)為項目ij與it之間的相似性, 為項目it的評分值的平均值,$為項目、的評分值的平均值,f為項目、,的評分 值的平均值;或者,所述步驟(4)中,用戶對該目標項目的預測評分滿足:其中,Sa, t為用戶Ua在項目it上的預測評分,SimGj, it)為項目ij與it之間的相似 性,kNN(it)為k個最近鄰集合;Rk’ NN(it)為k’個逆最近鄰集合;α與β為權重系數,且 α +β =1。
10.根據權利要求4所述的基于逆鄰分析的基于逆鄰分析的協(xié)作過濾推薦方法,其特 征在于述步驟(4)中,用戶對該目標項目的預測評分滿足
全文摘要
本發(fā)明提供了一種基于逆鄰分析的協(xié)作過濾推薦系統(tǒng)及方法,所述系統(tǒng)包括依次連接的用戶信息記錄器、用戶信息存儲模塊、逆鄰分析器和推薦產生器,逆鄰分析器包括項目相似度計算模塊、項目相似度分析模塊、最近鄰產生模塊和逆最近鄰產生模塊,項目相似度計算模塊分別與用戶信息存儲模塊、項目相似度分析模塊連接,項目相似度分析模塊分別與最近鄰產生模塊、逆最近鄰產生模塊連接,最近鄰產生模塊、逆最近鄰產生模塊分別與推薦產生器連接。所述方法包括步驟記錄已有評分信息;保存評分信息,建立用戶-項目評分矩陣;逆鄰分析;對該目標項目的預測評分;生成推薦列表;完成項目的推薦。本發(fā)明顯著提高推薦系統(tǒng)的推薦質量。
文檔編號G06F17/30GK101986301SQ20101052758
公開日2011年3月16日 申請日期2010年10月31日 優(yōu)先權日2010年10月31日
發(fā)明者杜卿, 閔華清, 陳健, 黃晉 申請人:華南理工大學