• 您当前的位置:首页 > 科技资讯 > 互联网新闻 > 达观数据是如何基于用户历史行为进行精准个性化推荐的?
  • 达观数据是如何基于用户历史行为进行精准个性化推荐的?

    时间:2017-06-20  来源:达观数据  作者:

    在DT(data technology)时代,网上购物、观看视频、聆听音乐、阅读新闻等各个领域无不充斥着各种推荐,个性化推荐已经完全融入人们的日常生活当中。个性化推荐根据用户的历史行为数据进行深层兴趣点挖掘,将用户最感兴趣的物品推荐给用户,从而做到千人千面,不仅满足了用户本质的信息诉求,也最大化了企业的自身利益,所以个性化推荐蕴含着无限商机。

    号称“推荐系统之王”的电子商务网站亚马逊曾宣称,亚马逊有20%~30%的销售来自于推荐系统。其最大优势就在于个性化推荐系统,该系统让每个用户都能有一个属于自己的在线商店,并且在商店中能招到自己最感兴趣的商品。美国著名视频网站Netflix曾举办推荐系统比赛,悬赏 100 万美元,希望能将其推荐算法的预测准确度提升10%。美国最大的视频网站YouTube曾做过实验比较个性化推荐和热门视频的点击率,结果显示个性化推荐的点击率是后者的两倍。

    达观数据拥有雄厚的研发推荐系统的技术积累,曾在ACM、CIKM、KDD、Hackathon等国际竞赛的获奖,在内容推荐,文本挖掘、广告系统等方面申请有超过三十项国家发明专利。本文从数据处理、用户行为建模到个性化推荐,分享达观数据在个性化推荐系统方面积累的一些经验。(达观数据联合创始人 于敬)

    1.数据收集及预处理

    推荐系统的本质其实就是通过一定的方式将用户和喜欢的物品联系起来。物品和用户自身拥有众多属性信息进行标识。

    1)物品属性

    用户表示推荐系统的主体,自身属性包括人口统计学信息以及从用户行为数据中挖掘分析得到的偏好等。

    3)用户行为

    用户行为分析

    在数据采集的过程中,难免会出现一些脏数据,在使用数据前需要进行清洗。过滤掉关键字段为空、数值异常、类型异常等数据;用户id包括cookie、手机号、email、注册id等,需要进行映射得到用户唯一id;以及数据去重等操作。另外,还有“人为”的脏数据,如作弊、刷单等行为,这些数据也需要清除,否则会严重影响后续算法的效果。达观数据在反作弊方面也做了很多工作,可有效筛选各种行为上的作弊情况。

    2.用户行为建模

    基于用户历史行为的进行挖掘分析,得到刻画用户本质需求的一组属性集合,即得到用户模型,个性化推荐的准确性很大程度上依赖于对用户属性刻画的准确性。达观数据采用了多种方式进行量化,主要包括显式用户偏好分析和隐式用户兴趣点挖掘。

    1)显式用户偏好分析

    除了结合物品信息进行分析计算得到的显式偏好外,还有一部分隐式兴趣点需要挖掘,这部分主要用于细分用户群体,进行有针对性的进行更有效的推荐。划分群体的准则要根据具体的业务需求而定,比如是否是高价值用户、是否价格敏感、是否对大牌情有独钟、大神用户和小白用户的区分、喜欢热门流行还是偏小众的等等。借助机器学习中的分类(如SVM)和聚类(如k-means)算法可有效解决用户群体的划分问题,牵涉到的训练和测试数据需要先根据一些规则粗略得到候选集,在结合人工标记的进行筛选。除了可以从行为数据中抽取特征外,也可以从物品和用户的属性数据中抽取特征。经过模型的训练、预测和后处理,从而将用户划分到不同的群体。

    3)协同过滤的基石

    相似度计算方法对推荐效果的影响

    相似度的计算很多种方法,如余弦相似度、皮尔逊相关度等,曾经使用mahout做过的一个不同相似度度量方法下的对比测试结果,测试中score的计算使用的是绝对差值的平均,越小越好。本次测试结果表明,在基于用户的协同过滤中,使用皮尔逊相关度的计算方法,推荐效果最好。

    其实不同的相似度计算方法有各自的优缺点,适用不同的应用场景,可以通过对比测试进行选取。在实际业务中,相似度的计算方法都有很多变种,比如是否考虑去除冷门物品和热门物品的影响。毕竟过于冷门和过于热门的物品对衡量用户间的相似度时区分度不好,这时就需要进行剪枝。这种基于K近邻的选取相似用户的方法,相似度的阈值设置对结果影响很大,太大的话召回物品过多,准确度会有下降。

    4)时间维度上的考量

    3.个性化推荐的实践经验

    以用户模型和物品属性数据为载体,结合多种推荐算法和效果优化策略,个性化推荐系统将用户最感兴趣的物品精准推荐给当前用户。不同算法有自己的应用场景,所以根据业务需要、数据的丰富程度、效果衡量指标等选择合适的推荐算法,然后根据推荐结果进行不断迭代,最终完成符合预期效果的个性化推荐系统。

    主要过程是将用户的信息特征和物品对象的特征相匹配的过程,从而得到待推荐的物品集合。通过用户模型中的类别、标签、品牌等各维度的偏好数据,在全量物品列表中寻找与之匹配的用户感兴趣的物品列表,并给出用户感兴趣的程度。根据挖掘的兴趣点,对部分用户进行有针对性的推荐,为其“量身定制”推荐结果,满足其特有的需求。基于内容的推荐方法,优点是能保证推荐内容的相关性,并且根据内容特征可以解释推荐结果,而且对新物品的推荐是也能有很好的考量。缺点是由于内容高度匹配,导致推荐结果的惊喜度较差,而且对新用户不能提供可靠的推荐结果。

    2)基于协同过滤的推荐

    当用户的行为数据较少同时又有明确的需求时,协同过滤和基于内容的推荐效果不尽人意,但是基于知识的推荐可以帮助我们解决这类问题。这种方法不需要用户行为数据就能推荐,所以不存在冷启动问题。推荐结果主要依赖两种形式,一是用户需求跟物品之间相似度,一种是明确的推荐规则。实际应用主要是以强规则为主。

    4)补足策略

    单一算法有各自的优缺点,并不能满足实际的线上需求。为了提供最优质的个性化推荐服务,保证推荐结果的多样性、新颖性和惊喜度,需要融合多个推荐算法,进行混合推荐。常见的混合方法有以下几种:

    a)加权式混合

    不同推荐算法的结果需要归一化在相同的范围内,并且各个算法的权重之和为1。

    b)交叉式混合

    c)切换式混合

    主要是将不同的推荐算法进行排序,后面的推荐算法对前面的不断优化,最终得到一个多级优化下的推荐结果。

    e)分级混合

    达观数据在实践中充分利用了各种混合方法来提高推荐效果,并取得了优异的成效。例如基于加权式和分级混合的流程是,首先通过权重的大小来衡量每种推荐算法结果的好坏,产生待推荐的物品集合,在合并的时候,将优先使用好的推荐算法的结果。实践中则是各种指标综合权衡,整个过程也要复杂很多。(达观数据 于敬 陈运文)

    6)重排序

    排序学习的流程

    对于已标注的训练集,首先选定LTR方法,确定损失函数,以最小化损失函数为目标进行优化即可得到排序模型的相关参数,这就是学习过程。预测过程将待预测结果输入学习得到的排序模型中,即可得到结果的相关得分,利用该得分进行排序即可得到待预测结果的最终顺序。LTR分按点(pointwise)、按对(pairwise) 和按表(listwise) 三种方法,涉及到的常见模型有LR(Logistic Regression)、SVM、DT(Decision Tree)。

    关于排序模型的选择,LR 算法主要适用于特征数很多、样本量很大的情况。如果是样本量很大,但是特征比较少的情况时,建议使用DT的算法。主要是因为在特征数较少时,对应的问题往往是非线性的,此DT算法可以发挥自身的优势。另外,SVM在解决非线性分类问题是效果也非常好。相对于另外两种方法,按表的方法往往更加直接,它专注于自己的目标和任务,直接优化排序结果,因此往往效果也是最好的。

    经过多个推荐算法的处理,最终得到待推荐物品的结合,使用少量维度的特征进行排序过于简单,效果也大打折扣。基于推荐算法得到的相关特征,结合物品和用户的特征进行组合,可以得到各种特征,并且有些特征是正相关有些是负相关,需要不断优化。借助机器学习方法得到了最终的物品排序,呈现给用户。

    4.结束语

    本文从构建用户模型到个性化推荐,介绍了达观数据的一些实践经验。个性化推荐系统能有效解决信息过载和长尾物品两个方面的问题,不仅提供了极佳的用户体检,满足了用户的信息需求,也帮助了企业挖掘其中蕴含的无限商机。

    达观数据一直致力于为企业提供优质的大数据服务,经过多年的摸索,目前在个性化推荐系统研发和效果提升方面已经积累了丰富的实战经验。当然新技术也在不断出现,深度学习的兴起也给个性化推荐效果的提升带来了更大的契机和想象空间,达观数据也在这方面进行不断探索,后续有机会再跟大家一起分享。

    声明:本文仅为传递更多网络信息,不代表站长之家观点和意见,仅供参考了解,更不能作为投资使用依据。

    广告
    关键词:
    最近更新
    推荐资讯