站浏览量 站访问人数
目录
  1. 1. 什么是推荐
  2. 2. 用户痛点
  3. 3. 推荐的方法
  4. 4. 推荐的优化

不经意间看到一个关于推荐的讨论视频,点进去看发现讲的还不错,对推荐的一些概念、实践经验、优化的前沿点谈了些,算是干货不错。以免忘掉,顺便记录下,也加一些自己的些许坑吧。

什么是推荐

用户与商品之间的联系,分两个层面,对用户是找用户感兴趣的商品;对商品而言,是找相似的商品(在广告领域,还需找对商品感兴趣的人)。总之,是给用户和商品之间建立联系。

用户痛点

现在报纸、新闻联播看的人少,手机上看推送的信息越来越多,背后的技术是个性化推荐技术。头条类的用户痛点在哪?

1
2
3
4
5
6
用户需求,产品的动作可以做一些,搜索是明确目的性的,推荐是一些长尾的信息,报纸是热门的信息;
用户不知道需不需要信息,主动push时,用户反感。

到底给用户推荐什么,是用户需要的么,用户也不知道喜欢什么,用户不想被推荐,推荐做起来很难。

推荐是做减法和加法,减法是多中选出你需要的,加法是你没接触到的你可以看到,最终是做减法,信息太多,哪些是用户需要的。

推荐所用的数据其实很少,很多缺少,导致冷启动问题。

推荐的方法

协同过滤,本质是过滤掉一些信息,关键是用户的建模,对用户的了解。

1
2
3
4
5
item-based,适用于用户数大于商品数,构造itemA与itemB的向量,计算item之间的相似度,余弦相似度;
user-based,userA与userB的相似度,根据交集的商品来计算,皮尔逊相似度,临近用户集。
svd,c=uev,c=user*item的矩阵,e是隐含特征的奇异值,解决数据稀疏问题,起到降维作用;svd有很多变种优化点,svd++,加入隐含的svd等。

频繁项挖掘,找出item之间的关联规则,support是X的频度;confidence(x-->y)是规则置信度=count(x)/count(x,y);可应用于推荐或一些场景的研究,发觉出有意思的数据点。

上下文信息,上下文信息不同领域有不同的标准,不同领域的理解不同,时间、地点、兴趣、背景等,每个人做的是一个点。称为背景知识比较确切点,因为人的兴趣是动态的,用户的需求分长期需求和短期需求,背景加需求会更精准。

丰富背景知识的手段,

1
2
3
4
5
6

用户角度,使用其他外部用户的数据,设计的产品引导用户的兴趣和特征;商品的角度,文本特征、图像特征其他特征,跟原来的商品的相似度。

打上标签,商品与用户可以建立连接,但是,标签打的准不准是个问题,

先验知识,做成一个知识图谱,来优化推荐,特别在冷启动时,效果很好,缺点是图谱是人为规定的,需人力;

推荐的优化

指标评价,线上和线下是可以一样的,推荐不同,线上测试很重要,ctr点击很重要,但是不是唯一的,关键是满意度,怎么评价满意度。学习算法,没有好的评价体系,就找不到优化的梯度,

embedding技术,可解释差点,

1
2
3
4
5
embedding在nlp中指词嵌入,把词变成向量,而词怎么成为向量,是从语料中训练出来,原理是词与其上下文的词可以看成是对标的关系,比如abcde五个词,c词的对标有ac,bc,cd,ce等,然后得到很多这种对标关系,喂入神经网络,输入的是前一个词,预测的是后一个词,反复训练后,得到一个词嵌入矩阵,得到了词的向量表示。

推荐中的embedding技术,是用户根据其背景知识,通过手段整合这些信息,最终的信息来表示这个用户,也就是隐含了很多信息点在内。

商品也是同样操作,最后只需比较整合后的两个数据,判断用户与商品的联系度。

注意力机制,哪些适合协同过滤,哪些适合用标签,

1
2