阿里云与无邪科技合作:打造端到端的个性化推荐系统

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 无邪科技旗下产品「分配对象App」[5](参见图1)是致力于帮助走心、认真的95、00后单身年轻群体脱单的新一代“清新”恋爱社交平台,目前注册用户超过了300多万,覆盖全国34个省,301个城市,已经成功的帮助数千人脱单。

背景介绍

无邪科技旗下产品「分配对象App」[5](参见图1)是致力于帮助走心、认真的95、00后单身年轻群体脱单的新一代“清新”恋爱社交平台,目前注册用户超过了300多万,覆盖全国34个省,301个城市,已经成功的帮助数千人脱单。

分配对象App团队认为如果要真正的为走心、认真的群体解决恋爱脱单问题,必须得做好两件事:

  • 第一件事,就是用户纯度的把关,分配对象App团队认为首先得保证用户都是单身的、有脱单意愿的、以脱为目的的,只有这样才能保证真正想要走心、认真找对象的用户更好的脱单。平台杜绝YP,坚决打击不走心、不认真的交友行为。
  • 第二件事,为用户推荐喜欢、合适的用户,来保证更高效率的遇见心仪的对象。「分配对象App」在产品功能选择方面,也选择了市面上匹配效率较高的基础交互方式“划动匹配”,作为其中的一种遇见心仪对象的方式,即上划心动、下划无感,相互心动配对聊天。

image.png

图1 分配对象APP

那么如何为用户在海量的候选人中推荐出心仪的对象,从而快速实现用户配对,对于平台和用户来说都是一件非常重要且同时具有挑战的事情。为了解决这个问题,阿里云ADBPG团队和无邪科技一起,开发打造了端到端的个性化推荐系统。当前系统通过分析、挖掘用户历史浏览行为,发现用户的个性化需求与兴趣特点,进行建模,主动将用户可能的心仪对象推荐给用户。当前系统采用经典的YoutubeNet[1]深度学习框架模型,结合ADBPG向量相似度检索引擎,搭建个性化推荐系统,可以快速准确地为用户提供心仪的对象。

个性化推荐系统应用

在这里,我们以给女生推荐男生的模型,展示一下新老算法的对比结果,这样可以更直观的了解个性化推荐系统的效果。

A算法:主要使用简单规则来进行推荐,通过对用户与候选人之间的距离,以及活跃时间,手动设置不同的权重,累加求和之后,从而推荐出相关的候选人集合。

B算法:采用YoutubeNet[1]深度学习框架,建立相关的模型,系统抽取了142个特征,包括用户的标签,用户的地理位置信息,用户浏览的历史记录,以及用户点击的时间,和用户的活跃度。当前用了40天的用户浏览记录来进行训练,我们以用户的点击率来作为学习目标,进行模型的训练。

同时我们做了线上A/B检测分析,A/B测试总共测试了两天,取了两天的均值。算法A的上划率是9.86%,算法B的上划率是14.92%,上划率提升了51.4%。

image.png

个性化推荐系统应用架构设计

推荐系统框架介绍

一般推荐系统实现了两阶段排序(见图2):

候选集筛选层(召回):从几百万的候选人的里面,通过深度学习框架以及向量ADBPG检索,选出几百个候选集合。

精排层(重排):通过更多的信息,完成几百个候选人的精排。

image.png

图2 两阶段推荐排序

首先,我们介绍一下候选集筛选层(见图3)。我们自底而上看这个网络,底层包括两部分信息(1)查询人的信息,包括学校,所在位置,爱好,上划次数,曝光次数,年龄,最近活跃时间等;(2)查询人的浏览候选人的记录,包括候选人的学校,所在位置,爱好,上划次数,曝光次数,年龄等。候选人的浏览的信息会根据时间设定不同的权重(参见公式1),设置权重的思路主要在于最近的浏览用户权重会设置的高一些,离得远的浏览到的用户权重设置小一些;当然,对这些原始数据我们还做了开方和平方等处理。

image.png

对于设置不同浏览权重的方法,也可以采用其他方式进行权重的设定4,从而进一步提升模型的准度。系统会将这些特征连接到一起,传给上层的ReLU神经网络。系统模型训练之后,会得到候选人的向量,这些向量会导入到ADBPG向量检索系统中。用户的向量,会根据当前的浏览记录等相关信息,通过深度学习框架(图2),实时生成。

image.png

图3 YoutubeNet向量抽取框架

其次,对于精排层来说,YoutubeNet[1]会利用更多的信息,构造一套深度学习模型,来进行推荐。对于当前项目,我们为了提升客户之间的相互聊天的概率,将最近活跃的用户推荐给用户,我们对最后登录时间进行重排。完整的SQL参见程序1。ADBPG只需要简单的SQL,就可以实现浏览去重,向量查询,以及相关的重排。

程序1 推荐算法的SQL

SELECT *
FROM users_info
WHERE uid IN (
  SELECT uid
  FROM users_info 
  --方便用户去掉之前浏览的id
  WHERE uid NOT IN(SELECT unnest(array[1, 2, 99, 104]))
  --根据用户的当前的信息,转化成向量(ARRAY[1.0,0.3,0.5,0.6,0.1,0.2,0.3,0.9]),查询相关
  的候选集。
  ORDER BY l2_distance(feature_vector, ARRAY[1.0,0.3,0.5,0.6,0.1,0.2,0.3,0.9]) 
  LIMIT 50 
)
--按照活跃时间进行重排,将最近登录的候选集返回给用户,来提升两个人的聊天的概率。
ORDER BY login_at DESC
LIMIT 5

另外,YoutubeNet会需要计算查询人和候选人向量之间的点乘距离。因为ADBPG当前不支持点乘距离,所以我们将点乘距离转化成l2距离来进行计算(参考程序1)[3]。

推荐模型的训练,管理和上线

因为每天都会有新的用户加入,以及新的浏览记录产生,模型每天晚上都会重新采集数据,重新训练。因此,我们实现了全自动模型的训练,管理和上线,在这里进行详细介绍。当前系统包括两部分:模型训练框架和线上推荐框架。

模型训练框架包含了四个步骤(见图3):

(1)后台不断更新当天的增量日志信息,系统触发一次浏览,就会更新一条日志记录。系统定时将每日的日志更新上传到数据存储上(当前系统用oss进行数据存储[2])。

(2)系统定时触发模型训练。给训练服务器每日定时发送训练请求,系统开始进行训练,下载历史日志,以及增量日志,通过汇总日志记录生成训练数据,开始模型训练。

(3)模型训练好了之后,将训练数据,相关模型,以及合并之后的历史日志,上传到相关的oss上。

(4)模型训练好之后,还会做模型的准度验证。如果模型准度满足要求,生成新的版本,使用新的模型,更新向量提取服务器以及ADBPG中的候选人的向量。如果模型准度不满足条件,或报错,不使用新的版本,给相关系统发送报警信息。当前系统会保留最近的5个版本的模型,超过5个版本的模型会覆盖之前的模型。如果当前模型出现问题,可以快速回退到之前的版本。

用户通过我们的系统找到心仪的对象之后,就不会再使用当前的分配对象APP了。所以在训练的时候,我们选取最近40天的用户浏览数据来进行训练。我们也过滤了上划率和下滑率在95%以上的用户,这样做可以有效的避免一些不是真心选朋友,而是只是用于浏览的客户。同时,数据被分成了训练集和测试集来进行训练和测试。

image.png

图4 模型训练框架

模型上线推荐过程(见图5):

(1)发起推荐请求,将查询人的历史记录等相关信息发给向量提取服务。

(2)向量抽取服务提取出该查询人的特征向量。

(3)ADBPG向量检索引擎检索到相关的候选人的信息推荐给查询人。

image.png

图5 线上推荐框架

结尾

详细的ADBPG系统以及推荐模型,和模型上线框架请加我们的钉钉群,模型训练服务以及特征转向量服务会在近期开源出来,欢迎大家讨论和使用。

image.png

引用

[1] Paul Covington, Jay Adams, and Emre Sargin. Deep neural networks for youtube recommendations. In RecSys, pages 191–198, 2016.

[2] oss, https://cn.aliyun.com/product/oss

[3] 欧式距离和点乘之间的关系,https://www.zhihu.com/question/19640394

[4] Guorui Zhou, Chengru Song, Xiaoqiang Zhu, Xiao Ma, Yanghui Yan, Xingya Dai, Han Zhu, Junqi Jin, Han Li, and Kun Gai. 2017. Deep interest network for click-through rate prediction. arXiv preprint arXiv:1706.06978 (2017). https://arxiv.org/pdf/1706.06978.pdf

[5] 分配对象app,https://www.fenpeiduixiang.com/

[6] Guorui Zhou, Na Mou, Ying Fan, Qi Pi, Weijie Bian, Chang Zhou, Xiaoqiang Zhu, and Kun Gai. Deep interest evolution network for click-through rate prediction. arXiv preprint arXiv:1809.03672, 2018.

来源:阿里巴巴数据库技术 微信公众号
原文链接:https://mp.weixin.qq.com/s/zqfCQZEjS9H8LkCG8g_2uQ

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
7月前
|
人工智能 运维 监控
客户案例 | 阿里云向量检索服务Milvus版助力中免日上搭建在线推荐系统
阿里云向量检索服务Milvus版对比开源版本具有性能高、稳定性强、管控功能齐全等优势,为中免日上技术团队在电商领域搭建推荐系统提供了强有力的支持。阿里云Milvus不仅具备良好的可观测性,而且弹性扩缩能力能够适应日益增长的数据规模,同时版本平滑升级也能让技术专家更便捷、无痛地升级和体验新版本的产品能力。
客户案例 | 阿里云向量检索服务Milvus版助力中免日上搭建在线推荐系统
|
存储 搜索推荐 Cloud Native
为什么要使用阿里云pairec来搭建推荐系统?
阿里云Pairec是一个用于搭建推荐系统的云原生解决方案,它可以帮助用户快速搭建高性能、高可用的推荐系统,并提供了代码生成、ab test服务、实验报表后台等多种功能和工具,使得搭建过程更加简单和高效。
457 2
|
存储 搜索推荐 关系型数据库
基于阿里云RDS PostgreSQL打造实时用户画像推荐系统(varbitx))
用户画像在市场营销的应用重建中非常常见,已经不是什么新鲜的东西,比较流行的解决方案是给用户贴标签,根据标签的组合,圈出需要的用户。通常画像系统会用到宽表,以及分布式的系统。宽表的作用是存储标签,例如每列代表一个标签。但实际上这种设计不一定是最优或唯一的设计,本文将以PostgreSQL数据库为基础,给大家讲解一下更加另类的设计思路,并且看看效率如何。
993 0
|
机器学习/深度学习 存储 Web App开发
|
存储 分布式计算 监控
梨视频:基于阿里云E-MapReduce搭建视频推荐系统的实践
梨视频由前澎湃新闻掌门人邱兵创立。 在上线之前,它就获得了黎瑞刚华人文化近1亿美元投资,旗下《微辣》栏目总播放量已经超过4亿,并在上线1个月后获得“年度视频新媒体”大奖。 这样一款脱胎于传统媒体的创业型短视频软件,在视频领域异军突起,不仅让内人士在感叹梨视频内容生产力之强大的同时,也诧异于是谁在
13639 0
|
SQL 弹性计算 分布式计算
5块钱低成本阿里云大数据生态协同过滤推荐系统实战
前情提要 人工智能千千万,没法落地都白干。自从上次老司机用神经网络训练了热狗识别模型以后,群众们表示想看一波更加接地气,最好是那种能10分钟上手,一辈子受用的模型。这次,我们就通过某著名电商公司的公开数据集,在阿里云大数据生态之下快速构建一个基于协同过滤的推荐系统! 推荐系统大家都不陌生,早就已经和大家的生活息息相关。
5375 0
|
搜索推荐
【数据科学老司机在线教学第二期】阿里云大数据生态协同过滤推荐系统实战
人工智能千千万,没法落地都白干。 自从上次老司机用神经网络训练了热狗识别模型以后,群众们表示想看一波更加接地气,最好是那种能10分钟上手,一辈子受用的模型。 这次,我们就通过某著名电商公司的公开数据集,在阿里云大数据生态之下快速构建一个基于协同过滤的推荐系统!
5351 0
|
机器学习/深度学习 监控 算法
克拉克拉(KilaKila):借力阿里云快速构建短视频推荐系统
一文读懂如何利用阿里云PAI平台搭建个性化智能推荐系统
4405 0
|
存储 分布式计算 监控
梨视频:基于阿里云E-MapReduce搭建视频推荐系统的实践
深度解答:梨视频如何基于阿里云快速搭建一个套推荐系统?
4249 0
|
搜索推荐 算法 大数据
需求、系统、动机如何满足?阿里云推荐系统架构深度解析
阿里巴巴算法专家郑重分享了《阿里云推荐引擎》。他首先介绍了从搜索到导航到推荐的历程,然后分享了搜索引擎和推荐系统架构,推荐系统中需求、系统、动机的具体解决方案,最后介绍了阿里云推荐引擎、用户基因分析、行业解决方案。
6199 0

热门文章

最新文章