使用 MinIO 构建对话式 AI 聊天机器人

使用 MinIO 构建对话式 AI 聊天机器人

聊天机器人已成为 AI 中最普遍的元素之一,它们很容易成为人类(无意或无意)与之交互的 AI 类型。其核心是自然语言处理 (NLP),这是更广泛的 AI 领域内的一个研究领域,研究机器理解语言的能力,包括像人类一样的文本和口语。

NLP 的目标是让计算机能够进行在上下文、语气、情感和意图方面完整的对话。

聊天机器人在过去几年中取得了显着发展,部分原因是大流行病推动了远程工作和远程交互。与所有 AI 系统一样,学习是应用程序结构的一部分,聊天机器人可用的数据语料库提供了出色的性能——这对某些人来说是非常好的

聊天机器人的一个优势是它们被打包为一个应用程序,因此可以嵌入到网站和/或电话号码中,集成到商业应用程序和支付系统以及 CRM 系统中。

聊天机器人的另一个优势是企业身份服务、支付服务和通知服务可以安全可靠地集成到消息系统中。这提高了客户需求的整体支持能力,以及与不活跃或断开连接的用户重新建立联系以重新参与的能力。

不同类型的聊天机器人

Eleni Adamopoulou 和 Lefteris Moussiades撰写了一篇出色的学术文章,概述了不同类型的聊天机器人及其用途。我们在下面对其进行了解释,但鼓励读者阅读整篇文章,因为它也涵盖了一些基础构建块。

  • 知识领域(开放):开放领域的聊天机器人可以谈论一般话题并做出适当的回应。

  • 知识领域(封闭):封闭域聊天机器人专注于特定的知识领域,可能无法回答其他问题

  • 服务提供商:服务提供商考虑聊天机器人用户的情感接近度,以及发生的亲密互动的数量。

  • 人际/内部:这些聊天机器人可以在个人领域内,也可以在交流领域内,通常被认为是友好的。

  • 信息性的:这些是根据提前存储的静态固定数据源构建的。

  • 基于聊天/会话式:基于聊天/会话式的聊天机器人与用户交谈,就像另一个人一样,他们的目标是正确回应他们给出的句子。

  • 基于任务: 基于任务的聊天机器人执行特定任务,例如预订航班或帮助某人。这些在使用规则和 NLP 请求信息和理解用户输入的上下文中是智能的。

聊天机器人的架构模型

同样,使用 Eleni Adamopoulou 和 Lefteris Moussiades 的作品作为来源,我们发现他们按如下方式分解了架构。我们同意他们的分类,因此我们在下面重新创建它:

  • 基于规则的模型

  • 固定的预定义规则集

  • 识别输入文本的词汇形式

  • 人类手工编码的知识

  • 基于检索的模型

  • 查询随时间收集的知识库

  • 使用 API 分析可用资源

  • 从索引中检索潜在的响应并为适当的答案应用匹配

  • 生成模型

  • 更像人;根据先前的知识生成答案

  • 应用 ML 算法和深度学习技术

  • 取决于您如何构建和训练 ML 模型

我们对用于实现现代对话式 AI 聊天机器人的生成模型很感兴趣。让我们看看一般的聊天机器人架构,并进一步扩展以使 NLP 能够改进知识库。

通用聊天机器人设计和架构

我们的方法将遵循普遍接受的使用构建块的最佳实践。这与扩展 MinIO 的方式一致。就我们的聊天机器人设计而言,我们希望创建模块化,以允许 a) 准确的知识表示 b) 开发答案的策略和 c) 当机器不理解时的预定响应。

通常,这些架构基于基于检索的模型

image4.png

如果我们采用识别上图中成分的方法,除了用户界面之外,我们还需要构建用户消息分析以进行语言理解并确定消息的上下文并进行确认。我们还需要一个对话管理器,它可以在分析的消息和后端系统之间建立接口,可以对来自用户的给定消息执行操作。对话管理器还将与对用户有意义的响应生成进行交互。动作执行模块可以与管理和存储知识库的数据源连接。

使用 MinIO 的对话式 AI 聊天机器人架构

随着 AI/ML 的出现,简单的基于检索的模型不足以支持企业的聊天机器人。该架构需要演变为生成模型,以构建对话式 AI 聊天机器人。通过结合 NLP、NLU 和 NLG 为您的业务应用程序添加类人对话功能已成为一种必要。这些界面不断发展壮大,并正在成为用户与企业交流的首选方式之一。

随着最近的 Covid-19 大流行,对话式 AI 界面的采用加速了。企业被迫开发界面以新的方式与用户互动,收集所需的用户信息,并集成后端服务以完成所需的任务。

在使用虚拟助手进行对话式 AI 方面,公共云服务提供商一直处于创新的前沿。文本转语音和语音转文本框架的创新以及与 NLP/NLU 框架的集成使企业能够构建高效的聊天机器人和语音体验、提高用户满意度、降低运营成本并简化业务流程——同时加快上市时间。

然而,由于数据经常分布在公共云、私有云和现场位置,多云策略已成为当务之急。Kubernetes 和 Dockerization 为软件提供了公平的竞争环境,无论位置如何,都可以跨部署无处不在地交付。通过采用这些进步,MinIO 将存储提升到了一个新的水平。启用复制的 MinIO 集群现在可以将知识库带到计算所在的位置。就计算而言,我们可以在知识库上使用 NLP 和 NLU 应用 AI 原则,并不断改进要使用的内容,并通过电话、虚拟助手和机器人将其交付给客户的查询。集成 Kubeflow 和 Kale 管道,

此处描述的生成模型的一个此类示例利用 Google 文本转语音 (TTS) 和语音转文本 (STT) 框架来创建对话式 AI 聊天机器人。后端系统被 MinIO 取代,将数据直接引入 MinIO。由于使用 NLU 记录了用户习惯,MinIO 还提供了用户数据以及用于背景分析和机器学习模型实施的知识库。有关如何配置 Kubeflow 和 MinIO 的更多信息,请关注此博客

image3.png

深入了解 MinIO 的架构,我们可以利用Apache OpenNLP斯坦福大学的 CoreNLP包等开源 NLP 项目,在 MinIO 中通过用户活动捕获的数据集之上执行 NLU 和 NLP。您可以利用第三方数据集来丰富和增强知识库,以根据业务需求不断学习和优化。然后,构建处理文本处理步骤的 NLP 管道,例如清理、规范化、标记化、停用词删除、命名实体识别以及词干和词形还原一旦处理完成并且数据存储在一个精选的桶中,这意味着您有一个简化的词袋模型表示,忽略语法甚至词序但保持多样性,我们可以使用现有和新的可用数据持续训练模型知识库。让 MinIO 负责底层存储并为您管理它,如下所示

image5.png

结论

艾伦图灵说:“我相信,到本世纪末,文字的使用和一般教育的观点将会发生很大的变化,以至于人们将能够谈论机器思维而不期望被反驳。” 如今,借助 AI/ML,可以不断改进用户与对话式 AI 交互的预期结果,并且不会出现矛盾。

让开源软件帮助您简化企业对话式 AI 需求,让 MinIO 处理存储解决方案以实现持续学习和优化知识库,以改善聊天机器人体验。


上一篇 下一篇