HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论 1 条评论

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

Topaz Video AI for mac(视频增强和修复工具) 3.4.2简体中文版

mac

苹果mac Windows软件 Topaz Video AI

软件测试/测试开发丨Web自动化 PageObject设计模式

测试人

Python 软件测试 自动化测试 测试开发

MySQL的Json类型个人用法详解

北桥苏

容器编排工具的比较:Kubernetes、Docker Swarm、Nomad

树上有只程序猿

Kubernetes Docker Swarm Nomad

Illustrator 2022 for mac (AI 2022中文版) v26.4.1完美激活版

mac

苹果mac Windows软件 illustrator 2022 矢量图形软件

全面 Serverless 化,阿里云微服务引擎 MSE 重磅升级

阿里巴巴云原生

阿里云 Serverless 微服务 云原生

@返校的同学、家长,华为手机用Petal出行打车更高效优惠!

最新动态

活动回顾丨云原生开源开发者沙龙深圳站(含 PPT)

阿里巴巴云原生

阿里云 开源 云原生 消息列队

如何利用FuncGPT告别繁琐的开源代码调试

SoFlu软件机器人

AI 软件开发 程序员‘’ 自然语言 Java'

学习CAE软件有什么方法技巧?

智造软件

有限元分析 CAE软件 altair

NFTScan 浏览器正式版上线 2 周年!

NFT Research

NFT nft工具

十秒钟搞定全自动jvm参数分析

摸鱼编程

AI 自动化 JVM GC

智慧云助力移动办公,提升效率,降低成本

知者如C

INFINI Labs 产品更新 | Console 告警中心 UI 全新改版,新增 Dashboard 全屏模式等功能

极限实验室

console INFINI Labs INFINI Console 极限科技

低代码开发的优势与劣势,看这一篇就够了

互联网工科生

软件开发 低代码

ABAQUS是什么软件?哪里可以学习有限元分析技术?

思茂信息

仿真软件 abaqus 有限元分析 有限元技术 结构仿真

线上拍卖APP开发多少钱评估方法,及功能模块设计参考

软件开发-梦幻运营部

拍卖

一个可读性高的代码对程序员有多重要

SoFlu软件机器人

AREX Agent 如何实现 Apollo 配置中心 Mock

AREX 中文社区

开源 Java Agent 自动化测试 Apollo 流量录制

iOS代码加固与保护方法详解 - 提升iOS应用安全性的关键步骤

雪奈椰子

音视频数字化进行时,MediaBox重新定义「高易用」

阿里云视频云

云计算 视频云

多元任务,高额奖金!首届“开放原子开源大赛”等你参与!

飞桨PaddlePaddle

人工智能 paddle 百度飞桨

全球十大最佳 NFT:数字资产重新定义所有权

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

CCKS2023:基于企业数仓和大语言模型构建面向场景的智能应用

酷克数据HashData

软件开发原子化 技术转型加速器

力软低代码开发平台

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