基于多样性选择因子的多目标混合推荐研究
2019-07-15李冰,王虎,王锐
李 冰,王 虎,王 锐
(1.江西师范大学 软件学院,江西 南昌 330022;2.武汉理工大学 管理学院,湖北 武汉 430070;3.江西理工大学 经济管理学院,江西 赣州 341000)
近几年互联网信息呈几何数增长,为了让用户在海量信息中快速找到自己需要的内容,需要服务推荐系统向用户实施服务内容的主动式推荐。目前的服务推荐领域主要偏向于研究提升推荐的精准度,随着研究的不断深入,推荐算法的精准度逐步提升,但同时推荐内容给用户带来的信息量越来越少,视野狭窄,缺少多样化的推荐内容。
在服务匹配(服务推荐)领域,学者们对客户个性化服务推荐展开了深入的探讨,个性化服务推荐技术已经被广泛运用于电子商务、移动通信、社会保险、教育、医疗等众多行业,其研究重点在于为个体客户提供个性化服务内容[1-6]。在个性行为分析方面,ANDREASSEN等[7]通过对用户个体差异进行分析,对驱使用户网上抱怨的因素展开了研究。张晓东等[8]基于价值性和适应性两个维度对个体行为进行分类研究,提出个体行为分析与优化方法。以上研究主要是从用户个性行为的角度进行分析,探讨不同的个体特征会带来怎样的行为,而不是从个性特征与客户个体所需要的服务之间的关系展开研究。
人类具有社会性群体活动的天性,近年来,学者们开始关注客户群体服务推荐[9-13]。目前,群体服务推荐的研究文献还相对较少。无论是个性服务推荐还是群体服务推荐,其研究目标都是使得服务推荐系统的推荐效果越来越精准。
随着研究的不断深入,学者们发现过分追求精准性指标,会牺牲服务推荐结果的多样性。学者们开始将服务推荐目标从精准性转向到多样性。如邓明通等[14]提出了基于用户偏好和动态兴趣的多样性推荐方法。石进平等[15]基于社交关系和用户偏好提出一种面向多样性和相关度的图排序框架。柳益君等[16]研究发现用户社交网络分析可为高校图书馆发现用户的多样兴趣,进而提供主题多样性的阅读推荐服务。王茜等[17-18]提出基于价格消费习惯的商品多样性推荐方法。杜巍等[19]提出一种融入新鲜度度量的多样性推荐模型,在候选推荐项目集合中增加新鲜度参数来调节长尾项目所占比例,进而生成最终的推荐列表。MA等[20]构建了双图网络模型,提出了一种提高聚合推荐多样性的算法。但总体来说,对于多样性推荐的研究时间还比较短,服务推荐多样性研究还不成熟。
国外少数学者提出服务的多样性和精准性可以由用户自由选择,推荐系统可以向用户提供一个自由选择调节按钮,按钮的两端分别是多样性和精准性。当用户选择偏向于多样性时,推荐列表当中新颖性的商品权值更大,排序靠前。当用户选择偏向于精准性时,推荐列表当中热门商品权值更大,排序更靠前。但这种思路的本质上还是将精准性和多样性对立起来,没有有机统一。
基于上述现状,笔者提出一种考虑了多样性和精准性的多目标混合推荐模型,研究客户对服务内容的多样化选择偏好,从众多倾向性变量中抽象并概括出3个具体因子:二次选择因子、个性选择因子和热门选择因子,这3个因子变量能够从宏观上概括和解释客户的多样化选择情况,揭示出事物之间本质的联系;然后基于3个多样化因子构建混合推荐策略,同时满足客户对服务内容的重复选择、差异选择和热门选择的倾向性需求。笔者所探求的理论与方法,旨在对目前的服务匹配理论与方法的不足进行补充和完善,该研究不仅在方法和算法方面进行了创新,还基于多样化因子视角提出了多目标混合服务匹配思想和方法,为今后服务匹配和服务推荐等领域的深入研究提供了新的方向。
1 客户服务选择多样性因子分析
客户在选择产品时,选择性会多种多样,有时会重复购买已经购买过的商品,有时会选择新颖的个性化内容,有时会选择热门的商品。服务推荐系统如果要准确推荐服务内容,就必须先确定客户多样性选择因子(diversity selection factor,DSF),笔者将多样化选择因子进一步细化为二次选择因子fi、个性选择因子fp和热门选择因子fg。其中,fi为二次选择因子,客户在购买商品时,有些商品需要重复性购买,如日用品,每隔一段时间就需要重复购买,因此推荐系统需要根据惯性进行二次推荐。fp为个性选择因子,有些客户不喜欢从众,喜欢标新立异,购买能够展示自己与别人不同的商品,因此推荐系统需要根据客户兴趣偏好进行个性推荐。fg为热门选择因子,有些客户在购买商品时喜欢购买热门商品,这样有更多的安全感,因此推荐系统需要根据热销排行榜进行热门推荐。
目前个性化服务推荐和热门服务推荐已有大量的研究成果,而二次服务推荐研究较少。客户关系管理的目标是吸引新客户,留住老客户。以往的服务推荐系统的推荐思路是:客户购买了商品A,推测其可能需要商品B并推荐给该客户,忽视了对已购买商品的二次推荐,即客户在未来某个时刻或者某个场景下还会再次购买A产品,并在这之前向客户推荐。在实践中,二次推荐的关键在于找准推荐的时机,如果时机把握不准,过于提前或延后,则对用户来说这种推荐信息就是一种骚扰信息。
从推荐的内容上看,二次推荐可以分为完全重复推荐、部分重复推荐和推理式推荐。完全重复推荐是指对客户实施再次推荐时,所推荐的内容和客户历史购买产品完全一致。部分重复推荐是指对客户实施再次推荐时,所推荐的内容和客户历史购买产品部分相似,并非完全一样。推理式推荐[21]是指对客户实施再次推荐时,先预测客户的兴趣迁移和兴趣演化,然后推理出客户的服务需求,最后进行推荐。随着客户年龄的增长和对商品品质要求的提高,客户的兴趣也会变化。如客户在不同年龄段,对蛋糕的款式和造型要求都不相同。再如客户在某个时刻购买了《人工智能概述》这本书,接下来客户可能会深入了解人工智能方面的知识,这时系统可以推荐《人工智能算法》《人工智能实战》等书籍。
2 传统服务推荐算法
传统的服务推荐算法框架如图1所示,首先通过用户行为分析构建兴趣模型,然后选择一种具体的推荐算法,常见的推荐算法有协同过滤、基于用户推荐、基于内容推荐、基于人口统计推荐、基于关联规则推荐等等,得到服务推荐列表,最后将前N个项目推荐给用户。
图1 传统服务推荐的基本框架
不同推荐算法对客户不同的多样化选择因子的考虑是不一样的。基于用户的推荐和基于内容的推荐相比较,基于用户的推荐更容易产生新颖性、个性的服务内容,基于内容的推荐更容易产生与历史内容相似的推荐结果。不同推荐算法分析及其对多样性因子的倾向性选择如表1所示。
表1 不同推荐算法分析及其对多样性因子的倾向性选择
姜书浩等[22]针对不同人对多样性的偏好不同,提出一种在精准性和多样性之间平衡的推荐方法,首先基于客户历史数据预测客户的多样性偏好程度,然后对推荐列表进行过滤,产生满足不同多样性要求的推荐结果。该方法虽然涉及到了多样性选择,但不够全面,忽视了二次选择因子。
可见,目前已有的服务推荐算法在服务多样性的倾向性选择上面比较片面,服务推荐算法选定后,就会在3个选择因子当中倾向于其中的某个。而在实际应用过程中,客户的需求是多样化的,在不同的时期,客户的多样性倾向也会不同。一般对于新客户而言,比较倾向于热门推荐,对于老客户而言,比较倾向于个性推荐与二次推荐。
客户在不同生命周期阶段和不同情境下对于多样性选择因子的倾向不同。但是,目前的服务推荐算法并没有考虑到用户的这种倾向性选择,而是笼统地进行推荐,这样在实际运用过程中经常会出现错匹配现象。有的时候客户需要个性推荐,而推荐系统提供了很多重复性的推荐内容和极度热门的推荐内容;有时候客户需要周期性购买日常所需,推荐系统又推荐了非相关内容。这样就造成了推荐系统不够精准,更缺少多样性的现象。
3 基于多样性选择因子的多目标混合推荐算法
3.1 基于多样性因子的推荐框架
基于多样性因子的多目标混合推荐框架如图2所示,可看出二次推荐算法、个性推荐算和热门推荐算法的选取需要根据具体应用场景来确定。
图2 基于多样性因子的多目标混合推荐框架
选取基于内容推荐、基于用户推荐、基于人口统计推荐和协同过滤推荐算法,将各个算法所推荐的项目集混合在一起,构成推荐项目全集。项目全集中包含了二次推荐项目集、个性推荐项目集和热门推荐项目集。根据多样性选择因子权重的大小确定多样性项目集。如某客户在某时期的二次选择因子、个性选择因子和热门选择因子权重分别为0.3、0.5、0.2,假定客户前端只显示10个推荐结果,则可以按照权重大小先在个性项目集中选取前5个项目,在二次推荐项目集中选取前3个项目,在热门项目集中选取前2个项目,这10个项目即为最终的服务推荐结果。多样性项目集生成示意图如图3所示。
图3 多样性项目集生成示意图
3.2 多样性选择因子权重的确定
客户的多样性选择因子是动态变化的过程,不同的客户对二次选择因子、个性选择因子和热门选择因子的选择倾向不同。即使是同一客户,在客户不同生命周期阶段、不同情境下,客户的多样性选择也会有差异。故可以针对每位客户选择偏好来确定3个多样性选择因子权重搭配。将客户每次选择的服务内容按照3个多样性选择因子归为3类:二次选择服务项目、个性选择服务项目和热门选择服务项目。
(1)短期多样性选择因子权重的确定。从长短期来看,可以采用以下方法确定多样性选择因子权重。设I(t)=I1(t)∪I2(t)∪I3(t)为某客户在t时期所选择的服务项目全集。I1(t)为二次选择服务项目集,指客户在t时期之前也选择过的同类型服务项目集合。I3(t)为热门服务项目集合,指在t时期客户选择了热销榜单上面项目的集合。I2(t)为个性服务项目集合,I2(t)=I(t)-I1(t)∪I3(t),既不出现在热销榜单上面、又不出现在二次选择项目上面的内容被认为是客户的个性选择服务项目。NI1、NI2、NI3分别表示二次选择服务项目集I1(t)、个性服务项目集I2(t)、热门服务项目集I3(t)所包含的项目数量。
(2)长期多样性选择因子权重的确定。从长期来看,可以通过马尔科夫链来预测客户对不同服务类别的偏好,这里通过实例进行说明。将客户每次选择的服务内容按照3个多样性选择因子归为二次选择服务项目、个性选择服务项目和热门选择服务项目3类,分别标记为A、B、C。假设某一时刻客户状态转移的概率只依赖于其前一个状态,即客户当前选择服务类别的概率只依赖于其之前选择的服务类别。通过分析某位客户的历史服务选择记录,可得到某客户对不同服务类别的倾向表,如表2所示,其中的状态转移概率为模拟值,该客户对不同服务类别选择的马尔科夫模型如图4所示。
表2 某客户对不同服务类别的倾向
图4 某客户对不同服务类别选择的马尔科夫图
4 推荐系统冷启动问题
对于初上线的推荐系统,由于客户与服务内容关联数据较少,难以准确预测客户的多样性选择偏好。为了解决冷启动问题,可以从粗粒度角度来确定多样性选择因子权重。具体思路是以客户群为单位,计算一个综合性的多样性服务选择因子。根据客户当前状态及偏好选择三者组合搭配比例,确定多样性选择因子F={fi,fp,fg}。待系统运行成熟后,可以根据每位客户的当前状态有针对性地确定多样性选择因子。
笔者通过多智能体模拟方法,设置固定周期和一定数量的客户,模拟3个因子在不同比例下整个系统运营的绩效,找出整体绩效最佳情况下3个因子的搭配比例。
设有N个客户组成一个群体,第i个客户所选择的服务内容为一个D维向量Xi=(xi1,xi2,…,xiD),i=1,2,…,N。对于第i个客户而言,推荐系统每次所推荐的服务内容也可表示为一个D维向量Vi=(vi1,vi2,…,viD),i=1,2,…,N。客户选择服务后的满意度为函数f(∑Xi)。
客户群每完成一次服务选择后(即完成一次迭代),可以得到第i个客户目前最偏好的服务内容,即pbest(i)=pgi=(pi1,pi2,…,piD)。在所有客户历史最优偏好当中找到最大值,其所对应的服务内容可表示为gbest=(pbest(1),pbest(2),…,pbest(N))=(pg1,pg2,…,pgD)。其中,pbest为客户的个性偏好选择,体现出客户对个性选择因子的倾向;gbest为整个客户群的共性选择,体现出客户对热门选择因子的倾向。
推荐系统运行客户满意度可根据式(1)~式(2)不断进行更新:
vid(t+1)=w×vid(t)+c1r1(t)(pid(t)-
xid(t))+c2r2(t)(pgd(t)-xid(t))
(1)
xid(t+1)=xid(t)+vid(t+1)
(2)
式(1)表示推荐系统在给定二次选择因子、个性选择因子和热门选择因子3个权重值之后对推荐列表进行更新后的推荐内容。式(2)表示客户根据最新系统推荐内容而做出的服务选择。
5 结论
针对目前已有的服务推荐算法对于客户选择的多样性因子缺乏全面考虑的现状,提出客户对服务项目的多样性选择因子,具体包括:二次选择因子、个性选择因子和热门选择因子。基于3个多样性选择因子,提出一种多目标混合推荐模型,在实施服务推荐之前先挖掘客户对不同多样化因子的偏好程度。
笔者针对冷启动问题,采用多智能体模拟的方法确定了冷启动阶段3个多样性选择因子的搭配比例。对于刚上线的系统,可以设置二次选择因子、个性选择因子和热门选择因子的初始权重比例分别为25%、25%、50%。待系统运行成熟后,可以运用马尔科夫链计算不同多样性因子的权重。基于混合算法得出能同时满足客户所有多样性选择因子的服务项目。
以电商为例,企业在实施服务推荐时,可以在其门户网站首页上面展现多样化推荐内容。目前各大电商网站是在门户网站主页上面推荐热门商品,缺少个性商品和二次推荐商品。每位客户登录网站之后,首页所显示的内容都千篇一律。基于笔者提出的方法,电商企业可以根据每位客户3个影响因子的权重大小来布局3类商品。权重大的因子,将其显示在主页更为显眼的位置。这样一来,门户网站主页不再是千篇一律,而是为每位客户“量身定制”。
笔者所提出的推荐策略弥补了已有的服务推荐理论的不足,并对未来的智能化、主动化电子商务服务平台的设计提供了借鉴。