CN105845137B - 一种语音对话管理系统 - Google Patents

一种语音对话管理系统 Download PDF

Info

Publication number
CN105845137B
CN105845137B CN201610158818.5A CN201610158818A CN105845137B CN 105845137 B CN105845137 B CN 105845137B CN 201610158818 A CN201610158818 A CN 201610158818A CN 105845137 B CN105845137 B CN 105845137B
Authority
CN
China
Prior art keywords
state machine
dialogue
state
dialog
node
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.)
Active
Application number
CN201610158818.5A
Other languages
English (en)
Other versions
CN105845137A (zh
Inventor
徐为群
任航
赵学敏
颜永红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Beijing Kexin Technology Co Ltd
Original Assignee
Institute of Acoustics CAS
Beijing Kexin Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS, Beijing Kexin Technology Co Ltd filed Critical Institute of Acoustics CAS
Priority to CN201610158818.5A priority Critical patent/CN105845137B/zh
Publication of CN105845137A publication Critical patent/CN105845137A/zh
Application granted granted Critical
Publication of CN105845137B publication Critical patent/CN105845137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Abstract

本发明涉及一种语音对话管理系统,包括:对话管理器,用于存储和维护当前所有有效的对话进程,以及接收用户语义信息,并通过状态机给出相应的回复。状态机模型,用于保存对话领域结构的全部信息,是对对话领域的静态描述文档,在运行过程中需根据状态机模型所描述的领域规则进行状态维护并生成系统回复。状态机,用于在运行时跟踪对话进程的状态信息,在用户产生输入动作时对对话状态进行更新;以及根据当前对话状态动态地产生相应的回复,所述状态机涉及到的具体的领域信息由状态机模型指定。本发明实施例提供的语音对话管理系统,可内嵌JavaScript代码对特定的对话流程进行定制化,实现更灵活的对话管理。

Description

一种语音对话管理系统
技术领域
本发明涉及人机语音交互系统领域,尤其涉及一种语音对话管理系统。
背景技术
近几年来随着语音识别和口语理解等相关技术的不断发展和提升,语音对话系统在性能和用户体验等方面得到了长足进步。不同于传统的键盘、鼠标、触摸等人机界面,语音对话系统更加贴近人类的真实交互方式,对使用者的技术要求较低。语音对话系统的应用场景非常广泛,早期主要被用于电话自动客服系统,例如航班、酒店预订等。在车载等不方便使用双手的场景中,语音对话也是最为合适的交互方式。近几年来移动互联网浪潮的到来,以及智能手机和平板电脑等移动设备的普及,使得语音对话系统再一次得到了广泛的应用。这些应用依托于移动设备操作系统,可以帮助人们完成发送短信、拨打电话和定制日程等操作。目前以智能手表、智能眼镜等为代表的可穿戴设备得到了业界的广泛关注,这些可穿戴设备与手机和平板的最大不同之处是其屏幕通常较小,不便于通过触摸的方式进行操作,这就使得语音交互在这些设备上成为了刚性需求。
尽管工业界对语音对话系统有着巨大的需求,但目前仍缺乏较为通用的编程框架和平台。Voice XML是目前较为流行的口语对话系统描述语言,它采用XML格式,可对语音识别、语音合成、对话管理等模块进行统一控制。Voice XML在对话管理方面与基于有限状态机的对话管理模型比较相似,即采用离散的状态来代表当前对话所处阶段。这种方式适合于可以将对话流程进行明确划分的应用场景,例如菜单导航式的语音客服系统。而在面向具体任务的对话中通常含有一定的语义槽需要用户进行填充,在这种场景中难以对对话状态进行明确划分,故不适合于使用单纯的有限状态机模型。它的另一个问题是无法有效地应对语音识别和口语理解带来的不确定性因素。而在开发和维护方面,由于其需要将语音识别文法、对话状态和系统输出等不同方面的控制规则置于统一的配置文档中,可能会造成开发上的不便。
综上,现有技术存在以下几个问题:
1、通常基于单一的对话管理模型,其适用对话场景有限;
2、无法有效地应对语音识别和口语理解带来的不确定性因素;
3、需要将语音识别文法、对话状态和系统输出等不同方面的控制规则置于统一的配置文档中,开发不便。
发明内容
本发明的目的解决上述现有技术的不足之处,提供一种混合式语音对话管理系统,其可适用于广泛的对话场景,可有效地应对语音识别和口语理解带来的不确定性因素,并可将对话管理器的控制规则使用独立的领域文档进行控制,与其他模块耦合性较小,开发方便,并且通过内置的控制脚本,可对对话流程进行灵活的动态调整,对已有功能进行扩展。
为实现上述目的,本发明提供了一种语音对话管理系统,该系统使用Java语言构建,该系统属于基于有限状态机和基于框架的混合式管理系统,适于为语音对话助手和自动语音客服等提供对话管理服务。
该系统包括:对话管理器、状态机模型和状态机;其中:
对话管理器,用于存储和维护当前所有有效的对话进程,以及接收用户语义信息,并通过状态机给出相应的回复,每个对话进程被赋予唯一的对应用户的ID标志,其中每个对话进程包含一个用于保存该用户对话状态的状态机;当用户产生输入动作时,根据输入语义信息和用户的ID信息进行判断,当用户的ID已有已经建立的对话进程,则直接提取该进程中的状态机,否则为该用户建立新的对话进程。状态机模型,用于保存对话领域结构的全部信息,是对话领域的静态描述文档,在运行过程中需根据状态机模型所描述的领域规则进行状态维护并生成系统回复;状态机,用于在运行时跟踪对话进程的状态信息,在用户产生输入动作时对对话状态进行更新;以及根据当前对话状态动态地产生相应的回复,状态机涉及到的具体的领域信息由状态机模型指定。
优选地,对话管理器还包括:进程缓存,用于记录用户的对话状态。
优选地,对话管理器还用于:当对话进程的时间戳距当前时间超过预先设定的时间阈值时,则回收对话进程,当同样ID的用户再次产生输入时,需要为该用户建立新的对话进程;否则,直接使用已存在的对话进程。
优选地,状态机模型通过树状结构保存对话领域结构的全部信息;树状结构中的每个节点对应对话领域的一个子状态,每个节点包括:该节点名称、该节点的默认系统回复、该节点的子节点、当进入该节点时执行的JavaScript脚本以及当在该节点中有用户输入时执行的JavaScript脚本中的一个或多个。
优选地,状态机模型具体用于:制定领域描述文档,按照对话涉及到的子领域和语义槽制定至少一个子节点,组织成树状的领域结构;领域描述文档各节点包含的域与状态机模型的节点相对应,在运行时领域描述文档被自动解析并实例化为状态机模型对象。
优选地,状态机负责维护的状态变量包括:指向状态机模型的引用变量、指向当前状态节点的引用变量、保存语义槽填充情况的哈希表、保存系统回复的字符串以及指示当前对话是否结束的布尔变量中的一个或多个。
优选地,状态机具体用于:指向当前状态节点的引用变量和保存语义槽填充情况的哈希表决定了当前的对话状态;其中,通过指向当前状态节点的引用变量,追踪当前所在节点,实现基于有限状态机的控制方法;和/或通过保存语义槽填充情况的哈希表,实现基于框架的对话管理方法。
优选地,状态机具体用于:通过内嵌JavaScript脚本,用于对进程进行动态的控制,JavaScript脚本保存在状态机模型,在运行时由状态机进行解析和执行;和/或通过对状态变量进行动态的调节和改变,对对话进程进行定制化。
优选地,对话管理器的执行引擎由Java实现;领域文档由外置的JSON或XML格式编写;通过开源库Jackson解析JSON文档,并指定其与Java类的对应关系,所述状态机模型在运行时依据外置的领域文档自动将所述领域文档对应的类型实例化。
本发明使用Java语言构建一种对话管理系统,在JVM(Java Virtual Machine)平台上有着丰富的类库和框架,可以很方便地将本发明提供的对话管理系统包装为Web服务,或是内嵌于移动设备中为用户服务。本发明实施例提供的对话管理系统使用基于有限状态机和基于框架(frame-based)的混合式模型,以便于适用更广泛的对话场景。对话管理器的执行引擎由Java实现,而与具体应用领域相关的业务逻辑则由外置的JSON文档指定,其中可内嵌JavaScript代码对特定的对话流程进行定制化,以便于实现更为灵活的对话管理策略。
附图说明
为了更清楚说明本发明实施例的技术方案,下面将对实施例描述中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的语音对话管理系统架构图;
图2为本发明实施例二提供的语音对话系统架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明。
图1为本发明实施例一提供的语音对话管理系统架构图。如图1所示,实施例一提供的对话管理系统主要包括三个组成部分:对话管理器(Dialog Manager)、状态机(StateMachine)和状态机模型(State Machine Model)。
其中,对话管理器为对话管理系统的主体部分,对话管理器接收来自语音识别模块的文本输入信号,生成系统回复,再经语音合成模块转换成语音,输出给用户。状态机,在运行时跟踪对话进程的状态信息,在用户产生输入动作时对对话状态进行更新;以及根据当前对话状态动态地产生相应的回复。状态机模型,用于描述对话的领域结构信息。下面具体介绍各组成部分的功能:
对话管理器(Dialog Manager)负责存储和维护当前所有有效的对话进程(dialogsession),每个对话进程被赋予唯一的对应用户的ID标志,其中每个对话进程包含一个用于保存该用户对话状态的状态机;对话管理器直接接收来自口语理解模块的用户语义信息,并给出系统回复。当特定用户产生输入动作时,通过对话管理器的“接收用户输入”(feedUserInput)方法将输入语义和用户的ID信息一同传入。若该ID已有已经建立的对话进程,则直接提取该进程中的状态机,否则为该用户建立新的对话进程。在每个对话进程中保存了该进程建立时的具体时间,以及使用状态机保存的对话状态。之后根据用户输入的语义更新状态机中保存的对话状态。
需要说明的是,对话管理器使用进程ID对对话进程进行存取,它还必须实现一定的垃圾回收机制对无效的对话进程进行回收。这里使用时间戳判断无效的对话进程。当某一用户产生输入操作时,更新其对话进程对应的时间戳。而当某一对话进程的时间戳距当前时间超过预先设定的时间阈值时,则回收该对话进程。当具有同样ID的用户再次产生输入时,需要为其重新建立对话进程。其中,对话管理器还包括进程缓存,用于缓存用户的对话进程ID。
状态机模型(State Machine Model)是对话领域的静态描述文档,在运行过程中需根据状态机模型所描述的领域规则进行状态维护并生成系统回复。通过树状结构保存了对话领域结构的全部信息。树中的每个节点对应了对话领域的一个子状态,每个节点主要包括如下信息:Name:节点名称,用字符串保存;reply:该节点的默认系统回复,用字符串保存;subStates:当前节点的子节点,用数组格式保存;onEnter:当进入该节点时执行的JavaScript脚本,用字符串保存;onInput:当在该节点中有用户输入时执行的JavaScript脚本,用字符串保存。
需要说明的是,name是状态节点的唯一标识,在执行状态跳转动作时,可指定name直接跳转到对应的状态节点;reply是该状态节点的默认系统回复,也可通过脚本对回复进行动态的设置;subStates中保存了子节点的引用,可通过该域对领域结构进行遍历;onEnter和onInput保存了使用JavaScript编写的函数,在特定条件下触发执行。
图1中还包括领域文档,该领域文档各节点包含的域与状态机模型的节点相对应,在运行时所述领域描述文档被自动解析并实例化为状态机模型对象。具体地,制定领域描述文档,按照对话涉及到的子领域和语义槽制定至少一个子节点,组织成树状的领域结构。
需要说明的是,onEnter在进入该节点时被执行,通常在这部分脚本中根据对话状态,对系统回复进行动态的定制。而onInput中保存了当有用户输入时执行的函数,通常在此进行状态跳转的操作。
本发明实施例提供的语音对话管理系统通过内嵌JavaScript脚本,用于对对话进程进行动态的控制,JavaScript脚本保存在状态机模型,在运行时由状态机进行解析和执行;和/或通过对状态变量进行动态的调节和改变,对对话进程进行定制化,实现了较高的自由度。由于状态机模型中不保存任何运行时的状态,可使用外置的JSON或XML文档进行表示,在系统运行时将文档反序列化为状态机模型的实例。通过这种方式,可以有效地将系统运行引擎与具体的领域逻辑解耦。也就是说,将通用的对话管理引擎的执行逻辑使用静态的Java语言开发,而涉及到具体领域与业务的逻辑使用外置文档进行描述以动态地解析。将语音识别文法、对话状态和系统输出等不同方面的控制规则使用独立的领域文档进行控制使得系统开发方便。
状态机(State Machine)负责在运行时跟踪某一对话进程的状态信息,在用户输入时对对话状态进行更新;以及根据当前对话状态动态地产生相应的回复,状态机涉及到的具体的领域信息由状态机模型指定。状态机负责维护的主要的状态变量包括:Model:指向状态机模型的引用;currentState:当前状态节点的引用;dataMap:用于保存语义槽填充情况的哈希表;reply:保存系统回复的字符串;isSessionEnd:指示当前对话是否结束的布尔变量;以及其它根据具体领域而定的相关状态变量。
其中,由currentState和dataMap决定当前的对话状态。通过currentState追踪当前所在节点,可以实现基于有限状态机的控制方法;通过dataMap记录领域内语义槽的填充信息,可以实现基于框架的对话管理方法。而通过二者的结合,可以实现更为灵活的混合式控制方法,适合更为广泛的应用领域。例如在一个多领域的信息搜索系统中,通过状态机来实现主要领域的控制与跳转,通过基于框架的方式实现特定领域的对话任务,以槽填充的形式完成较为复杂的特定任务。
更具体地,在一个例子中,在基于框架的对话中,系统的回复可对用户已输入的信息进行确认。比如在餐饮领域中,用户已指定了需要查询“中关村”地区的餐馆,需进一步询问口味这一语义槽,此时可使用JavaScript脚本动态地设置系统回复为“您想查询中关村附近什么风味的餐厅呢”。实现了基于框架和有限状态机的混合式模型。
需要说明的是,状态机的基本执行流程为,当跳转至某一状态节点时,执行currentState.onEnter中保存的脚本,之后向用户返回当前的reply,作为系统的回复输出。通过这onEnter中的脚本可根据当前对话状态动态地给定系统回复;而当有新的用户输入时,执行currentState.onInput中保存的脚本,并将语义理解结果作为参数传入,在这部分脚本中可进行状态跳转,以更新当前对话状态。
具体地,用户语音输入经过语音识别模块和口语理解模块后,将用户语义信息提供给状态机,状态机对对话状态进行更新,以及根据当前对话状态动态地产生相应的回复。但是,在噪声较大的使用场景中,语音识别模块和口语理解模块可能对用户输入的处理可能会产生较多错误结果,本发明实施例可以通过理解结果的置信度来判断语义输入是否正确。在有新的理解结果输入时,状态机根据预设的置信度阈值对输入进行筛选,只有当语义输入的置信度大于预设的置信度阈值时,才认为该语义输入结果为正确,否则请求用户进行重复。状态机通过预设置信度阈值,可有效地应对语音识别和口语理解带来的不确定性因素。
需要说明的是,在本实施例系统程序的运行时,通常情况下只包含唯一的对话管理器对象,对话管理器动态地为每个发送请求的用户建立对话进程。而状态机模型中不含有可变的状态变量,所以只需单一的实例即可。
本实施例提供一种混合式对话管理系统,可适用于广泛的对话场景,可有效地应对语音识别和口语理解带来的不确定性因素,并可将对话管理器的控制规则置于独立的文档中,开发方便。对话管理器的执行引擎由Java实现,而与具体应用领域相关的业务逻辑则由外置的JSON文档指定,其中可内嵌JavaScript代码对特定的对话流程进行定制化,以便于实现更为灵活的对话管理策略。例如,当对话管理系统连续多次进入同一个状态节点时,对话管理器可以通过JavaScript脚本动态替换系统默认回复reply;当对话进程卡在某一状态节点时,对话管理器可决定跳出该节点,自动转向人工客服。
下面以图2为例,将本发明实施例给出的语音对话管理系统具体应用到语音对话领域,图2为本发明实施例二提供的语音对话系统架构图。如图2所示,本发明实施例提供的语音对话系统包括语音对话管理模块、语音识别模块、口语理解模块、语音合成模块以及人工客服。
需要说明的是,语音对话管理模块与实施例一提供的语音对话管理系统相同。本实施例提供的对话系统其具体实现过程如下:
制定对话管理模块,包括步骤201-204:
在步骤201,制定领域描述文档,按照对话涉及到的子领域和语义槽制定若干个子节点,组织成树状的领域结构。可以使用JSON或XML格式编写该文档,其中各个节点包含的域与状态机模型的节点相对应,在运行时被自动解析并实例化为状态机模型对象。
在步骤202,制定状态机模型类。当使用JSON编写领域文档时,可通过开源库Jackson解析JSON文档,并指定其与Java类的对应关系,所述状态机模型在运行时依据外置的领域文档自动将所述领域文档对应的类型实例化。该Java类中不包含可变状态变量,故在运行时只需实例化一次即可。
在步骤203,制定状态机类。在该类中应实现运行时所需的全部对话状态变量。为了支持使用JavaScript脚本对对话流程进行动态控制,在具体的实现中,可使用Java 8中内置的Nashorn引擎或是Java 7及以下版本中内置的Rhino引擎对JavaScript脚本进行解析和执行,通过将状态机对象提供给JavaScript脚本的运行时,在JavaScript中可以调用在Java中定义的方法。该执行引擎仅实例化一次,在各个状态机实例之间共享。而每个状态机实例中保存独立的绑定(javax.script.Bindings),用于记录脚本的执行结果。在该类型中应实现支持状态跳转的方法供脚本调用。
在步骤204,制定对话管理器类。在该类型中实现接收用户语义输入及对话进程ID的方法。该类在运行时保存了所有对话进程ID到对话进程的映射关系,根据ID对对话进程进行存取。其中对话进程包括了状态机以及该进程最后访问时间。为了在多线程运行环境中支持并发式的用户输入,并且对超时的对话进程进行回收,可使用开源库Guava中的Loading Cache存取对话进程。Loading Cache保证了线程安全,并且具有自动超时回收的机制。
例如在一个多领域的信息搜索系统中,通过状态机来实现主要领域的控制与跳转,通过基于框架的方式实现特定领域的对话任务,以槽填充的形式完成较为复杂的特定任务。本发明实施例提供的语音对话系统,通过基于有限状态机和基于框架(frame-based)的混合式模型,内嵌JavaScript代码对特定的对话流程进行定制化,实现了更为灵活的对话管理策略。
完成语音对话管理模块的制定后,执行步骤205-206:
在步骤205,整合上述实现的各个功能。使用Tomcat等Web容器将对话管理器包装为Web服务,使用Http接口提供服务,或直接嵌入移动设备应用中。
在步骤206,将语音对话管理模块与语音识别、口语理解、语音合成等模块进行对接,对整套语音对话系统进行测试。
本发明实施例提供的语音对话管理系统,基于有限状态机和基于框架(frame-based)的混合式模型,以便于适用更广泛的对话场景。状态机通过预设置信度阈值,可有效地应对语音识别和口语理解带来的不确定性因素对话管理器的执行引擎由Java实现,而与具体应用领域相关的业务逻辑则由外置的JSON文档指定,使用独立的领域文档进行不同领域的适配,使得系统开发方便。其中可内嵌JavaScript代码对特定的对话流程进行定制化,以便于实现更为灵活的对话管理策略。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种语音对话管理系统,其特征在于,包括:对话管理器、状态机模型和状态机;其中,
对话管理器,用于存储和维护当前所有有效的对话进程,以及接收用户语义信息,并通过状态机给出相应的回复;每个对话进程被赋予唯一的对应用户的ID标志,其中所述每个对话进程包含一个用于保存该用户对话状态的状态机;当用户产生输入动作时,根据输入语义信息和用户的ID信息进行判断,当用户的ID已有已经建立的对话进程,则直接提取该进程中的状态机,否则为该用户建立新的对话进程;进程缓存,用于缓存用户的对话进程,当所述对话进程的时间戳距当前时间超过预先设定的时间阈值时,则回收所述对话进程,当同样ID的用户再次产生输入时,需要为该用户建立新的对话进程;否则,直接使用已存在的对话进程;
状态机模型,用于保存对话领域结构的全部信息,是对话领域的静态描述文档,在运行过程中需根据状态机模型所描述的领域规则进行状态维护并生成系统回复;
状态机,用于在运行时跟踪对话进程的状态信息,在用户产生输入动作时对对话状态进行更新;以及根据当前对话状态动态地产生相应的回复,所述状态机涉及到的具体的领域信息由状态机模型指定。
2.根据权利要求1所述的系统,其特征在于,所述状态机模型通过树状结构保存对话领域结构的全部信息;
所述树状结构中的每个节点对应对话领域的一个子状态,所述每个节点包括:
该节点名称、该节点的默认系统回复、该节点的子节点、当进入该节点时执行的JavaScript脚本以及当在该节点中有用户输入时执行的JavaScript脚本中的一个或多个。
3.根据权利要求2所述的系统,其特征在于,所述状态机模型具体用于:
制定领域描述文档,按照对话涉及到的子领域和语义槽制定至少一个子节点,组织成树状的领域结构;
所述领域描述文档各节点包含的域与状态机模型的节点相对应,在运行时所述领域描述文档被自动解析并实例化为状态机模型对象。
4.根据权利要求1所述的系统,其特征在于,所述状态机负责维护的状态变量包括:指向状态机模型的引用变量、指向当前状态节点的引用变量、保存语义槽填充情况的哈希表、保存系统回复的字符串以及指示当前对话是否结束的布尔变量中的一个或多个。
5.根据权利要求4所述的系统,其特征在于,所述状态机具体用于:
所述指向当前状态节点的引用变量和所述保存语义槽填充情况的哈希表决定了当前的对话状态;其中,通过所述指向当前状态节点的引用变量,追踪当前所在节点,实现基于有限状态机的控制方法;和/或通过所述保存语义槽填充情况的哈希表,实现基于框架的对话管理方法。
6.根据权利要求3所述的系统,其特征在于,所述状态机具体用于:
通过内嵌JavaScript脚本,用于对所述对话进程进行动态的控制,所述JavaScript脚本保存在所述状态机模型,在运行时由所述状态机进行解析和执行;和/或
通过对状态变量进行动态的调节和改变,对所述对话进程进行定制化。
7.根据权利要求1-6任一项所述的系统,其特征在于,所述对话管理器的执行引擎由Java实现;领域文档由外置的JSON或XML格式编写;通过开源库Jackson解析JSON文档,并指定其与Java类的对应关系,所述状态机模型在运行时依据外置的领域文档自动将所述领域文档对应的类型实例化。
CN201610158818.5A 2016-03-18 2016-03-18 一种语音对话管理系统 Active CN105845137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610158818.5A CN105845137B (zh) 2016-03-18 2016-03-18 一种语音对话管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610158818.5A CN105845137B (zh) 2016-03-18 2016-03-18 一种语音对话管理系统

Publications (2)

Publication Number Publication Date
CN105845137A CN105845137A (zh) 2016-08-10
CN105845137B true CN105845137B (zh) 2019-08-23

Family

ID=56588370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610158818.5A Active CN105845137B (zh) 2016-03-18 2016-03-18 一种语音对话管理系统

Country Status (1)

Country Link
CN (1) CN105845137B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874259B (zh) * 2017-02-23 2019-07-16 腾讯科技(深圳)有限公司 一种基于状态机的语义解析方法及装置、设备
US10666581B2 (en) * 2017-04-26 2020-05-26 Google Llc Instantiation of dialog process at a particular child node state
CN107291867B (zh) * 2017-06-13 2021-07-20 北京百度网讯科技有限公司 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质
CN108334353B (zh) * 2017-08-31 2021-04-02 科大讯飞股份有限公司 技能开发系统及方法
CN108829797A (zh) * 2018-04-25 2018-11-16 苏州思必驰信息科技有限公司 多智能体对话策略系统构建方法及自适应方法
CN110866403B (zh) * 2018-08-13 2021-06-08 中国科学院声学研究所 基于卷积循环实体网络的端对端对话状态跟踪方法及系统
CN109190114B (zh) * 2018-08-13 2022-06-07 北京百度网讯科技有限公司 用于生成回复信息的方法和装置
CN113168418A (zh) * 2018-11-29 2021-07-23 三菱电机株式会社 对话装置、对话方法和对话程序
CN109670025B (zh) * 2018-12-19 2023-06-16 北京小米移动软件有限公司 对话管理方法及装置
CN109858019B (zh) * 2018-12-28 2023-07-25 北京百度网讯科技有限公司 对话状态跟踪方法及装置、存储介质及语义识别系统
CN110377716B (zh) 2019-07-23 2022-07-12 百度在线网络技术(北京)有限公司 对话的交互方法、装置及计算机可读存储介质
CN110442701B (zh) * 2019-08-15 2022-08-05 思必驰科技股份有限公司 语音对话处理方法及装置
CN112767930A (zh) * 2019-11-06 2021-05-07 苏州思必驰信息科技有限公司 语音技能的对话管理器配置方法、人机对话方法及系统
CN111026467B (zh) * 2019-12-06 2022-12-20 合肥科大智能机器人技术有限公司 一种有限状态机的控制方法及有限状态机
CN111104502A (zh) * 2019-12-24 2020-05-05 携程计算机技术(上海)有限公司 外呼系统的对话管理方法、系统、电子设备和存储介质
CN111506292B (zh) * 2020-04-15 2021-06-15 思必驰科技股份有限公司 用于人机对话的语音技能跳转方法、电子设备及存储介质
CN111930912A (zh) * 2020-08-13 2020-11-13 携程计算机技术(上海)有限公司 对话管理方法及系统、设备和存储介质
CN113282355A (zh) * 2021-05-18 2021-08-20 Oppo广东移动通信有限公司 基于状态机的指令执行方法、装置、终端及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070102267A (ko) * 2006-04-14 2007-10-18 학교법인 포항공과대학교 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법
CN101137957A (zh) * 2005-01-26 2008-03-05 摩托罗拉公司 用于在基于任务的对话系统中产生查询的方法和系统
CN101203906A (zh) * 2005-05-31 2008-06-18 罗伯特·博世公司 使用脚本的对话管理
EP2051241A1 (en) * 2007-10-17 2009-04-22 Harman/Becker Automotive Systems GmbH Speech dialog system with play back of speech output adapted to the user
CN101496402A (zh) * 2005-02-28 2009-07-29 尹赖夫互动有限公司 用于直播节目期间管理大量观众的实时对话的方法和装置
CN102521733A (zh) * 2004-03-31 2012-06-27 谷歌股份有限公司 在基于对话的电子邮件系统中标注对话和消息
KR20120110392A (ko) * 2011-03-29 2012-10-10 포항공과대학교 산학협력단 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템
CN104571485A (zh) * 2013-10-28 2015-04-29 中国科学院声学研究所 一种基于Java Map的人机语音交互系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4686905B2 (ja) * 2000-07-21 2011-05-25 パナソニック株式会社 対話制御方法及びその装置
US6999931B2 (en) * 2002-02-01 2006-02-14 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521733A (zh) * 2004-03-31 2012-06-27 谷歌股份有限公司 在基于对话的电子邮件系统中标注对话和消息
CN101137957A (zh) * 2005-01-26 2008-03-05 摩托罗拉公司 用于在基于任务的对话系统中产生查询的方法和系统
CN101496402A (zh) * 2005-02-28 2009-07-29 尹赖夫互动有限公司 用于直播节目期间管理大量观众的实时对话的方法和装置
CN101203906A (zh) * 2005-05-31 2008-06-18 罗伯特·博世公司 使用脚本的对话管理
KR20070102267A (ko) * 2006-04-14 2007-10-18 학교법인 포항공과대학교 대화 관리 장치 및 그를 위한 대화 예제 기반의 대화모델링기법을 통한 대화 관리 방법
EP2051241A1 (en) * 2007-10-17 2009-04-22 Harman/Becker Automotive Systems GmbH Speech dialog system with play back of speech output adapted to the user
KR20120110392A (ko) * 2011-03-29 2012-10-10 포항공과대학교 산학협력단 확인 대화가 가능한 확률 및 예제 기반의 음성 대화 시스템
CN104571485A (zh) * 2013-10-28 2015-04-29 中国科学院声学研究所 一种基于Java Map的人机语音交互系统及方法

Also Published As

Publication number Publication date
CN105845137A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN105845137B (zh) 一种语音对话管理系统
US8041570B2 (en) Dialogue management using scripts
US8307015B2 (en) Decorated model architecture for efficient model-driven application development
US7216351B1 (en) Systems and methods for synchronizing multi-modal interactions
US7020841B2 (en) System and method for generating and presenting multi-modal applications from intent-based markup scripts
US8606804B2 (en) Runtime-defined dynamic queries
CN117194609A (zh) 为自动化助手提供命令束建议
CN110147225A (zh) 一种代码生成方法、装置及计算机设备、存储介质
WO2000021074A1 (en) Speech controlled computer user interface
WO2010091623A1 (zh) 应用程序界面动态生成装置及方法
CN103123593A (zh) Java应用服务器及处理Web业务的方法
KR20080040644A (ko) 음성 애플리케이션 계측 및 로깅
US20170060543A1 (en) Model augmentation in a model-driven application development environment
CN103473034A (zh) 一种动态发布Web 服务的方法和装置
CN106569835A (zh) 一种基于go语言控制反转组件的实现方法
CN101335651B (zh) 一种终端仿真测试系统及使用该系统扩充终端的方法
CN101751332B (zh) 工作流中间件的流程仿真方法、装置及系统
CN110765592B (zh) 一种仿真模型及其设计、信息更新方法、设备及存储介质
US8417511B2 (en) Dynamic grammars for reusable dialogue components
CN110457013A (zh) 程序组件配置装置及方法
CN103257855A (zh) 一种基于mvc的处理系统、处理方法及在美容软件中的应用
US20220129639A1 (en) Conditional responses to application commands in a client-server system
CN111857710A (zh) 一种基于内嵌chromium开发Eclipse插件的方法及装置
KR20080039577A (ko) 이종 모바일 플랫폼 사이의 컨텐츠 변환 장치 및 변환 방법
US7647227B1 (en) Machine assisted speech generation for a conversational voice response system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant