写点什么

LinkedIn 是如何用图神经网络扩充会员知识图谱的?

  • 2022-01-21
  • 本文字数:2778 字

    阅读完需:约 9 分钟

LinkedIn是如何用图神经网络扩充会员知识图谱的?

LinkedIn 的会员可以在自己的档案中填充个人信息,例如工作经历、教育经历、技能专长等等。从会员的输入中,我们利用人工智能模型来抽取他们的档案属性或档案实体。这个过程被称为标准化和知识图谱的构建,并生成与会员有关的实体的知识图谱。


这是了解会员档案的重要一环,以便我们能在这个平台上为会员提供更多的相关工作、新闻报道、联系和广告。作为这一过程的一部分,我们也试图对“缺失”的档案实体进行推理,这些实体在现有知识图谱中并没有抽取。比如,一个会员掌握机器学习的技能,在谷歌工作,我们就推断出,这名会员精通 TensorFlow,尽管他们目前的档案中并没有这么说。


有一些原因可以解释为何总有一些缺失的实体。首先,大部分实体抽取技术都是依赖于文本信息。如果在文本中没有特别提及某个实体,则这些模型很有可能错过这个实体。第二,会员不一定会提供全部信息。比如,会员可以不把自己掌握的全部技能都列出来,而是把自己的一些技能放在自己的档案里。通过对缺失的实体进行推理,我们可以在 LinkedIn 的产品中为会员提供更好的推荐。比如,我们可以展示更多的相关工作、新闻报道和他们可能认识的人。


推理缺失的实体具有挑战性,因为它需要对会员的档案有一个整体的理解。当前的实体抽取技术是以文本为主要输入,不能对文本中没有明确提及的实体进行推理。


本文的目的是通过从会员输入的实体,对缺失的实体进行推理。比如,我们想要利用实体“机器学习”和“谷歌”来推理“TensorFlow”。这里的困难在于将多个实体之间的交互考虑在内。有几种简单的统计方式可以从单一的实体中寻找相关的实体,例如,点互信息(pointwise mutual information,PMI)。但是,如果我们仅从“谷歌”中选择相关技能,那么我们就有很大的机会最终得到其他推理的技能,比如“MapReduce”或者“Android”,但与“TensorFlow”相比,它们在这个例子中的相关性并没有那么高。


在这篇博文中,我们将会探讨如何建立一种新的模型,利用图神经网络来解决这一问题。

我们的方法


我们将实体推理表述为图上的推理问题。图 1 是我们对表述的一个可视化。实线是给定会员的现有实体邻居,虚线是潜在的新邻居,在档案中没有明确提及。我们的目标是在给定现有邻居的情况下预测新的邻居,这可以理解为图设置中的标准链接预测问题。


图 1. 会员-实体知识图谱。连接到具有实线(以 ID 作为后缀)的会员的实体是其档案上的现有实体。连接到具有虚线(以“unk”为后缀)的会员是“未知”实体,它是由我们的模型推理而来。


本文采用图神经网络来解决连接预测问题。图神经网络(Graph Neural Network,GNN)是一种用于从图中抽取信息的神经网络,给定一个输入图,图神经网络为每个节点学习一个潜在的表征,这样一个节点的表征就是其邻居的表征集合。


通过这一过程,由图神经网络所学到的表征,可以在输入图中捕捉到连接的结构。在我们的设置中(如图 1 所示),我们的图神经网络将使用其邻居(会员及其实体)学习“company_unk”的表示,然后我们将使用该表示来预测这将是哪家公司;也就是说,我们通过聚合来自现有实体的信息,从而推理缺失的实体。


值得注意的是,由于现有的图神经网络采用了简单的聚合方法,例如平均法或者加权平均法,因此它们在聚合邻居(会员实体)方面存在差距。若现有实体之间存在复杂的交互,那么这种简单的聚合方法将会失效。


本文针对这个问题,提出了一种新型的图神经网络模型,我们称之为 Entity-BERT。这个模型采用了一个多层双向 Transformer 来进行聚合。给定一组现有的实体,我们采用了一个叫做 Transformer 的神经网络,通过计算每一对实体之间的交互(注意力)来更新一个节点的表示。为了捕获实体之间越来越复杂的交互,它会重复这一操作 6~24 次。


在自然语言处理的句子理解方面,多层双向 Transformer 具有卓越的表现,其目的在于理解给定句子中单词之间的交互。尤其是 BERT(Bidirectional Encoder Representation with Transformers,带 Transformer 的双向编码器表示),在各种自然语言处理任务中的性能,超过了其他非 Transformer 神经网络。我们相信,BERT 同样能够提高实体推理的性能。我们的类 BERT 聚合器的结构如图 2 所示。


图 2. Transformer 聚合器。输入是一个给定会员的邻居实体。输出 E[CLS] 嵌入对应于该会员。

训练和推理


该模型通过自我监督进行训练。给定一个会员档案,我们从他们的档案中屏蔽或隐藏一些属性,并学习如何预测被屏蔽的属性。我们用 [MASK] 替换每个会员档案中 10% 的实体,并按其类型(技能、职称、公司、学校等)进行分组。


图 3 展示了一个例子,其中公司和技能被屏蔽了。受自然语言处理中 BERT 的启发,我们也将实体类型作为一个额外的输入,并且给它们分配了类型 ID。例如,公司→1,行业→2,技能→3,职称→4。


图 3. 自我监督的训练


在评分/推理过程中,我们将某些屏蔽的实体添加到会员的档案中,并且指定每个屏蔽的类型。一个例子如图 4 所示。在这里,会员已经拥有了诸如 itle_9、Company_1337、Industry_6、Skill_198 和 Skill_176 等标准化的实体。我们希望为这个会员预测隐藏的技能。因此,我们将一个 [MASK] 实体附加到技能类型上。模型随后会在与 [MASK] 相同的位置输出技能。


图 4. 推理管道

成果

应用 1:技能推荐


我们的技能推荐系统推荐会员可能具备的技能,但这些技能在他们的档案中并没有提及。当会员点击档案的“技能认可”中的“添加技能”(Add a new skill)时,它就会被触发(如图 5 所示)。在新会员创建新的档案时,它也会向他们展示(如图 6 所示)。


图 5. 当会员在其档案上点击“添加技能”按钮时,展示的推荐技能。


图 6. 推荐技能的指导性编辑。


我们利用 Entity-BERT 来推理和推荐未在会员档案上提及的技能。通过将 Entity-BERT 与之前使用会员当前实体并进行简单汇总的方法进行比较,我们观察到,利用基于 Entity-BERT 的方法,可以让会员接受更多推荐。我们还观察到,这些额外的技能使得更多的会员参与,比如更多的会议。

应用 2:广告受众拓展


LinkedIn 的广告商通过会员档案属性指定他们的目标受众,比如向人工智能工程师展示广告。另外,他们中有些人还会选择受众拓展,将受众拓展到拥有类似实体的其他会员,比如向人工智能工程师和人工智能研究人员展示广告。


我们利用 Entity-BERT 对会员的档案实体(公司、技能和职称)进行扩展,并利用这些扩展的实体来拓展受众。在线上 A/B 测试中,与之前没有 Entity-BERT 的扩展模式相比,通过 Entity-BERT 进行的受众拓展,其带来的广告收入在统计学上显示出了重大影响,而不会影响到用户体验(如广告点击)。

结语


在这篇文章中,我们介绍了 Entity-BERT,它是一种新型的图神经网络,可以从现有的会员知识图谱中推理出缺失的会员实体。Entity-BERT 的创新之处在于,它使用了多层双向 Transformer 来捕捉现有实体之间的交互。Entity-BERT 已经表明,它能够有效地对缺失的实体进行推理,从而对产品产生重要的影响。


作者介绍:


Jaewon Yang,LinkedIn 高级软件工程师,韩国人。

Jiatong Chen,LinkedIn 高级软件工程师,中国人,毕业于中国科技大学,耶鲁大学研究生。

Yanen Li,LinkedIn 机器学习工程主管,中国人,毕业于华中科技大学,伊利诺伊大学香槟分校博士生。


原文链接:


https://engineering.linkedin.com/blog/2021/completing-a-member-knowledge-graph-with-graph-neural-networks

2022-01-21 10:243280

评论

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

人才缺口超70万,15所高校新设区块链专业

CECBC

使用Git分布式控制系统,怒斩腾讯和阿里的Offer

Java 程序员 后端

14 种编程语言书写关机脚本,真香

梦想橡皮擦

9月日更

【墨天轮专访第四期】华为云GaussDB:发挥生态优势,培养应用型DBA

华为云数据库小助手

GaussDB 交流 华为云数据库 人物访谈

三面滴滴Java岗,Java程序员校招蚂蚁金服

Java 程序员 后端

什么是事务数据库?,Java程序员面试题集大全

Java 程序员 后端

什么是Spring-Cloud、需要掌握哪些知识点,Java面试常问的算法题

Java 程序员 后端

Vue进阶(幺零七):arr.forEach() 跳出循环

No Silver Bullet

Vue 9月日更

没有Linux服务器,该如何学习Linux呢?

Simon郎

大数据 Linux java;

号外!号外!极客时间出插件了😎

IT蜗壳-Tango

极客时间 9月日更 浏览器插件

测试模型中理解压力测试和负载测试

FunTester

性能测试 接口测试 压力测试 FunTester 负载测试

带你读AI论文丨用于细粒度分类的Transformer结构—TransFG

华为云开发者联盟

细粒度 映射 Transformer TransFG 差异性图片

狄刚谈区块链:技术上去中心化并不等于管理去中心化

CECBC

NDK-AAudio

Changing Lin

9月日更

北鲲云SaaS平台让生物医学关键环节不再靠“猜”

北鲲云

如何从零搭建起一支技术团队

石云升

团队管理 管理 引航计划 内容合集 9月日更

【优化技术专题】「线程间的高性能消息框架」深入浅出Disruptor的使用和原理

洛神灬殇

Disruptor LinkedBlockingQueue ArrayBlockingQueue 9月日更

什么?语音合成开源代码不会跑,Follow me!

华为云开发者联盟

tensorflow 语音合成 Tacotron2 DeepMind 深度神经网络模型

三大「价值流」搞定技术型管理

蔡建斌

管理 技术管理 精益 引航计划 内容合集

性能测试中标记请求参数实践

FunTester

性能测试 接口测试 压力测试 FunTester 标记参数

三面蚂蚁惨败,面试官要求手写算法,从外包公司到今日头条offer

Java 后端

手撸二叉树之二叉搜索树的最小绝对差

HelloWorld杰少

数据结构与算法 9月日更

RocksDB原理及应用

hanaper

【Flutter 专题】50 图解动画小插曲之 Lottie 动画

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

Who is Mavenir?

俞凡

Mavenir

世界的尽头是铁岭,互联网的尽头是它

艾小仙

三面美团、四面阿里成功斩下offer,下血本买的

Java 程序员 后端

用IoT放羊养牛,不出门也能知道它们的动向

华为云开发者联盟

物联网 华为云 iotda 畜牧业 华为云物联网平台

Vite + Vue3 + OpenLayers

德育处主任

大前端 地图 vite Vue3 openlayers

循环神经网络LSTM RNN回归:sin曲线预测

华为云开发者联盟

RNN 循环神经网络 LSTM LSTM RNN回归

如何选择收银机主板?

双赞工控

安卓主板

LinkedIn是如何用图神经网络扩充会员知识图谱的?_文化 & 方法_Jaewon Yang_InfoQ精选文章