




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
大學(xué)本科畢業(yè)設(shè)計(jì)(論文)緒論研究背景進(jìn)入到21世紀(jì),計(jì)算機(jī)、物聯(lián)網(wǎng)和云計(jì)算技術(shù)迅猛發(fā)展,當(dāng)今社會(huì)互聯(lián)網(wǎng)大數(shù)據(jù)發(fā)展迅速,電子商務(wù)與物流產(chǎn)業(yè)逐漸成熟,我國電商行業(yè)的市場規(guī)模迅速擴(kuò)大,在2022年,淘寶的總在線商品數(shù)量已經(jīng)超過2.5億。同年,達(dá)到了一年2415.1億的銷售額,根據(jù)《中國電子商務(wù)報(bào)告(2022)》顯示全球電子商務(wù)交易額達(dá)到了43.83萬億元,比上年增長3.5%,網(wǎng)絡(luò)購物已經(jīng)成為人們生活中不可分割的一部分,截止至2022年12月網(wǎng)購用戶規(guī)模達(dá)到8.45億,相比于2021年12月上漲了319萬人,即在中國有60%的人會(huì)使用網(wǎng)購。從市場主體根據(jù)圖1.1【12】可以看出裝修鞋帽、針紡織品商家占比最高達(dá)到總數(shù)的25%,同比增長11.9%,從商品品類數(shù)據(jù)根據(jù)表1.1以得出裝修鞋帽、針紡織品占總零售額的22.62%,同比增長2.6%。[12]隨著商品總類和市場主體的增長,能得出消費(fèi)者在選購心儀服時(shí)是會(huì)面臨信息超載等問題變得難以抉擇,對(duì)于C2C、B2C電子商務(wù)平臺(tái),消費(fèi)者想從海量信息數(shù)據(jù)篩選出自己喜歡的商品比較困難,對(duì)于B2B、C2M的電子商務(wù)平臺(tái),生產(chǎn)廠商和經(jīng)銷商來說想讓自己的產(chǎn)品引起消費(fèi)者的注意也不是易事。對(duì)于現(xiàn)代社會(huì)“人找信息”的傳統(tǒng)服務(wù)模式已經(jīng)逐漸落后,依據(jù)用戶信息與歷史數(shù)據(jù)進(jìn)行自動(dòng)篩選的服務(wù)模式——推薦系統(tǒng)應(yīng)運(yùn)而生,它不局限于把消費(fèi)者看作網(wǎng)站的瀏覽者,更是網(wǎng)絡(luò)內(nèi)容的控制者。目前,淘寶、天貓、拼多多、京東等電商平臺(tái)對(duì)簡單個(gè)性化推薦功能已經(jīng)進(jìn)行應(yīng)用,目的是為了實(shí)現(xiàn)商家的營銷,但從消費(fèi)者出發(fā)的個(gè)性化推薦應(yīng)用少之又少,基于此,本文設(shè)計(jì)和實(shí)現(xiàn)基于大數(shù)據(jù)的裝修推薦系統(tǒng)具有重要的實(shí)踐意義。圖1-12022年全國網(wǎng)絡(luò)零售各類別店鋪數(shù)量占比表1-12022年2022年全國網(wǎng)絡(luò)零售市場各類零售額占比及同比增速商品品類網(wǎng)絡(luò)零售額占比(%)網(wǎng)絡(luò)零售額同比增長(%)裝修鞋帽、針織紡品22.62%2.60%日用品14.62%3.30%家用電器和影像器材10.34%7.70%通訊器材7.45%7.40%糧油、食品7.32%15.60%化妝品6.41%6.40%文化辦公用品6.34%10.10%家具5.33%-2.50%體育、娛樂用品3.65%10.80%其他商品2.98%8.50%五金、電料2.65%7.60%金銀珠寶2.25%27.30%建筑及裝潢材料1.99%16.40%汽車1.51%-6.60%飲料1.26%14.30%中西藥品1.23%43.60%書報(bào)雜志1.02%4.30%煙酒1.00%19.10%電子出版物及音像制品0.03%-2.40%1.2研究目的和意義1.2.1研究目的隨著計(jì)算機(jī)、物聯(lián)網(wǎng)、云計(jì)算技術(shù)的飛速進(jìn)步,我們正于一個(gè)數(shù)據(jù)爆炸的時(shí)代,人們接收到的信息量變得越來越大。并且由于互聯(lián)網(wǎng)的普及使得數(shù)據(jù)量極具增加,傳統(tǒng)數(shù)據(jù)的處理技術(shù)已經(jīng)無法處理如今龐大的數(shù)據(jù)量和數(shù)據(jù)規(guī)模,人們開始意識(shí)到數(shù)據(jù)的價(jià)值,因此大數(shù)據(jù)技術(shù)誕生,并嘗試用大數(shù)據(jù)技術(shù)來處理分析數(shù)據(jù),人們從此進(jìn)入大數(shù)據(jù)時(shí)代。通過對(duì)大數(shù)據(jù)技術(shù)的研究,產(chǎn)生了各類推薦系統(tǒng),從電商平臺(tái)的裝修推薦系統(tǒng)到圖書網(wǎng)站相關(guān)體裁和內(nèi)容的圖書推薦,使人們的生活產(chǎn)生了翻天覆地的變化。人們對(duì)自己喜好的個(gè)性化裝修需求已經(jīng)難以滿足,為了滿足人們對(duì)個(gè)性化裝修的需求,本系統(tǒng)構(gòu)建了一種基于大數(shù)據(jù)技術(shù)的裝修推薦系統(tǒng),根據(jù)推薦算法和數(shù)據(jù)庫建立相應(yīng)模型,通過迭代運(yùn)算進(jìn)行修正,使模型可以根據(jù)使用者的個(gè)人信息、歷史數(shù)據(jù)、收藏信息等為其推薦裝修,通過大數(shù)據(jù)技術(shù)分析實(shí)現(xiàn)消費(fèi)者費(fèi)者對(duì)于裝修的個(gè)性化購買需求。1.2.2研究意義個(gè)性化裝修推薦系統(tǒng)開發(fā)主要解決裝修信息過量的問題。目前在淘寶、天貓、京東、拼多多等電商網(wǎng)站中,大量的裝修信息導(dǎo)致人們在篩選的過程中耗費(fèi)了巨大的時(shí)間和精力。使用戶的使用體驗(yàn)幾句下降,而基于大數(shù)據(jù)的個(gè)性化裝修推薦系統(tǒng)可以能夠在一定程度上提高按照用戶需求選擇裝修的效率和精度,可以對(duì)用戶個(gè)人信息、歷史數(shù)據(jù)、收藏信息、購買行為數(shù)據(jù)進(jìn)行分析,并且能夠通過迭代運(yùn)算出用戶更加感興趣的裝修從而進(jìn)行推薦。用戶在電商平臺(tái)進(jìn)行購物,具有跨越空間和節(jié)省時(shí)間的購買優(yōu)勢,電商平臺(tái)相較于實(shí)體商家,運(yùn)營成本和時(shí)間成本較低,且購買方式便捷,因此成交訂單數(shù)量要遠(yuǎn)大于實(shí)體店鋪,通過大數(shù)據(jù)技術(shù)實(shí)現(xiàn)的個(gè)性化裝修推薦系統(tǒng)可以貼近或完全符合消費(fèi)者的購買意愿增強(qiáng)消費(fèi)者購物的滿足感,從而產(chǎn)生用戶黏度,提高消費(fèi)者在本平臺(tái)的留存率。1.3國內(nèi)外研究現(xiàn)狀1.3.1國外研究現(xiàn)狀Jung等對(duì)基于協(xié)同過濾的裝修推薦系統(tǒng)進(jìn)行了分析發(fā)現(xiàn)了協(xié)同過濾不能反映用戶的全部數(shù)據(jù)的不足,并使用基于語義網(wǎng)絡(luò)的個(gè)性化裝修推薦系統(tǒng),可以在沒有用戶偏好數(shù)據(jù)的情況下進(jìn)行推薦;Sekozawa等基于AHP技術(shù)分析用戶喜好,再通過裝修的相關(guān)性形成聚類,并分析市場籃子,因此,該系統(tǒng)可以協(xié)調(diào)適合個(gè)別客戶口味的衣服。它還可以根據(jù)過去的銷售數(shù)據(jù)推薦其他衣服。Seo,Y
(Seo,Yian)
等使用分層神經(jīng)網(wǎng)絡(luò)(H-CNN)提出了一個(gè)輸出分層信息的知識(shí)嵌入分類器模型,提高了裝修推薦的精度,降低了損耗;Paul,A
(Paul,Agyemang)
等提出貝葉斯個(gè)性化排名系統(tǒng)可以根據(jù)特定的購物者、學(xué)生和研究人員的互動(dòng)來幫助他們,這說明了通過生成智能推薦(如裝修、書籍和其他相關(guān)信息)的巨大改進(jìn)能力。然而,對(duì)于這些用戶來說,在網(wǎng)上找到想要的裝修和書籍是很復(fù)雜的,并且受到各種因素(例如,視覺外觀和時(shí)間)的影響。因此,傳統(tǒng)的個(gè)性化推薦方法僅對(duì)用戶-產(chǎn)品交互數(shù)據(jù)進(jìn)行建模,將提供不令人滿意的推薦結(jié)果。在本文中,我們建議將視覺、時(shí)間和順序信息結(jié)合起來進(jìn)行個(gè)性化推薦。Su,XP
(Su,Xueping)
等提出隨著經(jīng)濟(jì)的不斷發(fā)展,消費(fèi)者對(duì)個(gè)性化裝修的需求也越來越受到關(guān)注。但是,現(xiàn)有裝修推薦系統(tǒng)的推薦質(zhì)量不足以滿足用戶的需求。在瀏覽在線裝修時(shí),面部表情是了解用戶偏好的突出信息。本文提出了一種基于用戶情感分析的自動(dòng)個(gè)性化裝修推薦的新方法。首先,面部表情按多類SVM進(jìn)行分類。接下來,使用混合RCNN獲得的表達(dá)強(qiáng)度計(jì)算用戶的多興趣值。最后,融合多興趣值,進(jìn)行個(gè)性化推薦。實(shí)驗(yàn)結(jié)果表明,所提方法比其他算法具有顯著的改進(jìn)效果。Delianidi,M
(Delianidi,Marina)
等
提出當(dāng)長期用戶模型不可用時(shí),無法應(yīng)用傳統(tǒng)的推薦方法,例如協(xié)同過濾。在本文中,出了兩種基于會(huì)話的推薦方法,用于通用電子商務(wù)框架中的匿名瀏覽。我們使用圖表來表示數(shù)據(jù),其中項(xiàng)目根據(jù)出現(xiàn)順序或它們共同出現(xiàn)的順序連接到會(huì)話并相互連接。在第一種方法中,稱為分層序列概率(HSP),使用項(xiàng)目在圖中某些結(jié)構(gòu)上出現(xiàn)的概率生成建議。具體來說,給定會(huì)話期間的當(dāng)前項(xiàng)目,要?jiǎng)?chuàng)建推薦的下一個(gè)項(xiàng)目的列表,我們首先計(jì)算以每個(gè)候選人的下一個(gè)項(xiàng)目結(jié)束的所有可能的連續(xù)三元組的概率,然后是所有候選項(xiàng)目對(duì)的概率,最后是建議項(xiàng)目的概率。在我們的第二種方法中,稱為循環(huán)項(xiàng)目共現(xiàn)(RIC),我們根據(jù)線性循環(huán)機(jī)制產(chǎn)生的加權(quán)分?jǐn)?shù)生成推薦列表,使用當(dāng)前項(xiàng)目和所有項(xiàng)目之間的共現(xiàn)概率。我們使用四個(gè)基于會(huì)話的數(shù)據(jù)集將我們的方法與三個(gè)最先進(jìn)的圖形神經(jīng)網(wǎng)絡(luò)(GNN)模型進(jìn)行了比較,其中一個(gè)數(shù)據(jù)集包含我們從皮革裝修電子商店收集的數(shù)據(jù)。在推薦有效性方面,我們的方法在許多數(shù)據(jù)集上具有有利的競爭力,而生成圖表和生成建議的時(shí)間要短得多。1.3.2國內(nèi)研究現(xiàn)狀中國國內(nèi)的裝修推薦系統(tǒng)還不成熟過于依賴裝修標(biāo)簽不考慮是否適合消費(fèi)者。和其他國家相比還有很大的差距。之后,中國很多研究人員根據(jù)裝修推薦系統(tǒng)進(jìn)行研究,取得了很大的成果。
韓豐澤利用系統(tǒng)推薦和消費(fèi)者收藏、反復(fù)瀏覽商品,他們提出了基于裝修個(gè)性化推薦的裝修推薦算法。這是通過消費(fèi)者喜好和傾向針對(duì)其推薦符合其需求和計(jì)算消費(fèi)者或商品間的相似性的方式得出的結(jié)論。連同裝修的內(nèi)容一起計(jì)算裝修的類似度,向用戶推薦用戶瀏覽過的裝修;司夢楚等通過利用利用用戶的歷史瀏覽、點(diǎn)擊、分享、加購和以購買等項(xiàng)目數(shù)據(jù)建立偏好模型,再通過提取其中的內(nèi)容屬性形成特征矩陣,通過分析用戶模型和特征矩陣的相似度來為用戶進(jìn)行個(gè)性化推薦,但隨著瀏覽記錄數(shù)據(jù)的增加,這種方法難以準(zhǔn)確的推薦用戶喜歡的服飾;許晴晴對(duì)利用了數(shù)據(jù)挖掘等新模型的個(gè)性化裝修推薦系統(tǒng)進(jìn)行了分析,發(fā)現(xiàn)了用戶模型不穩(wěn)定,難以建模、推薦的精確度較低、系統(tǒng)的計(jì)算量過大三個(gè)問題,使用了基于內(nèi)容的推薦算法、協(xié)同過濾推薦算法、混合推薦算法優(yōu)化裝修推薦系統(tǒng),使其能夠更加精準(zhǔn)的進(jìn)行個(gè)性化推薦;劉振娟等通過基于神經(jīng)網(wǎng)絡(luò)通過圖像提取裝修屬性,建立用戶偏好模型和基于時(shí)間因子的用戶興趣模型,將二者進(jìn)行融合并進(jìn)行數(shù)據(jù)采集與處理進(jìn)行個(gè)性化推薦。但此方法存在調(diào)整因子對(duì)推薦的影響,導(dǎo)致精確度不夠;甘美辰、李敏在《紡織學(xué)報(bào)》雜志《女裝搭配推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》。本文基于設(shè)計(jì)要素與裝修風(fēng)格的關(guān)系分析和女裝屬性的關(guān)聯(lián)規(guī)則構(gòu)建裝修推薦系統(tǒng)。實(shí)現(xiàn)了的模型,根據(jù)用戶的裝修搭配、品類搭配、風(fēng)格搭配、色彩大悲進(jìn)行包含各種各樣的意義的發(fā)掘,綜合用戶的評(píng)分、評(píng)論等計(jì)算裝修推薦系數(shù)。實(shí)驗(yàn)結(jié)果表明,關(guān)系分析可以有效地挖掘用戶對(duì)某些項(xiàng)目的潛在興趣;楊怡然、吳巧英通過基于內(nèi)容的推薦算法和協(xié)同過濾算法等基礎(chǔ)上與新型技術(shù)結(jié)合形成智能推薦算法,實(shí)現(xiàn)更高效精準(zhǔn)的推薦;李圓、于淼為了提高對(duì)用戶推薦系統(tǒng)的準(zhǔn)確性和提高用戶使用體驗(yàn)對(duì)相關(guān)文獻(xiàn)和研究現(xiàn)狀和發(fā)展趨勢進(jìn)行分析,說明了相關(guān)技術(shù)的各自特點(diǎn),歸納并總結(jié)了研究現(xiàn)狀和應(yīng)用情況,說明了未來發(fā)展趨勢;王夢云等利用國內(nèi)外對(duì)于裝修推薦系統(tǒng)相關(guān)文獻(xiàn)的發(fā)文量、關(guān)鍵詞進(jìn)行可視化分析并對(duì)發(fā)展趨勢進(jìn)行總結(jié)。并從中整理了裝修推薦系統(tǒng)核心的技術(shù)和方法;王寧等提出傳統(tǒng)的協(xié)同過濾算法計(jì)算相似度的方式過于單一,通過利用用戶評(píng)分權(quán)重、項(xiàng)目優(yōu)劣性等改進(jìn)因子等方式,改進(jìn)相似度的計(jì)算方式,降低了平均誤差,使得得出的推薦結(jié)果更加精確;蔣文娟等提出基于協(xié)同過濾算法的個(gè)性化推薦系統(tǒng)可以分析用戶的收藏信息并計(jì)算相似度從而給用戶提供更有效的服務(wù),提高用戶的體驗(yàn)。1.4本文的主要研究內(nèi)容本文的主要研究內(nèi)容為:第一部分序論:序論主要描述了課題研究的背景,對(duì)裝修推薦系統(tǒng)的研究意義和研究目的進(jìn)行分析和說明,并對(duì)國內(nèi)外的研究現(xiàn)狀進(jìn)行調(diào)查和整合。第二部分相關(guān)理論基礎(chǔ):該部分對(duì)本課題使用到的相關(guān)理論基礎(chǔ)進(jìn)行整理描述,主要包括大數(shù)據(jù)相關(guān)理論,大數(shù)據(jù)的概念和特征,基于內(nèi)容的推薦、基于物品協(xié)同過濾推薦算法和TOP-K算法等。第三部分需求分析:該部分對(duì)系統(tǒng)的需求進(jìn)行分析,分析了當(dāng)前存在的裝修推薦系統(tǒng)所存在的問題,為了解決這些問題需要實(shí)現(xiàn)的系統(tǒng)功能需求。第四部分系統(tǒng)設(shè)計(jì):分析系統(tǒng)實(shí)現(xiàn)所需要的流程,對(duì)系統(tǒng)整體架構(gòu)的設(shè)計(jì),設(shè)計(jì)離線推薦和實(shí)時(shí)推薦模塊的算法流程。第五部分系統(tǒng)的實(shí)現(xiàn):這個(gè)部分簡單地介紹系統(tǒng)的開發(fā)環(huán)境,利用圖片展示系統(tǒng)的功能實(shí)現(xiàn),測試系統(tǒng)的功能模塊,對(duì)bug進(jìn)行調(diào)試。
2相關(guān)理論基礎(chǔ)2.1大數(shù)據(jù)理論2.1.1大數(shù)據(jù)概念在微觀層面上,大數(shù)據(jù)技術(shù)為數(shù)據(jù)的存儲(chǔ)和分析提供了一種簡單的手段,這使得數(shù)字化資產(chǎn)變得更為重要。與此同時(shí),它在各行業(yè)領(lǐng)域中的應(yīng)用,可以為產(chǎn)業(yè)發(fā)展帶來新的方向[14]。對(duì)于“大數(shù)據(jù)”(Bigdata)研究機(jī)構(gòu)Gartner給出了這樣的定義?!按髷?shù)據(jù)”是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力來適應(yīng)海量、高增長率和多樣化的信息資產(chǎn)。麥肯錫全球研究所給出的定義是:一種規(guī)模大到在獲取、存儲(chǔ)、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價(jià)值密度低四大特征。2.1.2大數(shù)據(jù)特征大數(shù)據(jù)特征如下[14]1.數(shù)據(jù)量大第一個(gè)特征是數(shù)據(jù)量大。大數(shù)據(jù)的起始計(jì)量單位至少是P(1000個(gè)T)、E(100萬個(gè)T)或Z(10億個(gè)T)。2.類型繁多第二個(gè)特征是數(shù)據(jù)類型繁多。包括網(wǎng)絡(luò)日志、音頻、視頻、圖片、地理位置信息等等,多類型的數(shù)據(jù)對(duì)數(shù)據(jù)的處理能力提出了更高的要求。3.價(jià)值密度低第三個(gè)特征是數(shù)據(jù)價(jià)值密度相對(duì)較低。如隨著物聯(lián)網(wǎng)的廣泛應(yīng)用,信息感知無處不在,信息海量,但價(jià)值密度較低,如何通過強(qiáng)大的機(jī)器算法更迅速地完成數(shù)據(jù)的價(jià)值“提純”,是大數(shù)據(jù)時(shí)代亟待解決的難題。4.速度快、時(shí)效高第四個(gè)特征是處理速度快,時(shí)效性要求高。這是大數(shù)據(jù)區(qū)分于傳統(tǒng)數(shù)據(jù)挖掘最顯著的特征。既有的技術(shù)架構(gòu)和路線,已經(jīng)無法高效處理如此海量的數(shù)據(jù),而對(duì)于相關(guān)組織來說,如果投入巨大采集的信息無法通過及時(shí)處理反饋有效信息,那將是得不償失的??梢哉f,大數(shù)據(jù)時(shí)代對(duì)人類的數(shù)據(jù)駕馭能力提出了新的挑戰(zhàn),也為人們獲得更為深刻、全面的洞察能力提供了前所未有的空間與潛力。2.2推薦算法2.2.1基于內(nèi)容的推薦 所謂基于內(nèi)容的推薦算法(Content-BasedRecommendations)是基于標(biāo)記物相關(guān)信息、用戶相關(guān)信息及用戶對(duì)標(biāo)記物的操作行為來構(gòu)建推薦算法模型,并尋找出物品或內(nèi)容的內(nèi)在關(guān)系,為用戶提供推薦服務(wù)[10]。這里的標(biāo)記物相關(guān)信息可以是對(duì)標(biāo)的物文字描述的metadata信息、標(biāo)簽、用戶評(píng)論、人工標(biāo)注的信息等。用戶相關(guān)信息是指人口統(tǒng)計(jì)學(xué)信息(如年齡、性別、偏好、地域、收入等等)。用戶對(duì)標(biāo)的物的操作行為可以是評(píng)論、收藏、點(diǎn)贊、觀看、瀏覽、點(diǎn)擊、加購物車、購買等?;趦?nèi)容的推薦算法一般只依賴于用戶自身的行為為用戶提供推薦,不涉及到其他用戶的行為。2.2.2TOP-K推薦算法Top-K方法是一種數(shù)據(jù)處理操作,旨在從一組數(shù)據(jù)中選擇出前K個(gè)最大或最小的元素[13]。在計(jì)算機(jī)科學(xué)和數(shù)據(jù)分析領(lǐng)域,Top-K方法被廣泛應(yīng)用于排序、搜索和排名等任務(wù)。它對(duì)于處理海量數(shù)據(jù)特別有效,例如在1億個(gè)數(shù)據(jù)中找出訪問次數(shù)前1000的熱點(diǎn)數(shù)據(jù),或者在海量搜索字符串中找出搜索頻率排在前十的搜索字符串等。在Top-K運(yùn)算中,K表示要選擇的元素的數(shù)量。如果需要找到最大的K個(gè)元素,則稱為Top-K問題;如果需要找到最小的K個(gè)元素,則稱為Bottom-K問題。常見的Top-K算法包括堆排序(HeapSort)、快速選擇(QuickSelect)、分治法(DivideandConquer)等。這些算法利用不同的策略和數(shù)據(jù)結(jié)構(gòu)來高效地找到Top-K元素,避免對(duì)整個(gè)數(shù)據(jù)集進(jìn)行完全排序或遍歷。此外,在分類任務(wù)中,Top-K方法也有其獨(dú)特的應(yīng)用。例如,在模型輸出為分類標(biāo)簽的one-hot編碼,且目標(biāo)為正確標(biāo)簽的情況下,Top-K準(zhǔn)確率用于計(jì)算預(yù)測結(jié)果中概率最大的前K個(gè)結(jié)果包含正確標(biāo)簽的占比。這在類別數(shù)很多時(shí)特別有用,因?yàn)槟P碗m然不能準(zhǔn)確地將真實(shí)標(biāo)簽作為最高概率預(yù)測出來,但通過學(xué)習(xí),真實(shí)標(biāo)簽的準(zhǔn)確率能夠在所有類中處于較靠前的位置。使用Top-K方法時(shí),增加K值可能會(huì)帶來更多樣化的結(jié)果,但也可能增加輸出錯(cuò)誤的風(fēng)險(xiǎn);而減少K值可能會(huì)產(chǎn)生更安全但更低多樣性的輸出。因此,在實(shí)際應(yīng)用中,需要根據(jù)具體需求和場景來選擇合適的K值。總之,Top-K方法是一種靈活且強(qiáng)大的數(shù)據(jù)處理工具,能夠高效地處理大量數(shù)據(jù)并提取出有用的信息,在各種應(yīng)用中都有重要的作用。2.2.3基于物品的協(xié)同過濾算法簡單的說就是:基于物品的協(xié)同過濾算法是比較著名且使用廣泛也是較為成功的推薦算法,主要功能是預(yù)測和推薦。算法通過對(duì)用戶歷史行為數(shù)據(jù)的挖掘發(fā)現(xiàn)用戶的偏好,將喜好相同的用戶分為一組,對(duì)喜好相同用戶組的用戶推薦裝修時(shí),根據(jù)用戶的評(píng)分矩陣中的用戶數(shù)據(jù)對(duì)相似數(shù)據(jù)進(jìn)行提取,從而進(jìn)行推薦[2]。實(shí)現(xiàn)過程為:當(dāng)已經(jīng)對(duì)用戶行為進(jìn)行分析進(jìn)而得到用戶喜好后,我們可以根據(jù)用戶喜好計(jì)算相似的用戶和物品,然后基于相似用戶或者物品進(jìn)行推薦。為用戶生成推薦列表是根據(jù)用戶的歷史行為和物品相似度所得出,在計(jì)算之前首先要計(jì)算兩項(xiàng)之間的相似度。用戶的歷史行為決定了物品之間的相似度。如果只考慮物品內(nèi)容,那么計(jì)算相似度是一種基于內(nèi)容的推薦。公式如(2-1)所示。(2-1)其中,表示喜歡或購買物品i的用戶數(shù)量,表示同時(shí)喜歡或者購買兩個(gè)物品的用戶數(shù)量。(2-2)示計(jì)算用戶u對(duì)物品j的興趣度。(2-2)其中表示用戶u喜歡的物品集合,表示和物品j最相近的K個(gè)物品的集合,是物品j和物品i的相似度,是用戶u對(duì)物品i的興趣度。算法思想如圖2-1所示:圖2-1基于物品的協(xié)同過濾算法
2.2.4ALS推薦算法ALS:交替最小二乘(alternatingleastsquares)的簡稱。也稱為交替最小二乘法,其求解原理是基于矩陣分解后得到損失函數(shù),通過對(duì)分解后得到的矩陣求偏導(dǎo)的方式使損失函數(shù)的RMSE值達(dá)到最小來獲得所求模型的最優(yōu)值。本文選擇基于ALS模型的協(xié)同過濾推薦算法的原因是相較于基于用戶的和基于項(xiàng)目的協(xié)同過濾推薦算法,基于ALS模型的協(xié)同過濾推薦算法在面對(duì)稀疏數(shù)據(jù)集時(shí)具有更好的處理效果以及更好的可擴(kuò)展性[11]。在機(jī)器學(xué)習(xí)中,ALS特指使用交替最小二乘求解的一個(gè)協(xié)同推薦算法。它通過觀察到的所有用戶給商品的打分,來推斷每個(gè)用戶的喜好并向用戶推薦適合的商品。ALS算法通過隱含特征(latentfactor)聯(lián)系用戶興趣和物品(item),基于用戶的行為找出潛在的主題和分類,然后對(duì)item進(jìn)行自動(dòng)聚類,劃分到不同類別/主題(用戶的興趣)。本質(zhì)是把協(xié)同過濾算法進(jìn)行了一種延伸,把用戶的相似性和物品的相似性通過了一個(gè)叫做隱向量的方式進(jìn)行表達(dá)。矩陣分解算法將mx×n維的共現(xiàn)矩陣R分解成m×k維的用戶矩陣U和k×n維的物品矩陣M相乘的形式。我們的目標(biāo)就是填充共現(xiàn)矩陣中的空缺值,從而對(duì)用戶的行為產(chǎn)生預(yù)測。其中m是用戶數(shù)量,n是物品數(shù)量,k是隱向量維度,也就是隱含特征個(gè)數(shù),只不過這里的隱含特征變得不可解釋了,即我們不知道具體含義了,要模型自己去學(xué)。k的大小決定了隱向量表達(dá)能力的強(qiáng)弱,k越大,表達(dá)信息就越強(qiáng),理解起來就是把用戶的興趣和物品的分類劃分的越具體。每個(gè)用戶和物品都有一個(gè)k維的隱向量來表示,因此如果我們想計(jì)算某個(gè)用戶對(duì)特定物品的評(píng)分或其他隱式行為p;j,只需要計(jì)算對(duì)應(yīng)向量的內(nèi)積即可。ALS的優(yōu)點(diǎn):可以分布式計(jì)算,處理大數(shù)據(jù)場景泛化能力強(qiáng),原論文提到如果采用Tikhonov正則化不論迭代次數(shù)多少或者隱藏向量維度多高都不會(huì)出現(xiàn)過擬合現(xiàn)象解決了協(xié)同過濾中頭部效應(yīng)明顯的現(xiàn)象3系統(tǒng)需求分析3.1系統(tǒng)發(fā)展現(xiàn)狀分析近些年來,隨著計(jì)算機(jī)、物聯(lián)網(wǎng)、云計(jì)算等技術(shù)的發(fā)展,大數(shù)據(jù)技術(shù)發(fā)展迅速,人們選擇網(wǎng)購具有時(shí)間和空間上的優(yōu)勢,并且在線上購物用戶可以在線訂購各種商品,也可以了解產(chǎn)品的詳細(xì)信息、商品的樣式與評(píng)價(jià),通過詳細(xì)的裝修信息、裝修關(guān)鍵詞與評(píng)價(jià)來判斷是否需要購買,這是線下購物所無法相比的。同時(shí)裝修資源正在日益增長,網(wǎng)絡(luò)購物還可以通過優(yōu)惠券和直播帶貨等方式使用戶以較為實(shí)惠的價(jià)格購入裝修。基于以上在如今的大環(huán)境下一個(gè)優(yōu)秀的個(gè)性化裝修推薦系統(tǒng)是必不可少的。裝修推薦系統(tǒng)可以向用戶推薦符合喜好的價(jià)格優(yōu)惠的個(gè)性化裝修,并且隨著用戶的繼續(xù)使用還可以根據(jù)用戶的個(gè)人信息、歷史數(shù)據(jù)、和裝修收藏信息進(jìn)行迭代運(yùn)算,從而為用戶推薦更多符合他們喜好的裝修。在我國,以最大的電子商務(wù)平臺(tái)——淘寶網(wǎng)為例,進(jìn)入網(wǎng)站的主頁后,可以看到有一個(gè)“猜你喜歡”的欄目。在瀏覽主頁時(shí),還會(huì)看到各種不同的裝修推薦榜單,以及“裝修熱銷推薦”板塊和“風(fēng)格好店推薦”板塊。裝修推薦系統(tǒng)最突出的頁面是裝修詳情頁。點(diǎn)擊任意一款裝修的詳情頁,除了顯示裝修的基本信息、款式、尺碼、生產(chǎn)廠家等,還有“大家都在店里逛”、“店鋪推薦”、“根據(jù)相似單品推薦”模塊。3.2系統(tǒng)存在的問題(1)由于繁雜和巨量的裝修信息,使消費(fèi)者很難從中挑選適合自己的裝修,使得要購買裝修的消費(fèi)者視為畏途。(2)由于更新推薦時(shí)采用ALS算法使得新的推薦列表與原來的推薦列表大致相同導(dǎo)致用戶體驗(yàn)感降低。(3)無法通過用戶的喜好對(duì)裝修進(jìn)行精準(zhǔn)推薦,從而無法提升銷量。3.3功能需求分析此裝修推薦系統(tǒng)的主要群體是用戶,用戶是大數(shù)據(jù)推薦算法的基礎(chǔ),本系統(tǒng)設(shè)計(jì)了用戶模塊,其中包含了用戶的登錄和注冊功能,只有用戶在系統(tǒng)進(jìn)行注冊且進(jìn)行登錄之后才可以進(jìn)行裝修推薦。裝修推薦系統(tǒng)中推薦算法的最大數(shù)據(jù)來源也是用戶,為此本系統(tǒng)設(shè)計(jì)了裝修管理模塊,用戶不但能在此模塊查看裝修信息之外,還有收藏裝修,為裝修做評(píng)價(jià)等功能,通過這些功能系統(tǒng)可以更輕松的對(duì)用戶進(jìn)行個(gè)性化裝修數(shù)據(jù)集的建立,能夠?yàn)橛脩籼峁└玫耐扑]服務(wù)。為了實(shí)現(xiàn)通過用戶的操作進(jìn)行分析并且對(duì)于用戶的喜好進(jìn)行精準(zhǔn)推薦,需要實(shí)現(xiàn)對(duì)系統(tǒng)所用推薦算法并對(duì)其進(jìn)行封裝,為了給予用戶較好的使用體驗(yàn)本系統(tǒng)設(shè)計(jì)了實(shí)時(shí)推薦模塊和離線推薦模塊。實(shí)時(shí)推薦模塊:對(duì)用戶登錄后進(jìn)行的瀏覽、收藏、和評(píng)價(jià)等一系列操作進(jìn)行分析通過迭代運(yùn)算為用戶實(shí)時(shí)推薦符合用戶喜好的裝修。離線推薦模塊:將用戶的一系列操作寫入數(shù)據(jù)庫后,用戶就可以在登錄后查看根據(jù)自己的歷史行為通過迭代運(yùn)算生成的個(gè)性化裝修推薦列表。通過將用戶模塊的功能的簡潔設(shè)計(jì),便于用戶操作,大大提高了用戶的使用體驗(yàn),并通過簡潔的操作就能夠生成更適合用戶需求的裝修推薦列表。裝修推薦系統(tǒng)中使用最頻繁的是系統(tǒng)中已經(jīng)注冊的用戶,其主要是用過裝修推薦系統(tǒng)生成的推薦列表進(jìn)行對(duì)裝修的挑選。對(duì)于沒注冊的新用戶,在注冊時(shí)并未填寫對(duì)于裝修喜好等個(gè)人信息,所以新用戶暫時(shí)無法使用實(shí)時(shí)推薦和離線推薦模塊的功能,當(dāng)完善個(gè)人信息之后,實(shí)時(shí)推薦和離線推薦模塊的功能才能被用戶使用。從而根據(jù)用戶模塊的功能進(jìn)行分析并為用戶進(jìn)行符合喜好的個(gè)性化裝修推薦,為用戶提供更好的服務(wù)。3.4用戶需求分析 為了給予用戶良好的使用體驗(yàn),同時(shí)方便系統(tǒng)對(duì)用戶進(jìn)行管理,故對(duì)用戶類型和用戶需求進(jìn)行分析。用戶共分為消費(fèi)者、賣家、管理員三類。消費(fèi)者的需求為查詢、收藏、評(píng)價(jià)裝修以及查看裝修的評(píng)價(jià),并希望得到符合消費(fèi)者洗好的個(gè)性化推薦列表。賣家的需求為對(duì)新款裝修進(jìn)行上架其中包括上傳圖片,上傳裝修尺碼信息、上傳裝修的種類以及下架裝修,管理員負(fù)責(zé)對(duì)后臺(tái)存在的用戶信息、商家信息進(jìn)行管理。
4系統(tǒng)設(shè)計(jì)4.1總體架構(gòu)設(shè)計(jì)采用微服務(wù)架構(gòu)構(gòu)建裝修推薦系統(tǒng),微服務(wù)架構(gòu)區(qū)別于傳統(tǒng)的單體軟件架構(gòu),是一種為了適應(yīng)當(dāng)前互聯(lián)網(wǎng)后臺(tái)服務(wù)的三高需求:高并發(fā)、高性能、高可用而產(chǎn)生的的軟件架構(gòu)。微服務(wù)架構(gòu)簡單來說就是將單體應(yīng)用進(jìn)一步拆分,拆分成更小的服務(wù),每個(gè)服務(wù)都是一個(gè)可以獨(dú)立運(yùn)行的項(xiàng)目。微服務(wù)架構(gòu)的優(yōu)點(diǎn)是服務(wù)原子化拆分、獨(dú)立打包、部署和升級(jí),保證每個(gè)微服務(wù)清晰的任務(wù)劃分、有利于擴(kuò)展,且微服務(wù)之間采用Restful等輕量級(jí)http協(xié)議互相調(diào)用。如圖4-1所示 圖4-1裝修推薦系統(tǒng)項(xiàng)目架構(gòu)圖本系統(tǒng)開發(fā)使用前后端分離的方式。用戶可視化:主要負(fù)責(zé)實(shí)現(xiàn)和用戶的交互以及業(yè)務(wù)數(shù)據(jù)的展示,主體采用AngularJS2進(jìn)行實(shí)現(xiàn),部署在Apache服務(wù)上。綜合業(yè)務(wù)服務(wù):主要實(shí)現(xiàn)JavaEE層面整體的業(yè)務(wù)邏輯,通過Spring進(jìn)行構(gòu)建,對(duì)接業(yè)務(wù)需求。部署在Tomcat上。后端使用的框架為spring-cloud框架。業(yè)務(wù)數(shù)據(jù)庫:項(xiàng)目采用廣泛應(yīng)用的文檔數(shù)據(jù)庫MongDB作為主數(shù)據(jù)庫,主要負(fù)責(zé)平臺(tái)業(yè)務(wù)邏輯數(shù)據(jù)的存儲(chǔ)。后端通過檢索存入MongoDB數(shù)據(jù)庫中的數(shù)據(jù)并將其呈現(xiàn)給用戶。緩存數(shù)據(jù)庫:項(xiàng)目采用Redis作為緩存數(shù)據(jù)庫,主要用來支撐實(shí)時(shí)推薦系統(tǒng)部分對(duì)于數(shù)據(jù)的高速獲取需求。日志采集服務(wù):通過利用Flume-ng對(duì)業(yè)務(wù)平臺(tái)中用戶對(duì)于商品的一次評(píng)分行為進(jìn)行采集,實(shí)時(shí)發(fā)送到Kafka集群。消息緩沖服務(wù):項(xiàng)目采用Kafka作為流式數(shù)據(jù)的緩存組件,接受來自Flume的數(shù)據(jù)采集請求。并將數(shù)據(jù)推送到項(xiàng)目的實(shí)時(shí)推薦系統(tǒng)部分。實(shí)時(shí)推薦服務(wù):項(xiàng)目采用SparkStreaming作為實(shí)時(shí)推薦系統(tǒng),通過接收Kafka中緩存的數(shù)據(jù),通過設(shè)計(jì)的推薦算法實(shí)現(xiàn)對(duì)實(shí)時(shí)推薦的數(shù)據(jù)處理,并將結(jié)構(gòu)合并更新到MongoDB數(shù)據(jù)庫。離線統(tǒng)計(jì)服務(wù):批處理統(tǒng)計(jì)性業(yè)務(wù)采用SparkCore+SparkSQL進(jìn)行實(shí)現(xiàn),實(shí)現(xiàn)對(duì)指標(biāo)類數(shù)據(jù)的統(tǒng)計(jì)任務(wù)。離線推薦服務(wù):離線推薦業(yè)務(wù)采用SparkCore+SparkMLlib進(jìn)行實(shí)現(xiàn),采用ALS算法進(jìn)行實(shí)現(xiàn)。4.2總體功能結(jié)構(gòu)設(shè)計(jì)根據(jù)用戶歷史系好進(jìn)行裝修的精準(zhǔn)推薦是裝修推薦系統(tǒng)的核心,為了能夠給予用戶更好的使用感且為了方便對(duì)用戶和系統(tǒng)的管理,將裝修推薦系統(tǒng)分為五個(gè)模塊:用戶模塊,裝修管理,裝修收藏,裝修評(píng)價(jià),裝修推薦列表模塊。圖4-2裝修推薦系統(tǒng)結(jié)構(gòu)功能圖(1)用戶模塊:用戶包含消費(fèi)者、商家、管理員三類,包含用戶注冊和用戶登錄和完善個(gè)人信息三個(gè)個(gè)功能。精準(zhǔn)裝修推薦通過用戶注冊和登錄功能之后的完善個(gè)人信息實(shí)現(xiàn),方便管理不同用戶的信息。(2)裝修管理模塊:包括裝修信息和裝修分類子模塊,可以查看裝修信息。(3)裝修收藏:包括添加收藏和刪除收藏功能,用戶可以將喜歡的裝修加入到收藏夾中,也可以將收藏夾中的裝修刪除,裝修推薦列表可以通過用戶收藏信息進(jìn)行推薦。(4)裝修評(píng)價(jià):包括添加裝修評(píng)價(jià)和修改和刪除裝修評(píng)價(jià),用戶可以根據(jù)對(duì)自己的喜好對(duì)裝修進(jìn)行評(píng)價(jià),系統(tǒng)通過用戶的評(píng)價(jià)經(jīng)過迭代預(yù)算計(jì)算出用戶感興趣的裝修并實(shí)現(xiàn)精準(zhǔn)推薦。并且實(shí)時(shí)根據(jù)用戶的裝修評(píng)價(jià)更新推薦。裝修推薦模塊分為實(shí)時(shí)推薦和離線推薦。離線推薦模塊:離線推薦的結(jié)果將被時(shí)間表程序定期寫入到ClothesRecs和UserRecs。用戶可以通過查詢userId并且顯示寫入的結(jié)果。實(shí)時(shí)推薦模塊:用戶可以通過前端頁面點(diǎn)擊進(jìn)入裝修詳情頁,通過Clothes獲取裝修推薦列表。實(shí)時(shí)推薦模塊是根據(jù)用戶的歷史行為數(shù)據(jù)進(jìn)行分析運(yùn)算生成的結(jié)果。也是裝修推薦系統(tǒng)不可或缺的一部分。在該模塊中的推薦算法為:當(dāng)用戶對(duì)瀏覽過的裝修進(jìn)行評(píng)價(jià)后,推薦算法利用機(jī)制迭代運(yùn)算并分析用戶的行為,分析并計(jì)算高評(píng)分的符合用戶喜好的裝修,從而生成符合用戶喜好的裝修分類數(shù)據(jù)集并返回前端向用戶進(jìn)行展示。4.3功能模塊設(shè)計(jì)(1)用戶模塊管理功能包括用戶的注冊,登錄等功能,用戶模塊功能流程圖如圖4-3所示。圖4-3用戶模塊流程圖(2)裝修管理模塊功能:在登錄后可以在首頁查看裝修和我的裝修收藏。裝修管理流程如圖4-4所示圖4-4裝修管理流程圖(3)裝修推薦功能模塊:用戶在登錄到系統(tǒng)后,通過搜索引擎查找裝修,系統(tǒng)通過用戶搜索的關(guān)鍵詞為用戶進(jìn)行裝修材質(zhì),裝修款式,使用季節(jié)進(jìn)行篩選,并結(jié)合評(píng)價(jià)和價(jià)格為用戶推薦符合喜好的裝修,并在首頁對(duì)用戶進(jìn)行推薦,用戶還可以查看爆款裝修列表和高分裝修列表。裝修推薦功能如圖4-5所示圖4-5裝修推薦流程圖4.4數(shù)據(jù)庫設(shè)計(jì)4.4.1數(shù)據(jù)庫MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。本系統(tǒng)數(shù)據(jù)庫使用MongoDB數(shù)據(jù)庫存儲(chǔ)文本數(shù)據(jù),MongoDB數(shù)據(jù)庫將存放用戶信息和裝修信息。用戶的評(píng)價(jià)數(shù)據(jù)將被存儲(chǔ)到Redis數(shù)據(jù)庫中,為實(shí)時(shí)處理提供高速的數(shù)據(jù)傳輸數(shù)據(jù)格式為每一個(gè)userId里面保存多個(gè)ChothesId:rates。MongoDB是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。與關(guān)系數(shù)據(jù)庫相比,MongoDB的速度快100倍,并且MongDB的優(yōu)勢在于它的性能和可擴(kuò)展性上。MongoDB的特點(diǎn)1、高性能MongoDB提供高性能的數(shù)據(jù)持久性。對(duì)嵌入式數(shù)據(jù)模型的支持減少了數(shù)據(jù)庫系統(tǒng)上的IO活動(dòng)。索引支持更快的查詢,并且包含嵌入式文檔和數(shù)組的鍵。文本索引解決搜索的需求;TTL索引解決歷史數(shù)據(jù)自動(dòng)過期的需求;地理位置索引可用于構(gòu)建各種O2O應(yīng)用;2、高可用性MongoDB的復(fù)制工具稱為副本集(reolicaset),它包含提供自動(dòng)故障轉(zhuǎn)移和數(shù)據(jù)冗余。3、高可用性MongoDB提供了水平可擴(kuò)展性作為其核心功能的一部分。分片將數(shù)據(jù)分布在一組集群的機(jī)器上。(海量數(shù)據(jù)存儲(chǔ)、服務(wù)能力水平擴(kuò)展)從3.4起,MongoDB支持基于片鍵創(chuàng)建數(shù)據(jù)區(qū)域,在一個(gè)平衡的集群中,MongoDB將一個(gè)區(qū)域所覆蓋的讀寫只定向到該區(qū)域內(nèi)的那些片。4、豐富的查詢支持MongoDB支持豐富的查詢語言,支持讀寫(CRUD)操作、比如數(shù)據(jù)聚合、文本搜索、地理空間查詢等。5、其他特點(diǎn)如動(dòng)態(tài)模式、靈活的文檔模型。Redis是一個(gè)開源(BSD許可),內(nèi)存存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)服務(wù)器,可用作數(shù)據(jù)庫,高速緩存和消息隊(duì)列代理。它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglogs等數(shù)據(jù)類型。內(nèi)置復(fù)制、Lua腳本、LRU收回、事務(wù)以及不同級(jí)別磁盤持久化功能,同時(shí)通過Redis
Sentinel提供高可用,通過Redis
Cluster提供自動(dòng)分區(qū)。Redis的性能非常出色,每秒讀110,000次,每秒寫81,000次。Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時(shí)候可以再次加載進(jìn)行使用。Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時(shí)候可以再次加載進(jìn)行使用。Redis支持?jǐn)?shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。Redis有著更為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)并且提供對(duì)他們的原子性操作,這是一個(gè)不同于其他數(shù)據(jù)庫的進(jìn)化路徑。Redis的數(shù)據(jù)類型都是基于基本數(shù)據(jù)結(jié)構(gòu)的同時(shí)對(duì)程序員透明,無需進(jìn)行額外的抽象。Redis運(yùn)行在內(nèi)存中但是可以持久化到磁盤,所以在對(duì)不同數(shù)據(jù)集進(jìn)行高速讀寫時(shí)需要權(quán)衡內(nèi)存,因?yàn)閿?shù)據(jù)量不能大于硬件內(nèi)存。在內(nèi)存數(shù)據(jù)庫方面的另一個(gè)優(yōu)點(diǎn)是,相比在磁盤上相同的復(fù)雜的數(shù)據(jù)結(jié)構(gòu),在內(nèi)存中操作起來非常簡單,這樣Redis可以做很多內(nèi)部復(fù)雜性很強(qiáng)的事情。裝修推薦實(shí)體裝修推薦實(shí)體包含:裝修ID、用戶ID、裝修評(píng)價(jià)加權(quán)值。如圖4-6所示。圖4-6裝修推薦實(shí)體圖2.裝修用戶權(quán)重實(shí)體裝修用戶權(quán)重實(shí)體包含以下屬性:用戶ID、裝修ID、用戶對(duì)裝修的喜愛權(quán)重,如圖4-7所示。圖4-7裝修用戶權(quán)重實(shí)體圖3.歷史行為實(shí)體歷史行為實(shí)體包含:裝修ID、用戶ID、收藏、評(píng)分,如圖4-8所示。圖4-8歷史行為實(shí)體圖4.用戶實(shí)體包含以下項(xiàng)目:用戶ID、用戶喜好標(biāo)簽1、用戶喜好標(biāo)簽2、用戶喜好標(biāo)簽3、用戶名、性別、年齡、密碼,如圖4-9所示。圖4-9用戶實(shí)體圖5.裝修實(shí)體裝修實(shí)體包含以下屬性:風(fēng)格、面料、價(jià)格、評(píng)價(jià)、收藏?cái)?shù)、裝修關(guān)鍵詞1、裝修關(guān)鍵詞2、裝修關(guān)鍵詞3、裝修ID,如圖4-10所示。圖4-10裝修實(shí)體圖4.4.2數(shù)據(jù)集格式Clothes數(shù)據(jù)集數(shù)據(jù)格式:clothesId,name,imageUrl,categories,tags,price字段名字段類型字段描述clothestIdInt商品IDnameString商品名稱categoriesString商品分類imageUrlString商品圖片URLtagsString商品UGC標(biāo)簽priceInt商品價(jià)格Ratings數(shù)據(jù)集數(shù)據(jù)格式:userId,prudcutId,rating,timestampRating數(shù)據(jù)集有4個(gè)字段,每個(gè)字段之間通過“,”分割字段名字段類型字段描述userIdInt用戶IDclothesIdInt商品IDscoreDouble評(píng)分值timestampLong評(píng)分的時(shí)間User數(shù)據(jù)集用戶信息表中包含用戶ID、用戶名、性別、年齡、密碼、用戶喜好標(biāo)簽1、用戶喜好標(biāo)簽2、用戶喜好標(biāo)簽3。其中用戶喜好標(biāo)簽1、用戶喜好標(biāo)簽2、用戶喜好標(biāo)簽3,計(jì)算裝修與用戶的標(biāo)簽契合度,通過用戶喜好與裝修標(biāo)簽的重合度實(shí)現(xiàn)基于標(biāo)簽的裝修推薦。如表4-7所示。字段名字段含義類型user_id用戶IDINTuser_name用戶名VARCHARgender性別VARCHARage年齡INTpassword密碼VARCHARuser_tag1愛好標(biāo)簽VARCHARuser_tag2愛好標(biāo)簽VARCHARuser_tag3愛好標(biāo)簽VARCHAR4.5算法設(shè)計(jì)為了實(shí)現(xiàn)精準(zhǔn)推薦系統(tǒng)中構(gòu)建了離線推薦和實(shí)時(shí)推薦兩種算法,在系統(tǒng)中沒有歷史使用記錄的用戶,系統(tǒng)通過離線推薦算法根據(jù)歷史數(shù)據(jù)生成推薦裝修列表并將其呈現(xiàn)給用戶;實(shí)時(shí)推薦通過用戶在已經(jīng)存在系統(tǒng)中的瀏覽、購買、評(píng)價(jià)等歷史記錄,通過計(jì)算權(quán)重后,調(diào)用實(shí)時(shí)推薦算法進(jìn)行裝修推薦。4.5.1離線推薦離線推薦服務(wù)是綜合用戶所有的歷史數(shù)據(jù),利用設(shè)定的離線統(tǒng)計(jì)算法和離線推薦算法周期性的進(jìn)行結(jié)果統(tǒng)計(jì)與保存,計(jì)算的結(jié)果在一定時(shí)間周期內(nèi)是固定不變的,變更的頻率取決于算法調(diào)度的頻率。離線推薦功能采用了ALS作為協(xié)同過濾算法,通過根據(jù)MongoDB中用戶評(píng)價(jià)計(jì)算有關(guān)用戶裝修推薦列表及裝修相似矩陣。相關(guān)概念如下。文本挖掘:也稱文本數(shù)據(jù)挖掘,這個(gè)過程旨在將非結(jié)構(gòu)化文本轉(zhuǎn)換為結(jié)構(gòu)化格式,以發(fā)現(xiàn)有意義的模式和全新洞察。通過應(yīng)用高級(jí)分析方法,例如樸素貝葉斯、支持向量機(jī)(SVM)和其他深度學(xué)習(xí)算法,企業(yè)能夠探索和發(fā)現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)中隱藏的關(guān)系。隱語義模型:隱語義模型(LatentFactorModel,LFM)是一種機(jī)器學(xué)習(xí)算法,其中包含了隱含因子,類似于神經(jīng)網(wǎng)絡(luò)中的隱藏層。在隱語義模型中,我們使用同樣的維度來表征(Embedding)條目和用戶。對(duì)于條目,這個(gè)表征就是條目表現(xiàn)出的對(duì)應(yīng)維度的特征強(qiáng)度;對(duì)于用戶,就是用戶表現(xiàn)出的對(duì)對(duì)應(yīng)維度特征的偏好強(qiáng)度。隱語義模型可以通過數(shù)據(jù)不同的特征,挖掘物品間隱型的關(guān)聯(lián)從而做到推薦。例如甲喜歡足球鞋,乙喜歡牛仔褲。通過隱語義分析可得甲喜歡“運(yùn)動(dòng)”類的裝修,乙喜歡“休閑”類裝修。協(xié)同過濾:協(xié)同過濾,從字面上理解,包括協(xié)同和過濾兩個(gè)操作。所謂協(xié)同就是利用群體的行為來做決策(推薦),生物上有協(xié)同進(jìn)化的說法,通過協(xié)同的作用,讓群體逐步進(jìn)化到更佳的狀態(tài)。對(duì)于推薦系統(tǒng)來說,通過用戶的持續(xù)協(xié)同作用,最終給用戶的推薦會(huì)越來越準(zhǔn)。而過濾,就是從可行的決策(推薦)方案(標(biāo)的物)中將用戶喜歡的方案(標(biāo)的物)找(過濾)出來。具體來說,協(xié)同過濾的思路是通過群體的行為來找到某種相似性(用戶之間的相似性或者標(biāo)的物之間的相似性),通過該相似性來為用戶做決策和推薦。余弦相似度:余弦相似度,又稱為余弦相似性,是通過計(jì)算兩個(gè)向量的夾角余弦值來評(píng)估他們的相似度。余弦相似度將向量根據(jù)坐標(biāo)值,繪制到向量空間中,如最常見的二維空間。另外,它通常用于文本挖掘中的文件比較。此外,在數(shù)據(jù)挖掘領(lǐng)域中,會(huì)用到它來度量集群內(nèi)部的凝聚力。4.5.2實(shí)時(shí)推薦離線推薦是系統(tǒng)通過綜合歷史數(shù)據(jù)計(jì)算得出的結(jié)果,實(shí)時(shí)推薦應(yīng)該通過用戶最近的行為分析計(jì)算生成推薦列表來推薦。實(shí)時(shí)計(jì)算與離線計(jì)算應(yīng)用于推薦系統(tǒng)上最大的不同在于實(shí)時(shí)計(jì)算推薦結(jié)果應(yīng)該反映最近一段時(shí)間用戶近期的偏好,而離線計(jì)算推薦結(jié)果則是根據(jù)用戶從第一次評(píng)分起的所有評(píng)分記錄來計(jì)算用戶總體的偏好。實(shí)時(shí)推薦需要系統(tǒng)迅速響應(yīng),如果實(shí)時(shí)推薦繼續(xù)采用離線推薦中的ALS算法,由于算法運(yùn)行時(shí)間巨大,不具有實(shí)時(shí)得到新的推薦結(jié)果的能力;并且由于算法本身的使用的是評(píng)分表,用戶本次評(píng)分后只更新了總評(píng)分表中的一項(xiàng),使得算法運(yùn)行后的推薦結(jié)果與用戶本次評(píng)分之前的推薦結(jié)果基本沒有多少差別,從而給用戶一種推薦結(jié)果一直沒變化的感覺,很影響用戶體驗(yàn)。因此不能使用ALS。為了實(shí)現(xiàn)系統(tǒng)快速響應(yīng),應(yīng)將數(shù)據(jù)進(jìn)行提前加載,只需要在已經(jīng)存在的數(shù)據(jù)集上再進(jìn)行少量的迭代運(yùn)算就可實(shí)現(xiàn)實(shí)時(shí)推薦功能推薦結(jié)果的動(dòng)態(tài)變化,只需要有合理的理由去更新推薦結(jié)果,另外由于要滿足時(shí)間行能上的實(shí)時(shí)要求,故算法不應(yīng)有過大的計(jì)算量,防止過大的計(jì)算量導(dǎo)致用戶使用體驗(yàn)不佳。所以精度不是很高,且實(shí)施推薦功能更注重動(dòng)態(tài)變化,推薦的理由只要合理即可。精度可以是當(dāng)放寬。實(shí)時(shí)推薦流程:Flume從綜合業(yè)務(wù)服務(wù)的運(yùn)行日志中讀取日志更新,并將更新的日志實(shí)時(shí)推送到Kafka中;Kafka在收到這些日志之后,通過kafkaStream程序?qū)Λ@取的日志信息進(jìn)行過濾處理,獲取用戶評(píng)分?jǐn)?shù)據(jù)流【UID|MID|SCORE|TIMESTAMP】,并發(fā)送到另外一個(gè)Kafka隊(duì)列;SparkStreaming監(jiān)聽Kafka隊(duì)列,實(shí)時(shí)獲取Kafka過濾出來的用戶評(píng)分?jǐn)?shù)據(jù)流,融合存儲(chǔ)在Redis中的用戶最近評(píng)分隊(duì)列數(shù)據(jù),提交給實(shí)時(shí)推薦算法,完成對(duì)用戶新的推薦結(jié)果計(jì)算;計(jì)算完成之后,將新的推薦結(jié)構(gòu)和MongDB數(shù)據(jù)庫中的推薦結(jié)果進(jìn)行合并。算法設(shè)計(jì):總體目標(biāo):通過用戶對(duì)某件裝修進(jìn)行的評(píng)價(jià),系統(tǒng)選擇了與這件裝修類型相似的M件裝修作為這件裝修的替代品。用過裝修的優(yōu)先順序向用戶進(jìn)行推薦。通過用戶最近的幾次評(píng)價(jià)計(jì)算出沒件裝修的“優(yōu)先推薦度”。除此之外,通過根據(jù)計(jì)算得出的最后一個(gè)推薦結(jié)果根據(jù)優(yōu)先級(jí)進(jìn)行合并運(yùn)算,得到新的推薦結(jié)果。先獲取用戶u最近的K個(gè)評(píng)分,按時(shí)間順序記為RK;獲取裝修p中最相似的K個(gè)裝修集合,命名為S;然后,計(jì)算每個(gè)備選裝修q的推薦優(yōu)先級(jí)。計(jì)算公式如下:(4-1)式中:Rr表示用戶u對(duì)裝修r(nóng)的評(píng)分;sim(q,r)表示裝修q與裝修r(nóng)的相似度,最小相似度設(shè)定為1.2。當(dāng)q和r的相似度低于1.2的閾值時(shí),被認(rèn)為是不相關(guān)的,可以忽略。Sim_Sum表示q和RK中相似度大于最小閾值的裝修數(shù)。Incount表示RK中與書Q相似且自評(píng)較高的裝修數(shù)(>=6);recrect表示RK中與裝修Q相似且自評(píng)較低的裝修數(shù)(<6)。參考文獻(xiàn)[1]韓豐澤.基于深度學(xué)習(xí)的裝修推薦系統(tǒng)分析[J].西部皮革,2022,44(18):[2]許晴晴.裝修智能推薦系統(tǒng)在電子商務(wù)平臺(tái)中的應(yīng)用[J].黑龍江紡織,2021,(04):[3]牛蒙蒙,吳長姣,盧業(yè)虎等.面向網(wǎng)購的裝修尺碼推薦系統(tǒng)構(gòu)建與應(yīng)用——以女式T恤為例[J].現(xiàn)代紡織技術(shù),2022,30(03):[4]楊怡然,吳巧英.智能化裝修搭配推薦研究進(jìn)展[J].浙江理工大學(xué)學(xué)報(bào)(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全年活動(dòng)施工方案
- 廚具施工方案
- 熱電廠施工方案
- 建筑樓的施工方案
- 毛石駁岸施工方案
- 課題開題報(bào)告:混合式學(xué)習(xí)場景下學(xué)習(xí)者知識(shí)狀態(tài)評(píng)測與干預(yù)機(jī)制研究
- 應(yīng)急物資及救援知識(shí)培訓(xùn)課件
- 餐館消防施工方案
- 課題開題報(bào)告:湖北高等教育發(fā)展評(píng)價(jià)研究
- 課題開題報(bào)告:國家中小學(xué)教材質(zhì)量監(jiān)測體系與評(píng)價(jià)機(jī)制研究
- 全新網(wǎng)絡(luò)安全教案:應(yīng)對(duì)2024年網(wǎng)絡(luò)威脅
- 承包送貨合同模板
- 第一章-社會(huì)心理學(xué)概論
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及解析
- GB 26920-2024商用制冷器具能效限定值及能效等級(jí)
- 2024年江蘇省中等職業(yè)學(xué)校學(xué)生學(xué)業(yè)水平考試機(jī)械CAD繪圖試卷(含5張圖)
- 【2×600MW火電廠電氣部分設(shè)計(jì)(論文)16000字】
- 醫(yī)學(xué)教程 常見動(dòng)物咬蟄傷應(yīng)急救護(hù)課件
- 2024年7天雙方無責(zé)任試崗期協(xié)議書模板
- 組合型浮式防波堤水動(dòng)力響應(yīng)與消浪性能研究
- 商業(yè)綜合體應(yīng)急預(yù)案編制與演練效果評(píng)估考核試卷
評(píng)論
0/150
提交評(píng)論