浅谈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:漫谈
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

了解不同类型的聊天机器人

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

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

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

文摘菌 ·  2019-12-24 08:39:58
聊天机器人的六大构建平台

如今,聊天机器人正迅速成为很多企业开展客户服务工作的业务基石。而企业需要一些更好地为客户服务的人工智能的关键工具。以下是可以帮助企业添加聊天机器人的六个工具集,以简化员工和客户的客户服务流程。

Peter Wayner ·  2019-07-03 10:02:47
在线聊天 VS 聊天机器人,哪种客户服务方式好?

商业界已经发生了翻天覆地的变化。更多更好的技术平台带给客户惊人的业务及服务,比如在线聊天和聊天机器人。最初是互联网,然后是数字化,现在是人工智能、云计算和物联网正在抢占商业平台。

风车云马 ·  2019-06-04 08:00:00
案例分享:用SAP Conversational AI构建聊天机器人

在本文中,我将手把手地引导您在SAP Conversational AI上构建出第一个聊天机器人。

陈峻 ·  2019-03-22 09:00:00
没有数据就没有自动驾驶的未来:自动驾驶汽车为何需要大数据

大数据使自动驾驶的未来成为可能。自动驾驶是汽车制造商的一个热门话题。提供高度自主性的技术对于未来的汽车发展至关重要。随着物联网的发展,我们的汽车可以看到、听到甚至预测未来

佚名 ·  19h前
AI人工智能在2020年的7个发展趋势

随着对其他AI应用程序需求的增长,企业将需要投资有助于其加快数据科学流程的技术。然而:实施和优化机器学习模型只是数据科学挑战的一部分。

CDA数据分析师 ·  22h前
疫情后的自动驾驶,发展有了更明确的方向!

疫情给了自动驾驶向大众介绍自己的机会,同时也让自己更加看清了自己的发展。那么在看清之后,行业将朝着怎样的方向前进呢?

林中易木 ·  1天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载