鄭小坤+蔡杰+李書豪+楊盆+譙亞軍
摘要:隨著信息技術和Internet技術的蓬勃發展,網絡用戶接受信息的模式逐漸從信息匱乏到信息過載,對于網絡信息的日新月異,無論是信息消費者還是信息生產者都遇到了很大的挑戰。為此,本文介紹了推薦系統的發展現狀,簡單分析了熱門的推薦算法(協同過濾算法),結合網絡用戶對有價值信息獲取的需求,設計了網站推薦系統,完成了機器學習算法框架Mahout在推薦系統上的實現。
關鍵詞:推薦系統;行為日志;協同過濾
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2017)06-0231-02
任何一個網站,它提供例如新聞資訊、電影音樂、視頻瀏覽、游戲等服務的,只要有用戶在上面訪問,就會留下該用戶的使用記錄。無論這些數據如何冗余復雜,如何單一簡陋,只要存在用戶ID和點擊量,就可以支撐一個網絡廣告的商業模式。而智能化發展對于當今的互聯網來說是一個重要的方向。基于用戶的興趣偏好,將訊息有針對性地提供給目標用戶,能夠在用戶沒有明確目的的時候幫助他們發現感興趣的新內容,體現服務的人性化。推薦系統作為大數據時代應運而生的產物,對互聯網發展來說,有著重要的意義。
1 推薦系統的發展現狀
隨著Web技術的越來越成熟和電子商務、移動互聯網的日益普遍,自20世紀90年代中期出現第一批關于協同過濾的文章以來,推薦系統逐漸變得越來越重要,得到很多國內外學者的關注與研究。1995年3月,卡耐基·梅隆大學的RobertArmstrong等人在美國人工智能協會上提出了個性化導航系統Web Weather;斯坦福大學的MarkoBalabanovic等人在同一會議上推出了個性化推薦系統LIRA,這在推薦系統的發展歷程上是光輝的一筆。
和搜索引擎不同,個性化推薦系統需要依賴用戶的行為數據,因此一般都是作為一個應用存在于不同網站之中。在互聯網的各類網站中都可以看到推薦系統的應用,而個性化推薦系統在這些網站中的主要作用是通過分析大量用戶行為日志,給不同用戶提供不同的個性化頁面展示,來提高網站的點擊率和轉化率。許多大型的推薦系統隨著信息時代的來臨應運而生。姓名(出生年-),性別(民族,漢族可省略),籍貫(具體到省市),學歷,職位,職稱,研究方向。
2 協同過濾算法
協同過濾推薦(Collaborative Filtering recommendation)是在信息過濾和信息系統中正迅速成為一項十分受歡迎的技術。與傳統的基于內容過濾直接分析內容進行推薦不同,協同過濾通過分析用戶興趣,在用戶集中挖掘出與指定用戶相似(興趣)用戶,綜合這些相似用戶對某一項目的評價,形成系統對該指定用戶對此項目的喜好程度的預測。
2.1 基于用戶的協同過濾算法UserCF
基于用戶的協同過濾,通過不同用戶對物品的評分來評測用戶之間的相似性,基于用戶之間的相似性來做推薦。總的來說就是:給目標用戶推薦和他興趣相近的用戶喜歡的物品。
2.2 基于物品的協同過濾算法ItemCF
基于物品的協同過濾,通過用戶對不同item的評分來評測item之間的相似性,基于item之間的相似性做出推薦。簡單來講就是:給用戶推薦和他之前喜歡的物品相似的物品。
3 網站推薦系統需求分析
3.1 構建用戶興趣模型
首先要保證數據的質量控制、數據的完整性與一致性、缺省值補缺、數據變換等。提取用戶群體的上網行為特征,根據數據集中用戶的行為日志,分析提取出UserID、網站點擊次數、瀏覽的網址url等屬性,建立用戶興趣模型,該模型的設定條件可包括用戶ID、urlID以及用戶偏好。興趣模型可用于計算用戶之間的相似度等。
3.2 基于用戶的推薦
根據用戶的上網行為處理出來的興趣愛好,尋找與之相鄰的用戶,找出興趣愛好相似的用戶,給目標用戶推薦和他興趣相近的用戶喜歡的網站。
例如,用戶A喜歡瀏覽搜狐新聞資訊,當用戶A登錄系統后,判斷同樣喜歡新聞類別的用戶,若找到用戶B、C、D與用戶A興趣愛好相似,用戶B也同樣喜歡瀏覽搜狐新聞資訊和觀看BBS新聞報道,就把用戶B喜歡的搜狐新聞資訊推薦給用戶A。
給定一個評分數據集和當前用戶的ID作為輸入,找出與當前用戶過去有相似偏好的其他用戶,這些用戶有時也稱為對等用戶或最近鄰用戶;然后,對當前用戶沒有見過的每個產品p,利用其近鄰對p的評分計算預測值。
3.3 基于物品的推薦
用戶瀏覽的不同url具有一定的相似性,比如同為新聞類別、游戲類別、音樂類別等等。通過尋找內容相似的網站,給用戶推薦其之前喜歡的網站內容相似的網站。
例如,用戶A喜歡在淘寶上購物,或者喜歡瀏覽淘寶網站,淘寶網與京東網同為購物網站,可以為用戶提供相似的服務,所以也可以把京東網推薦給用戶A。
4 網站推薦系統設計與實現
通過對網站推薦系統的需求進行分析,明確了該系統的功能需求。本章將完成基于用戶行為日志的網站推薦系統(簡稱:WBL系統)的設計與實現。
4.1 WBL系統總體層次圖
系統如圖1所示,通過分析用戶文本格式的行為日志,以及以ID關聯的相應的用戶人口屬性信息表,可以提取出用戶的興趣特征和不同url的類別特征。利用Mahout中相應的推薦算法框架實現系統推薦。由于數據存儲在遠程服務器的數據庫中,所以系統運行需要有外網。用戶登錄成功后,頁面可顯示用戶基本信息、其歷史瀏覽記錄以及相應的推薦結果。
4.2 WBL系統實現架構圖
對WBL系統架構圖2的處理過程簡要說明如下:
(1)數據預處理。
(2)對未加工的原始數據進行處理,剔除無效數據、缺省數據等,進行數據清洗工作。讓數據具有一致性與完整性。
(3)推薦規則庫(MySQL)。存放不同urlID信息,用戶點擊url次數情況,存儲用戶在對Web進行訪問時留下的網站鏈接結構,方便使用Mahout處理框架。
(4) Mahout。Mahout包含很多技術和算法:找出數據集中頻繁出現部分的頻繁模式挖掘、將相關的數據聚集在一起的聚類、利用行為數據,找出相關性比較緊密的項目的頻繁子項挖掘等等。
(5)網站推薦庫(MySQL)。存儲Mahout計算出來的網站推薦結果。
5 結語
本文簡單介紹了網站推薦系統的發展現狀推薦,并對網站推薦系統的功能性進行了闡述,在此基礎上描述了網站推薦系統的設計與實現。但網站推薦系統還需進一步完善,其中,美化界面和優化算法推薦可進行進一步的開發。
參考文獻
[1]IBM協同過濾推薦算法簡介[EB/OL].
[2]推薦系統[M].北京:人民郵電出版社,2015.
[3]推薦系統實踐[M].北京:人民郵電出版社,2014.
[4]集體編程智慧[M].北京:中國工信出版集團,2015.
[5]使用Mahout實現協同過濾[EB/OL].
[6]Mahout算法API詳解[EB/OL].endprint