張婷婷
摘 要: 為了解決基于數(shù)據(jù)挖掘技術(shù)的Web個(gè)性化推薦系統(tǒng)對(duì)Web的推薦結(jié)果準(zhǔn)確率低,反應(yīng)時(shí)間長(zhǎng)的問(wèn)題,設(shè)計(jì)基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)。塑造系統(tǒng)組成框架圖,設(shè)計(jì)系統(tǒng)的總體功能包括源數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、用戶(hù)興趣分析與實(shí)現(xiàn)、個(gè)性化推薦以及推薦引擎。源數(shù)據(jù)采集利用Sqoop工具將數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)移到HDFS中以便H?ICRS算法進(jìn)行數(shù)據(jù)提取,并獲得推薦的歷史數(shù)據(jù),實(shí)現(xiàn)作為系統(tǒng)上層數(shù)據(jù)支持的功能。針對(duì)分析用戶(hù)長(zhǎng)遠(yuǎn)和當(dāng)前的Web興趣度,分別采用語(yǔ)義分析模型和分片聚類(lèi)的方法,分析用戶(hù)Web使用興趣。塑造單個(gè)推薦引擎的推薦引擎架構(gòu),得到最終的Web個(gè)性化推薦列表。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)系統(tǒng)的Web個(gè)性化推薦結(jié)果準(zhǔn)確率高,系統(tǒng)的抗壓能力強(qiáng)。
關(guān)鍵詞: 大數(shù)據(jù); Hadoop; Web個(gè)性化推薦; 系統(tǒng)設(shè)計(jì); Sqoop; H?ICRS算法
中圖分類(lèi)號(hào): TN919?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)16?0155?04
Abstract: A Web personalized recommendation system based on big data is designed to solve the problems existing in the Web personalized recommendation system based on data mining technology for its low accuracy rate of Web recommendation results and long reaction time. The composition framework of the system is built. The system′s overall functions including source data acquisition, data preprocessing, user interest analysis and implementation, personalized recommendation, and recommendation engine are designed. During source data acquisition, the Sqoop tool is used to transfer data in the database to the HDFS, so as to extract data by using the H?ICRS algorithm, obtain the recommended historical data, and realize the upper layer data support function of the system. By analyzing users′ long?term and current Web interest degree, the semantic analysis model and fragmentation clustering method are adopted respectively to analyze users′ Web interest. The recommendation engine architecture is constructed for a single recommendation engine to obtain the final Web personalized recommendation list. The experimental results show that the designed system has high accuracy rate of Web personalized recommendation results and strong anti?pressure capability.
Keywords: big data; Hadoop; Web personalized recommendation; system design; Sqoop; H?ICRS algorithm
隨著經(jīng)濟(jì)技術(shù)的迅猛發(fā)展,產(chǎn)生了大量的數(shù)據(jù)信息。人們每天都會(huì)獲取大量的信息,但是信息質(zhì)量都各有不同。如何確保用戶(hù)在獲得自己感興趣的Web同時(shí),將外界干擾的Web影響降至最低[1],是當(dāng)前推薦系統(tǒng)亟需解決的問(wèn)題。隨著數(shù)據(jù)的增長(zhǎng),傳統(tǒng)基于數(shù)據(jù)挖掘技術(shù)的Web推薦系統(tǒng)向用戶(hù)推薦的Web準(zhǔn)確度較低,已經(jīng)無(wú)法滿(mǎn)足用戶(hù)的個(gè)性化需求。針對(duì)該問(wèn)題,本文設(shè)計(jì)基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng),提高系統(tǒng)的個(gè)性化推薦效果。
本文基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng),結(jié)合搜索引擎下的推薦系統(tǒng),Hadoop大數(shù)據(jù)框架的Web個(gè)性化推薦系統(tǒng)。其中Web搜索引擎以系統(tǒng)服務(wù)者的身份參與到本文基于Hadoop框架大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)中,負(fù)責(zé)系統(tǒng)進(jìn)行信息檢索和部分?jǐn)?shù)據(jù)的供應(yīng)。Hadoop大數(shù)據(jù)框架負(fù)責(zé)向系統(tǒng)大數(shù)據(jù)的處理。系統(tǒng)組成框圖如圖1所示。
基于Hadoop框架的大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)的組成框架圖可以看出,為保證系統(tǒng)的穩(wěn)定性和擴(kuò)展能力,系統(tǒng)應(yīng)用不同的開(kāi)源項(xiàng)目[2],其中包括Solr的搜索引擎和Hadoop大數(shù)據(jù)處理框架平臺(tái)。Solr的主要功能是向系統(tǒng)使用者提供信息搜索支持,并將搜索結(jié)果經(jīng)由日志系統(tǒng)傳導(dǎo)回本文基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)。
1.1 系統(tǒng)總體功能設(shè)計(jì)
基于本文系統(tǒng)的組成框架圖,對(duì)系統(tǒng)的總體功能進(jìn)行設(shè)計(jì)。系統(tǒng)總體功能設(shè)計(jì)通過(guò)分析使用者的Web行為數(shù)據(jù),以為使用者推送個(gè)性化Web結(jié)果為目的進(jìn)行設(shè)計(jì).本文系統(tǒng)的Web個(gè)性化推薦分別從源數(shù)據(jù)采集[3]、數(shù)據(jù)預(yù)處理、用戶(hù)興趣分析與實(shí)現(xiàn)、個(gè)性化推薦以及推薦引擎五個(gè)部分進(jìn)行分析,不同部分實(shí)現(xiàn)不同的結(jié)構(gòu)功能,整體協(xié)同實(shí)現(xiàn)基于大數(shù)據(jù)的Web個(gè)性化推薦。
1.2 源數(shù)據(jù)采集
源數(shù)據(jù)采集主要向本文系統(tǒng)進(jìn)行必要的上層數(shù)據(jù)支持,系統(tǒng)采集的實(shí)時(shí)數(shù)據(jù)經(jīng)由Web服務(wù)器保存在關(guān)系型數(shù)據(jù)庫(kù)中,H?ICSR算法運(yùn)行于Hadoop 框架,該算法從HDFS讀取數(shù)據(jù)[4],需要將數(shù)據(jù)庫(kù)中的數(shù)據(jù)傳輸?shù)?HDFS。同時(shí)用戶(hù)會(huì)對(duì)系統(tǒng)推薦結(jié)果的反饋保存在數(shù)據(jù)庫(kù)中。H?ICSR算法利用的源數(shù)據(jù)涵蓋各種Web屬性信息、社會(huì)關(guān)系數(shù)據(jù)以及過(guò)去推薦結(jié)果等。通常上述數(shù)據(jù)被存儲(chǔ)于MySQL數(shù)據(jù)庫(kù)中,不同的源數(shù)據(jù)分別與不同的表相對(duì)應(yīng),上述源數(shù)據(jù)對(duì)應(yīng)表為tb?userInfo表、tb?action表和tb?follow表。源數(shù)據(jù)的采集通常采用Sqoop工具將數(shù)據(jù)庫(kù)中的數(shù)據(jù)轉(zhuǎn)移到HDFS中,以便H?ICRS算法進(jìn)行數(shù)據(jù)提取,同時(shí)獲取系統(tǒng)向用戶(hù)推薦的歷史情況。
1.3 數(shù)據(jù)預(yù)處理
本文基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)的數(shù)據(jù)預(yù)處理是基于Hadoop平臺(tái)實(shí)施的,其中實(shí)現(xiàn)源數(shù)據(jù)與數(shù)據(jù)預(yù)處理的為HDFS,倘若經(jīng)由HDFS中檢索出的源數(shù)據(jù)未經(jīng)過(guò)格式化[5],需要先將其進(jìn)行格式化操作,格式化結(jié)果如[String1,String2,…]或[String1String2…]的形式。若獲取的數(shù)據(jù)已經(jīng)格式化,從中篩選有效信息進(jìn)行計(jì)算或構(gòu)建模型,并保存在HDFS中。在數(shù)據(jù)預(yù)處理中H?ICSR算法運(yùn)算Web個(gè)性化推薦度與項(xiàng)目聚類(lèi)[6?7],由RecommendExtentJob和ClusteringJob兩者分別實(shí)現(xiàn)。
1.4 用戶(hù)興趣分析實(shí)現(xiàn)
基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)針對(duì)用戶(hù)對(duì)Web興趣的分析角度,從兩方面考慮:一方面對(duì)于用戶(hù)的一些長(zhǎng)遠(yuǎn)的Web興趣,本文采用語(yǔ)義分析的方法對(duì)用戶(hù)的Web使用興趣進(jìn)行分析;另一方面對(duì)用戶(hù)的當(dāng)前感興趣的Web,本文采用分片聚類(lèi)的方法對(duì)該類(lèi)用戶(hù)的Web使用興趣進(jìn)行分析[8]。對(duì)用戶(hù)興趣分析的實(shí)現(xiàn)代碼如下:
Open Catalog
Obtain Owner Number=got Owner Number(OwnerDataRoute); //得到用戶(hù)數(shù)量
Obtain Web Number=got Web Number (Web Data Route);
//得到Web數(shù)量
Obtain Jargon Number=got Jargon Number(Owner Data Route,Web Data Route); //固定詞庫(kù)/*得到用戶(hù)文本向量*/
Obtain vector Number=Cut (D); //對(duì)待降維的維度進(jìn)行計(jì)算
//采用Jargon進(jìn)行相似度計(jì)算
Owner Similar
Simular=new
Owner Date Esrimate.Owner Jagon Similar (D,vector number)
//利用K?means聚類(lèi)方法實(shí)施聚類(lèi)
Reentry Consequence
對(duì)用戶(hù)的長(zhǎng)遠(yuǎn)興趣和即時(shí)興趣分析分別采用LSA()和shardCluster()函數(shù)。LSA()函數(shù)采用分析Web內(nèi)容與用戶(hù)之間關(guān)系,將兩者關(guān)系相接近的進(jìn)行聚類(lèi)。shardCluster()函數(shù)將用戶(hù)按時(shí)間或地點(diǎn)等可以反應(yīng)用戶(hù)當(dāng)前興趣的Web進(jìn)行分片[9],并對(duì)相似的用戶(hù)行為進(jìn)行分片聚類(lèi),以此系統(tǒng)可以針對(duì)用戶(hù)的興趣內(nèi)容向用戶(hù)推薦個(gè)性化的Web。
1.5 推薦引擎實(shí)現(xiàn)
本文系統(tǒng)的推薦引擎架構(gòu)主要由三部分組成,分別為推薦引擎的基本組成要素,如下:
1) 特征向量,其來(lái)源為經(jīng)數(shù)據(jù)預(yù)處理后得到的數(shù)據(jù)以及用戶(hù)的數(shù)據(jù)特征,或是直接存在的特征向量,特征向量主要是作為向用戶(hù)進(jìn)行Web個(gè)性化推薦的依據(jù);
2) 主要是一些計(jì)算出的離線表[10],依靠特征向量和特征?源數(shù)據(jù)等得到初始的Web個(gè)性化推薦列表;
3) 對(duì)得到的初始個(gè)性化推薦列表進(jìn)行處理,得到最終的基于大數(shù)據(jù)的Web個(gè)性化推薦列表。
實(shí)驗(yàn)為驗(yàn)證本文系統(tǒng)是否可以高效地向用戶(hù)進(jìn)行Web個(gè)性化推薦,將本文基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)進(jìn)行實(shí)際應(yīng)用,與傳統(tǒng)基于數(shù)據(jù)挖掘技術(shù)的Web個(gè)性化推薦系統(tǒng)的推薦結(jié)果做為對(duì)比。為了確保本文系統(tǒng)Web個(gè)性化推薦結(jié)果具有較高的普遍性,實(shí)驗(yàn)分別從某高校財(cái)務(wù)管理專(zhuān)業(yè)、電子商務(wù)專(zhuān)業(yè)和軟件技術(shù)專(zhuān)業(yè)各隨機(jī)選取4個(gè)學(xué)生進(jìn)行Web的個(gè)性化推薦測(cè)試,其中各專(zhuān)業(yè)男、女學(xué)生人數(shù)均占[12]。實(shí)驗(yàn)分別從系統(tǒng)推薦結(jié)果準(zhǔn)確度、專(zhuān)業(yè)性、頁(yè)面布局效果以及滿(mǎn)意度四個(gè)方面進(jìn)行評(píng)判,如表1所示。
分析表1數(shù)據(jù)可知,傳統(tǒng)基于數(shù)據(jù)挖掘技術(shù)的Web個(gè)性化推薦系統(tǒng)的Web推薦結(jié)果準(zhǔn)確度不超過(guò)70%,說(shuō)明該系統(tǒng)的個(gè)性化推薦效果較差,且推薦Web的專(zhuān)業(yè)性能不高,無(wú)法向?qū)W生用戶(hù)提供有用的頁(yè)面效果,評(píng)分也較低,整體的用戶(hù)滿(mǎn)意水平較低。綜合分析表1和表2中數(shù)據(jù)可得,采用本文基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)對(duì)不同用戶(hù)進(jìn)行實(shí)際推薦過(guò)程中,在準(zhǔn)確度、專(zhuān)業(yè)性、頁(yè)面布局效果和滿(mǎn)意度方面均優(yōu)于傳統(tǒng)基于數(shù)據(jù)挖掘技術(shù)的Web個(gè)性化推薦系統(tǒng)。在滿(mǎn)意度方面,所提方法的滿(mǎn)意度為84%,遠(yuǎn)高于傳統(tǒng)方法的61.2%,說(shuō)明本文方法實(shí)際應(yīng)用性較強(qiáng),用戶(hù)滿(mǎn)意度高。
實(shí)驗(yàn)為分析本文基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)是否可以快速、穩(wěn)定地向用戶(hù)進(jìn)行個(gè)性化的Web推薦。實(shí)驗(yàn)以基于數(shù)據(jù)挖掘技術(shù)的Web個(gè)性化推薦系統(tǒng)和基于Spark的Web個(gè)性化推薦系統(tǒng)為對(duì)比,分析三個(gè)系統(tǒng)的系統(tǒng)響應(yīng)時(shí)間和最大抗壓能力。圖2和圖3分別為三個(gè)系統(tǒng)在系統(tǒng)使用人數(shù)不同時(shí)的反應(yīng)時(shí)間以及系統(tǒng)最大的抗壓結(jié)果。
分析圖2中數(shù)據(jù)可知,本文系統(tǒng)在不同的系統(tǒng)使用人數(shù)下,時(shí)間從0逐漸增加到0.4 s后系統(tǒng)的反應(yīng)時(shí)間趨于穩(wěn)定,不再變化;基于數(shù)據(jù)挖掘的Web個(gè)性化推薦系統(tǒng)同樣從0時(shí)刻開(kāi)始變化,但該系統(tǒng)隨著使用人數(shù)的增加系統(tǒng)反應(yīng)耗時(shí)一直逐漸增大;分析基于Spark的Web個(gè)性化推薦系統(tǒng)從系統(tǒng)運(yùn)行初始的耗時(shí)基數(shù)較大且隨著系統(tǒng)使用人數(shù)越來(lái)越多,系統(tǒng)反應(yīng)時(shí)間逐漸加快。綜合三個(gè)系統(tǒng)的反應(yīng)耗時(shí)可以得出,本文系統(tǒng)向用戶(hù)進(jìn)行Web的個(gè)性化推薦時(shí),推薦結(jié)果的效率較高。
實(shí)驗(yàn)分別對(duì)三個(gè)Web個(gè)性化推薦系統(tǒng)的抗壓能力進(jìn)行6次測(cè)試。分析圖3可得,傳統(tǒng)基于數(shù)據(jù)挖掘技術(shù)的Web個(gè)性化推薦系統(tǒng)其最大承受人數(shù)約為2 500人。說(shuō)明系統(tǒng)僅能保證2 500正常同時(shí)使用,超出該人數(shù)系統(tǒng)可能發(fā)生崩潰,其抗壓能力較弱。基于Spark的Web個(gè)性化推薦系統(tǒng)最大承受人數(shù)約為2 500且承載人數(shù)波動(dòng)較大,說(shuō)明該系統(tǒng)穩(wěn)定性和抗壓能力較差;而本文提出的基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng),最大承受人數(shù)約為10 000人,并且承載人數(shù)波動(dòng)幅度較小,說(shuō)明該系統(tǒng)的穩(wěn)定性和抗壓能力較強(qiáng)。
本文設(shè)計(jì)的基于大數(shù)據(jù)的Web個(gè)性化推薦系統(tǒng)能提高對(duì)Web個(gè)性化推薦結(jié)果的準(zhǔn)確度。系統(tǒng)整體運(yùn)行效率高,抗壓能力強(qiáng)。
[1] 尤海浪,錢(qián)鋒,黃祥為,等.基于大數(shù)據(jù)挖掘構(gòu)建游戲平臺(tái)個(gè)性化推薦系統(tǒng)的研究與實(shí)踐[J].電信科學(xué),2014, 30(10):27?32.
YOU Hailang, QIAN Feng, HUANG Xiangwei, et al. Research and practice of building a personalized recommendation system for mobile game platform based on big data mining [J]. Telecommunications science, 2014, 30(10): 27?32.
[2] 孟祥武,紀(jì)威宇,張玉潔.大數(shù)據(jù)環(huán)境下的推薦系統(tǒng)[J].北京郵電大學(xué)學(xué)報(bào),2015,38(2):1?15.
MENG Xiangwu, JI Weiyu, ZHANG Yujie. A survey of recommendation systems in big data [J]. Journal of Beijing University of Posts and Telecommunications, 2015, 38(2): 1?15.
[3] 應(yīng)毅,劉亞軍,陳誠(chéng).基于云計(jì)算技術(shù)的個(gè)性化推薦系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(13):111?117.
YING Yi, LIU Yajun, CHEN Cheng. Personalization recommender system based on cloud?computing technology [J]. Computer engineering and applications, 2015, 51(13): 111?117.
[4] 李文海,許舒人.基于Hadoop的電子商務(wù)推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(1):130?136.
LI Wenhai, XU Shuren. Design and implementation of recommendation system for E?commerce on Hadoop [J]. Computer engineering and design, 2014, 35(1): 130?136.
[5] 劉其成,馮利光.一種基于MapReduce的微博信息推薦并行算法[J].小型微型計(jì)算機(jī)系統(tǒng),2017,38(7):1518?1522.
LIU Qicheng, FENG Liguang. Parallel microblog information recommendation algorithm based on MapReduce [J]. Journal of Chinese computer systems, 2017, 38(7): 1518?1522.
[6] 陳萬(wàn)志,林澍,王麗,等.基于用戶(hù)移動(dòng)軌跡的個(gè)性化健康建議推薦方法[J].智能系統(tǒng)學(xué)報(bào),2016,11(2):264?271.
CHEN Wanzhi, LIN Shu, WANG Li, et al. Personalized recommendation algorithm of health advice based on the user′s mobile trajectory [J]. CAAI transactions on intelligent systems, 2016, 11(2): 264?271.
[7] 張時(shí)俊,王永恒.基于矩陣分解的個(gè)性化推薦系統(tǒng)研究[J].中文信息學(xué)報(bào),2017,31(3):134?139.
ZHANG Shijun, WANG Yongheng. Personalized recommender system based on matrix factorization [J]. Journal of Chinese information processing, 2017, 31(3): 134?139.
[8] 武慧娟,秦雯,孫鴻飛,等.基于標(biāo)簽的個(gè)性化信息推薦系統(tǒng)動(dòng)力學(xué)模型與仿真[J].現(xiàn)代情報(bào),2016,36(3):12?16.
WU Huijuan, QIN Wen, SUN Hongfei, et al. System dynamics model and simulation based on the tag of personalized information recommendation [J]. Modern information, 2016, 36(3): 12?16.
[9] 黃亞坤,王楊,蘇洋,等.基于兩層社區(qū)混合計(jì)算的個(gè)性化推薦方法[J].計(jì)算機(jī)科學(xué),2016,43(z1):440?447.
HUANG Yakun, WANG Yang, SU Yang, et al. Personalized recommendation method based on hybrid computing in two layers of community [J]. Computer science, 2016, 43(S1): 440?447.
[10] 余剛,王知衍,邵璐,等.基于奇異值分解的個(gè)性化評(píng)論推薦[J].電子科技大學(xué)學(xué)報(bào),2015,44(4):605?610.
YU Gang, WANG Zhiyan, SHAO Lu, et al. Singular value decomposition?based personalized review recommendation [J]. Journal of University of Electronic Science and Technology of China, 2015, 44(4): 605?610.