聊聊召回和NLP在推荐系统中的作用

系统
推荐系统是有技术壁垒的,涉及到各类算法和机器学习,工程实现就更难了。所以我们选择了神策智能推荐服务,但感觉效果不太好,通过他们提供的几个pdf,有了个大概的概念,发现召回是推荐系统中的重点。

[[408523]]

本文转载自微信公众号「虞大胆的叽叽喳喳」,作者虞大胆。转载本文请联系虞大胆的叽叽喳喳公众号。

推荐系统是有技术壁垒的,涉及到各类算法和机器学习,工程实现就更难了。所以我们选择了神策智能推荐服务,但感觉效果不太好,通过他们提供的几个pdf,有了个大概的概念,发现召回是推荐系统中的重点。

推荐系统的作用:降低信息过载,那如果本身每天可推荐的内容不多呢;发掘长尾,这个是核心,能让好文章有更多的曝光机会;提高转化率,是提升dau?还是用户粘性?

如何衡量推荐系统的好坏?可能人的感受更重要,但无法量化;如果利用CTR,一定程度上能反应好坏(点击后不看估计也没啥用),点击后的反馈可能更精准,比如浏览时长,做出准确的评论等等。

推荐系统整个过程主要包括两点,首先就是召回,也就是粗排,筛选出相对较小的候选集;其次就是排序,也就是精排,对物品进行打分。

推荐系统就是建立任何物品之间的关系,核心就是数据,包括三个部分:首先就是用户行为,看文章、点收藏都是;其次就是物品信息;最后通过行为和物品信息,形成用户画像,这个画像可能就是常规意义上的画像、标签化,但在机器学习中,它是隐式的,是向量化的,人无法直接理解。

接下去说说神策推荐系统提到的四种召回方法,见下图:

首先强调基于深度用户行为分析的召回,由于是向量化,所以很难向人解释它的优劣,太黑盒了;主要分为两个分支,协同过滤(基于矩阵分解)很常见了,缺点就是无法解决新内容冷启动问题,以及时效性不足;

其次就是深度学习召回模型(HMF),借鉴了facebook论文,主要提到四点好处,更全面的行为表达,比如结合点击、收藏、搜索等多种行为,能更全面地表示用户行为偏好;能够加入一些用户画像放到模型中;考虑用户行为顺序(感觉挺牛逼的);组合各类复杂特征。

其次就是自然语言技术,神策解释是为了解决新内容的冷启动问题,开始我有点疑惑,后来才明白,一篇新内容出来,立刻通过NLP技术,从中找到一些标签化(比如关键词)的内容,这样结合用户画像,快速推荐给用户。

但可惜的是神策推荐在我们业务场景中,居然没有用到NLP技术。最近也看一些文章,纯粹介于内容推荐也能弄出一个好的推荐系统。

比如通过分词、主题分析、word2vec(词向量隐式关系的分析),有了这些关键“元素”,可以用在相关性计算、召回、排序等过程。

如果没有NLP技术,哪怕人为(编辑或用户)打分类和标签(更细分的分类)也行,虽然不智能,也不精准,但也能代表一些民意。

不过图片和视频进行语义分析就难了,要引入一些其他解决方案。

最后神策提到了NLP技术的三个好处:

利用自然语言技术,得到能表示每篇文章主题内容的语义向量

根据语义向量,推荐用户喜欢的主题的文章

只需要分析文章内容,不需要用户行为,能很好的推荐新文章,解决性能内容冷启动问题

接着就是基于用户画像的召回,首先就是利用已有的关注(不是好友之间的关注)关系,你在APP上的每个行为都隐藏了用户偏好,比如搜索某个关键词(是不是表明想看某些相关的文章?所以文章NLP的分析多么重要),再比如点击某个标签(比如军事标签,是不是说明想看军事相关的文章),或者收藏了某篇文章(是不是可以推荐类似的文章)。

其次就是基于标签构建用户画像,用户有很多常规意义上的画像,可解释的,也能表明他的一些兴趣偏好,比如性别、经常发的文章、站内提供的可选择性标签,反过来,通过推荐系统不断完善用户画像,从而进一步做精准推荐。

最后就是多源数据,比如入门数据,编辑推荐文章,KOL文章,官方文章等等,这些在召回的时候很有用,在神策中是以权重体现,是否说明这用于排序?而非召回?

为什么说神策智能推荐还不成熟,比如没有来自于用户的负反馈(我不喜欢),没有使用NLP技术(对于我们这样的内容APP,这个太重要了),不理解业务型态(无法针对性的调优,这可能是垂直sass解决方案的弊端,太机器化了),结合它们的控制台,只能看到热门召回和基于行为的召回,都是默认策略。既然是个性化推荐,它怎么证明做到了个性化推荐,也担心最后的推荐效果退化到了编辑推荐。

 

最后好好理解这句话,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

 

责任编辑:武晓燕 来源: 虞大胆的叽叽喳喳
相关推荐

2017-06-29 13:02:54

大数据自然语言NLP

2022-04-02 08:14:02

JavaThreadLoca数据

2024-02-29 08:00:00

Kernel-CF机器学习

2021-08-10 08:43:16

蓄电池UPS供电系统

2022-08-24 16:50:59

人工智能机器学习DevOps

2019-03-10 08:13:28

物联网战场海洋

2022-04-14 10:19:40

系统应用技术

2010-06-09 14:36:44

TCP与UDP协议

2023-09-07 11:43:10

2020-08-25 10:02:09

AndroidHilt作用域

2010-05-25 16:04:45

VoIPVoWLAN

2022-07-20 23:04:59

矩阵分解算法Spark

2023-05-15 16:25:35

物联网

2021-12-14 10:24:44

可见性网络安全零信任

2023-07-03 14:55:43

​雾联网智慧城市

2022-05-11 10:29:02

物联网IoMT医疗物联网(

2023-04-27 15:01:41

数字经济国际贸易

2022-08-11 10:45:54

LoRaWAN 和物

2023-08-22 15:37:45

深度学习人工智能

2022-06-07 08:31:44

JavaUnsafe
点赞
收藏

51CTO技术栈公众号