NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

领英 PYMK 推荐系统优化:为用户带来更平等的人脉

  • 2021-10-09
  • 本文字数:4841 字

    阅读完需:约 16 分钟

领英PYMK推荐系统优化:为用户带来更平等的人脉

作者 | Qiannan Yin

共同作者 | Qiannan Yin、Yan Wang、Divya Venugopalan、Cyrus Diciccio、Heloise Logan、Preetam Nandy、Kinjal Basu、Albert Cui

编译 | 王强

编辑 | 刘燕


最近十年来,个性化推荐技术可能是互联网世界中发展最快、影响最深远的技术种类之一。从流媒体视频到电商购物,从新闻浏览到私房音乐,个性化推荐已经深入到了社会生活的诸多领域,极大改变了人们的生活方式与行为习惯。


但飞速扩散的推荐技术也带来了很多负面效应,引发了多种层面的担忧和反对声。相关问题包括个性化推荐强化的“信息茧房”效应、推荐系统有意无意融入的社会性偏见、推荐系统造成的话语权不公等等。


有些问题的根源并非是技术层面的,但无论是批评家还是技术社区都希望这些问题能通过技术自身的进步来解决 — 就像是人类工业革命以来曾经解决的无数问题一样。


可喜的是,已经有越来越多的企业,包括很多大量应用推荐系统的头部 IT 企业意识到了上述问题,并开始在这一主题中投入资源,全球知名的职场社交平台领英就是其中的一个代表。


领英使用一套推荐系统为用户推送适合他们的岗位与社交信息,而最近这家公司的工程团队对推荐系统做了诸多改进来改善系统的公平性。


2021 年 8 月,领英在工程博客上发表了一篇文章,介绍了相关工作的细节。InfoQ 获得了领英工程团队的许可翻译这篇文章,并就一些问题采访了团队,得到了颇具价值的答复。下面将译文全文与采访内容登出,希望能为国内同仁提供有价值的参考。


领英专注于营造更加公平的环境,为全球劳动力的每一位创造经济机会。为了达成这一目标,一项关键环节是让平台用户能够互相沟通,在线上建立起自己职业的人脉关系网。


我们很清楚人脉的重要性,因为它们可以转化为有形而高质量的职业机会。考虑到人脉在领英用户生活中所发挥的重要作用,我们一直在寻找可以帮助改善所有用户的人脉体验的方法,例如我们在努力缩小人脉鸿沟,还在分享很多有数据支持的建议,帮助大家扩张自己的人脉。


而我们最近的一项工作重心是优化用户体验、创造更多平等的联系机会,这项工作涉及人们在领英上建立人脉时用到的基础功能之一:我们的“猜您认识”(People You May Know,PYMK)推荐系统。

什么是“猜您认识”系统


在领英上建立人脉时,用户会用到的一项基本功能是一个名为“猜您认识”(PYMK)的推荐系统。


PYMK 是领英平台的一项老功能,由我们最早开发的一些机器学习(ML)算法提供支持。PYMK 的目标是帮助用户与可能加强他们职业人脉网络的其他用户建立联系。


领英用户可能出于多种原因希望与平台上的其他用户成为好友,例如联络过去的同学或同事,或从好友那里获得工作机会或职业建议。你可以在领英的“人脉”选项卡上看到这个模块。


PYMK 主要使用经济图谱(Economic Graph)和平台交互等数据来挖掘特征,并使用 ML 算法提出相关建议。


具体来说,它使用线性和非线性模型的组合来估计两个用户之间加为好友的倾向。这个概率产生一个 P(connect)分数,PYMK 随后参考该分数向用户推荐新的潜在人脉。


然而,与其他所有人工智能系统一样,影响这套系统准确性的一大要素是外部社会因素,例如用户在平台外的知名度或特定技术的采用趋势。这可能会导致 AI 驱动的产品反映出某些偏见,让系统更偏好推荐一些人群,忽视另一些人群。


去年,我们对 PYMK 底层算法做出了多项更改,以改善所有用户的 PYMK 体验。这些更改让 PYMK 成为了一项更公平的功能:无论用户已有的人脉有多强、平台使用率多高,系统都会对他们更加一视同仁, 而不是让平台的少数“高级用户”获得更大比例的资源。


此外,尽管我们预计 PYMK 的一些传统关键参与指标(例如发送的邀请)会因这些更改而减少,但我们实际上看到净参与度因此有所提升了。


我们之前改进领英 Feed 得到的经验也是类似的,当时我们优化了创作者,而不仅仅是受众的体验:我们更新 Feeds 时不再只看重病毒式传播潜力排名,结果平台的参与度由此提升了。


过去一年来,随着越来越多的岗位转向了远程状态,我们认为在互联网上建立人脉和职业社交圈的能力将越来越成为人们的必要技能。如果像 PYMK 这样的 AI 驱动系统能够满足大众的普遍需求,那么它们一定会体现出非凡的价值。


在这篇文章中我们将介绍其中的两项更改,看看我们需要解决哪些问题、我们如何实施解决方案,以及迄今为止我们从工作中看到的成果。

发送方-接收方 PYMK 体验整体优化


当一位领英用户想与平台上的某人加好友时,她(发送方)需要向对方(接收方)发送邀请。只有在对方接受邀请后才会建立好友关系。换句话说,除非接收者/被邀请者有机会查看邀请并想要接受它,否则好友是加不成的。


为了在领英上创造更好的用户体验和更健康的人脉生态系统,我们需要确保好友关系双方都从关系中受益。


最近,增长数据科学(Growth Data Science)团队试图解决一个初看上去与增进公平性无关的问题:PYMK 为极受欢迎的领英用户提供的体验并不理想。

通过降低曝光提升用户体验


领英上有一部分用户收到了大量的好友请求,例如行业中的名人、知名的高级管理人员或大公司的招聘人员等。宏观来看,得到不成比例的好友请求似乎与我们既定的缩小人脉差距的目标背道而驰。


然而,它也可能导致用户的人脉被看似随机,或与他们自己的职业没多大关系的用户的 Feed 更新和通知所淹没。被邀请淹没的用户也可能错过很多有价值的社交机会。这种负面体验既体现在了这些用户使用 PYMK 的相关数据中,也体现在了直接用户反馈意见里面。



为了解决这个问题,我们在 P(connect)分数的基础上添加了一个重新排序器,对收到邀请数量过多的接收方的分数做打折/衰减。换句话说,接收方收到的邀请越多,他要显示在 PYMK 结果中所需要的原始分数就越高。



举一个简单的例子来帮助大家理解这一系统的工作原理。在上图中我们有一个排序好的推荐列表,右上角的数字显示了用户已经收到的邀请数量。在我们衰减分数之前,候选人 A 排名第一。


为了重新排序用户,我们计算 newScore = score * df,其中 score 是 pConnect,df 是[0,1]中的衰减因子。假设我们希望降低在过去一周内收到超过 10 个邀请的接收方的优先级。衰减后,A 的新分数变小,因此 A 的排名低于 B、C 和 D。在实际应用中,我们使用分段线性函数来计算给定收到邀请数量时对应的衰减因子。

使用 A/B 测试评估我们的方法


在领英,我们广泛使用 A/B 测试来评估我们大多数产品和 AI 模型的表现。这种方法也用来测试我们的 PYMK 模型,其中用户被随机分配到不同的对照组,分别会看到来自不同模型的建议。


如果一个模型有更好的推荐效果,用户就会发送更多的邀请。这是对发送方的影响,可以直接从 A/B 测试结果中读出。


然而,PYMK 模型的影响不仅限于发送方。用户收到邀请后,会来到领英查看并接受邀请。这是对接收方的影响,但不太容易衡量,因为某些接收方可以收到多个发送方的邀请,因此很难将影响归因于特定的发送方。



为了克服这一挑战,我们开发了一个归因框架来将接收方的会话归因于正确的发送方。例如,如果接收方收到通知说发送方 A 想要连接,然后来领英接受邀请,则会话将归因于发送方 A。如果接收方主动上领英但直接接受来自发送方 B 的邀请,则会话将归因于发送方 B。


实验结果


加入 PYMK 衰减机制后,我们希望用户体验得到改善,因为我们已经让用户不会收到太多邀请了。另一方面,我们也预计用户参与度会略有下降,因为发送的邀请会相应减少。


我们假设如果发送的邀请变少,用户的活跃度就会降低。然而,为了获得更好的用户体验,我们仍然愿意推进这一更改。


更改实现后,我们观察到用户痛点的缓解符合预期。根据我们的调查结果,我们将平台上过载的接收方(过去一周收到过多邀请的用户)数量减少了 50%,并注意到发送和接收好友请求的用户体验有所改善。


另一方面,与预期相反,我们实际上提升了用户参与度,这是违反直觉的。虽然发送的好友请求确实减少了 1%,但我们观察到来自接收方的会话增加了 1%。这是因为原本收到邀请较少的用户收到了更多的邀请,对他们来说,邀请在提升参与度方面的效果更明显。来自发送方的会话影响是中性的。因此总体而言,会话提升了 1%。


从这些实验和对 PYMK 的更改来看,很明显推荐的分布(而不仅仅是推荐带来的人脉结构)对整体平台的健康状况非常重要。

协助参与度较低用户的干预措施


领英考虑的另一关键领域是为处于职业生涯不同阶段,或可能还不熟悉领英(或一般性的在线社交网络)的某些功能的用户提供良好的体验。


对于这些用户来说,PYMK 一直以来都被证明是一项潜能巨大的功能:用户可以更快地找到同事和同龄人,并找到可能成为朋友、潜在导师或未来合作者的他人。


直观地说,与拥有数百个甚至数千个好友的用户相比,好友数很少的用户可能会因多添加一个好友而获得更大的增量效用。


像许多 AI 算法一样,支持我们 PYMK 推荐系统的算法会从导向成功匹配的推荐中学习经验。常驻用户(FM,在领英上参与度更高的用户)在用于训练这些算法的数据中往往比不那么活跃的用户,也就是非常驻用户(IM)具有更大的代表性。


在 ML 应用程序中,由于训练数据中的表征不能均匀分布,算法可能会对某些群体产生偏见。在 PYMK 的情况下,我们观察到常驻用户(由于他们在网站上的较高活动水平而在训练数据中有更大代表性)被推荐给其他用户的几率往往更大。随后,这些用户可以添加更多好友,让他们在训练数据中的权重得到进一步提升。


那么我们如何确保 PYMK 公平地代表两个群体的用户,并避免强化网络行为中的现有偏见呢?


正如我们之前将领英 Fairness Toolkit(LiFT)用于 PYMK 公平用例的博客文章中所讨论的那样,我们已经开发并测试了根据机会均等和均等概率重新排序好友推荐的方法。


这里我们应用到了推荐系统中,给常驻与非常驻用户设定同样的代表性水平以解决这个 PYMK 问题。由此以来,我们看到发送给 IM 的邀请增加了 5.44%,IM 建立的好友关系增加了 4.8%,同时 FM 的相应指标维持不变。


这很有趣,因为通常,当邀请从 FM 组转移到 IM 组时,我们预计后者的指标会增加,而前者的指标会减少。然而,我们观察到 FM 的指标维持不变,IM 的指标增长,这表明推荐质量总体上有所提高。

总结


如前所述,我们负责任的 AI 和设计工作的一个目标是缩小经济机会差距,不因用户在何处长大、在哪里上学或工作而对他们抱有偏见。


另一个目标是识别和减轻我们产品中的系统性不平等和不公平的偏见,反映我们身为全球平台的责任心。


鉴于对常驻和非常驻用户的调整已经取得了成果,我们团队还在做短期和长期测试,以了解调整 PYMK 推荐结果中的曝光度能否提升机会平等性。例如,我们未来的工作将使用受保护的属性(如性别)来对比不同群体。

问答


InfoQ:对接受过多邀请的会员减少曝光率是很好的想法,但是如何应对潜在的恶意利用行为呢?例如,有些人可能通过大量垃圾邀请来误导算法减少对特定成员的曝光率。


Kinjal Basu,机器学习高级软件工程师: 我们邀请系统从设计上就基本杜绝了垃圾邀请轰炸的可能性。比如说一位发送方只能给一位接收方发一次邀请。另外我们有一套机制来让用户控制谁能给自己发邀请,并对他们收到的邀请提出反馈意见,我们还有反垃圾 AI 模型来预防这种行为。


InfoQ:有些会员可能并不在意自己的邀请过载,他们能否选择继续利用之前的算法,继续收到更多邀请呢?


HeloiseLogan,机器学习软件工程师: 用户当然能继续通过 PYMK 以外的渠道收到邀请。例如,他们可以主动搜索别人来发出邀请。PYMK 推荐系统希望能鼓励大家建立对彼此有用的人脉。我们的目标更看重质量而非数量。


InfoQ:领英是如何区分会员不同行为对活跃度的影响呢?(例如,搜索一项职位、发起一次邀请、发表一段评论等行为的活跃度打分是否有很大不同?如果有不同,如何确保这种权重差异的公平性)


Qinnan Yin,数据科学家: 我们会进行各种分析,以了解不同用户行为在不同情况下的影响。发送和接受邀请只是其中一个场景。我们全面评估了不同用户行为的公平性(针对不同产品,如工作推荐、新闻 Feed 排名、PYMK 等)。由于这些产品的性质非常不同,用户行为可能会有显著差异。我们在开放能够缩小可能存在的代表性差距的技术时考虑了这些差异。


原文链接:


https://engineering.linkedin.com/blog/2021/optimizing-pymk-for-equity-in-network-creation

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-10-09 15:413284
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 493.8 次阅读, 收获喜欢 1967 次。

关注

评论

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

牛客网论坛最具争议的Linux内核成神笔记,GitHub已下载量已过百万

简说Linux内核

Linux内核 嵌入式开发 设备驱动 内存调优 内核组件

MegEngine 动态执行引擎-Imperative Runtime 概述

MegEngineBot

深度学习 开源 动态图 MegEngine

PAG动效框架源码笔记 (五)渲染流程

olinone

ios android 动效 渲染

聚焦 AIGC,函数计算为 AI 应用插上腾飞翅膀

Serverless Devs

Serverless FC AIGC

软件测试丨Allure2报告中添加用例支持tags标签、失败重试功能

测试人

程序员 软件测试 测试开发 测试用例 Allure

软件测试/测试开发丨Allure2报告中添加附件-图片

测试人

程序员 软件测试 测试开发 Allure

服务型企业为什么要做财务共享中心?

用友BIP

如何保障医疗机器人的功能与安全?这几条编码标准你一定要了解

龙智—DevSecOps解决方案

医疗机器人 编码标准

2023上海国际嵌入式展 | 如何通过人工智能驱动的自动化测试工具提升嵌入式开发效率

龙智—DevSecOps解决方案

嵌入式 嵌入式软件 嵌入式设计 嵌入式开发

备战金九银十:大厂面试官必问MySQL连环炮全梳理,你扛得住嘛?

程序员小毕

Java MySQL 数据库 程序员 面试

想让ChatGPT和低代码开发实现完美结合?看这篇文章就行!

加入高科技仿生人

低代码 数字化 ChatGPT

肝到爆!通过Canal如何优雅的将MySQL同步到ES?

Java全栈架构师

Java MySQL 程序员 后端 ES

华为云GaussDB,如何给世界一个更优选择?

YG科技

Postman 前后端都适用吗?

Liam

前端 后端 开发 Postman API

通俗易懂描述AIGC

这我可不懂

人工智能 低代码 AIGC JNPF

嘉为蓝鲸研运一体化解决方案入选“鑫智奖”

嘉为蓝鲸

智能硬件 蓝鲸 金融数据

运维人员福音!自定义插件为运维提供更多可能

嘉为蓝鲸

#运维 Python运维 Linux 运维

中企出海管理难,复杂的国际形势下怎么用对人?

用友BIP

中企出海

再也不怕“卡脖子”了?华为云数据库GaussDB究竟有什么神奇功能?

YG科技

华为云GaussDB,如何为企业数字创新保驾护航?

YG科技

怎样区分试验与仿真的关系?

思茂信息

仿真软件 仿真技术

下载量破 15000!龙蜥社区登陆阿里云 ACR 制品中心 TOP5 榜单

OpenAnolis小助手

阿里云 操作系统 容器镜像 龙蜥社区 Dragonwell

详解驱动开发中内核PE结构VA与FOA转换

华为云开发者联盟

开发 华为云 驱动开发 华为云开发者联盟 企业号 6 月 PK 榜

看过才知道,这套SpringCloudAlibaba笔记,把微服务玩的出神入化!

程序知音

Java 微服务 SpringCloud java架构 后端技术

打卡有礼!快来 2023 开放原子全球开源峰会找龙蜥玩~

OpenAnolis小助手

开源 操作系统 龙蜥社区 开放原子全球开源峰会 龙蜥实验室

做开发5年,这8个高效开发好习惯我悟了🔥

引迈信息

程序员 前端 低代码 JNPF

优质高效!阿里内部超高质量的k8s+Jenkins笔记,技术与实战齐飞

程序知音

提升效率:P4VFS让虚拟文件同步更迅速、更简单

龙智—DevSecOps解决方案

文件同步 虚拟文件同步 Virtual File Sync

国外云主机:为你的业务提供全球级托管!

一只扑棱蛾子

云主机

NFT全链游戏dapp系统开发合约定制

开发v-hkkf5566

SpringBoot 升级所踩过的坑 (二)

技术小生

6 月 优质更文活动

领英PYMK推荐系统优化:为用户带来更平等的人脉_语言 & 开发_Qiannan Yin_InfoQ精选文章