10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

LinkedIn 的智能消息回复

  • 2017-11-09
  • 本文字数:1002 字

    阅读完需:约 3 分钟

LinkedIn 发布了一款新的自然语言处理(NLP)推荐引擎,该引擎用于向成员提供智能回复的推荐。工程团队在近期的一篇博客文章中详细地记录了该模型以及基础架构的开发过程

传统的生成消息回复的方法是一个 sequence-to-sequence 模型(在该方法中,回复是逐词计算出来的),但是 LinkedIn 的方法是从有限的库中选择出一个回复。他们的工程师解释说,这样做可以将问题视为多项分类而不是文本生成,从而带来以下优势:

  • 易于训练
  • 更快的进行训练,这是他们能够立即提出回复建议的关键所在
  • 降低不恰当回复的风险

为了创建一组候选回复,LinkedIn 首先将一组对话匿名化,用占位符替代合适的部分。例如,在私人信息中姓名这样的词汇会被替换成“RECIPIENT_FIRST_NAME”。他们还将消息进行标准化处理,该过程会把具有相同含义的消息进行处理成为等同意义的消息(例如“Yup”、“ok!!!”、“Yes, ok!”这样的词汇),并且将这些词汇的含义归为一组。

为了建立多项分类模型,LinkedIn 使用了他们自己的机器学习框架 Dagli。它应用了 Java API,使用有向无循环图来表示机器学习流程,并且该框架将来很可能会开源。

智能回复的一个要求是,仅用一种方式来表示相同意义的建议。例如,“yes”,“yep” 和“yeah”表示的意思全都是“yes”,因此提出这三个相同的回复建议是毫无意义的。工程师们通过只从相同语义组返回一条消息就解决了这个问题。例如,所有的类似“yes”的回复都属于肯定类型的回复组,因此其中只有一条回复会被推荐。

使用语义组来分类存储消息的另一个优点是易于评估。LinkedIn 只需要在预测和实际的回复组之间做一个对比,就可以了解它们的准确程度,其中关注的是含义,而不是具体的文本。

LinkedIn 还指出,由于用户在系统内发送消息的数量巨大,因此在迅速生成智能回复方面存在巨大的规模性挑战。LinkedIn 团队解决这个问题的方法是提前计算回复 (当它们被发送时),并将它们存储到 Expresso 中,Expresso 是 LinkedIn 内部的 NoSQL 数据库。这就避免了昂贵的即时计算,并且这使得在一瞬间就能够提供或多或少的智能回复。

LinkedIn 还建立了一套机制,以确保其成员的信息保持私密。首先,通过对消息进行匿名化,在训练数据中使用信息之前,任何用户的个人信息都应该被匿名化。其次,会有一个选择退出的选项,选择了该选项就意味着用户消息数据不会被系统所使用。

点击这里查看完整的架构的在线文档

查看英文原文: Smart Replies For Member Messages at LinkedIn

2017-11-09 18:001892

评论

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

Java数组最大长度

okokabcd

Java

新星计划Day4【数据结构与算法】 稀疏数组与队列

京与旧铺

7月月更

OpenHarmony藏头诗应用

坚果

Open HarmonyOS OpenHarmony Open Harmony 7月月更

Java中的泛型与通配符

未见花闻

7月月更

Javac编译自定义注解及分析Lombok的注解实现

宁在春

注解 Java’ 7月月更

linux之抓包神器tcpdump

入门小站

Linux

5G NR Paging 寻呼

柒号华仔

5G 7月月更

【刷题记录】7. 整数反转

WangNing

7月月更

2022读过的书 -- 《Essential C++(中文版)》

SkyFire

c++ 读书 入门

Python 绘制精美可视化数据分析图表 (二)-pyecharts

迷彩

可视化 7月月更

Go 语言入门很简单:上下文

宇宙之一粟

Go 语言 7月月更

在线SQL转TSV工具

入门小站

工具

使用AssemblyScript 构建 WebAssembly 应用

devpoint

webassembly Wasm 7月月更 assemblyscript

微服务治理框架对比

穿过生命散发芬芳

微服务框架 7月月更

Envoy与Nginx的八大对比

阿泽🧸

envoy 7月月更

与众不同的破铜烂铁的算法爱好者和牛客的回忆

KEY.L

7月月更

如何现实小老虎拼图游戏

自由

小游戏 7月月更

ArrayBlockingQueue源码分析-删除数据

zarmnosaj

7月月更

小程序基础内容组件

小恺

7月月更

Flutter、ReactJS+小程序容器技术,降本增效急速提升100%

Speedoooo

flutter react.js 跨端开发 降本增效 小程序容器

在线文本批量查找多个字符串出现的次数工具

入门小站

工具

《深入 Linux 设备驱动程序那和机制》读书笔记

贾献华

7月月更

动态注册广播流程源码解析

北洋

Andriod 7月月更

SpringBoot核心应用第二弹

Java学术趴

7月月更

【愚公系列】2022年7月 Go教学课程 009-数据类型之浮点型

愚公搬代码

7月月更

继承(二)

Jason199

js 继承 7月月更

【Java】中的String、StringBuffer和StringBuilder的区别

工程师日月

Java’ 7月月更

如何优雅的告诉老板软件的研发成本?

涛哥 数字产品和业务架构

企业架构 Archimate

C 语言入门(三)

逝缘~

7月月更

dotnetcore环境下优雅的执行计划任务

为自己带盐

7月月更

LinkedIn的智能消息回复_AI&大模型_Andrew Morgan_InfoQ精选文章