对话式AI开发中的3个关键挑战以及如何避免这些挑战

智能真的很好说 2024-03-10 06:49:44

开发对话式 AI 聊天机器人需要付出大量努力。然而,理解和解决自然语言理解中的关键挑战可以简化开发过程。

图片由 Freepik 提供

对话式 AI 是指模仿人类交互并可以让人类参与对话的虚拟代理和聊天机器人。使用对话式人工智能正迅速成为一种生活方式——从要求 Alexa “找到最近的餐厅”到要求 Siri “创建提醒”,虚拟助手和聊天机器人通常用于回答消费者的问题、解决投诉、进行预订等等。

开发这些虚拟助手需要付出巨大的努力。但是,了解和解决关键挑战可以简化开发过程。我利用自己为招聘平台创建成熟聊天机器人的第一手经验作为参考点,解释了关键挑战及其相应的解决方案。

要构建对话式 AI 聊天机器人,开发人员可以使用 RASA、Amazon 的 Lex 或 Google 的 Dialogflow 等框架来构建聊天机器人。大多数人在计划自定义更改或机器人处于成熟阶段时更喜欢 RASA,因为它是一个开源框架。其他框架也适合作为起点。

这些挑战可以归类为聊天机器人的三个主要组成部分。

自然语言理解 (NLU) 是机器人理解人类对话的能力。它执行意图分类、实体提取和检索响应。

对话管理器负责根据当前和以前的一组用户输入执行一组操作。它将意图和实体作为输入(作为上一个对话的一部分)并标识下一个响应。

自然语言生成 (NLG) 是从给定数据生成书面或口语句子的过程。它构建响应,然后将其呈现给用户。

图像来源:Talentica Software

自然语言理解的挑战数据不足

当开发人员用聊天机器人替换常见问题解答或其他支持系统时,他们会获得相当数量的训练数据。但是,当他们从头开始创建机器人时,情况不会发生同样的情况。在这种情况下,开发人员会合成生成训练数据。

该怎么办?

基于模板的数据生成器可以生成相当数量的用户查询以进行训练。一旦聊天机器人准备就绪,项目所有者就可以将其公开给有限数量的用户,以增强训练数据并在一段时间内对其进行升级。

不拟合模型选择

适当的模型选择和训练数据对于获得最佳意图和实体提取结果至关重要。开发人员通常使用特定语言和领域训练聊天机器人,而大多数可用的预训练模型通常是特定于领域的,并使用单一语言进行训练。

也可能存在混合语言的情况,人们是多语种的。他们可能会使用混合语言输入查询。例如,在法语占主导地位的地区,人们可能会使用一种混合了法语和英语的英语。

该怎么办?

使用用多种语言训练的模型可以减少这个问题。在这种情况下,像 LaBSE(与语言无关的 Bert 句子嵌入)这样的预训练模型可能会有所帮助。LaBSE 在句子相似性任务中接受了超过 109 种语言的训练。该模型已经知道不同语言中的相似单词。在我们的项目中,它运行得非常好。

实体提取不当

聊天机器人要求实体识别用户正在搜索的数据类型。这些实体包括时间、地点、人物、项目、日期等。但是,机器人可能无法从自然语言中识别实体:

相同的上下文,但不同的实体。例如,当用户输入“来自印度理工学院德里的学生姓名”,然后输入“来自班加罗尔的学生姓名”时,机器人可能会将一个地方混淆为一个实体。

实体被错误预测且置信度低的情况。 例如,机器人可以将 IIT Delhi 识别为置信度较低的城市。

通过机器学习模型进行部分实体提取。 如果用户键入“来自印度理工学院德里的学生”,则模型只能将“IIT”标识为一个实体,而不是“印度理工学院德里分校”。

没有上下文的单字输入可能会混淆机器学习模型。 例如,像“瑞诗凯诗”这样的词既可以表示一个人的名字,也可以表示一个城市。

该怎么办?

添加更多训练示例可能是一个解决方案。但是有一个限制,超过这个限制,添加更多将无济于事。而且,这是一个永无止境的过程。另一种解决方案可能是使用预定义的单词定义正则表达式模式,以帮助提取具有一组已知可能值的实体,例如城市、国家/地区等。

每当模型不确定实体预测时,它们的置信度就会降低。开发人员可以将其用作触发器来调用自定义组件,该组件可以纠正低置信度实体。让我们考虑上面的例子。如果 IIT Delhi 被预测为一个置信度较低的城市,那么用户始终可以在数据库中搜索它。在 City 表中找不到预测的实体后,模型将转到其他表,并最终在 Institute 表中找到它,从而导致实体校正。

错误的意图分类

每条用户消息都有一些与之关联的意图。由于 intent 派生了机器人的下一步操作,因此使用 intent 对用户查询进行正确分类至关重要。但是,开发人员在识别意图时必须尽量减少对意图的混淆。否则,可能会出现混淆问题。例如,“向我显示空缺职位”与“向我显示空缺职位候选人”。

该怎么办?

有两种方法可以区分令人困惑的查询。首先,开发人员可以引入子意图。其次,模型可以根据标识的实体处理查询。

特定领域的聊天机器人应该是一个封闭的系统,它应该清楚地识别它能做什么,不能做什么。开发人员必须分阶段进行开发,同时规划特定领域的聊天机器人。在每个阶段,他们都可以识别聊天机器人不支持的功能(通过不受支持的意图)。

他们还可以识别聊天机器人在“超出范围”的意图中无法处理的内容。但在某些情况下,机器人可能会混淆为不受支持和超出范围的意图。对于此类场景,应设置回退机制,如果意向置信度低于阈值,则模型可以正常地使用回退意向来处理混淆情况。

对话管理的挑战

机器人识别出用户消息的意图后,必须发回响应。机器人根据一组定义的规则和故事来决定响应。例如,规则可以像在用户问候“嗨”时说“早上好”一样简单。然而,大多数情况下,与聊天机器人的对话包括后续互动,他们的响应取决于对话的整体上下文。

该怎么办?

为了解决这个问题,聊天机器人被喂食了称为故事的真实对话示例。但是,用户并不总是按预期进行交互。一个成熟的聊天机器人应该优雅地处理所有这些偏差。如果设计师和开发人员在写故事时不仅专注于快乐的道路,而且还在不快乐的道路上工作,他们就可以保证这一点。

自然语言生成的挑战

用户与聊天机器人的互动在很大程度上依赖于聊天机器人的响应。如果响应过于机械或过于熟悉,用户可能会失去兴趣。例如,即使响应正确,用户也可能不喜欢错误输入的答案,例如“您输入了错误的查询”。这里的答案与助手的角色不符。

该怎么办?

聊天机器人充当助手,应具有特定的角色和语气。他们应该热情和谦虚,开发人员应该相应地设计对话和话语。这些反应听起来不应该是机械的或机械的。例如,机器人可以说,“对不起,我似乎没有任何细节。你能重新输入你的查询吗?以解决错误的输入。

将 LLM 添加到聊天机器人系统

ChatGPT 和 Bard 等基于 LLM(大型语言模型)的聊天机器人是改变游戏规则的创新,并提高了对话式 AI 的能力。他们不仅擅长进行开放式的类人对话,而且可以执行不同的任务,如文本摘要、段落写作等,这些任务只能通过特定模型更早地实现。

传统聊天机器人系统的挑战之一是将每个句子分类为意图并相应地决定响应。这种方法是不切实际的。像“对不起,我找不到你”这样的回答往往令人恼火。无意图聊天机器人系统是前进的方向,而 LLM 可以实现这一目标。

LLM 可以很容易地在一般命名实体识别中实现最先进的结果,除非某些特定领域的实体识别。将 LLM 与任何聊天机器人框架一起使用的混合方法可以激发更成熟、更强大的聊天机器人系统。

随着对话式人工智能的最新进展和不断研究,聊天机器人每天都在变得更好。诸如处理具有多种意图的复杂任务等领域,例如“预订飞往孟买的航班并安排前往达达尔的出租车”,正在受到广泛关注。

很快,将根据用户的特征进行个性化对话,以保持用户的参与度。例如,如果机器人发现用户不满意,它会将对话重定向到真正的代理。此外,随着聊天机器人数据的不断增加,ChatGPT 等深度学习技术可以使用知识库自动生成查询响应。

Suman Saurav 是软件产品开发公司 Talentica Software 的数据科学家。他是 NIT Agartala 的校友,在使用 NLP、对话式 AI 和生成式 AI 设计和实施革命性的 AI 解决方案方面拥有超过 8 年的经验。

原文标题:3 Crucial Challenges in Conversational AI Development and How to Avoid Them

原文链接:https://www.kdnuggets.com/3-crucial-challenges-in-conversational-ai-development-and-how-to-avoid-them

作者:Suman Saurav

编译:LCR

0 阅读:0

智能真的很好说

简介:感谢大家的关注