疫情期间,你的网购数据其实被“污染”了?

人们在新冠大流行期间的反常行为,给人工智能模型带来了麻烦,这些使用正常行为数据进行训练的机器学习模型的弊端正在显现。

据《麻省理工科技评论》报道,由于疫情快速席卷欧美,2020 年 4 月 12 日至 18 日,亚马逊十大热搜关键词分别是卫生纸、口罩、洗手液、厨房用纸、来苏尔消毒喷雾、高乐氏湿巾、防毒面具、来苏尔、防菌口罩以及 N95 口罩。

专为亚马逊商家提供算法广告服务的、Nozzle 公司首席执行官雷尔 · 克莱恩(Rael Cline)说:“五天之内就发生了这种转变,简直难以置信。”

图 | 横坐标为时间,从左到右国家分别是意大利、西班牙、法国、德国、英国、墨西哥、加拿大、美国,热词包括口罩、洗手液和消毒剂等(来源:Nozzle)

如图所示,意大利最先出现购买高峰,这也符合新冠病毒在欧美的暴发趋势。用户搜索习惯的改变,如同海鸥振翅可以改变天气一样,很快波及到供应链层面。

和中国的淘宝、京东等电商网站一样,亚马逊也在用推荐算法,来预测用户感兴趣的产品。

在亚马逊上,多数店家的售卖模式,都是先把自家货物,存放在亚马逊仓库,如果用户从亚马逊购买商品,商品物流、送货到家和退货处理等,都是亚马逊负责。并且,亚马逊还会给使用其物流的订单,做大力度推广。

比如当你搜索任天堂游戏机时,出现在页面最上方、并且靠近 “添加购物车” 按钮的,最有可能的就是使用亚马逊物流的商家。

据了解,为应对变化,亚马逊目前的算法,更倾向于推广使用自家物流的商家。并且亚马逊也在对算法进行微调,为的就是分散系统压力。

对此,娱乐向机器学习解说选手、《机器学习算法的数学解析与 Python 实现》作者莫凡告诉 DeepTech,他的第一反应特别 “程序员”,这不是 Bug,这是 Feature。推荐算法有这样的结果,其实是“合理” 的,因为疫情中的用户,最关心的就是疫情。由于推荐算法的主要功能是发现兴趣,而此时用户对于疫情的 “兴趣” 大大提升,所以推荐算法才会推荐大量疫情相关的产品或服务。这便是近年来在互联网中,越来越明显的头部效应。

事实上,亚马逊的热搜产品发生变化,并非个案。疫情期间,很多使用推荐算法服务的公司,大多概莫能外。

印度一家酱料和调味品公司,在疫情期间涌进大量订单,推荐算法因此陷入崩溃,原因是该推荐算法,从未接受过如此大量的数据训练。

一家通过 AI 来评估新闻走向,并根据结果、给客户提供投资建议的公司,因为当前新闻越来越消极,推荐算法给出的建议,也逐渐失准。

而疫情肆虐,也让部分网站,变得更加谨慎。

Phrasee 是伦敦一家从事 AI 营销的公司,为避免生成的广告,让本就处于抗疫焦虑的用户心理 “火上浇油”,他们把原本可以作为广告词的“如病毒般迅速传播”“我的老天” 等易导致恐慌的词语,进行了手动删除。

或许你不是亚马逊用户,但你应该用过国内电商 App。

如果你也是天猫用户,不妨打开 App,看看下图中蓝色虚线部分,系统推荐给你的八样商品是什么。

如下图所示,用户 A 和用户 B,收到的产品推荐完全不同。

图 | 天猫 App 个性化推荐(来源:Multi-Interest Network with Dynamic Routing for Recommendation at Tmall )

这便是推荐算法的典型案例。采访中,莫凡举了一个例子。

从喝可乐到推荐算法

假设熊大喜欢喝可乐,它天天去便利店买可乐,店长很快就知道它对可乐感兴趣,这是第一次关联。熊大付款后,店长想起熊二也爱喝可乐,这是第二次关联。但熊二的不同之处在于,他每次买可乐,还要再买袋薯片,这是第三次关联。

此时,店长觉得:既然它们都爱喝可乐,那没准也都喜欢吃薯片。于是,熊大再来买可乐时,店家跟它推荐了薯片。这便是基于兴趣的推荐算法。

它和大数据分析常说的 “啤酒尿片” 案例是一个道理,超市把啤酒和尿片放一起,是因为很多买啤酒的父亲,会顺手给孩子买尿片。

如今,电商网站普遍使用推荐算法,是因为相比推荐引擎,其不再是发现信息,而是发现兴趣,即依靠人和物的关联关系,最少只需三次关联,就能完成兴趣发现,从而进行信息推荐。

这样看来,似乎推荐算法很智能,但好比夏天女生用的遮阳伞,并不一定适用于台风天气一样。看似聪明的推荐算法,在疫情期间已经出现失灵。

为何会算法失灵?

对于算法推荐为何会失灵,Hulu 全球研发副总裁、《百面深度学习》主编诸葛越分析称,算法失灵主要有两大原因。一是因为基于数据的推荐算法模型(以下称“算法模型”),难以应对外部事件引起的用户行为突变。二是算法模型的预测对象,也在发生剧变。

①原因一:用户行为突变

算法模型,需要利用历史数据来训练。所谓训练,即通过大量经验数据,拟合出从历史行为模式、到未来行为倾向之间的映射。当用户的行为模式发生骤变,比如突然购买 N95 口罩等冷门产品。而这种行为模式,在过往训练数据中,很明显没有经过充分表达。因此,当疫情期间的推荐算法模型,仍旧按照历史行为模式输入,其输出的预测,可能会有错乱。

②原因二:预测对象突变

疫情期间,算法模型需要预测的对象,即用户的实际购买倾向,也已发生变化。算法模型能否快速适应用户的特殊倾向,同时又不完全淹没掉用户在疫情以外的正常倾向、如换季买新衣服等,也跟训练数据的采样、特征工程和模型结构有关。当一个集体且剧烈的行为模式突然而至,常规自动化算法建模流程很难做出应对,因此会出现一定程度的算法失灵。

那么,算法失灵之 Bug,是否有解?

诸葛越在采访中表示,解决上述困境,可以从四方面着手:

四大招,搞定算法失灵

①调整训练数据:针对疫情期间的数据模式突变,平台方需要在训练数据的采样上,平衡疫情期数据和非疫情期数据的比例。

②调整特征工程:根据数据洞察以及生活常识,增加一些针对性的特征,例如商品送达时间,就是用户在疫情期间,是否选择某一商品的决定性因素。

③调整模型结构:可以使用一些相对强壮(Robust)的模型结构,来应对疫情期间的数据突变。

④针对性处理:一些边角案例,有时需要手动来做针对性处理,例如不要推荐 “Viral(病毒的)” 等字样。

算法失灵的孪生姐妹——算法失准

疫情期间的算法失灵,属于短期事件。普罗大众面对更多的,则是推荐算法的过度使用。

莫凡也向 DeepTech 分享了一个案例,他说,如果你是一位 B 站用户,就会发现,越是头部 UP 主,其内容就越容易被推荐给用户,越推荐他就越占据头部,最终推荐算法导致的这种螺旋上升,也让头部效应更加明显。

这种推荐,其实是基于点击量来做推荐。但很多平台发现,基于点击量的推荐,没法体现用户差异化的兴趣。于是,类似前文的 “熊大熊二喝可乐吃薯片” 的兴趣推荐,开始广泛铺开。

记者在使用某生活方式 App 时,就曾遇到兴趣推荐,比如因为换季需要,在该平台上搜索凉鞋购买攻略,尽管只搜过一次,但后续再打开该 App,首页仍会推荐凉鞋攻略。

隔天,记者在该平台搜索裙子,首页又开始推荐裙子。如果不重置搜索关键词,似乎首页推荐的,永远都是近期阅读的同类别内容,这就会导致信息茧房,即机器判断你需要这一信息,但其实你的需求时效性,已经过期。

图 | 因记者搜索过裙子,再次打开该 App,排行第一的推荐依然是裙子

算法推荐,能在当下遍地开花,一定有其必要性。但不应仅有兴趣推荐。基于内容的推荐如“看过这个视频的观众还看过”、以及基于地理位置的推荐如“同城的观众都在看”,也应该纳入推荐范围内。如此,才能满足不同用户的“胃口”,让大家各取所需,而不是点开后大呼浪费流量。