简述网站用户行为分析及推荐


一、挖掘背景

随着如今电子商务、网上服务平台及网上交易等互联网业务的普及,对于企业而言,网站访问量越大,相应的数据信息量也不断增大,平台上大量的用户信息聚集起来,形成了海量的数据,如何在海量的数据中筛选出有价值的信息,研究用户的兴趣与偏好,分析用户的需求与行为,从而引导用户发现自己的需求,并准确的将服务推荐给用户,使服务更有针对性,已成为企业关注的重点问题。

本文以某教育网站为例,简述如何基于用户的偏好信息,预测用户的行为,帮助用户发现需求并进行推荐。


二、数据抽取及分析

在数据抽取过程中,尽可能选择大量的数据,以此降低推荐结果的随机性,提高准确性,更好的发掘用户感兴趣的商品。以用户访问时间为条件,选取3个月内用户的访问数据作为原始数据集,为避免不同区域用户喜好的差异性,本例抽取南方某省的用户访问数据进行分析,数据总量有968435条,包括用户账号、访问时间、来源网站、访问页面、主题、来源网页、类别、关键词等字段。

对原始数据中的网页类型、点击次数和网页排名等各个维度进行分布分析,获得其内在的规律,在此基础上,完成原始数据的清洗与变换,处理后进行属性规约,提取模型需要的属性。


三、模型建立

电子商务中推荐系统主要通过统计和数据挖掘技术,根据用户在网站的访问行为,主动地为用户提供推荐服务,从而提高用户体验,促成消费。商业需求的不同,推荐系统则要满足不同的推荐方式。如商品推荐、类目推荐、标签推荐等。常用的推荐模型主要有规则模型、协同过滤模型和基于内容的推荐模型,不同的推荐模型使用不同的推荐算法,例如规则模型,常用的算法有Apriori;协同过滤模型中涉及K最近邻居算法、因子模型等。实际应用过程中,并不采用单一的推荐方法进行推荐,为达到理想的推荐效果,一般都结合多种推荐方法将推荐结果进行组合,最后得出推荐结果。

结合本例子的具体业务场景及实际情况,分析的目标有以下特点:用户个性化需求强烈,推荐结果实时变化,长尾网页丰富,网页数小于用户数,因此,本文例子以协同算法为主导,对用户进行个性化推荐。协同过滤是相当成功的推荐系统技术,已被应用在很多成功的推荐系统中。

基于物品的协同过滤系统的一般处理步骤为,首先分析用户与物品的数据集;其次通过用户对项目的喜好与偏爱找到相似的物品;最后,根据用户的历史喜好,推荐相似的物品给目标用户。基于上述的过程,基于物品的协同过滤算法主要为:1.计算物品之间的相似度;2. 结合物品的相似度和用户的历史行为给目标用户生成推荐列表。其中物品相似度的计算方法有夹角余弦、杰卡德相似系数、相关系数等,其原理及计算公式本文不再赘述。

完成各物品的相似度计算后,可生成一个物品间的相似度矩阵,用Python借助Numpy来实现协同过滤算法不困难,部分代码示例如下:

部分代码示例

本例采用了最基本的协同过滤算法进行建模,得出的模型及其结果也仅是初步的效果,在实际的应用中,需要结合业务进行分析,对模型进行进一步的改造,以适应业务需求。


四、小结

推荐系统除了上述介绍的协同过滤算法外,还有其他常用的算法,推荐系统的目的在于基于用户的偏好信息,预测用户的行为,帮助用户发现可能会感兴趣,但却不一定发现的商品给用户进行推荐。同时,推荐模型也面临着许多重要的问题,例如特征提取问题,如何从商品标签、分类和属性中获取商品的重要特征;新用户问题,如何解决在用户行为少的情况下提高推荐质量;新商品的问题,如何让更多的商品有推荐展示的机会;稀疏性的问题,面对庞大的用户和商品数据,用户的评价会显得十分稀疏等。面对这些问题,在实际的应用中,需要根据不同的业务场景,利用各种算法的优点,设计出混合的推荐算法,以提升推荐质量。

品略图书馆 http://www.pinlue.com/