Netflix推荐系统(Part Five)-国际化和本地化推荐

原文来自Recommending for the World。这并不是完全和完整的翻译稿,而是一种总结和笔记。如果发现任何侵权行为,请联系我。

截止到2016年1月6日,Netflix同时在全球130个新国家上线, 超过190个国家。Netflix需要 准备好快速扩展,同时确保每个算法都可以无缝地工作,这为他们的推荐和搜索团队带来了新的挑战。 在这篇文章中,他们重点介绍了他们在使算法在全球范围内运行时遇到的四个最有趣的挑战,以及解决这些挑战如何提高了他们的推荐能力。

Challenge 1: Uneven Video Availability

众所周知,在全球的不同国家和地区的版权许可是不同的,这会导致有些异常信号发生。例如,电影A可能会在美国的Netflix上播出,电影B只在法国上市。而正常的推荐模型在很大程度上依赖于play数据的学习模式,特别是涉及视频之间的共现或播放序列。特别是,许多算法假设当某些东西没有播放时,它是一个(弱)信号,表达人们可能不喜欢它。但是,在这种特殊情况下,推荐系统永远不会观察到同时播放A和B的用户。一个基本的推荐模型会知道这两部电影只是因为观众被限制为不同而不能吸引同一类人。但是,如果A和B可以同时播放,则可能会观察到视频之间以及观看视频的用户之间的相似性。从这个例子可以看出,不同的视频可用性可能会干扰推荐系统的质量。

在搜索体验上也有类似的问题。不考虑可用性差异会降低搜索排名的质量。 例如,一个普通的排名算法的给定查询的最高结果可能将视频A排在视频B前面,但只有很少的人才能播放视频A,而大家都可以播放视频B。

内容许可证的另一个方面是它们具有开始和结束日期,这意味着类似的问题不仅出现在各国之间,而且还出现在特定国家/地区内。一个短时间可用的小众视频可能比一个长时间的知名视频更具吸引力,但后者可能会有更多的参与度。

可以想象这些问题可能会对更复杂的搜索或推荐模型产生影响,因为它们已经在诸如流行度这样简单的事情中引入了bias。 解决地理位置和时间不均衡可用性问题则算法可以为新服务提供更好的推荐。 他们将user根据地理和时间访问不同目录的信息合并到每个算法中,处理缺失数据和bias。

Challenge 2: Cultural Awareness

文化差异对于推荐是非常重要的,但这并不绝对。比如说宝莱坞在印度应该更受欢迎,而阿根廷的用户可能更喜欢阿根廷电影。但如果两个用户都是科幻电影的爱好者,并且除了地区之外的profile信息都相似,那他们也应该得到相似的推荐。
捕捉local preference的一个简单方法是为各个国家建立不同的模型。 但是,有些国家规模很小因此只能获得很少的用户数据,在这种稀疏数据上训练推荐算法会导致噪声结果,因为模型很难从数据中识别出清晰的个性化模式。

在Netflix进行全球扩张之前,他们的方法是将国家分组到具有相对一致的目录和语言的合理规模的区域,然后为每个区域构建单独的模型。这可以捕捉区域之间的taste差异,因为不同模型的超参数的调整方式不同。在一个地区内,只要有足够的成员具有一定的口味偏好和合理的历史数据,推荐模型应该能够识别和使用该偏好的模式。但是,这种方法存在一些问题。首先,在一个地区内,来自一个大国的数据量将占据该模型的主导地位,并削弱模型了解一个用户数量较少的国家的local taste的能力。如何保持分组也是一个挑战,因为内容目录随着时间的推移而变化,用户数量也在增加。最后,因为他们在许多算法中不断运行模型变量的A / B测试,所以涉及越来越多区域的组合变得势不可挡。

为了应对这些挑战,他们寻求将区域模型合并为一个单一的全球模型的方法,该模型有利于在用户较少的国家提供更好的推荐体验。当然,即使将数据结合起来,推荐系统仍然需要识别不同地区的品味差异根据迄今为止看到的数据,local taste和personal taste都会影响用户的选择。但总的来说,如果一个用户喜欢科幻电影,那么世界另一端也喜欢Sci-Fi的人会比他们喜欢食物纪录片的隔壁邻居更有参考价值。能够发现全球感兴趣的社区意味着可以进一步改进推荐系统,因为它们将基于更多数据。使用全局算法也有利于识别随时间出现的新的或不同的taste模式。

为了优化模型,他们可以使用有关内容和成员的许多signal。在这种全球背景下,两个重要的信号可能是语言和位置。他们希望让自己的模型不仅能够了解user登录的位置,还能了解视频的各个方面,例如视频的来源,所处的语言以及受欢迎的位置。

Challenge 3: Language

Netflix现已发展到支持21种语言,他们的内容库包含比以往更多的本地内容。这种增加导致了许多挑战,特别是对于上面提到的即时搜索算法。该算法的关键目标是帮助每个成员在搜索时找到可以播放的内容,同时最大限度地减少交互次数。这与用于评估信息检索系统的标准排名度量不同,后者不考虑交互量。在查看交互时,很明显不同的语言涉及非常不同的交互模式。例如,韩语通常使用韩语字母键入,其中音节由单个字符组成。例如,要搜索“올드보이”(Oldboy),在最糟糕的情况下,成员必须输入九个字符:“ㅇㅗㄹㄷㅡㅂㅗㅇㅣ”。使用视频标题的基本索引,在最好的情况下,成员仍然需要键入三个字符:“ㅇㅗㄹ”,它将在该标题的第一个音节中折叠:“올”。在为韩文编写的特定索引中,成员只需要编写一个字符:“ㅇ”。使用最少的交互集优化最佳结果,并自动适应具有显着不同书写系统的新引入的语言,这是他们正在努力改进的领域。

另一项与语言相关的挑战涉及推荐。如上所述,虽然taste模式在全球范围内传播,但最终人们最有可能享受以他们理解的语言呈现的内容。例如,可能有一部很棒的法国科幻电影,但如果没有英文字幕或音频,就不应该推荐给喜欢科幻电影但只会说英语的会员。但如果用户同时说英语和法语,这就很有可能是适当的推荐。人们也喜欢观看最初用他们的母语或其它常用语制作的内容。虽然我们不断尝试为我们的内容添加新的语言字幕和配音,但我们还没有为所有内容提供所有语言。此外,不同文化下的用户对于使用字幕或配音观看也有不同的偏好。将这些结合起来,可以看到推荐可以通过对语言偏好的认识来提高。但是,用户理解哪些语言是很难明确定义的,因此我们需要从辅助数据和观看模式中推断出它。

Challenge 4: Tracking Quality

Netflix的目标是构建对所有用户同样有效的推荐算法,无论他们住在哪里或说什么语言。他们现在面临的挑战是如何确定算法何时对用户的某些子集来说是次优的。

为了解决这个问题,可以通过手动切片一组维度(国家,语言,目录…)来查看算法的性能。然而,这些切片中的一些导致非常稀疏和嘈杂的数据。他们也可以查看全球观察到的指标,但这会极大地限制检测问题的能力。另一种方法是学习如何最好地将观察分组,以便自动检测异常值和异常。正如他们致力于改进推荐算法一样,他们正在创新衡量指标,设备和监控以提高通过它们检测新问题的能力。

猜你喜欢

转载自blog.csdn.net/friyal/article/details/82898994
今日推荐