智能客服机器人:基于知识图谱的多轮对话系统

这篇具有很好参考价值的文章主要介绍了智能客服机器人:基于知识图谱的多轮对话系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

━━━━

近年来,随着人工智能的快速发展,人机交互能力不断增强,其中问答技术能够在保证一定准确度的情况下极大地简化用户的搜索操作,在节约时间的同时,还能够加深用户对搜索事物的了解程度,百度公司的小度、苹果公司的Siri等正是基于问答技术形成的产品。

作为问答技术的关键构造,对话系统根据对话目的或应用场景的不同,可以分为任务型对话以及非任务型对话。前者一般面向特定任务,目的是尽可能准确且使用较少对话轮次完成用户提问、查询等语义任务;后者则以聊天机器人为代表,对话领域开放,目的是尽可能用多样化、丰富的表述来模拟人类对话。在人机对话过程中,提问与回复往往需要多方面的知识作为支撑,因此将知识图谱应用于多轮对话,可以帮助对话系统在面对特定领域提问时,完成更为准确且更有意义的回复。在国家重点研发计划项目的支持下,哈尔滨工业大学研究团队结合知识图谱与冬奥会主题的内容,构建出冬奥会智能客服机器人,其能够满足体育赛事票务查询预订以及交通路线规划的用户需求,实现基于冬奥会知识图谱的多轮对话,回答用户的相关提问。

━━━━

面向冬奥会的任务型对话系统

冬奥会对话系统属于任务型对话,具有领域范围小、主题明确等特点。研究团队基于管道方法(Pipeline Method)搭建了面向冬奥会的任务型对话系统,其主要由自然语言理解(NLU)、对话管理(DM)自然语言生成(NLG)以及用户交互四大模块组成(见图1);研究团队还建立了基于反射机制高扩展性框架

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

自然语言理解模块可以将用户输入的语言文本换为结构化语义框架表示(包括领域、意图、槽位-槽位值对集合)并输出,主要包含意图识别与槽识别两个任务。意图识别任务负责将用户语句文本归类到其对应的意图类别之中。槽识别任务负责将用户语句文本中全部的槽位-槽位值对识别出来,一般被视为序列标注问题

该模块的语言理解任务涵盖票务与交通两大领域,属于多领域语言理解任务,包含8种意图识别类型(如询问比赛时间、询问比赛地点、规划交通路线)以及14种槽位(如比赛名称、地点、目的地),槽位采用BIO标注模式,前缀“B-”表示槽位开始词,前缀“I-”表示槽位中间词,“O”表示非槽位词,系统在进行填充时会去掉前缀。对话开启后,该模块会先加载预训练好的模型,由对话管理模块判断用户输入语句是否为本轮对话的首句。若是,则调用适用于文本分类的卷积神经网络(TextCNN)模型对其进行意图识别(见图2),并返回意图识别的结果;然后调用具备考虑上下文信息能力的双向长短时记忆网络(BiLSTM)模型对该句进行槽识别(见图3),得到每个词对应的槽类型,再将词的值填入对应槽,并返回至对话管理模块。

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

对话管理模块是整个系统的调度模块,可以利用对话历史与用户语义框架表示来追踪对话状态并生成对话行为,主要包括对话状态追踪任务与对话策略任务。对话状态追踪任务是指根据对话历史与当前用户对话文本来推断更新当前对话状态的过程。对话状态包括槽位及槽位值,能够表示对话过程的进度。对话策略任务是指根据当前对话状态生成的对话行为。对话行为由动作谓词与槽位构成,动作谓词表示基本的意图(如Inform表示通知、Request表示请求、Thanks表示感谢、Closing表示结束),即用户或对话代理想要执行什么操作,槽位表示语义内容,即用户或对话代理执行操作所需的信息。

该模块采用的对话状态追踪技术,会先将所有槽位分为Inform类型槽位(其槽位值来自用户,在对话过程中用于约束信息查询)以及Request类型槽位(其槽位值是用户在与对话系统交互过程中期望获取到的有关信息),在给定由自然语言理解模块从用户对话文本中解析到的语义框架表示之后,会根据当前对话状态中的限制条件(Inform类型槽位信息),检索数据库中符合条件的数据,再利用语义框架表示数据库检索结果,将对话状态更新并获取下一个对话状态,最后将对话状态转换为对话策略任务需要的形式,例如基于规则的对话策略需要对话状态的语义框架表示。

自然语言生成模块可以将结构化的对话行为表示转换为自然语言语句,使用基于规则的方案。这是因为在冬奥会赛事背景下,票务查询与预订、交通路线规划这两项需求相对比较简单,人工规则需求量不大且制定难度较低;此外,基于生成式模型的方案需要大量难以收集的领域相关对齐语料,且生成式模型生成的自然语言难以保证文本的流畅性与信息准确性。在基于规则的自然语言生成模块实现过程中,研究团队先为不同的对话行为定义不同的模板。该模板由自然语言文本与槽位标签构成,例如,在模板“您想观看什么时候的{{比赛名称}}比赛”中,“{{比赛名称}}”就是槽位标签。当使用模板生成自然语言时,需要先根据当前对话行为与对话状态中的已知槽位集合,在模板数据库中进行查询,选出满足相应条件的模板,再根据对话状态中的已知槽位信息替换模板中的槽位标签,从而得到该对话行为对应的自然语言文本。

用户交互模块是一个前端交互界面,主要完成系统与用户之间的交互,用户交互功能通过WEB网站实现。当用户输入信息时,向后端发送信息,经自然语言理解模块、对话管理模块、自然语言生成模块调用,并将处理后的结果返回至前端,回复给用户。浏览器/服务器(B/S)模式的开发优势在于WEB网站可以在最大程度上实现资源共享,即在网站部署之后所有用户都可通过浏览器进行访问,并且系统维护成本较低,更新升级只需修改服务器端的代码。此外,研究团队选择基于具有小巧、灵活、支持高并发等优势的Tornado框架来开发该对话系统,并使用Ajax技术来实现系统前后端分离,即前端界面通过Ajax请求完成与后台的信息交互。这种低耦合性的实现方式,对于系统的后期升级与改造大有裨益。

为解决任务型对话系统每次模型更迭都需要对源代码进行繁琐而低效的更改这个问题,研究团队在面向冬奥会的任务型对话系统架构设计中使用Python的接口类机制与反射机制,并通过模块抽象类定义、模块抽象类扩展、设置类文件路径、反射机制获取对象这四个步骤,建立了基于反射机制的高扩展性框架。第一步,研究团队先为自然语言理解、对话管理、自然语言生成3个模块,分别定义一个抽象类,并为各抽象类定义对应的抽象方法;第二步,可以对第一步预先定义好的抽象类进行扩展,以不同的方式实现其抽象方法;第三步,将类文件路径(从根目录开始)以及类名称(文件中扩展类的名称)的信息填写在配置文件中,为反射机制获取对象做准备;第四步,反射机制是指计算机程序在运行时可以访问、检测与修改其自身状态或行为,在Python语言中,反射机制将字符串转换为类对象,直接调用扩展类的抽象方法,而不需要对源代码进行任何修改,从而大大提高了系统框架的可扩展性。

━━━━

基于知识图谱的多轮对话小程序

对话系统所需的冬奥会知识图谱由清华大学李娟子老师团队提供,其中大约包含15836个三元组、7397个实体、14种关系。实体主要分为4大类,即冬奥会、比赛项目、场馆、参赛人员,其中冬奥会包含首届至第二十四届冬奥会的基本信息;比赛项目包含高山滑雪、冰壶、冰球等16个大类,每一大类又包含多个子类,如高山滑雪包括男子滑降、高山混合团体赛等;场馆包含历届冬奥会的部分比赛场馆;参赛人员仅包含历届冬奥会的获奖运动员;关系主要包含比赛场馆、运动员获奖名次(第一、二、三名)等。

哈工大研究团队基于冬奥会知识图谱构建了多轮对话数据集。首先分析知识图谱的本体及其关系(图谱中每个节点即本体,各条边即本体之间的关系),得到本体关系图(见图4),并转化为有向图(需要根据实际情况人工添加或删除部分路径,见图5),然后分别以各个本体为起点遍历有向图(已遍历节点不能重复遍历),得到全部最长路径,再对全部路径进行拆分与融合,得到子路径,每一条子路径即对应一个多轮对话模板,最后将知识图谱中相应的实体与关系填充到模板中,即可得到多组基于知识图谱的多轮对话语料。

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

在多轮对话数据生成过程中,系统可以对用户语句进行自动标注。例如,利用模板“{冬奥会}有哪些比赛项目?”生成语料时,可以自动生成模板填充的实体及其编号等标注信息,用于命名实体识别(NER)数据生成,同时可以标注问句的意图类型,用于意图识别数据生成。生成的17010条不同的意图识别数据,主要包括13种意图,询问的具体内容分别为吉祥物、参赛国家和地区、比赛场馆、场馆举办过第几届冬奥会/举办过的比赛、比赛项目、某个大类的子项目、某个子项目的第一名/第二名/第三名、某个运动员参加过哪几届冬奥会/参加过哪些比赛/取得的成绩。此外,该程序包含冬奥会、项目大类、子项目、运动员、场馆这5种槽位,每一个意图可以对应多个槽位。

多轮对话系统的前端为微信小程序。多轮对话的主要流程为“输入当前用户语句→进行意图识别→进行命名实体识别→判断识别实体的类型→根据意图与槽位信息进行对话”,其中意图识别使用BiLSTM模型,命名实体识别程序使用BiLSTM+条件随机场(CRF)。在多轮对话中,系统会将每次识别到的实体及其类型保存至对话历史,这样一来,对于省略了部分实体的用户提问,系统仍能做出正确回答,从而保证了上下文的连贯性。

━━━━

意图分类实验与对话演示实例

缺乏自然语言理解模块的标注数据通常是在新领域构建任务型对话系统所遇到的第一个障碍。为此,研究团队总结归纳出一套自然语言理解模块标注数据半自动化构建方案,其主要流程为“人工标注意图识别种子语料→爬虫扩展语料→人工校正意图识别语料→模板扩展语料(需要扩充时)→人工标注槽位填充语料”。研究团队最终收集到6970条数据,以其中的5586条作为训练集、692条作为测试集、692条作为验证集,并在此数据集上分别采用TextCNN、FASTTEXT、ERNIE这3种模型进行意图分类实验,结果表明:三者中ERNIE与TextCNN的效果更优,准确率(Accuracy)分别为97.83%与96.24%,宏平均F1(macro avg F1)分别为93.36%与92.03%,加权平均F1(weighted avg F1)分别为97.83%与96.24%。

面向冬奥会的对话系统在体育赛事票务查询与预订方面,可以识别出询问比赛时间、询问比赛地点、询问比赛票价、预订比赛门票等用户意图;在交通路线规划方面,可以识别出询问交通工具运营时间、规划交通路线等用户意图。对话演示实例如图6与图7所示,当用户在系统输入框内输入想要咨询的问题后(如“帮我买花样滑冰的比赛门票”“请问从望京到鸟巢怎么走”),对话系统先通过自然语言理解模块对其进行理解,分析识别出用户的意图、槽位及槽位值,之后依次对用户目标中的约束信息(如比赛日期、购票数量、比赛时间、门票类型、出行策略)进行询问,最后利用询问过程中收集到的全部信息,在后台数据库进行查询,并做出正确流畅的回复。

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

在正常连贯的对话中,用户的下一条提问很可能会省略之前已经提及的部分信息,因此对话系统需要结合上下文来理解用户的提问,即使当前问题省略了部分实体,系统也能做出连续而准确的回复。多轮对话小程序演示实例如图8所示,用户在第三条提问中省略了第一条提问所提及的“平昌冬奥会”与第二条提问所提及的“越野滑雪子项目”,所以第三条提问实际是在向对话系统询问“平昌冬奥会中,越野滑雪的子项目——男子竞速赛的第三名是谁?”

多轮对话系统,大语言模型LLM - ChatGPT等,对话系统QA-Rasa,知识图谱,人工智能

哈工大研究团队开发的冬奥会智能客服机器人,基于目前的冬奥会知识图谱,可以帮助人们更为精细地了解冬奥会的相关知识与发展历史;在未来,不断升级改造的冬奥会智能客服机器人,在接入冬奥会数据平台后,也能具备服务北京2022年冬奥会的能力,可以帮助想去现场感受冰雪赛事的人们解决票务查询预定与交通路线规划等具体问题。

致谢:感谢国家重点研发计划“云计算和大数据”重点专项项目“大数据驱动的自然语言理解、问答和翻译”课题“面向自然口语交互的情境化语义理解和多轮对话交互管理技术”(课题编号:2017YFB1002102)的支持。

本文刊登于IEEE Spectrum中文版《科技纵览》2021年8月刊。

专家简介

郑德权:现任哈尔滨商业大学教授,就职于哈尔滨工业大学期间参与完成该项研究工作。

衣景龙:哈尔滨工业大学硕士。

赵铁军:哈尔滨工业大学教授。文章来源地址https://www.toymoban.com/news/detail-607999.html

到了这里,关于智能客服机器人:基于知识图谱的多轮对话系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 国内智能客服机器人都有哪些?

    随着人工智能技术的不断发展,智能客服机器人已经成为了企业客户服务的重要工具。国内的智能客服机器人市场也迎来了飞速发展,越来越多的企业开始采用智能客服机器人来提升客户服务效率和质量。 在这篇文章中,我将详细介绍国内知名的智能客服机器人,包括其产品

    2024年02月07日
    浏览(42)
  • 如何利用文本分析技术进行智能客服机器人和智能推荐

    作者:禅与计算机程序设计艺术 随着互联网网站、社交媒体、购物平台等都在蓬勃发展,人们对电子商务、网络服务的需求也越来越高,而目前市场上智能化客服机器人的应用也日益增多。智能客服机器人和智能推荐系统通过巧妙地理解用户的问题并给出相应的回答或者推荐

    2024年02月07日
    浏览(52)
  • AI智能语音客服机器人系统/方案/案列/技术/项目

    在工作中总是无法避免做一些重复的事,不同的人对待重复的工作做法也是不一样,总有一部分人想办法来提高效优化流程。当然,也有一部分人会选择按部就班。如果拘泥于原本的工作方式,没有创新的重复,只是在做无用功而已。不过,现在有了一种可以解决重复性工作

    2024年02月08日
    浏览(52)
  • AI智能客服机器人是什么?对企业重要吗?

    在数字化时代,客户服务是企业与客户建立牢不可破关系的重要桥梁。AI智能客服机器人,顾名思义,就是利用人工智能技术提升客户服务体验的自动化工具。今天,就让我们来揭开AI智能客服机器人的神秘面纱,并讨论它对企业的重要性。 AI智能客服机器人是什么? 简单来

    2024年04月10日
    浏览(49)
  • AI智能客服机器人在医疗健康行业中的应用

    随着科技的飞速发展,AI智能客服机器人已经逐渐渗透到我们生活的各个领域,而在医疗健康行业中,它的应用更是为人们带来了很多便利。那么,AI智能客服机器人在医疗健康行业中的应用是怎么样的呢?今天,我们就来一起探讨这个话题,并看看有哪些AI智能客服机器人可

    2024年04月16日
    浏览(44)
  • 自然语言处理在智能客服和聊天机器人中的应用

    🎉欢迎来到AIGC人工智能专栏~自然语言处理在智能客服和聊天机器人中的应用 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:AIGC人工智能 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术

    2024年02月10日
    浏览(56)
  • 用人工智能提升客户满意度:智能客服机器人的应用领域与案例

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着互联网技术的飞速发展,客户满意度逐渐成为企业竞争的核心指标之一。为了提升客户满意度,许多企业开始利用人工智能技术,尤其是智能客服机器人,来提升客户体验。智能客服机器人可以通过语音识别、自然语言

    2024年02月06日
    浏览(51)
  • 【移动机器人】基于JADE改进差分算法的多AGV路径规划

      最近帮同学做个东西,但是问题在于是之前从没接触过的领域–移动机器人轨迹规划,虽然也是搞机器人的,但是对 AGV 那边的情况是一无所知,这次能完成也算是挑战成功。此次任务目的是多辆AGV小车搬运货物,保证搬运总时间最短并且小车与货物之间,小车与小车之

    2024年02月10日
    浏览(48)
  • 我开发了一个温柔的智能客服聊天机器人ChatBot,并回答为什么不是ChatGPT(附思路和代码)

    若问2023年科技领域什么最火,那当然是ChatGPT了,这么智能的对话机器人,给人带来无限的想象,围绕着ChatpGPT的各种热点和创意层出不穷。作为一个多年从事编程开发的程序员,我对于这么大的一个热点也很兴奋,每天琢磨着围绕ChatGPT干点啥。 当然还是先要认清现实,心再

    2023年04月20日
    浏览(102)
  • 【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)

    需要源码和数据集请点赞关注收藏后评论区留言私信~~~ QA问答是Question-and-Answer的缩写,根据用户提出的问题检索答案,并用用户可以理解的自然语言回答用户,问答型客服注重一问一答处理,侧重知识的推理。 从应用领域视角,可将问答系统分为限定域问答系统和开放域问

    2023年04月12日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包