【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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:001470
用户头像

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

关注

评论

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

面试算法之螺旋数组查找问题

泽睿

面试 二分查找

【数据结构】Java 同步工具 AQS

Alex🐒

Java 源码 数据结构

架构训练营模块二作业

老实人Honey

「架构师训练营第 1 期」

Spring源码解析 -- SpringWeb请求参数获取解析

Java spring 源码解析

架构实战营模块二作业

老猎人

架构实战营

基于P4的SCION -- 构建太比特的未来互联网

俞凡

网络

架构训练营 1 期 - 模块二作业

蔸蔸

央视曝光APP弹窗广告三大陷阱:如何监管应用软件弹窗广告

石头IT视角

编程的本质是什么?

白色蜗牛

Java 编程 程序员 软件 计算机

健康讲座:如何提升人体免疫能力

石云升

学习 健康 7月日更

你真的了解 Session 和 Cookie 吗?

陈皮的JavaLib

Java HTTP session Cookie

性能测试误差分析文字版-上

FunTester

性能测试 自动化测试 接口测试 测试框架 测试开发

微信朋友圈高性能架构分析

面向对象的猫

大数据训练营-第一次作业

西伯利亚鼯鼠

MVP on Board 没用小技巧 👌

newbe36524

.net MVP ASP.NET Core

2.2如何设计高性能架构

Lemon

高性能架构

Selenium4 Alpha-7升级体验

FunTester

maven 自动化测试 Gradle 测试开发 selenium

性能测试误差统计实践

FunTester

软件测试 测试 性能测试 测试开发

微信朋友圈架构设计

summer

极客时间 极客时间架构师一期

Presto原理&调优&面试&实战全面升级版

王知无

【Java特性专题】JDK(8-11)特性分布变化简介

洛神灬殇

Java Java新特性 7月日更 Java11

《面试补习》--来聊聊削峰填谷!

九灵

Java 分布式 消息队列 异步削峰

智能运维系列之五:总结

micklongen

AIOPS 智能运维

2.3如何设计高可用架构

Lemon

存储高可用

2.4如何提高架构设计的质量

Lemon

external-resizer源码分析-pvc扩容分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

[架构实战营][模块二作业]

KK_TTN

架构实战营

【架构设计模块二】:微信朋友圈的高性能复杂度

Ryoma

架构实战营

[架构实战营一期] 模块二作业

trymorewang

架构实战营

性能测试误差分析文字版-下

FunTester

软件测试 性能测试 接口测试 测试框架 测试开发

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