前几天写了一篇《如何更优雅地设计聊天机器人》,有一些小伙伴留言问我:stone,有没有一些关于聊天机器人架构说明的文章吗?有需求就有动力,今天我们就来聊聊聊天机器人的架构。
在现今越来越多企业客服系统(当然还有其他业务系统)从传统的语音通话转向文字、图形与智能语音。
通过聊天机器人进行交流越来越受欢迎,主要有两个原因:简单和实时。
在下面,我们一起聊聊聊天机器人的工作原理,如何定制机器人以及了解聊天机器人架构结构所需的一切。
但在开始之前,我们先了解一下基础知识。
什么是聊天机器人?
聊天机器人是一种模拟人与计算机,人与人之间对话的程序。当被问到问题时,聊天机器人会使用知识数据库进行响应。
人工智能 (AI) 用于模拟自然语言的对话或聊天。常见的方式是通过消息传递平台、移动应用程序或电话进行的。
聊天机器人可以实现人机之间的交流,它独立于人类协助工作,并使用自然语言处理 (NLP) 等技术来回答问题。自然语言处理 (NLP)是人工智能的一个分支,它使计算机能够以人类几乎相同的方式理解文本和口语。
聊天机器人如何工作?
聊天机器人使用户可以通过文本、音频、图片等方式轻松找到问题和问题请求的答案,而无需人工干预。
聊天机器人是一种自动化解决方案,可让业务同时处理多个客户查询。据一些数据统计,大多数客服业务绝对需要24*7 小时 全天候可用。
现在大多数企业的聊天机器人已经整合了更多规则和自然语言技术,并且最新的模型能够在使用过程中不断地进行学习。
今天的人工智能聊天机器人使用先进的人工智能工具来明确客户的真实目的。
聊天机器人主要有两类,如下所示。
基于规则的聊天机器人
这类机器人只能理解他们已经设定好的有限数量的选择。有以下优势:
- 易于构建:使用真假算法来理解客户的查询,并提出相关答案。
- 便于实施:不需要太高的学习成本,有可能只需要简单的关键字或正则表达式就可以实现。
- 容易把控:规则是企业自己设置的,因此对于输出答案,不会超过设置的范围外。
当然有优势,肯定也有缺点:
- 依赖性强:过于依赖规则,超出预定义的规则,无法理解其含义
- 基于菜单操作:在交互过程中,聊天机器人显示了用户需要从中选择的一系列选项,这使得真正了解用户的真实意图变得非常困难,因为它可能不会在选项中表示出来。
基于人工智能的聊天机器人
这些聊天机器人相对比较复杂,在原来的基础上加入了人工智能算法。使用自然语言处理 (NLP) 和语义来响应开放式查询。人工智能聊天机器人可以识别语言、上下文和意图并做出相应的响应。是一种更为复杂的聊天机器人。
在这个领域中,我们发现了两种不同的方法:
概率聊天机器人
这种类型的机器人使用端到端机器学习来创建基于历史对话日志的模型,而不是通过意图检测或者在知识库中查找相关响应。尽管它们不是遵循固定的脚本并且可以很自然地与之交互,但概率也是有缺点的:
- 当他们从对话中的经验和数据中学习时,可能会引入很多偏差。对输出对话的控制有限,有可能机器人会出现一些具有争议性的答案,会收到客户的投诉。
- 实现概率聊天机器人需要大量的训练数据,获得的数据越多,它的准确性就越好,这对于收集数据的研发人员来说是一个痛苦而且漫长的工作。
- 聊天机器人做出的答案是在一个“黑匣子”(模型)中,这意味着聊天机器人如何做出答案。是没有任何透明度,而且很难修改或调整推理结果。
确定性聊天机器人
这种聊天机器人利用自然语言处理来计算每个单词的权重,分析它们背后的上下文和含义,以输出结果或答案。
这些聊天机器人能够根据含义将意图与答案相匹配。
它们有其优点和缺点:
- 只输出企业填充的内容,更容易控制回复语气和企业形象。
- 这不是根据概率学习,可以提示要包含的新热门话题。
- 遵循确定性决策树来引导客户达到预期的结果。决策树可能非常复杂,由训练师监督和控制,不会接受备受争议的、不受欢迎的答案。
- 每当知识库中没有相关的内容可以响应用户时,训练师可以重新训练模型或制定规则,从而实现平稳过渡并减少basecase。
在考虑引入聊天机器人的朋友,可以了解一下聊天机器人架构,能将所有内容组合在一起。当然,您还需要掌握自动化测试。
什么是聊天机器人架构?
一款聊天机器人的架构,取决于它的用途
无论您使用哪种聊天机器人,机器人通信流程基本相同的。
编程语言可以使用 Java、Python、PHP 和其他语音来创建响应查询的机器人。大多数对话都以问候或问题开始,然后引导用户通过一系列问题。从而获得答案。
下面详细介绍聊天机器人基本的架构。
自然语言理解引擎
这是最核心,最重要的的第一步。用户输入一条消息,NLU 读取该消息以了解用户的意图。然后规则引擎开始计算最佳响应。
您需要花一些时间来思考您的QA收集库,能有逻辑,有规律的收集QA库,当然你还需要了解一下QA 测试策略。
知识库
这是关于产品、服务或业务需要的信息库。它可以包括常见问题解答、故障排除指南、有关服务的信息或如何办理业务。
知识和数据库都为聊天机器人提供了所需的信息,以便对用户做出权威的响应。
数据存储
这是存储分析和对话日志的地方。随着聊天机器人使用时间越长,需要开发更具体和更完善的分析方案,让模型更多精准,覆盖面更广。
在每个阶段,都必须将业务系统化,以保障聊天机器人与业务打通。
最基本的聊天机器人需要什么架构?
小型企业和营销活动通常从一级聊天机器人开始。这些通常只能在一个平台上构建。这类擅长处理构成 70-80% 常见问题的简单问题。这类聊天机器人回答简单的问题,例如“你几点开门?”
当用户需要更复杂的信息(例如问题诊断)时,需要扩大聊天机器人的规模。
例如,如果有人问:“我的快递出了什么问题?”
这将需要更高级别的聊天机器人。
随着聊天机器人的能力开始更多智慧化,可以处理的业务变得更加复杂,就需要更多流量曝光
HTTP 和聊天界面
2 级聊天机器人是半脚本化的,并具有实时聊天小部件。在这里,您可以从首页直接与客户支持团队交谈。
消息代理
这是发布者(例如聊天界面)将消息添加到队列的地方。客户通过 微信、钉钉、企业微信和 QQ等即时通讯平台访问聊天机器人。
直播代理平台
如果机器人未能正确识别用户的意图,人工代理能够无缝介入。在某些情况下,他们将解决问题并将对话结束交还给机器人。
该机器人还可以从客户关系管理 (CRM) 中调用客户的详细信息,例如更改密码或查找订单。
企业级架构
如果将聊天机器人提升到一个新的水平,需要使用技术来实现复杂的对话。您还需要确定如何扩展软件的功能。
当然,每个企业都是不一样的。在这里总结一下构建具有企业级架构的机器人所需的一些常见技术、工作流程和模式。
除了核心功能之外,还有许多考虑因素。必须在选择的任何聊天机器人中构建软件测试计划程序。
一个对话机器人可以分为“大脑”和一组需求或“模块”。
聊天机器人如何工作
聊天机器人使用三种分类方法进行工作:
- 模式匹配
- 算法
- 神经网络
模式匹配器
机器人使用模式匹配来分析文本并产生合适的响应。这些模式的标准结构是人工智能标记语言 (AIML),可以参考讯飞《abnf 文法规范<Version 3.0>》
例如:
<pattern>乔·拜登是谁?<模式>。
<template>乔·拜登是美国总统<template>。
聊天机器人知道答案,因为他或她的名字是相关模式的一部分。但是对于超出相关模式的更高级信息,聊天机器人可以使用算法。
算法
算法减少了分类器的数量并创建了更易于管理的结构。在以下示例中,为每个词条分配了一个分数。
输入:“你好,早上好。”
词条:“你好”(不匹配)
术语:“好”(类别:问候)
术语:“早上”(类别:问候)
分类:问候(分数=2)
在分数的帮助下,可以找到给定句子的单词匹配,从而识别出匹配度最高的类别。
自然语言处理引擎
该引擎使用加权连接计算输入和输出。训练数据中使用的每个步骤都会修改权重以提高准确性。句子被分解成单独的单词,然后每个单词用作输入以匹配网络数据库的内容。然后不断地测试这些词。
企业级架构的其他注意事项
此外,聊天机器人架构还必须考虑以下要素。
安全
安全、治理和数据保护是要被高度重视。这对于存储数百万客户信息的企业来说尤其重要。
如果用户不希望他们的个人详细信息被泄露,需要考虑如何保持匿名。如果想访问个人信息,需要以安全的方式进行。
建立保密措施非常重要,这样任何人都无法在未经授权的情况下访问敏感系统。
任何小错误,例如拼写错误或超链接损坏,每月都有可能被成千上万的用户看到。
一个微小的错误可能会对您的企业形象产生巨大影响。
总结
聊天机器人简化了人员和服务之间的交互,从而增强了客户体验。它们还为企业提供了改善重参与过程的机会,同时降低了客户服务成本。