0 前言

一、 电商推荐算法简述

推荐系统的主要方法

电子商务涉及的用户可能有不同背景、爱好,电商提供多样化、个性化的服务有助于满足不同类型用户的个性化需求。和传统的电子商务相比,移动电子商务具有“人机对应、一人一机”的特点,所以可以针对用户进行便捷的个性化推荐服务。

目前比较多的电商模式为B2B,B2C,O2O,在本文介绍和需要举例说明的地方B2B电商模式为主。

一、基于内容的推荐算法

网络基于内容的推荐系统,也称CB(Content-based
Recommendations):根据用户基于item时的历史信息(如评分、评价、分享、和收藏过的文档)构造用户偏好文档,计算推荐项目与用户偏好文档的相似度,将最相似的项目推荐给用户。例如,在书籍推荐中,基于内容的系统首先分析用户已经购买过的打分比较高的书籍的共性(作者、风格等),再推荐与这些用户感兴趣的书籍内容相似度高的其他电影。再例如一个推荐饭店的系统可以依据某个用户之前喜欢很多的烤肉店而为他推荐烤肉店。CB最早主要是应用在信息检索系统当中,所以很多信息检索及信息过滤里的方法都能用于CB中。CB中大致包括三步骤:

Item
Representation;为每个item抽取出一些特征(也就是item的content了)来表示此item。

Profile Learning
:用一个用户过去的item的特征数据,来学习出此用户的喜好特征(profile)。

Recommendation
Generation;通过比较上一步得到的用户profile与候选item的特征,为此用户推荐一组相关性最大的item。

真实应用中的item往往都会有一些可以描述它的属性。这些属性通常可以分为两种:结构化的(structured)属性与非结构化的(unstructured)属性。所谓结构化的属性就是这个属性的意义比较明确,其取值限定在某个范围;而非结构化的属性往往其意义不太明确,取值也没什么限制,不好直接使用。比如在交友网站上,item就是人,一个item会有结构化属性如身高、学历、籍贯等,也会有非结构化属性(如item自己写的交友宣言,博客内容等等)。对于结构化数据,我们自然可以拿来就用;但对于非结构化数据(如文章),我们往往要先把它转化为结构化数据后才能在模型里加以使用。真实场景中碰到最多的非结构化数据可能就是文章了(如个性化阅读中)。将文本这种非结构化数据转化成结构行数据,常用的方法是IF-IDF(term
frequency-inverse document frequency)[58]

1 移动商务及个性化服务

电商推荐根据推荐内容不同分为物品推荐、商家推荐;流行的推荐应用主要有三个方面:1)针对用户的浏览、搜索等行为所做的相关推荐;2)根据购物车或物品收藏所做的相似物品推荐;3)根据历史会员购买行为记录,利用推荐机制做邮件推送或会员营销。其中推荐算法主要分为以下几个类: 

1)基于item的特征学习

所有文章集合为,而所有文章中出现的词的集合(对于中文章,首先得对所有文章进行分词),也称为词典,即。也就是说,我们有篇要处理的文章,而这些文章里包含了个不同的词。我们最终要使用一个向量来表示一篇文章,比如第篇文章被表示为,其中表示第1个词在文章中的权重,值越大表示越重要;中其他向量的解释类似。所以,为了表示第篇文章,现在关键的就是如何计算各分量的值了。例如,我们可以选取为1,如果词出现在第篇文章中;选取为0,如果未出现在第篇文章中。我们也可以选取为词出现在第篇文章中的次数(frequency)。但是用的最多的计算方法还是信息检索中常用的词频-逆文档频率(term
frequency–inverse document frequency,简称)。

移动电子商务是传统电商的特别形式,是一种利用移动通信网络实现的电子商务活动,其商务形式由固定地点延伸到随时随地;移动电子商务的特征包括:位置相关性、随时随地访问。传统的电子商务中用户的位置并不重要,展现给所有用户的是统一的内容。移动电子商务可以定位使用者,而且在移动终端中的配置可以分辨用户的身份;定位及用户识别这两个特性的结合使移动电子商务具备一定的个性化特征。

1、基于用户的协同过滤推荐算法

2)基于用户profile特征学习

假设用户u已经对一些item给出了他的喜好判断,喜欢其中的一部分item,不喜欢其中的另一部分。那么,这一步要做的就是通过用户u过去的这些喜好判断,为他产生一个模型。有了这个模型,我们就可以根据此模型来判断用户u是否会喜欢一个新的item。所以,我们要解决的是一个典型的有监督分类问题,应用机器学习中的分类算法可以解决分类问题。常用的分类机器学习算法有KNN,决策树,朴素贝叶斯,随机森林,支持向量机,神经网络等。

最后通过通过用户profile模型特征与item特征进行相似度运算,将得分高的Item推荐给用户。基于内容的推荐方法原理简单,推荐结果也易于理解;没有流行度偏见;没有冷启动问题;不需要惯用数据,可以使用用户内容特性来提供解释。但是也存在一定的缺点:对于物品的特征具有较高要求,对于视频、音频等这种多媒体资源无法进行理想的推荐;推荐结果相对固定,用户的个性化偏好在与内容匹配度高时才能获得推荐,很难为用户发现新的感兴趣信息;缺少多样性,新颖性。

移动电子商务的个性化服务观点有不同的内涵:用户特性。可以将移动电子商务看作是为不同特性客户提供针对性的信息内容的服务。用户偏好及习惯。不同用户的行为习惯以及偏好不尽相同,移动电子商务需要为用户提供满足个性化需求的服务。针对上述观点,可以将移动个性化服务定义为:内容及服务提供商根据用户的身份、职业、偏好、年龄等特性,为不同的使用者提供针对性的内容。个性化主要体现在[1]:内容的个性化。不同用户对商品的需求不同,移动电子商务不再仅仅提供多样化的商品,而是根据用户的兴趣偏好为用户推荐真正需要、可能消费的商品,尽量减少用户在商品搜索过程中耗费的时间、精力。服务方式的个性化。传统的信息服务方式多为“PULL”模式,即信息直接发布到网络上,用户从海量信息中查找需要的信息。为了提高销售效率,移动电子商务必须改变为“PUSH”模式,直接将合适的信息精准的推荐给可能需要的用户。

a. 找到与目标用户兴趣相似的用户集合

二、基于协同过滤的推荐算法

协同过滤推荐,Collaborative Filtering
Recommendations(简称CF)是目前最流行的推荐方法,在研究界和工业界得到大量使用。很多有名的推荐系统都是利用协同过滤推荐策略,如Netflix的电影推荐系统、亚马逊的商品推荐系统、Tapestry邮件处理系统等。协同过滤能够基于一组兴趣相同的用户或项目进行推荐,它根据邻居用户(与目标用户兴趣相似的用户)的偏好信息产生对目标用户的推荐列表。Schafer,Frankowski等[74]曾提出,协同过滤推荐是“使用其他用户的观点来过滤和评价商品的过程”。这种协同过滤机制的主要目的在于根据已有数据之间的关系,计算用户之间的相似度,找到有共同兴趣爱好的用户,从而产生推荐。协同过滤简理解就是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应(或评分)不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。

协同过滤推荐算法一般可以分为基于用户协同推荐(User-based Collaborative
Filtering)、基于物品协同推荐(Item -Based Collaborative
Filtering)和基于模型的系统推荐(Model-Based Collaborative
Filtering)。协同过滤是在海量数据中挖掘出小部分与你品味类似的用户,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的东西组织成一个排序的目录推荐给你。关于协同过滤的一个最经典的例子就是看电影,有时候不知道哪一部电影是我们喜欢的或者评分比较高的,那么通常的做法就是问问周围的朋友,看看最近有什么好的电影推荐。在问的时候,都习惯于问跟自己口味差不多的朋友,这就是协同过滤的核心思想。简单的说就是:人以类聚,物以群分。

2 个性化推荐技术

b. 找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户

1、基于用户的协同过滤算法(user-based collaboratIve filtering)

基于用户的协同过滤算法是通过用户的历史行为数据发现用户对商品或内容的喜欢(如商品购买,收藏,内容评论或分享),并对这些喜好进行度量和打分。根据不同用户对相同商品或内容的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行商品推荐。简单的说就是如果A,B两个用户都购买了x,y,z三本图书,并且给出了5星的好评。那么A和B就属于同一类用户。可以将A看过的图书w也推荐给用户B。

协同过滤推荐算法的核心是寻找目标用户的最近邻居是User-based协同过滤推荐算法,其所找到的邻居质量和寻找的效率,直接影响整个推荐算法的推荐质量和推荐效率。User-based协同过滤推荐算法的主要工作内容是,用户偏好搜索并进行相似度度量,最近邻居查询,预测评分,为相似的用户提供推荐物品。

电子商务的整个流程中涉及到大量不同类型的数据,比如用户信息、商品信息、服务信息及日志、交易信息等。移动电子商务涉及到的数据类型更多,而且异构数据的比例更大;移动用户的需求可能会随着时间、用户场景的变化而变化;例如,旅行中的用户通常更关注住宿、交通相关的商品信息,而休假中的用户往往对娱乐信息更感兴趣;这无疑增加了预测用户行为、推荐合适商品的难度。

2、基于Item(项目)的协同过滤推荐算法

2、基于物品的协同过滤算法(item-based collaborative filtering)

基于物品的协同过滤算法与基于用户的协同过滤算法很像,将商品和用户互换。通过计算不同用户对不同物品的评分获得物品间的关系。基于物品间的关系对用户进行相似物品的推荐。这里的评分代表用户对商品的态度和偏好。简单来说就是如果用户A同时购买了商品1和商品2,那么说明商品1和商品2的相关度较高。当用户B也购买了商品1时,可以推断他也有购买商品2的需求。

Item-Based协同过滤算法的核心是计算Item间的相似度,来预测用户评分。主要通过用户评分数据、计算Item相似度矩阵,主要的工作:1.寻找相似的物品,2并选择相似性度量方式计算相似性,3为用户提供基于相似物品的推荐。

移动电子商务中的个性化推荐技术的主要步骤包括:数据采集、数据预处理、数据建模、数据分析、个性化推荐。数据采集阶段负责采集所有用户的信息,包括用户资料、购买历史信息等。数据预处理对采集到的数据进行有效性检查,去掉无效订单。建模阶段以数据挖掘技术为主,对预处理后的数据进行聚类分析、关联分析等。数据分析阶段试图从大量数据中发现用户的购买倾向,以便进行个性化推荐。

  a.基于用户对某商品的兴趣程度,寻找出相似度最大的物品。

3、基于模型的协同过滤

基于模型的协同过滤作为目前最主流的协同过滤类型之一,其相关算法非常多,这里针对其思想做一个归类概括。这里有m个物品,m个用户的数据,只有部分用户和部分数据之间是有评分数据的,其它部分评分是空白,此时我们要用已有的部分稀疏数据来预测那些空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。对于这类问题,常用方法是利用机器学习来建模进行问题解决,主流的方法可以分为:关联规则类算法,聚类算法,分类算法,回归算法,矩阵分解,神经网络,图模型以及隐语义模型等来解决。

a)关联规则类算法的协同过滤算法

基于关联规则的推荐技术是以关联规则为基础,其反映了一个事物与其他事物之间的相互依存性和关联性,主要结合用户当前的购买行为向用户推荐合适的项目。其关键点在于利用数据挖掘技术找出具有某种关联关系的数据项。在电子商务网站中,基于关联规则的推荐主要是分析用户的购物车、用户检索信息、浏览信息以及已购买的商品信息,通过数据挖掘技术统计这些商品之间的相关性,从而向用户推荐其可能感兴趣的商品。常用关联推荐算法有Apriori,FP
Tree PrefixSpan。

一般我们可以找出用户购买的所有物品数据里频繁出现的项集小程序列,来做频繁集挖掘,找到满足支持阈的关联物品的频繁N项集或者序列。如果用户购买了频繁N项集或者序列里的部分物品,那么我们可以将频繁项集或序列里的其他物品按一定的评分准则推荐给用户,这个评分准则可以包括支持度,置信度和提升度等。

关联规则的算法优点是不需要用户输入评分数据,能发现用户的新兴趣,推荐的结果也较为精确。但它也有一些缺点[30]:1)庞大的用户信息在前期需要经过数据清洗,数据转换等工作,比较复杂;2)关联规则需要对巨大的用户信息和项目信息做分析,提取规则较难,个性化程度较低。

b)用聚类算法做协同过滤

用聚类做协同过滤就和前面的基于用户或者项目的协同过滤有些类似了。我们可以按照用户或者按照物品基于一定的距离度量来进行聚类。如果基于用户聚类,则可以将用户按照一定距离度量方式分成不同的目标人群,将同样目标人群评分高的物品推荐给目标用户。基于物品聚类,则是将用户评分高物品的相似同类物品推荐给用户。常用聚类推荐算法有K-Means,BIRCH,DBSCAN和谱聚类

c)用分类算法做协同过滤

如果我们根据用户评分的高低,将分数分成几段,则这个问题就变成了分类问题。比如最直接的,设置一个评分阈值,评分高于阈值就推荐,评分低于阈值就不推荐,我们将问题变成了一个二分类问题。常用的分类算法是逻辑回归,支持向量,朴素贝叶斯等。

d)用回归算法的协同过滤

用回归算法做协同过滤比分类算法解释性更强,评分可是是连续值也是在离散值,通过回归算法模型得到目标用户对某商品的预测打分。常用的驾照推荐算法有Ridge回归,回归树和支持向量回归。

e)用矩阵分解做协同过滤

用矩阵分解做协同过滤是目前使用也很广泛的一种方法。由于传统的奇异值分解SVD要求矩阵不能有缺失数据,必须是稠密的,而我们的用户物品评分矩阵是一个很典型的稀疏矩阵,直接使用传统的SVD到协同过滤是比较复杂的。目前主流的矩阵分解算法主要有SVD的一些变种,比如FunkSVD,BiasSVD,RSVD[97]和SVD++[98]。

f)用神经网络做协同过滤

用神经网络乃至深度学习做协同过滤应该是以后的一个趋势。目前比较主流的用两层神经网络来做推荐算法的是限制玻尔兹曼机(RBM)。在目前的Netflix算法比赛中,RBM算法的表现很良好。

CF推荐具有较强的个性化,且得到了广泛的应用,CF的优点体现在:1)推荐的结果对于用户来说比较新奇,可以发现内容上完全不相似的物品;2)对于非结构化的对象有很好的推荐效果比如电影、音乐、图片等;3)不需要很专业的知识就可以推荐。但仍然存在着以下几点问题:1)冷启动问题,要是一个用户从来没有对任何项目进行评价,那么该用户就不能得到推荐,同样如果从来没有用户对某一商品加以价,则这个商品就不可能被推荐;2)稀疏性问题,实际的网站中用户和项目的数量十分巨大,而用户通常只对其中小部分项目进行评分,用户-项目评分矩阵是非常稀疏的,可用于计算用户之间相似度的数据非常有限,使得搜索的最近邻不够可靠,推荐质量较差;3)可扩展性问题,即随着用户和项目数量的增多,算法的计算复杂度急剧增加,严重影响了个性化推荐的实时性。

通过上述分析可知移动电子商务中个性化推荐的功能需要满足[2]:分析用户的偏好和行为习惯,以进行更加精确的用户行为预测。关联规则挖掘可以从用户的购买历史数据中发现潜在的关联关系。分析用户行为,针对用户的购买习惯,为用户提供个性化推荐。协同过滤可以根据有相似购买习惯用户的偏好,为当前用户推荐其可能感兴趣的商品信息。

  b.将相似度最大的物品推荐给目标用户。

三、基于社交网络的推荐算法

最在线社交网络使得人们可以在网络上面分享心情,发表看法,获取兴趣话题,但是面对海量的用户信息与内容信息。

社会推荐(Social Recommendation),是指在各种社会化媒体(Social
Media)上通过社会化的群体行为对信息内容进行推荐或分享[78],基于社交网络的推荐mj是社会推荐的重要研究部分,研究涉及社会科学、物理学、信息科学、和管理科学等多门学科,属于典型的跨学科交叉研究.基于传统的推荐决策过程中引入用户的社交网络信息,一方面是考虑传统协同过滤推荐方法的数据稀疏性的缺陷;另一方面社会网络中的用户间关系能够体现出用户之间的兴趣相似性和影响能力.

邻居节点的社会影响力同样也是影响用户信任度的一个重要因素,一般来说,人们往往更倾向于相信权威,权威用户(即意见领袖)对周围人们的影响较大,可以理解为社会影响力高的用户有较高的影响力和用户信任度,在推荐过程中所占据的权重也相对更大.文献[79,80]认为邻居节点的社会影响力比历史行为的相似性在商品推荐效果方面显得更加显著.Internet时代放大了社会影响力的价值,“口碑营销”和“病毒式营销”[81]在线社交网络中即是通过重点节点基于一种高信任度的角度,通过传播的一种方式将产品或者信息等推荐给邻居节点,由于网络的实时性、信息发送的便捷性、用户节点数目的海量性,信息则以更快的传播到更多的网络结点.基于社会影响力的角度进行推荐,取得了一定的效果,文献[54]通过对豆瓣网站和Goodreads网站(“美国版豆瓣”)的实证分析,发现来自朋友的社会推荐除了可以提高商品的销售量外,还可以提升用户的售后评价满意程度.

实际上,社交网络中的许多推荐问题都可以归结为两类问题:产品推荐和用户推荐。产品推荐主要是向用户推荐他们可能会感兴趣的歌曲、电影、书或者产品等。例如Liu等[82]通过给网络新用户推荐一组“影响力”较大的产品集合,以此来引导用户的兴趣爱好。一些工作考虑影响力传播的效果,如向新用户推荐一些社交影响力比较大的用户[83],这个向新用户做推荐有点类似推荐系统的冷启动问题。

在现实生活中,当我们在需要做出决策的时候,通常会受到两个方面的影响,一个是社会影响,一个是自身影响。社会影响指的是人们在社会生活中,会受到周围环境中,其他社会个体的影响。比如自己的亲戚、朋友或同事等。在社会影响中,同时也需要考虑两个因素,一个是社会个体影响力,一个是对社会个体的信任度。在自身影响中,也会受到两个因素的影响,一个是自身爱好,另一个是物品特点。

具有高影响力节点用户,从某个角度上可以说明了他在网络中的口碑与地位的衡量,在一定程度上他的言行举止具有一定的信任度,会影响着他人对用户的看法和信任程度,所以具有影响力节点在基于自身影响力的同时若是发布负能量发文,或者长期发布用户不感兴趣的微博,那他很可能就会“掉粉”,所以高影响力用户的每一个发文都会主题明确,例如有些影响力用户专门发布萌宠的相关信息,有些用户专门发布穿衣搭配的图片,有些用户专门发布时尚的家居装修,有些用户专门发布各种美食,有些用户专门发布心灵鸡汤,有些用户专门发布实时政事,或者新闻,以及最近有很多商家会在微博上进行商品的发布,用户直接通过点击链接可以进行购买。因此除了一些大V用户或者营销用户会发布广告性质的发文,还有很多有影响力节点会发布自己的主题微博。


[1][58] Ramage D,Dumais S,Liebling D. Characterizing micro blogs
with topic models[C]/ /Proceedings of International AAAI Conference on
Weblogs and Social Media. Menlo Park. CA: AAAI,2010: 130-137.

[2][59]张晨逸,孙建,丁轶群.基于MB-LDA模型的微博主题挖掘[ J ]
.计算机研究与发展,2 0 1 1 ,4 8 ( 1 0 ) : 1 7 9 5 – 1 8 0 2 .

[3][60]谢昊,江红.一种面向微博主题挖掘的改进LDA模型[ J ]
.华东师范大学学报:自然科学版,2 0 1 3 ,1 1 ( 6 ) : 9 3 – 100.

[澳门金莎娱乐手机版,4][61]冯普超.基于CMBLDA的微博主题挖掘[D].杭州:浙江大学,2014:
37-47.

[5][62] Philip R,Eric H. Gibbs sampling for the uninitiated[R].
Technical Reports from UMIACS,2010.

[6][63]贝克,晓冬.社会资本制胜:如何挖掘个人与企业网络中的隐性资源[M].上海交通大学出版社,2002.

[7][64]天涯.六度分隔理论和150法则[EB/OL].].

[8][65]Granovetter M S.The Strength of Weak Ties[J]. American
journal of sociology, 1973: 1360-1380.

[9][66]王梓.社交网络中节点影响力评估算法研究[D].北京邮电大学,
2014.

[10][67] Meeyoung Cha, Hamed Haddadi,Fabricio Benevenutoets.
Measuring User Influence in Twitter: The Million Follower Fallacy[C].
Proceedings of the 4th International AAAI Conference on Weblogs and
Social Media (ICWSM),2010:10-17

[11][68]  Page, Lawrence, Brin, et al. The PageRank citation
ranking[C]// BringingOrder to the Web. Stanford InfoLab. 1998: 1-14.

[12][69]Kleinberg J M. Authoritative sources in a hyperlinked
environment[J]. Journal of the ACM, 1999, 46(5): 604-632.

[13][70]Zibin Yin, Ya Zhang. Measuring Pair-Wise Social Influence
inMicroblog[C], 2012 ASE/IEEE International Conference on
SocialComputing and 2012 ASE/IEEE International Conference on
Privacy,Security, Risk and Trust, 2012: 502-507.

[14][71]Lu Liu, Jie Tang, Jiawei Han, Meng Jiang, Shiqiang Yang.
Mining topic-level influence in heterogeneous networks[C]. Proceedings
of the 19th ACMinternational conference on information and knowledge
management, 2010: 199-208.

[15][72] Qianni Deng, Yunjing Dai. How Your Friends Influence You:
Quantifying Pairwise Influences on Twitter[C], International
Conference on Cloud and Service Computing, 2012:185-192.

[16][73] Bi, Bin, et al. Scalable Topic-Specific Influence Analysis
on Microblogs[C], Proceedings of the 7th ACM international conference
on Web search and data mining,2014: 513-522.

[17][74]Schafer.J., et al. Collaborative filtering recommender
systems. The adaptive web, 2007. 291-324.

[18][75]徐小伟.基于信任的协同过滤推荐算法在电子商务推荐系统的应用研究[D].东华大学,
2013.

[19][76] Paterek A. Improving regularized singular value
decomposition for collaborative filtering[C]//Proceedings of KDD cup
and workshop. 2007, 2007: 5-8.

[20][77] Koren Y.Factorization meets die neighborhood: a
multifaceted collaborative filtering model[C]//Proceedings of the 14th
ACM SIGKDD international conference on Knowledge discovery and data
mining. ACM, 2008: 426-434.

[21][78]Guy I,Carmel D. Social recommender systems[C]. Proceedings
of the 20th International Conference Companion on World Wide Web,2011 .

[22][79]Salganik M J,Dodds P S,Watts D J. Experimental study of
inequality and unpredictability in an artificial culturalmarket[J].
Science,2006,311: 854-856.

[23][80]BonhardP,SasseMA.”Knowingmeknowingyou”—usingpro- files and
social networking to improve recommender systems[J]. BT Technology
Journal,2006,24: 84-98.

[24][81]Leskovec J,Adamic L A,Huberman B A. The dynamics of viral
marketing[C]. Proceedings of ACM Conference on Electronic
Commerce,2006.

[25][82]Liu Q, Xiang B, Chen E,et al. Influential seed items
recommendation[C].Proceedings of the sixth ACM conference on
Recommender systems, 2012: 245-248.

3 关联规则挖掘

 

关联规则挖掘技术是实现移动电子商务个性化推荐的关键,直接决定着个性化推荐的效果。关联规则挖掘的目的是从海量信息中找到有商业价值的关联关系,并为商业决策提供支持。

协同过滤举例:四个用户ABCD,对5个商品abcde的兴趣与否见下表(实际用户对物品的兴趣程度有区别,需要具体的评分量化),这里方便理解原理,用二元值表示用户对物品是否感兴趣。

假设现有m条交易记录、n个物品,并且物品集合I={Ij|j=1,2,…,n},交易数据库D={Ti|i=1,2,…,m},则关联数据挖掘过程中涉及到的概念主要包括[3]:项集。集合I中的任意子集,有p个物品项的项集Ip={I1,I2,…,Ip}。关联规则。关联规则是类似于R:Ii?圯Ij这样的蕴涵式,表明如果数据库中的事务包含项集Ii,那么此事务也很可能包含项集Ij。支持度。假设组成关联规则r的物品项集为Ir,那么Ir在D上的支持度即为包含Ir的事务占D中所有事务的比例。频繁项集。频繁项集指的是数据库D中满足指定最小支持度的所有非空子集。

 

a

b

c

d

e

目标物品

A

1

1

0

1

0

1

B

1

0

1

0

0

0

C

0

1

0

0

1

1

D

0

1

1

1

0

获取频繁项集后,就能够根据频繁项集生成关联规则;值得注意的是,生成的关联规则中有很多是无意义或冗余的,为了提高推荐的质量,必须改进关联规则的评价过程。关联规则的评价过程又被称为关联规则的兴趣度量度;常见的度量方法有主观兴趣度及客观兴趣度,前者一般是基于用户的知识,而后者多依赖于挖掘数据和关联规则的表现形式。支持度――置信度框架是最经典的兴趣度量方式[4]:支持度用来度量关联规则的可用性,置信度用于评价关联规则的确定性。

 基于用户的协同过滤:指根据用户对各物品的兴趣度计算相似性,相似性的算法有很多(主要有余弦相似性、相关相似性以及欧式距离等),上述与用户D相似对最高的是用户A,用户A对目标物品的兴趣度为1,就可将目标物品推荐给用户D。

4 协同过滤推荐

基于item的协同过滤:指从物品维度上看,根据用户对每个物品的兴趣度,计算物品间的相似性,可以算出物品b和目标物品的相似性最大,用户D对物品b感兴趣,则很可能对目标用户感兴趣。

传统的电子商务技术在进行商品推荐时大多使用的是基于内容的过滤技术,这种方法在商品数量过多时的分析能力相对有限,而且难以发现用户已经展现出的兴趣之外的潜在兴趣。基于内容的过滤和协同过滤的推荐方式如图1所示:

3、基于内容的推荐算法

协同过滤推荐技术克服了基于内容过滤的不足,它根据其他习惯近似用户的偏好为当前用户推荐可能感兴趣的信息,并且在推荐时只需要用户的购买行为以及评分信息,并不需要其他额外信息,也不会涉及到用户的个人隐私。

商品为客观体,提取商品对象的特征,寻找相似度比较大的物品进行推荐。系统首先对物品的属性进行建模,通过相似度计算,发现物品A和B相似度较高,或者他们都属于同类物品。系统还会发现某用户喜欢物品A,由此得出结论,某用户可能对物品B也感兴趣,于是将物品B推荐给该用户。

协同过滤技术的步骤包括:采集电商的销售数据、评分数据,并根据相似性算法计算指定用户、商品间的相似性;根据相似性信息,获取和指定用户、商品最相似的k个目标,称为k近邻集合;根据k近邻集合的信息,预测指定用户对目标商品的购买兴趣。

    基于内容的推荐算法比较容易理解,主要用到分类、聚类算法,对用户兴趣可以很好的建模,并通过对物品属性维度的增加,获得更好的推荐精度。但是物品的属性有限,很难得到更多数据属性,且对于部分物品属性特征提取有时候比较困难,只考虑物品本身的特征,忽略用户的行为特征,存在一定片面性,对于从未购买物品的新用户存在冷启动问题,不能对新用户进行推荐。

5 ?结

 

要在移动电子商务中进行商品推荐需要发现用户偏好、分析用户行为,关联规则挖掘的目的是从海量信息中找到有商业价值的关联关系,协同过滤技术可以用于个性化推荐;这两者的结合可以有效用于移动电子商务,将特定内容有针对性的推荐给电商的潜在用户。

4、基于关联规则的推荐算法

  基于关联规则的推荐是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品,根据某种商品所属的置信度较高的关联规则,推荐物品。

根据用户的购买记录,提取关联规则,常用的算法有Apriori算法,为了提取频繁项集和一定置信度的关联规则。Apriori算法的主要原则是如果项集A是频繁的,那么它的子集都是频繁的。如果项集A是不频繁的,那么所有包括它的父集都是不频繁的,简化频繁项集的选择的复杂度。

 

5、基于RFM的推荐算法

 

6、基于人口统计特征的推荐算法

  这是最为简单的一种推荐算法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。系统首先会根据用户的属性建模,比如用户的年龄,性别,兴趣等信息。根据这些特征计算用户间的相似度。比如系统通过计算发现用户A和C比较相似。就会把A喜欢的物品推荐给C。

  基于人口统计特征推荐算法的优势是不需要历史数据,没有新用户冷启动问题,不依赖于物品的属性,不足是算法比较粗糙,效果很难令人满意,只适合简单的推荐。

 

7、混合推荐算法

融合以上方法,以加权或者串联、并联等方式尽心融合。实际应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果,如加权、变换、混合、特征组合、层叠、特征扩充、元级别等。组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。

1)加权(Weight):加权多种推荐技术结果。

2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。

3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。

4)特征组合(Feature
combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。

5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。

6)特征扩充(Featureaugmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。

7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入

 

 

二、 各种推荐算法的优缺点

 

推荐方法

优点

缺点

协同过滤推荐

新异兴趣发现、不需要领域知识;

随着时间推移性能提高;

推荐个性化、自动化程度高;

能处理复杂的非结构化对象

稀疏问题;

可扩展性问题;

新用户问题;

质量取决于历史数据集;

系统开始时推荐质量差;

基于内容推荐

推荐结果直观,容易解释;

不需要领域知识

新用户问题;

复杂属性不好处理;

要有足够数据构造分类器

基于规则推荐

能发现新兴趣点;

不要领域知识

规则抽取难、耗时;

产品名同义性问题;

个性化程度低;

基于人口统计

不需要历史数据,没有冷启动问题;

不依赖于物品的属性,因此其他领域的问题都可无缝接入

算法比较粗糙,效果很难令人满意,只适合简单的推荐

 

 

三、 推荐算法总结 

鉴于各种推荐算法的优缺点和适应场景,系统开始与系统成熟时的推荐算法应有区别。系统开始时,用户数据不够多,交易行为记录数据比较少,倘若利用基于内容和协同过滤的推荐算法存在很多新用户冷启动问题。在系统成熟时,用户交易数据较多,部分算法用到矩阵,产生较大的稀疏矩阵数据,运算量大,需要结合组合推荐法。总结B2B电商平台在系统初和系统成熟时的推荐算法建议:

  系统初可使用的推荐方法:

1、基于人口统计、热搜、浏览记录

   
基于人口统计的推荐:通过注册以及询问得知一些用户的属性信息,譬如年龄、居住城市、受教育程度、性别、职业等等,能够得到用户之间属性的相似度;

    热搜:站内热搜,按排名进行推荐;

   
基于浏览记录的内容的推荐:部分产品的内容特征比较好提取,比如带文字描述的产品,也有内容特征比较难提取的,如图片,或者浏览的商品不详,则需要人工或智能爬取相关信息。总的来说,这一部分的推荐是基于用户浏览的内容,通过提取特征,计算相似度,推荐相似产品(相似产品的推荐精确度可能比较难达到要求,通过提高粒度,进行品类推荐是常见做法)。

2、标签系统

   
利用标签也只能是提高有少量行为的用户的推荐准确性,对于纯粹的冷启动用户,是没有帮助的,因为这些人还没有打过任何标签。系统也可以给商品打上标签,但是这里面没有个性化的因素,效果会打一个折扣。从这个意义上讲,利用标签进行推荐、激励用户打标签以及引导用户选择合适的标签,都非常重要。引导用户多打标签,通过标签进行分类推荐也是常用的方法

3、多维数据的利用

每个人处于一个巨大的社会网络中,在多个网站存在行为数据,相当比例的用户都具有交叉购物的习惯,把这些网络数据整合起来,特别是知道每个节点身份的对应关系,可以带来的巨大的社会经济价值。使用‘迁移学习法’,可以实现跨领域的推荐。多维数据的利用能解决新用户的冷启动问题。

神州商桥的用户来自本来的用户群的比例应该很大,从其它的数据接口获取数据源,获得用户的基础信息。

 

系统成熟时可使用的推荐方法: 

1、 协同过滤推荐法

2、 基于内容的推荐法

3、 基于关联规则,用户与用户之间的关联,商品与商品之间的关联

4、 组合推荐法(协同过滤和基于内容的推荐的结合)

  
 这三个推荐法在电商系统成熟时应用的比较多,行为数据充足使得这些算法的推荐效果比较好,然而在数据量级特别大的时候存在数据稀疏问题,一般采用的解决办法是把这些商品信息粗粒化,譬如只考虑一个个的品类,数据就会立刻变得稠密。如果能够计算品类之间的相似性,就可以帮助进行基于品类的推荐。

 

四、推荐算法评价指标

  
准确度、多样性、新颖性和覆盖率。每一类下辖很多不同的指标,譬如准确度指标又可以分为四大类,分别是预测评分准确度、预测评分关联、分类准确度、排序准确度四类。第二个层次是商业应用上的关键表现指标,譬如受推荐影响的转化率,购买率,客单价,购买品类数等等,第三个层次是用户真实的体验,注意保护用户隐私。

 

五、 数据挖掘在电商中的应用(后续补充)

1、客户画像

2、精准营销

3、信用评级

4、广告推介

5、物流配送

6、舆情分析

 

 

相关文章