王 艷
(浙江越秀外國語學(xué)院東部理工數(shù)據(jù)科學(xué)與傳播學(xué)院 浙江 紹興 312000)
互聯(lián)網(wǎng)上的信息量迅速增加,已經(jīng)讓搜索引擎的弊端變得更加突出,而現(xiàn)在許多人在上網(wǎng)時(shí)都沒有明確的需求指向和瀏覽目的,因此信息獲取出現(xiàn)困難。個(gè)性化推薦技術(shù),可以通過對(duì)用戶的歷史行為和商品的關(guān)聯(lián)進(jìn)行分析,從而為用戶提供一系列的商品,以此形成一種新的信息獲得方法,這種方式將會(huì)成為互聯(lián)網(wǎng)發(fā)展下一個(gè)十年的熱門話題[1-2]。當(dāng)前,現(xiàn)有信息推薦系統(tǒng)是由候選對(duì)象、用戶和推薦算法共三部分組成。推薦系統(tǒng)對(duì)用戶的行為進(jìn)行明確或隱含的分析,然后利用自己的個(gè)性化推薦算法,將用戶與符合其喜好的商品進(jìn)行關(guān)聯(lián),最后將其歸類到用戶端[3]。但現(xiàn)有推薦系統(tǒng)在實(shí)際應(yīng)用中無法確保最終推薦結(jié)果中的所有信息內(nèi)容均為用戶所需,因此大量的利用價(jià)值不高的信息存在于推薦過程中會(huì)造成推薦系統(tǒng)運(yùn)行負(fù)擔(dān)加重,同時(shí)也會(huì)導(dǎo)致推薦效率降低。因此,針對(duì)這一問題,本文在引入?yún)f(xié)同過濾算法的基礎(chǔ)上,開展對(duì)大數(shù)據(jù)中信息推薦系統(tǒng)的設(shè)計(jì)研究。
基于大數(shù)據(jù)中信息推薦的需要,在對(duì)系統(tǒng)設(shè)計(jì)時(shí),將數(shù)據(jù)采集、數(shù)據(jù)處理、推薦結(jié)果反饋等組合,構(gòu)建一個(gè)具有實(shí)時(shí)性、個(gè)性化特點(diǎn)的推薦系統(tǒng)。本文設(shè)計(jì)的推薦系統(tǒng)共包含三個(gè)基本模塊,分別為offline 模塊、online模塊和Data tables 模塊[4]。三個(gè)模塊分別用于:定期對(duì)推薦目標(biāo)用戶聚類;統(tǒng)計(jì)和更新推薦目標(biāo)用戶的相關(guān)統(tǒng)計(jì)信息;數(shù)據(jù)存儲(chǔ)并生成用戶數(shù)據(jù)表UT 和信息數(shù)據(jù)表ST。圖1為信息推薦系統(tǒng)模塊集成設(shè)計(jì)圖。
圖1 信息推薦系統(tǒng)模塊集成設(shè)計(jì)圖
根據(jù)信息推薦系統(tǒng)的運(yùn)行需要,將系統(tǒng)中的模塊集成在由用戶瀏覽層和推薦響應(yīng)層兩部分組成的系統(tǒng)框架當(dāng)中。在用戶瀏覽器層中,當(dāng)用戶在對(duì)某一信息瀏覽時(shí),前端與用戶點(diǎn)擊服務(wù)器進(jìn)行通訊,將用戶u的UserId 傳送給用戶點(diǎn)擊服務(wù)器,被單擊信息s的ItemID 和單擊時(shí)間C1ickTime 均由用戶點(diǎn)擊服務(wù)器接收,同時(shí)由系統(tǒng)要求將這一單擊記錄寫入到用戶數(shù)據(jù)表UT,在此期間中獲得點(diǎn)擊記錄表C1ickList。用戶點(diǎn)擊服務(wù)器,使用此點(diǎn)擊記錄表C1ickList 將與信息s相關(guān)的伴隨瀏覽信息傳輸、并更新相關(guān)統(tǒng)計(jì)信息[5]。為了提高系統(tǒng)的效率,可以對(duì)用戶點(diǎn)擊服務(wù)器進(jìn)行相應(yīng)的緩沖操作。
在明確信息推薦系統(tǒng)的各個(gè)模塊以及整體框架后,對(duì)推薦目標(biāo)用戶主題興趣進(jìn)行預(yù)測(cè)。將大數(shù)據(jù)當(dāng)中所有的信息按照主題劃分為多個(gè)類別,并共同組成一個(gè)完整的集合C。通過對(duì)推薦目標(biāo)用戶在不同信息主題下的點(diǎn)擊頻次統(tǒng)計(jì),得到一個(gè)矢量D(u,t),該矢量表示為推薦目標(biāo)用戶u在某一時(shí)段內(nèi)的主題興趣信息,其中t的取值可以為1 周或幾周。該矢量的表達(dá)式為:
公式中,Ni表示用戶u在某一時(shí)段t內(nèi)對(duì)某一主題信息的點(diǎn)擊頻次,i的取值為1,2,3,…,n;Nt表示用戶u在某一時(shí)段t中對(duì)所有主題信息的總點(diǎn)擊頻次。在此基礎(chǔ)上,通過下述公式,計(jì)算得出在某一時(shí)間段內(nèi)推薦目標(biāo)用戶對(duì)主題Ci的興趣,即用戶在規(guī)定時(shí)間段內(nèi)點(diǎn)擊Ci的概率:
公式中,interest(category=Ci)表示用戶在規(guī)定時(shí)間段內(nèi)點(diǎn)擊Ci的概率;pt(category=Ci|c(diǎn)lick)表示推薦目標(biāo)用戶在某一時(shí)段中點(diǎn)擊主題信息為Ci的信息概率;pt(category=Ci)表示一條信息屬于主題Ci的概率。通過上述公式計(jì)算可以預(yù)測(cè)得出推薦目標(biāo)用戶的主題興趣,為后續(xù)推薦信息的相似度計(jì)算和推薦結(jié)果生成提供依據(jù)。
結(jié)合協(xié)同過濾算法,利用系統(tǒng)當(dāng)中已有的用戶群過去的瀏覽行為,預(yù)測(cè)推薦用戶最有可能感興趣的信息[6]。在這一過程中,建立協(xié)同過濾的基礎(chǔ)矩陣,如表1所示。
表1 協(xié)同過濾矩陣
在表1所示的協(xié)同過濾矩陣當(dāng)中,每一行代表一個(gè)用戶(表1中包含用戶A、用戶B 和用戶C);每一列代表一個(gè)主題信息(表1中包含主題信息I、主題信息Ⅱ、主題信息Ⅲ和主題信息IV)。表1協(xié)同過濾矩陣當(dāng)中對(duì)應(yīng)的數(shù)值即為用戶對(duì)該主題信息的評(píng)分?;谟脩舻膮f(xié)作過濾技術(shù),通過一組已知的用戶分?jǐn)?shù)和現(xiàn)有用戶的分?jǐn)?shù),找到具有相同喜好的用戶群體。向用戶推薦一些類似的、但是目前用戶未知的主題信息[7]。在上述協(xié)同過濾矩陣的基礎(chǔ)上,針對(duì)推薦系統(tǒng)當(dāng)中用戶u和用戶v的余弦相似度計(jì)算:
公式中,sim(u,v)表示用戶u和用戶v的余弦相似度,即兩名用戶矢量之間的余弦夾角。通過上述計(jì)算,得出的sim(u,v)值越小,則說明兩名用戶越相似;反之,若得出的sim(u,v)值越大,則說明兩名用戶越不相似。根據(jù)上述公式,確定兩名用戶的相似度。在此基礎(chǔ)上,針對(duì)推薦信息的相似度計(jì)算,將某一主題信息與主題信息作為矢量,同樣參照上述式(3)計(jì)算得出兩個(gè)主題信息之間的相似度。
在確定用戶之間相似度和主題信息之間相似度后,結(jié)合計(jì)算結(jié)果,對(duì)大數(shù)據(jù)當(dāng)中存在的海量信息過濾,并生成相應(yīng)的推薦結(jié)果[8]。在過濾時(shí),設(shè)置用戶與用戶之間相似度閾值、主題信息與主題信息之間相似度閾值。通過將計(jì)算得出的結(jié)果與閾值的比較,將在閾值范圍內(nèi)的主題信息保留,將不在其范圍內(nèi)的主題刪除。根據(jù)上述操作得到的過濾結(jié)果更加符合推薦目標(biāo)用戶對(duì)信息獲取的需要。在生成推薦結(jié)果時(shí),引入機(jī)器學(xué)習(xí),在推薦系統(tǒng)沒有獲得明確的推薦指令時(shí),高效完成特定推薦任務(wù)。利用機(jī)器學(xué)習(xí)的方式實(shí)現(xiàn)對(duì)主題信息表面特征和語義特征的提取,并按照下述公式完成特征融合:
公式中,V表示經(jīng)過融合后的主題信息特征;W0(t)和W1(t)表示兩種主題信息的表面特征量化數(shù)值;V0(t)和V1(t)表示兩種主題信息的語義特征量化數(shù)值W0和W1表示所有主題信息的特征量化數(shù)值。根據(jù)上述公式,完成對(duì)主題信息的特征融合。利用推薦系統(tǒng)中的分類器對(duì)主體特征類型劃分。在推薦系統(tǒng)當(dāng)中分別引入四個(gè)分類器,依次完成對(duì)營銷類、敏感類、低俗類和無用類信息的過濾。在完成過濾后,對(duì)分類結(jié)果處理,并收集過濾結(jié)果,將過濾結(jié)果輸出,此時(shí)得到的過濾結(jié)果即為推薦系統(tǒng)為推薦目標(biāo)用戶挑選的主題信息,以此實(shí)現(xiàn)對(duì)用戶的信息推薦。
針對(duì)本文對(duì)比實(shí)驗(yàn)所需的Stack8.0 平臺(tái)安全運(yùn)行的實(shí)驗(yàn)條件,設(shè)置復(fù)雜的大數(shù)據(jù)網(wǎng)絡(luò)環(huán)境,用于為三種推薦系統(tǒng)提供運(yùn)行所需。選擇將基于協(xié)同過濾算法的推薦系統(tǒng)作為實(shí)驗(yàn)組,將基于信息覓食理論的推薦系統(tǒng)和基于復(fù)合型算法的推薦系統(tǒng)作為對(duì)照組。將三種推薦系統(tǒng)應(yīng)用到上述實(shí)驗(yàn)環(huán)境中,分別從系統(tǒng)自身運(yùn)行性能角度和推薦效果角度,實(shí)現(xiàn)對(duì)三種系統(tǒng)綜合應(yīng)用效果的對(duì)比。在實(shí)驗(yàn)開始前,選擇將MovieLens 100 k 數(shù)據(jù)集作為實(shí)驗(yàn)用數(shù)據(jù)集,該數(shù)據(jù)集為GroupLens Research 提供的,用于為推薦系統(tǒng)提供典型測(cè)試用例的數(shù)據(jù)集。在該數(shù)據(jù)集當(dāng)中包含了526 名用戶針對(duì)不同主題給出的超過100 000 條的評(píng)價(jià)內(nèi)容,每一位用戶的評(píng)價(jià)內(nèi)容記錄在10 條以上,包含了眾多信息要素。將該數(shù)據(jù)集以隨機(jī)劃分的方式,以80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,將剩余20%的數(shù)據(jù)作為測(cè)試數(shù)據(jù)集。
在完成上述準(zhǔn)備工作后,先針對(duì)三種推薦系統(tǒng)的運(yùn)行性能對(duì)比。將推薦系統(tǒng)運(yùn)行過程中受噪聲信息的干擾程度作為對(duì)系統(tǒng)運(yùn)行性能對(duì)比的指標(biāo)。在實(shí)驗(yàn)過程中,共設(shè)置9種噪聲干擾等級(jí),從T1等級(jí)到T9等級(jí)噪聲強(qiáng)度逐漸增加,其中T1 等級(jí)噪聲為30 dB,T9 等級(jí)噪聲為120 dB。計(jì)算得出三種推薦系統(tǒng)在不同噪聲干擾情況下的具體影響程度。為確保實(shí)驗(yàn)的客觀性,三種推薦系統(tǒng)需要在相同的運(yùn)行環(huán)境中完成此次實(shí)驗(yàn)。在完成實(shí)驗(yàn)后,將得到的結(jié)果記錄如表2所示。
表2 三種推薦系統(tǒng)運(yùn)行性能對(duì)比表
根據(jù)表2數(shù)據(jù)得出的實(shí)驗(yàn)結(jié)果能夠初步證明,三種推薦系統(tǒng)中,實(shí)驗(yàn)組推薦系統(tǒng)的運(yùn)行性能更理想,在實(shí)際應(yīng)用中不會(huì)受到噪聲的干擾,能夠確保推薦系統(tǒng)給出的推薦信息結(jié)果與用戶端向用戶展示的推薦信息一致。
為實(shí)現(xiàn)對(duì)推薦效果的對(duì)比,仍然選擇將上述測(cè)試數(shù)據(jù)集為推薦條件,針對(duì)5 名用戶,綜合其興趣偏好、行為習(xí)慣等,從測(cè)試數(shù)據(jù)集中挑選出符合各個(gè)系統(tǒng)推薦要求的信息推薦結(jié)果。由5 名用戶針對(duì)推薦結(jié)果給出相應(yīng)的評(píng)分。為確保公正性,評(píng)分過程中,需要結(jié)合MinHash 算法給出規(guī)范的評(píng)分結(jié)果。記錄三種推薦系統(tǒng)針對(duì)5 名推薦用戶給出的推薦結(jié)果的score值,并繪制成圖2所示。
圖2 三種推薦系統(tǒng)推薦效果對(duì)比圖
由圖2可知,實(shí)驗(yàn)組推薦系統(tǒng)能夠?yàn)橛脩籼峁└掀渲黝}興趣的推薦信息,并且有利于促進(jìn)信息利用價(jià)值的提升。
本文在引入?yún)f(xié)同濾波算法的基礎(chǔ)上,提出了一種新的針對(duì)海量大數(shù)據(jù)中信息資源推薦的系統(tǒng)。通過將該系統(tǒng)與其他現(xiàn)有兩種推薦系統(tǒng)應(yīng)用到相同的運(yùn)行環(huán)境當(dāng)中,從系統(tǒng)自身運(yùn)行性能和推薦效果兩方面均證明新系統(tǒng)更具優(yōu)勢(shì)。盡管該系統(tǒng)具備極高的推薦精度效果,但仍然存在一定問題。例如該系統(tǒng)與用戶之間的交互性較弱,未綜合考慮到信息與用戶的相關(guān)性等。因此,針對(duì)上述存在的問題,在后續(xù)的研究當(dāng)中,還將結(jié)合更具現(xiàn)代化的技術(shù)手段,對(duì)推薦系統(tǒng)進(jìn)行更深入的研究。