摘 要:本文提出了一種基于文本數據挖掘的個性化推薦算法,該算法在電子商務網站應用中,通過對服務器日志進行分析,跟蹤單一用戶的當前的瀏覽偏好,并根據當前偏好進行個性化商品信息的推薦,能夠很好的解決傳統算法中推薦信息滯后的尷尬問題。
關鍵詞:文本挖掘;個性化推薦;層次聚類
一、引言
隨著WEB2.0產品形式的進一步多樣化,用戶的行為可以更廣泛的被獲取并加以利用,所以使用文本挖掘方法的開始出現在電子商務網站的推薦中。此外,社交產品越來越受互聯網用戶的青睞,會產生大量的訪問日志,再加上大規模數據處理和分析技術的發展,使得使用文本數據挖掘來分析用戶個性化偏好變得更加現實。大數據的優勢在于它能夠及時的對用戶行為數據進行高效的分析處理,并且目前相關的專家學者在此方面已經取得了突破性的成功[1]。本文在前人研究的基礎之上,嘗試結合電子商務網站,使用文本數據挖掘來對個性化推薦進行研究。主要針對用戶的交易日志信息進行關鍵詞提取,形成興趣的關聯規則,進一步采用聚類分析,最終給出相應的推薦結果。推薦結果的驗證使用時效性、精準率和召回率等指標進行驗證[2]。
二、文本詞條獲取
(一)服務器日志挖掘
所謂在電子商務平臺上使用文本數據挖掘是指提取訪客的頁面訪問日志,在其基礎上對訪問的一系列相關頁面的核心主題關鍵詞進行提取,以此來跟蹤訪客當前的興趣行為偏好。首先對網站的頁面結構進行分析。一般的電子商務網站頁面有以下幾個模塊組成:菜單索引、商品詳細展示、購物導航和服務信息說明等,在這些模塊中對于跟蹤訪客行為偏好最有幫助的是商品信息展示,因為目前對詞條提取技術只對文本內容進行獲取,而這部分包含了商品的詳細介紹,并且為了使商品在平臺網站內能夠更容易被檢索出,該部分內容大都經過了迎合爬蟲技術的優化[3],故該部分是被關注的重點。
其次是要對用戶的交易事務進行提取,該部分主要包括數據過濾、用戶識別和會話識別。數據過濾主要是清洗掉一些錯誤數據和一些無關的數據,比如訪客的網絡資源受限,請求的資源頁面失敗或者服務器并未將資源成功返回給訪客,這些數據的提前清洗有利于減輕后續關聯規則和聚類分析時的負荷。用戶的識別本文使用目前最為主流的cookie技術用來跟蹤單一訪客,該技術實現的可行性高,唯一的缺點是用戶有可能會關閉瀏覽器的cookie功能,如果這種情況出現,進而采用SessionID技術,該技術會動態的嵌入到訪客訪問中一個唯一標識,但他無法記錄用戶是否重復訪問[4]。會話識別是指將用戶的單一訪問區分開來,目前的開發技術均使用的是單一訪問模式,當用戶登錄后,服務器會自動的獲取一個單一會話,并且服務器日志會跟蹤記錄該會話的活動,若超越30分鐘無活動,將自動斷開。本文也基于服務器默認的30分鐘為期限劃分會話。
(二)特征詞條提取
文本挖掘最核心的第一項任務就是文本特征詞條的提取,也就是對訪客訪問頁面中的核心詞匯的提取。例如,訪客連續訪問了一系列頁面A1,A2,A3,…,An,通過對n個頁面中每一個頁面的核心詞條的獲取,可以掌握用戶當前的行為偏好和偏好的時時變化。獲取特征詞條的第一步涉及到中文的分詞技術。中文分詞最大的難度在于消除歧義,中文語法中不同的斷句會引來歧義。為了解決這一問題。目前中文分詞應用最常規的方法是CRFs算法,他是在條件隨機域算法CRF的技術上演變過來的[5]。
該模型算法能夠很好的解決目前中文分詞中所遇到的相關問,而該問題的解決也為進一步提取特征詞條打下了良好的基礎。由于詞條出現在頁面的不同位置,其重要程度具有很大差別,故需要提前劃分好相應的位置權重。本文將一個完整的頁面分為3個域:標題、內容和meta描述標簽,分別對應的權重為0.5,0.3和0.2。進一步獲取單一頁面的特征詞的加權排名,本文選取每個頁面中排名的前六的詞條來代表當前頁面,過少的詞條不足以代表整體頁面,過多勢必會加大算法的執行負荷。
三、特征詞條聚類分析
經過對特征詞條提取后,一個完整的交易事務已經轉變為特征詞條表示的詞條組,多個交易事務放在一起會形成一個相關的矩陣。使用T={t1,t2,t3,…,tn}表示單一頁面的特征詞,一個完整的交易事務使用Page={p1,p2,p3,…,pm}表示,可以使用pi={tw
聚類的目的是在相似性的基礎之上將目標數據進行分類,把相似性接近的數據凝集在一起。當前的聚類方法有模糊聚類、層次聚類和密度聚類等,本文選擇使用層次聚類,它也是目前在文本數據挖掘中使用較為廣泛的一種方法[7]。算法描述如下。
第一步:假設共有類N個,每個類均有且僅有一個對象類成。按順序為其編號m = 0,L(m)= 0。第二步:將距離矩陣命名為D,在D中尋找最小距離d[(r),(s)]= min d[(i),(j)]。第三步:將(r)和(s)合并成一個新類(r,s);令m = m +1,L(m)= d[(r),(s)]。第四步:更新距離矩陣D:將表示類(r)和類(s)的行列刪除,同時加入表示新類(r,s)的行列;同時定義新類(r,s)與各舊類(k)的距離為d[(k),(r,s)]= min d[(k),(r)],d[(k),(s)]。第五步:反復步驟二到四,直到將所有的對象合并成一個新類為止。
通過層次聚類分析后可以找到興趣點相近的用戶群,再根據相似度計算可以將興趣點相似的用戶購買行為相互推薦。最后涉及到推薦結果排序的問題,首先推薦的結果中禁止出現用戶已經購買過的產品,解決的方法是比照用戶的購買結果和已加入購物車的商品清單,如有重復首先清洗。其次的推薦結果按照相似用戶群中商品的相似度高低進行排序。為保證用戶的滿意度,選取適當的推薦數量即可,推薦商品數目過多,會導致推薦失真,過少會影響推薦結果的豐富程度。
四、總結
本文給出了一種基于文本數據挖掘的推薦算法,目的在于通過大數據分析處理來實時的跟蹤用戶行為,進一步解決傳統基于關聯規則推薦算法在出現推薦信息之后的問題?;谖谋緮祿诰虻乃惴ǖ膬瀯菰谟谒峭ㄟ^分析服務器交易日志,進一步對當前用戶訪問頁面進行特征詞條的獲取,進而在層次聚類的基礎上計算相似度,進行商品信息的推薦。這種方式不僅是電子商務平臺中適用,也可以一直到互聯網廣告的個性化推薦中。
參考文獻:
[1] 陳新中,李巖.Web挖掘研究[J].計算機工程與應用,2002
[2] 項亮.推薦系統實踐[M].第1版.北京:人民郵電出版社,2012
[3] 張俊林.這就是搜索引擎:核心技術詳解[M].北京:電子工業出版社,2012
[4] 易明.基于Web挖掘的電子商務個性化推薦機理與方法研究[D].武漢:華中科技大學,2009
[5] 韓雪冬.基于CRFs的中文分詞算法研究與實現[D].北京:北京郵電大學,2010
[6] 邵康,張建偉.基于 BM25F 模型的 Web 文本挖掘個性化推薦研究[J].情報理論與實踐,2013
[7] 周翔翔,姚佩陽,王欣.基于改進層次聚類法的指揮控制資源部署[J].系統工程與電子技術:2012