本文作者:kaifamei

基于大數(shù)據(jù)的商品混合推薦系統(tǒng)的制作方法

更新時(shí)間:2025-12-25 22:20:54 0條評論

基于大數(shù)據(jù)的商品混合推薦系統(tǒng)的制作方法



1.本發(fā)明涉及商品推薦技術(shù)領(lǐng)域,具體為基于大數(shù)據(jù)的商品混合推薦系統(tǒng)。


背景技術(shù):

2.生鮮電商平臺(tái)的商品比其他電商平臺(tái)中的商品更加細(xì)分,對于具體的推薦算法而言,除了需要分析生鮮類商品、用戶之間的聯(lián)系之外,也需要分析細(xì)分生鮮類目下的商品關(guān)聯(lián),在數(shù)據(jù)打標(biāo)時(shí)需要注意貼合度和目標(biāo)精準(zhǔn)度,從而增加成交總額,此外由于對于用戶來說是較新平臺(tái),導(dǎo)致用戶積累相對較少,因此還需處理冷啟動(dòng)問題,單一的推薦方式無法有效滿足此類生鮮電商平臺(tái)對于推薦系統(tǒng)的要求,單一的推薦算法都存在各自的缺點(diǎn)或局限性,當(dāng)新的用戶或者新的物品進(jìn)入系統(tǒng)時(shí),由于沒有瀏覽、點(diǎn)擊等交互數(shù)據(jù),難以形成推薦,就會(huì)出現(xiàn)冷啟動(dòng)問題,如果用戶的交互數(shù)據(jù)過少,則會(huì)出現(xiàn)數(shù)據(jù)稀疏性問題,在類似“用戶-物品”這樣的交互矩陣中,如果非零項(xiàng)過少,不僅會(huì)耗費(fèi)計(jì)算資源,也不會(huì)形成太好的推薦效果。因此,設(shè)計(jì)適應(yīng)生鮮電商平臺(tái)業(yè)務(wù)需求和快速精準(zhǔn)推薦的基于大數(shù)據(jù)的商品混合推薦系統(tǒng)是很有必要的。


技術(shù)實(shí)現(xiàn)要素:

3.本發(fā)明的目的在于提供基于大數(shù)據(jù)的商品混合推薦系統(tǒng),以解決上述背景技術(shù)中提出的問題。
4.為了解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:基于大數(shù)據(jù)的商品混合推薦系統(tǒng),包括商品數(shù)據(jù)模塊、數(shù)據(jù)分析處理模塊和推薦服務(wù)模塊,所述商品數(shù)據(jù)模塊用于進(jìn)行所需商品數(shù)據(jù)的埋點(diǎn)采集和數(shù)據(jù)落盤,所述數(shù)據(jù)分析處理模塊用于對接收的商品數(shù)據(jù)進(jìn)行集成管理并處理推薦數(shù)據(jù)中存在的問題,所述推薦服務(wù)模塊用于利用算法進(jìn)行商品推薦計(jì)算實(shí)現(xiàn)離線和實(shí)時(shí)兩組推薦服務(wù),所述包括商品數(shù)據(jù)模塊與數(shù)據(jù)分析處理模塊網(wǎng)絡(luò)連接,所述數(shù)據(jù)分析處理模塊與推薦服務(wù)模塊網(wǎng)絡(luò)連接;
5.所述推薦服務(wù)模塊包括離線推薦服務(wù)模塊和實(shí)時(shí)推薦服務(wù)模塊,所述離線推薦服務(wù)模塊與實(shí)時(shí)推薦服務(wù)模塊電連接,所述離線推薦服務(wù)模塊用于利用als協(xié)同過濾推薦和近期熱門統(tǒng)計(jì)推薦進(jìn)行離線服務(wù),所述實(shí)時(shí)推薦服務(wù)模塊用于進(jìn)行基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的實(shí)時(shí)商品推薦服務(wù),所述離線推薦服務(wù)模塊包括歷史數(shù)據(jù)集子模塊,所述歷史數(shù)據(jù)集子模塊用于離線推薦服務(wù)主要根據(jù)數(shù)據(jù)倉庫中存儲(chǔ)記錄的歷史數(shù)據(jù)集進(jìn)行計(jì)算推薦,所述實(shí)時(shí)推薦服務(wù)模塊包括動(dòng)態(tài)感知子模塊,所述動(dòng)態(tài)感知子模塊用于根據(jù)用戶的評分行為進(jìn)行動(dòng)態(tài)感知的實(shí)時(shí)推薦觸發(fā)。
6.根據(jù)上述技術(shù)方案,所述商品數(shù)據(jù)模塊包括用戶交互數(shù)據(jù)收集模塊、數(shù)據(jù)層、日志系統(tǒng)模塊和分布式環(huán)境模塊,所述用戶交互數(shù)據(jù)收集模塊與數(shù)據(jù)層、日志系統(tǒng)模塊電連接,所述日志系統(tǒng)模塊與分布式環(huán)境模塊電連接,所述用戶交互數(shù)據(jù)收集模塊用于收集用戶和商品相關(guān)的屬性信息即靜態(tài)數(shù)據(jù)以及用戶評分和瀏覽的動(dòng)態(tài)數(shù)據(jù),所述數(shù)據(jù)層用于對數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行封裝計(jì)算,所述日志系統(tǒng)模塊用于將通過埋點(diǎn)采集的日志數(shù)據(jù)放入日志系
統(tǒng)的消息中間件和消息隊(duì)列中,所述分布式環(huán)境模塊用于搭建部署分布式運(yùn)行環(huán)境,所述分布式環(huán)境模塊包括分布式并行計(jì)算子模塊,所述分布式并行計(jì)算子模塊用于利用分布式環(huán)境實(shí)現(xiàn)分布式并行計(jì)算;
7.所述數(shù)據(jù)層包括原始數(shù)據(jù)層、中間數(shù)據(jù)層和應(yīng)用數(shù)據(jù)層,所述原始數(shù)據(jù)層、中間數(shù)據(jù)層與應(yīng)用數(shù)據(jù)層電連接,所述原始數(shù)據(jù)層用于將數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行二次封裝,所述中間數(shù)據(jù)層用于存儲(chǔ)推薦服務(wù)的中間結(jié)果和一些匯總數(shù)據(jù),所述應(yīng)用數(shù)據(jù)層用于存儲(chǔ)各個(gè)推薦服務(wù)產(chǎn)生的混合推薦結(jié)果。
8.根據(jù)上述技術(shù)方案,所述數(shù)據(jù)分析處理模塊包括數(shù)據(jù)倉庫建立模塊、冷啟動(dòng)處理模塊和關(guān)聯(lián)規(guī)則模塊,所述數(shù)據(jù)倉庫建立模塊與冷啟動(dòng)處理模塊、關(guān)聯(lián)規(guī)則模塊網(wǎng)絡(luò)連接,所述數(shù)據(jù)倉庫建立模塊用于建立負(fù)責(zé)存儲(chǔ)業(yè)務(wù)數(shù)據(jù)、中間數(shù)據(jù)和最終數(shù)據(jù)的數(shù)據(jù)倉庫,所述冷啟動(dòng)處理模塊用于利用統(tǒng)計(jì)學(xué)推薦規(guī)避給新用戶推薦過程中遇到的冷啟動(dòng)問題,所述關(guān)聯(lián)規(guī)則模塊用于利用關(guān)聯(lián)規(guī)則發(fā)掘用戶的潛在購物對象。
9.根據(jù)上述技術(shù)方案,所述商品混合推薦方法包括以下運(yùn)行步驟:
10.步驟a1:通過日志系統(tǒng)采集用戶在系統(tǒng)中的交互行為,利用相似度計(jì)算和評分預(yù)測構(gòu)造出用戶畫像;
11.步驟a2:部署分布式環(huán)境;
12.步驟a3:搭建大數(shù)據(jù)處理中臺(tái),利用hive數(shù)據(jù)倉庫管理工具實(shí)現(xiàn)數(shù)據(jù)倉庫的分層建模;
13.步驟a4:將離線和實(shí)時(shí)推薦服務(wù)按照一定的規(guī)則混合輸出,通過動(dòng)態(tài)調(diào)整實(shí)現(xiàn)對于不同用戶的推薦服務(wù)的個(gè)性化;
14.步驟a5:推薦服務(wù)的執(zhí)行結(jié)果經(jīng)過結(jié)果分類處理后觸達(dá)用戶,同時(shí)根據(jù)需要將推薦服務(wù)的輸出寫入數(shù)據(jù)倉庫。
15.根據(jù)上述技術(shù)方案,所述步驟a1中,由事先定義在web用戶交互端的數(shù)據(jù)埋點(diǎn)采集用戶交互的日志數(shù)據(jù)。
16.根據(jù)上述技術(shù)方案,所述步驟a4中,離線和實(shí)時(shí)推薦服務(wù)的具體推薦方法包括以下運(yùn)行步驟:
17.步驟a41:面向歷史數(shù)據(jù)采用協(xié)同過濾推薦和近期熱門統(tǒng)計(jì)推薦的離線推薦服務(wù);
18.步驟a42:進(jìn)行基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的商品實(shí)時(shí)推薦服務(wù);
19.步驟a43:推薦服務(wù)的數(shù)據(jù)經(jīng)過數(shù)據(jù)倉庫和分析處理解耦后,根據(jù)推薦場景需要可以進(jìn)行推薦服務(wù)的替換。
20.根據(jù)上述技術(shù)方案,所述步驟a41中,基于協(xié)同過濾推薦和近期熱門統(tǒng)計(jì)推薦的具體步驟如下:
21.步驟a411:對用戶評分?jǐn)?shù)據(jù)進(jìn)行預(yù)處理,通過隨機(jī)數(shù)將數(shù)據(jù)集切分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),并將切分的數(shù)據(jù)輸出,
22.步驟a412:使用命令啟動(dòng)als算法流程,進(jìn)行迭代運(yùn)算后輸出推薦結(jié)果;
23.步驟a413:將近期熱門統(tǒng)計(jì)采用周期快照事實(shí)表的更新方式進(jìn)行統(tǒng)計(jì)最近一個(gè)月所有商品中被評論最多的前10個(gè)商品。
24.根據(jù)上述技術(shù)方案,所述步驟a413中,采用周期快照事實(shí)表的更新方式進(jìn)行統(tǒng)計(jì)的具體步驟如下:
25.s1:構(gòu)建中間表,用于匯總單日評論數(shù)統(tǒng)計(jì);
26.s2:對日度中間表進(jìn)行匯總;
27.s3:得到每日的最近一個(gè)月熱門商品統(tǒng)計(jì)結(jié)果,將結(jié)果進(jìn)行處理后寫入近期熱門統(tǒng)計(jì)推薦結(jié)果表并輸出。
28.根據(jù)上述技術(shù)方案,所述步驟a42中,基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的商品推薦的具體步驟如下:
29.步驟a421:使用flink實(shí)現(xiàn)實(shí)時(shí)topn推薦,接入日志系統(tǒng)的數(shù)據(jù)源,過濾出點(diǎn)擊事件并設(shè)置時(shí)間類型;
30.步驟a422:根據(jù)業(yè)務(wù)時(shí)間做窗口,過濾出用戶的點(diǎn)擊行為數(shù)據(jù),按照60分鐘的窗口大小,每隔5分鐘統(tǒng)計(jì)一次;
31.步驟a423:通過對商品進(jìn)行分組以及對每個(gè)商品做滑動(dòng)窗口,對數(shù)據(jù)做增量聚合,統(tǒng)計(jì)窗口中數(shù)據(jù)的條數(shù),并將商品id、窗口和商品點(diǎn)擊量封裝,得到各個(gè)商品在各個(gè)窗口的點(diǎn)擊量的數(shù)據(jù)流;
32.步驟a424:再次按窗口進(jìn)行分組,統(tǒng)計(jì)每個(gè)窗口下最熱門的top10個(gè)商品并進(jìn)行輸出;
33.步驟a425:同步用戶在系統(tǒng)中的評分行為會(huì)觸發(fā)基于動(dòng)態(tài)感知的實(shí)時(shí)推薦,系統(tǒng)會(huì)根據(jù)用戶的評分對象和對應(yīng)評分計(jì)算優(yōu)先級。
34.根據(jù)上述技術(shù)方案,所述步驟a425中,觸發(fā)基于動(dòng)態(tài)感知的實(shí)時(shí)推薦的具體步驟如下:
35.步驟一:在用戶進(jìn)行評分時(shí)觸發(fā)業(yè)務(wù)埋點(diǎn),由業(yè)務(wù)服務(wù)器將用戶行為寫入到redis隊(duì)列中,從redis中獲取用戶的最近評分表;
36.步驟二:將商品相似度取出并廣播,使得所有節(jié)點(diǎn)能夠獲得數(shù)據(jù),并從廣播中獲取當(dāng)前商品的相似度列表,將列表中用戶已經(jīng)評分過的商品進(jìn)行過濾與排序;
37.步驟三:根據(jù)用戶的最近評分商品,對推薦列表的商品進(jìn)行相關(guān)度計(jì)算并評分;
38.步驟四:當(dāng)相關(guān)度計(jì)算完成之后會(huì)將結(jié)果發(fā)送給web后臺(tái)服務(wù)器,服務(wù)器進(jìn)行合并,當(dāng)合并過程中重復(fù)出現(xiàn)的商品時(shí),將保留的上一次推薦服務(wù)生成的結(jié)果替換成更新后的最新結(jié)果,在結(jié)果集中選取出預(yù)測評分最高的10個(gè)商品。
39.與現(xiàn)有技術(shù)相比,本發(fā)明所達(dá)到的有益效果是:本發(fā)明,通過設(shè)置有商品數(shù)據(jù)模塊、數(shù)據(jù)分析處理模塊和推薦服務(wù)模塊,通過服務(wù)的方式將推薦算法封裝成推薦服務(wù),充分利用離線計(jì)算框架和實(shí)時(shí)計(jì)算框架的優(yōu)勢,對基于用戶評分的實(shí)時(shí)推薦算法進(jìn)行改進(jìn)與優(yōu)化,結(jié)合用戶的興趣漂移現(xiàn)象進(jìn)行推薦,且優(yōu)化了離線與實(shí)時(shí)的指標(biāo)統(tǒng)計(jì)方式,實(shí)現(xiàn)多樣化且高效的推薦。
附圖說明
40.附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
41.圖1是本發(fā)明的系統(tǒng)模塊組成示意圖。
具體實(shí)施方式
42.下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
43.請參閱圖1,本發(fā)明提供技術(shù)方案:基于大數(shù)據(jù)的商品混合推薦系統(tǒng),包括商品數(shù)據(jù)模塊、數(shù)據(jù)分析處理模塊和推薦服務(wù)模塊,商品數(shù)據(jù)模塊用于進(jìn)行所需商品數(shù)據(jù)的埋點(diǎn)采集和數(shù)據(jù)落盤,數(shù)據(jù)分析處理模塊用于對接收的商品數(shù)據(jù)進(jìn)行集成管理并處理推薦數(shù)據(jù)中存在的問題,推薦服務(wù)模塊用于利用算法進(jìn)行商品推薦計(jì)算實(shí)現(xiàn)離線和實(shí)時(shí)兩組推薦服務(wù),包括商品數(shù)據(jù)模塊與數(shù)據(jù)分析處理模塊網(wǎng)絡(luò)連接,數(shù)據(jù)分析處理模塊與推薦服務(wù)模塊網(wǎng)絡(luò)連接;
44.推薦服務(wù)模塊包括離線推薦服務(wù)模塊和實(shí)時(shí)推薦服務(wù)模塊,離線推薦服務(wù)模塊與實(shí)時(shí)推薦服務(wù)模塊電連接,離線推薦服務(wù)模塊用于利用als協(xié)同過濾推薦和近期熱門統(tǒng)計(jì)推薦進(jìn)行離線服務(wù),實(shí)時(shí)推薦服務(wù)模塊用于進(jìn)行基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的實(shí)時(shí)商品推薦服務(wù),離線推薦服務(wù)模塊包括歷史數(shù)據(jù)集子模塊,歷史數(shù)據(jù)集子模塊用于離線推薦服務(wù)主要根據(jù)數(shù)據(jù)倉庫中存儲(chǔ)記錄的歷史數(shù)據(jù)集進(jìn)行計(jì)算推薦,實(shí)時(shí)推薦服務(wù)模塊包括動(dòng)態(tài)感知子模塊,動(dòng)態(tài)感知子模塊用于根據(jù)用戶的評分行為進(jìn)行動(dòng)態(tài)感知的實(shí)時(shí)推薦觸發(fā),實(shí)時(shí)的統(tǒng)計(jì)商品的熱度,采用基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的實(shí)時(shí)推薦混合實(shí)現(xiàn)實(shí)時(shí)推薦服務(wù),由分布式計(jì)算框架驅(qū)動(dòng)實(shí)時(shí)推薦服務(wù),反應(yīng)用戶短期內(nèi)的興趣變化和實(shí)時(shí)商品趨勢。
45.商品數(shù)據(jù)模塊包括用戶交互數(shù)據(jù)收集模塊、數(shù)據(jù)層、日志系統(tǒng)模塊和分布式環(huán)境模塊,用戶交互數(shù)據(jù)收集模塊與數(shù)據(jù)層、日志系統(tǒng)模塊電連接,日志系統(tǒng)模塊與分布式環(huán)境模塊電連接,用戶交互數(shù)據(jù)收集模塊用于收集用戶和商品相關(guān)的屬性信息即靜態(tài)數(shù)據(jù)以及用戶評分和瀏覽的動(dòng)態(tài)數(shù)據(jù),數(shù)據(jù)層用于對數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行封裝計(jì)算,日志系統(tǒng)模塊用于將通過埋點(diǎn)采集的日志數(shù)據(jù)放入日志系統(tǒng)的消息中間件和消息隊(duì)列中,分布式環(huán)境模塊用于搭建部署分布式運(yùn)行環(huán)境,分布式環(huán)境模塊包括分布式并行計(jì)算子模塊,分布式并行計(jì)算子模塊用于利用分布式環(huán)境實(shí)現(xiàn)分布式并行計(jì)算;
46.數(shù)據(jù)層包括原始數(shù)據(jù)層、中間數(shù)據(jù)層和應(yīng)用數(shù)據(jù)層,原始數(shù)據(jù)層、中間數(shù)據(jù)層與應(yīng)用數(shù)據(jù)層電連接,原始數(shù)據(jù)層用于將數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行二次封裝,中間數(shù)據(jù)層用于存儲(chǔ)推薦服務(wù)的中間結(jié)果和一些匯總數(shù)據(jù),應(yīng)用數(shù)據(jù)層用于存儲(chǔ)各個(gè)推薦服務(wù)產(chǎn)生的混合推薦結(jié)果。
47.數(shù)據(jù)分析處理模塊包括數(shù)據(jù)倉庫建立模塊、冷啟動(dòng)處理模塊和關(guān)聯(lián)規(guī)則模塊,數(shù)據(jù)倉庫建立模塊與冷啟動(dòng)處理模塊、關(guān)聯(lián)規(guī)則模塊網(wǎng)絡(luò)連接,數(shù)據(jù)倉庫建立模塊用于建立負(fù)責(zé)存儲(chǔ)業(yè)務(wù)數(shù)據(jù)、中間數(shù)據(jù)和最終數(shù)據(jù)的數(shù)據(jù)倉庫,冷啟動(dòng)處理模塊用于利用統(tǒng)計(jì)學(xué)推薦規(guī)避給新用戶推薦過程中遇到的冷啟動(dòng)問題,關(guān)聯(lián)規(guī)則模塊用于利用關(guān)聯(lián)規(guī)則發(fā)掘用戶的潛在購物對象,當(dāng)有新用戶注冊時(shí),應(yīng)用統(tǒng)計(jì)學(xué)推薦規(guī)避會(huì)遇到的“冷啟動(dòng)”問題,更適合用來給新用戶推薦,但等新用戶積累了足夠多的行為數(shù)據(jù)之后,采用協(xié)同過濾就發(fā)掘用戶行為的相似性,同步加入關(guān)聯(lián)規(guī)則發(fā)掘用戶的潛在購物對象,提升推薦的個(gè)性化,這些推薦服務(wù)雖然要求解耦,但很多數(shù)據(jù)都可以實(shí)現(xiàn)共用,比如計(jì)算用戶之間的相似度供topn實(shí)時(shí)
推薦使用,相似度計(jì)算這部分涉及的數(shù)據(jù)量和計(jì)算量都很大,需要較長的耗時(shí),但又和最終推薦目標(biāo)無關(guān),因此可以做離線計(jì)算結(jié)果存儲(chǔ),放入數(shù)據(jù)倉庫中,實(shí)時(shí)推薦服務(wù)可以直接拿到相似度結(jié)果,從而大大加快計(jì)算速度。
48.商品混合推薦方法包括以下運(yùn)行步驟:
49.步驟a1:通過日志系統(tǒng)采集用戶在系統(tǒng)中的交互行為,利用相似度計(jì)算和評分預(yù)測構(gòu)造出用戶畫像;
50.步驟a2:部署分布式環(huán)境,考慮到推薦系統(tǒng)需要處理海量數(shù)據(jù),利用分布式環(huán)境下的分布式并行運(yùn)算,可以保證大數(shù)據(jù)推薦服務(wù)穩(wěn)定高效的運(yùn)行;
51.步驟a3:搭建大數(shù)據(jù)處理中臺(tái),利用hive數(shù)據(jù)倉庫管理工具實(shí)現(xiàn)數(shù)據(jù)倉庫的分層建模,數(shù)據(jù)倉庫為整個(gè)系統(tǒng)提供了數(shù)據(jù)服務(wù)的基礎(chǔ),方便推薦服務(wù)獲取數(shù)據(jù),也方便寫入中間結(jié)果和最終結(jié)果,按層有序,減少重復(fù)開發(fā),同時(shí)也能起到隔離數(shù)據(jù)的作用,為推薦服務(wù)和結(jié)果處理模塊提供數(shù)據(jù)支持,為推薦系統(tǒng)的運(yùn)行提供了保障;
52.步驟a4:將離線和實(shí)時(shí)推薦服務(wù)按照一定的規(guī)則混合輸出,通過動(dòng)態(tài)調(diào)整實(shí)現(xiàn)對于不同用戶的推薦服務(wù)的個(gè)性化,通過服務(wù)的方式將推薦算法封裝成推薦服務(wù),充分利用離線計(jì)算框架和實(shí)時(shí)計(jì)算框架的優(yōu)勢,對基于用戶評分的實(shí)時(shí)推薦算法進(jìn)行改進(jìn)與優(yōu)化,結(jié)合用戶的興趣漂移現(xiàn)象進(jìn)行推薦,且優(yōu)化了離線與實(shí)時(shí)的指標(biāo)統(tǒng)計(jì)方式,多樣化結(jié)合以實(shí)現(xiàn)高效的推薦;
53.步驟a5:推薦服務(wù)的執(zhí)行結(jié)果經(jīng)過結(jié)果分類處理后觸達(dá)用戶,同時(shí)根據(jù)需要將推薦服務(wù)的輸出寫入數(shù)據(jù)倉庫。
54.步驟a1中,由事先定義在web用戶交互端的數(shù)據(jù)埋點(diǎn)采集用戶交互的日志數(shù)據(jù),商品推薦系統(tǒng)作為連接用戶和購物平臺(tái)的媒介,既需要收集包括用戶屬性信息和商品屬性信息的靜態(tài)數(shù)據(jù),也需要收集包括用戶評分、用戶瀏覽的動(dòng)態(tài)數(shù)據(jù),從而使得推薦系統(tǒng)能夠使用不同的推薦策略,給用戶推薦可能感興趣的商品。
55.步驟a4中,離線和實(shí)時(shí)推薦服務(wù)的具體推薦方法包括以下運(yùn)行步驟:
56.步驟a41:面向歷史數(shù)據(jù)采用協(xié)同過濾推薦和近期熱門統(tǒng)計(jì)推薦的離線推薦服務(wù),現(xiàn)推薦服務(wù)由于面向整個(gè)歷史數(shù)據(jù)集,因此計(jì)算量較大,但離線推薦的計(jì)算結(jié)果更新頻率較低,一般隨著離線任務(wù)調(diào)度周期而發(fā)生變化,需要預(yù)先計(jì)算一些指標(biāo)供實(shí)時(shí)推薦服務(wù)使用,比如商品的相似度;
57.步驟a42:進(jìn)行基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的商品實(shí)時(shí)推薦服務(wù),實(shí)時(shí)推薦服務(wù)要求有非??焖俚臄?shù)據(jù)獲取與計(jì)算,因此需要將業(yè)務(wù)數(shù)據(jù)存在redis中,包括每個(gè)用戶最近評分的n個(gè)商品,以及半小時(shí)內(nèi)的瀏覽記錄,此外由于離線推薦服務(wù)已經(jīng)計(jì)算好了商品相似度矩陣,因此無需再計(jì)算商品相似度,省去了大量計(jì)算時(shí)間;
58.步驟a43:推薦服務(wù)的數(shù)據(jù)經(jīng)過數(shù)據(jù)倉庫和分析處理解耦后,根據(jù)推薦場景需要可以進(jìn)行推薦服務(wù)的替換,根據(jù)具體場景調(diào)整推薦服務(wù)的種類、數(shù)量、結(jié)果比重等,實(shí)現(xiàn)個(gè)性化、多樣化的推薦。
59.步驟a41中,基于協(xié)同過濾推薦和近期熱門統(tǒng)計(jì)推薦的具體步驟如下:
60.步驟a411:對用戶評分?jǐn)?shù)據(jù)進(jìn)行預(yù)處理,通過隨機(jī)數(shù)將數(shù)據(jù)集切分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù),并將切分的數(shù)據(jù)輸出,
61.步驟a412:使用命令啟動(dòng)als算法流程,進(jìn)行迭代運(yùn)算后輸出推薦結(jié)果;
62.步驟a413:將近期熱門統(tǒng)計(jì)采用周期快照事實(shí)表的更新方式進(jìn)行統(tǒng)計(jì)最近一個(gè)月所有商品中被評論最多的前10個(gè)商品,如果每天都對歷史全量數(shù)據(jù)做排名,數(shù)據(jù)量極大,會(huì)導(dǎo)致無法執(zhí)行,即使能夠執(zhí)行,每天這樣的統(tǒng)計(jì)也會(huì)耗費(fèi)集資源,因此選取近期熱門統(tǒng)計(jì)推薦。
63.步驟a413中,采用周期快照事實(shí)表的更新方式進(jìn)行統(tǒng)計(jì)的具體步驟如下:
64.s1:構(gòu)建中間表,用于匯總單日評論數(shù)統(tǒng)計(jì);
65.s2:對日度中間表進(jìn)行匯總;
66.s3:得到每日的最近一個(gè)月熱門商品統(tǒng)計(jì)結(jié)果,將結(jié)果進(jìn)行處理后寫入近期熱門統(tǒng)計(jì)推薦結(jié)果表并輸出,由于熱門統(tǒng)計(jì)推薦對所有用戶適用,因此無需標(biāo)注用戶id,熱度即為推薦結(jié)果得分。
67.步驟a42中,基于窗口的實(shí)時(shí)topn推薦和基于動(dòng)態(tài)感知的商品推薦的具體步驟如下:
68.步驟a421:使用flink實(shí)現(xiàn)實(shí)時(shí)topn推薦,接入日志系統(tǒng)的數(shù)據(jù)源,過濾出點(diǎn)擊事件并設(shè)置時(shí)間類型;
69.步驟a422:根據(jù)業(yè)務(wù)時(shí)間做窗口,過濾出用戶的點(diǎn)擊行為數(shù)據(jù),按照60分鐘的窗口大小,每隔5分鐘統(tǒng)計(jì)一次;
70.步驟a423:通過對商品進(jìn)行分組以及對每個(gè)商品做滑動(dòng)窗口,對數(shù)據(jù)做增量聚合,統(tǒng)計(jì)窗口中數(shù)據(jù)的條數(shù),并將商品id、窗口和商品點(diǎn)擊量封裝,得到各個(gè)商品在各個(gè)窗口的點(diǎn)擊量的數(shù)據(jù)流;
71.步驟a424:再次按窗口進(jìn)行分組,統(tǒng)計(jì)每個(gè)窗口下最熱門的top10個(gè)商品并進(jìn)行輸出;
72.步驟a425:同步用戶在系統(tǒng)中的評分行為會(huì)觸發(fā)基于動(dòng)態(tài)感知的實(shí)時(shí)推薦,系統(tǒng)會(huì)根據(jù)用戶的評分對象和對應(yīng)評分計(jì)算優(yōu)先級,由于實(shí)時(shí)推薦和具體的推薦目標(biāo)緊密相關(guān),并且可以使用離線計(jì)算的部分結(jié)果,因此能獲得理想的推薦速度,實(shí)時(shí)推薦涉及的計(jì)算量和數(shù)據(jù)量較離線推薦而言比較少,實(shí)時(shí)推薦的結(jié)果也由實(shí)時(shí)推薦服務(wù)輸出后,經(jīng)過結(jié)果處理模塊加工處理后再返回給前臺(tái)觸達(dá)用戶。
73.步驟a425中,觸發(fā)基于動(dòng)態(tài)感知的實(shí)時(shí)推薦的具體步驟如下:
74.步驟一:在用戶進(jìn)行評分時(shí)觸發(fā)業(yè)務(wù)埋點(diǎn),由業(yè)務(wù)服務(wù)器將用戶行為寫入到redis隊(duì)列中,從redis中獲取用戶的最近評分表;
75.步驟二:將商品相似度取出并廣播,使得所有節(jié)點(diǎn)能夠獲得數(shù)據(jù),并從廣播中獲取當(dāng)前商品的相似度列表,將列表中用戶已經(jīng)評分過的商品進(jìn)行過濾與排序;
76.步驟三:根據(jù)用戶的最近評分商品,對推薦列表的商品進(jìn)行相關(guān)度計(jì)算并評分;
77.步驟四:當(dāng)相關(guān)度計(jì)算完成之后會(huì)將結(jié)果發(fā)送給web后臺(tái)服務(wù)器,服務(wù)器進(jìn)行合并,當(dāng)合并過程中重復(fù)出現(xiàn)的商品時(shí),將保留的上一次推薦服務(wù)生成的結(jié)果替換成更新后的最新結(jié)果,在結(jié)果集中選取出預(yù)測評分最高的10個(gè)商品。
78.需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要
素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。
79.最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-8-1050-0.html

來源:專利查詢檢索下載-實(shí)用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請保留出處。本站文章發(fā)布于 2022-11-27 21:27:57

發(fā)表評論

驗(yàn)證碼:
用戶名: 密碼: 匿名發(fā)表
評論列表 (有 條評論
,2人圍觀
參與討論