浅谈Chatbot的架构模型和响应机制

编译作者: 陈峻 2020-02-26 09:00:00

【51CTO.com快译】不知您是否已注意到:人工智能已经不再是少数科技公司的初级原型产品了。在许多服务类行业中,带有人工智能的聊天机器人(Chatbot)正在逐步取代人工客服,提供及时、周到、互动的服务。通过机器学习的相关技术,各类企业已将聊天机器人视为,最受欢迎的客户服务和业务流程的自动化工具之一。本文将向您简单介绍聊天机器人的基本架构模型和响应机制。

聊天机器人的不同架构类型

聊天机器人的架构模型通常是根据开发的核心目标所决定的。在普遍应用中,我们可以采用两种类型的响应方式,它们分别是:

  • 按照机器学习模型从头开始生成响应。
  • 使用启发式方法从预定义的响应库中选择适当的响应。

生成模型(Generative Models)

如下图所示(下文中出现的图像均源自pavel.surmenok),此类模型可用于通过原生的方式,开发出相当的高级智能化机器人。不过,由于它在实现中需要复杂的算法,因此这种聊天机器人在实际高并发量的场景中很少被使用到。

同时,其生成的模型比较难以构建和开发。为了培训此类机器人,开发人员需要花费大量的时间和精力,包括提供数百万种示例。虽然我们可以让深度学习的相关模型参与到对话的应用场景中,但是仍然无法确保此类模型能够生成正确的响应结果。

基于检索的模型(Retrieval-Based Models)

如下图所示,此类聊天机器人架构模型相对于上述生成模型更易于构建,也更加可靠。虽然无法实现100%的准确响应,但是您可以通过它来获悉可能的响应类型,并确保聊天机器人不会传递出不适当、或不正确的响应。

目前,基于检索的模型正在被广泛地使用在各种场景中。开发人员可以很容易地使用多种算法和API,在此类架构模型的基础上构建出自动化的聊天应用。通过充分地考虑消息和会话的上下文,此类模型能够从预定义的消息列表中提供最佳的响应结果。

聊天机器人的响应生成机制

下面让我们一起讨论聊天机器人是如何通过两种不同的方式,来理解用户的消息,以及获取消息的意图。

基于模型的启发式(Pattern-Based Heuristics)

通常,我们可以通过两种不同的方式来生成一个响应:

  • 使用if-else的条件逻辑
  • 使用机器学习分类器

其中,最简单的方法是:使用预定义的模型来定义一组规则。这些规则可以充当框架规则(framed rules)的条件。

如下面的代码段所示,为了编写出不同的模型和响应,人工智能标记语言(Artificial Intelligence Markup Language,AIML)被普遍地运用在聊天机器人的开发过程中。

借助自然语言的处理管道和预定义的丰富模型,AIML可以被用来构建出智能的聊天机器人。它们不但可以解析用户消息,还能够查找同义词和概念,标记出语音部分,并找出与用户查询相匹配的各种规则。当然,除非提前进行了特殊编程,否则这些机器人是无法自动调用机器学习算法、或任何其他API的。

使用机器学习进行意图分类

尽管基于模型的启发式方法可以提供良好的结果,但问题在于:它需要开发人员手动对所有的模型进行事先编程。而这恰好是一项非常繁琐的任务,尤其是在要求聊天机器人能够区分数百种针对不同场景的请求意图时。

通常情况下,我们可以通过为聊天机器人准备数千个可能面对的案例集合,来培训它们,进而挑选出合适的数据模型,以供应用反复进行学习。可以说,只有通过持续训练聊天机器人的应变能力,我们才能实现对不同请求意图的分类。

值得一提的是,scikit-learn是一个非常流行的机器学习库,它可以协助执行各种机器学习的相关算法。开发人员甚至可以选择使用诸如:api.ai、wit.ai和Microsoft LUIS等任何一种云端API。其中,作为第一个用于聊天机器人的机器学习类API,wit.ai最近已被Facebook收购了。

响应生成

一旦聊天机器人理解了用户的消息意图,下一步就需要生成响应了。通常有两种响应方法:

  • 生成简单的静态响应。
  • 获取基于意图的模板,并放入各种对应的变量。

开发人员可以根据实际需求和目的,选择生成响应的方法。例如:天气预报类聊天机器人可以使用API​​获取给定地理位置的天气信息,然后回复查询请求:“今天很可能下雨”,“今天是雨天”或者“下雨的概率为80%,请带好雨伞。”

当然,响应的类型(请参见:https://www.hiddenbrains.com/blog/4-ux-elements-for-engaging-and-interactive-chatbots.html)也可以根据具体用户的特征而有所不同。也就是说,聊天机器人可以研究和分析过往的聊天记录、及其相关参数,为用户量身定制响应语言。下图展示了单独的简单响应生成,与响应选择模块的不同:

在实际项目中,您既可以从零开始开发构建聊天机器人,以全面满足用户的专业化场景需求;也可以从值得信赖的大公司那里购买现成的聊天机器人服务,毕竟他们能够提供更加丰富的场景和运营经验。

原文标题:Understanding Architecture Models of Chatbot and Response Generation Mechanisms,作者:Albert Smith

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

Chatbot 架构模型 聊天机器人
上一篇:干货!从0到1教你打造一个令人上瘾的聊天机器人? 下一篇:AIoT:漫谈
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

用Recast.AI创建一个聊天机器人

据 Gartner 2018 年 2 月的报告,“到 2020 年,25% 的客户服务和支持业务将在参与渠道中整合虚拟客户助理(VCA)或聊天机器人技术,而 2017 年只有不到 2%。”鉴于此,读者会发现本教程对理解开源的 Recast.AI 机器人创建平台的工作原理很有帮助。

Athira Lekshmi C.v ·  2020-12-02 13:00:17
为什么企业应该了解聊天机器人中的自然语言处理?

自然语言处理(NLP)使聊天机器人能够理解我们的会话信息并相应地作出响应。

iothome ·  2020-11-05 05:31:09
聊天机器人机器学习安全的重要性

聊天机器人漏洞甚至可能导致私人用户数据被盗。以下将探讨机器学习网络安全的重要性。此外,我们将说明聊天机器人安全商Scanta公司如何通过其虚拟助手保护聊天机器人。

Harris ·  2020-10-10 09:42:03
5分钟内搭建你的第一个Python聊天机器人

在人工智能时代,聊天机器人日益流行。它是业界设计用来简化人机交互的最新工具。从电子商务到医疗保健机构,每个人都希望使用Chatbot与用户进行交互。

佚名 ·  2020-08-07 14:40:09
疫情期间,如何借AI之力持续提升客户忠诚度?

无论是保险公司Farmers Insurance,保险公司Tryg,还是通用汽车金融公司GM Financial,现在纷纷转向聊天机器人与AI技术,借此在疫情时期稳定客户群体。

佚名 ·  2020-06-04 10:17:47
AI聊天机器人如何缓解冠状病毒带来的人员配备问题

人工智能(AI)最引人注目的好处之一是,它可以帮助人们完成更多任务。这一点尤其重要,因为冠状病毒大流行导致全球人员紧缩。

Cassie ·  2020-05-15 15:40:37
了解不同类型的聊天机器人

如果您认为所有聊天机器人都是一样的,那您就错了。聊天机器人是为许多不同的功能而创建,例如协助、交易、信息收集等。基于许多其他参数,聊天机器人被分为不同类型。

iothome ·  2020-02-02 09:19:14
有对象了吗?FB员工带机器人回家过节,回答七姑八姨的“死亡问题”

春节快要到了!你想好如何面对你的七大姑八大姨了吗?于是,感恩节前夕,Facebook推出了一个新工具:可以教给他们的员工像公司官方一样回应有关公司棘手问题的聊天机器人“ Liam Bot”。

文摘菌 ·  2019-12-24 08:39:58
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载