面向场景配置的人机交互对话机器人系统的制作方法

    专利2022-07-08  91


    本申请涉及人工智能领域,具体涉及一种面向场景配置的人机交互对话机器人系统。



    背景技术:

    作为人工智能时代的入口级产品,近年来,对话机器人受到了大量的关注,也得到了快速的发展。微软的小娜和小冰、苹果的siri、百度的度秘等等产品层出不穷。

    对话机器人设计涉及到多个技术领域,包括但不限于:机器学习、深度学习、自然语言处理、数据库技术、知识图谱技术等等。近年来,每一项技术在其各自领域均得到了长足发展且具备一定的成熟度。

    对话机器人的工程化是一个产品成功的关键。一方面,在对话机器人的技术体系下,需要整合诸多支撑技术到一个统一的设计框架下;另一方面,面对需求变化迅速的市场,需要可持续、高效率的输出和完善对话产品。

    缺陷和不足:

    现阶段已有的对话机器人开发设计技术/框架存在一定问题:

    (1)对话设计需要大量专业知识,门槛较高

    对话机器人工作的第一步、也是最重要的一步就是读懂用户输入的语句并获取所需要的信息,需要处理复杂的用户输入信息,并且步骤晦涩难懂,对应到自然语言理解即意图识别、实体识别以及槽位填充工作。它们不仅需要大量的前期配置工作,还需要设计者根据对话进程处理异常值、缺失值追问、获取值确认等等主线对话以外的情况。这也导致软件程序开发人员与对话设计者往往需要协同工作,无法各自独立完成。

    (2)对话设计与业务操作衔接困难

    对话机器人最终目的往往是执行具体业务操作,后者涉及的对象、内容、格式、操作方法在不同场景下不尽相同,也就是说针对每一种操作,机器人设计方都要与之单独进行对接,这也就导致大量的硬编码、定制化的出现,极大限制了对话机器人的响应丰富程度。

    (3)复杂对话设计困难

    真实场景下,对话过程往往不是固定的一两步即可完成,而是一个充满流程、分支的复杂过程。对话需要处理用户多轮询问、上下文分析、异常对话等等,而且还要根据需要随时调整对话流程。这大大增加了满足真实场景的复杂对话的开发难度。



    技术实现要素:

    针对现有技术中的问题,本申请提供一种面向场景配置的人机交互对话机器人系统,能够基于对话三元素各自设计及应用方法,极大降低了对话机器人的设计难度。

    为了解决上述问题中的至少一个,本申请提供以下技术方案:

    第一方面,本申请提供一种面向场景配置的人机交互对话机器人系统,包括:输入模组、响应模组以及对话流;

    所述输入模组用来处理对话过程中来自用户或第三方输入内容,获得进行下一步动作及对话所需要的信息;

    所述响应模组用于实现不同的响应动作,包括返回文本回答、调用接口、执行命令中的至少一种;

    所述对话流由多个所述输入模组和响应模组构成,用于确定对话的走向,多个所述对话流通过训练最终形成完整的机器人对话模型。

    进一步地,所述输入模组根据输入来源不同可分为用户输入模组和事件输入模组,其中,所述用户输入模组是终端用户发出的对话内容及其处理过程,所述事件输入模组是可自定义的事件信息及其处理过程。

    进一步地,所述输入模组包括nlu处理单元,所述nlu处理单元根据获得的输入内容所携带的意图信息和实体信息,划分为意图识别和实体识别组件和填槽组件。

    进一步地,所述输入模组包括自动实体验证单元、自动实体追问单元和自动槽位信息确认单元。

    进一步地,所述响应模组还用于对webapi、数据库、文档以及知识库的封装,得到统一形式的对外接口。

    进一步地,所述响应模组还包括:

    将对话中已填槽位与元知识请求参数进行数据绑定,绑定后响应模组将参数发送给响应请求地址等待回复。

    进一步地,所述响应模组还包括:

    元知识调用成功后返回的数据格式与对话机器人终端展现样式的数据格式进行映射,映射后返回数据自动转换为所需格式转发给对话机器人终端使用。

    进一步地,所述对话流包括可配置的上下文多轮对话流,具体包括:

    用户第一次输入的对话内容,通过输入模组的公共nlu组件,获得此次输入的意图和实体信息;

    判定为意图1,则进入路径1来到输入模组1的填槽环节;同样,判定为意图2,则进入路径2来到输入模组2的填槽环节;

    填槽结束,若为路径1则进入响应模组1获取并发送回应信息;若为路径2则进入响应模组2获取并发送回应信息,注意一个输入模组后可跟随多个响应模组;

    路径2到响应模组3即结束,而路径1则在响应模组1后有三个分支,处理过程同上。

    进一步地,所述对话流根据前若干轮的对话内容,在对话流的模组中结合所述对话内容动态处理,形成与上下文语境相符的响应内容,其中,所述对话内容包括此前的输入内容、响应信息、已经填充的实体、槽位信息中的至少一种。

    进一步地,还包括:

    提取对话流中的状态信息和响应信息,并对其进行数值转化,形成特征化的状态序列和响应序列;

    将特征化后的状态序列和响应序列进行映射并合并,形成响应选择模型。模型输入为当前对话状态序列,输出为下一步的响应,输入输出关系与对话流中的每个环节对应;

    将特征化后的状态序列和响应序列输入到神经网络进行训练,形成响应选择模型,预测模型输入为当前对话状态序列,输出为下一步的响应。

    由上述技术方案可知,本申请提供一种面向场景配置的人机交互对话机器人系统,通过提出的全流程配置化的开发模式,极大降低了对话机器人的设计难度,发明中的对话输入模组设计方法,屏蔽了自然语言分析等专业知识,使得对话设计者可以与软件开发者独立工作,完成对话设计,发明中的对话响应模组设计方法,借助元知识体系,将各类操作映射到统一的请求服务上,使得对话设计可以更简洁灵活地对接业务操作,发明中的对话流设计方法,让对话设计更加直观清晰,对话模型支撑多轮对话、上下文关联、异常对话等处理过程,让复杂对话设计大为简化。

    附图说明

    为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1为本申请实施例中的面向场景配置的人机交互对话机器人系统的整体示意图;

    图2为本申请实施例中的自动实体验证、自动实体追问和自动槽位信息确认的工作流程图;

    图3为本申请实施例中的响应模组工作流程图;

    图4为本申请实施例中的对话流工作流程图;

    图5为本申请实施例中的对话模型训练流程图;

    图6为本申请实施例中的atc状态机示意图。

    具体实施方式

    为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

    考虑到现阶段已有的对话机器人开发设计技术/框架存在一定问题的问题,本申请提供一种面向场景配置的人机交互对话机器人系统,通过提出的全流程配置化的开发模式,极大降低了对话机器人的设计难度,发明中的对话输入模组设计方法,屏蔽了自然语言分析等专业知识,使得对话设计者可以与软件开发者独立工作,完成对话设计,发明中的对话响应模组设计方法,借助元知识体系,将各类操作映射到统一的请求服务上,使得对话设计可以更简洁灵活地对接业务操作,发明中的对话流设计方法,让对话设计更加直观清晰,对话模型支撑多轮对话、上下文关联、异常对话等处理过程,让复杂对话设计大为简化。

    为了能够基于对话三元素各自设计及应用方法,极大降低了对话机器人的设计难度,本申请提供一种面向场景配置的人机交互对话机器人系统的实施例,所述面向场景配置的人机交互对话机器人系统具体包含有如下内容:

    输入模组、响应模组以及对话流;

    所述输入模组用来处理对话过程中来自用户或第三方输入内容,获得进行下一步动作及对话所需要的信息;

    所述响应模组用于实现不同的响应动作,包括返回文本回答、调用接口、执行命令中的至少一种;

    所述对话流由多个所述输入模组和响应模组构成,用于确定对话的走向,多个所述对话流通过训练最终形成完整的机器人对话模型。

    从上述描述可知,本申请实施例提供的面向场景配置的人机交互对话机器人系统,能够通过提出的全流程配置化的开发模式,极大降低了对话机器人的设计难度,发明中的对话输入模组设计方法,屏蔽了自然语言分析等专业知识,使得对话设计者可以与软件开发者独立工作,完成对话设计,发明中的对话响应模组设计方法,借助元知识体系,将各类操作映射到统一的请求服务上,使得对话设计可以更简洁灵活地对接业务操作,发明中的对话流设计方法,让对话设计更加直观清晰,对话模型支撑多轮对话、上下文关联、异常对话等处理过程,让复杂对话设计大为简化。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述输入模组根据输入来源不同可分为用户输入模组和事件输入模组,其中,所述用户输入模组是终端用户发出的对话内容及其处理过程,所述事件输入模组是可自定义的事件信息及其处理过程。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述输入模组包括nlu处理单元,所述nlu处理单元根据获得的输入内容所携带的意图信息和实体信息,划分为意图识别和实体识别组件和填槽组件。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述输入模组包括自动实体验证单元、自动实体追问单元和自动槽位信息确认单元。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述响应模组还用于对webapi、数据库、文档以及知识库的封装,得到统一形式的对外接口。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述响应模组还包括:

    将对话中已填槽位与元知识请求参数进行数据绑定,绑定后响应模组将参数发送给响应请求地址等待回复。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述响应模组还包括:

    元知识调用成功后返回的数据格式与对话机器人终端展现样式的数据格式进行映射,映射后返回数据自动转换为所需格式转发给对话机器人终端使用。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述对话流包括可配置的上下文多轮对话流,具体包括:

    用户第一次输入的对话内容,通过输入模组的公共nlu组件,获得此次输入的意图和实体信息;

    判定为意图1,则进入路径1来到输入模组1的填槽环节;同样,判定为意图2,则进入路径2来到输入模组2的填槽环节;

    填槽结束,若为路径1则进入响应模组1获取并发送回应信息;若为路径2则进入响应模组2获取并发送回应信息,注意一个输入模组后可跟随多个响应模组;

    路径2到响应模组3即结束,而路径1则在响应模组1后有三个分支,处理过程同上。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    所述对话流根据前若干轮的对话内容,在对话流的模组中结合所述对话内容动态处理,形成与上下文语境相符的响应内容,其中,所述对话内容包括此前的输入内容、响应信息、已经填充的实体、槽位信息中的至少一种。

    在本申请的面向场景配置的人机交互对话机器人系统的一实施例中,还可以具体包含如下内容:

    还包括:

    提取对话流中的状态信息和响应信息,并对其进行数值转化,形成特征化的状态序列和响应序列;

    将特征化后的状态序列和响应序列进行映射并合并,形成响应选择模型。模型输入为当前对话状态序列,输出为下一步的响应,输入输出关系与对话流中的每个环节对应;

    将特征化后的状态序列和响应序列输入到神经网络进行训练,形成响应选择模型,预测模型输入为当前对话状态序列,输出为下一步的响应。

    为了更进一步说明本方案,本申请还提供一种应用上述面向场景配置的人机交互对话机器人系统实现面向场景配置的人机交互对话机器人系统的具体应用实例,具体包含有如下内容:

    参见图1,本方案中,以配置化方式实现对话机器人的设计过程,将原本冗长、复杂的对话开发工作浓缩、整合到三个元素的配置中:

    (1)输入模组:用来处理对话过程中来自用户或第三方输入内容,获得进行下一步动作及对话所需要的信息。它代表了对话过程中信息发出者的角色,以及机器人对其输入的处理过程。

    (2)响应模组:可实现不同的响应动作,包括返回文本回答、调用接口、执行命令等等,它代表了对话过程中机器人的角色,即对输入做出回应,所需信息均来自输入模组。

    (3)对话流:一个对话流由多个输入/响应模组构成,它们以有向无环图(dag)的形式表述了一个完整的对话过程,即多个有序的接收-响应步骤。

    输入和响应模组处理对话中的每个细节环节,而对话流用来确定对话的走向,多个对话流通过训练最终形成完整的机器人对话模型,对话控制端以接口形式为各类终端提供对话服务。

    各元素具体设计方案:

    一、输入模组

    (1)输入源划分:

    根据输入来源不同模组可分为:

    用户输入模组:代表由终端用户发出的对话内容及其处理过程。

    事件输入模组:代表一些可自定义的事件信息及其处理过程,事件本身已定义好对应的实体信息。事件输入模组主要用来实现由事件触发的对话过程,如推送、提醒等。

    在对话流中,二者均承担输入信息及处理的任务,前者是常态化应用,现实过程中大多数对话均采用其进行处理;后者更多出现在对话流的第一个步骤,因为事件触发时随机的,与当前对话状态无关。

    (2)nlu处理

    nlu是输入模组的基础,它的任务是获得输入内容所携带的意图(intent)信息和实体(entity)信息,对应输入模组也划分为两个过程处理组件:

    意图识别和实体识别组件:分析输入目的、同时得到输入中的实体数据(该部分为所有输入模组公用,不直接体现在某个对话流中)。

    填槽(slot)组件:每个模组有各自对应的槽位信息(即需要获取的数据),该环节模组通过实体与槽位的映射关系将数据存储到对应位置,以获得支撑下一步响应的数据信息。

    nlu通常的实现方法需要开发者为每一个实体提供足够多的训练语料以支撑信息提取,在本方案中,采用多种模式降低用户配置量,同时解决特殊信息提取的难题:

    对于通用实体和意图,整理并预制到系统内,可直接选取使用

    对于无规则实体(如姓名、组织名等),系统采用深度学习模型 语料库模式,定期提升识别能力,而配置者只需将所需实体与指定类别关联即可完成提取

    对于普通自定义实体,系统提供正则、查找表等组件支撑提取过程

    系统嵌入多个基于特定场景的语料库及词向量模型,以提升模组在不同场景下的识别意图精准度

    (3)自动化流程处理

    在提取信息环节,真实对话过程往往不会完全按照预定义的流程进行,期间可能出现各式各样的“意外”情况,例如用户输入信息不全、输入信息有错误、用户想要退出当前话题以及用户希望确认已经提供的信息等。这些情况会在对话中频繁随机出现,如果通过对话流程编写的方式解决,则最终形成的对话路线图则会异常庞大且依旧没有办法覆盖各种排列组合可能。

    本方案中将多个常见的特殊流程整合、内置到模组中,对话设计者不需要专门处理这些“分支”情况,而由系统自动解决。

    自动实体验证(automaticentityverification,aev)

    系统内置多种实体数据验证规则(亦可自定义规则),将规则与实体进行绑定,利用其对对话过程中用户输入提供的信息进行验证,通过验证方可进行填槽操作。

    自动实体追问(automaticentityrequest,aer)

    对于当前对话缺失的信息(实体),系统自动组织回复语句进行追问(如有特殊需求,亦可在系统中配置追问语句),直到所有需要的信息均被填写并通过验证才会进入下一个对话流程。

    自动槽位信息确认(automaticslotaffirmation,asa)

    系统支持对指定槽位信息自动进行二次确认(可配置、可选项),即将已获得的信息反馈给用户进行人工确认(用户可更正),这可以有效确保在进行下一步环节前提交的用户信息的准确性,同时也为对话过程提供良好的可见反馈。

    以上三者工作流程如图2所示。

    二、响应模组

    对话机器人响应与业务操作产生断层的根本原因在于缺乏统一的规范、手段对二者进行衔接,因此本方案通过建立元知识体系、建立统一请求访问服务的方法,解决该问题。响应模组的工作流程如图3所示.

    (1)元知识体系构建

    所谓元知识(metaknowledge),即对话场景下所有涉及到的业务操作实体、代表含义及操作方法的统称,因每个操作不论简繁都蕴含着一定的业务知识,故称之为元知识。业务操作以注册的方式成为元知识。

    构建元知识体系的核心工作,就是将各类元知识映射到统一的请求服务上。考虑到各类元知识的本体实际上都可以抽象为一种网络资源,本方案采用标准http请求规范设计统一请求服务,引入最常用的get、post、put、delete四种操作方式对元知识进行标准化封装,使得每个元知识可以通过对应转换通道,被最终映射为统一请求服务上的一个独立接口供调用。根据元知识本体不同,具体转换封装方法如下:

    webapi:最常用的一种操作形式,本身为http方式的可直接使用;非http方式则摘取参数和响应格式,转换为http格式转发。

    数据库:针对不同数据库类型,将基本增删改查等操作通过http接口进行封装。

    文档:对于标准格式文件(如excel、xml等),引入对应解析工具;对于特殊专有格式,则获取相应schema文件解析。将解析方法联同操作一同以http接口方式封装。

    知识库:对于已经提供webapi的知识库系统,参考webapi封装方法;对于提供本地sdk的知识库,则对其进行二次封装,整合提取为前述四种基本操作中的一种或多种。

    封装后的元知识由系统综合管理,并对外暴露统一形式接口信息(请求地址、方式、参数等),在构建对话时通过响应模组按需调用。

    (2)元知识调用

    在确定使用某个元知识后,响应模组通过两个过程即可完成一个元知识的调用:

    请求映射(requestmapping)

    该环节将对话中已填槽位与元知识请求参数进行数据绑定,由于双方都经历了注册和标准化过程,因此绑定关系可以通过简单的界面化配置完成,绑定后响应模组将参数发送给响应请求地址等待回复。

    响应映射(responsemapping)

    元知识调用成功后返回的数据格式与对话机器人终端展现样式(如基本对话框、图片、按钮等)的数据格式进行映射,映射后返回数据可以自动转换为所需格式转发给展示端使用。本方案将常用展现样式的数据格式进行标准化(字段名称、格式等),形成基本组件,基本组件数据可以组合使用形成新的格式数据;同时系统支持自定义格式数据(需终端支持展示)。

    通过上述元知识构建和调用步骤,响应模组即可通过常规的配置手段实现原本需要编码介入业务操作调用,从而降低对话设计的难度。

    三、对话流

    现实中的对话往往比较复杂,需要考虑特定场景、语境上下文等多种因素,本方案采用可配置多轮对话流和自由组合-切换的设计,降低对话设计难度的同时达比较好的线上效果。

    (1)可配置的上下文多轮对话流

    单个对话流,形式如图4所示。

    构成:除开始节点以外,对话流由多个输入-输出模组组成的dag图。

    流程:图中的有向路径代表将来真实对话过程,以上图为例:

    开始节点代表一次对话的开始

    用户第一次输入的对话内容,通过输入模组的公共nlu组件,获得此次输入的意图和实体信息

    判定为意图1,则进入路径1来到输入模组1的填槽环节;同样,判定为意图2,则进入路径2来到输入模组2的填槽环节

    填槽(包括追问和确认过程)结束,若为路径1则进入响应模组1获取并发送回应信息;若为路径2则进入响应模组2获取并发送回应信息,注意一个输入模组后可跟随多个响应模组(如路径2)。

    路径2到响应模组3即结束(单轮对话),而路径1则在响应模组1后有三个分支(多轮对话),处理过程同上。

    流程中的路径分支、对话轮数、模组对应关系等均可配置。

    上下文处理:在真实对话过程中机器人可以“记忆”前若干轮的对话内容(如此前的输入内容、响应信息、已经填充的实体、槽位信息等等),从而可以在对话流的模组中结合以上信息动态处理,形成与上下文语境相符的响应内容。

    对话流组合:根据具体业务需求,所有对话过程可以配置到一个对话流中,也可以根据场景、主题等信息分别配置到多个对话流中,按需选择不同对话流参与最终对话模型训练,以达到复用目的。注意,无论单个还是多个对话流,最终都会合并到同一个对话网络中,以达到单个对话入口适应多个对话场景的效果。

    (2)对话模型

    对话流是一个场景下固定对话过程的诠释,而最终的线上对话模型不仅要处理正常的流程执行还需要考虑解决非预定路线及多个话题切换问题。本方案通过已配置的对话流为基础数据,训练对话模型,以实现上述目标。

    图5是对话模型训练过程。

    特征化

    方案以配置的对话流数据为基础,提取每一步的状态信息(包括状态位、事件、实体等)和响应信息,并对其进行数值转化,形成特征化的状态序列和响应序列。

    响应选择模型

    将特征化后的状态序列和响应序列进行映射并合并,形成响应选择模型。模型输入为当前对话状态序列,输出为下一步的响应,输入输出关系与对话流中的每个环节对应。

    响应预测模型

    将特征化后的状态序列和响应序列输入到神经网络进行训练,形成响应选择模型。与选择模型相同,预测模型输入为当前对话状态序列,输出为下一步的响应,不同点是,预测模型的输入输出关系是原本对话流中不存在的,而是通过神经网络训练得到的预测关系。

    (3)对话执行

    有了上述模型,则可以帮助系统解决前述的非预定路线及话题切换问题:

    正常及异常对话

    在正常对话(用户输入遵循预定对话流程)中,由响应选择模型引导用户完成整个对话流程。

    当对话进入异常路线时(用户未遵循预定对话流程),选择模型无法匹配到正确的下一步响应动作,此时由预测模型接管对话控制,并按照置信度给出预测响应,由系统选择执行,使得对话可以继续下去。

    自动话题转换(automatictopicchange,atc)

    话题(topic)是指对话流中某个独立的、完整的路径,本方案中用户可在对话过程中申请退出或转换话题,此时系统会借助响应选择模型判断用户意图,并获得下一步将要执行的响应动作

    在做出停止/切换话题前,系统会自动返回确认问句供用户最终决定(退出当前话题或退出并启动另一个话题),该模式可实现话题自由切换的同时避免话题意外退出。

    atc状态机如图6所示。

    有上述内容可知,本申请至少还可以实现如下技术效果:

    1,通过提出的全流程配置化的开发模式,极大降低了对话机器人的设计难度。

    2,发明中的对话输入模组设计方法,屏蔽了自然语言分析等专业知识,使得对话设计者可以与软件开发者独立工作,完成对话设计。

    3,发明中的对话响应模组设计方法,借助元知识体系,将各类操作映射到统一的请求服务上,使得对话设计可以更简洁灵活地对接业务操作。

    4,发明中的对话流设计方法,让对话设计更加直观清晰,对话模型支撑多轮对话、上下文关联、异常对话等处理过程,让复杂对话设计大为简化。

    本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

    本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。


    技术特征:

    1.一种面向场景配置的人机交互对话机器人系统,其特征在于,包括:输入模组、响应模组以及对话流;

    所述输入模组用来处理对话过程中来自用户或第三方输入内容,获得进行下一步动作及对话所需要的信息;

    所述响应模组用于实现不同的响应动作,包括返回文本回答、调用接口、执行命令中的至少一种;

    所述对话流由多个所述输入模组和响应模组构成,用于确定对话的走向,多个所述对话流通过训练最终形成完整的机器人对话模型。

    2.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述输入模组根据输入来源不同可分为用户输入模组和事件输入模组,其中,所述用户输入模组是终端用户发出的对话内容及其处理过程,所述事件输入模组是可自定义的事件信息及其处理过程。

    3.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述输入模组包括nlu处理单元,所述nlu处理单元根据获得的输入内容所携带的意图信息和实体信息,划分为意图识别和实体识别组件和填槽组件。

    4.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述输入模组包括自动实体验证单元、自动实体追问单元和自动槽位信息确认单元。

    5.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述响应模组还用于对webapi、数据库、文档以及知识库的封装,得到统一形式的对外接口。

    6.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述响应模组还包括:

    将对话中已填槽位与元知识请求参数进行数据绑定,绑定后响应模组将参数发送给响应请求地址等待回复。

    7.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述响应模组还包括:

    元知识调用成功后返回的数据格式与对话机器人终端展现样式的数据格式进行映射,映射后返回数据自动转换为所需格式转发给对话机器人终端使用。

    8.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述对话流包括可配置的上下文多轮对话流,具体包括:

    用户第一次输入的对话内容,通过输入模组的公共nlu组件,获得此次输入的意图和实体信息;

    判定为意图1,则进入路径1来到输入模组1的填槽环节;同样,判定为意图2,则进入路径2来到输入模组2的填槽环节;

    填槽结束,若为路径1则进入响应模组1获取并发送回应信息;若为路径2则进入响应模组2获取并发送回应信息,注意一个输入模组后可跟随多个响应模组;

    路径2到响应模组3即结束,而路径1则在响应模组1后有三个分支,处理过程同上。

    9.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,所述对话流根据前若干轮的对话内容,在对话流的模组中结合所述对话内容动态处理,形成与上下文语境相符的响应内容,其中,所述对话内容包括此前的输入内容、响应信息、已经填充的实体、槽位信息中的至少一种。

    10.根据权利要求1所述的面向场景配置的人机交互对话机器人系统,其特征在于,还包括:

    提取对话流中的状态信息和响应信息,并对其进行数值转化,形成特征化的状态序列和响应序列;

    将特征化后的状态序列和响应序列进行映射并合并,形成响应选择模型。模型输入为当前对话状态序列,输出为下一步的响应,输入输出关系与对话流中的每个环节对应;

    将特征化后的状态序列和响应序列输入到神经网络进行训练,形成响应选择模型,预测模型输入为当前对话状态序列,输出为下一步的响应。

    技术总结
    本申请实施例提供一种面向场景配置的人机交互对话机器人系统,包括:输入模组、响应模组以及对话流;所述输入模组用来处理对话过程中来自用户或第三方输入内容,获得进行下一步动作及对话所需要的信息;所述响应模组用于实现不同的响应动作,包括返回文本回答、调用接口、执行命令中的至少一种;所述对话流由多个所述输入模组和响应模组构成,用于确定对话的走向,多个所述对话流通过训练最终形成完整的机器人对话模型;本申请能够基于对话三元素各自设计及应用方法,极大降低了对话机器人的设计难度。

    技术研发人员:孙启明;汪利鹏;李侃;陈卓;李延明;郭显宽;胡鹏
    受保护的技术使用者:南京三眼精灵信息技术有限公司
    技术研发日:2020.12.14
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21675.html

    最新回复(0)