CN114969299A - 一种对话管理方法、装置、计算机设备和存储介质 - Google Patents
一种对话管理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114969299A CN114969299A CN202210723432.XA CN202210723432A CN114969299A CN 114969299 A CN114969299 A CN 114969299A CN 202210723432 A CN202210723432 A CN 202210723432A CN 114969299 A CN114969299 A CN 114969299A
- Authority
- CN
- China
- Prior art keywords
- state
- node
- robot
- user
- state machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种对话管理方法、装置、计算机设备和存储介质,通过获取用户发出的语音流数据,并根据语音流数据确定出初始用户意图。在确定了初始用户意图后,可以根据初始用户意图获取目标状态机流程图。然后通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行目标状态机流程图,确定初始用户意图的答复结果。由于目标状态机流程图由状态机的流程控制,仅包括了三个状态节点,可以通过用户说状态节点触发,经由一系列机器人思考状态节点,最终会流转到某一个机器人说状态节点上进行应答通过问答的形式完全实现,执行逻辑简单,且与运营侧平台发布的复杂节点构成的流程图完全解耦,简化了运营维护复杂度。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种对话管理方法、装置、计算机设备和存储介质。
背景技术
近几年来随着语音识别和口语理解等相关技术的不断发展和提升,语音交互愈来愈多的应用于人机对话中。其中,多轮对话是人机对话的核心能力,机器人可以通过多轮对话确定初始用户意图并进行槽位填充,从而做出准确应答。
目前多轮对话管理方式通常采用流程图控制方式。机器人侧需要针对运营侧发布的各个具有不同初始用户意图对应的流程图,配置各个节点对应的执行逻辑,以使机器人侧在确定了目标初始用户意图后,可按照配置好的各个节点对应的执行逻辑执行对应动作,完成人机对话。具体地,各个节点对应的执行逻辑包括填槽节点对应的执行逻辑,例如,机器人侧在确定了目标初始用户意图后,先按照目标初始用户意图对应的填槽节点执行逻辑进行填槽,得到完整用户意图,再基于完整用户意图,按照其他节点对应的执行逻辑确定出完整用户意图对应的答复结果。
然而,现有的多轮对话管理方式存在执行逻辑复杂度高的问题。
发明内容
本申请实施例提供了一种对话管理方法、装置、计算机设备和存储介质,能够简化对话管理方法步骤,降低多轮对话管理方式的执行复杂度。
第一方面,本申请实施例提供一种对话管理方法,包括:
获取用户发出的语音流数据,并根据语音流数据,确定初始用户意图;
根据初始用户意图,获取目标状态机流程图,其中,目标状态机流程图由用户说状态节点、机器人思考状态节点及机器人说状态节点组成;
通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行目标状态机流程图,确定初始用户意图的答复结果。
在一种可行的实现方式中,目标状态机流程图的生成方式,包括:
根据初始用户意图,获取运营侧平台发布的多个初始对话逻辑流程图,其中,每个初始对话逻辑流程图包括第一类节点和非第一类节点,第一类节点为用户说节点、机器人思考节点、机器人说节点中任意一个节点;
针对各初始对话逻辑流程图,筛选非第一类节点;
通过编译装置采用预设的转换规则,将非第一类节点进行转换,生成对应的状态子流程,并将第一类节点转换为状态节点;状态节点为用户说状态节点、机器人思考状态节点、机器人说状态节点中的任意一个节点;
通过编译装置将状态子流程和状态节点按照预设的拼接规则进行拼接,生成对应的目标状态机流程图。
在一种可行的实现方式中,非第一类节点包括填槽节点;
通过编译装置采用预设的转换规则,将非第一类节点进行转换,得到对应的状态子流程,包括:
通过编译装置获取填槽节点中的各个填槽属性;
通过编译装置根据各填槽属性,将填槽节点转换为各填槽属性对应的执行逻辑流程;执行逻辑流程由用户说状态节点、机器人思考状态节点、机器人说状态节点组成;
通过编译装置将各执行逻辑流程按照预设的组合顺序进行组合,生成状态子流程。
在一种可行的实现方式中,执行逻辑流程包括:
机器人思考状态节点获取初始用户意图,判断是否执行填槽操作;
若是,则机器人思考状态节点向机器人说状态节点发送填槽指令;
机器人说状态节点根据填槽指令播放填槽属性信息;
用户说状态节点获取用户基于填槽属性信息答复的用户反馈信息;
机器人思考状态节点收集用户反馈信息并将用户反馈信息填充至待填充槽位中的目标槽位;
机器人思考状态节点判断待填充槽位是否全部完成填充,若否,则跳转至下一执行逻辑流程,直至待填充槽位全部填充,生成完整用户意图,并将完整用户意图发送至机器人说状态节点。
在一种可行的实现方式中,将各执行逻辑流程按照预设的组合顺序进行组合,生成状态子流程,包括:
获取各填槽属性的重要度,基于填槽属性的重要度确定各填槽属性的对话优先级;
根据各填槽属性的对话优先级,将各执行逻辑流程组合,生成状态子流程。
在一种可行的实现方式中,通过编译装置将状态子流程和状态节点按照预设的拼接规则进行拼接,得到目标状态机流程图,包括:
通过编译装置根据各初始对话逻辑流程图中第一类节点和非第一类节点的拼接顺序,将状态子流程和状态节点拼接,生成目标状态机流程图。
在一种可行的实现方式中,通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行所述目标状态机流程图,确定初始用户意图的答复结果,包括:
通过状态机控制状态节点获取初始用户意图,并将初始用户意图发送至状态子流程;
通过状态机控制状态子流程根据初始用户意图,生成完整用户意图并发送至状态节点;
通过状态机控制状态节点播放完整用户意图并获取用户基于完整用户意图答复的确认反馈信息,生成答复结果。
在一种可行的实现方式中,对话管理方法还包括:
判断至少两个目标状态机流程图中的至少一个状态子流程是否相同;
若是,则将至少两个目标状态机流程图进行合并,得到组合状态机流程图作为新的目标状态流程图,其中,组合状态机流程图中,至少两个目标状态机流程图共用至少一个状态子流程。
第二方面,本申请实施例提供一种对话管理装置,包括:
语音流数据获取模块,用于获取用户发出的语音流数据,并根据语音流数据,确定初始用户意图;
流程图获取模块,用于根据初始用户意图,获取目标状态机流程图,其中,目标状态机流程图由用户说状态节点、机器人思考状态节点及机器人说状态节点组成;
答复结果确定模块,用于根据目标状态机流程图,确定初始用户意图的答复结果。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一项实施例中方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一项实施例中方法的步骤。
本申请实施例提供的对话管理方法、装置、计算机设备和存储介质,通过获取用户发出的语音流数据,并根据语音流数据确定出初始用户意图。在确定了初始用户意图后,可以根据初始用户意图获取由用户说状态节点、机器人思考状态节点及机器人说状态节点组成的目标状态机流程图。然后通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行目标状态机流程图,确定初始用户意图的答复结果。由于目标状态机流程图中仅包括了三个状态节点,流程可以通过用户说状态节点触发,经由一系列机器人思考状态节点,最终会流转到某一个机器人说状态节点上进行应答通过问答的形式完全实现,执行逻辑简单。另外,相比于现有技术,本申请实施例的对话管理方式所采用的目标状态机流程图与运营侧平台发布的复杂节点构成的流程图完全解耦,无需针对现有技术中每一类不同的节点分别实现逻辑,仅需维护一套基于目标状态机的流程逻辑,简化了运营维护复杂度。
附图说明
图1为现有技术流程图的结构示意图;
图2是本申请实施例提供的一种对话管理方法的应用环境示意图;
图3是本申请实施例提供的一种对话管理方法的流程图;
图4是本申请实施例提供的一种目标状态机流程图的生成方式的流程图;
图5是本申请实施例提供的一种目标状态机流程图的生成方式中步骤206的其中一种流程图;
图6是本申请实施例提供的一种执行逻辑流程的一种流程图;
图7是本申请实施例提供的另一种目标状态机流程图的生成方式的流程图;
图7a是本申请实施例提供的另一种对话管理方法的流程图;
图8是本申请实施例提供的一种对话管理方法中步骤106的一种流程图;
图9是本申请实施例提供的一种对话管理方法的其中一种流程示意图;
图10是本申请实施例提供的一种对话管理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
随着智能语音和自然语言处理等相关技术的不断进步,语音对话***在性能和用户体验方面有了长足的提升。不同于传统的键盘、鼠标、触摸等人机界面,语音对话***更加贴近人类的真实交互方式,对使用者的技术要求较低。
语音对话***的应用场景非常广泛,早期主要被用于电话自动客服***,例如航班、酒店预订等。在车载等不方便使用双手的场景中,语音对话也是最为合适的交互方式。近几年来移动互联网浪潮的到来,以及智能手机和平板电脑等移动设备的普及,使得语音对话***再一次得到了广泛的应用。这些应用依托于移动设备操作***,可以帮助人们完成发送短信、拨打电话和定制日程等操作。目前以智能手表、智能眼镜等为代表的可穿戴设备得到了业界的广泛关注,这些可穿戴设备与手机和平板的最大不同之处是其屏幕通常较小,不便于通过触摸的方式进行操作,这就使得语音交互在这些设备上成为了刚性需求。
其中,多轮对话是人机语音交互的核心能力,计算机设备通过多轮对话了解用户的意图确认及槽位填充,进而做出准确应答。目前多轮对话的管理,通常使用流程图控制的方式,例如,可以采用预先根据运营侧发布的用户意图流程图绘制的对应的TaskFlow流程图控制逻辑并存储在计算机设备中。在TaskFlow流程图中,一般包括接口(API)节点、填槽(SLOTS)节点、脚本(SCRIPT)节点、回复(NLG)节点以及判断(JUDGE)节点等多个节点。
其中,API接口节点:用于在对话流程中通过远程调用获取业务信息。通过配置远程服务的统一资源***(Uniform Resource Locator,简称URL)、接口入参(key-value格式)和出参即可创建一个API接口节点。
SLOTS填槽节点:用于在执行对话流程中收集槽位信息(即需要向用户收集的关键信息),通过NLU赋能进行多槽位填槽。在对话流程执行过程中,SLOTS填槽节点通过不断遍历所有槽位,当找到未填充槽位时,将该槽位对应的澄清话术输出给TTS(Text To Speech,从文本到语音),用户在TTS语音的引导下输入信息,并通过NLU实体根据用户输入信息抽取用户意图后,通过SLOTS填槽节点对该未填充槽位进行填充。
SCRIPT脚本节点:用于在对话流程执行过程中通过内嵌的脚本(例如groovy语言编译的脚本)获取对话状态信息,并对对话状态信息进行控制修改,实现对话进程的定制化需求。
NLG回复节点:用于在对话流程执行过程中通过模板化的方式,赋予动态变化的数据,生成回复话术。句子模板包括若干个含有变量的短句,变量由数据信息动态地保持更新,并由相关业务规则进行生成,最终拼接为结构良好的完整话术。
JUDGE判断节点:用于在对话流程执行过程中根据配置的条件表达式控制对话流程的走向。JUDGE判断节点支持配置多个具有优先级的条件表达式,条件表达式支持的变量由当前对话状态信息提供,节点运行时,根据优先级执行条件表达式,如果条件表达式的值为真,则控制对话流程的走向跳转至该分支并继续执行对话流程。
计算机设备可以根据用户意图,获取存储装置内对应的流程图,执行流程图内容对应节点逻辑,实现人机交互,如图1所示。图1为现有技术中一种用户意图对应的流程图的结构示意图。在现有技术的流程图中,包括了用户说节点、填槽节点、机器人说节点以及机器人思考节点。而针对填槽节点,开发人员需要配置包括槽位预测、命名实体填充等多重执行逻辑。执行逻辑复杂度较高。若存在一个其他个性化节点,开发人员还要基于不同的个性化节点配置对应的执行逻辑,整个流程图中的各个节点不同,针对各个节点的执行逻辑相对较为复杂。
基于此,本申请提供了一种对话管理方法,可以应用于如图2所示的应用环境中。其中,计算机设备102分别通过网络与运营侧平台的服务器104和用户11进行通信。计算机设备102可以获取用户发出的语音流数据并确定初始用户意图,然后根据初始用户意图,获取计算机设备中存储的仅由用户说状态节点、机器人思考状态节点及机器人说状态节点组成目标状态机流程图,确定初始用户意图的答复结果。其中,目标状态机流程图是通过将运营侧平台对应的服务器104发布的流程图进行转换后的得到的。
其中,计算机设备102可以但不限于是手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、触控电视、对讲机、上网本、销售点(Point of sales,POS)机、个人数字助理(personal digital assistant,PDA)、可穿戴设备、虚拟现实设备、无线U盘、蓝牙音响/耳机/眼镜、车载前装、行车记录仪、安防设备等移动或固定终端。
服务器104可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(Virtual Private Server,简称VPS)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式***的服务器,或者是结合了区块链的服务器。可以理解,该服务器可以是百度服务器、360服务器、搜狗服务器等任意网址的服务器。
本申请实施例提供一种对话管理方法、装置、计算机设备和存储介质,通过获取用户发出的语音流数据,并根据语音流数据确定出初始用户意图。在确定了初始用户意图后,可以根据初始用户意图获取由用户说状态节点、机器人思考状态节点及机器人说状态节点组成的目标状态机流程图。然后根据目标状态机流程图,确定初始用户意图的答复结果。由于目标状态机流程图,是由状态机的流程控制,状态机仅包括了三个状态节点,流程可以通过用户说状态节点触发,经由一系列机器人思考状态节点,最终会流转到某一个机器人说状态节点上进行应答通过问答的形式完全实现,执行逻辑简单,且与运营侧平台发布的复杂节点构成的流程图完全解耦,简化了运营维护复杂度,即仅需维护一套基于状态机的流程逻辑,无需针对现有技术中每一类不同的节点分别实现逻辑。
以下结合附图对本申请实施例的对话管理方法、装置、计算机设备和存储介质进行详细说明。
图3是本申请实施例提供的一种对话管理方法的流程示意图。参照图3所示,本申请实施例提供一种对话管理方法。
需要说明的是,本申请实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的电子设备包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***、大型计算机***和包括上述任何***的分布式云计算技术环境等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
具体地,该对话管理方法包括以下步骤:
S102,获取用户发出的语音流数据,并根据语音流数据,确定初始用户意图。
其中,语音流数据为用户发出的语音通过录音设备采集的文件。
具体地,当用户和计算机设备进行语音交互时,当用户发出语音指示后,则可以通过录音设备采集到该语音指示,并存储为语音流数据。计算机设备可以通过对语音流数据进行意图识别,确定出初始用户意图。例如,用户向计算机设备发出:“我想要进行查话费”的语音指示。计算机设备对该语音指示进行意图识别,可以得到查话费的初始用户意图。
S104,根据初始用户意图,获取目标状态机流程图,其中,目标状态机流程图由用户说状态节点、机器人思考状态节点及机器人说状态节点组成。
其中,目标状态机流程图是通过状态机控制的流程图。在目标状态机流程图中仅包括用户状态节点,机器人思考状态节点和机器人说状态节点。
具体地,根据初始用户意图可以在计算机设备的数据库中查找与初始用户意图对应的目标状态机流程图。
需要说明的是,用户说节点用于获取用户发出的相关语音流数据。机器人思考节点用于执行条件判断、API接口调用、信息收集等操作。机器人说节点用于配置设备回复信息。
图4是本申请实施例提供的一种目标状态机流程图的生成方式的流程图。参照图4所示,在一种可实现的示例中,目标状态机流程图的生成方式,包括:
S202,根据初始用户意图,获取运营侧平台发布的对应多个初始对话逻辑流程图,其中,每个初始对话逻辑流程图包括第一类节点和非第一类节点,第一类节点为用户说节点、机器人思考节点、机器人说节点中任意一个节点。非第一类节点为除第一类节点以外的其他节点,例如,非第一类节点包括填槽节点、脚本执行节点、转人工节点等任意一个节点,在此不加以限制。
其中,初始对话逻辑流程图为运营侧平台根据不同的初始用户意图构造的对应的各个对话逻辑流程图。在初始对话逻辑流程图中可以包括用户说节点、机器人思考节点、机器人说节点中任意一个节点的第一类节点,以及除第一类节点外的非第一类节点。
具体地,开发人员可以根据不同的用户意图开发不同用户意图对应的初始对话逻辑流程图,并进行发布。计算机设备可以订阅运营侧平台发布初始对话逻辑流程图,即获取到初始对话逻辑流程图。
S204,针对各初始对话逻辑流程图,筛选非第一类节点。
具体地,当得到了各个初始对话逻辑流程后,对各个对话逻辑流程图进行筛选,确定出各个对话逻辑流程图中的非第一类节点。
S206,通过编译装置采用预设的转换规则,将非第一类节点进行转换,生成对应的状态子流程,并将第一类节点转换为状态节点;状态节点为用户说状态节点、机器人思考状态节点、机器人说状态节点中的任意一个节点。
其中,预设的转换规则为将非第一类节点转换包括状态节点,并将第一类节点转换为状态节点的预设规则。其中,状态子流程为通过状态节点构成的执行逻辑流程。编译装置可以为机器人侧内部的编译转换程序产品。
具体地,可以通过编译装置采用预设的转换规则将筛选出的非第一类节点进行转换,生成能够实现非第一类节点对应的执行逻辑的状态子流程。并将第一类节点转换为状态机对应的状态节点。
可选地,在状态节点的用户说节点后可以添加一个机器人思考节点,用户判断用户回答的用户反馈信息是否可以被识别,若无法被识别,则触发机器人说状态节点发出拒识指令。
在一些示例中,图5是目标状态机流程图的生成方式中步骤206的其中一种流程图,如图5所示,非第一类节点包括填槽节点;通过编译装置采用预设的转换规则,将非第一类节点进行转换,得到对应的状态子流程,包括:
S2062,通过编译装置获取填槽节点中的各个填槽属性。
其中,填槽节点用于收集用户意图槽位信息。
具体地,运营侧平台发布初始对话逻辑流程中的填槽节点中包括有各个需要进行填槽的填槽属性(槽位信息),通过对填槽节点中的槽位信息进行查找,即可得到用户意图槽位信息。示例地,填槽节点中的语意槽格式为:
根据上述语意槽格式,可以获取到槽位信息为:电影名、电影院名称、时间、数量、座位位置。
S2064,通过编译装置根据各填槽属性,将填槽节点转换为各填槽属性对应的执行逻辑流程;执行逻辑流程由用户说状态节点、机器人思考状态节点、机器人说状态节点组成。
具体地,当得到各填槽属性后,对应各个填槽属性,转换为仅包括用户说状态节点、机器人思考状态节点、机器人说状态节点的执行逻辑流程,即简化现有技术的多类型节点。
图6是本申请实施例提供的一种执行逻辑流程的一种流程图。如图6所示,作为一种可实现的实施例,执行逻辑流程的步骤包括:
S2064a,机器人思考状态节点获取初始用户意图,判断是否执行填槽操作。
具体地,机器人思考状态节点获取初始用户意图后,判断是否执行填槽操作。可选地,可以在获取到初始用户意图后进行一次槽位校验,判断待填充槽位是否填充,若未填充,则进行填槽操作。
S2064b,若是,则机器人思考状态节点向机器人说状态节点发送填槽指令。
具体地,若要进行填槽操作,则机器人思考状态节点像机器人说状态节点发送填槽指令,以指示机器人说状态节点根据填槽指令播放填槽属性信息。
S2064c,机器人说状态节点根据填槽指令播放填槽属性信息。
具体地,当机器人说状态节点接收到填槽指令后,则可以根据预先设置填槽属性信息进行播放。例如,当初始用户意图为查话费,则当机器人说状态节点接收到填槽指令后,可以播放请问查询的号码是什么的填槽属性信息。也可以播放查询的时间区间是什么。查询的话费详情是什么等。
S2064d,用户说状态节点获取用户基于填槽属性信息答复的用户反馈信息。
具体地,当用户听到机器人说节点播放的填槽属性信息后,基于该填槽属性信息进行回答,此时,用户说状态节点获取用户回答的用户反馈信息。例如,查询的号码是177xxxxxxxx。
S2064e,机器人思考状态节点收集用户反馈信息并将用户反馈信息填充至待填充槽位中的目标槽位。
具体地,机器人思考状态节点收集用户反馈信息后,将用户反馈信息填充至待填充槽位中的目标槽位中。
S2064f,机器人思考状态节点判断待填充槽位是否全部完成填充,若否,则跳转至下一执行逻辑流程,直至待填充槽位全部填充,生成完整用户意图。
具体地,当用户反馈信息填充至目标槽位后,机器人思考状态节点可以进行槽位校验,判断待填充槽位是否填充完全,若存在未填充的槽位,则重新判断是否进行填槽,进而进入下一个目标槽位的填充,即机器人说节点根据填槽指令播放未填充槽位对应的槽位属性信息,直至待填充槽位均完成填充,进而生成完整用户意图。
在本申请实施例中,可以通过机器人思考状态节点获取初始用户意图,判断是否执行填槽操作并在需要填槽的情况下,机器人思考状态节点向机器人说状态节点发送填槽指令。进而机器人说状态节点根据所述填槽指令播放填槽属性信息,户说状态节点获取用户基于填槽属性信息答复的用户反馈信息。然后机器人思考状态节点收集用户反馈信息并将用户反馈信息填充至待填充槽位中的目标槽位,机器人思考状态节点判断待填充槽位是否全部完成填充,若否,则跳转至下一执行逻辑流程,直至所述待填充槽位全部填充,最终生成完整用户意图。
显然,执行逻辑流程中仅包括了三种状态节点,用户说状态节点、机器人思考状态节点、机器人说状态节点。也即将用现有技术的初始对话逻辑流程图中的多类型节点进行简化,执行逻辑简单,仅为一问一答填充,而非现有技术中填槽节点对应的包括槽位预测、追问话术、歧义澄清话术等的复杂执行流程,降低了执行逻辑的复杂度。
另外,在后续的运营维护时,仅需要维护一套基于状态机的流转逻辑,无需针对不同类型的节点分别实现维护逻辑。
S2066,通过编译装置将各执行逻辑流程按照预设的组合顺序进行组合,生成状态子流程。
其中,预设的组合顺序可以为根据填槽属性的优先级进行排序得到的组合顺序,也可以是根据随意组合的默认组合顺序进行排序,在此不加以限制。
具体地,当根据各个填槽属性生成对应的执行逻辑流程后,按照预设的组合顺序将各个执行逻辑流程进行组合拼接,得到状态子流程。
在一些示例中,将各执行逻辑流程按照预设的组合顺序进行组合,生成状态子流程,包括:
S2066a,通过编译装置获取各填槽属性的重要度,基于填槽属性的重要度确定各填槽属性的对话优先级。
S2066b,通过编译装置根据各填槽属性的对话优先级,将各执行逻辑流程组合,生成状态子流程。
具体地,填槽节点中的各填槽属性的语意槽设计一般是按照填槽属性的重要度进行设计的,因此,可以根据语意槽设计的顺序作为各填槽属性的重要度。或者,在语意槽设计的过程中存在设计填槽属性重要度的标识。则可以根据初始对话逻辑流程图获取各填槽属性的重要度。根据各填槽属性的重要度则可以确定各填槽属性的对话优先级。
当确定了对话优先级后,则可以将执行逻辑组合按照对话优先级进行拼接组合,生成状态子流程。
在本申请实施例中,通过获取各填槽属性的重要度,基于填槽属性的重要度确定各填槽属性的对话优先级,根据各填槽属性的对话优先级,将各执行逻辑流程组合,生成状态子流程,能够生成更具有逻辑性的对话逻辑,使得生成的状态子流程的结构更加合理。
S208,通过编译装置将状态子流程和状态节点按照预设的拼接规则进行拼接,生成对应的目标状态机流程图。
具体地,编译装置根据各初始对话逻辑流程图中第一类节点和非第一类节点的拼接顺序,将状态子流程和状态节点拼接,生成目标状态机流程图。
在另一些示例中,由于不同用户意图的目标状态机流程图中可能存在相同的状态子流程,因此,可以在生成目标状态机流程图后进一步将相同的状态子流程进行合并,以生成新的目标状态机流程图,图7是本申请实施例提供的另一种目标状态机流程图的生成方式的流程图如图7所示,对话管理方法还包括:
S108,判断至少两个目标状态机流程图中的至少一个状态子流程是否相同。
S110,若是,则将至少两个目标状态机流程图进行合并,得到组合状态机流程图作为新的目标状态流程图,其中,组合状态机流程图中,至少两个目标状态机流程图共用至少一个状态子流程。
具体地,对生成的至少两个目标状态机流程图中的状态子流程进行比对,若存在状态子流程中存在重合,则将两个目标状态机流程进行合并,即两个目标状态机流程共用同一个状态子流程执行相同的执行逻辑流程。
例如,两个目标状态机流程图分别为订酒店和订机票。其中,订酒店的目标状态机流程图中包括用户说状态节点获取初始用户意图(订酒店),将订酒店意图发送至状态子流程中的机器人思考状态节点,判断是否进行填槽,若是,则将填槽指令发送至机器人说状态节点询问第一个填槽属性,“用户姓名是什么”。用户说状态节点获取用户基于填槽属性的用户反馈信息“张三”。机器人思考状态节点将用户反馈信息填充至目标槽位中,机器人思考状态节点进行槽位校验,判断待填充槽位是否填充完成,若未填充完成则进入下一执行逻辑流程,进行槽位填充,直至机器人思考状态节点得到完整用户意图,并进行播放,例如,订票人信息为:用户的姓名为张三、身份证号610xxxxxxxxx,手机号150xxxxxx。用户说状态节点获取用户基于完整用户意图答复的用户反馈信息,并通过用户说状态节点得到用户的确定信息后,进入下一状态子流程,确定订酒店的具体信息。
其中,下一状态子流程中的机器人思考状态节点,判断是否进行填槽,若是,则将填槽指令发送至机器人说状态节点询问第一个填槽属性,“入住日期是什么”。用户说状态节点获取用户基于填槽属性的用户反馈信息“5月20日”。机器人思考状态节点将用户反馈信息填充至目标槽位中,机器人思考状态节点进行槽位校验,判断待填充槽位是否填充完成,若未填充完成则进入下一执行逻辑流程,进行槽位填充,直至机器人思考状态节点得到完整用户意图,并进行播放后订酒店的具体信息为,入住时间为5月20日,地点A市,目标酒店为XX酒店。用户说状态节点获取用户基于完整用户意图答复的用户反馈信息,机器人思考状态节点调用API接口进行订阅,播放订阅结果,机答复结果。
另外,订机票的目标状态机流程图中包括用户说状态节点获取初始用户意图(订机票),将订机票意图发送至状态子流程中的机器人思考状态节点,判断是否进行填槽,若是,则将填槽指令发送至机器人说状态节点询问第一个填槽属性,“用户姓名是什么”。用户说状态节点获取用户基于填槽属性的用户反馈信息“张三”。机器人思考状态节点将用户反馈信息填充至目标槽位中,机器人思考状态节点进行槽位校验,判断待填充槽位是否填充完成,若未填充完成则进入下一执行逻辑流程,进行槽位填充,直至机器人思考状态节点得到完整用户意图,并进行播放,例如,订票人信息为:用户的姓名为张三、身份证号610xxxxxxxxx,手机号150xxxxxx。用户说状态节点获取用户基于完整用户意图答复的用户反馈信息,并通过用户说状态节点得到用户的确定信息后,进入下一状态子流程,确定订机票的具体信息。
下一状态子流程中的用户说状态节点获取初始用户意图(订机票),将订机票意图发送至状态子流程中的机器人思考状态节点,判断是否进行填槽,若是,则将填槽指令发送至机器人说状态节点询问第一个填槽属性,“始发地和目的地分别是什么”。用户说状态节点获取用户基于填槽属性的用户反馈信息“西安-北京”。机器人思考状态节点将用户反馈信息填充至目标槽位中,机器人思考状态节点进行槽位校验,判断待填充槽位是否填充完成,若为填充完成则进入下一执行逻辑流程,进行槽位填充,直至机器人思考状态节点得到完整用户意图,并进行播放,例如,订机票的具体信息为西安飞往北京,时间为5月20日。用户说状态节点获取用户基于完整用户意图答复的用户反馈信息,机器人思考状态节点调用API接口进行订阅后,播放订阅结果即答复结果。
上述两个目标状态机流程图中显然存在相同的状态子流程,以确认订票人信息。因此,可以将确认订票人信息的状态子流程合并复用,得到如图7a所示的新的目标状态机流程图。
可选地,可以判断至少两个目标状态机流程图中的各个状态子流程中的各个执行逻辑流程是否相同,若相同,则可将相同执行逻辑流程复用,即将至少两个目标状态机流程图进行合并,得到组合状态机流程图作为新的目标状态流程图,其中,组合状态机流程图中,至少两个目标状态机流程图共用至少一个执行逻辑流程。
因此,本申请实施例通过判断至少两个目标状态机流程图中是否存在相同的至少一个状态子流程,若存在的情况下,则将至少两个目标状态机流程图进行合并,得到组合状态机流程图作为新的目标状态流程图。可以将相同的状态子流程复用,也就是将不同意图的状态机流程图进行合并,目标状态机流程图可以进行组合,灵活度更高。
在本申请实施例中,通过获取运营侧平台发布的包括第一类节点和非第一类节点的多个初始对话逻辑流程图,针对各初始对话逻辑流程图,筛选非第一类节点,采用预设的转换规则,将非第一类节点进行转换,生成对应的状态子流程,并将第一类节点转换为状态节点,然后,将状态子流程和状态节点按照预设的拼接规则进行拼接,生成对应的目标状态机流程图。由于初始对话逻辑图中包括了多种不同类型的节点类型,不同的节点类型对应实现的执行逻辑也并不相同。
因此,相较于现有技术采用初始对话逻辑流程图的执行逻辑较为复杂。本申请实施例通过将初始对话逻辑流程图转换为状态机控制的目标状态机流程图,由于目标状态机流程图仅包括了用户说状态节点、机器人思考状态节点及机器人说状态节点,执行逻辑流程相较于现有技术中多类型节点的初始对话逻辑流程图节点变少,简化了执行逻辑。
另外,实现与运营侧平台的解耦,在进行后续的运营维护时,仅需要维护一套基于状态机的流转逻辑,无需针对每类节点分别实现逻辑护。
S106,根据目标状态机流程图,确定初始用户意图的答复结果。
具体地,当确定了目标状态机流程图后,则可以根据目标状态机流程图执行对应的执行逻辑,进而得出初始用户意图的答复结果。
图8是本申请实施例提供的一种对话管理方法中步骤106的一种流程图。如图8所示,在一些示例中,通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行目标状态机流程图,确定初始用户意图的答复结果,包括:
S1062,通过状态机控制状态节点获取初始用户意图,并将初始用户意图发送至状态子流程。
S1064,通过状态机控制状态子流程根据初始用户意图,生成完整用户意图并发送至状态节点。
S1066,通过状态机控制状态节点播放完整用户意图并获取用户基于完整用户意图答复的确认反馈信息,生成答复结果。
具体地,通过状态机控制状态节点获取初始用户意图,并将初始用户意图发送至状态子流程,状态子流程则可以根据初始用户意图执行各个执行逻辑流程,生成完整用户意图并发送至状态节点,状态节点播放完整用户意图并获取用户基于完整用户意图答复的确认反馈信息,生成答复结果。
示例地,图9是本申请实施例提供的一种对话管理方法的其中一种流程示意图。如图9所示,以初始用户意图为查话费为例,用户说状态节点获取初始用户意图(查话费),将查话费意图发送至机器人思考状态节点,判断是否进行填槽,若是,则将填槽指令发送至机器人说状态节点询问第一个填槽属性,“查询号码是什么”。用户说状态节点获取用户基于填槽属性的用户反馈信息“177xxxxxxxx”。机器人思考状态节点将用户反馈信息填充至目标槽位中,机器人思考状态节点进行槽位校验,判断待填充槽位是否填充完成,若未填充完成则进入下一执行逻辑流程,进行槽位填充,直至机器人思考状态节点得到完整用户意图,并进行播放,例如,查询号码是否为177xxxxxxxx,6月,话费详情。用户说状态节点获取用户基于完整用户意图答复的用户反馈信息,机器人思考状态节点调用API接口进行详情查询后,播放查询结果即答复结果。
在本申请实施例中,通过获取用户发出的语音流数据,并根据语音流数据确定出初始用户意图。在确定了初始用户意图后,可以根据初始用户意图获取由用户说状态节点、机器人思考状态节点及机器人说状态节点组成的目标状态机流程图。然后通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行目标状态机流程图,确定初始用户意图的答复结果。由于目标状态机流程图,是由状态机的流程控制,状态机仅包括了三个状态节点,流程可以通过用户说状态节点触发,经由一系列机器人思考状态节点,最终会流转到某一个机器人说状态节点上进行应答通过问答的形式完全实现,执行逻辑简单,且与运营侧平台发布的复杂节点构成的流程图完全解耦,简化了运营维护复杂度,即仅需维护一套基于状态机的流程逻辑,无需针对现有技术中每一类不同的节点分别实现逻辑。
应该理解的是,虽然图3-图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-图10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的对话管理方法的对话管理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个对话管理装置实施例中的具体限定可以参见上文中对于对话管理方法的限定,在此不再赘述。
图10是本申请实施例提供的网络流量异常的检测装置的结构示意图。参照图10所示,该对话管理装置包括:
语音流数据获取模块10,用于获取用户发出的语音流数据,并根据语音流数据,确定初始用户意图;
流程图获取模块11,用于根据初始用户意图,获取目标状态机流程图,其中,目标状态机流程图由用户说状态节点、机器人思考状态节点及机器人说状态节点组成;
答复结果确定模块12,用于通过状态机控制用户说状态节点、机器人思考状态节点及机器人说状态节点执行目标状态机流程图,确定初始用户意图的答复结果。
具体地,对话管理装置实施例中的具体限定可以参见上文中对于对话管理方法的限定,在此不再赘述。
在一种可行的实现方式中,本申请实施例的对话管理装置还包括:目标状态机流程图生成模块,包括:
初始流程图获取单元,用于根据初始用户意图,获取运营侧平台发布的对应多个初始对话逻辑流程图,其中,每个初始对话逻辑流程图包括第一类节点和非第一类节点,第一类节点为用户说节点、机器人思考节点、机器人说节点中任意一个节点;
筛选单元,用于针对各初始对话逻辑流程图,筛选非第一类节点;
转换单元,用于通过编译装置采用预设的转换规则,将非第一类节点进行转换,生成对应的状态子流程,并将第一类节点转换为状态节点;状态节点为用户说状态节点、机器人思考状态节点、机器人说状态节点中的任意一个节点;
拼接单元,用于通过编译装置将状态子流程和状态节点按照预设的拼接规则进行拼接,生成对应的目标状态机流程图。
在一种可行的实现方式中,非第一类节点包括填槽节点;拼接单元具体用于通过编译装置获取填槽节点中的各个填槽属性;通过编译装置根据各填槽属性,将填槽节点转换为各填槽属性对应的执行逻辑流程;通过编译装置执行逻辑流程由用户说状态节点、机器人思考状态节点、机器人说状态节点组成;将各执行逻辑流程按照预设的组合顺序进行组合,生成状态子流程。
在一种可行的实现方式中,拼接单元具体用于通过编译装置获取各填槽属性的重要度,基于填槽属性的重要度确定各填槽属性的对话优先级;根据各填槽属性的对话优先级,将各执行逻辑流程组合,生成状态子流程。
在一种可行的实现方式中,答复结果确定模块包括:
发送单元,用于通过状态机控制状态节点获取初始用户意图,并将初始用户意图发送至状态子流程;
完整用户意图生成单元,用于通过状态机控制状态子流程根据初始用户意图,生成完整用户意图并发送至状态节点;
答复结果生成单元,用于通过状态机控制状态节点播放完整用户意图并获取用户基于完整用户意图答复的确认反馈信息,生成答复结果。
在一种可行的实现方式中,完整用户意图生成单元具体用于执行逻辑流程,机器人思考状态节点获取初始用户意图,判断是否执行填槽操作;若是,则机器人思考状态节点向机器人说状态节点发送填槽指令;机器人说状态节点根据填槽指令播放填槽属性信息;用户说状态节点获取用户基于填槽属性信息答复的用户反馈信息;机器人思考状态节点收集用户反馈信息并将用户反馈信息填充至待填充槽位中的目标槽位;机器人思考状态节点判断待填充槽位是否全部完成填充,若否,则跳转至下一执行逻辑流程,直至待填充槽位全部填充,生成完整用户意图。
在一种可行的实现方式中,对话管理方法还包括:
判断模块,用于判断至少两个目标状态机流程图中的至少一个状态子流程是否相同;
合并模块,用于若是,则将至少两个目标状态机流程图进行合并,得到组合状态机流程图作为新的目标状态流程图,其中,组合状态机流程图中,至少两个目标状态机流程图共用至少一个状态子流程。
具体地,对话管理装置实施例中的具体限定可以参见上文中对于对话管理方法的限定,在此不再赘述。
图11是本申请实施例提供的一种计算机设备的结构示意图。参照图11所示,基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的对话管理方法的计算机设备。该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对话管理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一种可行的实现方式中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一项实施例中对话管理方法的步骤。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的对话管理方法的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例中对话管理方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
容易理解的是,本领域技术人员在本申请提供的几个实施例的基础上,可以对本申请的实施例进行结合、拆分、重组等得到其他实施例,这些实施例均没有超出本申请的保护范围。
以上的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (11)
1.一种对话管理方法,其特征在于,包括:
获取用户发出的语音流数据,并根据所述语音流数据,确定初始用户意图;
根据所述初始用户意图,获取目标状态机流程图,其中,所述目标状态机流程图由用户说状态节点、机器人思考状态节点及机器人说状态节点组成;
通过状态机控制所述用户说状态节点、所述机器人思考状态节点及所述机器人说状态节点执行所述目标状态机流程图,确定所述初始用户意图的答复结果。
2.根据权利要求1所述的方法,其特征在于,所述目标状态机流程图的生成方式,包括:
根据所述初始用户意图,获取运营侧平台发布的对应多个初始对话逻辑流程图,其中,每个所述初始对话逻辑流程图包括第一类节点和非第一类节点,所述第一类节点为所述用户说节点、所述机器人思考节点、所述机器人说节点中任意一个节点;
针对各所述初始对话逻辑流程图,筛选所述非第一类节点;
通过编译装置采用预设的转换规则,将所述非第一类节点进行转换,生成对应的状态子流程,并将所述第一类节点转换为状态节点;所述状态节点为用户说状态节点、机器人思考状态节点、机器人说状态节点中的任意一个节点;
通过所述编译装置将所述状态子流程和所述状态节点按照预设的拼接规则进行拼接,生成对应的所述目标状态机流程图。
3.根据权利要求2所述的方法,其特征在于,所述非第一类节点包括填槽节点;
所述通过编译装置采用预设的转换规则,将所述非第一类节点进行转换,得到对应的状态子流程,包括:
通过所述编译装置获取所述填槽节点中的各个填槽属性;
通过所述编译装置根据各所述填槽属性,将所述填槽节点转换为各所述填槽属性对应的执行逻辑流程;所述执行逻辑流程由所述用户说状态节点、所述机器人思考状态节点、所述机器人说状态节点组成;
通过所述编译装置将各所述执行逻辑流程按照预设的组合顺序进行组合,生成所述状态子流程。
4.根据权利要求3所述的方法,其特征在于,所述执行逻辑流程包括:
所述机器人思考状态节点获取所述初始用户意图,判断是否执行填槽操作;
若是,则所述机器人思考状态节点向所述机器人说状态节点发送填槽指令;
所述机器人说状态节点根据所述填槽指令播放填槽属性信息;
所述用户说状态节点获取用户基于所述填槽属性信息答复的用户反馈信息;
所述机器人思考状态节点收集所述用户反馈信息并将所述用户反馈信息填充至待填充槽位中的目标槽位;
所述机器人思考状态节点判断所述待填充槽位是否全部完成填充,若否,则跳转至下一执行逻辑流程,直至所述待填充槽位全部填充,生成完整用户意图,并将所述完整用户意图发送至所述机器人说状态节点。
5.根据权利要求3所述的方法,其特征在于,所述将各所述执行逻辑流程按照预设的组合顺序进行组合,生成所述状态子流程,包括:
获取各所述填槽属性的重要度,基于所述填槽属性的重要度确定各所述填槽属性的对话优先级;
根据各所述填槽属性的对话优先级,将各所述执行逻辑流程组合,生成所述状态子流程。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述将所述状态子流程和所述状态节点按照预设的拼接规则进行拼接,得到所述目标状态机流程图,包括:
根据各所述初始对话逻辑流程图中所述第一类节点和所述非第一类节点的拼接顺序,将所述状态子流程和所述状态节点拼接,生成所述目标状态机流程图。
7.根据权利要求6所述的方法,其特征在于,所述通过状态机控制所述用户说状态节点、所述机器人思考状态节点及所述机器人说状态节点执行所述目标状态机流程图,确定所述初始用户意图的答复结果,包括:
通过所述状态机控制所述状态节点获取所述初始用户意图,并将所述初始用户意图发送至所述状态子流程;
通过所述状态机控制所述状态子流程根据所述初始用户意图,生成完整用户意图并发送至所述状态节点;
通过所述状态机控制所述状态节点播放所述完整用户意图并获取用户基于所述完整用户意图答复的确认反馈信息,生成所述答复结果。
8.根据权利要求2所述的方法,其特征在于,所述对话管理方法还包括:
判断至少两个所述目标状态机流程图中的至少一个所述状态子流程是否相同;
若是,则将至少两个所述目标状态机流程图进行合并,得到组合状态机流程图作为新的目标状态流程图,其中,所述组合状态机流程图中,所述至少两个所述目标状态机流程图共用所述至少一个所述状态子流程。
9.一种对话管理装置,其特征在于,包括:
语音流数据获取模块,用于获取用户发出的语音流数据,并根据所述语音流数据,确定初始用户意图;
流程图获取模块,用于根据所述初始用户意图,获取目标状态机流程图,其中,所述目标状态机流程图由用户说状态节点、机器人思考状态节点及机器人说状态节点组成;
答复结果确定模块,用于通过状态机控制所述用户说状态节点、所述机器人思考状态节点及所述机器人说状态节点执行所述目标状态机流程图,确定所述初始用户意图的答复结果。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723432.XA CN114969299A (zh) | 2022-06-21 | 2022-06-21 | 一种对话管理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723432.XA CN114969299A (zh) | 2022-06-21 | 2022-06-21 | 一种对话管理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114969299A true CN114969299A (zh) | 2022-08-30 |
Family
ID=82966074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210723432.XA Pending CN114969299A (zh) | 2022-06-21 | 2022-06-21 | 一种对话管理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969299A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115512705A (zh) * | 2022-11-22 | 2022-12-23 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器及计算机可读存储介质 |
-
2022
- 2022-06-21 CN CN202210723432.XA patent/CN114969299A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115512705A (zh) * | 2022-11-22 | 2022-12-23 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11409425B2 (en) | Transactional conversation-based computing system | |
US10853582B2 (en) | Conversational agent | |
US11076007B2 (en) | Multi-modal conversational intercom | |
US10255917B2 (en) | Coordinating the execution of a voice command across multiple connected devices | |
CN108541315B (zh) | 语音激活数据分组的数据结构池化 | |
CN115485690A (zh) | 用于处置聊天机器人的不平衡训练数据的分批技术 | |
KR20180070684A (ko) | 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성 | |
US20210342547A1 (en) | System for focused conversation context management in a reasoning agent/behavior engine of an agent automation system | |
US9369425B2 (en) | Email and instant messaging agent for dialog system | |
CN112699258A (zh) | 作品生成和编辑方法、装置、终端、服务器和*** | |
CN109313668B (zh) | 构建会话理解***的***和方法 | |
US12021802B2 (en) | Chat bot control device, chat bot control method, and chat bot control device system | |
KR20140112364A (ko) | 디스플레이 장치 및 디스플레이 장치의 제어방법 | |
CN113906432A (zh) | 使用知识模型对聊天机器人中的自然理解***的上下文反馈 | |
CN116114380A (zh) | 预测通信补偿 | |
CN114969299A (zh) | 一种对话管理方法、装置、计算机设备和存储介质 | |
CN111090733A (zh) | 人机交互方法、装置、设备及可读存储介质 | |
CN113452853B (zh) | 语音交互方法及装置、电子设备、存储介质 | |
KR102448356B1 (ko) | 영상 커뮤니케이션 서비스와 연동하여 대화를 기록하는 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체 | |
Boari et al. | Coordination for the internet of services: A user-centric approach | |
CN114840653A (zh) | 对话处理方法、装置、设备以及存储介质 | |
CN118193754A (zh) | 任务执行方法、装置、设备、介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |