写点什么

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:127190
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论 1 条评论

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

YashanDB ARRAY_REPLACE函数

YashanDB

流媒体分享系列之广告归因

Marvin

广告 流媒体 广告归因 归因技术

YashanDB ARRAY_REMOVE函数

YashanDB

YashanDB ASIN函数

YashanDB

2025 程序员薪资大洗牌:掌握这 3 个 AI 核心技术,薪资瞬间翻倍

飞算JavaAI开发助手

编程 AI 开发者

想考试PMP的同学看过来

Marvin

项目管理 pmp IT PMP Certification PMP考试

YashanDB AVG函数

YashanDB

YashanDB BIN函数

YashanDB

看图学会Kubernetes

Marvin

Docker Kubernetes k8s 学习笔记 虚拟化技术

单月飙涨 300%!揭秘MSKE三大核心优势

MSKE铭文

#区块链 比特币行情 MSKE铭文 比特币铭文

流媒体分享系列之用户画像

Marvin

广告 流媒体 用户画像 剧情

华为云生态大会2025前瞻:为伙伴们打通行业智能跃迁通路

Alter

看一个有经验的程序员如何学习一门新语言

Marvin

flutter 编程 前端 跨平台 学习分享

为什么mac文件拖拽不了 mac文件拖不进硬盘里 macbookpro文件无法拖进移动硬盘

阿拉灯神丁

mac三指操作设置 NTFS 磁盘管理器 Tuxera NTFS2024 文件拖拽工具 Mac文件管理

Easysearch VS Opensearch 数据写入与存储性能对比

极限实验室

easysearch OpenSearch

YashanDB ASCII函数

YashanDB

YashanDB ATAN函数

YashanDB

低代码困局:方法论迷途与破局之道

代码制造者

低代码

SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证

冴羽

前端 前端框架 React Svelte SvelteKit

YashanDB ARRAY_POSITION函数

YashanDB

流媒体分享系列之广告归因方案

Marvin

广告 流媒体 归因 广告归因 广告归因技术

黑龙江三级等保-信息安全等级保护制度中的重要级别

黑龙江陆陆信息测评部

表 vs 物化视图:核心区别与选型指南

镜舟科技

分析型数据库 StarRocks 物化视图 实时分析 MPP 架构

iVX如何拿捏中大型工程建筑行业砼管理系统

代码制造者

无代码开发 低代码开发中大型系统

YashanDB ARRAY_TO_STRING函数

YashanDB

YashanDB ARRAY_UPPER函数

YashanDB

YashanDB ATAN2函数

YashanDB

2025 年 AI 编程新风向:从智能辅助到自主开发的跨越

飞算JavaAI开发助手

编程 AI 代码

25亿专项激励金!百度联盟发布“智跃计划”,开放四大能力赋能开发者

极客天地

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