写点什么

Uber 开源 Plato 平台,用于开发和测试会话 AI

  • 2019-07-17
  • 本文字数:2428 字

    阅读完需:约 8 分钟

Uber开源Plato平台,用于开发和测试会话AI

在过去的几十年里,智能会话代理经历了重大变化,从以关键字为目标的交互式语音应答(IVR)系统到跨平台智能个人助理,都成为日常生活中不可或缺的一部分。伴随着这些变革和增长,需要一个直观、灵活、全面的研发平台,(它)可以作为一个开放的测试平台帮助评估新算法、快速创建原型并可靠地部署会话代理。在这种背景下,Uber 开发并开源了 Plato 研究对话系统。

Uber Plato 平台在 GitHub 开源

据外媒 Venture Beat 报道,Uber 开源了柏拉图研究对话系统(Plato Research Dialog System)。它是一个可用于在各种环境下创建、训练和部署会话 AI 代理的平台,让数据科学家和业余爱好者能够在会话 AI 中进行最先进的研究,并快速创建原型、演示系统及促进对话数据采集​​。该系统将与谷歌的 Dialogflow、微软的 Bot 框架和亚马逊的 Lex 等产品展开竞争。


Plato 的设计“干净”、“可理解”,并与现有的深度学习和模型调优优化框架(贝叶斯优化框架)集成,可减少编写代码的需要。


Plato(版本 0.1)的第一次迭代支持通过语音、文本或对话行为进行交互,每个会话代理可以与数据,人类用户或其他会话代理进行交互(在多代理设置中)。此外,Plato 可以为每个会话代理组件合并预训练的模型,且可以在交互的过程中或从数据中对每个组件进行训练。


Plato 通过模块化设计将数据处理分解为七个步骤:语音识别、语言理解、状态跟踪、API 调用、对话策略、语言生成、语音合成。Plato 支持一系列会话式 AI 架构,每个元素都可以使用主流的机器学习库进行训练,例如 Uber 的 Ludwig,Google 的 TensorFlow 和 Facebook 的 PyTorch。


为了证明它的可扩展性,Plato 用户可以定义自己的体系结构,或通过提供 Python 类名和模块的程序包路径及模型的初始化参数来插入自己的组件。只要模块按照(它)应该执行的顺序列出来,Plato 就会处理其余的部分,包括封装输入和输出、链接和执行模块(串行或并行),以及让对话变得更容易。


在数据记录方面,Plato 会在一个名为 Dialogue Episode Recorder 的结构中跟踪事件,该结构包含,先前对话状态,所采取的操作,当前对话状态等信息,甚至还有一个自定义字段可用于跟踪不属于已定义类别的任何内容。


Uber AI 研究团队表示 :“我们相信,Plato 能够在 Ludwig、TensorFlow、PyTorch、Keras 和其他开源项目的深度学习框架中更加无缝地训练会话代理,从而提升学术和行业应用中的对话 AI 技术。“

Plato 研究对话系统如何运作?

从概念上来讲,会话代理需要经过各种步骤来处理它接收到的“输入”内容,并输出合适的答案(如“有风但不太冷”)。与标准体系结构的主要组件(参见图 1)相对应的主要步骤是:


  • 语音识别(将语音转录为文本)

  • 语言理解(从该文本中提取意义)

  • 状态跟踪(到目前为止已经说过和完成的内容的汇总信息)

  • API 调用(搜索数据库,查询 API 等)

  • 对话政策(生成代理人回应的抽象含义)

  • 语言生成(将抽象意义转换为文本)

  • 语音合成(将文本转换为语音)


Plato 被设计的尽可能地模块化和灵活性; 它支持传统和自定义的会话 AI 体系架构,而且很重要地是,它支持多参与方交互,其中有不同角色的多个代理可以相互交互、同时训练并解决分布式问题。


下面的图 1 和图 2 描述了与人类用户和模拟用户交互时的示例 Plato 对话代理体系结构。与模拟用户交互是研究团体快速启动学习的一种常见做法(即,在与人类交互之前先学习一些基本行为)。因为 Plato 是一个通用框架,所以可以使用任何机器学习库(例如 Ludwig、TensorFlow、PyTorch 等)在线或离线训练每个独立的组件,Uber 的开源深度学习工具箱 Ludwig 是一个不错的选择,因为它不需要编写代码且完全兼容 Plato。



图 1:Plato 的模块化架构意味着任何组件都可以在线或离线进行训练,可以通过自定义或预先训练的模型进行替换。(此图中的灰色组件不是 Plato 核心组件。)



图 2:使用模拟用户而不是人类用户,如图 1 所示,我们可以预先训练 Plato 各种组件的统计模型。接下来,这些可以用于创建原型会话代理,该代理可以与人类用户交互来收集更多自然数据,随后,这些数据可用来训练更好的统计模型。(此图中的灰色组件不是 Plato 核心组件。)


除了单代理交互之外,Plato 还支持多代理对话,多个 Plato 代理可以相互交互并相互学习。具体来说,Plato 将生成会话代理,确保输入和输出(每个代理听到和说出的内容)被恰当地传递给每个代理,并跟踪对话。


这种设置可以促进多代理学习的研究,代理需要学习如何生成语言以执行任务,以及研究多方交互的子领域(对话状态跟踪、轮流等)。对话原则定义了每个代理可以理解的内容(实体或含义的存在论;如价格、位置、偏好、烹饪类型等)及它可以做什么(询问更多信息、提供一些信息、调用 API 等)。代理可以通过语音,文本或结构化信息(对话行为)进行沟通,每个代理都有自己的配置。下面的图 3 描述了这种架构,概述了两个代理和各种组件之间的沟通:



图 3:Plato 的架构允许对多个代理进行同时训练,每个代理具有潜在的不同角色和目标,并且可以促进多方交互和多代理学习等领域的研究。(此图中的灰色组件不是核心的 Plato 组件。)


最后,Plato 通过下面图 4 所示的通用代理体系结构来支持自定义体系结构(如,将 NLU 分成多个独立组件)和联合训练的组件(如文本到对话状态、文本到文本或任何其他组合。此模式脱离了标准会话代理体系结构,支持任何类型的体系结构(如使用联合组件、文本到文本或语音到语音组件、或任何其他设置)并允许加载现有或预先训练有素的模型进入 Plato。



图 4:Plato 的通用代理体系结构支持广泛的自定义,包括联合组件,语音到语音组件和文本到文本组件,所有这些组件都可以串行或并行执行。


Plato 还通过组合结构(BOCS)的贝叶斯优化为会话 AI 架构或单个模块参数的贝叶斯优化提供支持。


原文链接:


https://venturebeat.com/2019/07/16/researchers-create-tiny-beyond-5g-chip-for-100ghz-data-transmission/


https://github.com/uber-research/plato-research-dialogue-system


2019-07-17 16:127201
用户头像
刘燕 InfoQ高级技术编辑

发布了 1123 篇内容, 共 608.6 次阅读, 收获喜欢 1982 次。

关注

评论 1 条评论

发布
用户头像
这个神器支持中文么?
2019-07-17 16:30
回复
没有更多了
发现更多内容

n8n vs Coze:自动化工作流的选择指南

测吧(北京)科技有限公司

力创课堂知识付费系统:一站式专属知识服务平台解决方案

微擎应用市场

嘉为蓝鲸CTeam敏捷协同平台|代码域x需求域自动化关联追溯:精准破解研发协同断层困局

嘉为蓝鲸

DevOps 研发协同 敏捷协同 CTeam

实力认证!嘉为蓝鲸获评OpenCloudOS杰出贡献单位,以信创实践赋能生态共荣!

嘉为蓝鲸

研发效能 自动化运维 嘉为蓝鲸 研运一体化 智能运维体

骁龙大赛-技术分享第5期(上)

极市平台

官宣!TDengine 授权麦斯时代为钻石分销商,共筑工业数据新生态

TDengine

时序数据库 TDengine\

国产开源 | ClkLog 埋点与用户行为分析一体化解决方案

ClkLog

开源 数据分析 开源软件 用户画像 埋点分析

隐语嘉年华报名启动|这一次,我们聊聊数据如何真正“连”起来

隐语SecretFlow

浪潮海岳ChatBI:快速助力企业数据驱动决策

inBuilder低代码平台

数据分析 LLM ChatBI 数据驱动决策 多智能体协同

内核探究|让大表 Join 快 10 倍:YMatrix Runtime Filter 的实现与架构解析

YMatrix 超融合数据库

join database 超融合数据库 YMatrix runtime filter

借力低代码平台,高校人才培养锚定企业需求靶向

中烟创新

西贝or萨莉亚,当下最赚钱的预制菜怎么做?——IPD新产品立项CDP流程

IPD产品研发管理

产品 软件 产品开发 硬件 IPD

穿越AI泡沫:赛博威“AI中台+Agent”路径,让企业AI转型风险可控、价值可期

赛博威科技

人工智能 数据库 AI

爆文生产机外链版小程序系统 —— 引爆流量变现新引擎

微擎应用市场

【案例共创】开发者空间配合华为AskO3构建造数小程序

华为云开发者联盟

#数据库 #人工智能 #华为开发者空间

BOE(京东方)董事长陈炎顺清华开讲:解码企业生态构建,阐释战略升维之道

爱极客侠

内行人告诉你!选错智能体开发平台,你的AI项目可能血本无归?

红迅AI低代码老陈

低代码平台 AI开发平台 红迅软件

Comate Spec模式实测:让AI编程更精准可靠

Comate编码助手

Baidu Comate AI 编程 AI编程助手

豆包手机来了:重新定义手机,也重写了测试人的工作

测吧(北京)科技有限公司

数据治理解决方案

金陵老街

数据治理

Adobe Experience Manager 存储型XSS漏洞深度解析与缓解指南

qife122

网络安全 WEB安全

视频号小商店助手:一站式店铺运营解决方案,解锁蓝海新机遇

微擎应用市场

【CMDB系列】CMDB模型设计落地经验

嘉为蓝鲸

AIOPS 配置管理 智能运维 CMBD 配置管理平台

骁龙大赛-技术分享第5期(下)

极市平台

大厂已经不用人干活了?“AI中台+Agent”正在重塑商业规则

赛博威科技

人工智能 大数据 AI

活动报名 | Apache Spark Meetup · 上海站,助力企业构建高效数据平台

阿里云大数据AI技术

spark 阿里云 Meetup

骁龙大赛-技术分享第5期干货汇总来啦——直播问题&答疑整理

极市平台

传统广告牌与数字广告牌的区别与趋势

Dylan

广告 LED LED display LED显示屏 LED屏幕

用n8n打造自愈型用例库与质量知识图谱

测吧(北京)科技有限公司

docker 安装部署

kcnf

全面盘点:AI开发平台的十大高价值应用场景,CTO和老板必看清单

红迅AI低代码老陈

低代码 低代码平台 红迅软件

Uber开源Plato平台,用于开发和测试会话AI_AI&大模型_刘燕_InfoQ精选文章