内容推荐系统

简介: 何为内容推荐系统

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


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


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


为什么要做好内容推荐

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


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


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


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


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


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


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

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


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


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


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


内容推荐系统框架


image.png

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


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


内容源

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


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


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


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


内容分析和⽤户分析

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

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


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


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


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


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

1.结构化内容库;

2.内容分析模型。


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

1.分类器模型;

2.主题模型;

3.实体识别模型;

4.嵌⼊模型。


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


内容推荐算法

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


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


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


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


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


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


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


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


目录
相关文章
|
4天前
|
搜索推荐 算法
音乐推荐系统协同过滤算法解释
音乐推荐系统协同过滤算法解释
65 1
|
自然语言处理 搜索推荐 算法
推荐系统:基于内容的过滤
此图像包含用户喜欢的电影的描述。根据用户喜欢的电影向用户推荐电影,需要使用这些描述得到一个数学形式,即文本应该是可测量的,然后通过与其他电影进行比较来找到相似的描述。 我们有各种电影和关于这些电影的数据。为了能够比较这些电影数据,需要对数据进行矢量化。在向量化这些描述时,必须创建所有电影描述(假设 n)和所有电影(假设 m)中的唯一词矩阵。列中有所有唯一的单词,行中有所有电影,每个单词在交叉点的电影中使用了多少。这样,文本就可以被矢量化。
224 0
|
机器学习/深度学习 存储 自然语言处理
# 【推荐系统】:协同过滤和基于内容过滤概述
# 【推荐系统】:协同过滤和基于内容过滤概述
# 【推荐系统】:协同过滤和基于内容过滤概述
|
前端开发 搜索推荐 数据处理
推荐系统-Task01熟悉新闻推荐系统基本流程
创建conda虚拟环境: conda create -n news_rec_py3 python=3.8 安装依赖文件: pip install -r requirements.txt
109 0
推荐系统-Task01熟悉新闻推荐系统基本流程
|
机器学习/深度学习 搜索推荐 算法
机器学习推荐算法之协同过滤(基于用户)【案例+代码】
机器学习推荐算法之协同过滤(基于用户)【案例+代码】
1296 0
机器学习推荐算法之协同过滤(基于用户)【案例+代码】
|
自然语言处理 算法 Python
基于微博评论的文本情感分析与关键词提取的实战案例~
在评论文本情感分析之前,我们需要将语句通过分词使其成为词语,然后优化分词结果,去掉无关的词语和字符。,以提高文本情感分析的准确度。
794 0
基于微博评论的文本情感分析与关键词提取的实战案例~
|
搜索推荐
推荐系统入门之使用协同过滤实现商品推荐的实验报告-7
推荐系统入门之使用协同过滤实现商品推荐的实验报告-7
210 0
推荐系统入门之使用协同过滤实现商品推荐的实验报告-7
|
JSON 分布式计算 搜索推荐
【王喆-推荐系统】复习篇-Sparrow的个性化推荐功能
为了训练推荐模型,需要准备好模型所需的样本和特征。在进行模型线上推断的时候,推荐服务器也需要线上实时拼装好包含了用户特征、物品特征、场景特征的特征向量,发送给推荐模型进行实时推断。
476 0
【王喆-推荐系统】复习篇-Sparrow的个性化推荐功能
|
机器学习/深度学习 开发框架 自然语言处理
2021召回技术在内容推荐的实践总结
本文从跨域联合召会、语义&图谱&多模态、用户多兴趣表征和未来工作四个模块展开。
727 0
2021召回技术在内容推荐的实践总结
|
搜索推荐
推荐系统之信息茧房问题
什么是信息茧房 信息茧房其实是现在社会一个很可怕的现象,从字面意思来看的话其实比喻的是信息被虫茧一般封锁住。这个问题反映了现在随着个性化推荐的普及衍射的一个社会问题。 ​ 平时在浏览新闻或者淘宝的时候,平台会自动根据用户的浏览记录获取用户的偏好,然后推送感兴趣的文章。
4202 0