- 外文名
- recommendation algorithm
- 分 类
- 基于内容、协同过滤、关联规则等
- 中文名
- 推荐算法
- 目 的
- 推测出用户可能喜欢的东西
-
推荐算法
2017-11-22 17:18:03推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好。所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出...推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好。所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。推荐算法主要分为6种。
基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤,所谓的基于内容的推荐方法就是根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。主要是从两个方法来描述基于内容的推荐方法:启发式的方法和基于模型的方法。启发式的方法就是用户凭借经验来定义相关的计算公式,然后再根据公式的计算结果和实际的结果进行验证,然后再不断修改公式以达到最终目的。而对于模型的方法就是根据以往的数据作为数据集,然后根据这个数据集来学习出一个模型。一般的推荐系统中运用到的启发式的方法就是使用tf-idf的方法来计算,跟还有tf-idf的方法计算出这个文档中出现权重比较高的关键字作为描述用户特征,并使用这些关键字作为描述用户特征的向量;然后再根据被推荐项中的权重高的关键字来作为推荐项的属性特征,然后再将这个两个向量最相近的(与用户特征的向量计算得分最高)的项推荐给用户。在计算用户特征向量和被推荐项的特征向量的相似性时,一般使用的是cosine方法,计算两个向量之间夹角的cosine值。
基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。 协同过滤算法主要是通过对未评分项进行评分 预测来实现的。不同的协同过滤之间也有很大的不同。基于用户的协同过滤算法: 基于一个这样的假设“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻 居的喜好做出未知项的评分预测。这种算法主要分为3个步骤:一,用户评分。可以分为显性评分和隐形评分两种。显性评分就是直接给项目评分(例如给百度里的用户评分),隐形评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。二,寻找最近邻居。这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法: 1.皮尔森相关系数。 2.余弦相似性。 3调整余弦相似性。 调整余弦 相似性似乎效果会好一些。三,推荐。产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。 这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。因而这种算法无法满足及时推荐的要求。基于项的协同过滤解决了这个问题。 基于项的协同过滤算法 根基于用户的算法相似,只不过第二步改为计算项之间的相似度。由于项之间的相似度比较稳定可以在线下进行,所以解决了基于用户的协同过滤算法存在的性能瓶颈。基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。在组合方式上,有研究人员提出了七种组合思路:
1)加权(Weight):加权多种推荐技术结果。
2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。
6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。 -
推荐算法概述:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法
2017-11-27 21:23:28所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。推荐算法主要分为两种 1. 基于内容的推荐 基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤,所谓的基于内容的...“无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。”
所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。推荐算法主要分为两种
1. 基于内容的推荐
基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤,所谓的基于内容的推荐方法就是根据用户过去的浏览记录来向用户推荐用户没有接触过的推荐项。主要是从两个方法来描述基于内容的推荐方法:启发式的方法和基于模型的方法。启发式的方法就是用户凭借经验来定义相关的计算公式,然后再根据公式的计算结果和实际的结果进行验证,然后再不断修改公式以达到最终目的。而对于模型的方法就是根据以往的数据作为数据集,然后根据这个数据集来学习出一个模型。一般的推荐系统中运用到的启发式的方法就是使用tf-idf的方法来计算,跟还有tf-idf的方法计算出这个文档中出现权重比较高的关键字作为描述用户特征,并使用这些关键字作为描述用户特征的向量;然后再根据被推荐项中的权重高的关键字来作为推荐项的属性特征,然后再将这个两个向量最相近的(与用户特征的向量计算得分最高)的项推荐给用户。在计算用户特征向量和被推荐项的特征向量的相似性时,一般使用的是cosine方法,计算两个向量之间夹角的cosine值。
2.基于协同过滤的推荐
基于协同过滤的推荐算法理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。 协同过滤算法主要是通过对未评分项进行评分 预测来实现的。不同的协同过滤之间也有很大的不同。
基于用户的协同过滤算法: 基于一个这样的假设“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻 居的喜好做出未知项的评分预测。这种算法主要分为3个步骤:
一,用户评分。可以分为显性评分和隐形评分两种。显性评分就是直接给项目评分(例如给百度里的用户评分),隐形评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。
二,寻找最近邻居。这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法: 1.皮尔森相关系数。 2.余弦相似性。 3调整余弦相似性。 调整余弦 相似性似乎效果会好一些。
三,推荐。产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。 这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。
因而这种算法无法满足及时推荐的要求。基于项的协同过滤解决了这个问题。 基于项的协同过滤算法 根基于用户的算法相似,只不过第二步改为计算项之间的相似度。由于项之间的相似度比较稳定可以在线下进行,所以解决了基于用户的协同过滤算法存在的性能瓶 颈。
3.基于关联规则推荐
基于关联规则的推荐(Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。
算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。
4.基于效用推荐
基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Product Availability)等考虑到效用计算中。
5.基于知识的推荐
基于知识的推荐(Knowledge-based Recommendation)在某种程度是可以看成是一种推理(Inference)技术,它不是建立在用户需要和偏好基础上推荐的。基于知识的方法因它们所用的功能知识不同而有明显区别。效用知识(Functional Knowledge)是一种关于一个项目如何满足某一特定用户的知识,因此能解释需要和推荐的关系,所以用户资料可以是任何能支持推理的知识结构,它可以是用户已经规范化的查询,也可以是一个更详细的用户需要的表示。
6.组合推荐
由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。
在组合方式上,有研究人员提出了七种组合思路:
1)加权(Weight):加权多种推荐技术结果。
2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。
6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。主要推荐方法的对比
各种推荐方法都有其各自的优点和缺点,见表1。
表1 主要推荐方法对比
推荐方法 优点 缺点 基于内容推荐 推荐结果直观,容易解释; 不需要领域知识
新用户问题; 复杂属性不好处理;
要有足够数据构造分类器
协同过滤推荐 新异兴趣发现、不需要领域知识; 随着时间推移性能提高;
推荐个性化、自动化程度高;
能处理复杂的非结构化对象
稀疏问题; 可扩展性问题;
新用户问题;
质量取决于历史数据集;
系统开始时推荐质量差;
基于规则推荐 能发现新兴趣点; 不要领域知识
规则抽取难、耗时; 产品名同义性问题;
个性化程度低;
基于效用推荐 无冷开始和稀疏问题; 对用户偏好变化敏感;
能考虑非产品特性
用户必须输入效用函数; 推荐是静态的,灵活性差;
属性重叠问题;
基于知识推荐 能把用户需求映射到产品上; 能考虑非产品属性
知识难获得; 推荐是静态的
-
网易云6亿用户音乐推荐算法
2019-11-17 23:52:21网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中...网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。
本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。
将从如下两个部分展开:
- AI 算法在音乐推荐中的应用
- 音乐场景下的 AI 思考
从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC(User Generated Content)歌单、以及精准推荐等服务,孵化出了音乐人计划、LOOK 直播、以及主播平台等版块。
目前云音乐的注册用户有 6 个亿,而且持续在音乐类 App 排行榜里蝉联着第一的位置。
AI 算法在音乐推荐中的应用
在音乐推荐的实际应用场景中,我们采用了 AI 技术来分发歌曲与歌单。其中比较典型的应用是:每日歌曲和私人 FM,它们能够根据个性化的场景,进行相关曲目的推荐。
上图是我们整个音乐推荐系统的逻辑图,包括各种日志流、ETL、特征、召回、排序和最后的推荐。
对于该推荐系统而言,最主要的是如何理解用户的画像,也就是通过对前端数据进行整合,了解用户具体喜欢什么样的音乐。
如上图所示:
- 在数据层,我们主要用到了 Hive、Hadoop、Flink、SparkSQL 和 Mammut。
- 在机器学习层,我们则用到了 SparkML、Tensorflow、Parameter Server 和 Caffe。
上面是数据体系建设的对比图,其中,算法体系建设包括了针对用户体系的建设,这是云音乐 AI 算法的应用环境。
而我们的团队则主要分为:
- 数据体验团队
- 人工智能算法团队
- 中台团队
- 业务相关的成员
说到采用人工智能的推荐方式,音乐类推荐与其他商品有着不同的地方。例如:
- 由于我们能够在很短的时间分辨出自己的喜好,所以我们可以做到在 10 秒钟内浏览十来条连衣裙。但是音乐是需要花时间去体验的,往往一首曲子我们听了 10 秒钟或者更长的时间后,才发现它并非我们所喜好的。所以说,音乐不是通过直接看就能被理解的,我们在制作推荐产品的过程中,应该以用户的体验为导向,真正去理解音乐的本身。
- 连衣裙往往在单位时间内只能被消费一次,但是人们可以通过循环播放列表、以及单曲循环的方式,在单位时间内反复欣赏音乐。因此,这是一种可重复消费的行为,我们在做推荐时应当把握此规律。
- 由于音乐消费的成本比较高,我们更需要重视用户的体验,以及用户在其消费过程中存在的、较强的时间先后关联性。同时,是否给让用户收听一首歌曲的 10 秒、30 秒、以及 60 秒,对他们来说其表达的含义是截然不同的。因此,我们需要提供的是真正有意义的消费,从而让这些关联性体现出有效的行为含义。
- 怎么去衡量音乐推荐系统的优劣呢?是考察用户使用该平台的时长?还是看他在收藏夹内收藏的音乐曲目数?当然,我们曾经发现有些用户从来不以点击红心的方式去收藏任何歌曲。后期通过交流,我们才发现他其实只是直接把自己碰到的不喜欢的歌曲拉黑了而已。可见,我们很难用单一目标去衡量音乐推荐系统的效果。
下面我们来看看,云音乐平台是如何应用各种 AI 技术的:
①音乐的复杂性
鉴于上面提到的有关音乐的复杂性问题,我们该如何去理解音乐呢?在我们的平台上,针对不同的音乐,有着丰富的 UGC、以及各式各样有质量的用户评论。
因此,我们可以运用这些针对歌单的评论与认知,采用双向的 bi-Istm,来针对音乐生成一些描述性的语句。
那么,当有新的音乐被输入时,我们便可以基于与之相关的较少的语言,来制定出一个新的解释性描述。
如上图所示,例如有一首《逆流之河》的歌曲,其下方有着许多相关的歌单标题和描述信息。
我们可以通过新增关键词,来还原各种标记词,进而产生对于该音乐人的相关特征描述。
在此基础上,我们再根据人工过滤的词汇表,自动生成诸如:“网络的华语女声”、“香港民谣歌曲”等短语。
因此,凭借着该 NLP(自然语言处理)系统,我们最终能够实现歌曲短语的可视化。
籍此,对于社区里的用户来说,他们甚至可以不用点开某个歌曲收听,就能够大致获悉该歌曲所归属的类型。
其次,我们可以利用比较简单的“视频+图像+卷积”技术,来理解音乐。
例如,对于一些比较热门的歌曲,我们利用已生成的表达、以及现有的关联性,进而获取相关的音频,识别歌曲的响度、节奏、风格、以及音乐之间的相似性,给音乐进行“画像”。
②音乐中的重复消费价值
这里主要体现的是音乐推荐中的 CF。如上图所示,我们通过跟踪发现:某个用户将 A 歌曲听了 10 次,将 B 歌曲听了 9 次,而 C 歌曲只听了 1 次。
那么我们就可以对 A、B、C 的相似关联性理解为:该用户偏好 A 和 B 类歌曲更多一些,而且 A、B 之间的关联性也更大一些。
因此,基于用户的此类重复消费频次,我们可以通过设置 X、Y、Z 坐标轴的关系,来表达它们之间的空间位置、以及空间方向的差异性。
显然,有了此类相似度的计算,我们对于各种音乐的推荐效率会有大幅的提升。
③音乐的高消费成本、前后高关联特性,更加要求有合适的模型去表达用户的需求
如上图所示,我们经历了从一开始的线性模型、到树模型、到大规模 FTRL、再到深度神经网络、最后到深度时序网络,这么一个音乐推荐方面的迭代过程。
首先,我们从 LR 模型入手。该 LR 模型的解释性较强,便于我们进行选择。不过,虽然它的解释性较强、且迭代的速度较快,但是它的表达能力是非常有限的。
后来,我们转到了树模型。该模型中的 RF 和 LGB 等模型具有:能够解决部分非线性可解释的优点,当然其缺点在于拟合能力有待加强。
接着,我们上马了适合表达的大规模 FTRL。其优点在于:可以通过记忆类特征,基于之前的学习和时序训练,表达并刻画出所有的特征与关联性。
而缺点则是特征纬度比较大,即:对于来自不同公司的不同需求,需要的样本量会比较多,计算量也会比较复杂。
为了增加后续的表达能力,我们采用了深度神经网络,包括:DNN、DeepFM 以及 Wide&Deep 等模型。
它们的优点是理论性非常强,而缺点是:由于本身神经网络的复杂性,因此它们的可解释性比较差,也不能学习到各种隐含的时序关系。
最后,我们采用了深度时序网络,其对应的模型包括:LSTM、GRU Transformer、DIN 以及 DEIN,它们的优点是能够学习到不同的时序特征,进而具有刻画+泛化的能力。
当然,它们同样带有上述提到的深度神经网络的缺点,即:网络比较复杂,而且可解释性比较差。
我们下面来看看 LR 以及树的模型。前面我们说过,线性与树模型的特点是:统计类/泛化类特征很丰富,但是泛化能力比较差。
在歌曲应用场景中,我们可以直接把与歌曲相关的、由用户行为所产生的丰富数据,提供给该模型。
通过算法,我们需要将各种音乐指标抽象成标签。可是,虽然我们有足够多的音乐资源和行为样本,但是由于行为序列往往不是线性的,因此我们反而遇到了过拟合、以及特征时间穿梭(即特征记忆)方面的问题。
我们亟待通过线下与线上的特征一致性,来有效地利用数据,学习不同行为的前后关联性,进而提升模型的拟合能力。
因此,为了提升拟合能力,我们首先尝试的是 DNN 模型。DNN 在结构上是通过 ReLU 来保证对于低阶特征组合和高阶特征组合的全连接,但是这也导致了整体数量的膨胀。
于是,我们改进为 DeepFM,它能够同时对低阶特征组合和高阶特征的组合进行建模,从而能够学习到各阶特征之间的组合关系。如上图所示,我们在后期还引入了 DCN。
DCN 可以显式地学习高阶特征的交互。我们可以籍此来有效地捕获高度非线性的交叉特征。
由于仍保持了 DeepFM 模型,我们可以有效地控制向量的扩张,从而让参数的空间得以缩小。
在前文中,我们也提及了时序关联表达的问题。对此,我们曾经采用过针对点击率的 DIN(Deep Interest Network)。
在用户的多样化兴趣点中,DIN 重点关注的是那些会影响到当前推荐的历史行为。不过,DIN 无法捕获用户对于音乐兴趣类型的动态变化。
例如,某个用户以前喜欢电声类音乐,后来改为喜欢民谣了。那么此类“演进”正是 DIN 所无法捕获的。
在此基础上,我们改用到了深度兴趣演化网络(DIEN)模型。该模型的主要特点是:通过关注用户在系统中的兴趣演化过程,设计了兴趣抽取层与进化层。
它采用新的网络结果和建模形式,来更精确地表达用户兴趣的动态变化,以及时序演进的过程。
为了更加细粒度地掌握用户的兴趣变化,我们还运用了 DSIN 模型。DSIN 主要由两部分构成:一个是稀疏特性,另一个是处理用户行为序列。
该模型能够发现某个用户在同一个 Session 中,所浏览商品的相似性;以及在不同 Session 中,所浏览商品的差异性,进而抽取用户的时序兴趣。
④在音乐消费中,鉴于用户需求的复杂性,很难用单一目标去衡量音乐推荐系统的优劣
虽说推荐系统是一个典型的统计学应用,但是统计学只能解决 95% 的问题,剩下的 5% 是有关个人偏好方面的。
我们在实际应用中往往会遇到各种问题,其中包括:CTR(Click-Through-Rate,点击率)与消费时长的关系并非同步提升,有时候甚至呈现出此消彼长的趋势。那么我们该怎么解决多目标的问题呢?
针对多目标问题,我们有许多种解决方法可供选择。如上图所示,有:样本加权、Weight Loss、以及部分网络共享。因此,我们采用了多目标联合训练,这种简单的实现方式。
在上图中,我们首先在网络层保证了各项输出,并实现了浅层共享表示。因此,在训练效果上,虽然目标之间也存在一定的差异性,但是随着我们引入了差异网络进行训练,收藏率和消费时长都得到了明显的提升。
可见,联合训练的优势在于:
- 通过多个目标任务在浅层共享表示,我们在任务之间加入了噪音数据。此举既降低了网络过拟合,又提升了泛化的效果。
- 在多目标任务的学习中,我们通过让不同任务的局部极小值处于不同的位置,并能够相互作用,以协助逃离局部的极小值。
- 通过多目标任务的联合训练,让模型尽可能地去求解多任务的共同最优解。
- 使用类似于“窃听”的方式,跟踪用户对于音乐的收藏等操作,进而做出相应的判断。
回顾我们在前文中所提到的音乐推荐与其他类型推荐的差异点,我们实现了如下点对点式的解决方案:
- 差异:基于音乐本身的复杂性,我们该如何理解音乐资源呢?解决:利用 NLP、视频、以及图像技术去更好地理解音乐。
- 差异:可重复消费与不可重复消费的不同之处。解决:利用音乐的消费特性,去智能地分析不同歌曲之间的关联性。
- 差异:各种音乐不但消费的成本较高,而且前后有着明显的关联性。另外,有效行为的含义往往会更加丰富。解决:利用复杂的 AI 模型,去探究用户听歌的序列关联性。
- 差异:很难采用单一的目标,去衡量音乐推荐系统的效果。解决:利用 MTL 技术,去解决用户的多样性需求。
音乐场景下的 AI 思考
那么,音乐场景为什么一定需要 AI 呢?显然,如今已经不是过去那种靠买 CD、唱片听歌的端到端时代了。
在我们的音乐推荐平台上有着亿万个用户。他们在不同的心情状态下,面对由十万多个音乐人产生的千万多首音乐作品,需要通过美好的音乐来获取良好的心情。
我们可以毫不夸张地说:“耳机是互联网时代的输氧管,而音乐则是氧气。”
因此,我们需要在一个 4 维的空间内,解决复杂的匹配问题。而这正是人工智能的用武之地。
通过基于 AI 的推荐系统,我们能够不断提供强大的长尾发掘能力和精准的匹配能力,进而在不断提升用户体验的同时,来促进他们自愿分享和发掘网易云音乐平台上更多的歌曲资源。
为了达到上述目的,我们建立了一个如上图所示的体系结构。具体包括如下方面:
- 用户心智模型体系。包括:行为、认知、态度等。
- 用户调研体系。包括:调研问卷等。
- Case 分析体系。包括:分析用户、及用户群的使用行为。
- 评估指标体系。包括:收藏率、切歌率、以及使用时长等。
- 数据反馈体系。包括:收藏、切歌、离开等正负向反馈。
通过这些定性和定量的用户体验评估体系,我们采用知识图谱、统计学习、以及强化学习相结合的方式,构建出了如下的三层模型体系:
- 排序体系。包含:排序模型、ee 模型、以及流行趋势模型。
- 匹配体系。包含:行为推荐模型、以及新内容发现模型。
- 数据体系。包含:行为数据、用户画像、以及内容画像。
通过上述这些,我们不断掌握与用户相关的数据知识、乃至专家知识,从而更好地提升了平台的针对性和用户的接受程度。
如有收获,点个赞,诚挚感谢
-
推荐算法分类
2019-11-22 12:04:24推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。 1、基于内容的推荐算法,原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了哈利波特I,基于内容的推荐算法...推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。
1、基于内容的推荐算法,原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了哈利波特I,基于内容的推荐算法发现哈利波特II-VI,与你以前观看的在内容上面(共有很多关键词)有很大关联性,就把后者推荐给你,这种方法可以避免Item的冷启动问题(冷启动:如果一个Item从没有被关注过,其他推荐算法则很少会去推荐,但是基于内容的推荐算法可以分析Item之间的关系,实现推荐),弊端在于推荐的Item可能会重复,典型的就是新闻推荐,如果你看了一则关于MH370的新闻,很可能推荐的新闻和你浏览过的,内容一致;另外一个弊端则是对于一些多媒体的推荐(比如音乐、电影、图片等)由于很难提内容特征,则很难进行推荐,一种解决方式则是人工给这些Item打标签。
2、协同过滤算法,原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢电影哈利波特I,那么就会推荐给你,这是最简单的基于用户的协同过滤算法(user-based collaboratIve filtering),还有一种是基于Item的协同过滤算法(item-based collaborative filtering),
这两种方法都是将用户的所有数据读入到内存中进行运算的,因此成为Memory-based Collaborative Filtering,另一种则是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚类,SVD,Matrix Factorization等,这种方法训练过程比较长,但是训练完成后,推荐过程比较快。
3、最后一种方法是基于知识的推荐算法,也有人将这种方法归为基于内容的推荐,这种方法比较典型的是构建领域本体,或者是建立一定的规则,进行推荐。
混合推荐算法,则会融合以上方法,以加权或者串联、并联等方式尽心融合。
当然,推荐系统还包括很多方法,其实机器学习或者数据挖掘里面的方法,很多都可以应用在推荐系统中,比如说LR、GBDT、RF(这三种方法在一些电商推荐里面经常用到),社交网络里面的图结构等,都可以说是推荐方法。
-
推荐算法——基于矩阵分解的推荐算法
2016-04-12 17:07:51一、推荐算法概述对于推荐系统(Recommend System, RS),从广义上的理解为:为用户(User)推荐相关的商品(Items)。常用的推荐算法主要有: 基于内容的推荐(Content-Based Recommendation) 协同过滤的推荐... -
简易推荐算法
2020-05-19 19:12:12推荐算法: 推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好。 发展背景: 推荐算法的研究起源于20世纪90... -
典型推荐算法总结
2018-11-23 21:05:42推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述 推荐算法是非常... -
协同过滤推荐算法(java原生JDK实现-附源码地址)
2017-12-02 13:55:28协同过滤推荐算法(java原生JDK实现-附源码地址) 一、项目需求 1.需求链接 https://tianchi.aliyun.com/getStart/information.htm?raceId=231522 2.需求内容 竞赛题目 在真实的业务场景下,我们往往需要对所有商品... -
推荐算法工程师必备!!!协同过滤推荐算法总结
2020-05-18 16:15:55推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述 推荐算法是非常古老... -
【推荐算法入门】推荐系统之推荐算法概述
2018-09-23 17:23:281. 什么是推荐算法 推荐算法最早在1992年就提出来了,但是火起来实际上是最近这些年的事情,因为互联网的爆发,有了更大的数据量可以供我们使用,推荐算法才有了很大的用武之地。 最开始,所以我们在网上找资料,... -
抖音推荐算法总结
2019-11-23 19:23:28抖音推荐算法究竟如何是做抖音短视频运营的同学非常关心的问题,抖音官方并没有披露正式的算法,但凭借着民间的智慧和官方披露的部分信息中,网友已经总结出抖音推荐算法的秘密。这里整理资料如下: 1. 发布后的... -
推荐算法概述(基于用户的协同过滤算法、基于物品的协同过滤算法、基于内容的推荐算法)
2018-05-02 20:35:24目前推荐系统研宄的主要趋势是从单一的、独立的推荐系统算法逐渐向组合多种推荐算法形成混合式的综合推荐算法方向发展,越来越多的结合用户标签数据、社交网络数据、上下文信息、地理位置信息。群体推荐也成为一个... -
推荐算法:基于特征的推荐算法
2018-02-13 11:33:31【转】https://www.52ml.net/12583.html目录 推荐算法准确度度量公式:集合...推荐系统架构参考文献:推荐算法准确度度量公式:其中,R(u)表示对用户推荐的N个物品,T(u)表示用户u在测试集上喜欢的物品集合。集... -
推荐算法概述
2019-06-26 17:17:23推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1.1 推荐算法概述 推荐算法是非常古老... -
推荐算法(一)—— 基于内容的推荐算法
2019-11-02 17:17:34推荐算法(一)—— 基于内容的推荐算法 1 基于内容的推荐算法 基于内容的推荐系统本质是对内容进行分析,建立特征;基于用户对何种特征的内容感兴趣以及分析一个内容具备什么特征来进行推荐。 1.1 基于内容的... -
推荐系统Lambda架构介绍(三):推荐算法、推荐模型构建流程、协同过滤推荐算法、相似度计算、使用协同过滤...
2020-03-07 23:54:42文章目录1.3 推荐算法学习目标1 推荐模型构建流程2 最经典的推荐算法:协同过滤推荐算法(Collaborative Filtering)3 相似度计算(Similarity Calculation)4 协同过滤推荐算法代码实现:使用协同过滤推荐算法对用户... -
SLIM推荐算法
2018-06-03 20:25:35SLIM推荐算法,英文全称为Sparse Linear Methods,中文名为稀疏线性推荐算法,是一种使用机器学习算法-坐标下降法(coordinate decent)来进行的推荐算法,SLIM推荐算法推荐质量相当高。 其损失函数如下所示。其中A... -
抖音推荐算法!(抖音推荐机制)
2020-04-11 18:11:09叠加推荐算法三.用户心理需求 抖音的游戏规则是什么?抖音的推荐算法怎样的? 抖音算法核心就是从所有视频中挑选出用户最喜欢的那个 这样对创作者来说:可以吸引同批价值观的粉丝。 对我们消费者来说:提供更多... -
图解抖音推荐算法
2019-12-11 20:14:17抖音推荐算法究竟如何是做抖音短视频运营的同学非常关心的问题,抖音官方并没有披露正式的算法,但凭借着民间的智慧和官方披露的部分信息中,网友已经总结出抖音推荐算法的秘密。这里整理资料如下: 首先看短视频... -
推荐算法设计
2019-04-15 14:02:08前几天有个学弟做毕业设计,问我推荐算法怎么做。 我之前没有接触过,稍微想了下 ,算法是基于模型的,这一点是可以肯定的。那么算法,推荐算法,听起来好像是挺唬人的。 实际上(个人见解):所谓推荐算法难是难... -
个性化推荐算法实战第01章个性化推荐算法综述
2019-07-15 11:18:51文章目录个性化推荐算法实战第01章个性化推荐算法综述1、什么是推荐系统?2、个性化推荐算法在系统中所起到的作用3、如何衡量个性化推荐算法在产品中起到的作用4、推荐算法介绍5、评估指标:个性化召回1、什么是个性...
-
基于51的NRF24L01通信实验.zip
-
Toshiba BlueTooth.zip
-
【数据分析-随到随学】机器学习模型及应用
-
javaWeb项目中tomcat配置虚拟路径使文件与程序分离
-
hadoop自动化运维工具Ambari应用实践
-
python3 笔记 1部4章 -- 列表
-
21年新消息队列RabbitMQ视频教程AMQP教程
-
【2021】UI自动化测试Selenium3
-
如何优雅的在windows之间共享文件
-
20模2-Cc2-互质个数
-
Qt项目实战之基于Redis的网络聊天室
-
Java网络编程实现聊天室
-
旧版 FoxitReade
-
H3C PPPOE配置
-
Python从零到一
-
JDK1.8安装程序.zip
-
Redis数据库入门与使用
-
单元测试UnitTest+Pytest【Selenium3】
-
jdk-1.8-x64.zip
-
阿里云云计算ACP考试必备教程