王子政 姚衛(wèi)東(北京信息控制研究所,北京 100048)
基于用戶web日志分析的推薦系統(tǒng)的應用研究
王子政 姚衛(wèi)東(北京信息控制研究所,北京 100048)
為了將用戶感興趣的各種資訊信息主動推薦給用戶,提出了一個推薦算法權重公式,改進了基于用戶的協(xié)同過濾算法,設計出了通用的推薦系統(tǒng)原型架構,并分析了今后的研究方向。
推薦系統(tǒng),協(xié)同過濾,網絡日志分析,軍工
推薦系統(tǒng)是一種向用戶提供推薦信息的軟件技術和工具。這種推薦建議可幫助用戶在面對龐雜的信息時作出更加適合自己的決定,例如,其可幫助用戶決定買什么商品、聽什么歌曲或者瀏覽哪些新聞等。隨著互聯(lián)網技術的發(fā)展,人類進入了信息大爆炸時代,推薦系統(tǒng)被認為是解決用戶信息過載問題最有效的方法之一,并在各個領域均具有廣泛的用途。
為了做好各項決策,例如,瀏覽什么樣的新聞、購買哪種商品、觀看哪部電影等,人們往往需要查閱大量的資料,甚至可能需要聽取他人的意見。推薦系統(tǒng)的重要性就在于其能夠為用戶提供感興趣的信息而無需用戶將自己的需求明確表達出來。阿爾伯塔大學的H?ubl G和Trifts認為,推薦系統(tǒng)是一種面向用戶提供相關項目的軟件技術和工具。信息檢索(information retrieval)和推薦系統(tǒng)被認為是2種相似的工具,其主要研究內容都是針對條目(item)進行過濾和排序。但是,信息檢索通常側重于研究全局整體性的檢索數(shù)據(jù),可能會忽略掉個體的需求和用戶的偏好信息。Still指出,推薦系統(tǒng)和信息檢索系統(tǒng)之間并不能夠很清晰地區(qū)分開來;推薦系統(tǒng)和信息檢索(或搜索引擎)之間核心的不同之處在于推薦系統(tǒng)更側重于個性化、有趣并且有用的信息。
從最近的發(fā)展趨勢來看,現(xiàn)在的web搜索引擎也在利用推薦系統(tǒng)的相關技術來應對搜索領域目前面臨的挑戰(zhàn),并實現(xiàn)了一些高級檢索功能。例如,搜索引擎會提供一些與當前用戶查詢的信息相近的檢索詞。越來越多的搜索引擎正在嘗試向用戶提供個性化的檢索結果,其依據(jù)就是用戶的檢索詞、用戶的上下文信息(如用戶當前的位置信息等),以及用戶的檢索歷史等。
目前,推薦系統(tǒng)已經被廣泛應用在各種各樣的電子商務網站中,并且能夠支持向上千萬甚至上億用戶進行產品的推薦。推薦系統(tǒng)也是目前非常熱門的一個研究方向。對于一些大型的電子商務網站來說,推薦系統(tǒng)已經成為網站擁有的一個不可或缺的功能,被廣泛應用于圖書、電影、音樂、視頻、新聞等信息的推薦應用。亞馬遜網站(www. amazon.com)通過一系列的推薦算法,例如,基于協(xié)同過濾的算法,尋找具有相似偏好的用戶群,用于預測和發(fā)現(xiàn)用戶可能感興趣的商品,并將其推薦給目標用戶,從而大大提高了商品的銷售率。Netflix公司是美國一家在線電影服務提供商,為了提高推薦系統(tǒng)的性能,該公司設立了100萬美元的獎金,用于獎勵那些對于顯著提高推薦系統(tǒng)性能作出突出貢獻的設計人員。
2.1 個性化推薦模型的提出
無論是對于電子商務類的網站,還是新聞資訊類的網站,所有的資源都可以成為被推薦的對象,用戶訪問這些網站,都是查找自己感興趣資源的過程。在軍工領域,軍工集團門戶網站主要提供新聞資訊類的資源,軍工類電子商務網站提供軍民兩用產品的描述信息、解決方案等信息。為了更有針對性地為用戶提供所需的信息,本文提出了一個通用的推薦系統(tǒng)模型,不僅可應用于普通的網絡信息推薦系統(tǒng),也可應用于軍工信息推薦系統(tǒng)。所設計的推薦算法權重公式如下:
在上式中,各項的具體含義如下:
(1)UserInfo。系統(tǒng)內的注冊用戶信息,即推薦系統(tǒng)將相關條目進行推薦的對象的信息。在這個維度中,包含了用戶的ID、姓名、性別、年齡、行業(yè)、所在地等信息。其數(shù)學形式化定義為UserInfo(UserID,Name,Gender,Age,Trade,Location)。
(2)UserSearchLog。用戶的檢索詞日志信息,其精準地反映了用戶的需求信息,對于推薦系統(tǒng)來說是一項非常重要的數(shù)據(jù)來源。其數(shù)學形式化定義為:UserSearchLog(UserID,SearchLogList)。
(3)UserBrowserLog。用戶的歷史瀏覽日志信息,包含用戶自己產生的除檢索日志外的全部記錄信息,如用戶曾經瀏覽過的新聞資訊、產品互動咨詢信息和曾經瀏覽過的商品信息等。其數(shù)學形式化定義為:UserBrowserLog(UserID,NewsInfo,InteractionInfo,SolutionInfo)。
上述推薦系統(tǒng)中的模型為用戶、檢索日志、瀏覽日志所組成的三維空間。推薦系統(tǒng)將用戶所從事的行業(yè)、所在地等個人信息,以及用戶歷史的檢索日志、瀏覽日志等信息作為數(shù)據(jù)來源,將用戶可能感興趣的項目計算出來,將評分最高的幾個項目推薦給用戶。用戶對推薦的項目進行打開瀏覽等操作后,相關操作等信息又會被記錄到日志文件中,作為下一次計算的數(shù)據(jù)來源,從而不斷優(yōu)化算法,更準確地把握用戶的需求。
2.2 個性化推薦方法的選擇
個性化推薦就是根據(jù)用戶的個人信息(UserInfo)、檢索日志信息(UserSearchLog),以及歷史瀏覽日志信息(UserBrowserLog),通過一定的規(guī)則進行打分、排序,將得到的結果推薦給相應的用戶的過程。常用的推薦算法包括基于內容的協(xié)同過濾算法和基于用戶的協(xié)同過濾算法兩種。基于用戶的協(xié)同過濾算法是目前推薦系統(tǒng)中使用最多的推薦技術,其基于用戶對物品的偏好找到相鄰的鄰居用戶,然后將鄰居用戶喜歡的物品推薦給當前用戶。在算法的實現(xiàn)上,該算法將用戶對所有物品的偏好作為一個向量來計算用戶之間的相似度,找到K鄰居,根據(jù)鄰居之間的相似性,以及對所有物品的偏好,預測當前用戶潛在感興趣的物品,最終得出一個排序的物品列表推薦給目標用戶。該算法最大的優(yōu)點是對推薦對象沒有特殊要求。該算法的流程包括以下4個步驟,如圖1所示。
在該算法中,用戶之間僅通過ID進行標識,并沒有利用用戶本身的屬性信息,在改進的算法中增加了用戶的個人信息,如行業(yè)、位置信息等,對用戶信息進行了多維度的描述,有助于提高相似鄰居計算的準確性。因此,在改進的算法中,提出了將UserID單一屬性修改為UserInfo(UserID,Industry,Location),再利用基于用戶的協(xié)同過濾算法進行計算推薦的過程。
3.1 功能模塊的設計
針對上文提出的推薦系統(tǒng)模型,基于內容管理平臺和搜索服務平臺,采用基于用戶的協(xié)同過濾算法設計了一個通用的推薦系統(tǒng)的原型架構,如圖2所示。該系統(tǒng)分為內容管理模塊、搜索服務模塊、數(shù)據(jù)準備模塊、推薦計算模塊等4個功能模塊。
圖2 通用推薦系統(tǒng)原型架構圖
該系統(tǒng)各部分的功能描述如下:
(1)內容管理模塊。該模塊是整個系統(tǒng)的主體模塊,包含了全部的新聞資訊、產品互動咨詢信息和解決方案信息,是推薦系統(tǒng)將要推薦的全部項目的集合。對于每個項目,都有唯一的項目編號標識號。當用戶訪問每個項目資源的時候,服務器都會將用戶的行為記錄下來,存儲到日志文件中,為之后的推薦分析提供依據(jù)。
(2)搜索服務模塊。該模塊負責對網站進行檢索。其檢索的信息是內容管理模塊所提供的全部信息資源。同樣,當用戶進行檢索時,用戶所使用的每個檢索詞語、在檢索結果列表中打開的每個網頁也都會被記錄下來,存儲到日志文件中。
(3)數(shù)據(jù)準備模塊。該模塊包括數(shù)據(jù)采集、數(shù)據(jù)提取和用戶標識等3個步驟,在推薦系統(tǒng)中屬于數(shù)據(jù)預處理階段。數(shù)據(jù)準備模塊的處理對象是服務器上記錄的原始數(shù)據(jù)日志記錄信息,其數(shù)據(jù)處理算法簡單,但步驟繁瑣、工作量繁重。下面對每個子模塊步驟進行介紹:一是數(shù)據(jù)采集子模塊。推薦系統(tǒng)最直接的數(shù)據(jù)來源就是服務器上的日志文件。服務器日志文件的格式多種多樣;W3C推薦了通用型日志格式文件CLF(Common Log Format)和擴展通用型日志格式文件ECLF(Extended Common Log Format)2種通用的日志格式。二是數(shù)據(jù)提取子模塊。其功能是對推薦系統(tǒng)可能用到的數(shù)據(jù)進行提取,數(shù)據(jù)提取對象就是上個步驟采集到的日志信息,將不相關的數(shù)據(jù)剔除,同時,將數(shù)據(jù)進行相應的格式化處理,轉換為推薦算法要求的輸入數(shù)據(jù)格式,方便計算。三是用戶識別子模塊。這里的用戶識別分為2種,一種是系統(tǒng)注冊用戶,另一種是系統(tǒng)未注冊用戶。對于系統(tǒng)注冊用戶來說,可以很方便地識別用戶身份;對于系統(tǒng)未注冊用戶來說,可以對用戶的IP地址進行識別,不同的IP地址必然屬于不同的用戶;但是由于IPv4地址的稀缺,現(xiàn)在的局域網大量采用了NAT(網絡地址轉化)技術,使得同一局域網內的用戶對外僅顯示一個IP地址,所以,可以根據(jù)客戶端瀏覽器軟件類型、版本號等信息來區(qū)分不同的用戶。
(4)推薦計算模塊。該模塊根據(jù)所設計的推薦算法進行計算,從而獲得推薦結果,將所獲得的推薦信息推薦給用戶。
本文提出了一個改進的推薦算法模型,并設計了系統(tǒng)的原型架構,通過對用戶的潛在感興趣的信息進行推薦,能夠幫助用戶快速定位到自己所需要的信息,具有通用性。推薦算法優(yōu)化及推薦結果評價是后續(xù)研究中需要解決的問題,也是今后開展研究的重要方向之一。
1 Ricci F, Rokach L, Shapira B. Introduction to recommender systems handbook[A]. Recommender Systems Handbook[M]. New York, 2011
2 H?ubl G, Trifts V. Consumer decision making in online shopping environments: The effects of interactive decision aids [J]. Marketing Science, 2000, 19(1): 4~21
3 Burke, R. Hybrid web recommender systems. The Adaptive Web [M]. Springer Berlin/Heidelberg, 2007
4 Iskold A. The art, science and business of recommendation engines[EB/OL]. [2014-02-28]. http://readwrite. com/2007/01/16/recommendation_engines
5 Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J]. IEEE Trans. on Knowledge and Data Engineering (TKDE), 2005, 17(6): 734~749
6 劉建國, 周濤, 汪秉宏. 個性化推薦系統(tǒng)的研究進展[J]. 自然科學進展, 2009, 19(1): 1~15
7 沙招友. 某開發(fā)區(qū)電子政務網站個性化推薦服務的設計[D]. 北京郵電大學, 2009
Study on Application of Recommender System Based on User Web Log Analysis
Wang Zizheng Yao Weidong
(Beijing Institute of Information and Control, Beijing 100048)
Recommender systems have been proved to be a valuable means for online users to deal with the information overload and have become one of the most powerful and popular tools. A power function of recommender system algorithm was proposed. The collaborative filtering algorithm based on user web log analysis was improved, and the prototype scheme of the recommender system was designed. The direction of study in future was analysed.
Recommender system, Collaborative filtering algorithm, Web log analysis, Military industry
1009-8119(2015)10(1)-0058-03