• 
    

    
    

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

      ?

      基于Mahout的圖書推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2018-12-21 17:59:16吳昌雨劉東旭
      無線互聯(lián)科技 2018年17期
      關(guān)鍵詞:表示層物品圖書

      張 淼,吳昌雨,劉東旭

      (滁州職業(yè)技術(shù)學(xué)院,安徽 滁州 239000)

      網(wǎng)絡(luò)信息技術(shù)的高速發(fā)展使得書籍?dāng)[脫了傳統(tǒng)的紙媒方式,電子圖書也越來越受到人們的認(rèn)可。2016年全國共出版圖書、期刊、報(bào)紙、音像制品和電子出版物512.53億冊(cè)[1]。對(duì)于大部分用來來說,如何在浩瀚的圖書資源中找到自己感興趣的圖書,對(duì)自身的檢索能力是一個(gè)很大的挑戰(zhàn)。因此,幫助用戶更快地找到感興趣的圖書是當(dāng)前首要解決的問題。

      本文主要完成了基于Mahout的圖書推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),通過Mahout框架為用戶提供書籍推薦服務(wù),使得傳統(tǒng)的“人找書”變?yōu)椤皶扑]給人”。協(xié)同過濾算法的使用讓用戶更快速地找到自己需要的書籍,節(jié)省了大量的時(shí)間。

      1 相關(guān)概念

      1.1 協(xié)同過濾推薦算法

      協(xié)同過濾推薦算法是一種主流的、目前廣泛應(yīng)用在工業(yè)界的推薦算法。一般分為基于用戶的協(xié)同過濾(user-based)和基于項(xiàng)目(item-based)的協(xié)同過濾[2]。

      基于用戶的協(xié)同過濾算法,主要考慮的是用戶和用戶之間的相似度,首先找出與目標(biāo)用戶相似度高的其他用戶,也就是鄰居。把鄰居喜歡的物品推薦給用戶。而基于項(xiàng)目的協(xié)同過濾是通過尋找物品和物品之間的相似度,向目標(biāo)用戶推薦與他自己喜歡的物品相似度高的其他物品。

      1.2 Mahout

      Mahout是Apache Software Foundation(ASF)旗下的一個(gè)開源項(xiàng)目,提供了一些經(jīng)典的機(jī)器學(xué)習(xí)算法,幫助研發(fā)工作者更方便地進(jìn)行研發(fā)[3]。其中Mahout中的Taste提供了一系列組件讓開發(fā)者根據(jù)自身的需求構(gòu)建推薦系統(tǒng)。

      Taste主要有5個(gè)組件構(gòu)成[4]:Data Model,User Smiliarity和Item Similarity,User Neighborhood和Recommender。

      (1)Data Model:用于讀取用戶的偏好數(shù)據(jù)。Taste目前提供了3種讀取數(shù)據(jù)源的方式,分別是從數(shù)據(jù)庫、從文件、從內(nèi)存對(duì)用戶的偏好信息進(jìn)行讀取。

      (2)User Similarity和Item Similarity:相似度是推薦系統(tǒng)的核心部分, 它主要分為用戶相似度(User Similarity)和項(xiàng)目相似度(Item Similarity)。User Smilarity用于定義兩個(gè)用戶之間的相似度,Item Similarity用于計(jì)算兩個(gè)項(xiàng)目的相似度。

      (3)User Neighbourhood:和(2)中提到的User Smilarity一起使用,定義尋找鄰居的方法。

      (4)Recommender:Recommender是推薦系統(tǒng)的核心,決定了系統(tǒng)采用何種推薦算法。Recommender是一個(gè)接口,它的主要實(shí)現(xiàn)類有Generic User Based Recommender和Generic Item Based Recommender。

      2 系統(tǒng)設(shè)計(jì)

      本系統(tǒng)主要基于Mahout框架為用戶提供推薦服務(wù),在開發(fā)中采用C/S框架,前端負(fù)責(zé)用戶界面交互,后端負(fù)責(zé)核心推薦算法。系統(tǒng)架構(gòu)采用分層設(shè)計(jì),以下分別對(duì)表示層、推薦算法層以及存儲(chǔ)層進(jìn)行介紹。

      (1)表示層:負(fù)責(zé)與用戶進(jìn)行交互,在本系統(tǒng)中主要負(fù)責(zé)把用戶的請(qǐng)求傳遞給推薦算法層,經(jīng)過后臺(tái)計(jì)算后返回推薦結(jié)果,最后展示在界面。

      (2)推薦算法層:是整個(gè)系統(tǒng)的核心,用于處理用戶請(qǐng)求并返回計(jì)算結(jié)果。本系統(tǒng)中使用基于項(xiàng)目的協(xié)同過濾推薦,所以當(dāng)該層收到用戶請(qǐng)求時(shí),會(huì)首先找到與當(dāng)前用戶喜歡的圖書相似度較高的其他圖書,把這些圖書返回給表示層。

      (3)存儲(chǔ)層:存儲(chǔ)系統(tǒng)中的數(shù)據(jù),主要包括用戶基本信息數(shù)據(jù)(性別、年齡),圖書數(shù)據(jù)以及其他數(shù)據(jù)等。

      3 系統(tǒng)實(shí)現(xiàn)

      在1.2節(jié)中提到過Taste組件主要由5部分組成,依次對(duì)應(yīng)著推薦結(jié)果產(chǎn)生的幾個(gè)過程。下面介紹實(shí)現(xiàn)整個(gè)系統(tǒng)中最重要的3步。

      3.1 建立數(shù)據(jù)模型

      推薦系統(tǒng)進(jìn)行推薦的前提是了解用戶過去,根據(jù)用戶的過去行為預(yù)測(cè)他的偏好。因此首先要對(duì)用戶行為進(jìn)行建模。以圖書推薦系統(tǒng)為例,用戶的行為主要為瀏覽、搜索、收藏、借閱,針對(duì)不同的行為設(shè)置分值,從而得到用戶—物品評(píng)分矩陣。

      對(duì)于偏好數(shù)據(jù)的處理可以有多種方式。Taste提供了Preference接口來封裝用戶的偏好信息,常用的實(shí)現(xiàn)類為Generic Preference,數(shù)據(jù)格式為<userid,itemid,value >。在1.2節(jié)中提到Data Model用于讀取用戶偏好,其中Generic Data Model支持從內(nèi)存中讀取用戶偏好信息,和Generic Preference搭配使用。

      本系統(tǒng)采用File Data Model,直接從文件中讀取用戶偏好信息,文件每行是簡單的三元組樣式:userID,itemID,preference,分別表示用戶ID,圖書ID,偏好值,中間用逗號(hào)分隔。

      3.2 定義相似度算法

      相似度計(jì)算是用于計(jì)算對(duì)象之間的相似程度,是涉及推薦系統(tǒng)中重要的一環(huán)。相似度計(jì)算的越準(zhǔn)確,推薦結(jié)果的質(zhì)量也越好。

      目前Taste中提供的相似度計(jì)算方法,大多為基于向量的計(jì)算,即把一個(gè)用戶對(duì)所有商品的喜好或者把所有用戶對(duì)一個(gè)商品的喜好處理為一個(gè)向量。通過計(jì)算兩個(gè)向量之間的距離,來推測(cè)用戶或者商品之間的相似度,距離越近相似度越大。

      Taste中相似度算法按照計(jì)算對(duì)象不同,分為User Similarity和Item Similarity兩種。本文使用基于項(xiàng)目的協(xié)同過濾推薦,因此采用Item Similairty下的實(shí)現(xiàn)類Pearson Correlation Similarity通過皮爾遜相關(guān)系數(shù)計(jì)算圖書和圖書之間的相似度。

      3.3 選擇推薦算法

      Recommender是推薦引擎最核心的模塊,決定采用何種推薦算法進(jìn)行推薦。沒有完美的推薦算法,只有適合的推薦算法。因此,首先要了解每個(gè)推薦算法的優(yōu)缺點(diǎn)和不同的使用場(chǎng)景。基于用戶的協(xié)同過濾推薦和基于項(xiàng)目的協(xié)同過濾推薦的主要區(qū)別如下[5]。

      (1)基于用戶的協(xié)同過濾:首先找到和當(dāng)前用戶有相同興趣愛好的用戶,即鄰居。把鄰居喜歡的商品推薦給當(dāng)前用戶。因此,該算法在計(jì)算用戶相似度這一環(huán)節(jié)會(huì)有大量計(jì)算,適合于用戶較少的、實(shí)時(shí)性要求不高的場(chǎng)景。

      (2)基于項(xiàng)目的協(xié)同過濾:推薦和用戶之前喜歡的物品類似的物品,比如用戶之前產(chǎn)生過借閱歷史書A的行為,系統(tǒng)就會(huì)給用戶推薦歷史書B。所以該種推薦算法在計(jì)算物品相似度這一環(huán)節(jié)會(huì)有大量計(jì)算,適合于物品數(shù)量明顯小于用戶數(shù)的場(chǎng)合,比如音樂、圖書、電子商務(wù)的網(wǎng)站。

      通過以上分析,我們知道對(duì)于圖書推薦來說,應(yīng)該選擇基于項(xiàng)目的推薦算法。

      通過以上幾個(gè)環(huán)節(jié),我們即構(gòu)建出一個(gè)推薦系統(tǒng)。本系統(tǒng)中使用File Data Model存儲(chǔ)用戶偏好評(píng)分,調(diào)用Pearson Correlation Similarity計(jì)算書本之間的相似度,使用基于項(xiàng)目的推薦算法Generic Item Based Recommende產(chǎn)生推薦結(jié)果,最后把結(jié)果傳遞給表現(xiàn)層。

      4 結(jié)語

      本文設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于Mahout的圖書推薦系統(tǒng)系統(tǒng),系統(tǒng)通過基于項(xiàng)目的協(xié)同過濾的推薦算法進(jìn)行推薦。系統(tǒng)采用分層設(shè)計(jì),易于開發(fā)和維護(hù),穩(wěn)定性強(qiáng),有利于對(duì)用戶興趣度的后續(xù)數(shù)據(jù)挖掘研究。關(guān)于推薦系統(tǒng)中的冷啟動(dòng)問題以及時(shí)間因素對(duì)于推薦結(jié)果的影響是本文還沒有完成的,冷啟動(dòng)和時(shí)間因素是下一步主要解決的問題。

      猜你喜歡
      表示層物品圖書
      稱物品
      “雙十一”,你搶到了想要的物品嗎?
      圖書推薦
      南風(fēng)(2020年22期)2020-09-15 07:47:08
      基于Spring的企業(yè)級(jí)Web項(xiàng)目架構(gòu)設(shè)計(jì)研究
      軟件(2019年6期)2019-10-08 06:27:21
      誰動(dòng)了凡·高的物品
      歡迎來到圖書借閱角
      班里有個(gè)圖書角
      ASP.NET三層構(gòu)架解析
      基于SSH框架科研管理系統(tǒng)的設(shè)計(jì)
      找物品
      湛江市| 会同县| 赣榆县| 兰考县| 溧阳市| 定安县| 于都县| 彰武县| 新沂市| 桐庐县| 离岛区| 蕉岭县| 新民市| 嘉善县| 特克斯县| 聊城市| 黔东| 南丰县| 浦东新区| 北海市| 马鞍山市| 丹巴县| 手游| 波密县| 永善县| 滦南县| 连平县| 玛多县| 文安县| 将乐县| 商城县| 陇川县| 民乐县| 崇文区| 溧水县| 万山特区| 黄大仙区| 车致| 保山市| 全椒县| 扎赉特旗|