高 寒
(廣州商學(xué)院 廣東 廣州 510000)
伴隨云計(jì)算與數(shù)據(jù)挖掘技術(shù)的發(fā)展,海量數(shù)據(jù)的存儲(chǔ)與并行計(jì)算有了可能。 利用Hadoop 框架與云計(jì)算等在海量電商數(shù)據(jù)與電商業(yè)務(wù)之間建立關(guān)聯(lián)關(guān)系,通過(guò)分類分析、聚類分析及關(guān)聯(lián)規(guī)則分析等深入分析方法來(lái)挖掘出海量電商數(shù)據(jù)背后存在的價(jià)值,再將其用于指導(dǎo)未來(lái)的電商平臺(tái)行為如個(gè)性化推薦等,從而促進(jìn)電商行業(yè)迅速健康發(fā)展。
Hadoop 作為一個(gè)分布式框架,提供MapReduce 計(jì)算模型,具有并行編程特點(diǎn)。 MapReduce 作為云計(jì)算核心計(jì)算模型,屬于一種簡(jiǎn)化的編程模式,利用分布式計(jì)算來(lái)處理某一類問(wèn)題,具體計(jì)算時(shí)該計(jì)算模型可以自行將問(wèn)題分割為Map(映射)和Reduce(化簡(jiǎn))方式,開發(fā)人員可通過(guò)編寫簡(jiǎn)短的程序來(lái)處理海量數(shù)據(jù)。 另外,Hadoop 框架還提供相應(yīng)的分布式數(shù)據(jù)庫(kù)與分布式文件系統(tǒng),該分布式文件系統(tǒng)負(fù)責(zé)將數(shù)據(jù)部署或存儲(chǔ)到各計(jì)算節(jié)點(diǎn)上[1]。 科學(xué)利用Hadoop 框架及MapReduce 計(jì)算模型可以高效處理海量數(shù)據(jù),同時(shí)將HBase 和HDFS 靈活地融入云計(jì)算框架可以很好地實(shí)現(xiàn)云計(jì)算的分布式存儲(chǔ)及并行計(jì)算。
通常電商平臺(tái)數(shù)據(jù)來(lái)源眾多,且數(shù)據(jù)量規(guī)模較大,具有海量數(shù)據(jù)的特性,由此本文結(jié)合云計(jì)算技術(shù),設(shè)計(jì)基于云計(jì)算的數(shù)據(jù)存儲(chǔ)模型(如圖1 所示)。
圖1 基于云計(jì)算的海量數(shù)據(jù)存儲(chǔ)模型
圖1 中的海量數(shù)據(jù)存儲(chǔ)模型有存儲(chǔ)節(jié)點(diǎn)機(jī)群和主服務(wù)控制機(jī)群兩大部分,再配合HDFS、HBase 及MapReduce一同實(shí)現(xiàn)海量數(shù)據(jù)資源的讀寫與計(jì)算。 其中HDFS 與HBase 主要負(fù)責(zé)將數(shù)據(jù)部署或存儲(chǔ)在計(jì)算節(jié)點(diǎn)上;MapReduce 負(fù)責(zé)維護(hù)與調(diào)度數(shù)據(jù)并對(duì)海量數(shù)據(jù)進(jìn)行并行計(jì)算,用戶通常借助Hadoop 框架完成與存取節(jié)點(diǎn)的交互操作[2]。
電商平臺(tái)數(shù)據(jù)具有數(shù)據(jù)量大、潛在價(jià)值高等特點(diǎn),對(duì)電商平臺(tái)來(lái)說(shuō)極為重要。 利用大數(shù)據(jù)與云計(jì)算等技術(shù)在海量電商平臺(tái)數(shù)據(jù)與電商日常業(yè)務(wù)之間建立關(guān)聯(lián),借助數(shù)據(jù)挖掘技術(shù)從整體上分析用戶消費(fèi)行為,有助于提升電商平臺(tái)的核心競(jìng)爭(zhēng)力進(jìn)而獲取更高的商業(yè)價(jià)值。 與此同時(shí)大數(shù)據(jù)挖掘技術(shù)可以自主學(xué)習(xí),使用機(jī)器學(xué)習(xí)與人工智能算法來(lái)整理、理解與學(xué)習(xí)數(shù)據(jù)內(nèi)容,將對(duì)內(nèi)容的理解與標(biāo)記存儲(chǔ)到知識(shí)數(shù)據(jù)庫(kù)中以為后續(xù)學(xué)習(xí)提供基礎(chǔ),由此實(shí)現(xiàn)海量數(shù)據(jù)的深入分析與價(jià)值挖掘。 電商數(shù)據(jù)挖掘的目的是從海量無(wú)關(guān)聯(lián)電商數(shù)據(jù)中挖掘數(shù)據(jù)背后潛在的信息與價(jià)值,并科學(xué)合理使用這些有價(jià)值的信息來(lái)促進(jìn)用戶在電商平臺(tái)的購(gòu)買行為與瀏覽量[3]。 電商平臺(tái)海量數(shù)據(jù)挖掘流程見圖2。
圖2 電商平臺(tái)數(shù)據(jù)挖掘流程圖
電商數(shù)據(jù)挖掘的海量數(shù)據(jù)來(lái)源主要包括用戶交易數(shù)據(jù)、用戶互動(dòng)數(shù)據(jù)、用戶訪問(wèn)信息或行為、其他觀察數(shù)據(jù)以及第三方平臺(tái)數(shù)據(jù)等,這些電商數(shù)據(jù)簡(jiǎn)要分為非/半結(jié)構(gòu)化數(shù)據(jù)與結(jié)構(gòu)化數(shù)據(jù)兩類,電商平臺(tái)大數(shù)據(jù)挖掘的具體過(guò)程就是對(duì)海量無(wú)關(guān)聯(lián)的結(jié)構(gòu)化數(shù)據(jù)與非/半結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分類分析、關(guān)聯(lián)規(guī)則分析、聚類分析等,并根據(jù)分析結(jié)果而產(chǎn)生一系列的具有價(jià)值的行為,如基于分析結(jié)果的個(gè)性化推薦、基于分析結(jié)果的異常檢測(cè)、基于分析結(jié)果的搜集與挖掘等。 通常電商數(shù)據(jù)挖掘完整過(guò)程包含以下步驟:制定電商數(shù)據(jù)挖掘方向;整理歸納可能存在潛在價(jià)值的數(shù)據(jù)源;建立科學(xué)的數(shù)據(jù)挖掘模型;最后將數(shù)據(jù)挖掘模型集成到相應(yīng)的各外部API 接口與電商平臺(tái)管理后臺(tái)。
數(shù)據(jù)采集電商大數(shù)據(jù)挖掘系統(tǒng)的起點(diǎn),該挖掘系統(tǒng)采用多種方式獲得電商平臺(tái)的各類用戶數(shù)據(jù),如應(yīng)用程序編程接口(application programming interface ,API)接口、網(wǎng)絡(luò)爬蟲及日志文件等方式。 通常情況下電商平臺(tái)會(huì)對(duì)外提供各類API 接口,由此來(lái)獲取各類用戶數(shù)據(jù);利用網(wǎng)絡(luò)爬蟲技術(shù)來(lái)模擬用戶行為從而自動(dòng)收集電商平臺(tái)中的各類用戶數(shù)據(jù);也可以從電商平臺(tái)記錄的用戶訪問(wèn)日志中獲取各類數(shù)據(jù)信息,如用戶的瀏覽記錄、訪問(wèn)路徑等。
電商大數(shù)據(jù)挖掘系統(tǒng)的核心與關(guān)鍵是數(shù)據(jù)處理環(huán)節(jié),這一環(huán)節(jié)包括數(shù)據(jù)清洗、數(shù)據(jù)去重及轉(zhuǎn)換等一系列操作,為后續(xù)的各種數(shù)據(jù)分析打下堅(jiān)實(shí)基礎(chǔ)。 數(shù)據(jù)清洗指的是,當(dāng)采集到的用戶數(shù)據(jù)存在殘缺不全或異常時(shí),此時(shí)對(duì)數(shù)據(jù)進(jìn)行的缺失數(shù)據(jù)補(bǔ)全、異常數(shù)據(jù)去除等操作;數(shù)據(jù)去重指的是,當(dāng)采集的用戶數(shù)據(jù)中存在大量重復(fù)的數(shù)據(jù)時(shí),此時(shí)對(duì)數(shù)據(jù)進(jìn)行重復(fù)數(shù)據(jù)去除操作;數(shù)據(jù)轉(zhuǎn)換主要是數(shù)據(jù)采集完成后進(jìn)行的維度降維或格式轉(zhuǎn)換等操作,數(shù)據(jù)經(jīng)過(guò)這一系列轉(zhuǎn)換使后續(xù)的數(shù)據(jù)分析與挖掘工作更加方便、順利。
2.4.1 數(shù)據(jù)分析
數(shù)據(jù)分析指的是通過(guò)數(shù)據(jù)統(tǒng)計(jì)及可視化等過(guò)程,從而發(fā)現(xiàn)與挖掘數(shù)據(jù)深層的含義,常見的數(shù)據(jù)分析方式有統(tǒng)計(jì)分析、關(guān)系分析及可視化分析等。 統(tǒng)計(jì)分析是對(duì)海量用戶數(shù)據(jù)進(jìn)行求和、求平均數(shù)及方差等基本的統(tǒng)計(jì)操作,從整體上把握用戶數(shù)據(jù)的特征;關(guān)系分析包括聚類分析、關(guān)聯(lián)分析等,通過(guò)聚類與關(guān)聯(lián)分析建立起數(shù)據(jù)之間的聚類與關(guān)聯(lián)關(guān)系;可視化分析是將數(shù)據(jù)之間的關(guān)系與分布以散點(diǎn)圖、折線圖、柱狀圖、Excel 表等圖表形式清晰地呈現(xiàn)出來(lái)。
2.4.2 MapReduce 聚類分析
聚類分析將數(shù)據(jù)集劃分成若干個(gè)簇,簇內(nèi)的數(shù)據(jù)特征相類似,而簇與簇之間的數(shù)據(jù)有較大的特征差異。MapReduce 聚類分析是利用MapReduce 框架將完整數(shù)據(jù)集劃分成許多小的數(shù)據(jù)塊,并將這些數(shù)據(jù)塊分配到若干計(jì)算節(jié)點(diǎn)進(jìn)行計(jì)算,節(jié)點(diǎn)使用聚類算法來(lái)分析本地?cái)?shù)據(jù),分析完成后將結(jié)果輸出,而后在Reduce 階段中匯總各計(jì)算節(jié)點(diǎn)的輸出結(jié)果,從而得到數(shù)據(jù)集最終的聚類結(jié)果。 如使用MapReduce 聚類分析電商用戶評(píng)論數(shù)據(jù)劃分評(píng)論語(yǔ)句:在Map 階段可以使用層次聚類方法將小數(shù)據(jù)塊中評(píng)論語(yǔ)句層次聚類獲得初始簇;在Reduce 階段借助K-means 等聚類算法對(duì)整個(gè)評(píng)論數(shù)據(jù)集進(jìn)行聚類分析,匯總各計(jì)算節(jié)點(diǎn)的簇,獲得最終的簇。
具體步驟如下:(1)選取特征詞。 為了避免浪費(fèi)性能,通常會(huì)從用戶評(píng)論中選取代表語(yǔ)句全部含義的特征詞,主要包括分詞、去助詞及去代詞等預(yù)處理操作。 在Mapper 中,先利用中文分詞器對(duì)語(yǔ)句進(jìn)行分詞,然后再使用去助詞器與去代詞器對(duì)上述分詞結(jié)果進(jìn)行去助詞、代詞操作。 如此可以去除評(píng)論語(yǔ)句中大量無(wú)用信息,有效提高聚類分析的效率與準(zhǔn)確性,同時(shí)節(jié)省大量系統(tǒng)資源。 (2)文本向量化表示。 文本向量化表示即文本中特征詞匯占語(yǔ)句向量的分量,可以通過(guò)編寫Mapper 和Reducer 來(lái)實(shí)現(xiàn)。 在Mapper 中,統(tǒng)計(jì)每個(gè)特征詞在全部評(píng)論中出現(xiàn)的次數(shù)并記錄;在Reducer 中,對(duì)同一特征詞的出現(xiàn)次數(shù)進(jìn)行累加,而后得到一個(gè)用戶評(píng)論在該特征詞上的分?jǐn)?shù),最后,對(duì)全部特征詞的分?jǐn)?shù)進(jìn)行累加,進(jìn)而得到用戶評(píng)論的對(duì)應(yīng)的向量化表示。 (3)特征值權(quán)重。可以使用詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-IDF)來(lái)計(jì)算特征值權(quán)重,TF 是詞頻,一般來(lái)說(shuō),特征詞詞頻越高,表示其越重要。 在Reducer 中,將用戶評(píng)論語(yǔ)句的TF-IDF 值當(dāng)作特征值權(quán)重,由此能夠獲得每個(gè)電商用戶評(píng)論語(yǔ)句的特征向量與特征值權(quán)重。
3.1.1 系統(tǒng)核心模塊
從功能需求上,電商平臺(tái)大數(shù)據(jù)挖掘系統(tǒng)的主要目的是對(duì)電商平臺(tái)海量數(shù)據(jù)進(jìn)行挖掘與分析從而為后續(xù)電商平臺(tái)行為提供數(shù)據(jù)支撐。 該大數(shù)據(jù)挖掘系統(tǒng)面向的用戶是各大電商部門及相關(guān)工作人員:第一,需要有登錄功能,用戶登錄成功后進(jìn)入交互主界面;第二,需要具備數(shù)據(jù)存儲(chǔ)功能,數(shù)據(jù)存儲(chǔ)是大數(shù)據(jù)挖掘系統(tǒng)的基礎(chǔ)與核心,第三,還要具有半結(jié)構(gòu)化數(shù)據(jù)及非結(jié)構(gòu)化數(shù)據(jù)等復(fù)雜結(jié)構(gòu)數(shù)據(jù)的查詢與統(tǒng)一存儲(chǔ)的功能[4]。 從非功能需求上,電商平臺(tái)大數(shù)據(jù)挖掘系統(tǒng)應(yīng)具備一定的可靠性、穩(wěn)定性、易用性及可擴(kuò)展性。
3.1.2 大數(shù)據(jù)挖掘系統(tǒng)業(yè)務(wù)流程
大數(shù)據(jù)挖掘系統(tǒng)的詳細(xì)業(yè)務(wù)流程如圖3 所示。
圖3 電商平臺(tái)大數(shù)據(jù)挖掘系統(tǒng)流程圖
圖3 所示具體流程為:第一,整理所有數(shù)據(jù)源。 如電商平臺(tái)數(shù)據(jù)、移動(dòng)終端數(shù)據(jù)、社交網(wǎng)絡(luò)數(shù)據(jù)及來(lái)自供應(yīng)商的數(shù)據(jù)等;第二,數(shù)據(jù)收集與整理。 對(duì)各外部API 接口或電商平臺(tái)管理后臺(tái)的數(shù)據(jù)進(jìn)行采集,收集與整理相關(guān)的文件與消息、事件;第三,數(shù)據(jù)處理與組織。 對(duì)結(jié)構(gòu)化數(shù)據(jù)先過(guò)濾再進(jìn)行實(shí)時(shí)分析。 對(duì)數(shù)據(jù)進(jìn)行過(guò)濾轉(zhuǎn)化或抽取注解,在此基礎(chǔ)上對(duì)電商數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析;對(duì)半/非結(jié)構(gòu)化數(shù)據(jù),接收后進(jìn)行分析,而后形成數(shù)據(jù)映射,如語(yǔ)言庫(kù)、模型、索引等;第四,HDFS/HBase 存儲(chǔ)。 將清洗過(guò)濾、分析處理后的數(shù)據(jù)存儲(chǔ)在HDFS 或HBase 中,從而形成數(shù)據(jù)倉(cāng)庫(kù)及企業(yè)級(jí)數(shù)據(jù)庫(kù)等,由數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)庫(kù)完成元數(shù)據(jù)管理;第五,海量電商數(shù)據(jù)分析。 數(shù)據(jù)分析層提供聚類分析、分類分析及關(guān)聯(lián)規(guī)則分析等各種高級(jí)分析方法,海量電商數(shù)據(jù)經(jīng)分析獲得的分析結(jié)果可為可視化查詢、預(yù)測(cè)模型及搜索引擎等奠定基礎(chǔ);第六,分析結(jié)果展示或數(shù)據(jù)應(yīng)用。 如面向用戶的應(yīng)用、面向商家的應(yīng)用及面向電商平臺(tái)的應(yīng)用等[5]。
數(shù)據(jù)導(dǎo)入主要包含基本數(shù)據(jù)導(dǎo)入與日志數(shù)據(jù)收集,其中基本數(shù)據(jù)導(dǎo)入主要包括用戶基本信息、用戶訂單信息、訂單配送信息、用戶評(píng)論及回復(fù)信息、用戶收藏信息以及第三方平臺(tái)數(shù)據(jù)等數(shù)據(jù)的導(dǎo)入。 用戶基本信息包含用戶年齡、偏好、地域、配送方式、支付習(xí)慣以及登錄時(shí)間等;用戶訂單信息可用于推測(cè)商品的需求和配送,還可經(jīng)數(shù)據(jù)挖掘進(jìn)一步分析消費(fèi)者對(duì)商品的款式偏好、規(guī)格偏好及顏色偏好等,可為企業(yè)制定生產(chǎn)計(jì)劃提供數(shù)據(jù)依據(jù);訂單配送信息可用于推測(cè)不同地區(qū)的配送量,優(yōu)化庫(kù)存與配送結(jié)構(gòu);用戶評(píng)論與回復(fù)信息用于推測(cè)消費(fèi)者對(duì)某一商品的更多具體偏好;用戶收藏信息可預(yù)測(cè)用戶一段時(shí)間內(nèi)可能購(gòu)買的商品;第三方平臺(tái)數(shù)據(jù)涉及社交媒體數(shù)據(jù)、位置數(shù)據(jù)等,可用于推測(cè)用戶喜好,分析用戶活動(dòng)范圍與出行習(xí)慣,以為用戶推薦附近商家等。 日志數(shù)據(jù)搜集主要包含客戶端數(shù)據(jù)采集與各計(jì)算節(jié)點(diǎn)的日志數(shù)據(jù)收集[6]。 日志的處理與分析是通過(guò)對(duì)用戶行為日志進(jìn)行關(guān)聯(lián)規(guī)則分析,獲得用戶偏好及訪問(wèn)習(xí)慣,從而在合適的時(shí)間為用戶推送個(gè)性化商品等。
3.3.1 后端定時(shí)任務(wù)
綜合使用CRON、PERL 及HEARTBEAT 技術(shù)來(lái)實(shí)現(xiàn)后端定時(shí)任務(wù)。 考慮到數(shù)據(jù)的可靠處理,同時(shí)兼顧運(yùn)行成本,該大數(shù)據(jù)挖掘系統(tǒng)使用數(shù)據(jù)庫(kù)主從結(jié)構(gòu),使用兩臺(tái)或更多服務(wù)器來(lái)實(shí)現(xiàn)負(fù)載均衡,如此將數(shù)據(jù)處理負(fù)荷分散至多臺(tái)服務(wù)器上。 其中,PERL 適用于文本分析匹配,CRON可根據(jù)預(yù)先設(shè)置好的規(guī)則自動(dòng)完成相應(yīng)任務(wù),HEARTBEAT 用于防范服務(wù)器宕機(jī)時(shí)可能發(fā)生的數(shù)據(jù)丟失的情況。
3.3.2 數(shù)據(jù)挖掘
為保證大數(shù)據(jù)挖掘系統(tǒng)前端工作不受數(shù)據(jù)挖掘工作的影響,增設(shè)專門用于數(shù)據(jù)挖掘的服務(wù)器,該服務(wù)器主要用于海量電商數(shù)據(jù)的行為模型分析、分類分析、語(yǔ)義分析、聚類分析、模式匹配分析以及關(guān)聯(lián)規(guī)則分析等。 同時(shí)對(duì)前端元數(shù)據(jù),按照一定規(guī)則進(jìn)行用戶行為分析、時(shí)間序列分析或關(guān)聯(lián)分析等,從而得到高精準(zhǔn)度的數(shù)據(jù)[7]。
3.3.3 前端任務(wù)
在電商平臺(tái)大數(shù)據(jù)挖掘系統(tǒng)的前端,用戶可依照自己實(shí)際需求來(lái)生成不同的圖表與報(bào)表,還可設(shè)定不同的條件來(lái)查詢相對(duì)應(yīng)的電商平臺(tái)數(shù)據(jù),另外,為了提高用戶體驗(yàn)度,可以再加設(shè)一臺(tái)緩存服務(wù)器,并完善數(shù)據(jù)庫(kù)集群通信服務(wù)以保障服務(wù)器的安全穩(wěn)定可靠運(yùn)行。
3.3.4 同步電商接口
利用PERL 或超文本預(yù)處理器來(lái)定制生成各種類型的接口并將接口與其他平臺(tái)相對(duì)接,該電商平臺(tái)大數(shù)據(jù)挖掘系統(tǒng)除了具有數(shù)據(jù)分析、數(shù)據(jù)挖掘及生成報(bào)表的功能以外,還應(yīng)與電商系統(tǒng)完成實(shí)時(shí)對(duì)接,為提高用戶體驗(yàn)度及商品的轉(zhuǎn)化購(gòu)買力等提供精準(zhǔn)的數(shù)據(jù)依據(jù),與此同時(shí)大數(shù)據(jù)挖掘系統(tǒng)還要具備一定的擴(kuò)展能力,為物流、電子郵件營(yíng)銷、倉(cāng)儲(chǔ)管理系統(tǒng)、客戶關(guān)系管理、庫(kù)存管理系統(tǒng)、客服中心等其他電商系統(tǒng)預(yù)留相應(yīng)接口。
綜上所述,基于Hadoop 與云計(jì)算的海量電商數(shù)據(jù)的分析與挖掘,速度更快、結(jié)果更精準(zhǔn)、實(shí)時(shí)性更好。 綜合應(yīng)用Hadoop 框架、MapReduce 計(jì)算模型及云計(jì)算等技術(shù)的電商平臺(tái)大數(shù)據(jù)挖掘系統(tǒng)更能滿足信息時(shí)代下對(duì)數(shù)據(jù)分析與挖掘系統(tǒng)的更高安全系數(shù)、更加精細(xì)化等要求,電商平臺(tái)科學(xué)利用大數(shù)據(jù)挖掘系統(tǒng)能更加準(zhǔn)確掌握用戶的興趣焦點(diǎn)、行為特征及消費(fèi)習(xí)慣,以此為依據(jù)調(diào)整市場(chǎng)策略,促進(jìn)電商平臺(tái)穩(wěn)定健康發(fā)展。