• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于協(xié)同過濾算法的圖書推薦系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*

      2023-08-22 03:47:14張盼盼劉凱凱
      計(jì)算機(jī)時(shí)代 2023年8期
      關(guān)鍵詞:字典物品圖書

      張盼盼,劉凱凱

      (運(yùn)城學(xué)院,山西 運(yùn)城 044000)

      0 引言

      如今人們會(huì)在互聯(lián)網(wǎng)上進(jìn)行各種各樣的活動(dòng),如觀看電影、購(gòu)買商品、閱讀書籍等,但隨著互聯(lián)網(wǎng)上信息的越來越多,人們發(fā)現(xiàn)越來越難以從海量信息中找出最適合自己的那些信息。圖書推薦系統(tǒng)的出現(xiàn),可以解決“信息過載”[1]的困擾。圖書推薦系統(tǒng)通過數(shù)據(jù)挖掘等大數(shù)據(jù)技術(shù),預(yù)測(cè)用戶的閱讀需求并推薦給用戶其最可能愛看的圖書,將人們從海量圖書的選擇困難中拯救出來。

      本文研究了推薦算法的基本概念及其實(shí)際應(yīng)用;通過基于物品的協(xié)同過濾算法[2]對(duì)用戶和圖書相關(guān)數(shù)據(jù)進(jìn)行計(jì)算,得出推薦結(jié)果,將推薦圖書展示給用戶,完成圖書推薦,為讀者解決實(shí)際問題。

      1 系統(tǒng)總體架構(gòu)設(shè)計(jì)

      本文基于協(xié)同過濾算法的圖書推薦系統(tǒng)采用MTV 架構(gòu),來實(shí)現(xiàn)“高內(nèi)聚低耦合”。圖書推薦系統(tǒng)整體架構(gòu)如圖1 所示。

      圖1 圖書推薦系統(tǒng)架構(gòu)圖

      圖1 中,表現(xiàn)層的功能主要是將動(dòng)態(tài)生成的網(wǎng)頁(yè)文件進(jìn)行輸出,使用戶可以直觀的看到信息;業(yè)務(wù)邏輯層將一些邏輯封裝,在前端和數(shù)據(jù)庫(kù)端之間充當(dāng)中間人,便捷的將數(shù)據(jù)在兩者之間傳遞;數(shù)據(jù)存取層實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪問,通過數(shù)據(jù)庫(kù)命令執(zhí)行操作,例如查詢,插入,更新,刪除等;數(shù)據(jù)庫(kù)采用MySQL,存儲(chǔ)圖書、讀者、評(píng)分等用戶信息。

      2 功能模塊設(shè)計(jì)

      本文圖書推薦系統(tǒng)借助基于物品的協(xié)同過濾算法,在用戶搜索圖書的同時(shí)自動(dòng)為讀者推薦一批相似的圖書,因此在功能模塊上主要包含后臺(tái)管理系統(tǒng)和圖書推薦系統(tǒng)兩大部分。

      2.1 后臺(tái)管理系統(tǒng)

      后臺(tái)系統(tǒng)管理模塊實(shí)現(xiàn)了對(duì)用戶信息進(jìn)行的刪除操作以及對(duì)圖書信息進(jìn)行的添加和刪除操作,包括用戶賬號(hào)管理、圖書管理兩個(gè)部分,該功能主要通過管理員角色操作。

      2.2 圖書推薦系統(tǒng)模塊

      圖書推薦系統(tǒng)模塊主要包含用戶個(gè)人信息管理、熱門書籍、基于物品的推薦模塊三部分。

      ⑴用戶管理模塊主要實(shí)現(xiàn)用戶對(duì)本人信息的查看和修改操作、對(duì)用戶歷史評(píng)分記錄進(jìn)行查看和刪除操作以及對(duì)喜歡書單內(nèi)圖書的信息進(jìn)行查看和刪除操作。

      ⑵熱門書籍模塊的功能是通過對(duì)用戶的歷史評(píng)分記錄進(jìn)行排行,得到熱門書籍。該功能是對(duì)所有用戶的評(píng)分記錄中圖書評(píng)分總和最高的圖書進(jìn)行排行,根據(jù)評(píng)分由高到低進(jìn)行排序,生成熱門圖書的排行榜。

      ⑶基于物品的推薦模塊是通過對(duì)圖書以及用戶評(píng)分記錄的分析,完成對(duì)用戶進(jìn)行圖書推薦的功能。

      3 算法設(shè)計(jì)

      基于物品的協(xié)同過濾算法是本系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的源泉,本節(jié)敘述有關(guān)該算法的實(shí)現(xiàn)過程與設(shè)計(jì)思想。

      用戶依據(jù)數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的提取,通過推薦算法的分析、對(duì)用戶的行為分析[3]得出與自己所評(píng)的圖書相似的其他圖書,其結(jié)果將通過SQL 語(yǔ)句傳遞到前端,然后展示在HTML 頁(yè)面上,完成基于物品的協(xié)同過濾算法推薦的全過程。算法的流程圖如圖2所示。

      圖2 基于物品的推薦功能模塊圖

      3.1 獲取數(shù)據(jù)

      首先從文件中獲取所需的數(shù)據(jù)集,并且根據(jù)列進(jìn)行劃分得到所需的數(shù)據(jù),將其存入訓(xùn)練集train 中。本系統(tǒng)中使用的數(shù)據(jù)通過網(wǎng)絡(luò)爬取獲得,本系統(tǒng)側(cè)重點(diǎn)在于推薦系統(tǒng)的設(shè)計(jì),因此數(shù)據(jù)獲取不再詳細(xì)描述。

      3.2 計(jì)算相似度

      對(duì)所獲取的數(shù)據(jù),對(duì)每本圖書統(tǒng)計(jì)用戶數(shù)及評(píng)分,記入空字典中,例如創(chuàng)建一個(gè)空字典為Self.N={},N[i]表示對(duì)圖書i評(píng)分的用戶數(shù)。

      然后建立物品相似度矩陣W[i][j],計(jì)算出圖書i與圖書j 之間的相似度,填入該矩陣。利用如公式⑴計(jì)算圖書之間的相似度[4]。W[i][j]標(biāo)識(shí)圖書i 和圖書j的相似度,N[i]則是喜歡圖書i的用戶數(shù),N[j]則是喜歡圖書j的用戶數(shù),除號(hào)上方表示同時(shí)喜歡圖書i和圖書j的用戶數(shù)。

      部分相似度矩陣如圖3。

      3.3 為當(dāng)前用戶提供推薦圖書

      面向當(dāng)前用戶,搜尋和用戶歷史評(píng)分上的圖書最相似的圖書集合,為用戶進(jìn)行推薦。本文以用戶123為例,展示整個(gè)推薦過程:用戶123 對(duì)一本圖書進(jìn)行評(píng)分后,歷史評(píng)分如圖4所示。

      圖4 用戶123歷史評(píng)分展示圖

      接下來用戶123在首頁(yè)點(diǎn)擊與你喜歡的圖書類似按鈕,后臺(tái)運(yùn)行推薦算法:

      首先創(chuàng)建字典self.train={},從本地?cái)?shù)據(jù)集中獲取數(shù)據(jù),存儲(chǔ)所有的用戶對(duì)圖書的評(píng)分?jǐn)?shù)據(jù);創(chuàng)建字典self.W,用來存儲(chǔ)圖書之間的相似度;創(chuàng)建self.N,用來存儲(chǔ)每本圖書被用戶評(píng)價(jià)過的次數(shù)。

      然后通過3.2 節(jié)中的相似度公式計(jì)算圖書之間的相似度,生成圖書-圖書相似矩陣存入字典self.W 中。從得到的相似度矩陣中取出與用戶123 所評(píng)圖書最相似的其他圖書及其評(píng)分。所有用戶評(píng)價(jià)過的圖書信息存儲(chǔ)在self.train 中,由于當(dāng)前用戶名(user)為123,所以可以通過self.train[user]可獲取到用戶123 評(píng)價(jià)過的圖書信息。如表1所示。

      表1 算法獲取到用戶123評(píng)價(jià)的圖書信息表

      將用戶123 對(duì)每本圖書的評(píng)分與用戶123 評(píng)分過的每本圖書和其他圖書之間的相似度兩者之積進(jìn)行求和,得到推薦字典rank{},后對(duì)推薦字典進(jìn)行堆排序,用來判斷用戶123 對(duì)某一圖書的喜好程度[5,6]的高低,根據(jù)推薦分由高到低排列,將指定數(shù)量的圖書推薦給用戶123,排序之后推薦字典內(nèi)的部分推薦圖書如表2所示。

      表2 推薦字典經(jīng)過排序之后的部分圖書表

      排序后將推薦圖書展示在HTML 頁(yè)面,如圖5所示,完成本系統(tǒng)基于物品的推薦功能。

      圖5 為用戶123推薦圖書展示圖

      4 結(jié)束語(yǔ)

      圖書推薦系統(tǒng)根據(jù)圖書、評(píng)分?jǐn)?shù)據(jù)集,通過圖書記錄與用戶評(píng)分記錄進(jìn)行推薦的軟件系統(tǒng)。本系統(tǒng)的圖書推薦模塊是由基于物品的協(xié)同推薦算法進(jìn)行的圖書推薦,本文設(shè)計(jì)的熱門書籍模塊將圖書評(píng)分排行榜展示出來,使讀者對(duì)熱門書籍有一個(gè)直觀的感受,并且向沒有對(duì)圖書進(jìn)行評(píng)分的用戶提供一批大眾評(píng)分較高的書籍。在文中應(yīng)用的推薦算法中,仍存在推薦準(zhǔn)確性的問題,下一步將在推薦算法上繼續(xù)討論研究,提高系統(tǒng)推薦圖書的推薦性能,使推薦結(jié)果更精準(zhǔn),更好地為讀者服務(wù)。

      猜你喜歡
      字典物品圖書
      開心字典
      家教世界(2023年28期)2023-11-14 10:13:50
      開心字典
      家教世界(2023年25期)2023-10-09 02:11:56
      稱物品
      “雙十一”,你搶到了想要的物品嗎?
      圖書推薦
      南風(fēng)(2020年22期)2020-09-15 07:47:08
      誰(shuí)動(dòng)了凡·高的物品
      歡迎來到圖書借閱角
      班里有個(gè)圖書角
      我是小字典
      正版字典
      讀者(2016年14期)2016-06-29 17:25:50
      洛阳市| 湖北省| 武安市| 临泉县| 营口市| 呼图壁县| 怀化市| 伊吾县| 鄂托克旗| 河间市| 永新县| 潼关县| 南溪县| 荣昌县| 宁强县| 图们市| 利辛县| 随州市| 大城县| 馆陶县| 河曲县| 东港市| 邢台市| 秦皇岛市| 昌平区| 邛崃市| 宿迁市| 长沙市| 香港| 鹤庆县| 绩溪县| 河西区| 临清市| 北辰区| 民县| 四平市| 东乌珠穆沁旗| 石屏县| 永清县| 尖扎县| 通城县|