的架构模型和响应机制【.com快译】不知道大家有没有注意到,人工智能已经不再是少数科技公司的初级原型产品了。在很多服务行业,人工智能聊天机器人正逐渐取代人工客服,提供及时、周到、互动的服务。在机器学习的帮助下,各种企业都将聊天机器人作为最流行的客户服务和业务流程自动化工具之一。本文将为您简要介绍聊天机器人的基本架构模型和响应机制。不同架构类型的聊天机器人聊天机器人的架构模型通常是根据开发的核心目标来确定的。在常见的应用中,我们可以采用两种类型的响应,它们是:根据机器学习模型从头生成响应。使用启发式方法从预定义响应库中选择适当的响应。GenerativeModels如下图所示(下图均来自pavel.surmenok),此类模型可以原生开发出相当高级的智能机器人。但是,由于在实现上需要复杂的算法,这种聊天机器人在实际的高并发场景中很少使用。同时,由此产生的模型难以构建和开发。为了训练这样的机器人,开发者需要花费大量的时间和精力,包括提供数以百万计的例子。虽然我们可以让深度学习的相关模型参与到对话的应用场景中,但是仍然无法保证这样的模型能够产生正确的响应结果。基于检索的模型(Retrieval-BasedModels)如下图所示。这种聊天机器人架构模型比上述生成模型更容易构建,也更可靠。虽然不可能实现100%准确的响应,但您可以使用它来了解可能的响应类型并确保聊天机器人不会提供不适当或不正确的响应。目前,基于检索的模型正在广泛应用于各种场景。开发者可以很容易地使用各种算法和API来构建基于这种架构模型的自动化聊天应用。通过充分考虑消息和对话的上下文,此类模型可以从预定义的消息列表中提供最佳响应结果。聊天机器人的响应生成机制让我们讨论一下聊天机器人如何理解用户的消息以及以两种不同的方式获取消息的意图。基于模式的启发式(Pattern-BasedHeuristics)一般来说,我们可以通过两种不同的方式生成响应:使用if-else条件逻辑使用机器学习分类器其中,最简单的方法是:使用预定义的模型来定义一个集合的规则。这些规则可以作为框架规则的条件。如下代码片段所示,为了编写不同的模型和响应,人工智能标记语言(AIML)被普遍用于聊天机器人的开发过程。借助自然语言处理管道和丰富的预定义模型,AIML可用于构建智能聊天机器人。它们不仅可以解析用户消息,还可以查找同义词和概念、标记词性以及找到与用户查询相匹配的各种规则。当然,这些机器人不能自动调用机器学习算法,或任何其他API,除非它们事先经过专门编程。使用机器学习进行意图分类虽然基于模型的启发式方法可以提供良好的结果,但存在一个问题:它需要开发人员手动预编程所有模型。而这恰好是一项非常繁琐的工作,尤其是当聊天机器人需要能够区分不同场景的数百个请求意图时。通常,聊天机器人可以通过收集数千种可能的案例来进行训练,然后挑选出合适的数据模型供应用程序反复学习。可以说,只有不断训练聊天机器人的应变能力,才能实现对不同请求意图的分类。值得一提的是,scikit-learn是一个非常流行的机器学习库,可以辅助各种机器学习相关算法的执行。开发人员甚至可以选择使用任何云API,例如:api.ai、wit.ai和MicrosoftLUIS。其中,作为聊天机器人的第一个机器学习API,wit.ai最近被Facebook收购。响应生成一旦聊天机器人了解了用户的消息意图,下一步就是生成响应。通常有两种响应方法:生成简单的静态响应。采用基于意图的模板并放入各种相应的变量。开发者可以根据实际需要和目的选择生成响应的方式。例如:天气预报聊天机器人可以使用API获取给定地理位置的天气信息,然后响应“今天可能下雨”、“今天会下雨”或“80度”等查询有%的下雨机会,请带上雨伞。”当然,响应的类型(参见:https://www.hiddenbrains.com/blog/4-ux-elements-for-engaging-and-interactive-chatbots.html)也可以根据具体的用户特征而有所不同.也就是说,聊天机器人可以研究和分析过去的聊天记录和相关参数,为用户量身定制响应语言。下图展示了简单响应生成和响应选择模块的区别:在实际项目中,可以从头开发构建聊天机器人,充分满足用户在特殊场景下的需求;公司购买现成的聊天机器人服务,毕竟可以提供更丰富的场景和操作体验。原标题:UnderstandingArchitectureModelsofChatbotandResponseGenerationMechanisms,作者:AlbertSmith
