InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

Pinterest 是如何打造出硅谷最成功的推荐算法的?

  • 2019-11-19
  • 本文字数:6831 字

    阅读完需:约 22 分钟

Pinterest是如何打造出硅谷最成功的推荐算法的?


图片提供:Jordan Speer(https://beefstrong.bigcartel.com/


和其他大多数社交网络公司一样,Pinterest 的成功建立在假设和偏好的基础上。但和大部分社交网络公司不同的是,Pinterest 对此直言不讳。


从一开始,你就告诉了 Pinterest 怎样给你建立个人画像。当你注册时,Pinterest 的网页会询问你两个私人问题——你的年龄和性别——你的回答决定了接下来将要发生的一切。基于你对这两个问题的回答,以及你所使用的语言、你所在的地区和你的浏览历史,Pinterest 会选择一组主题列表,系统认为这个列表里的东西是你所感兴趣的,并会让你挑选其中 5 个主题。


如果你告诉 Pinterest,你是一位 30 岁的女性,那 Pinterest 给你提供的兴趣主题会包括“化妆”“理发教程““健身计划”和“菜谱”。但如果你告诉 Pinterest,你是一位 30 岁的男性,那你会得到非常不同的主题选项:“伐木工”“搞笑图片”“求生技能”和“游戏”。或者你可以在 Non-Binary Selection(非二值化的选项框)里输入自己感兴趣的主题,它允许你输入任何文字,然后你会得到一系列和性别无关的选项,例如“动物”“家居装饰”“女式发型”“男式发型”以及“美甲”。


当你选择好了之后,Pinterest 的机器学习软件会为你定制一个首页,这个首页里包含了大量的图片或者称之为 pins,Pinterest 预测出你会对这些图片感兴趣。这是非常关键的一个时刻。Pinterest 称,其内部数据显示,如果人们能马上看到他们喜欢的 pins,他们就有很大的概率成为活跃用户,他们会定期回来看首页,寻找和他们兴趣相关的新鲜内容,也会看到根据他们兴趣定制的广告,打造属于他们自己的相关 pins“面板”。如果人们第一眼没有找到足够有吸引力的东西,他们以后就不会再回来了。


每年新加入 Pinterest 的用户有 500 万,对他们来说,注册的过程是对 Pinterest 推荐算法的首次尝试,这个算法可谓是硅谷最成功的、而且受审查最少的算法了。生成 Pinterest 主页 Feed、生成搜索结果和通知的代码,决定了用户在每次登录页面时所看到的图像和想法。这有些类似于 Facebook 的新闻 Feed、YouTube 的推荐以及 TikTok 的 For You 页面。这是一家于今年成功上市,有着 150 亿美金市值企业的主要产品。这家公司也是众多独角兽公司里(比如 Uber、Lyft 和 Slack)唯一一家股价始终位于 IPO 价格之上的公司。


然而,在幕后,Pinterest 的工程师和高管们正在努力应对在其他公司也会发生的一些紧张关系。公司管理层说,他们想要打造一条和硅谷通常的成功路径不太一样的路径,一条不那么耀眼,但是更人性化的路径。但是成为上市公司的第一年,他们就面临着关键挑战:怎样帮助公司成长,扩展自己的用户群体(过去其用户群一直都倾向于郊区白人女性),同时又不会疏远忠诚的老用户,或者刻板地看待新用户,也不会间接导致错误信息和激进主义的传播。


十月份,这家公司尝试推出一项新功能,用于解决推荐算法可能最显而易见的缺陷,也就是容易根据用户过去的行为推测出错误的结论,这个问题会污染用户的 Feed,塞进去一些用户不想再看到的内容。比如一个用户解除了婚约,却继续给她推荐婚礼服装;又比如一个用户流产了,却给她推荐育儿室的装饰。Pinterest 称这个新功能为 Home Feed Tuner(首页 Feed 调配器),它允许用户自己审核和手动编辑过去的活动和兴趣,其实就是告诉算法:哪些需要记住,哪些需要忘记。


Pinterest 希望这项功能可以让那一小拨重要用户减少抱怨,提高用户满意度。但是它对网站用户的扩张几乎没有任何帮助,甚至还可能因为限制算法获得信息量而减少用户的粘性。该公司表示这是他们希望做出的一些权衡,特别是早期的一些测试显示,这项功能并没有让用户活跃度出现明显下降。



Pinterest 计划宣布一项新的功能,命名为“Tune Your Home Feed”,它允许你告诉算法,为了预测未来的推荐项,你希望算法用到你的哪些兴趣和行为,哪些不希望算法用到。


但事实证明,还有其他更复杂的方面需要权衡。比如深入理解用户,让他们更频繁地再次访问我们的网页,同时又不会让他们觉得厌烦或者限制住他们,使他们不愿再来我们的网站。


“用户们不喜欢被分类,”Candice Morgan(Pinterest 的包容性和多样性主管)说。她在今年早些时候发起了一项调研,这是为了理解 Pinterest 如何能够做到更好地服务于该平台不太关注的一群用户。“他们不希望我们基于人群分布来猜测他们的喜好,”她补充道。


但是,Pinterest 仍然基于人口分布来猜测用户的喜好,至少在用户注册后给出的页面是这样生成的。如果 Pinterest 不这样做,有部分用户就会觉得 Pinterest 不是面向他们这些用户的。


另外,还有些问题困扰着知名度较高的一些社交网站:错误信息的病毒式传播、激进主义、攻击性图片和表情包、垃圾邮件以及试图利用算法盈利的可疑网站。所有这些问题,Pinterest 也需要从某种程度上做处理。这家公司在这些方面采取了和竞争对手平台不同的措施:接纳偏见、限制病毒式传播以及成为某种程度上的反社交网络。


到目前为止,这些措施都是奏效的。


2010 年,来自山景城 Hacker Dojo 的三名年轻的技术小哥创建了 Pinterest。起初,Pinterest 努力成为一个分享图片集合的大众化平台,以此来吸引用户。后来,来自爱荷华州的联合创始人 Ben Silbermann 参加了一场会议,这场会议是专门为一些女性博主和有影响力的人物举办的,她们马上就喜欢上了 Pinterest,在这之后,Pinterest 就发生了变化。Pinterest 网站在女性和郊区居民间迅速发展,她们发现在这里分享食谱、时尚技巧、DIY 项目以及家居装饰的想法再适合不过了。


这些早期用户塑造了该网站的发展轨迹。由于 Pinterest 工程师沿用着社交媒体的固有模式,这些模式通过学习用户行为来开发出个性化推荐算法,算法所吸收的兴趣和活动模式正是来自于这些早期用户。但是,过度依赖这些早期用户产生的具体数据也带来了一些问题。例如,你可能看到满屏的婚礼服饰照片,照片中的模特却清一色都是白种人。


起初,该网站首页会基于用户们关注的领域,展示来自所有用户最喜欢的照片分类,这对于吸引具有相同喜好的新用户来说非常完美,但对于网站用户的多样性则没有帮助。“在男性用户中存在这样一个误解,即 Pinterest 只会展示一些关于美容等方面只有女性才使用的东西。”Morgan 说道,“尽管展示的大量内容都是不区分性别的。”


“用户们会主动地提供更多个人信息来增加页面展示的个性化吗?我们发现答案是否定的——他们希望产品是为大众展示的。”


经过这么多年的发展后,Pinterest 不得不重新设计系统和重新训练算法,从而更好地识别和针对不同类型的用户,并将他们的兴趣反映到页面上。于是,Pinterest 注册时向用户提出的问题就变为了:选择用户性别、挑选感兴趣的主题(这是给算法提供的第一次关于用户喜好的数据),以及能否使用用户浏览器里的历史数据(尽管这是行业同行标准,但这也许仍有些冒犯隐私),这些数据可以让 Pinterest 了解到你以前是否浏览过 Pinterest 的网站,还可以让 Pinterest 了解到你是通过什么渠道访问到 Pinterest 网站的。


举例来说,关于语言和地理区域的提问帮助 Pinterest 了解美国以外地区的用户需求,这部分用户以前抱怨说“从注册起,他们就觉得这个网站缺少本土化内容。”Pinterest 现在有一半以上的用户来自美国以外地区,这和其他同等规模大小的社交网络情况是一致的。在某种程度上,这些用户为 Pinterest 指明了前进方向,使之能够成为一个更具包容性的社交网络平台:例如,在日本,Pinterest 发现首次访问该网站的男性和女性,今后成为活跃用户的概率是相当的。


从一开始,你在Pinterest的体验就由你选择的性别决定了。上图是Pinterest为一名三十岁男性新用户提供的兴趣选项。图片来自:Pinterest


从一开始,你在 Pinterest 的体验就由你选择的性别决定了。上图是 Pinterest 为一名三十岁男性新用户提供的兴趣选项。图片来自:Pinterest


但是,将用户划分为更细的子群体这个方式本身也有风险,特别是对于以前就被该网站忽视的群体。内部数据可能告诉你一组大男子主义的图片能够提升男性用户的活跃度,但是,这些数据不会告诉你的是,有一部分男性用户对这样的照片不感兴趣,甚至觉得被冒犯了,因为这部分用户喜欢所谓的“男性洞穴”或者全都是女性的“美丽明星”照片。


Pinterest 正在努力帮助用户在产品中看到用户自己。今年一月份,该公司推出了由 Morgan 和 Omar Seyal(Pinterest 核心产品的主管)主导的一个产品,这是他们主导的多元化项目的首批产品之一:一个调色板选择器,它可以让你基于自己的肤色过滤美容主题的结果。


这是 Pinterest 向前迈出的第一步,值得尊敬,但根据该公司的调查显示这一步并不完美。“我们想要了解,用户们是否愿意主动地提供更多个人信息来增加页面展示的个性化?我们发现答案是否定的——他们只是想让我们的产品对所有人都一视同仁。”Morgan 说道。


Pinterest 从没有受到媒体太多的审视,就像他们对待 Twitter 和 Facebook 的“赞”功能那样,但这并不表示 Pinterest 就不存在任何问题,它在其他地方还是有些流言蜚语的讨论。其中比较著名的批判者是 Mike Caulfield,一位来自华盛顿州立大学温哥华分校的媒体素养和在线交流专家。2017 年,他到 Pinterest 上来寻找政治文化,他找到的结果和你在其他任何社交平台上看到的一样丑陋。有些页面充满了虚假新闻、种族成见和 QAnon 阴谋论。


Caulfield 认为,Pinterest 激进的推荐算法,加上它对用户创建的相关照片“面板”的依赖,可以在几分钟之内把用户的 Feed 变成一个充满仇恨的污水坑。“只需在网上浏览大概 14 分钟,一位对疫苗感兴趣的新用户就会从‘怎样完美制作鸡蛋’主题转到某一个充满硝烟的主题上”Caulfield写道


Middlebury 学院的 Amy Collier 解释道,部分问题原因在于垃圾内容利用 Pinterest 的算法,把流传甚广的政治表情包放在一个照片面板上,同时也把他们想卖的东西(比如 T 恤)放在同一个照片面板上。当用户看到了这类表情包,算法会给用户展示同一个面板上的其他照片,因为算法认为这些用户对同一个面板上的其他照片也会感兴趣。最终,算法就会给用户展示这些 T 恤,其中一部分用户会购买这些 T 恤,垃圾内容投放者就可以从中获利。


Caulfield 说道,科技公司会忽视他的批评,或者采取防守态势,这些他都已经习惯了。所以,Pinterest 的反应让他着实吃了一惊:他们感谢他提出这个问题,并且邀请他会见公司高管,分享想法以解决这些问题。后来,至少在反疫苗这件事情上,该公司从头到尾进行了跟进。


八月份,Pinterest 对搜索引擎处理疫苗相关搜索的响应方式做了一些修改。Pinterest 表示,修改后的搜索引擎不会展示那些疫苗主题中最受用户喜爱的 pins,而只会展示来自主流健康组织的 pins,例如世界卫生组织和 CDC(美国疾病控制与预防中心)。Caulfield 赞扬了 Pinterest 的做法,与其他大多数平台的做法相比,这是一种更为果断坚定的做法。它显示出该公司愿意重写自己的软件来解决系统性问题,而这些问题光靠算法本身是无法解决的。


对于一个拥有 3 亿用户的平台来说,这个方法在多大程度上能够适用于该平台的其他所有问题,还有待观察。但是,PInterest 似乎愿意找出答案。


“现实是,科技公司不可能做到地球上所有的事情。”


社交媒体公司的传统观点是,你不能给用户赋予太多责任,让他们定制他们自己的 Feed。Facebook 打造了一个新闻 Feed 算法,这个算法比用户更了解自己,算法更清楚用户会点击什么,Facebook 已在这方面确立了全球主导地位。Instagram 和 Twitter 多年来一直拒绝使用 Feed 算法,但是这两家公司最终都用上了自动化,并且他们的用户基数和财富值都有了提升。用户做出的每个操作都等于是进一步打磨了用户参与度优化机器,而允许用户对中间过程的过多干预只会把事情搞砸。


Pinterest 和其他社交平台一样,通过诸如月活用户数和活跃度来判断其平台价值,正如一篇发表于一月份的博客(发表自该公司首席工程师),所说的那样。从历史上来看,该公司的算法一直在打磨用户的 Feed,向他们展示越来越多的他们过去参与过的主题。对于这类事情有一些常见的批评:优化参与度会导致用户盲目地或者成瘾地滚动页面,而且可能还会让用户陷入过滤气泡中,其中充满了错误信息(或者更糟)。


但是,如果优化参与度并不是最终的目标,那情况又会怎样呢?这是其他的一些社交网络,如 Facebook 和 Twitter 最近提出的问题,因为它们正在分别考虑更多定性的目标,如“时间花得是否值当”,以及“健康对话”等。Pinterest 公司核心产品主管 Seyal 表示, 这为他们这周要推出的新功能铺平了道路。


多年来,Pinterest 用户最常抱怨的内容之一就是,用户对算法给他们展示的内容缺少控制,Seyal 说道。“你点击某个东西,你的整个 Feed 就充满了那个东西相关的内容。”这里的挑战在于如何在不影响算法效率的情况下解决这个问题。“每位运营过在线平台 Feed 的人都会说,‘噢,是的,我们尝试过增加控制性。但当我们尝试启动这个功能时,用户参与度却大幅下降了。’”


最后,Seyal 说道,他认为上面这个问题是完全错误的。相反,对解决用户控制问题的工程师们,他告诉他们不要担心用户参与度的问题。他们唯一的工作就是找到一种修复方式,用来减少用户对 Feed 过度纠错的抱怨。


这个项目催生了“调整你的首页 Feed”功能,这个功能已经对一些用户开放使用了。(如果你能使用它,你可以在这里找到它。)Pinterest 允许用户微调算法对用户每次操作的响应方式,它将提供一定程度的定制化,很少有公司会去部署这样的功能。但是,Seyal 说,在测试中我们明显看到,使用这个新功能的用户中很大一部分都是曾经对此有过抱怨的用户。他们也变成了 Pinterest 最忠诚的用户之一。在经过所有这些测试后,我们还没有发现用户参与度受到任何明显的影响。


现在 Seyal 把它看做重要的一课。“这是一种示范,希望其他平台也能对用户更加开放。这个问题很难,但是人们正越来越多地琢磨出好的解决方案。”


Pinterest 现在给予了用户更多控制权,但像任何社交网络一样依赖于算法驱动的推荐,它最终也依赖于某种偏好。和同类公司不同的是,Pinterest 欢迎这种偏好——只要它是合适的。


“我们终究是用户生成内容的平台,”Seyal 说道,“我们不可能理解每一件事情。我们确实会碰到垃圾信息散布者,他们想利用平台来散布负面内容。其中有一些甚至是充满敌意的。”


他说道,为了缓解这些问题,Pinterest 能做的是,仔细研究其系统倾向放大的内容类型,调整算法参数,使某些内容优先于其他内容。


例如,Pinterest 的算法会给“保存”pins 的操作(相比“点击”操作)更多正面的信号。“人们其实不大会保存关于总统的煽动性文章,但他们确实会保存一套将来想要购买的衣服。所以我们更偏向于这种类型的互动,而不太偏向于你和你朋友间的互动。”


对于一家社交媒体网站来说,清除掉朋友间的互动看上去是一种奇怪的做法。但是,Pinterest 认为这是公司缓解骚扰和病毒式传播而采取的一部分措施。“最终,我们不会像在其他平台上那样看到错误信息的传播,因为我们的算法不会奖励这种行为。”Malorie Lucich(Pinterest 产品沟通主管)说道,“当你试图大量发布垃圾信息或者干扰用户时,你可能希望这些垃圾内容能够显示在首页上,但这在 Pinterest 上不太容易发生。”


即使是在“点击”操作的范畴中,该公司软件也会更加重视“高质量”网站(相比其他网站)的点击。无论何时 Pinterest 要测试算法的某种更改时,他们会查看这个更改是如何影响某个人工挑选的著名网站目录的出站流量的,这样的网站专注于生活方式、时尚以及家居装饰等方面。(尽管 Facebook 尝试通过调查用户来建立“信任源”,Pinterest 却承认它依赖于老式的、主观的和人类的判断。)如果算法的这项更改给那些网站发送的流量减少了,而向其他网站发送的流量增多了,产品团队就会去调查其原因。这可能会是一个迹象,它表明这项更改让一些信誉较差的网站钻了空子,使它们能够利用该算法。


所有主流社交平台都会故意修改软件,不管它们是否承认这点。像 Zeynep Tufekci 这样的评论家提出了一个有说服力的理由,社交媒体的很多问题都来自于它们不愿意承认算法中使用的基本偏好:不喜欢自由政治,或者保守政治,而是喜欢吸引眼球——越来越多的眼球。


像谷歌、亚马逊、Facebook 和 Uber 这样的公司正是以其不设定边界的野心和看起来无限的增长而著称。Pinterest 也有同样宏伟的想法。“我们可以在我们所做的事情上做得更好:新的形式、新的交互方式以及除了 pins 以外的其他东西。”Seyal 相信,Pinterest 的算法未来不仅会反映用户的品味和时尚,而且能帮助用户塑造它们,正像顶级时尚品牌做的那样。他向 Spotify 的人工播放列表看齐,比如颇具影响力的RapCaviar


但是随后,他停顿了一下。他补充道,随着 Pinterest 的发展,关键的一点是要记住自己的短板。“我认为我们只会去做我们能做好的那部分。如果你想让每个用户时时刻刻都在使用你的产品,那你就太不谦逊啦。现实是,科技公司不可能做到地球上所有的事情。”


原文链接:


https://onezero.medium.com/how-pinterest-built-one-of-silicon-valleys-most-successful-algorithms-9101afdfd0dd


活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2019-11-19 12:045856

评论

发布
暂无评论
发现更多内容

和12岁小同志搞创客开发:手撕代码,做一款人体感应灯

不脱发的程序猿

少儿编程 DIY 智能硬件 创客开发 Arduino

外包学生管理系统架构文档

zjluoyue

.NET6新东西--Random.Shared

喵叔

11月日更

TDD之让我们再聊聊TDD

刘冉

TDD

TDD之让我们再聊聊TDD(终)--正其思,规其行

刘冉

TDD

测试策略实践之测试自动化与自动化测试

刘冉

测试管理 测试策略

mongoDB 简单的索引类型

liuzhen007

11月日更

测试策略实践之序篇-软件缺陷,测试计划和测试架构

刘冉

测试计划 测试策略 测试架构

🔄 这些JS数组遍历是否都用过 🔄

空城机

JavaScript 大前端 11月日更

一场大戏!央行数字人民币被“点燃”!

CECBC

敏捷开发:川中校友登记小程序解决方案

CC同学

周边生态 | StreamNative 宣布开源 AWS SQS Connector

Apache Pulsar

开源 云原生 消息中间件 AWS SQS Connector 周边生态

Lua-复合变量

Changing Lin

11月日更

javaScript基础篇说一说循环应该怎么用

你好bk

JavaScript 大前端 ES6 html/css

区块链在营销方面的应用探索

石云升

区块链 区块链应用 11月日更

架构训练营 - 模块 3 作业

焦龙

架构实战营

Android C++系列:JNI调用时的异常处理

轻口味

c++ android jni 11月日更

博文|Apache Pulsar 在自研数据管道中的技术实践

Apache Pulsar

大数据 分布式 云原生 中间件 Apache Pulsar 消息系统

数据校验

卢卡多多

参数校验 11月日更

linux检测系统是否被入侵(下)

入门小站

Linux

13 K8S之Pod资源操作

穿过生命散发芬芳

k8s 11月日更

测试策略实践之分类漫谈

刘冉

KoP 2.8.0 新特性前瞻(内附视频)

Apache Pulsar

kafka 架构 分布式 Apache Pulsar KoP 2.8.0

在线文本转拼音工具

入门小站

工具

学生管理系统详细架构文档练习

御道而行

架构实战营

进击的Java(五)

ES_her0

11月日更

告别晦涩难懂的物理,《张朝阳的物理课》了解一下

脑极体

2022 年 9 个最佳 JavaScript IDE 和代码编辑器

devpoint

JavaScript vscode IntelliJ IDEA 11月日更

CSS页面设计稿构思与实现(五)之border-radius

Augus

CSS 11月日更

TDD之让我们再聊聊TDD(续)

刘冉

TDD

springboot整合pagehelper

小鲍侃java

11月日更

  • 扫码添加小助手
    领取最新资料包
Pinterest是如何打造出硅谷最成功的推荐算法的?_AI_Will Oremus_InfoQ精选文章