CN105845137A - 一种语音对话管理*** - Google Patents

一种语音对话管理*** Download PDF

Info

Publication number
CN105845137A
CN105845137A CN201610158818.5A CN201610158818A CN105845137A CN 105845137 A CN105845137 A CN 105845137A CN 201610158818 A CN201610158818 A CN 201610158818A CN 105845137 A CN105845137 A CN 105845137A
Authority
CN
China
Prior art keywords
state machine
state
dialogue
dialog
user
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.)
Granted
Application number
CN201610158818.5A
Other languages
English (en)
Other versions
CN105845137B (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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

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 VirtualMachine)平台上有着丰富的类库和框架,可以很方便地将本发明提供的对话管理***包装为Web服务,或是内嵌于移动设备中为用户服务。本发明实施例提供的对话管理***使用基于有限状态机和基于框架(frame-based)的混合式模型,以便于适用更广泛的对话场景。对话管理器的执行引擎由Java实现,而与具体应用领域相关的业务逻辑则由外置的JSON文档指定,其中可内嵌JavaScript代码对特定的对话流程进行定制化,以便于实现更为灵活的对话管理策略。
附图说明
为了更清楚说明本发明实施例的技术方案,下面将对实施例描述中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的语音对话管理***架构图;
图2为本发明实施例二提供的语音对话***架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明。
图1为本发明实施例一提供的语音对话管理***架构图。如图1所示,实施例一提供的对话管理***主要包括三个组成部分:对话管理器(DialogManager)、状态机(State Machine)和状态机模型(State Machine Model)。
其中,对话管理器为对话管理***的主体部分,对话管理器接收来自语音识别模块的文本输入信号,生成***回复,再经语音合成模块转换成语音,输出给用户。状态机,在运行时跟踪对话进程的状态信息,在用户产生输入动作时对对话状态进行更新;以及根据当前对话状态动态地产生相应的回复。状态机模型,用于描述对话的领域结构信息。下面具体介绍各组成部分的功能:
对话管理器(Dialog Manager)负责存储和维护当前所有有效的对话进程(dialog session),每个对话进程被赋予唯一的对应用户的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 (9)

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

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874259A (zh) * 2017-02-23 2017-06-20 腾讯科技(深圳)有限公司 一种基于状态机的语义解析方法及装置、设备
CN107291867A (zh) * 2017-06-13 2017-10-24 北京百度网讯科技有限公司 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质
CN108334353A (zh) * 2017-08-31 2018-07-27 科大讯飞股份有限公司 技能开发***及方法
CN108804488A (zh) * 2017-04-26 2018-11-13 谷歌有限责任公司 在特定子节点状态处实例化对话进程
CN108829797A (zh) * 2018-04-25 2018-11-16 苏州思必驰信息科技有限公司 多智能体对话策略***构建方法及自适应方法
CN109190114A (zh) * 2018-08-13 2019-01-11 北京百度网讯科技有限公司 用于生成回复信息的方法和装置
CN109670025A (zh) * 2018-12-19 2019-04-23 北京小米移动软件有限公司 对话管理方法及装置
CN109858019A (zh) * 2018-12-28 2019-06-07 北京百度网讯科技有限公司 对话状态跟踪方法及装置、存储介质及语义识别***
CN110866403A (zh) * 2018-08-13 2020-03-06 中国科学院声学研究所 基于卷积循环实体网络的端对端对话状态跟踪方法及***
CN111026467A (zh) * 2019-12-06 2020-04-17 合肥科大智能机器人技术有限公司 一种有限状态机的控制方法及有限状态机
CN111104502A (zh) * 2019-12-24 2020-05-05 携程计算机技术(上海)有限公司 外呼***的对话管理方法、***、电子设备和存储介质
CN111930912A (zh) * 2020-08-13 2020-11-13 携程计算机技术(上海)有限公司 对话管理方法及***、设备和存储介质
JP2021018797A (ja) * 2019-07-23 2021-02-15 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 対話の交互方法、装置、コンピュータ可読記憶媒体、及びプログラム
WO2021027198A1 (zh) * 2019-08-15 2021-02-18 苏州思必驰信息科技有限公司 语音对话处理方法及装置
CN112767930A (zh) * 2019-11-06 2021-05-07 苏州思必驰信息科技有限公司 语音技能的对话管理器配置方法、人机对话方法及***
CN113168418A (zh) * 2018-11-29 2021-07-23 三菱电机株式会社 对话装置、对话方法和对话程序
CN113282355A (zh) * 2021-05-18 2021-08-20 Oppo广东移动通信有限公司 基于状态机的指令执行方法、装置、终端及存储介质
WO2021208392A1 (zh) * 2020-04-15 2021-10-21 思必驰科技股份有限公司 用于人机对话的语音技能跳转方法、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013860A1 (en) * 2000-07-21 2002-01-31 Matsushita Electric Industrial Co., Ltd. Dialog control method and apparatus for controlling dialog
US20030149561A1 (en) * 2002-02-01 2003-08-07 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
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的人机语音交互***及方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020013860A1 (en) * 2000-07-21 2002-01-31 Matsushita Electric Industrial Co., Ltd. Dialog control method and apparatus for controlling dialog
US20030149561A1 (en) * 2002-02-01 2003-08-07 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
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的人机语音交互***及方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018153273A1 (zh) * 2017-02-23 2018-08-30 腾讯科技(深圳)有限公司 语义解析方法、装置及存储介质
CN106874259A (zh) * 2017-02-23 2017-06-20 腾讯科技(深圳)有限公司 一种基于状态机的语义解析方法及装置、设备
CN106874259B (zh) * 2017-02-23 2019-07-16 腾讯科技(深圳)有限公司 一种基于状态机的语义解析方法及装置、设备
US11381530B2 (en) 2017-04-26 2022-07-05 Google Llc Instantiation of dialog process at a particular child node state
CN108804488A (zh) * 2017-04-26 2018-11-13 谷歌有限责任公司 在特定子节点状态处实例化对话进程
CN108804488B (zh) * 2017-04-26 2022-05-10 谷歌有限责任公司 在特定子节点状态处实例化对话进程
CN107291867A (zh) * 2017-06-13 2017-10-24 北京百度网讯科技有限公司 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质
US10977578B2 (en) 2017-06-13 2021-04-13 Beijing Baidu Netcom Science And Technology Co., Ltd. Conversation processing method and apparatus based on artificial intelligence, device and computer-readable storage medium
CN108334353A (zh) * 2017-08-31 2018-07-27 科大讯飞股份有限公司 技能开发***及方法
CN108334353B (zh) * 2017-08-31 2021-04-02 科大讯飞股份有限公司 技能开发***及方法
CN108829797A (zh) * 2018-04-25 2018-11-16 苏州思必驰信息科技有限公司 多智能体对话策略***构建方法及自适应方法
CN109190114B (zh) * 2018-08-13 2022-06-07 北京百度网讯科技有限公司 用于生成回复信息的方法和装置
CN110866403B (zh) * 2018-08-13 2021-06-08 中国科学院声学研究所 基于卷积循环实体网络的端对端对话状态跟踪方法及***
CN110866403A (zh) * 2018-08-13 2020-03-06 中国科学院声学研究所 基于卷积循环实体网络的端对端对话状态跟踪方法及***
CN109190114A (zh) * 2018-08-13 2019-01-11 北京百度网讯科技有限公司 用于生成回复信息的方法和装置
CN113168418A (zh) * 2018-11-29 2021-07-23 三菱电机株式会社 对话装置、对话方法和对话程序
CN109670025A (zh) * 2018-12-19 2019-04-23 北京小米移动软件有限公司 对话管理方法及装置
CN109858019A (zh) * 2018-12-28 2019-06-07 北京百度网讯科技有限公司 对话状态跟踪方法及装置、存储介质及语义识别***
JP2021018797A (ja) * 2019-07-23 2021-02-15 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 対話の交互方法、装置、コンピュータ可読記憶媒体、及びプログラム
US11322153B2 (en) 2019-07-23 2022-05-03 Baidu Online Network Technology (Beijing) Co., Ltd. Conversation interaction method, apparatus and computer readable storage medium
JP7150770B2 (ja) 2019-07-23 2022-10-11 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド 対話方法、装置、コンピュータ可読記憶媒体、及びプログラム
WO2021027198A1 (zh) * 2019-08-15 2021-02-18 苏州思必驰信息科技有限公司 语音对话处理方法及装置
CN112767930A (zh) * 2019-11-06 2021-05-07 苏州思必驰信息科技有限公司 语音技能的对话管理器配置方法、人机对话方法及***
CN111026467A (zh) * 2019-12-06 2020-04-17 合肥科大智能机器人技术有限公司 一种有限状态机的控制方法及有限状态机
CN111026467B (zh) * 2019-12-06 2022-12-20 合肥科大智能机器人技术有限公司 一种有限状态机的控制方法及有限状态机
CN111104502A (zh) * 2019-12-24 2020-05-05 携程计算机技术(上海)有限公司 外呼***的对话管理方法、***、电子设备和存储介质
WO2021208392A1 (zh) * 2020-04-15 2021-10-21 思必驰科技股份有限公司 用于人机对话的语音技能跳转方法、电子设备及存储介质
CN111930912A (zh) * 2020-08-13 2020-11-13 携程计算机技术(上海)有限公司 对话管理方法及***、设备和存储介质
CN113282355A (zh) * 2021-05-18 2021-08-20 Oppo广东移动通信有限公司 基于状态机的指令执行方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN105845137B (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN105845137A (zh) 一种语音对话管理***
CN111046150B (zh) 人机交互处理***及其方法、存储介质、电子设备
CN101203906B (zh) 使用脚本进行对话管理的方法、设备和***
US7389213B2 (en) Dialogue flow interpreter development tool
US7020841B2 (en) System and method for generating and presenting multi-modal applications from intent-based markup scripts
US9081550B2 (en) Adding speech capabilities to existing computer applications with complex graphical user interfaces
CN117194609A (zh) 为自动化助手提供命令束建议
CN108279839A (zh) 基于语音的交互方法、装置、电子设备及操作***
WO2015147702A1 (ru) Способ и система голосового интерфейса
US20060020917A1 (en) Method for handling a multi-modal dialog
US20200409693A1 (en) File generation method, device and apparatus, and storage medium
CN109902296A (zh) 自然语言处理方法、训练方法及数据处理设备
CN109948151A (zh) 构建语音助手的方法
US10474439B2 (en) Systems and methods for building conversational understanding systems
CN109947388A (zh) 页面播读的控制方法、装置、电子设备及存储介质
CN107291471A (zh) 一种支持可定制化数据采集的元模型框架***
CN110427459A (zh) 语音识别网络的可视化生成方法、***及平台
CN109144458A (zh) 用于执行与语音输入相对应的操作的电子设备
CN111402872A (zh) 用于智能语音对话***的语音数据处理方法及装置
CA2427512C (en) Dialogue flow interpreter development tool
CN112835582A (zh) 基于容器引擎的渲染方法、装置、设备以及存储介质
CN101751332A (zh) 工作流中间件的流程仿真方法、装置及***
US8417511B2 (en) Dynamic grammars for reusable dialogue components
US20230016962A1 (en) Multilingual natural language understanding model platform
Rosenfeld et al. Universal Human-Machine Speech Interface

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