基于用户web日志分析的推荐系统的应用研究
2015-12-30王子政姚卫东北京信息控制研究所北京100048
王子政 姚卫东(北京信息控制研究所,北京 100048)
基于用户web日志分析的推荐系统的应用研究
王子政 姚卫东(北京信息控制研究所,北京 100048)
为了将用户感兴趣的各种资讯信息主动推荐给用户,提出了一个推荐算法权重公式,改进了基于用户的协同过滤算法,设计出了通用的推荐系统原型架构,并分析了今后的研究方向。
推荐系统,协同过滤,网络日志分析,军工
引 言
推荐系统是一种向用户提供推荐信息的软件技术和工具。这种推荐建议可帮助用户在面对庞杂的信息时作出更加适合自己的决定,例如,其可帮助用户决定买什么商品、听什么歌曲或者浏览哪些新闻等。随着互联网技术的发展,人类进入了信息大爆炸时代,推荐系统被认为是解决用户信息过载问题最有效的方法之一,并在各个领域均具有广泛的用途。
1 个性化推荐系统简介
为了做好各项决策,例如,浏览什么样的新闻、购买哪种商品、观看哪部电影等,人们往往需要查阅大量的资料,甚至可能需要听取他人的意见。推荐系统的重要性就在于其能够为用户提供感兴趣的信息而无需用户将自己的需求明确表达出来。阿尔伯塔大学的Häubl G和Trifts认为,推荐系统是一种面向用户提供相关项目的软件技术和工具。信息检索(information retrieval)和推荐系统被认为是2种相似的工具,其主要研究内容都是针对条目(item)进行过滤和排序。但是,信息检索通常侧重于研究全局整体性的检索数据,可能会忽略掉个体的需求和用户的偏好信息。Still指出,推荐系统和信息检索系统之间并不能够很清晰地区分开来;推荐系统和信息检索(或搜索引擎)之间核心的不同之处在于推荐系统更侧重于个性化、有趣并且有用的信息。
从最近的发展趋势来看,现在的web搜索引擎也在利用推荐系统的相关技术来应对搜索领域目前面临的挑战,并实现了一些高级检索功能。例如,搜索引擎会提供一些与当前用户查询的信息相近的检索词。越来越多的搜索引擎正在尝试向用户提供个性化的检索结果,其依据就是用户的检索词、用户的上下文信息(如用户当前的位置信息等),以及用户的检索历史等。
目前,推荐系统已经被广泛应用在各种各样的电子商务网站中,并且能够支持向上千万甚至上亿用户进行产品的推荐。推荐系统也是目前非常热门的一个研究方向。对于一些大型的电子商务网站来说,推荐系统已经成为网站拥有的一个不可或缺的功能,被广泛应用于图书、电影、音乐、视频、新闻等信息的推荐应用。亚马逊网站(www. amazon.com)通过一系列的推荐算法,例如,基于协同过滤的算法,寻找具有相似偏好的用户群,用于预测和发现用户可能感兴趣的商品,并将其推荐给目标用户,从而大大提高了商品的销售率。Netflix公司是美国一家在线电影服务提供商,为了提高推荐系统的性能,该公司设立了100万美元的奖金,用于奖励那些对于显著提高推荐系统性能作出突出贡献的设计人员。
2 个性化推荐系统研究
2.1 个性化推荐模型的提出
无论是对于电子商务类的网站,还是新闻资讯类的网站,所有的资源都可以成为被推荐的对象,用户访问这些网站,都是查找自己感兴趣资源的过程。在军工领域,军工集团门户网站主要提供新闻资讯类的资源,军工类电子商务网站提供军民两用产品的描述信息、解决方案等信息。为了更有针对性地为用户提供所需的信息,本文提出了一个通用的推荐系统模型,不仅可应用于普通的网络信息推荐系统,也可应用于军工信息推荐系统。所设计的推荐算法权重公式如下:
在上式中,各项的具体含义如下:
(1)UserInfo。系统内的注册用户信息,即推荐系统将相关条目进行推荐的对象的信息。在这个维度中,包含了用户的ID、姓名、性别、年龄、行业、所在地等信息。其数学形式化定义为UserInfo(UserID,Name,Gender,Age,Trade,Location)。
(2)UserSearchLog。用户的检索词日志信息,其精准地反映了用户的需求信息,对于推荐系统来说是一项非常重要的数据来源。其数学形式化定义为:UserSearchLog(UserID,SearchLogList)。
(3)UserBrowserLog。用户的历史浏览日志信息,包含用户自己产生的除检索日志外的全部记录信息,如用户曾经浏览过的新闻资讯、产品互动咨询信息和曾经浏览过的商品信息等。其数学形式化定义为:UserBrowserLog(UserID,NewsInfo,InteractionInfo,SolutionInfo)。
上述推荐系统中的模型为用户、检索日志、浏览日志所组成的三维空间。推荐系统将用户所从事的行业、所在地等个人信息,以及用户历史的检索日志、浏览日志等信息作为数据来源,将用户可能感兴趣的项目计算出来,将评分最高的几个项目推荐给用户。用户对推荐的项目进行打开浏览等操作后,相关操作等信息又会被记录到日志文件中,作为下一次计算的数据来源,从而不断优化算法,更准确地把握用户的需求。
2.2 个性化推荐方法的选择
个性化推荐就是根据用户的个人信息(UserInfo)、检索日志信息(UserSearchLog),以及历史浏览日志信息(UserBrowserLog),通过一定的规则进行打分、排序,将得到的结果推荐给相应的用户的过程。常用的推荐算法包括基于内容的协同过滤算法和基于用户的协同过滤算法两种。基于用户的协同过滤算法是目前推荐系统中使用最多的推荐技术,其基于用户对物品的偏好找到相邻的邻居用户,然后将邻居用户喜欢的物品推荐给当前用户。在算法的实现上,该算法将用户对所有物品的偏好作为一个向量来计算用户之间的相似度,找到K邻居,根据邻居之间的相似性,以及对所有物品的偏好,预测当前用户潜在感兴趣的物品,最终得出一个排序的物品列表推荐给目标用户。该算法最大的优点是对推荐对象没有特殊要求。该算法的流程包括以下4个步骤,如图1所示。
在该算法中,用户之间仅通过ID进行标识,并没有利用用户本身的属性信息,在改进的算法中增加了用户的个人信息,如行业、位置信息等,对用户信息进行了多维度的描述,有助于提高相似邻居计算的准确性。因此,在改进的算法中,提出了将UserID单一属性修改为UserInfo(UserID,Industry,Location),再利用基于用户的协同过滤算法进行计算推荐的过程。
3 原型系统设计
3.1 功能模块的设计
针对上文提出的推荐系统模型,基于内容管理平台和搜索服务平台,采用基于用户的协同过滤算法设计了一个通用的推荐系统的原型架构,如图2所示。该系统分为内容管理模块、搜索服务模块、数据准备模块、推荐计算模块等4个功能模块。
图2 通用推荐系统原型架构图
该系统各部分的功能描述如下:
(1)内容管理模块。该模块是整个系统的主体模块,包含了全部的新闻资讯、产品互动咨询信息和解决方案信息,是推荐系统将要推荐的全部项目的集合。对于每个项目,都有唯一的项目编号标识号。当用户访问每个项目资源的时候,服务器都会将用户的行为记录下来,存储到日志文件中,为之后的推荐分析提供依据。
(2)搜索服务模块。该模块负责对网站进行检索。其检索的信息是内容管理模块所提供的全部信息资源。同样,当用户进行检索时,用户所使用的每个检索词语、在检索结果列表中打开的每个网页也都会被记录下来,存储到日志文件中。
(3)数据准备模块。该模块包括数据采集、数据提取和用户标识等3个步骤,在推荐系统中属于数据预处理阶段。数据准备模块的处理对象是服务器上记录的原始数据日志记录信息,其数据处理算法简单,但步骤繁琐、工作量繁重。下面对每个子模块步骤进行介绍:一是数据采集子模块。推荐系统最直接的数据来源就是服务器上的日志文件。服务器日志文件的格式多种多样;W3C推荐了通用型日志格式文件CLF(Common Log Format)和扩展通用型日志格式文件ECLF(Extended Common Log Format)2种通用的日志格式。二是数据提取子模块。其功能是对推荐系统可能用到的数据进行提取,数据提取对象就是上个步骤采集到的日志信息,将不相关的数据剔除,同时,将数据进行相应的格式化处理,转换为推荐算法要求的输入数据格式,方便计算。三是用户识别子模块。这里的用户识别分为2种,一种是系统注册用户,另一种是系统未注册用户。对于系统注册用户来说,可以很方便地识别用户身份;对于系统未注册用户来说,可以对用户的IP地址进行识别,不同的IP地址必然属于不同的用户;但是由于IPv4地址的稀缺,现在的局域网大量采用了NAT(网络地址转化)技术,使得同一局域网内的用户对外仅显示一个IP地址,所以,可以根据客户端浏览器软件类型、版本号等信息来区分不同的用户。
(4)推荐计算模块。该模块根据所设计的推荐算法进行计算,从而获得推荐结果,将所获得的推荐信息推荐给用户。
4 结 语
本文提出了一个改进的推荐算法模型,并设计了系统的原型架构,通过对用户的潜在感兴趣的信息进行推荐,能够帮助用户快速定位到自己所需要的信息,具有通用性。推荐算法优化及推荐结果评价是后续研究中需要解决的问题,也是今后开展研究的重要方向之一。
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 刘建国, 周涛, 汪秉宏. 个性化推荐系统的研究进展[J]. 自然科学进展, 2009, 19(1): 1~15
7 沙招友. 某开发区电子政务网站个性化推荐服务的设计[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