專利名稱:基于用戶-物品二分圖模型的物品推薦方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)信息處理技術(shù),尤其涉及一種基于用戶-物品二分圖模型的物品推薦方法及系統(tǒng)。
背景技術(shù):
個(gè)性化物品推薦是指通過挖掘用戶的興趣特點(diǎn)和歷史用戶行為等用戶行為信息,定期向用戶推薦物品的一種網(wǎng)絡(luò)推薦方法?;趥€(gè)性化推薦的個(gè)性化推薦系統(tǒng)(簡(jiǎn)稱推薦系統(tǒng)),是建立在海量用戶行為信息挖掘基礎(chǔ)上的一種高級(jí)智能平臺(tái),用于為用戶提供完全個(gè)性化的決策支持和信息服務(wù),提升用戶的業(yè)務(wù)體驗(yàn)。
圖1為現(xiàn)有基于用戶-物品二分圖模型的物品推薦方法流程示意圖。參見圖1,該流程包括:步驟101,提取用戶行為信息;本步驟中,用戶行為信息是推薦系統(tǒng)進(jìn)行物品推薦的基礎(chǔ),通過推薦系統(tǒng)中的日志模塊監(jiān)測(cè)用戶訪問互聯(lián)網(wǎng)的行為,抓取用戶訪問互聯(lián)網(wǎng)的行為信息,存儲(chǔ)至推薦系統(tǒng)中的用戶行為信息庫中。用戶行為信息包括:瀏覽物品信息、評(píng)論物品信息以及給物品打分信息等。在接收到用戶的推薦請(qǐng)求或主動(dòng)對(duì)用戶進(jìn)行物品推薦時(shí),根據(jù)需要推薦的用戶信息,從用戶行為信息庫中讀取存儲(chǔ)的相應(yīng)用戶行為信息。步驟102,根據(jù)提取的用戶行為信息構(gòu)建推薦數(shù)據(jù)模型;本步驟中,不同的推薦系統(tǒng)可能采用不同的推薦數(shù)據(jù)模型,因而,在進(jìn)行物品推薦之前,需要將用戶行為信息按照推薦系統(tǒng)的要求進(jìn)行組織,組織成滿足推薦系統(tǒng)要求的數(shù)據(jù)模型。例如,對(duì)于進(jìn)行物品推薦的推薦系統(tǒng),數(shù)據(jù)模型可以是用戶-物品二分圖模型等。以用戶-物品二分圖模型為例,將提取的用戶行為信息表示在用戶-物品二分圖上,從而構(gòu)建推薦數(shù)據(jù)模型。圖2為用戶-物品二分圖模型結(jié)構(gòu)示意圖。參見圖2,令G (V,E)表示用戶-物品二分圖模型,其中,V表示用戶-物品二分圖模型中的節(jié)點(diǎn),E表示用戶-物品二分圖模型中,用戶節(jié)點(diǎn)與物品節(jié)點(diǎn)形成的邊。V = U' UF',其中,U'表示用戶-物品二分圖模型中的用戶節(jié)點(diǎn)集合,F(xiàn)'表示用戶-物品二分圖模型中的物品節(jié)點(diǎn)集合。本申請(qǐng)中,每一用戶對(duì)應(yīng)一用戶節(jié)點(diǎn),每一物品對(duì)應(yīng)一物品節(jié)點(diǎn)。如果用戶Uk對(duì)物品&產(chǎn)生過用戶行為,則在用戶-物品二分圖模型中,用戶節(jié)點(diǎn)Uk與物品節(jié)點(diǎn)Fi具有對(duì)應(yīng)的邊E (Uk, Fi),邊的權(quán)重系數(shù)可以設(shè)置為該用戶對(duì)該物品的影響程度。其中,
權(quán)利要求
1.一種基于用戶-物品二分圖模型的物品推薦方法,該方法包括: 提取用戶行為信息,根據(jù)提取的用戶行為信息構(gòu)建用戶-物品二分圖模型; 基于構(gòu)建的用戶-物品二分圖模型,構(gòu)建物品到用戶的倒排列表模型; 根據(jù)構(gòu)建的物品到用戶的倒排列表模型,計(jì)算物品權(quán)重,構(gòu)建用戶-物品權(quán)重列表;根據(jù)構(gòu)建的用戶-物品權(quán)重列表,計(jì)算用戶對(duì)應(yīng)的物品對(duì)權(quán)重以及物品對(duì)的共同用戶權(quán)重,構(gòu)建物品對(duì)-共同用戶權(quán)重列表; 根據(jù)構(gòu)建的物品對(duì)-共同用戶權(quán)重列表,按照預(yù)先設(shè)置的相似度算法進(jìn)行運(yùn)算,獲取物品間相似度列表; 查詢構(gòu)建的用戶-物品二分圖模型,獲取待推薦用戶映射的物品,根據(jù)待推薦用戶映射的物品查詢物品間相似度列表,獲取查詢結(jié)果,根據(jù)查詢結(jié)果生成推薦列表。
2.根據(jù)權(quán)利要求1所述的方法,其中,在所述獲取物品間相似度列表之后,查詢構(gòu)建的用戶-物品二分圖模型之前,所述方法進(jìn)一步包括: 根據(jù)獲取的物品間相似度列表構(gòu)建物品間相似度矩陣,對(duì)構(gòu)建的物品間相似度矩陣進(jìn)行一次或多次迭代,生成迭代的物品間相似度矩陣; 所述根據(jù)待推薦用戶映射的物品查詢物品間相似度列表具體包括: 根據(jù)待推薦用戶映射的物品查詢所述迭代的物品間相似度矩陣。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述方法進(jìn)一步包括: 依據(jù)預(yù)先設(shè)置的過濾策略對(duì)推薦列表進(jìn)行過濾; 對(duì)推薦列表或過濾后的推薦列表,按照物品間相似度進(jìn)行排序,獲取排序前N位的物品向用戶顯示。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其中,所述基于構(gòu)建的用戶-物品二分圖模型構(gòu)建物品到用戶的倒排列表模型包括: 以用戶-物品二分圖模型中的物品為關(guān)鍵詞,統(tǒng)計(jì)對(duì)該物品具有用戶行為信息的用戶,建立物品與用戶的映射關(guān)系,根據(jù)映射關(guān)系構(gòu)建物品到用戶的倒排列表模型; 所述根據(jù)構(gòu)建的物品到用戶的倒排列表模型,計(jì)算物品權(quán)重,構(gòu)建用戶-物品權(quán)重列表包括: 在物品到用戶的倒排列表模型中,統(tǒng)計(jì)物品指向的用戶節(jié)點(diǎn)集合數(shù),得到物品權(quán)重; 以用戶為關(guān)鍵字,獲取該用戶指向的物品的物品權(quán)重,得到用戶-物品權(quán)重列表。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述根據(jù)構(gòu)建的用戶-物品權(quán)重列表,計(jì)算用戶對(duì)應(yīng)的物品對(duì)權(quán)重以及物品對(duì)的共同用戶權(quán)重,構(gòu)建物品對(duì)-共同用戶權(quán)重列表包括: 以各用戶為關(guān)鍵字,遍歷用戶-物品權(quán)重列表,獲取該用戶對(duì)應(yīng)的物品及物品權(quán)重; 對(duì)獲取的用戶對(duì)應(yīng)的物品及物品權(quán)重,分別進(jìn)行兩兩組合,得到該用戶對(duì)應(yīng)的物品對(duì)及物品對(duì)權(quán)重; 獲取物品對(duì)對(duì)應(yīng)的用戶節(jié)點(diǎn)指向的物品節(jié)點(diǎn)集合數(shù),得到該物品對(duì)的共同用戶權(quán)重,根據(jù)物品對(duì)、物品對(duì)權(quán)重以及共同用戶權(quán)重,構(gòu)建物品對(duì)-共同用戶權(quán)重列表。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述根據(jù)構(gòu)建的物品對(duì)-共同用戶權(quán)重列表,按照預(yù)先設(shè)置的相似度算法進(jìn)行運(yùn)算,獲取物品間相似度列表包括: 統(tǒng)計(jì)物品對(duì)-共同用戶權(quán)重列表中相同的物品對(duì),按照預(yù)先設(shè)置的相似度算法進(jìn)行運(yùn)算,計(jì)算相同物品對(duì)中物品間相似度;以物品為關(guān)鍵字,根據(jù)計(jì)算的物品間相似度構(gòu)建物品間相似度列表; 所述相似度算法公式為:
7.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其中,所述查詢構(gòu)建的用戶-物品二分圖模型,獲取待推薦用戶映射的物品,根據(jù)待推薦用戶映射的物品查詢物品間相似度列表,獲取查詢結(jié)果,根據(jù)查詢結(jié)果生成推薦列表包括: 根據(jù)待推薦用戶信息,在用戶-物品二分圖模型中檢索,獲取待推薦用戶映射的物品;根據(jù)待推薦用戶映射的物品,查詢物品間相似度列表,獲取待推薦用戶映射的物品對(duì)應(yīng)的物品間相似度; 對(duì)獲取的相同物品的物品間相似度進(jìn)行累加,得到與待推薦用戶映射的物品相關(guān)聯(lián)的物品; 從得到的與待推薦用戶映射的物品相關(guān)聯(lián)的物品中,刪除待推薦用戶映射的物品,得到用戶的推薦列表。
8.一種基于用戶-物品二分圖模型的物品推薦系統(tǒng),其特征在于,該系統(tǒng)包括:二分圖模型生成器、倒排列表模型生成器、物品權(quán)重列表生成器、共同用戶權(quán)重列表生成器、物品間相似度列表生成器以及推薦列表生成器,其中, 二分圖模型生成器,用于提取用戶行為信息,根據(jù)提取的用戶行為信息構(gòu)建用戶-物品二分圖模型; 倒排列表模型生成器,用于基于二分圖模型生成器構(gòu)建的用戶-物品二分圖模型,構(gòu)建物品到用戶的倒排列表模型; 物品權(quán)重列表生成器,用于根據(jù)倒排列表模型生成器構(gòu)建的物品到用戶的倒排列表模型,計(jì)算物品權(quán)重,構(gòu)建用戶-物品權(quán)重列表; 共同用戶權(quán)重列表生成器,用于根據(jù)物品權(quán)重列表生成器構(gòu)建的用戶-物品權(quán)重列表,計(jì)算用戶對(duì)應(yīng)的物品對(duì)權(quán)重以及物品對(duì)的共同用戶權(quán)重,構(gòu)建物品對(duì)-共同用戶權(quán)重列表; 物品間相似度列表生成器,用于根據(jù)構(gòu)建的物品對(duì)-共同用戶權(quán)重列表,按照預(yù)先設(shè)置的相似度算法進(jìn)行運(yùn)算,獲取物品間相似度列表; 推薦列表生成器,用于查詢構(gòu)建的用戶-物品二分圖模型,獲取待推薦用戶映射的物品,根據(jù)待推薦用戶映射的物品查詢物品間相似度列表,獲取查詢結(jié)果,根據(jù)查詢結(jié)果生成推薦列表。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,進(jìn)一步包括: 迭代器,用于根據(jù)物品間相似度列表生成器獲取的物品間相似度列表,構(gòu)建物品間相似度矩陣,對(duì)構(gòu)建的物品間相似度矩陣進(jìn)行一次或多次迭代,生成迭代的物品間相似度矩陣,以使推薦列表生成器根據(jù)待推薦用戶映射的物品查詢迭代的物品間相似度矩陣獲取查詢結(jié)果;和/或 過濾器,用于依據(jù)預(yù)先設(shè)置的過濾策略,對(duì)推薦列表生成器生成的推薦列表進(jìn)行過濾;和/或 排序器,用于對(duì)推薦列表生成器生成的推薦列表或過濾器過濾后的推薦列表,按照物品間相似度進(jìn)行排序,獲取排序前N位的物品向用戶顯示。
10.根據(jù)權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述倒排列表模型生成器包括:關(guān)鍵詞獲取模塊、統(tǒng)計(jì)模塊以及倒排列表模型生成模塊,其中, 關(guān)鍵詞獲取模塊,用于依序獲取用戶-物品二分圖模型中的物品,作為關(guān)鍵詞輸出至統(tǒng)計(jì)模塊; 統(tǒng)計(jì)模塊,用于根據(jù)接收的物品關(guān)鍵詞,統(tǒng)計(jì)對(duì)該物品具有用戶行為信息的用戶,將該物品與統(tǒng)計(jì)的用戶輸出至倒排列表模型生成模塊; 倒排列表模型生成模塊,用于根據(jù)接收的物品與統(tǒng)計(jì)的用戶信息,建立物品與用戶的映射關(guān)系,根據(jù)映射關(guān)系構(gòu)建物品到用戶的倒排列表模型。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述物品權(quán)重列表生成器包括:物品權(quán)重生成模塊以及物品權(quán)重列表生成模塊,其中, 物品權(quán)重生成模塊,用于在物品到用戶的倒排列表模型中,統(tǒng)計(jì)物品指向的用戶節(jié)點(diǎn)集合數(shù),得到物品權(quán)重; 物品權(quán)重列表生成模塊,用于以用戶為關(guān)鍵字,獲取該用戶指向的物品的物品權(quán)重,得到用戶-物品權(quán)重列表。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述共同用戶權(quán)重列表生成器包括:物品權(quán)重獲取模塊、物品對(duì)權(quán)重獲取模塊以及共同用戶權(quán)重列表生成模塊,其中, 物品權(quán)重獲取模塊,用于以各用戶為關(guān)鍵字,遍歷用戶-物品權(quán)重列表,獲取該用戶對(duì)應(yīng)的物品及物品權(quán)重; 物品對(duì)權(quán)重獲取模塊,用于對(duì)獲取的用戶對(duì)應(yīng)的物品及物品權(quán)重,分別進(jìn)行兩兩組合,得到該用戶對(duì)應(yīng)的物品對(duì)及物品對(duì)權(quán)重; 共同用戶權(quán)重列表生成模塊,用于獲取物品對(duì)對(duì)應(yīng)的用戶節(jié)點(diǎn)指向的物品節(jié)點(diǎn)集合數(shù),得到該物品對(duì)的共同用戶權(quán)重,根據(jù)物品對(duì)、物品對(duì)權(quán)重以及共同用戶權(quán)重,構(gòu)建物品對(duì)-共同用戶權(quán)重列表。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述物品間相似度列表生成器包括:物品間相似度計(jì)算模塊以及物品間相似度列表生成模塊,其中, 物品間相似度計(jì)算模塊,用于統(tǒng)計(jì)物品對(duì)-共同用戶權(quán)重列表中相同的物品對(duì),按照預(yù)先設(shè)置的相似度算法進(jìn)行運(yùn)算,計(jì)算相同物品對(duì)中物品間相似度; 物品間相似度列表生成模塊,以物品為關(guān)鍵字,根據(jù)計(jì)算的物品間相似度構(gòu)建物品間相似度列表; 所述推薦列表生成器包括:檢 索模塊、物品間相似度獲取模塊、關(guān)聯(lián)物品獲取模塊以及推薦列表生成模塊,其中, 檢索模塊,用于根據(jù)待推薦用戶信息,在用戶-物品二分圖模型中檢索,獲取待推薦用戶映射的物品; 物品間相似度獲取模塊,用于根據(jù)待推薦用戶映射的物品,查詢物品間相似度列表,獲取待推薦用戶映射的物品對(duì)應(yīng)的物品間相似度; 關(guān)聯(lián)物品獲取模塊,用于對(duì)獲取的相同物品的物品間相似度進(jìn)行累加,得到與待推薦用戶映射的物品相關(guān)聯(lián)的物品; 推薦列表生成模塊,用于從得到的與待推薦用戶映射的物品相關(guān)聯(lián)的物品中,刪除待推薦用戶映射的物品, 得到用戶的推薦列表。
全文摘要
本發(fā)明公開了一種基于用戶-物品二分圖模型的物品推薦方法及系統(tǒng)。該方法包括提取獲取的用戶行為信息,構(gòu)建用戶-物品二分圖模型;基于構(gòu)建的用戶-物品二分圖模型,構(gòu)建物品到用戶的倒排列表模型并計(jì)算物品權(quán)重,構(gòu)建用戶-物品權(quán)重列表;根據(jù)構(gòu)建的用戶-物品權(quán)重列表,計(jì)算用戶對(duì)應(yīng)的物品對(duì)權(quán)重以及物品對(duì)的共同用戶權(quán)重,構(gòu)建物品對(duì)-共同用戶權(quán)重列表;按照預(yù)先設(shè)置的相似度算法進(jìn)行運(yùn)算,獲取物品間相似度列表;查詢構(gòu)建的用戶-物品二分圖模型,獲取待推薦用戶映射的物品,根據(jù)待推薦用戶映射的物品查詢物品間相似度列表,獲取查詢結(jié)果,根據(jù)查詢結(jié)果生成推薦列表。應(yīng)用本發(fā)明,可以降低推薦所需的計(jì)算量、提升推薦效率。
文檔編號(hào)G06F17/30GK103116639SQ20131005474
公開日2013年5月22日 申請(qǐng)日期2013年2月20日 優(yōu)先權(quán)日2013年2月20日
發(fā)明者劉洋 申請(qǐng)人:新浪網(wǎng)技術(shù)(中國)有限公司