NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

MindMeld 公司发布会话式应用程序开发指南

  • 2017-02-12
  • 本文字数:1983 字

    阅读完需:约 7 分钟

会话式人工智能公司 MindMeld 发布了《会话式人工智能手册》,该手册概述了开发会话式应用程序所面临的挑战和步骤。

最近,一些核心企业开发了用于编写会话式应用程序的初始解决方案。研究人员、科幻小说和电影很久以前就预言,人们有一天终将能够像与另一个人类交谈一样地与机器交谈。Amazon Alexa、Apple Siri、Google Assistant、Microsoft Cortana 以及其他解决方案都在努力实现这个目标,设计构建出应用程序和框架,使开发人员能够编写出能理解人类言语并回答基本问题的应用程序。

MindMeld 公司提供了一个平台,开发人员可以在该平台上创建基于深度领域会话式人工智能的应用。他们写了一本手册,按步骤指导那些有兴趣开发这类应用程序的人。这本指南涵盖了他们在这一领域多年来制定的一些原则和最佳实践经验。

MindMeld 公司概述了一些开发会话式应用程序的可行方法:

规则引擎。使用这种方法,开发人员需要创建大量的规则,以便为每个问题选择适当的答案。它是速度最快但又最有局限性的解决方案:

由于基于规则的框架并不提供人工智能功能来解析或分类输入信息,开发人员必须手动编写所有必要的信息处理和交互逻辑。通常情况下即使是简单的应用程序也需要数百条规则来处理典型会话界面中的不同对话状态。

该指南列出了 BotKit Microsoft Bot Framework 等会话式应用程序的规则引擎。

NLP 服务。另一种方法是使用基于云计算的自然语言处理(NLP)服务。 提供自然语言解释服务是开发会话式应用程序必不可少的一个步骤,同时,MindMeld 公司也认为这项服务还有一个额外目的:

这些服务通常由大型消费者互联网公司提供,以吸引开发者上传他们的训练数据,从而帮助服务提供者改进自己的会话式人工智能。

这方面的产品有 Amazon Lex Facebook wit.ai Google api.ai IBM Watson Conversation Microsoft LUIS 以及 Samsung Viv

机器学习。依赖于机器学习的工具包代表了更复杂的解决方案。它们提供了用于解释数据的高级深度学习算法。这本指南列出了一些开发会话式应用程序的可行方案,比如 Apple GraphLab Create Google TensorFlow Microsoft Cognitive Toolkit

会话式人工智能平台。这是基于机器学习的平台,但是针对会话式应用程序进行了优化。里面包括了一些用于“意图分类、实体识别、实体解析、问答和对话管理”的工具。

与基于云计算的 NLP 服务不同,会话式人工智能平台不要求将培训数据上传到共享的云基础设施上。相反,它们提供了一个灵活和通用的平台,确保可以在本地管理数据集和训练模型,并始终保持应用程序开发人员的知识产权。

对于这种方法,MindMeld 公司只以他们自己的解决方案为例。当被问及 MindMeld 公司的平台与其它解决方案的不同之处时,他们回答说:

wit.ai api.ai 和 LUIS 这样的工具可以帮助没有数据科学背景的工程师构建简单的 NLP 模型。但是 MindMeld 是更先进的机器学习平台,能够帮助数据科学家创建更高级的会话接口。例如,MindMeld 使我们的客户能够创建自定义知识图谱,从而深入了解他们的产品内容或目录。MindMeld 还可用于构建先进的、经过数千或数百万次训练的 NLP 模型。MindMeld 还提供了一个最先进的问答系统,适用于任何知识领域。目前没有一个基于网络的 NLP 服务(比如 wit.ai、api.ai 或 LUIS)能够提供这样的功能。

这本手册还有一个使用 MindMeld 的平台编写会话式应用程序的 10 步实施指南。其中一些步骤也适用于其他解决方案。下面简要总结一下这 10 个步骤:

  1. 选择正确的用例。并非所有的用例都适合于会话式应用程序。选择用例时要考虑到它是否类似于真实世界的人类交互,是否节省用户的时间并且是否方便用户使用。
  2. 编写理想的对话互动。考虑用户如何使用该应用程序,可能的对话是什么,这些对话需要包含哪些边界情况,例如提问超出了应用程序范围。
  3. 定义域、意图、实体和角色层次结构。确定需要解释的自然语言的基本要素。
  4. 定义对话状态处理程序。确定所要进行的对话步骤,从交互开始到交互结束,并提供必要的细节。
  5. 创建问题解答器知识库。这是理解和解答问题所需的信息库。
  6. 生成代表性训练数据。创建机器学习算法所需的数据集,以更好地了解该领域和可能进行的对话。
  7. 训练自然语言处理分类器。这涉及训练 NLP 引擎以识别域、意图、用户提及的实体以及这些实体所起的作用。
  8. 使用语言解析器。此步骤涉及配置语言解析器以正确地标识实体之间的关系从而创建解析树。
  9. 优化问题解答性能。调试问题解答器以寻求最佳解答。
  10. 将训练模型应用到生产环境。先测试应用程序,然后将其应用到实际生产。

如果您需要有关开发会话式应用程序的 10 个步骤的更多详细信息,我们建议您阅读这本指南

参考英文原文 MindMeld’s Guide to Building Conversational Apps


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2017-02-12 18:001474
用户头像

发布了 22 篇内容, 共 48768 次阅读, 收获喜欢 3 次。

关注

评论

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

SpringBoot整合Elasticsearch

Java 程序员 后端

SpringBoot实现对HikariCP连接池的整合

Java 程序员 后端

SpringBoot实现幕课网在线学习系统

Java 程序员 后端

一文搞定Python深拷贝和浅拷贝

老表

Python 深拷贝 浅拷贝 11月日更

SpringBoot快速整合Mybatis&MybatisPlus

Java 程序员 后端

SpringBoot快速整合Mybatis&MybatisPlus(1)

Java 程序员 后端

springboot整合rabbitMq

Java 程序员 后端

从环境搭建到回归神经网络案例,带你掌握Keras

华为云开发者联盟

Python 神经网络 tensorflow keras 回归神经网络

SpringBoot2---静态资源映射规则

Java 程序员 后端

SpringBoot+shiro+mybatis实现权限登录

Java 程序员 后端

SpringBoot技术实践-SpringRetry重试框架

Java 程序员 后端

Springboot 整合RabbitMq ,用心看完这一篇就够了

Java 程序员 后端

11 K8S之节点资源

穿过生命散发芬芳

k8s 11月日更

SpringBoot使用Logbook记录HTTP请求响应日志

Java 程序员 后端

springboot整合mybatis

Java 程序员 后端

Springboot 整合Retry 实现重试机制

Java 程序员 后端

Springboot 最简单的发送邮件(文本、附件、图片)实战案例

Java 程序员 后端

springboot多数据源配合docker部署mysql主从实现读写分离(1)

Java 程序员 后端

springboot多数据源配合docker部署mysql主从实现读写分离

Java 程序员 后端

鸿蒙轻内核虚拟内存基础知识:虚拟内存进程空间编号

华为云开发者联盟

鸿蒙 虚拟内存 鸿蒙轻内核 虚拟内存进程空间编号

SpringBoot整合Redis实现声明式缓存

Java 程序员 后端

SpringBoot整合SpringSecurity超详细入门教程

Java 程序员 后端

Spring5 框架新功能(Webflux)

Java 程序员 后端

springboot+mybatis+druid整合笔记

Java 程序员 后端

Springboot 实现 上传、下载 以及解决必须项目重启才能访问资源的问题

Java 程序员 后端

SpringBoot实现图片上传demo&Nginx进行代理显示

Java 程序员 后端

SpringBoot技术实践-SpringRetry重试框架(1)

Java 程序员 后端

焱融科技 YRCloudFile 与安腾普完成兼容认证,共创存储新蓝图

焱融科技

云计算 分布式 高性能 文件存储 科技

微软资深算法工程师为AI初学者量身打造的机器学习入门书上市啦!

图灵教育

机器学习 入门

Springboot 整合 Current-Limiting 实现接口限流

Java 程序员 后端

springboot实现AOP切面编程

Java 程序员 后端

MindMeld公司发布会话式应用程序开发指南_微软_Abel Avram_InfoQ精选文章