李晨躍 劉克劍 孟慶瑞
摘要:博物館網(wǎng)站主要展示館內(nèi)藏品,繁多的展品使得用戶在訪問網(wǎng)站時(shí)會(huì)花費(fèi)大量時(shí)間??梢酝ㄟ^基于Web日志挖掘的技術(shù)分析用戶的訪問行為,判斷其興趣愛好,使用不同的推薦方法主動(dòng)向用戶推薦其可能感興趣的博物館藏品,以提高用戶訪問體驗(yàn)。主要使用4種推薦方式,即熱點(diǎn)推薦、類別推薦、相似推薦、猜猜你喜歡。
關(guān)鍵詞:推薦系統(tǒng);日志挖掘;熱點(diǎn)推薦;類別推薦
DOIDOI:10.11907/rjdk.161496
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2016)005-0066-02
0 引言
隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展,逐漸從信息匱乏時(shí)代步入信息超載時(shí)代。消費(fèi)者不易從大量信息中找到自己感興趣的信息;對(duì)于信息生產(chǎn)者,其產(chǎn)品或服務(wù)信息受到廣大用戶的關(guān)注,也是一件非常困難的事情[1]。
推薦系統(tǒng)作為一種信息過濾的重要工具,是當(dāng)前解決信息超載問題的重要方法[1]。推薦系統(tǒng)的任務(wù)就是聯(lián)結(jié)用戶和信息,一方面,幫助用戶發(fā)現(xiàn)有價(jià)值的信息;另一方面讓信息展現(xiàn)在對(duì)它感興趣的用戶面前,從而實(shí)現(xiàn)信息消費(fèi)者和信息生產(chǎn)者的雙贏。
目前主流的推薦技術(shù)包括以下幾種:基于內(nèi)容的推薦、基于用戶統(tǒng)計(jì)信息的推薦、基于協(xié)同過濾的推薦[2]、基于關(guān)聯(lián)規(guī)則的推薦?;谖锲返膮f(xié)同過濾算法是目前應(yīng)用最多的算法,它通過分析用戶的歷史行為來計(jì)算物品間的相似度。算法主要分為兩步:①計(jì)算物品間的相似度;②根據(jù)用戶歷史行為和物品相似度計(jì)算用戶的推薦列表[3]。度量物品之間相似性的方法有多種,其中之一為使用余弦相似度定義物品和物品之間的相似度。
1 系統(tǒng)需求與數(shù)據(jù)庫(kù)設(shè)計(jì)
用戶通過瀏覽器訪問博物館藏品時(shí),系統(tǒng)基于Web日志挖掘技術(shù)分析用戶訪問行為,判斷其興趣愛好,并主動(dòng)推薦用戶可能感興趣的藏品,同時(shí)通過對(duì)用戶訪問行為的分析,在用戶登錄時(shí)呈現(xiàn)不同的網(wǎng)頁(yè)界面。如:通過分析發(fā)現(xiàn),某用戶對(duì)博物館中西藏植物有較大興趣,則當(dāng)該用戶再次訪問網(wǎng)站時(shí),顯示的主要頁(yè)面是與西藏植物相關(guān)的內(nèi)容;若用戶從未訪問過網(wǎng)站,將會(huì)給予熱點(diǎn)藏品推薦,用戶訪問藏品后,下次再次登錄時(shí),網(wǎng)站將會(huì)給予相關(guān)推薦。
1.1 系統(tǒng)模塊
根據(jù)用戶不同,對(duì)于沒有登錄的游客,系統(tǒng)只使用熱點(diǎn)藏品推薦功能;對(duì)于已登錄游客,如果第一次登錄,使用熱點(diǎn)藏品推薦;如果是已登錄過的會(huì)員,系統(tǒng)會(huì)調(diào)用所有模塊進(jìn)行推薦。模塊如圖1所示。
1.2 系統(tǒng)功能模塊
為了增加推薦系統(tǒng)的多樣性,更好服務(wù)于用戶,設(shè)計(jì)如下4個(gè)推薦功能:熱點(diǎn)藏品推薦、按類別推薦、相似藏品推薦、猜猜你喜歡。
(1)熱點(diǎn)藏品推薦。從數(shù)據(jù)庫(kù)中讀取依據(jù)點(diǎn)擊量排名的藏品,選取點(diǎn)擊量前10的藏品推薦給用戶,使用基于內(nèi)容的推薦方法。
(2)按類別推薦。從用戶cookie中讀取用戶瀏覽過的藏品,獲得用戶喜好,從用戶最近瀏覽中選出4種類別,然后按類別從數(shù)據(jù)庫(kù)中選取該類別的熱點(diǎn)藏品推薦給用戶,使用基于人口統(tǒng)計(jì)的推薦方法。
(3)相似藏品推薦。首先獲取最近瀏覽的前5個(gè)藏品,再根據(jù)這5個(gè)藏品作相似藏品推薦。從相似度表中讀取與選出藏品相似的藏品,然后根據(jù)相似度排名,選取前4名的藏品作為相似藏品進(jìn)行推薦,使用基于內(nèi)容的推薦方法。
(4)猜猜你喜歡。用戶點(diǎn)擊一個(gè)藏品,藏品的關(guān)鍵詞就會(huì)記錄到數(shù)據(jù)庫(kù)中,若某藏品也包含該關(guān)鍵詞,則這個(gè)關(guān)鍵詞在數(shù)據(jù)庫(kù)中的訪問量加1,選出訪問量靠前的關(guān)鍵詞,這些關(guān)鍵詞能代表用戶的興趣愛好。然后從倒排文件中選出包含這些關(guān)鍵詞的所有藏品,對(duì)這些藏品包含關(guān)鍵詞的個(gè)數(shù)進(jìn)行排序,選取包含關(guān)鍵詞多的藏品推薦給用戶,使用基于物品協(xié)同過濾的方法。
2 數(shù)據(jù)庫(kù)設(shè)計(jì)
除最基本的用戶表(User)表和博物館(exhibit)表之外,設(shè)計(jì)用戶關(guān)鍵字(UserKeyWord)表;相似度(Similarity)表;關(guān)鍵字權(quán)重(KeyWordWeight)表;關(guān)鍵字字典(KeyWordDictionary)表;倒排文件(InvertedFile)表。數(shù)據(jù)庫(kù)關(guān)系表如圖2所示。
3 功能實(shí)現(xiàn)
系統(tǒng)數(shù)據(jù)挖掘與推薦時(shí),需要用到自定義函數(shù)以進(jìn)行數(shù)據(jù)傳遞和分析。首先從用戶的cookie或者數(shù)據(jù)庫(kù)中讀取用戶瀏覽信息;然后,根據(jù)不同的推薦類型,選擇不同的函數(shù)對(duì)數(shù)據(jù)進(jìn)行推薦操作;最后,將推薦結(jié)果返還給用戶。詳細(xì)步驟如下:
(1)當(dāng)用戶點(diǎn)擊某個(gè)藏品時(shí),獲取藏品關(guān)鍵詞,將這些關(guān)鍵字與用戶ID放到一張表中(UserKeyWord),同時(shí)記錄關(guān)鍵字的次數(shù)。檢查該藏品的關(guān)鍵詞是否已經(jīng)存在數(shù)據(jù)庫(kù)中(表keyWordDictionary)。若關(guān)鍵詞不在數(shù)據(jù)庫(kù)中,將該關(guān)鍵詞插入到數(shù)據(jù)庫(kù)中,并將該藏品插入到倒排文件中(表InvertedFile);若該關(guān)鍵詞已經(jīng)在數(shù)據(jù)庫(kù)中,則直接將該藏品插入到該關(guān)鍵詞倒排文件中,最后計(jì)算藏品與其它藏品間的相似度。
(2)計(jì)算藏品之間的相似度。首先,從展品表(exhibit)獲取該藏品的所有關(guān)鍵詞,然后從倒排文件中獲取與該藏品有相同關(guān)鍵詞的所有藏品,計(jì)算該藏品與有相同關(guān)鍵詞藏品間的相似度。但只與有相同關(guān)鍵詞的藏品進(jìn)行相似度計(jì)算,與沒有相同關(guān)鍵詞的藏品之間的相似度為0,避免與其它所有藏品間計(jì)算相似度,從而節(jié)約資源。計(jì)算的方法為獲取藏品的所有關(guān)鍵詞權(quán)重(表KeyWordWeight),計(jì)算兩藏品關(guān)鍵詞權(quán)重組成的向量余弦夾角[4],將兩藏品間的余弦夾角保存到數(shù)據(jù)庫(kù)中(表Similarity),最后根據(jù)相似度選出前4個(gè)藏品返還給用戶。計(jì)算相似度代碼如下:
(3)為了提高訪問速度,減輕數(shù)據(jù)庫(kù)負(fù)擔(dān)。當(dāng)用戶點(diǎn)擊藏品時(shí),將該藏品以及點(diǎn)擊時(shí)間保存到緩存中,若緩存中藏品量達(dá)到極限,從緩存中刪除點(diǎn)擊量少并且保存時(shí)間久遠(yuǎn)的藏品,以便存儲(chǔ)新的藏品。當(dāng)要用到該藏品相似藏品時(shí)直接從緩存中讀取,加快訪問速度,減輕數(shù)據(jù)庫(kù)服務(wù)器負(fù)擔(dān)。
4 結(jié)語(yǔ)
本文將推薦系統(tǒng)引入博物館網(wǎng)站建設(shè),以提升用戶體驗(yàn)。系統(tǒng)基于不同推薦算法提供了4種推薦體驗(yàn),從多方面考慮用戶需求,盡可能為用戶推薦到滿意的藏品,大大提高用戶體驗(yàn)。
參考文獻(xiàn):
[1]許海玲,吳瀟,李曉東,閻保平.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學(xué)報(bào), 2009, 20(2):350-362.
[2]GOLDBERG D,NICHOLS D,OKI B M,et al.Using collaborative filtering to weave an information tapestry[J].Communications of the ACM,1992,35(12):61-70.
[3]應(yīng)毅,劉亞軍,陳誠(chéng).基于云計(jì)算技術(shù)的個(gè)性化推薦系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(13):111-117.
[4]王國(guó)霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(7):66-76.
(責(zé)任編輯:陳福時(shí))