新闻
您现在的位置:首页 > 新闻 > Uber开源柏拉图用于开发和测试会话AI

Uber开源柏拉图用于开发和测试会话AI

发布时间:2019/07/18 新闻 浏览次数:229

 

设计会话AI并不像听起来那样是Sysiphean。像谷歌的Dialogflow,微软的Bot框架和亚马逊的Lex这样的工具使得它比过去更容易,优步的人们希望通过自己的开发平台消除任何剩余的障碍。它被称为柏拉图研究对话系统,它今天在GitHub上以开源形式发布。

正如Uber AI(Uber的人工智能研究部门)的人们在一篇冗长的博客文章中解释的那样,Plato旨在构建,培训和部署会话AI代理,使数据科学家和业余爱好者能够从原型和演示系统中收集数据。它具有“干净”和“可理解”的设计,并与现有的深度学习和模型调优优化框架集成,可减少编写代码的需要。

柏拉图的第一次迭代(版本0.1)通过语音,文本或结构化信息(例如,对话行为)支持交互,并且每个会话代理可以与人类用户,其他代理或数据交互。 (Plato可以生成多个代理并确保输入和输出数据被适当地传递给每个代理,并跟踪对话。)此外,Plato可以为每个会话代理组件添加预训练模型,并且每个组件都可以在交互期间进行训练或来自数据。

Plato通过模块化设计实现了这一目标,将数据处理分为七个步骤:语音识别,语言理解,状态跟踪(汇总到目前为止已完成和完成的信息),API调用(例如,搜索数据库),对话策略(生成代理的响应的抽象含义),语言生成(将所述抽象意义转换为文本)和语音合成。 Plato支持一系列会话式AI架构,每个元素都可以使用流行的机器学习库进行培训,例如Uber的Ludwig,Google的TensorFlow和Facebook的PyTorch。

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

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

“我们相信,柏拉图能够在Ludwig和TensorFlow以及PyTorch,Keras和其他开源项目的深度学习框架中更加无缝地培训会话代理,从而改善学术和行业应用中的会话AI技术,”Uber AI写道研究人员Alexandros Papangelis,Yi-Chia Wang,Mahdi Namazifar和Chandra Khatri。 “[我们]利用[d]柏拉图轻松培训会话代理如何询问餐馆信息,以及另一个代理如何提供此类信息;随着时间的推移,他们的谈话变得越来越自然。“

Plato的发布是在上述Ludwig的首次亮相之后推出的,这是一个基于Google TensorFlow框架的开源“工具箱”,允许用户在不必编写代码的情况下训练和测试AI模型。去年12月,优步带来了Horovod,这是一个跨多台机器的分布式培训框架,其开发人员已经在内部用于支持自动驾驶车辆,欺诈检测和旅行预测,这些都是LF深度学习基金会的开源。

 

 

 

 

 

 

 

 

姓 名:
邮箱
留 言: