智能对话机器人之多轮对话工作机制 | Chatopera

目录

  • https://bot.chatopera.com
  • Chatopera 多轮对话工作机制
    • 多轮对话的定义
    • 什么场景下使用多轮对话
    • Chatopera 多轮对话
      • 知识库
      • 意图识别
      • 脚本对话
    • 多轮对话的检索
      • 模块间检索
      • 创建脚本对话的话题
      • 话题检索顺序
      • 对话状态机
      • 擦除状态
      • 使用函数切换状态
      • 知识库路由
    • 总结
    • 下一步

Chatopera 为开发者提供工具,低代码或无代码上线聊天机器人。

https://bot.chatopera.com

本文内容节选自 Chatopera 文档中心:https://docs.chatopera.com/products/chatbot-platform/conversation/mechanism.html

Chatopera 多轮对话工作机制

本篇的主要目的是帮助 Chatopera 机器人平台用户从系统的角度理解 Chatopera 的多轮对话解决方案,尤其是刚刚开始认识 Chatopera 服务的新用户,待阅读本篇后,相信大家可以使用 Chatopera 机器人平台快速定制出满足各种需求的聊天机器人。

多轮对话的定义

Chatopera 的智能对话机器人解决方案主要面向企业在客户服务、营销和企业内部协作中使用自然语言交互完成信息查询、任务和自动化流程。目前,市场中比较常见的智能对话机器人解决方案主要是一问一答:设定问答对,使用信息检索形式,提供信息查询功能,在 Chatopera 看来,这不是智能对话机器人的体验。

在 Chatopera,我们认为多轮对话是在一定时间内,一定交互次数内,考虑对话的上下文,每次人发送聊天内容时,机器人具备从上下文情境中分析最合理的回答,准确的为人提供回复。

什么场景下使用多轮对话

Chatopera 的智能对话机器人解决方案是工具,用于设计、实现和发布聊天机器人。从价值提供上,Chatopera 所面向的是封闭域聊天,更关注智能对话机器人在生产、消费和制造等领域的聊天机器人应用;在开放域聊天,尤其是以闲聊为主的应用,不是 Chatopera 智能对话机器人的关注点,虽然我们提供了标准的通用的工具,但是作为开放域聊天,在目前还没有好的技术方案,强人工智能还没有成熟,对于实际应用上,还不能大规模的提供价值。

Chatopera 的多轮对话服务,可以面向不同行业,比如教育、电商、游戏和生产制造等。尤其是客服和企业内部协作中,将以前通过表单、人工等的服务使用自然语言对话的形式实现。应用场景比如智能客服、智能招聘面试、智能提交工单、智能提交请假、智能分析潜在客户意向等。

Chatopera 多轮对话

Chatopera 多轮对话解决方案的一个主要目标是以无代码、低代码的形式上线智能对话机器人,为了实现这个目标,Chatopera 将不同形式的问答技术打造为基础模块,提供每个模块的管理工具、APIs,Chatopera 机器人平台用户可以单独使用。在基础模块之上,再融合为一个多轮对话方案。目前,基础模块包括:1)以搜索引擎技术为主的知识库;2)以机器学习为主的意图识别;3)以脚本规则为主的对话脚本。其中,又以脚本规则为中心融合知识库和意图识别,这个融合的产物就是 Chatopera 多轮对话。融合多种问答技术,实现为标准的工具,提供最佳实践,是 Chatopera 机器人平台的主要特色。

在使用 Chatopera 机器人平台时,理解基础模块的工作原理,并熟悉多轮对话的检索机制,是非常重要的,掌握了这些知识可以帮助您实现具有强大对话能力的智能对话机器人。

目前,基础模块包括:知识库意图识别脚本对话

知识库

通过设定问答对实现问答,对话用户的请求文本和问答对里的标准问或扩展问比较,计算相似度,当相似度高于阀值时,即认定该问答对的答案是对话用户需要的回复。

在 Chatopera 知识库中,支持扩展问、近义词词典、多答案和答案类型。

智能对话机器人之多轮对话工作机制 | Chatopera

脚本对话

脚本对话是通过书写 Chatopera 多轮对话脚本语法建立的规则组合实现问答。对话脚本将对话分为匹配器,即和对话用户的输入进行比较的规则;回复,匹配规则后的回复内容,支持文本和函数;上下轮钩子,将规则与规则进行关联。对话脚本中的函数,使用 JavaScript 方式低代码编程,内置函数库,即方便了系统集成,同时也提供大量自然语言处理帮助函数,不需要掌握自然语言处理 NLP 的知识,开发者可以专注的实现业务逻辑。

在脚本匹配器语法和函数中,融合知识库和意图识别,所以,脚本对话是多轮对话的中心,围绕脚本实现不同问答技术的融合。所以,很多时候,文档和产品中,也用【多轮对话】表述脚本对话,就是这个原因。但是脚本独立构成了一个模块,在 Chatopera 机器人平台内部,实现了对话脚本引擎。

智能对话机器人之多轮对话工作机制 | Chatopera

其中,知识库阀值默认为 。

这样的检索完成了知识库和脚本对话的融合,这也是大的框架,关于知识库、脚本对话和意图识别的相互之间的调用关系,后文会有更多介绍。

创建脚本对话的话题

聊天机器人的多轮对话主要就是很多对话规则的组合,可以设想这些对话规则组成了一个个的话题,在对话时,可以聊一个话题,可以跳跃到其它的话题。那么,每次获得了聊天用户的文本,机器人进行答案的检索就是选择最合理的话题并找到匹配的规则,计算回复内容。

在创建好机器人后,下载多轮对话设计器,在多轮对话设计器中,创建话题。

智能对话机器人之多轮对话工作机制 | Chatopera

开始的是匹配器,目前 Chatopera 多轮对话支持通配符匹配器和模糊匹配器; 开始的是回复,目前支持文本和函数,函数是 JavaScript 脚本; 开始的是上下轮钩子,用以关联规则。

使用多轮对话设计器撰写对话脚本的用户体验,经过了多年的打磨,已经非常成熟和稳定。

智能对话机器人之多轮对话工作机制 | Chatopera

如果使用了上下轮钩子,则最先匹配携带有上下文钩子(就是 )的规则。

整体上,脚本对话在检索时,检索栈是动态变化的。

对话状态机

现在,我们从另一个角度,状态机的角度思考多轮对话,因为是在多个连续的交互中,完成一个对话目标,那么就存在一个状态的问题,状态机是状态可以转移的图,两个状态之间的关系通过状态机约束。比如,某个活动通知的对话状态机如下:

智能对话机器人之多轮对话工作机制 | Chatopera

当对话用户的输入匹配到脚本对话的规则时,即是对话到达了一个状态。

擦除状态

开发者在多轮对话脚本的函数中,也可以擦除这个状态,这样到下次对话用户再请求时,话题检索的栈回到初始状态,状态机回到原始,这个擦除的方法是在回复或函数中添加 前缀,关于这个知识点的使用说明见文档。

使用函数切换状态

如果想从一个话题,切换到另外一个话题获得回复。那么可以在函数中使用 。将 替换为话题名字, 替换为匹配器。就可以切换到该规则下获得回复。

topicRedirect 函数的更多介绍,参考文档。

知识库路由

对于状态机的状态跳转,Chatopera 多轮对话方案中,还有一个高级方法,通过知识库路由对话到对话状态机任意状态。

智能对话机器人之多轮对话工作机制 | Chatopera

设定知识库的问答对中的答案,内容使用上述格式,将 替换为话题名字, 替换为匹配器。就可以切换到该规则下获得回复。

关于知识库路由的更多介绍,参考文档。

总结

恭喜您,看到文档的最后,多轮对话是不是简单易学,并且很强大在就开始下载多轮对话设计器,并使用 Chatopera 提供的对话模板实现您的智能对话机器人吧!

下一步

  • 多轮对话设计器:下载和安装

  • 多轮对话匹配器:模糊匹配器、通配符匹配器等

  • 示例程序:Chatopera 机器人对话模板

来源:Chatopera 研发团队

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月17日
下一篇 2021年7月17日

相关推荐