国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop框架與用戶行為特征感知的智能圖書推薦系統(tǒng)設(shè)計

2022-12-23 12:03花維
電子設(shè)計工程 2022年24期
關(guān)鍵詞:編程書籍圖書

花維

(西安外事學院,陜西西安 710077)

互聯(lián)網(wǎng)技術(shù)的普及與發(fā)展改變了人們的生活、生產(chǎn)方式,互聯(lián)網(wǎng)技術(shù)已經(jīng)滲透進了生活的各種場景,如購物、娛樂、社交通信等,人們充分享受著互聯(lián)網(wǎng)帶來的便利。但另一方面,互聯(lián)網(wǎng)上信息的極度豐富也使人們面臨著信息過剩的問題,大量沒有價值的不良信息占據(jù)著人們寶貴的接受信息時間。搜索引擎的出現(xiàn)使得人們可以根據(jù)其意愿進行信息篩選,限制用戶獲取信息的范圍,較大程度地緩解無用信息的干擾。近年來,推薦系統(tǒng)的出現(xiàn)更是使得互聯(lián)網(wǎng)可以根據(jù)用戶的興趣進行信息推送,大幅度提升了用戶獲取信息的效率與用戶體驗。推薦系統(tǒng)的本質(zhì)也是一個搜索系統(tǒng),在人們享受便利的同時也在互聯(lián)網(wǎng)上留下了自身的各種“活動軌跡”。通過這些軌跡提取用戶標簽,結(jié)合用戶信息構(gòu)建用戶畫像。然后,將不同用戶的不同畫像輸入到網(wǎng)頁的搜索框,即可獲得該用戶感興趣的信息,達到個性化匹配的目的[1-4]。

為了提升讀者獲取其感興趣圖書的效率并提升閱讀體驗,該文對圖書的推薦系統(tǒng)進行了研究。通過引入系統(tǒng)工程理論指導設(shè)計,梳理圖書推薦的主要流程,確定系統(tǒng)的軟件架構(gòu);引入Hadoop 大數(shù)據(jù)處理框架,基于MapReduce 編程模式,實現(xiàn)了推薦算法的并行化處理,提升推薦系統(tǒng)的計算效率。

1 系統(tǒng)設(shè)計

1.1 系統(tǒng)需求分析與結(jié)構(gòu)設(shè)計

圖書在線推薦系統(tǒng)的研究與設(shè)計是一項龐大的軟件工程任務(wù),為達到該目的,需要有科學的理論指導。在軟件工程理論中,系統(tǒng)的需求分析是軟件設(shè)計的第一步。通過需求分析可以明確系統(tǒng)設(shè)計的目標,同時在這一過程中將目標進行逐級拆解,轉(zhuǎn)換為計算機容易實現(xiàn)的功能模塊,逐步轉(zhuǎn)化為最終的軟件系統(tǒng)[5-9]。

圖書在線推薦系統(tǒng)可以實現(xiàn)高效、精準的書籍推薦。精準的推薦對于互聯(lián)網(wǎng)企業(yè)增加用戶粘性,提升電子商務(wù)網(wǎng)站的轉(zhuǎn)化率具有重要意義。高效性的特點,要求推薦系統(tǒng)必須具有較強的實時性,具體體現(xiàn)在當用戶特征、圖書信息等要素發(fā)生變化時,推薦的內(nèi)容也可以及時、快速地更新。精準性要求推薦的書籍對于用戶有較好的接受度,推薦書籍應(yīng)當具有一定的點擊率?;谝陨系哪康募跋嚓P(guān)分析,設(shè)計系統(tǒng)的相關(guān)功能模塊,如圖1 所示。

圖1 圖書推薦系統(tǒng)功能模型

在圖1中,圖書推薦系統(tǒng)包含圖書元數(shù)據(jù)庫、用戶特征庫、圖書挖掘子系統(tǒng)、行為監(jiān)控子系統(tǒng)、用戶特征子系統(tǒng)、搜索引擎子系統(tǒng)、頁面推薦子系統(tǒng)。從圖1 可以看出,推薦系統(tǒng)的設(shè)計與實現(xiàn)重點在于各項數(shù)據(jù)特征的搜集,其實質(zhì)在于讀者特征與圖書特征間的精準匹配。想要達到該目的,既需要通過搜集讀者的相關(guān)歷史數(shù)據(jù)建立精準的用戶畫像,也需要建立圖書的相關(guān)數(shù)據(jù)庫,然后找到二者間的聯(lián)系[10-15]。

對于用戶特征庫,主要依靠用戶注冊時的相關(guān)基礎(chǔ)信息,如性別、年齡、職業(yè)、興趣等作為推薦的冷啟動。當用戶有瀏覽記錄、收藏記錄時,逐步增加這些對于推薦的權(quán)重。

對于圖書元庫的建立,該文主要根據(jù)圖書類別進行分類,同時記錄相關(guān)的用戶瀏覽信息。

基于以上的系統(tǒng)功能分析,建立如圖2 所示的系統(tǒng)推薦流程[16]。

圖2 系統(tǒng)推薦流程

在圖2中,結(jié)合用戶的行為數(shù)據(jù)庫,從中提取特征行為,其次結(jié)合行為屬性形成特征向量。然后利用特征向量,從數(shù)據(jù)庫中篩選符合相關(guān)約束的圖書元作為初始的推薦結(jié)果。隨后,通過系統(tǒng)內(nèi)置的相關(guān)規(guī)則進行過濾,再結(jié)合用戶反饋以及書籍的自有屬性進行排名。最終附加上推薦的原因,給出推薦結(jié)果。

圖3 給出了系統(tǒng)的軟件架構(gòu),為了提升系統(tǒng)推薦的實時性,系統(tǒng)采用分層架構(gòu)。

圖3 圖書推薦系統(tǒng)的軟件架構(gòu)

通過分層,可以降低業(yè)務(wù)層、推薦算法層與存儲層間的耦合程度,每個層間只需給其余層次提供合適的軟件接口即可。該種設(shè)計使得系統(tǒng)的軟件結(jié)構(gòu)更清晰,提升了系統(tǒng)后期的可維護性。

1.2 推薦算法

對于推薦系統(tǒng)而言,其核心在于推薦算法的設(shè)計。文中推薦系統(tǒng)使用的算法主要包括基于內(nèi)容的推薦算法與系統(tǒng)過濾算法。

基于內(nèi)容的推薦算法,需要依靠內(nèi)容特征的提取,文中主要是對書籍特征的提取。由于該方法不需要用戶信息,適用于新用戶注冊時進行系統(tǒng)冷啟動。內(nèi)容推薦的關(guān)鍵在于對系統(tǒng)內(nèi)m本書建立p維的空間,然后基于用戶的愛好與興趣,利用用戶與書本間的鄰近度進行推薦。當基于內(nèi)容進行推薦時,系統(tǒng)鄰近度的計算方式如式(1)所示:

其中,i、j分別代表了用戶向量與書本向量,這兩個向量將書本、用戶的特征作為向量的元素。

當系統(tǒng)內(nèi)產(chǎn)生用戶的日志信息后,系統(tǒng)將使用過濾規(guī)則進行書籍的推薦。該規(guī)則采用與目標相似度較高的用戶或書籍進行推測,推斷出用戶對于某些書籍的潛在興趣。在推斷過程中,主要借助夾角的余弦值衡量該種相似性,其計算方法如式(2)所示:

2 算法實現(xiàn)

2.1 基于Hadoop的平臺部署

由于圖書推薦系統(tǒng)的推薦涉及了大數(shù)據(jù)的處理與挖掘,因此,需要數(shù)據(jù)密集型分布式計算框架的支持。該文選取的計算框架為Hadoop,該框架可以通過多個基礎(chǔ)計算機集群的聯(lián)合獲得超高的計算能力,且具備良好的擴展性。在Hadoop 中包含了Pig、Chukwa、Hive 等多個項目結(jié)構(gòu),文中涉及的主要有分布式文件系統(tǒng)HDFS 與Hadoop 的編程模式MapReduce。對于HDFS,通過表1 的環(huán)境部署了七個節(jié)點的分布式存儲系統(tǒng)。其中,一個是Master 節(jié)點,六個是Slaver 節(jié)點。

表1 仿真環(huán)境

對于Hadoop 的編程模式,其實現(xiàn)了計算過程中動態(tài)的控制計算節(jié)點,保證了Hadoop 系統(tǒng)的靈活性與可擴展性。在編程中,MapReduce 只受數(shù)據(jù)當前行的影響,其過程包括Map 與Reduce 兩個節(jié)點。實現(xiàn)過程如式(3)所示:

圖書的推薦高度依賴于圖書度的統(tǒng)計,圖書度反映了圖書瀏覽或被購買的頻次,是圖書熱門程度的重要體現(xiàn),通過MapReduce 實現(xiàn)圖書度的統(tǒng)計方法如下文所述。

在該系統(tǒng)中,讀入用戶日志文件,基礎(chǔ)的存儲格式為:<用戶ID,商品ID,用戶評分,時間戳>。在圖4中,給出了用戶ID 為1、2、3 的用戶日志文件。經(jīng)過Map后,系統(tǒng)得到的結(jié)果為<商品ID,所有用戶的購買頻次>。隨后,利用Reduce 函數(shù)合并結(jié)果,以商品ID 為主鍵將相同商品的購買次數(shù)相加,最終得到<商品ID,商品度>作為MapReduce 的輸出結(jié)果。

圖4 MapReduce編程模式

通過引入MapReduce 編程模式,該系統(tǒng)可以靈活地定義Map 與Reduce 中的主鍵進行計算,統(tǒng)計各項數(shù)據(jù)作為系統(tǒng)的推薦依據(jù)。

2.2 算法仿真與系統(tǒng)實現(xiàn)

為了評估文中推薦算法在Hadoop 上的部署效果,使用Amazon 的開放數(shù)據(jù)集。在該數(shù)據(jù)集中,包含了581 921 位用戶對于187 213 部圖書的共112 340 015 次的圖書打分記錄。

圖5 給出了算法在表1 Hadoop 集群上的運行時間。其中,橫軸代表Hadoop 集群中計算機的數(shù)量,縱軸代表算法的運算時間,圖例代表了一次性推薦不同數(shù)量的圖書M。可以看出,推薦算法的運行效率受到推薦圖書數(shù)量與Hadoop 節(jié)點數(shù)兩個方面的影響。值得注意的是,對于文中的推薦算法而言,當推薦的圖書種類數(shù)較少時(M為100 或200),集群大小對于算法計算時間的影響并不顯著。當推薦的圖書種類數(shù)較大時(M為3 000 或5 000),算法計算的時間隨著集群數(shù)量增加呈線性減小的趨勢。當M=5 000時,使用七個節(jié)點計算的時間約為890 s,而單節(jié)點的計算時間為4 400 s,時間約為單節(jié)點的1/5。因此對于Hadoop 平臺,需要初始化足夠數(shù)目的Mapper 文件才能充分發(fā)揮其大數(shù)據(jù)處理的優(yōu)勢。

圖5 基于Hadoop的算法運行效率

最終,結(jié)合圖3 給出的系統(tǒng)軟件框架實現(xiàn)系統(tǒng)功能。在實現(xiàn)過程中,用戶對于圖書的打分信息使用JSP 調(diào)用JDBC后,通過數(shù)據(jù)存儲模塊寫入數(shù)據(jù)庫。系統(tǒng)內(nèi)的推薦業(yè)務(wù)借助Hadoop 平臺,結(jié)合圖4的MapReduce 編程模式進行實現(xiàn)。在最終實現(xiàn)的系統(tǒng)個人主頁的界面中,共包含了四個功能模塊,系統(tǒng)界面通過JSP 調(diào)用相關(guān)的數(shù)據(jù)接口實現(xiàn)。個人主頁界面上展示了用戶的個人信息,且提供了搜索功能。系統(tǒng)會結(jié)合當前的讀書熱點給出“每日一薦”,根據(jù)用戶的歷史讀書行為以及用戶信息給出“猜你喜歡”的相關(guān)推薦。

3 結(jié)束語

文中對圖書推薦的相關(guān)方法進行了研究,通過Hadoop 部署了系統(tǒng)中用戶特征、用戶行為日志等特征庫,實現(xiàn)了用戶特征到圖書內(nèi)容特征的匹配。Hadoop 大數(shù)據(jù)計算框架的引入提升了系統(tǒng)的計算能力與數(shù)據(jù)存儲能力,對于系統(tǒng)后續(xù)的擴展、升級也具有較高的實用價值。

猜你喜歡
編程書籍圖書
魯迅與“書籍代購”
中國書籍享譽海外
Chinese books find an audience overseas中國書籍享譽海外
編程,是一種態(tài)度
元征X-431實測:奔馳發(fā)動機編程
圖書推薦
編程小能手
紡織機上誕生的編程
歡迎來到圖書借閱角
曹文軒主編的書籍
武定县| 博爱县| 阿拉尔市| 中山市| 闸北区| 阿拉善左旗| 蓝山县| 永州市| 阿荣旗| 九寨沟县| 高安市| 牡丹江市| 蓝山县| 疏附县| 宝山区| 社旗县| 西林县| 建阳市| 威海市| 永康市| 南岸区| 资溪县| 故城县| 广灵县| 天祝| 陕西省| 铜梁县| 中山市| 巴林右旗| 道真| 裕民县| 东平县| 微博| 西峡县| 昌黎县| 汝南县| 高陵县| 和顺县| 孙吴县| 东山县| 湘乡市|