如果您不知道什么是聊天机器人,请先阅读 什么是聊天机器人.
看到一个精心设计的聊天机器人在工作中的表现令人惊叹,但当你了解了聊天机器人的实际工作原理后,它就会变得更加强大。
我们将为您全面介绍聊天机器人的制作过程。从用于制作聊天机器人的组件到聊天机器人中的实际信息流。
显然,特定聊天机器人所需的确切组件取决于您要构建的聊天机器人类型,但这可以让您对可用组件有一些了解。
将聊天机器人连接到 频道
每个聊天机器人都需要一个渠道来让用户与之互动。渠道实际上是一个消息平台,如 Facebook Messenger、Slack、Telegram、微软团队或嵌入式网络聊天。
您至少需要一个信息平台,但也可以连接多个信息平台,让用户选择自己喜欢的平台。
渠道是聊天机器人的用户界面,就像网页允许您通过点击与软件交互一样。
使用 自然语言处理
自然语言处理(NLP)引擎能够识别隐藏在自然语言句子中的意图。准确地理解 "自然语言 "非常重要,因为与需要明确指令的低智能机器人不同,chatbots 可以理解类似人类的对话。
例如,以下短语都有相同的意图,即预订航班:
1.我想预订航班
2.我想从迪拜飞往莫斯科
3.我需要航班
聊天机器人要想理解自然语言文本或语音,就需要访问 NLP 引擎。
自然语言处理引擎可以在一定程度上提取句子背后的意图。自然语言处理是人工智能的一个领域,需要一定的训练。
这就是为什么在Botpress 中,我们要求提供所谓的语篇。它们是理解的重要组成部分。语篇是句子的变体,是表达同一意图的不同方式。
NLP 引擎将利用这一点进行训练。
对话管理器/ 可视化对话生成器
这也是聊天机器人的主要部分,因为这是您设计体验的地方。一旦聊天机器人理解了用户的意图,它就需要做出决定。
有三种非常常见的情况:采取行动、询问信息或处理无据的意图。
您的可视化对话生成器可以让您设计对话内容、对话方式以及对话语言。
如果我说 "给我订明天去巴黎的机票"。NLP 引擎会检测到我预订航班的意图。它将提取明天作为出发时间,巴黎作为我想去的地方,但却缺少出发城市。可视化对话生成器将允许您处理您需要询问的出发城市,然后进行预订航班的操作。
这只是一个非常简单的例子,但您可以理解,在某些情况下,复杂性会更高,因此设计一个良好的体验对聊天机器人的成功至关重要,这就是为什么对话管理器是拼图中不可或缺的一部分。
分析
需要分析来监控和衡量chatbots的性能。它们提供聊天机器人的指标,如用户数量和参与类型。对于聊天机器人开发者来说,收集这些指标显然至关重要。
它能为您提供关于用户参与度的宝贵见解,让您了解可能存在的不足以及需要改进的关键领域。
内容管理系统
用户语言文本和媒体文件等内容需要独立于对话流进行管理。语言、媒体文件和执行方式可能会根据用户身份、语境和信息平台的不同而发生变化。
内容就像代码一样需要专业维护和源代码控制。它可以让您将内容与聊天机器人的其他部分分离,使其可重复使用,最重要的是更易于维护。
独立管理内容非常简单,但也非常重要。
循环中的人类
人在回路中是指人能够控制聊天机器人。有些人可能会认为这不是一项必须具备的功能,但事实上它是。
人类想要手动接管聊天机器人对话的原因有很多,最常见的是聊天机器人不理解最终用户所说的话。
如果我们相信聊天机器人在所有时候都是正确的,那就是在自欺欺人。即使我们在这方面不断取得进步,它也不可能完美地处理所有问题。当用户超出范围时,为了保持良好的用户体验,人在回路中 变得至关重要。
建筑学
虽然架构不是一个组件,但与任何软件一样,每个聊天机器人都有一个架构。如果软件架构的标准不高,聊天机器人就不具备可扩展性和易维护性。
使用会话式人工智能平台构建聊天机器人的最大优势在于,一切都已经架构好,可以实现可扩展性和可维护性。
您只需在本地或cloud 启动一个服务器,就可以进行构建和自动化操作了。
Botpress 具有模块化结构,可以轻松激活或停用某些非核心组件模块。
除此之外,您还可以创建自己的模块来扩展平台的功能,当然还有您的聊天机器人。
数据如何在聊天机器人中流动
这些元素都是让聊天机器人尽可能顺利工作的关键。去掉其中一个元素,您就不会获得同样的体验。
从宏观角度看,信息是如何流动的。
用户通过通道输入信息。信息首先进入对话管理器,由 NLP 引擎进行评估。NLP 引擎会尝试对句子进行解密,以找到意图,并将该信息返回给对话管理器。
如果检测到意图,则由 DM 根据决策树决定下一步行动。如果需要第三方介入,对话管理器将提出请求。
然后,所有信息都会通过用户使用过的相同渠道发送回用户。
虽然这只是一个简化版的聊天机器人工作原理,但从用户体验和技术角度来看,你肯定能体会到构建这种体验的复杂性。
使用开源对话式人工智能平台可大幅减少用于构建基础设施的时间,确保您能迅速从聊天机器人中获得价值。