写点什么

基于社交网络的客户智能 ( AI ) 推荐系统研究

作者:索信达控股
  • 2021 年 12 月 15 日
  • 本文字数:3562 字

    阅读完需:约 12 分钟

文 | 索信达 邵平

我们是索信达集团旗下的金融人工智能实验室团队,微信公众号(datamargin)将不定期推送原创 AI 科学文章。我们的作品都是由实战经验丰富的 AI 科学技术人员或资深顾问精心准备,志在分享结合实际业务的理论应用和心得体会。


推荐系统是用来做什么的呢?相信各位在日常生活中都能接触到,喜欢看新闻的朋友,可能用过今日头条,今日头条就是一款新闻推荐引擎产品,可以为用户提供个性化的新闻推荐;著名的电商网站亚马逊是最早做推荐系统的,他们的梦想是为每位客户建立一个个性化的商城。

就如同你走进一个商店,商店架子上的商品会根据你的喜好重新布局,互联网世界里有很多产品都包含推荐系统,比如一款音乐播放软件可能会根据的你听过的音乐,推荐一些你没听过但是可能会喜欢的音乐。总结起来,推荐系统就是通过数据发掘用户的个性化需求,从而为其提供个性化的建议的一种系统工程。



1、揭开推荐的神奇面纱


为什么现在各大电商网站,视频网站、应用 APP 等都纷纷推出自己的推荐系统呢?主要是因为随着互联网的发展,网上的信息量越来越大,在一个信息量过载的世界里,用户不知道该如何做出选择。



建行官网“千人千面”个性化推荐

试想一下这样的场景,有一个电商网站,有成千上万种商品。有一天,进来了三个客人,A 是电子产品发烧友,B 是化妆品爱好者,C 超级爱买书。他们想买一些符合自己喜好的商品,如果只能从网站上密密麻麻的分类列表去找,大概每个人都会觉得很累,客户的体验会非常不好。作为商家,如果想留住客户,可能就要想如何以最快的方式把客户喜欢的东西呈现在客户面前,而不是让客户去密密麻麻的商品列表里去寻找想要的商品,因此为了提高客户的点击率和转化率以及更好的定制化服务客户,推荐系统就由此而产生了。

1.1 推荐算法

推荐系统最核心的技术点是推荐算法,推荐算法的好坏直接影响推荐系统的使用效果。推荐算法我们可以理解为是一个函数,输入参数是用户和商品(或被推荐项目)的各种属性和特征信息;用户的特征信息,比如年龄、性别、学历、职业等。商品的信息,比如价格、颜色、类别等;将用户信、商品信息以及用户对商品的购买或评价信息,经过推荐算法处理后,最后可以返回一个按照用户喜好程度来排序的商品或项目列表。这就完成了一个推荐的过程。

1.2 常用推荐算法(列举 3 种)

(1)基于流行度的算法:这种算法非常简单粗暴,类似于各大新闻、微博热榜等,根据 PV、UV、或分享率等某种热度指标数据的排序来推荐给用户。这种算法的优点是简单,适用于刚注册的新用户。缺点也很明显,它无法针对用户提供个性化的推荐,没办法做到个性化的话,那推荐的意义就不是很大。

(2)基于协同过滤的算法:协同过滤算法(Collaborative Filtering, CF)是很常用的一种算法,在很多电商网站上都有用到。CF 算法包括基于用户的 CF(User-based CF)和基于物品的 CF(Item-based CF)。CF 算法确实简单,而且很多时候推荐也是很准确的。然而它也存在一些问题:在计算的过程中,冷启动问题。当有一名新用户或者新物品进入系统时,推荐将无从依据;另外在新闻和广告的推荐系统中,一些新闻和广告由于生存周期短,更新速度快,会导致大量项目不会有用户评分,造成评分矩阵稀疏,也就非常不利于这些内容的推荐。也就是说那些热门的物品会有更大的几率被推荐给用户,不利于长尾商品的推销。

(3)基于内容的推荐算法:这种算法能够很好地解决冷启动问题,并且也不会局限于于热度的限制,因为它是直接基于内容匹配的,而与浏览记录无关。然而它也会存在一些弊端,比如过度专业化(over-specialisation)的问题。这种算法会一直给用户推荐关注度高比较高的的 item,会使得推荐内容缺乏多样性。


以上算法,或多或少都会存在一些问题,在实际应用当中一般也不会基于一个算法去做推荐,它可能是一个算法组合。基于传统算法的推荐系统在推荐准确率这块还有很大的提升空间。

2、客户智能(AI)新颖算法


基于社交网络的客户智能 ( AI ) 推荐算法,这种推荐算法的新颖之处在于引入了用户的社交网络数据来预测用户对某种商品或服务的偏好评分。相比于传统的推荐算法,智能 ( AI ) 推荐系统能缓解数据稀疏问题,并且推荐准确率也比传统的算法大有提升。



为什么利用社交网络信息去做推荐呢?试想一下这样一个场景,周末张三想去看一场电影,张三他自己是一个喜剧类电影的爱好者,他从互联网上他搜索了一下最近比较热门的几部喜剧片,有西虹市首富、我不是药神、一出好戏。每部电影评分都很高,他不知道应该看哪部电影?于是他去问好朋友李四,李四说他这几部电影都没有看过,但是李四说他的同事看过西虹市首富,并且说非常好看。张三综合了一下自己的个人爱好、当下的流行热度、好友同事的评价,最后他可能会选择去看西虹市首富。

在日常的生活中,我们要做很多选择,看什么电影?,买什么牌子的化妆品?请客去哪家饭馆吃饭?找工作,买房子,我们都少不了去向朋友、熟人、打听一下他们的评价和建议,用户的决策过程常常会考虑周边朋友或熟人的评价信息,这些评价信息对决策者的决策过程起着不可忽视的作用,所以为了提高这个推荐的准确率我们非常有必要考虑引入社交网络数据。

2.1  社交网络的表达和应用

接下来给大家介绍一下社交网络的表达形式以及它的应用场景。社交网络,顾名思义,就是一种描述人和人之间的关系的网络,这个关系网络,可以用一种数学语言图来表示,图主要由节点和边组成,节点可以代表现实世界里的人,公司等等实体。边代表两个实体之间的关系,这个关系可以是很多种的。比如人与人之间的关系,有朋友、同学、同事、邻居等等。



通过对图的一些特性分析就可以对社交网络进行分析,比如:社交圈的识别类似于聚类分析,划分一些更小的社区,重要节点的识别、信息传播路径分析等等。社交网络分析的应用场景也非常广泛,可以用在精准营销中,分好社交圈子后可以对人进行精准化营销,推荐个性化的商品和服务,也可以用在识别互联网金融行业中的欺诈团伙,进行反欺诈预测;还可以用在分析疾病的传播路径上,切断网络中的关键节点就可以有效阻止传染病的传播。

2.2 基于社交网络的推荐算法原理

基于社交网络的推荐算法是怎样设计的呢?这个设计原理是这样的,我们认为用户的决策过程会受几个方面想信息的影响:首先是用户的个人偏好,其次是对所选择项目(产品或服务)的一个评价认知,这个评价认知通常有两个来源,一个是来自网络、媒体的公开信息,比如,畅销排行榜,流行榜等。从报纸、电视或者互联网上我们可以获取到这类的信息。另外一个是来自朋友或熟人的反馈信息。那这一块的信息就需要基于社交网络去做分析。

2.3 算法目标

基于这个思想,我们把算法的目标可以定义为构建一个基于用户个人偏好,商品的大众流行度及好友评价三类信息条件下的用户评分概率分布模型。写成公式的话就是一个条件概率分布函数简称目标概率分布函数。竖线的左边表示的用户 U 对商品 I 的评分变量取 K 值时的一个概率,K 的取值可以是 1-5,来刻画用户户对商品的偏好程度,分数越高,代表喜欢程度越高。竖线的右边描述的就是刚才说的三类信息。



如果我们假设这三部分的信息对用户的评分影响是相互独立的。根据贝叶斯独立分布公式,我们所要求的概率分布函数可以写成三个条件概率分布函数相乘。其中第一个函数刻画的是已知用户偏好条件下的用户 U 对商品 I 的评分概率分布,第二个函数刻画的是已知商品流行度条件下的用户 U 对商品 I 的评分概率分布,第三个函数刻画的是已知用户好友对商品评价信息条件下用户 U 对商品 I 的评分概率分布;这三个概率分布函数正好分别对应了前面讲的,影响客户决策的三个因素。通过分别计算这三个概率分布函数我们可以计算我们想要的目标概率函数。



那如何来计算已知用户偏好条件下的用户 U 对商品 I 的评分概率分布函数呢?那这个函数也可以通过一系列的变化,转化成一些可计算的式子。比如商品属性取某个值的概率。这些都是可以通过历史数据计算出来的



已知商品的流行度:根据朴素贝叶斯的特征独立假设,假设用户的各个属性特点之间是独立的,则



已知用户好友评价信息:




用户𝑼对商品𝑰的评分


3、待完善之处


3.1 如何有选择性的使用社交网络圈子里朋友的反馈信息?

基于社交网络的推荐算法还有一些需要进一步完善的地方,前面我们计算基于好友的评价信息之下的概率分布函数的时候是做了这样一个假设的,认为用户与他的好友对某种商品的评价是有一定相似性的,但是实际上,不可能所有的好友对所有的项目或商品的评价都会是相似的,那就需要我们找出对商品的需求具有相似性的好友出来。那这个时候对数据的要求也比较高。


3.2 当直接好友对商品的评论缺失该怎么办?

前面算法里用到的这个好友信息是指直接好友的信息,如果直接好友对这商品或项目没有评分的时候该怎么办呢?这个时候我们需要去进一步发掘间接好友的一个反馈信息了,这个反馈信息如何使用呢?这个就需要我们做进一步的算法扩充了。

发布于: 2 小时前阅读数: 5
用户头像

索信达控股(股票代码:03680.HK) 2021.05.20 加入

索信达被誉为港股金融AI第一股。核心团队和研发团队全部来自SAS、Teradata、FICO、德勤、毕马威、安永等,天然具有世界级产品厂商的血缘和水准及专业服务能力,是中国金融行业AI大数据、整合智能营销领导者。

评论

发布
暂无评论
基于社交网络的客户智能 ( AI ) 推荐系统研究