开发者社区> 凌云Cloud> 正文

内容推荐系统

简介: 何为内容推荐系统
+关注继续查看

我曾在不同公司⾥都听到过,他们的产品经理或者⼤佬问过这样的问题:我们的推荐系统标签够不够?


相信你也遇到过类似的问题。这其实是⼀个很⼤的误区:基于内容的推荐系统,标签只是很⼩⼀部分。


⽽且就算是标签,衡量质量的⽅式也不是数⽬够不够;所以,今天我要讲的内容,就是说⼀说脱离标签定式思维的内容推荐。


为什么要做好内容推荐

所谓的基于内容推荐,通俗⼀点来讲,就是⼀个包装成推荐系统的信息检索系统。这听上去有点残酷,但通常⼀个复杂的推荐系统很可能是从基于内容推荐成⻓起来的。


可以说,基于内容的推荐系统是⼀个推荐系统的孩童时代,所以,我们不能让⾃⼰的推荐系统输在起跑线上,得富养才⾏。那么,⾸先我就来讲⼀讲如何养成⼀个基于内容的推荐系统。


为什么基于内容的推荐系统这么重要呢?因为内容数据⾮常易得,哪怕是在⼀个产品刚刚上线,⽤⼼找的话总能找到⼀些可以使⽤的内容,不需要有⽤户⾏为数据就能够做出推荐系统的第⼀版。


内容数据尤其是⽂本,只要深⼊挖掘,就可以挖掘出⼀些很有⽤的信息供推荐系统使⽤。


另外,著名的流媒体⾳乐⽹站Pandora,其⾳乐推荐系统背后的“⾳乐基因⼯程”,实质上就是⼈⼯为⾳乐标注了各种维度的属性,这样,即便使⽤基于内容推荐的⽅式,也做出了很好的推荐效果。


听上去,上⾯这段话特别像是在安慰还处在冷启动阶段的你,事实上呢,其实并不全是,内容推荐的⽅式还有它的必要性。推荐系统总是需要接⼊新的物品,这些新的物品在⼀开始没有任何展示机会,显然就没有⽤户反馈,这时候只有内容能帮它。


基于内容的推荐能把这些新物品找机会推荐出去,从⽽获得⼀些展示机会,积累⽤户反馈、⾛上巅峰、占据热⻔排⾏榜。要把基于内容的推荐做好,需要做好“抓、洗、挖、算”四⻔功课。它们分别是对应了下⾯的内容。

1.抓:⼤⼚们从来不公开说的⼀件事是,他们⼀直在持续抓数据丰富⾃⼰的内容,所以做好⼀个基于内容的推荐,抓取数据补充内容源,增加分析的维度,两者必不可少。


2.洗:抓来的数据,相当于捡别⼈掉地上的东⻄吃,我们也得注意卫⽣,洗洗更健康,数据也⼀样,冗余的内容、垃圾内容、政治⾊情等敏感内容等等都需要被洗出去。


3.挖:不管是抓来的数据,还是⾃家的数据,如果不深⼊挖掘,那就和捧着⾦饭碗去要饭⼀样,浪费了⼤好资源。可以说,很多推荐系统提升效果并不是⽤了更复杂的推荐算法,⽽是对内容的挖掘做得更加深⼊。


4.算:匹配⽤户的兴趣和物品的属性,计算出更合理的相关性,这是推荐系统本身的使命,不仅仅是基于内容的推荐才要做的。


内容推荐系统框架


image.png

内容这⼀端:内容源经过内容分析,得到结构化的内容库和内容模型,也就是物品画像。⽤户这⼀端:⽤户看过推荐列表后,会产⽣⽤户⾏为数据,结合物品画像,经过⽤户分析得到⽤户画像。


以后对于那些没有给⽤户推荐过的新内容,经过相同的内容分析过程后就可以经过推荐算法匹配,计算得到新的推荐列表给⽤户。如此周⽽复始,永不停息。


内容源

在互联⽹中,抓数据是⼀件可做不可说的事情,哪怕是市值⼏千亿的⼤⼚,也有专⻔的⼩分队抓数据,补充推荐系统每天的内容消耗。因为,只有当内容有多样性了,⼀个推荐系统才有存在的合法性,所以⼤⼚职⼯们抓数据也是为了保住⾃⼰的饭碗。


爬⾍技术本身⾮常复杂、⾮常有学问,⽐推荐算法难多了,这⾥就不展开讲了。


不论是抓来的数据还是⾃家⽤户产⽣的数据,都离不开清洗数据。由于各家都在相互借鉴来借鉴去,所以抓到重复的内容也是很有可能的,去重与识别垃圾内容、⾊情内容、政治敏感内容等都是必修课。


关于这个环节的边⻆算法,我们在后⾯的⽂章中会专⻔花⼀些篇幅来讲。


内容分析和⽤户分析

基于内容的推荐,最重要的不是推荐算法,⽽是内容挖掘和分析。内容挖掘越深⼊,哪怕早期推荐算法仅仅是⾮常硬的规则,也能取得不俗的效果。举个例⼦,如果推荐物品是短视频,我们分⼏种情况看:

1.如果短视频本身没有任何结构化信息,如果不挖掘内容,那么除了强推或者随机⼩流量,没有别的合理曝光逻辑了;


2.如果对视频的⽂本描述,⽐如标题等能够有内容分类,⽐如是娱乐类,那么对于喜欢娱乐的⽤户来说就很合理;


3.如果能够进⼀步分析⽂本的主题,那么对于类似主题感兴趣的⽤户就可能得到展示;


4.如果还能识别出内容中主⻆是吴亦凡,那就更精准锁定⼀部分⽤户了;


5.如果再对内容本身做到嵌⼊分析,那么潜藏的语义信息也全部抓住,更能表达内容了。举这个例⼦是为了说明:随着内容分析的深⼊,能抓住的⽤户群体就越细致,推荐的转化率就越⾼,⽤户对产品的好感度也就增加了。上⼀篇中我列举了⽂本数据——这也是内容数据最常⻅形式的分析⽅法。内容分析的产出有两个:

1.结构化内容库;

2.内容分析模型。


结构化的内容库,最重要的⽤途是结合⽤户反馈⾏为去学习⽤户画像,具体的⽅法在上⼀篇中已经介绍了。容易被忽略的是第⼆个⽤途,在内容分析过程中得到的模型,⽐如说:

1.分类器模型;

2.主题模型;

3.实体识别模型;

4.嵌⼊模型。


这些模型主要⽤在:当新的物品刚刚进⼊时,需要实时地被推荐出去,这时候对内容的实时分析,提取结构化内容,再于⽤户画像匹配。


内容推荐算法

对于基于内容的推荐系统,最简单的推荐算法当然是计算相似性即可,⽤户的画像内容就表示为稀疏的向量,同时内容端也有对应的稀疏向量,两者之间计算余弦相似度,根据相似度对推荐物品排序。


你别嫌糙,如果你内容分析做得深⼊的话,通常效果还不错,⽽且基于内容的推荐天然有⼀个优点:可解释性⾮常强。


如果再进⼀步,要更好地利⽤内容中的结构化信息,因为⼀个直观的认识是:不同字段的重要性不同。


⽐如说,⼀篇新闻,正⽂和标题中分析出⼀个⼈物名,评论中也分析出其他⽤户讨论提及的⼀些⼈物名,都可以⽤于推荐。直观上新闻的正⽂和标题中更重要。


那么,我们可以借鉴信息检索中的相关性计算⽅法来做推荐匹配计算:BM25F算法。常⽤的开源搜索引擎如Lucene中已经实现了经典的BM25F算法,直接拿来使⽤即可。


前⾯提到的两种办法虽然可以做到快速实现、快速上线,但实际上都不属于机器学习⽅法,因为没有考虑推荐的⽬标,⽽我们在之前的专栏中就专⻔强调了⽬标思维,那么,按照机器学习思路该怎么做呢?


⼀种最典型的场景:提⾼某种⾏为的转化率,如点击、收藏、转发等。那么标准的做法是:收集这类⾏为的⽇志数据,转换成训练样本,训练预估模型。


每⼀条样本由两部分构成:⼀部分是特征,包含⽤户端的画像内容,物品端的结构化内容,可选的还有⽇志记录时⼀些上下⽂场景信息,如时间、地理位置、


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
10012 0
内容推荐系统
何为内容推荐系统
386 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20693 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18995 0
推荐系统之冷启动问题
冷启动问题同比于启动车辆,通常车正式开启之前需要有热车阶段,这个过程就是冷启动过程。冷启动在推荐系统也是常见的问题,大家知道类似于抖音、淘宝等工具,都会根据用户的兴趣去推荐内容,如果一个新用户进来,系统完全不清楚他的兴趣,该如何推荐呢?这就是本文要给大家介绍的内容。
726 0
推荐系统入门之使用协同过滤实现商品推荐的实验报告-3
推荐系统入门之使用协同过滤实现商品推荐的实验报告-3
28 0
推荐系统的一些思考
推荐系统一直以来都是电商网站必不可少的一项,在提升用户转化,增加GMV方面可谓功不可没,那么一个好的推荐算法必然会创造更大的价值,刚好最近听了一个关于推荐算法的讲座,写出来一些思考吧,算是分享一下。
1428 0
推荐系统之眼
这半个月除了工作上的事,一直忙于学习机器学习基础理论,每天背着四五本书上下班,还蛮有读书时的感觉。之前写了一篇文章,叫基于用户画像的实时异步化视频推荐系统,应该说只是完成了一个心脏,整个数据集经过心脏的起博,开始流动起来,并且能够对外提供服务。
2705 0
+关注
凌云Cloud
All in Cloud Native PaaS , Focus on Develop\Data middle-end
60
文章
15
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载