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

?

基于Mahout的電子商務(wù)商品推薦系統(tǒng)

2016-06-14 01:48:59景田劉翠壽晨鳴溫泰歸偉夏
電腦知識與技術(shù) 2016年12期
關(guān)鍵詞:電子商務(wù)

景田+劉翠+壽晨鳴+溫泰+歸偉夏

摘要:針對電子商務(wù)網(wǎng)站需要為用戶提供快速、準(zhǔn)確的商品推薦從而進(jìn)一步促進(jìn)商品交易的問題,實(shí)現(xiàn)客戶與商家雙贏,構(gòu)建一個基于Mahout的電子商務(wù)商品推薦系統(tǒng)。通過對Mahout的開發(fā)環(huán)境、算法等內(nèi)容的介紹和分析,并結(jié)合商品的特點(diǎn)及用戶偏好等屬性設(shè)計(jì)實(shí)現(xiàn)了基于Mahout的商品推薦系統(tǒng)。

關(guān)鍵詞:電子商務(wù);Mahout;商品推薦;Hadoop

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)12-0291-02

Abstract: A E-commerce product recommendation system is proposed based on the Mahout due to provide users with e-commerce website for fast, accurate product recommendations and further promote during commodity trading. So it will be in win-win situation. At first, Mahout development environment, algorithms and other content are presented and analyzed. Then, the product recommendation system which based on Mahout combined with product properties, design features and user preferences, etc. is built.

Key words: e-commerce; Mahout; Product recommendation; Hadoop

隨著信息技術(shù)的飛速發(fā)展和政府對電子商務(wù)領(lǐng)域的積極推動,目前電子商務(wù)正以前所未有的速度蓬勃發(fā)展。但隨著用戶和需求的不斷增長,電商交易環(huán)節(jié)中結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)的存儲和處理,用戶需求種類的多樣化等問題也提出了更高的要求。電子商務(wù)交易的商品數(shù)量及相關(guān)信息等呈爆炸性的增長,如何在這些海量信息中識別出真正有價值的信息也變得越來越困難。盡管Hadoop 軟件框架的發(fā)展與工具的應(yīng)用越來越成熟,能夠較好地實(shí)現(xiàn)對海量數(shù)據(jù)的存儲與計(jì)算,但將海量的數(shù)據(jù)存儲在云端只是解決了數(shù)據(jù)的存儲問題,如何滿足用戶的需求,將云數(shù)據(jù)轉(zhuǎn)化為對用戶有價值的信息并能高效、準(zhǔn)確地推薦給用戶才是目前電子商務(wù)網(wǎng)站亟需解決的關(guān)鍵問題。

自1992年Goldberg D等人提出首個基于協(xié)同過濾的推薦系統(tǒng)[1]以來,電子商務(wù)個性化推薦服務(wù)得到了快速發(fā)展。2008推出的開源Apache Mahout是基于Hadoop分布式框架的機(jī)器學(xué)習(xí)算法庫。[2]其中cf. taste包實(shí)現(xiàn)了推薦算法引擎,它提供了一套完整的推薦算法工具集,同時規(guī)范了數(shù)據(jù)結(jié)構(gòu),并標(biāo)準(zhǔn)化了程序開發(fā)過程。[3]此外,Mahout還提供了大量的功能實(shí)現(xiàn),包括聚類、集群、分類、協(xié)同過濾和進(jìn)化程序等數(shù)據(jù)挖掘算法。通過使用Apache Hadoop庫,Mahout可以有效地擴(kuò)展到云中。[4]

本文基于Mahout設(shè)計(jì)開發(fā)了一個電子商務(wù)商品推薦系統(tǒng),通過對用戶已經(jīng)產(chǎn)生的瀏覽記錄、購買喜好、價格承受區(qū)間、商品內(nèi)在的相關(guān)性等數(shù)據(jù)的挖掘及過濾,實(shí)現(xiàn)自動化、智能化和個性化的信息過濾服務(wù),幫助用戶發(fā)現(xiàn)所需商品,商家也可利用推薦進(jìn)一步激發(fā)用戶的購買欲望。

1 Mahout開發(fā)環(huán)境

Mahout最初應(yīng)用的平臺是Hadoop集群平臺,但是現(xiàn)在經(jīng)過擴(kuò)展,Mahout已經(jīng)不僅僅適用于Hadoop集群云平臺,還可以單機(jī)運(yùn)行算法,即與使用Java編寫的算法是一樣的,而且這個算法還是優(yōu)化過的。

配置Mahout環(huán)境之前必須安裝好Java,然后就可進(jìn)行Maven的安裝。因?yàn)镸ahout是利用Maven來構(gòu)建和發(fā)布項(xiàng)目的。Maven是一個命令行工具,它管理依賴關(guān)系、編譯代碼、形成軟件包、生成文檔并發(fā)布正式版本。如果已經(jīng)安裝了Eclipse,Maven就已經(jīng)被集成在其中了,可以直接使用Maven配置文件(pom.xml)來配置并導(dǎo)入項(xiàng)目。如果沒有安裝Eclipse,則首先要到Maven官網(wǎng)http://maven.apache.org/download.cgi下載Maven軟件的bin版,解壓到/home/mahout/apache-maven-3.1.0,然后設(shè)置環(huán)境變量。在系統(tǒng)環(huán)境變量配置文件中輸入:sudo vim /etc/profile 并在其中添加:

export M2=/home/mahout/apache-maven-3.1.0

export PATH=$PATH:$M2

然后使用命令source/etc/profile更新環(huán)境變量,輸入mvn –version,則安裝完畢。

此外也可以到Mahout官網(wǎng)(http://mirror.bit.edu.cn/mahout/)下載Mahout-0.7版本,然后解壓縮和安裝。在終端輸入命令:tar –zxvf mahout-distribution -0.7.tar.gz解壓發(fā)布版到/home/mahout/mahout-distribution-0.7目錄中 ,即可安裝成功。

2 基于Mahout的電子商務(wù)推薦系統(tǒng)設(shè)計(jì)

2.1 推薦算法簡介

Mahout的推薦算法也稱為協(xié)同過濾算法模塊,主要包括基于項(xiàng)目的分布式協(xié)同過濾和使用并行矩陣分解的協(xié)同過濾兩種類型。[5]

項(xiàng)目即為電子商務(wù)網(wǎng)站中的各種商品?;陧?xiàng)目的協(xié)同過濾就是利用項(xiàng)目(商品)之間的相似度來為用戶進(jìn)行項(xiàng)目(商品)的推薦。項(xiàng)目之間的相似度通過不同用戶對該項(xiàng)目的評分(即偏好值)來求出,每個項(xiàng)目都有一個用戶向量,兩個項(xiàng)目之間的相似度便是根據(jù)這個用戶向量求得的。求得項(xiàng)目之間的相似度,便可以針對用戶對項(xiàng)目的評分清單來推薦與清單中極為相似的項(xiàng)目(商品)。兩個商品項(xiàng)目之間的相似度計(jì)算可以使用諸如Pearson距離、余弦距離、對數(shù)似然距離等向量距離計(jì)算公式來求出,就得到了項(xiàng)目相似度矩陣。

使用并行矩陣分解的協(xié)同過濾核心思想則是把所有的用戶以及項(xiàng)目想象成一個二維表格,該表格中有數(shù)據(jù)的單元格(i,j)就是第i個用戶對第j個項(xiàng)目的評分,然后利用該算法使用表格中有數(shù)據(jù)的單元格來預(yù)測為空的單元格。預(yù)測得到的數(shù)據(jù)即為用戶對項(xiàng)目的評分,最后按照預(yù)測的項(xiàng)目評分從高到低排序,便可進(jìn)行推薦。

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

本文主要采用Mahout的基于項(xiàng)目的協(xié)同過濾算法來實(shí)現(xiàn)電子商務(wù)商品的推薦。其中兩個商品項(xiàng)目的相似度計(jì)算采用歐幾里德距離的計(jì)算公式求出。其基本思想為:對于兩個用戶User1和User2,看成是n維空間的兩個向量x和y, xi表示用戶User1對itemi的偏好值,yi表示用戶User2對itemi的偏好值,它們之間的歐幾里德距離是如式(1)所示:

算法的實(shí)現(xiàn)一共包括六個步驟:1)根據(jù)用戶對商品的偏好表求出用戶矩陣;2)根據(jù)用戶對商品的偏好表求出項(xiàng)目(商品)矩陣;3)求出項(xiàng)目矩陣的平方和;4)根據(jù)項(xiàng)目矩陣、項(xiàng)目矩陣平方和求出項(xiàng)目(商品)相似度矩陣;5)整合用戶矩陣、項(xiàng)目相似度矩陣,得到用戶-項(xiàng)目相似度矩陣;6)根據(jù)用戶-項(xiàng)目相似度矩陣求出用戶推薦矩陣。六個步驟使用7個MapReduce的Job任務(wù)來進(jìn)行數(shù)據(jù)處理。第一個Job任務(wù)是進(jìn)行項(xiàng)目的數(shù)據(jù)格式轉(zhuǎn)換,即把項(xiàng)目(商品)的編號由長整型轉(zhuǎn)換為整型,并將同一個用戶評價過的所有項(xiàng)目進(jìn)行整合得到用戶矩陣。算法的第二、三步分別用一個Job來實(shí)現(xiàn)。第四步求項(xiàng)目(商品)相似度矩陣需由兩個Job任務(wù)共同處理完成,這是因?yàn)槠渲械牡谝粋€Job任務(wù)是依次對每個項(xiàng)目進(jìn)行相似度的計(jì)算,第二個Job任務(wù)則需將前一個Job中已計(jì)算好的相關(guān)相似度(但未關(guān)聯(lián)到該項(xiàng)目中)續(xù)接到該項(xiàng)目中。算法的第五步和第六步分別使用一個Job來進(jìn)行處理,第五步就是將用戶矩陣和項(xiàng)目相似度矩陣執(zhí)行拼接,得到的用戶-項(xiàng)目相似度矩陣。第六步則在第五步的基礎(chǔ)上來計(jì)算用戶推薦矩陣,得到最后向每位用戶推薦的商品結(jié)果。

整個系統(tǒng)設(shè)計(jì)采用B/S架構(gòu),這樣能充分支持多用戶并發(fā)使用的情況。數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫集群,存儲用戶信息、商品等固定屬性數(shù)據(jù)、用戶偏好值、推薦引擎產(chǎn)生的結(jié)果等數(shù)據(jù)。其中用戶對商品的偏好表如表1所示(只列出一部分)。

3 結(jié)束語

Mahout提供了一個偽分布式的推薦引擎框架,并且是一個可伸縮的機(jī)器學(xué)習(xí)算法庫,通過使用Hadoop可以將用戶集合分在n臺機(jī)器上,實(shí)現(xiàn)分布式并行計(jì)算,對大數(shù)據(jù)集進(jìn)行處理。本文通過引入介紹Mahout的推薦算法,設(shè)計(jì)了一個電子商務(wù)商品的推薦系統(tǒng),可為用戶推薦所需要的商品,促進(jìn)商品的銷售。下一步將深入研究結(jié)合更大數(shù)據(jù)量及更多屬性集合上進(jìn)行高效地推薦。

參考文獻(xiàn):

[1] GOLDBERG D,NICHOLS D,OKI B M, et al. Using collaborative filtering to weave an information tapestry[J]. Communication of the ACM, 1992, 35(2): 61-70.

[2] ANIL R, DUNNING T,F(xiàn)RIEDMAN E. Mahout in action[M]. USA: Manning, 2011: 66-86.

[3] 朱倩. 淺談基于Mahout推薦引擎的構(gòu)建[J]. 數(shù)字技術(shù)與應(yīng)用, 2015(4): 44-45.

[4] 建新, 徐迪威. 基于云計(jì)算平臺的海量數(shù)據(jù)挖掘技術(shù)在塑料電子商務(wù)平臺中的應(yīng)用[J]. 廣東科技, 2011(8): 59.

[5] 樊哲. Mahout算法解析與案例實(shí)戰(zhàn)[M]. 北京: 機(jī)械工業(yè)出版社, 2015.

猜你喜歡
電子商務(wù)
2025年我國農(nóng)村電子商務(wù)交易額達(dá)到2.8萬億元
《電子商務(wù)法》如何助力直銷
電子商務(wù)
關(guān)于加快制定電子商務(wù)法的議案
電子商務(wù)人的核心能力
期刊訂閱電子商務(wù)平臺
花莲市| 溆浦县| 五大连池市| 澄迈县| 互助| 塘沽区| 临潭县| 宁乡县| 唐山市| 五华县| 岗巴县| 江源县| 延吉市| 吐鲁番市| 闽清县| 雷波县| 江达县| 清水县| 道孚县| 乌苏市| 九龙县| 中江县| 安龙县| 炎陵县| 长宁区| 长白| 玉山县| 体育| 内黄县| 营口市| 聂拉木县| 常熟市| 蒙自县| 黔东| 二连浩特市| 江达县| 崇文区| 德安县| 郎溪县| 长岛县| 盱眙县|