999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Django框架的電影推薦系統(tǒng)的設(shè)計與實現(xiàn)

2023-03-24 05:53:32武玲梅李秋萍黃秀芳張立強董力量羅芳瓊
電腦知識與技術(shù) 2023年4期
關(guān)鍵詞:設(shè)計

武玲梅 李秋萍 黃秀芳 張立強 董力量 羅芳瓊

關(guān)鍵詞:混合推薦;電影推薦;協(xié)同過濾算法;設(shè)計

1 引言

隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展與普及,短視頻、電影、電視劇等網(wǎng)絡(luò)視頻快速發(fā)展?!靶畔⑦^載”讓用戶很難快速查找想要的信息。為了幫助用戶從大規(guī)模數(shù)據(jù)中挑選出對其有價值的信息,分類目錄和搜索引擎技術(shù)可以有效地解決“信息過載”的難題[1]。

隨著推薦算法在各個領(lǐng)域的運用,將算法運用在電影上,對用戶進行個性化的推薦也變得更加重要,通過推薦技術(shù)推薦用戶將來會選擇的電影,過濾不感興趣的信息,將會增加用戶對系統(tǒng)的關(guān)注[2]。電影推薦系統(tǒng)可通過用戶的喜好有針對地推薦電影,既能解決用戶的需求,也能夠縮短用戶查找電影的時間,推薦電影能讓用戶稱心,增加用戶滿意度[3-4]。推薦系統(tǒng)不僅為用戶提供個性化的服務(wù),還為用戶提供喜愛的電影,同時增加電影的收視率,達到兩全其美的效果。

個性化推薦系統(tǒng)精髓在于它算法部分,即推薦系統(tǒng)最重要的部分或者是核心就是其算法,它決定著推薦結(jié)果是否能夠滿足用戶的需求[5]。目前最流行的推薦算法是協(xié)同過濾,國外六大主流電影推薦網(wǎng)站系統(tǒng)也使用到了協(xié)同過濾算法[6]。YouTube、Amazon、Grou?pLens在實現(xiàn)個性化推薦系統(tǒng)中應(yīng)用到了協(xié)同過濾算法。協(xié)同過濾算法一直以來受到許多國內(nèi)外學(xué)者的關(guān)注,將許多優(yōu)秀的技術(shù)運用到推薦系統(tǒng)中,現(xiàn)如今協(xié)同過濾算法相比之前更加成熟,更加準(zhǔn)確。但是協(xié)同過濾算法還有稀疏性、冷啟動等常見的問題,如今許多學(xué)者也嘗試不同辦法解決算法的短板,如對算法進行改進,或者組合多種算法的方式,組合算法方式也是當(dāng)今研究的方向[7],所以協(xié)同過濾算法仍有較強的研究價值。

本文通過對基于鄰域協(xié)同過濾算法的研究,將算法混合推薦設(shè)計并實現(xiàn)一個電影推薦系統(tǒng),用戶可以在推薦電影列表當(dāng)中選取中意的影片,并且可以在系統(tǒng)進行瀏覽、收藏、評分等操作。

2 Django 架構(gòu)概述

Django架構(gòu)是一個具有完整架站能力的Python開源WEB框架[8]。Django遵循MVC設(shè)計模式,它本身提供了許多功能組件,這使開發(fā)速度更快,并具有出色的安全性和靈活性。MySQL數(shù)據(jù)庫能夠存儲大量的結(jié)構(gòu)化數(shù)據(jù),本身體積小,存儲速度快,并且安全。Bootstrap框架是受歡迎的一種前端框架,前端處理簡潔,美化效果漂亮,能夠兼容一般的瀏覽器。

3 算法模型

基于鄰域的協(xié)同過濾算法分為兩個類別,一個是基于用戶的協(xié)同過濾算法,即UserCF;另一個是基于物品的協(xié)同過濾算法,即ItemCF。隨著時間的推移,協(xié)同過濾算法不斷地發(fā)展與進步。學(xué)者們也做進一步改進來提高算法的準(zhǔn)確度,改進的UserCF-IIF是在UserCF 的基礎(chǔ)上增加1/log1+ |N(i)| 參數(shù);改進的ItemCF-IUF在ItemCF基礎(chǔ)上加入IUF參數(shù)[9]。

UserCF是通過用戶的愛好找出口味相似的鄰居,將這類鄰居的喜好放進推薦列表。當(dāng)計算相似鄰居時,將用戶的興趣作為向量來計算與其他用戶的相似度,根據(jù)相似度權(quán)重以及相似鄰居的喜好,為用戶預(yù)測將來要選擇的物品。根據(jù)算法的基本思想,UserCF主要分為兩個步驟進行,第一步計算用戶間的相似度,第二步為預(yù)測用戶對電影評定的分數(shù)。ItemCF則是通過用戶喜好找到類似物品,將這些物品作為推薦。在計算物品間的相似度時,把所有用戶對相同物品的行為作為一個矢量,然后根據(jù)歷史的喜好預(yù)測用戶沒有聽說過的物品的得分,通過分數(shù)排名選取前N個作為推薦。

在加權(quán)混合推薦的思路下,將UserCF-IIF 和ItemCF-IUF產(chǎn)生的電影預(yù)測分數(shù)進行組合加權(quán),經(jīng)過冒泡排序后生成新的推薦結(jié)果。通過組合算法方式,不僅可以發(fā)揮UserCF-IIF的新穎性和ItemCF-IUF的解釋性,還可以解決從單一用戶角度或者是物品角度進行推薦的問題。

4 基于Django框架的電影推薦系統(tǒng)的設(shè)計與實現(xiàn)

4.1 開發(fā)環(huán)境

本系統(tǒng)使用Python語言作為基礎(chǔ),基于Django架構(gòu)來開發(fā),使用mySql來存儲電影數(shù)據(jù)集、評分數(shù)據(jù)集、用戶數(shù)據(jù)集,在網(wǎng)頁美化時主要使用Bootstrap框架。本系統(tǒng)具體開發(fā)環(huán)境如表1。

4.2 系統(tǒng)架構(gòu)

本系統(tǒng)采用三層架構(gòu)設(shè)計模式。這種B/S的架構(gòu)模式可以應(yīng)用在客戶端和服務(wù)器上,如圖1所示。第一層表現(xiàn)層即用戶交互層,系統(tǒng)通過瀏覽器向用戶展示頁面,用戶通過點擊頁面與系統(tǒng)互動。第二層業(yè)務(wù)邏輯層即系統(tǒng)核心層,它的主要任務(wù)是處理邏輯事務(wù),因為它在系統(tǒng)中處于中心的位置,能夠起到一個承上啟下的作用。第三層數(shù)據(jù)層用來存儲數(shù)據(jù),它既能夠存儲來自表現(xiàn)層的用戶數(shù)據(jù),也能夠通過業(yè)務(wù)層將數(shù)據(jù)傳遞到瀏覽器中。

4.3 系統(tǒng)功能模塊設(shè)計

系統(tǒng)功能模塊總共9個模塊,其中包括前端展示子系統(tǒng)的7個模塊和后臺管理子系統(tǒng)的2個模塊。具體9個模塊的功能如下:

1) Top100電影模塊:該模塊根據(jù)9742部電影找出5星好評數(shù)最多的100部電影,Top100電影具有實時更新功能,對于所有的用戶是實時推薦的,在該模塊用戶也可以點擊圖片或者電影名字進入電影詳情。

2) 注冊登錄模塊:游客無法直接登錄系統(tǒng),需要在注冊時填寫用戶名、郵箱、密碼后才能登錄;系統(tǒng)用戶輸入信息后直接點擊登錄。

3) 個人中心模塊:在該模塊用戶可以修改個人信息或者密碼,并且可以瀏覽歷史評分、收藏、推薦的電影。

4) 電影詳情模塊:用戶單擊影片海報或標(biāo)題瀏覽詳細信息。該頁面的內(nèi)容有電影主演、片長、地區(qū)等;還設(shè)置評分、收藏、推薦按鈕和評論功能,用戶可通過這些方式提供反饋。

5) 電影推薦模塊。為用戶展示混合算法的電影推薦列表,并設(shè)置該頁面帶有movielens鏈接,用戶可到movielens查看更多詳情與評分。

6) 電影評分模塊:在系統(tǒng)為用戶推薦影片之前,用戶先對5部電影評分,評價分數(shù)分為5個等級:差,一般,良,優(yōu)秀,超級滿意。差的得分是1,一般表示得分是2,以此類推超級滿意得分是5。當(dāng)用戶沒有登錄時會提示用戶先登錄后評分。

7) 搜索電影模塊:因為電影數(shù)量太多,用戶一一瀏覽花費時間,用戶可以輸入電影的名字搜索電影并且可以查看電影詳情。

8) 電影管理模塊:管理員用戶在后臺登錄成功之后,他更新或修改影片。

9) 用戶管理模塊:該模塊用于對用戶信息的管理。

4.4 系統(tǒng)設(shè)計方案

數(shù)據(jù)集:本系統(tǒng)及后面實驗的數(shù)據(jù)集,使用的是美國蘇明達大學(xué)GroupLens項目組整理出來的Mov?ieLens數(shù)據(jù)集,該數(shù)據(jù)集是公開的并生成于2018年9月26日。它描述了來自MovieLens電影網(wǎng)站的五星級評級和免費為電影打標(biāo)簽活動,覆蓋9742部電影、100836評分以及3683個標(biāo)簽應(yīng)用,共有610名用戶并且用戶是隨機的,其中每一個用戶有超過20部電影的打分,評價分數(shù)為1-5,等值越大就表示用戶對這部電影喜愛程度越高,除了以上內(nèi)容之外,還包含有電影一些信息,如電影名字、電影類型、movieLens電影網(wǎng)站id號等。

本系統(tǒng)通過對MovieLens數(shù)據(jù)集處理后存儲到數(shù)據(jù)庫中,考慮到有些字段暫時用不到而且占用存儲空間,本系統(tǒng)選用一些字段數(shù)據(jù)存儲到數(shù)據(jù)庫。本系統(tǒng)共設(shè)計5張表用來存儲數(shù)據(jù),分別是:auth_user用戶表、movies電影表、topmovies電影表、ratings用戶評分表、recommend推薦表。系統(tǒng)主要信息見表2~表6。

1) auth_user用戶表。該表用來保存用戶的基本信息,具體字段如表2。

2) movies電影表。該表用來保存全部電影信息,具體字段如表3。

3) topmovies電影表。該表用來保存Top100電影信息,具體字段如表4。

4) ratings用戶評分表。該表用來保存評分信息,具體字段如表5。

5) recommend推薦表。該表用來存儲電影數(shù)據(jù),具體字段如表6。

4.5 系統(tǒng)推薦流程

本電影推薦系統(tǒng)的算法流程圖,如圖3:第一步:當(dāng)用戶想要獲取推薦頁面的電影時,系統(tǒng)先去查詢數(shù)據(jù)庫中recommend的推薦列表,有則展示電影,沒有則提示用戶去評分,評分的方式可以去搜索電影評分或者是進入電影詳情評分,系統(tǒng)設(shè)置每個用戶至少為5部電影評分,因為有一定數(shù)量的評分才能更好地為用戶提供個性化服務(wù)。第二步:系統(tǒng)查看用戶電影評分的數(shù)量,若評分已經(jīng)達到5部電影,取出電影評分數(shù)據(jù)構(gòu)建用戶評分數(shù)據(jù)和共現(xiàn)矩陣,然后計算用戶間相似度和物品間之后,下一步為推薦的用戶選出最相似的用戶或者物品用于預(yù)測未看過的電影,然后根據(jù)混合算法將電影進行排序,將分數(shù)最高的10部電影信息存儲數(shù)據(jù)庫,最后通過django框架展示推薦列表給用戶。第三步:如果用戶評分少于5部電影,則系統(tǒng)不會對該用戶推薦電影,除非他們的評分數(shù)量達到或者超過5部電影。

4.6 算法優(yōu)化

使用MovieLens電影網(wǎng)站的真實評分數(shù)據(jù),是美國蘇明達大學(xué)GroupLens整理的數(shù)據(jù)集,評分數(shù)據(jù)集是610個用戶對9742部電影的100836評分,其中每一個用戶至少有對20部電影的打分,其中一個用戶對一部電影的評分就是一條記錄,所以共有100836個樣本。在每一次實驗過程中,將用戶對電影的評分數(shù)據(jù)集分為90%的測試集與10%訓(xùn)練集,在訓(xùn)練集建立模型和測試集預(yù)測模型,通過評測指標(biāo)TopN推薦的準(zhǔn)確率、召回率對算法進行評估。

固定N=10,取10組不同的K值。將UserCF-IIF與ItemCF-IUF算法做混合加權(quán)推薦,并與UserCF-IIF算法和ItemCF-IUF算法進行比較,結(jié)果數(shù)據(jù)見表7和表8。

從見表7和表8中明顯看出K在5到20之間時,因為是將原來的兩個算法的推薦結(jié)果相結(jié)合,然后按電影的評分重新排序后,推薦質(zhì)量遠比原來的兩個算法更好。同樣從整體來看相比之下混合算法的準(zhǔn)確率和召回率有提高,即其推薦精確度比原來的算法高,推薦列表與用戶將來會選擇的電影更接近。實驗結(jié)果表明通過混合算法的方式能夠在電影數(shù)據(jù)集上提高評測指標(biāo)的準(zhǔn)確率以及召回率,即混合算法的方式有助于推薦精度的提升。

4.7 系統(tǒng)實現(xiàn)

4.7.1 首頁

首頁展示Top100的5星級電影,每進一次該頁面系統(tǒng)會進行刷新,實現(xiàn)實時更新,在該頁面所有人可選擇分類瀏覽。在導(dǎo)航欄部分設(shè)置logo、搜索、登錄接口,每個頁面都會繼承這部分,點擊登錄頭像會有其他頁面的下拉菜單。Top100 頁面如圖4。實現(xiàn)Top100電影的實時刷新是該頁面的核心部分。其邏輯是從評分模型中取出電影id和評分,計算評分為5星級的電影數(shù)量,然后排序只取前100部電影,最后存儲到數(shù)據(jù)庫的topmovies表中。

4.7.2 注冊和登錄

用戶點擊登錄按鈕即可進到登錄頁面,若用戶沒有注冊,在登錄的時候會有提示,如圖5。

4.7.3 個人中心

用戶登錄之后點擊頭像的下拉菜單中的用戶中心即可進入頁面。該頁面設(shè)計左右兩邊內(nèi)容,左邊為菜單欄,右邊為對應(yīng)的內(nèi)容。如圖6。在該頁面系統(tǒng)會固定個人中心為激活狀態(tài),當(dāng)點擊其他菜單項時才設(shè)置此項為激活狀態(tài)。

4.7.4 電影詳情頁面

系統(tǒng)提供一些電影內(nèi)容展示給用戶,當(dāng)用戶收藏該電影后其按鈕背景顏色變深,如圖7。當(dāng)用戶要收藏電影時,前端會將state=1發(fā)送到后臺;當(dāng)用戶取消收藏時,前端發(fā)送到后臺的state=0。用戶收藏電影的動作會對數(shù)據(jù)庫進行操作,系統(tǒng)則根據(jù)state的值判斷用戶的行為實現(xiàn)收藏功能。

4.7.5 推薦頁面

該頁面展示混合算法計算后的推薦的電影,頁面中藍色字體的點我是movielens按鈕鏈接。如圖8。

4.7.6 搜索頁面

當(dāng)用戶搜索電影后,系統(tǒng)為用戶提供評分按鈕,如圖9。

4.7.7 評分頁面

在這個頁面中,不同星星的數(shù)量表示不同的評價,用戶可選擇星星的數(shù)量表達對該電影的滿意程度。如圖10。

4.7.8 電影管理頁面

管理員可添加最新的電影,或者更新影片信息。如圖11。

4.7.9 用戶管理頁面

管理員在admin頁面管理后臺登錄后,可以對用戶的信息進行操作,不必到數(shù)據(jù)庫中修改。如圖12。

5 結(jié)束語

本文主要是對基于鄰域協(xié)同過濾算法的研究,并設(shè)計一個基于Django框架的電影推薦系統(tǒng)。設(shè)計系統(tǒng)的各個功能模塊,主要包括用戶注冊登錄、Top100電影展示、用戶搜索、用戶評分、用戶推薦、電影和用戶管理模塊。為驗證系統(tǒng)實現(xiàn)算法是否可行,通過推薦算法評測指標(biāo)topN進行仿真比對實驗,實驗結(jié)果表明該混合方法推薦效果更好,在準(zhǔn)確度和召回率方面都比UserCF-IIF和ItemCF-IUF算法高。實驗結(jié)果表明,該系統(tǒng)具有很好的穩(wěn)定性。本文對于類似個性化推薦技術(shù)開發(fā)亦具有參考借鑒意義。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产噜噜噜视频在线观看| 激情亚洲天堂| 性做久久久久久久免费看| 亚洲高清中文字幕| 日本一区高清| 亚洲成年网站在线观看| 99热这里只有精品免费国产| 亚洲日韩精品综合在线一区二区| 国产91丝袜在线播放动漫| 欧美人与牲动交a欧美精品| 天天色综网| 国产成人亚洲毛片| 欧美a√在线| 91麻豆精品国产91久久久久| 精品在线免费播放| 伊人久久大香线蕉综合影视| 国产成人AV男人的天堂| 欧美国产菊爆免费观看| 色天堂无毒不卡| 日韩经典精品无码一区二区| 亚洲国产成熟视频在线多多| 五月天久久婷婷| 国产精品人莉莉成在线播放| 精品国产自| 国产爽爽视频| 亚洲区第一页| 成人在线观看一区| 自拍偷拍欧美日韩| 免费99精品国产自在现线| 色综合天天视频在线观看| 91偷拍一区| 好吊色国产欧美日韩免费观看| 色噜噜狠狠色综合网图区| 国产福利在线免费| 久久久久青草大香线综合精品 | 亚洲精品久综合蜜| 日韩精品毛片人妻AV不卡| 亚洲男人天堂2020| 日本一区高清| 亚洲va视频| 欧美亚洲另类在线观看| 亚洲区欧美区| 国内精品91| 久久黄色免费电影| 国产爽歪歪免费视频在线观看 | 欧美精品1区2区| 91九色视频网| 91色综合综合热五月激情| 三级视频中文字幕| 国产成人精品18| 日韩a在线观看免费观看| 午夜不卡福利| 一级成人a毛片免费播放| 亚洲中久无码永久在线观看软件 | 国产正在播放| 欧洲成人免费视频| 国产jizzjizz视频| 久996视频精品免费观看| 人妻中文字幕无码久久一区| 日本尹人综合香蕉在线观看| 污视频日本| 99久久精品国产综合婷婷| 国产精品55夜色66夜色| 午夜成人在线视频| 欧美亚洲国产一区| 日韩亚洲高清一区二区| 国产肉感大码AV无码| 亚洲精品第一页不卡| 欧美午夜在线观看| 麻豆精品视频在线原创| 亚洲综合二区| 狠狠干综合| 国产欧美高清| 成人噜噜噜视频在线观看| 欧美福利在线观看| 日韩欧美国产精品| 亚洲精品无码不卡在线播放| 91美女视频在线观看| 色老二精品视频在线观看| 免费在线不卡视频| 免费又爽又刺激高潮网址| 91小视频在线观看|