对话流程定制方法及装置与流程

文档序号:20694689发布日期:2020-05-12 14:48阅读:213来源:国知局
对话流程定制方法及装置与流程

本发明属于互联网技术领域,尤其涉及一种对话流程定制方法及装置。



背景技术:

随着语音技术的不断发展,对话流程被广泛应用在诸如智能客服和智能机器人等产品中,其通过与用户进行对话来满足用户需求。

图1示出了关于对话流程的一般工作过程,在配置有对话流程功能的定制客户端接收到用户语音之后,通过语音识别(automaticspeechrecognition,asr)技术来先将语音转换为相应的文本,并通过语音理解(naturallanguageunderstanding,nlu)技术来理解文本所对应的涵义或意图,进而通过对话管理(dialogmanagement,dm)模块依据流程内容来选择需要执行的系统行为。进一步地,如果这个系统行为需要和用户交互,那么语言生成(naturallanguagegenerating,nlg)模块会被触发以生成自然语言文本。最后,生成的语言由语音合成模块(texttospeech,tts)播报给用户。

因此,在对话流程中不仅涉及对话内容,在对话流程的实际应用场景中可能还需要依赖诸如nlu、nlg和asr之类的外部资源。

目前,对于对话流程中一些需要定制化开发的部分,比较直观的方式是在代码中直接修改或者做兼容处理。对于nlu等资源的管理和发布,让开发人员来进行直接和客户沟通和进行支持。在客户数量不甚多的时候,这种依赖人工处理和支持的做法是可行的,在客户数量和对话复杂度上升到一定程度后,人手就会严重不足,而且无法给客户提供足够的自由度,也很难实现私有化部署。

针对上述问题,目前业界暂无较佳的解决方案。



技术实现要素:

本发明实施例提供一种对话流程定制方法及装置,用于至少解决上述技术问题之一。

第一方面,本发明实施例提供一种对话流程定制方法,应用于定制服务端,所述方法包括:获取对话资源定制请求,所述对话资源定制请求包括对话资源定制信息;根据所述对话资源定制信息从预配置的对话资源库中确定目标对话资源,所述对话资源库包括asr资源集、nlu资源集、dm资源集、nlg资源集和tts资源集;以及发送所述目标对话资源,以使得定制客户端将所述目标对话资源配置到对话流程架构中以确定对话流程。

第二方面,本发明实施例提供一种对话流程定制方法,应用于定制客户端,所述方法包括:基于用户操作指令确定对话流程架构定制请求和对话资源定制请求;根据所述对话流程架构定制请求,确定对话流程架构;发送所述对话资源定制请求至定制服务端;从所述定制服务端接收响应于所述对话资源定制请求的目标对话资源;根据所述目标对话资源和所述对话流程架构,确定所述对话流程。

第三方面,本发明实施例提供一种对话流程定制装置,包括:资源定制请求获取单元,被配置为获取对话资源定制请求,所述对话资源定制请求包括对话资源定制信息;对话资源确定单元,被配置为根据所述对话资源定制信息从预配置的对话资源库中确定目标对话资源,所述对话资源库包括asr资源集、nlu资源集、dm资源集、nlg资源集和tts资源集;以及对话资源发送单元,发送所述目标对话资源,以使得定制客户端将所述目标对话资源配置到对话流程架构中以确定对话流程。

第四方面,本发明实施例提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法的步骤。

第五方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明实施例的有益效果在于:通过定制服务端来利用对话资源库中的已有的对话资源来配置对话流程,使得开发用户在定制对话流程时不需要掌握复杂的代码编程知识,并且产品用户可以自由设计满足自身需求的对话场景的对话流程,为用户定制对话流程提供了更多的自由度。此外,定制服务端仅充当对话流程设计工具的服务角色,而在定制服务端并不会得到对话流程,可以满足一些用户(例如,银行)私有化部署的要求,扩大了对话定制的应用场景。

附图说明

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

图1示出了关于对话流程的一般工作过程的一示例的示意图;

图2示出了根据本发明实施例的应用于定制服务端的对话流程定制方法的一示例的流程图;

图3示出了根据本发明实施例的对话流程定制方法的一示例的信号交互流程图;

图4示出了根据本发明实施例的应用于定制服务端的根据对话资源定制信息确定目标对话资源的一示例的流程图;

图5示出了根据本发明实施例的应用于定制客户端的优化对话流程的一示例的流程图;

图6示出了根据本发明实施例的对话流程定制周期的一示例的示意图;和

图7示出了根据本发明实施例的对话流程定制装置的一示例的结构框图。

具体实施方式

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

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本文中,术语“元素”可以表示用来描述数据或文件的数据,例如元素可以是元数据、被封装的索引数据等。术语“对话流程架构”可以表示对话流程的结构,例如可以表示多个顺序连接的流程节点。此外,“节点类型”可以表示在流程中起到不同功能或位于不同的特定位置的节点,例如节点类型可以是对话节点、开始节点、函数节点、填槽节点和跳转节点等。

图2示出了根据本发明实施例的应用于定制服务端的对话流程定制方法的一示例的流程图。

如图2所示,应用于定制服务端的对话流程定制方法200包括:

s210、获取对话流程定制请求,对话资源定制请求包括对话资源定制信息。

s220、根据对话资源定制信息从预配置的对话资源库中确定目标对话资源。这里,对话资源库包括asr资源集、nlu资源集、dm资源集、nlg资源集和tts资源集,并且一个资源集可以包括预配置的多个不同类别的资源。

在本实施例的一个示例中,对话资源定制信息可以包括节点类型,例如当用户在定制客户端构建架构而对某一节点类型的节点进行操作时,可以生成在对话资源定制信息中的节点类型。并且,在对话资源库中的各个对话资源也是与节点类型相对应的,例如可以是预先配置好的。进而,可以根据对话资源定制信息中的节点类型,在对话资源库中确定目标对话资源。示例性地,当对话资源定制信息中的节点类型为条件判断节点时,可以从对话资源库中调用nlu资源。

s230、发送目标对话资源,以使得定制客户端将目标对话资源配置到对话流程架构中以确定对话流程。这里,定制客户端可以在本地构建对话流程架构,并将目标对话资源与对话流程架构中的特定节点进行关联,例如各个节点应当使用对应的对话资源。

图3示出了根据本发明实施例的对话流程定制方法的一示例的信号交互流程图。具体地,该对话流程定制方法涉及在定制客户端10与定制服务端20之间的信号交互过程。

在步骤310中,用户(例如,没有掌握编程知识的非专业人员)启动定制客户端10,以期望构建用户所期望的对话场景的对话流程。

在步骤320中,定制客户端10向定制服务端20发送启动指令,启动指令可以包括用户信息。

在步骤330中,定制服务端20可以确定针对该用户信息可用的至少一个流程架构元素和至少一个对话资源元素。另外,可用的对话资源元素可以用来表示对话资源库中所有的或一部分的对话资源,以及可用的流程架构元素也可以用来表示所有或一部分类型的流程节点。示例性地,用户信息可以包括用户等级,并且所有类型的对话资源或流程节点可能也只会向部分高等级的用户(例如,付费用户)开放。

在步骤340中,根据用户信息发送可用的至少一个流程架构元素和至少一个对话资源元素至定制客户端10。这样,用户可以针对上述的可用的流程架构元素和对话资源元素进行选择和操作,以生成相应的用户操作指令。

进而,定制客户端10可以基于用户操作指令确定对话流程架构定制请求和对话资源定制请求。具体地,定制客户端10可以根据针对至少一个对话资源元素的用户操作指令来确定对话资源定制请求。另外,定制客户端10还可以根据针对可用的至少一个流程架构元素的用户操作指令来确定对话流程架构定制请求。在本实施例的一个示例中,对话流程定制请求还可以是通过多个用户交互指令来确定的,例如通过多次交互操作来实现的。

在步骤350中,展示关于可用的至少一个流程架构元素和至少一个对话资源元素的显示信息集。示例性地,可以根据各个元素生成相应的显示组件信息,例如“菱形”组件信息可以用来表示条件判断节点。

在步骤360中,获取用户操作指令,以确定对话流程架构定制请求和对话资源定制请求。具体地,可以获取针对显示信息集的用户操作指令,并根据该用户操作指令确定对话流程架构定制请求和对话资源定制请求。

在本实施例的一个示例中,开发用户可以通过对流程架构元素的显示信息进行拖拽或组合,并还可以进行内容编辑。另外,开发用户还可以通过将对话资源的显示信息进行操作以将对话流程架构中的节点与相应的对话资源请求关联。由此,实现了对话流程的可视化定制功能,可以提高对话流程的定制体验。

在步骤370中,定制客户端10发送对话资源定制请求至定制服务端20。

在步骤380中,定制客户端10根据对话流程架构定制请求,确定对话流程架构。例如,用户可以通过将各个节点类型的节点所对应的显示组件信息进行拖拽和组合,从而确定对话流程架构。

在步骤390中,定制服务端20根据对话资源定制请求确定目标对话资源。例如,关于目标对话资源的确定过程的更多细节,可以参照图2中的相关描述,在此便不赘述。

在步骤3100中,定制服务端20将目标对话资源发送至定制客户端10。

在步骤3110中,定制客户端10根据目标对话资源和对话流程架构确定对话流程。具体地,定制客户端10可以将目标对话资源配置至对话流程架构中的对应节点,从而确定相应的对话流程。

图4示出了根据本发明实施例的应用于定制服务端的根据对话资源定制信息确定目标对话资源的一示例的流程图。

作为本实施例的进一步的优化和公开,对话资源库中已有的对话资源可能并不能满足用户针对定制对话场景的个性化需求,例如还需要对资源进行修改。

如图4所示,在步骤410中,从对话资源库中调用与对话资源定制信息相对应的对话资源。

在步骤420中,获取资源配置请求。这里,资源配置请求包括资源配置信息。具体地,可以从用户的定制客户端10接收资源配置请求,也可以是由服务端的后台开发人员直接输入而进行配置的。在本实施例的一个示例中,资源定制信息可以包括代码维护信息。

在步骤430中,根据资源配置信息,对所调用的对话资源进行配置。例如,可以对所调用的对话资源的代码配置进行修改和完善,以满足用户的个性化场景的需求。

通过本实施例,可以满足针对定制开发场景或复杂对话场景的开发需求。具体地,在函数节点的编辑面板中,提供了便携函数/代码的功能,开发人员能直接通过写代码mock数据、访问api、处理数据并返回对话中。此外,此工具还提供了bot分享、树结构编辑器(带有表单验证validate功能)、日志分析(在node图形上直接显示呼叫次数、通话明细等数据)、知识定制等功能,可以支持更复杂对话的场景设计和可视化开发。

图5示出了根据本发明实施例的应用于定制客户端的优化对话流程的一示例的流程图。

如图5所示,在步骤510中,存储定制客户端在运行对话流程时所产生的历史对话操作数据。

进而,可以根据历史对话操作数据来配置对话流程

在步骤520中,在对话流程的节点上显示历史对话操作数据。

在步骤530中,获取用户优化操作,以生成针对该对话流程的优化配置指令。示例性地,既可以将对话流程架构中的各个节点进行优化,又还可以将对话流程中的对话资源进行优化配置,更多细节可以参照上面的实施例中的描述,在此便不赘述。

图6示出了根据本发明实施例的对话流程定制周期的一示例的示意图。

如图6所示,用户(可以是非专业人员或专业的开发人员)新建一个bot项目开始进行对话设计,可以拖拽和组合多种类型的节点(node)来设计对话流程架构。另外,还可以通过可视化的方式生成和管理nlu等外部资源,例如与定制服务端交互从而获取相应的资源,从而构建相应的对话流程。

然后,在对话流程完成之后,定制客户端可以通过测试面板测试发布bot进行模拟对话。并且,可以在测试之后再将对话流程进行修改和完善。同时,定制客户端还可以提供bot单步执行和调试功能,能保持上一轮对话的上下文,重复的执行单轮对话,直到符合用户要求。

最后,定制客户端可以利用bot实际执行的日志数据,在客户端上的图形节点上显示相应的数据。这样,可以帮助用户分析节点的跳转率、转人工率、对话明细等,便于用户分析和持续优化自己的对话流程设计。

本实施例中,可以基于bot-json的充分的格式定义,针对节点、nlu等分别提供了可视化功能和管理功能,能满足不同复杂度的对话场景的可视化设计、测试、调试和分析,提供给用户自主设计满足自身需求的任意对话场景的能力。

具体地,基于json约定和充分定义好bot-json的各个基本单元,将对话流程拆分成flow(一个flow包含任意个node)、node(一个对话类型的node表示一轮对话)、nlgtemplate(对应nlg资源)、nluintent(对nlu资源)、dialogintent(业务意图,基于nlu的封装层,一个业务意图可以映射多个nlu意图),node还包含了condition(判断节点如何跳转的条件)、transition(节点的跳转线路)。另外,node根据使用场景的不同还可以定义不同的类型(对话节点、开始节点、函数节点、填槽节点、nlg节点、跳转节点等),由此多样化的定义节点可以满足不同用户的不同复杂度的对话场景的需要。

具体地,关系图可视化部分使用了关系数据可视化引擎antv/g6作为关系图渲染引擎,辅以自定义的vue组件实现了节点编辑、节点搜索(在图形中定位到目标节点,并高亮显示)等功能。另外,整体ui的开发使用开源的vue及其相关的技术(路由vue-router、全局状态管理vuex),bot-json的存储在后端,整体的网络请求和异步操作设计成异步顺序执行,保证多人操作bot-json的情况下bot-json文件定义的完整性。针对node间跳转的条件,本可视化设计工具既提供了可视化的条件表达式编辑(支持变量、时间、槽位等不同元素),也支持手写javaspel表达式。针对node的条件跳转,提供了支持任意数量和嵌套层次的conditon组件。

进一步地,在使用nlu资源时,可以通过列表查询的方式直接引用既有的通用nlu资源,此工具提供了标注式的nlu定制方式。示例性地,用户可以输入若干例句,进行框选并标注出槽位,提供了能立即测试nlu的简易测试面板。此外,针对一些需要定制开发的场景,可以提供便携函数/代码的功能,更多细节可以参照上面实施例中的相关描述,在此便不赘述。

图7示出了根据本发明实施例的对话流程定制装置的一示例的结构框图。

如图7所示,对话流程定制装置700包括资源定制请求获取单元710、对话资源确定单元720和对话资源发送单元730。

资源定制请求获取单元710被配置为获取对话资源定制请求,所述对话资源定制请求包括对话资源定制信息。资源定制请求获取单元710的操作可以参照上面参考图2中的s210的描述。

对话资源确定单元720被配置为根据所述对话资源定制信息从预配置的对话资源库中确定目标对话资源,所述对话资源库包括asr资源集、nlu资源集、dm资源集、nlg资源集和tts资源集。对话资源确定单元720的操作可以参照上面参考图2中的s220的描述。

对话资源发送单元730发送所述目标对话资源,以使得定制客户端将所述目标对话资源配置到对话流程架构中以确定对话流程。对话资源发送单元730的操作可以参照上面参考图2中的s230的描述。

上述本发明实施例的装置可用于执行本发明中相应的方法实施例,并相应的达到上述本发明方法实施例所达到的技术效果,这里不再赘述。

本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

另一方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行如上的对话流程定制方法的步骤。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的定制客户端以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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