当今互联网的一个有趣的讽刺意味是,随着它扩展到比以往任何时候都更多的人,对于使用它的个人来说,它也已经变得更加个人化。 有针对性的数字广告,Youtube的推荐视频和Netflix的推荐电影都属于用户“个性化”体验的范畴。 这篇博客文章将重点介绍这种“个性化互联网”的一个特定方面:Spotify的“发现每周”播放列表。
Spotify的推荐算法主要是3种技术的组合:自然语言处理,协作过滤和原始音频文件分析。
自然语言处理(NLP)是计算机科学的子集,致力于计算机如何处理人类语音和文本。 自然语言处理技术如今具有广泛的应用,例如用于数字助理(如Alexa或Siri)的语音识别功能,用于产品/业务分析的情感分析等。在Spotify的情况下,他们使用NLP扫描互联网以查找与各种歌手和歌曲,形容词来描述这些歌手/歌曲,以及其他经常出现在同一文本中的歌手和歌曲。 这使Spotify可以根据他们已经听过的人来“聚集”艺术家和歌曲,以作为对用户的潜在建议。
协作过滤是Spotify个性化其建议的另一种常用技术。 协作过滤的核心是依靠用户之间的相似性来进行推荐,而不是艺术家或歌曲之间的相似性。 例如,如果用户A将歌曲A,B和C保存到播放列表中,而用户B将歌曲A,B和D保存到播放列表中,则Spotify可以使用协作过滤来识别这些用户的口味相似,并推荐歌曲D传递给用户A,歌曲C传递给用户B。随着时间的流逝,随着用户聆听更多音乐,保存更多歌曲并创建更多播放列表,Spotify可以为用户的音乐偏好创建具体的“口味配置文件”,直至特定子类别。类型。

尽管协作过滤是微调建议的强大方法,但有效实施此技术的最常见障碍之一就是“冷启动问题”。 冷启动问题本质上是由计算机缺乏足够的数据来正确评估相似性或其他原因引起的情况。 这在面向用户的应用程序(例如Spotify)中非常常见,在该应用程序中,新用户每天都在注册,因此没有听足够的音乐来创建准确的味觉特征。 另一个冷门情况是新歌手发行专辑。 对于依赖协作过滤的系统而言,很少播放的歌曲和专辑构成了一个难题,因为没有足够的用户参与度来进行比较。 但是,事实证明,Spotify对数据库中原始音频文件的分析是一个相当有效的解决方法。
Spotify对原始音频的分析依赖于卷积神经网络。 卷积神经网络是一类神经网络,最常用于分析视觉图像,但可以通过将音频文件转换为声谱图来分析音频。 一旦转换为频谱图,Spotify便会使用卷积神经网络根据常见的音乐特征(例如速度,音高,音调等)比较歌曲。由于此过程不基于流行度或用户交互作用,因此它可以使Spotify计算新歌和旧歌的相似性得分,而不必达到临界的用户收听量,从而启动协作过滤过程。这有助于Spotify在“发现每周”播放列表中注入一些新颖性,否则唯一显示的歌曲将是已经有足够多的用户听过。 新颖性可能是保持用户参与度的一种非常有效的方法,因此在NLP上对原始音频文件进行分层分析以及协作过滤过程对Spotify极为重要。 这也为用户提高了该应用程序的价值,因为他们可以使用Spotify作为发现新音乐以及聆听他们已经知道的音乐的工具。

Spotify的“发现每周”的另一个很酷的功能是能够标记“异常值”。 如果某人主要听几种音乐,但决定听一首超出其喜好范围的歌曲或歌手,则Spotify不会立即更新其推荐算法以说明这首歌。 取而代之的是,它将歌曲标记为离群值,并继续根据自己的既定口味提供推荐。 如果用户要持续不断地收听该歌曲或歌手,或者相似类型的歌曲和歌手,Spotify最终将删除异常值标记,更新用户的喜好并相应地更改其推荐。 这会鼓励用户探索Spotify的音乐库,因为听音乐超出个人当前的偏好不会“增加”个人的建议。
创建这样的功能是一个反复的过程,并且任何构建任何类型的应用程序的人都知道,总是有改进的空间,也有建立另一种功能的潜力。 Discover Weekly也不例外,Spotify一直在评估他们可能整合哪些其他数据信号以提高播放列表的质量。 除了上面详述的三种主要技术之外,Spotify还集成了与用户如何与“发现每周”播放列表本身进行交互有关的数据信号。 例如,如果用户从“发现每周”播放列表中保存一首歌曲,Spotify会将其视为“喜欢”,并在创建下周的播放列表时将该信息作为因素。 其他数据点(例如,用户听过歌曲的次数或用户是否听过整首歌曲)也可用作有价值的输入。

Spotify的“发现周刊”就是一个很好的例子,它说明了为尽可能多的人设计的平台如何仍然可以提供个性化的用户体验,并且实际上通过加入该平台的其他用户得到了改进。 协作过滤过程为Spotify及其用户创建了一个积极的反馈循环,其中更多的用户数据提高了味觉特征的准确性,从而增加了用户继续使用该平台的可能性,该平台为Spotify提供了更多数据,等等。等等。 这种现象也可以描述为“网络效应”,也可以在其他网络(如Facebook或Twitter)中观察到。 最后,Spotify的数据驱动流程改进了他们的推荐算法,这是一个很好的案例研究,说明了如何将用户数据/反馈有效地整合到您的开发过程中可以增强产品/市场适应性并改善用户参与度。