一种机器人多轮对话流程化配置方法与流程

文档序号:16811690发布日期:2019-02-10 13:43阅读:351来源:国知局
一种机器人多轮对话流程化配置方法与流程

本发明涉及智能对话机器人领域,具体而言,涉及一种机器人多轮对话流程化配置方法。



背景技术:

当前,受益于政策利好、资本推动以及需求推动,人工智能技术已进入前所未有的蓬勃发展时期,其中,智能对话机器人是人工智能技术发展的一个重要方向,现已广泛应用于多个领域,例如智能客服、智能家居、物联网等等。

于智能对话机器人技术中,行业内普遍采用问答知识库的形式,需要事先在问答知识库中存储问题以及与问题相对应的回答,当用户输入问题时,智能对话机器人根据该问题在问答知识库中检索出与该问题相对应的回答并将其反馈给用户,以实现人机对话,但是,这种采用问答知识库形式的智能对话机器人只能够支持一轮对话。当用户与智能对话机器人进行多轮对话时,智能对话机器人并不能根据多轮对话中包含的上下文信息向用户反馈回答,而是仅能够将每轮对话均单独视为一次独立对话,如此一来,当用户每轮对话时输入的问题之间没有关联时,智能对话机器人给出准确回答的几率较高,但是,当用户每轮对话时输入的问题之间有关联时,智能对话机器人极有可能无法识别出用户的真正意图而向其反馈错误或完全不相干的回答,进而降低用户使用意愿以及沟通效率。

在实际应用中,尤其是智能对话机器人应用于复杂的售前导购场景中时,用户初始输入的问题往往并不包含解决该问题需要的所有信息,从而导致智能对话机器人仅根据用户初始输入的问题无法向其返回准确的回答。例如,用户询问需要购买何种尺码的纸尿裤时,智能对话机器人只有在获知宝宝体重、商品种类(纸尿裤)这两个信息的前提下才能够向用户返回准确的回答,当用户初始输入的问题为“我家宝宝需要穿多大码的纸尿裤?”(不包含宝宝体重)、“20斤宝宝需要穿多大码?”(不包含商品种类)时,由于缺少必要信息导致智能对话机器人无法向用户返回准确的回答,此时,则应由智能对话机器人向用户主动发起提问,以获得向用户返回准确回答所需的必要信息。

另外,由于用户初始输入的问题的多样性,若对于每一种用户初始输入的问题一一配置智能对话机器人的所要发起的主动提问以及应答答案,即对于每一种用户初始输入的问题分别配置智能对话机器人的工作流程,其工作量将会相当大并且重复性高、对人员的技术要求也较高,因此,需要提供一种既能够根据用户初始输入的问题决定是否需要向用户主动发起提问以及确定提问内容,又能够降低这一过程配置难度和复杂度的方法。



技术实现要素:

本发明提供一种机器人多轮对话流程化配置方法,用以对智能对话机器人于多轮对话中的应答流程进行快速、高效的配置。

为达到上述目的,本发明提供了一种机器人多轮对话流程化配置方法,包括以下步骤:

s1:配置节点,节点包括多个功能节点、多个中间节点和多个系统节点,每一功能节点用于接收用户初始输入的问题并抽取其中的实体变量,若功能节点抽取到的实体变量是完整的,则进一步向用户返回一结果,若功能节点抽取到的实体变量不完整,则进一步统计缺少的实体变量,每一中间节点用于根据至少一个缺少的实体变量向用户发起提问,每一系统节点用于根据多轮对话的结果组建向用户返回的文案;

s2:配置流程,根据实际对话处理流程选择节点并建立节点之间的流程化联系。

在本发明的一实施例中,每一功能节点均包含一功能函数,每一功能函数均具有一函数名称,每一功能函数的参数均包括处理类和实体变量。

在本发明的一实施例中,处理类包括查询类、推荐类、获取类、活动类和售后类。

在本发明的一实施例中,所述实体变量为至少一个。

在本发明的一实施例中,每一系统节点均预设有一文案模板,文案模板包括完整模板和空缺模板,空缺模板具有至少一个空缺值,空缺值由实体变量和/或功能函数的返回值填充。

在本发明的一实施例中,至少一个系统节点能够直接转向人工服务。

在本发明的一实施例中,功能节点进一步包括一分支判断模块,于步骤s2中,分支判断模块根据该功能节点对应的实体变量的值和/或置信度判断该功能节点的下属分支走向。

在本发明的一实施例中,当该功能节点对应的实体变量的值满足一第一条件且置信度大于一阈值时,该功能节点的下属分支走向指向一系统节点;当该功能节点对应的实体变量的值不满足该第一条件或者置信度不大于该阈值时,该功能节点的下属分支走向指向一中间节点。

在本发明的一实施例中,置信度根据用户输入内容的语义确定性进行计算。

本发明提供的机器人多轮对话流程化配置方法能够对智能对话机器人于多轮对话中的应答流程进行快速、高效的配置,大大降低了配置过程的工作量和配置难度,根据这种方法对智能对话机器人进行配置后,智能对话机器人能够根据用户初始输入的问题中缺少的信息向用户主动发起提问,以识别出用户真正的意图并向其返回准确的回答,进而提高与用户的沟通效率和沟通满意度。

附图说明

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

图1为包括一个功能节点、多个中间节点和多个系统节点的一工作流程的示意图。

图2为“查询体重对应的纸尿裤/拉拉裤尺码”这一工作流程的示意图。

具体实施方式

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

本发明提供了一种机器人多轮对话流程化配置方法,其目的在于配置智能对话机器人的多个工作流程,图1为包括一个功能节点、多个中间节点和多个系统节点的一工作流程的示意图,其中“△”代表功能节点,“□”代表中间节点,“○”代表系统节点。这些工作流程应用于用户与智能对话机器人之间的交互时,步骤如下:

智能对话机器人接收到用户初始输入的问题后,首先根据该初始输入的问题判断用户的意图,以确定以哪一个“工作流程”作为入口,例如,“与纸尿裤有关的优惠活动”这一意图与“退货应如何办理”这一意图应使用不同的“工作流程”进行处理。确定所使用的“工作流程”后,进一步从用户初始输入的问题中抽取实体变量,根据抽取到的实体变量的不同确定“工作流程”下一步应执行哪一个分支。

一般而言,若抽取到的实体变量(本发明中,实体变量的含义为回答用户问题所需的全部必要信息)是完整的,则可直接向用户返回结果。例如,若用户询问“20斤的宝宝穿多大码的纸尿裤”,实体变量为“20斤”和“纸尿裤”,此时,实体变量是完整的,因此可以直接回答用户“20斤的宝宝穿l码的纸尿裤”(这一功能由功能节点实现,下文详述)。例如,若用户询问“20斤的宝宝穿多大码裤裤”(未告知是纸尿裤还是拉拉裤)、“我家宝宝穿多大码拉拉裤”(未告知宝宝体重),此时实体变量均不完整,对于“20斤的宝宝穿多大码裤裤”这一问题,需要进一步向用户发起提问“需要的是纸尿裤还是拉拉裤”,对于“我家宝宝穿多大码拉拉裤”这一问题,需要进一步向用户发起提问“咱家的宝宝体重是多少”。即对于实体变量不完整的情况,需要进一步通过“工作流程”中的后续分支分别处理,缺少的实体变量不同,则由不同的分支进行处理,当所有必要的实体变量均获取到后,才可以向用户返回结果。向用户发起提问的功能是通过中间节点实现的,向用户返回结果是通过系统节点实现的。

这些分支是在配置“工作流程”的过程中已配置好的,每一分支分别对应不同的实体变量再做进一步处理,例如,确定用户的意图为“与纸尿裤有关的优惠活动”后,智能对话机器人向用户返回了“现在有满减活动和打折活动”的中间处理结果,当用户再次输入“打折活动有哪些”时,对应“打折活动”的分支进一步对用户的输入进行处理,而当用户输入的是“满减活动现在有哪些”时,则应由对应“满减活动”的分支对用户的输入进行处理。每一分支下可能还再有分支,以对用户更细化的需求进行处理,最末端的分支处理完成后,由位于该末端分支处的系统节点向用户返回最终的处理结果。

本发明提供的机器人多轮对话流程化配置方法包括以下步骤:

s1:配置节点,节点包括多个功能节点、多个中间节点和多个系统节点,每一功能节点用于接收用户初始输入的问题并抽取其中的实体变量,若功能节点抽取到的实体变量是完整的,则进一步向用户返回一结果,若功能节点抽取到的实体变量不完整,则进一步统计缺少的实体变量,每一中间节点用于根据至少一个缺少的实体变量向用户发起提问,每一系统节点用于根据多轮对话的结果组建向用户返回的文案;

本发明中,节点是最基本的功能部件,每一功能节点、每一中间节点和每一系统节点均能够实现一相对应的“功能”。图1中示出的一个工作流程中仅使用了所有节点中的一个功能节点、几个中间节点和几个系统节点。

本实施例中,功能节点以下述方式实现其功能:

每一功能节点均包含一功能函数,每一功能函数均具有一函数名称,每一功能函数的参数均包括处理类和实体变量,处理类包括查询类、推荐类、获取类、活动类和售后类,实体变量为至少一个。

其中,函数名称以清楚简要的形式标明功能函数能够实现的功能,功能函数中的实体变量应包括与其功能相对应的所有实体变量。

处理类用于区分函数的功能属于哪一种类,以供配置人员正确的选择合适的功能节点,下表列出了处理类与功能节点的功能之间的关系:

例如,功能为“查询系列是否包含材质”的功能节点,其处理类为查询类,实体变量为系列和材质(从与用户的对话中抽取),函数名称为“查询系列是否包含材质”,功能函数的返回结果为包含或不包含。例如,“超薄”和“不超薄”是系列,吸水树脂是材质,超薄系列包含吸水树脂,非超薄系列不包含吸水树脂,所以当用户查询“超薄系列是否包含吸水树脂”时,功能函数的返回结果应是“包含”,但用户查询“非超薄系列是否包含吸水树脂”时,功能函数的返回结果应是“不包含”。

若功能节点抽取到的实体变量是完整的,可直接由系统节点向用户返回一结果,若功能节点抽取到的实体变量不完整,则进一步统计缺少的实体变量。例如,当用户输入的内容为“20斤宝宝需要穿多大的纸尿裤”时,这其中的“20斤”和“纸尿裤”就属于实体变量,并且实体变量是完整的,可直接由系统节点回答用户“20斤的宝宝穿l码的纸尿裤”。再例如,当用户输入的内容为“20斤宝宝需要穿多少码”时,这其中的“20斤”属于实体变量,并且缺少“品类”这一实体变量,此时系统节点统计出缺少的实体变量为“品类”,并由其下方的中间节点向用户发起“需要的是纸尿裤还是拉拉裤”的提问。

本实施例中,系统节点以下述方式实现其功能:

每一系统节点均预设有一文案模板,文案模板包括完整模板和空缺模板,空缺模板具有至少一个空缺值,空缺值由实体变量和/或功能函数的返回值填充。

由于系统节点是在多轮对话结束时向用户返回交互结果,因此,本实施例中选择以文字信息的形式向用户返回交互结果,在其他实施例中,也可以选择将文字转换为声音,以声音的形式向用户返回交互结果。

当向用户返回的结果与实体变量和/或功能函数的返回值无关时,可以采用一确定内容的模板,即完整模板向用户返回交互结果,例如,当智能对话机器人无法回答用户问题时,可以设置完整模板的内容为“正在转接人工服务,请稍候”。或者,当用于输入的问题为“50斤宝宝需要穿多大码的纸尿裤”时,由于“50斤”超出了最大尺码的纸尿裤对应的宝宝体重值,此时可以设置完整模板的内容为“未查询到该体重对应的纸尿裤尺码”。

当向用户返回的结果与实体变量和/或功能函数的返回值有关时,可以采用空缺模板,例如,对于用户输入的“xx斤(不超过最大尺码的纸尿裤对应的宝宝体重值)的宝宝需要穿多大码纸尿裤”,可以设置空缺模板为“【xx】斤的宝宝可以穿【yy】码的纸尿裤”,此空缺模板中,【xx】为用户输入的数值,也是功能函数中的实体变量,【yy】即功能函数的返回值。可以看出,对于用户输入的这一问题,在识别用户的意图后,应采用“查询类”中的“查询符合特定体重的纸尿裤”这一功能函数进行处理,以得到yy的具体数值。

另外,本实施例中,至少一个系统节点能够直接转向人工服务,以在智能对话机器人无法答复用户提问时转由人工为用户进行服务,以提升用户体验。此时,能够直接转向人工服务的系统节点应与智能客服系统中的人工服务系统建立有效连接,以及时处理用户请求。

本实施例中,为了使功能节点能够根据实体变量是否完整进行不同的处理,功能节点进一步包括一分支判断模块,于步骤s2中,分支判断模块根据该功能节点对应的实体变量的值和/或置信度判断该功能节点的下属分支走向。当该功能节点对应的实体变量的值满足一第一条件且置信度大于一阈值时,该功能节点的下属分支走向指向一系统节点;当该功能节点对应的实体变量的值不满足该第一条件或者置信度不大于该阈值时,该功能节点的下属分支走向指向一中间节点。

例如,当一功能节点已判断用户的意图为“购买适合xx体重的纸尿裤”时,分支判断模块根据该用户的意图中包含的体重信息决定该功能节点的下属分支走向,当分支判断模块判断“体重”这一实体变量的值不等于空(“体重不等于空”为第一条件)且置信度大于60%(60%为阈值)时,则进入“根据体重查询合适的纸尿裤尺码”这一分支指向的系统节点,由该系统节点向用户返回需要购买何种尺码的纸尿裤;当分支判断模块判断体重为空(不满足第一条件)或者置信度不大于60%时,则进入一中间节点,由该中间节点向用户发出提问“宝宝的体重是多少”。

上述阈值的值还可以根据实际需要设置为其他值,具体取值由交互设计人员自行配置。其中,置信度例如可以根据用户输入内容的语义确定性进行计算,语义确定性的计算方法可以由交互设计人员自行定义,与可以采用现有的语义确定性计算方法进行计算。

s2:配置流程,根据实际对话处理流程选择节点并建立节点之间的流程化联系。

配置流程就是根据实际对话处理流程选择相应功能的节点,并建立节点之间的流程化联系,也即从所有节点中选择出合适的节点并设定图1中的节点之间的箭头指向,以使得节点能够根据其自身的处理结果决定下一步应由哪一节点进行后续处理。于配置每一工作流程时,需要明确功能节点对应的用户的意图,再根据实际对话处理流程中可能出现的分支情况选择下方的中间节点和系统节点,并设置节点之间的流程化联系。于实际中,这一步骤可以通过计算机编程实现,也可以于配置平台中实现,例如,可以于bot设计平台中配置完成多个功能节点、多个中间节点和多个系统节点,步骤s2即可以通过拖拽节点和在节点之间设置连线的方式完成步骤s2。

图2为“查询体重对应的纸尿裤/拉拉裤尺码”这一工作流程的示意图,如图2所示,功能节点a用于从与用户的对话中抽取实体变量“体重”和“品类”,当从用户的对话中能够同时抽取到“体重”(例如20斤)和“品类”(例如拉拉裤)时,则执行右侧分支,由系统节点f直接给出对应的尺码,此前已将系统节点f的空缺模板配置好,功能节点f查询到20斤宝宝对应的纸尿裤尺码(l码)后,根据空缺模板中需要填充的内容即可向用户返回“20斤的宝宝可以穿l码的纸尿裤”的结果。当从用户的对话中未抽取到“体重”和/或“品类”时,则执行左侧的分支,其中,分支l1为“体重”和“品类”均未抽取到时的执行分支,分支l2为“品类”抽取到时的执行分支,功能节点b的作用为抽取“体重”,若不能从与用户的对话中抽取到,则转而向用户发问“宝宝的体重是多少”,分支l1由于未抽取到的还有“品类”,则由功能节点c继续向用户发问“你想要的是拉拉裤还是纸尿裤啊”,当“品类”和“体重”均获取到时,由系统节点d、e向用户返回结果。其中,功能节点b和功能节点c可以合并,以减少向用户发问的次数,通过一次发问获取到“体重”和“品类”。

本发明提供的机器人多轮对话流程化配置方法能够对智能对话机器人于多轮对话中的应答流程进行快速、高效的配置,大大降低了配置过程的工作量和配置难度,根据这种方法对智能对话机器人进行配置后,智能对话机器人能够根据用户初始输入的问题中缺少的信息向用户主动发起提问,以识别出用户真正的意图并向其返回准确的回答,进而提高与用户的沟通效率和沟通满意度。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1