CN109858019A - 对话状态跟踪方法及装置、存储介质及语义识别系统 - Google Patents
对话状态跟踪方法及装置、存储介质及语义识别系统 Download PDFInfo
- Publication number
- CN109858019A CN109858019A CN201811626579.7A CN201811626579A CN109858019A CN 109858019 A CN109858019 A CN 109858019A CN 201811626579 A CN201811626579 A CN 201811626579A CN 109858019 A CN109858019 A CN 109858019A
- Authority
- CN
- China
- Prior art keywords
- dialogue
- data
- state machine
- operation information
- state
- 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
Links
Landscapes
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种对话状态跟踪方法及装置、存储介质及语义识别系统。该方法包括:获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据,然后,将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。本发明的方法,解决了现有的对话状态跟踪方案存在的复杂程度高且难以维护的问题,降低了维护成本和测试成本。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种对话状态跟踪方法及装置、存储介质及语义识别系统。
背景技术
对话状态跟踪(Dialogue State Tracking,DST)是指利用多轮对话来确定用户目标(user goal)的过程。具体而言,user goal可以包括意图、槽位以及态度。
在多轮对话的场景中,如何获取到用户的user goal重要且复杂。目前,一般通过代码方式实现对话状态跟踪。具体而言,是通过if-else判断实现逻辑控制,并且,if-else判断通常以多层嵌套的方式实现。
而随着对话业务的提升,多轮对话场景中需要执行的判断情况越来越多,这就导致以代码方式控制逻辑时,需要更加复杂的if-else嵌套方式,由于代码的膨胀使得对话状态跟踪过程的复杂化,从而,导致对话状态跟踪过程难以维护。
发明内容
本发明提供一种对话状态跟踪方法及装置、存储介质及语义识别系统,用以解决现有的对话状态跟踪方案存在的复杂程度高且难以维护的问题。
第一方面,本发明提供一种对话状态跟踪方法,包括:
获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据;
将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。
第二方面,本发明提供一种对话状态跟踪装置,包括:
第一获取模块,用于获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据;
第二获取模块,用于将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。
第三方面,本发明提供一种对话状态跟踪装置,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面任一项所述的方法。
第四方面,本发明提供一种语义识别系统,包括:如第二方面或第三方面所述的对话状态跟踪装置。
第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如第一方面所述的方法。
本发明提供的对话状态跟踪方法及装置、存储介质及语义识别系统,通过对对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据等状态数据的获取,利用对话状态机来实现对话状态跟踪,而状态机可以通过简单的逻辑判断实现控制和维护,具备更高的可靠性和可控性,能够有效降低多轮对话场景中的对话状态跟踪复杂度,降低维护成本和测试成本。因此,本发明实施例所提供的技术方案能够解决解决现有的对话状态跟踪方案存在的复杂程度高且难以维护的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明实施例所提供的一种对话状态跟踪方法的流程示意图;
图2为本发明实施例所提供的另一种对话状态跟踪方法的流程示意图;
图3为本发明实施例所提供的一种对话状态机的示意图;
图4为本发明实施例所提供的另一种对话状态跟踪方法的流程示意图;
图5为本发明实施例所提供的另一种对话状态跟踪方法的流程示意图;
图6为本发明实施例所提供的一种语义识别系统的架构示意图;
图7为本发明实施例所提供的一种对话状态跟踪装置的功能方块图;
图8为本发明实施例所提供的一种对话状态跟踪装置的实体结构示意图;
图9为本发明实施例所提供的另一种语义识别系统的架构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
对话状态跟踪(Dialogue State Tracking,DST)是指利用多轮对话来确定用户目标(user goal)的过程。
有限状态机(Finite-state machine,FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
对话状态机,是指本发明实施例中适用于对话场景下用于识别对话数据的目标对话状态的状态机。
目标对话状态,也就是,前述user goal,是指对话状态跟踪所获取到的结果,其可具体包括:意图、槽位以及态度及其组合。
意图,是指用户希望在对话场景中获取到的信息是什么。例如,若具体对话数据为“我的套餐是多少钱的?”则其意图在于获取套餐价格。
槽位,是指在对话数据中抽取出的特定概念,在语义识别的场景中,是指需要补全的信息位。
槽位填充,是指为了让用户意图转化为明确的指令而补全信息的过程。
态度,是指在对话场景中用户所表达的对于意图或槽位所持的态度是肯定还是否定的。
本发明具体的应用场景为对话状态跟踪的场景。进一步地,可以应用于对话场景中针对对话数据的意图、槽位及态度的填充场景,以及,更进一步地,该场景可进一步应用于多轮语义识别场景。
在对话状态跟踪这一具体的应用场景中,现有技术一般通过复杂的代码嵌套逻辑实现,在代码嵌套的方案逻辑中,随着业务的不断展开,代码发生膨胀且越来越难以控制,维护成本越来越高。
本发明提供的对话状态跟踪方法,旨在解决现有技术的如上技术问题,并提出如下解决思路:构建对话状态机,并以对话状态机来实现对话状态跟踪,如此,在需要对控制逻辑进行维护时,仅需要在状态机中修改节点及节点之间的流转关系即可。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
本发明实施例提供了一种对话状态跟踪方法。请参考图1,该方法包括如下步骤:
S102,获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据。
其中,上文信息是指对话场景中已经发生的对话数据。具体而言,上文信息一般被记录在历史消息结构体中,因此,获取上文数据时,可通过调用历史消息结构体的方式实现。
而意图识别数据、槽位识别数据与态度识别数据,是指针对对话数据本轮识别出来的意图、槽位和态度数据。
具体的,意图识别数据、槽位识别数据与态度识别数据的获取,可以通过与上下文无关的识别模型实现,也就是,将对话数据输入各自对应的识别模型(意图、槽位和态度识别模型),并获取各识别模型(意图、槽位和态度识别模型)的输出结果,即可得到对话数据的意图、槽位和态度识别数据。
在一个可能的实现过程中,可以将意图识别数据、槽位识别数据与态度识别数据作为一个数据结构体进行使用。以下,为了便于说明,将意图识别数据、槽位识别数据与态度识别数据统称为“识别数据结构体”进行说明。
S104,将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。
具体而言,对话状态机的输入为:前述S102所获取到的状态数据,输出为:目标对话状态,也就是,对话数据对应的user goal。在具体实现时,这些状态数据在对话状态机中的各个节点进行判断,并根据判断结果进行流转,最终指向结束节点,如此,将结束节点对应的对话状态确定为目标对话状态即可。
具体而言,在一个可能的设计中,请参考图2,本发明实施例在执行S104步骤之前,该方法还可以包括如下步骤:
S101,构建对话状态机。
具体而言,可以通过如下方法构建状态机:可对对话样本进行数据分析,得到对话场景下的状态跟踪流程图,进而,根据所述状态跟踪流程图,构建所述对话状态机。
具体来说,对话样本可以根据需要进行预设。在一个可能的实现场景中,考虑到人机交互的具体场景中会伴随产生大量的日志留存,因此,可以将这些日志作为对话样本,并对其进行分析以得到前述状态跟踪流程图。或者,在另一实现场景中,对话样本还可以是预先准备好的其他样本数据,对此无特别限定。
而根据所述状态跟踪流程图,构建所述对话状态机的具体实现方式可以为:
根据所述状态跟踪流程图,建立各流程节点,各流程节点对应于至少一个判断逻辑函数;
根据所述至少一个判断逻辑函数,建立各流程节点与下级流程节点之间的流转关系,由所述流转关系构建所述对话状态机。
具体而言,逻辑判断函数用于判断在当前节点之后执行后续哪一个流程节点,逻辑判断函数实际定义了当前流程节点(判断逻辑函数对应的一个流程节点作为上级流程节点)与其他流程节点(作为上级流程节点后可执行的下级流程节点)之间的映射关系与映射条件。具体而言,只有在两个流程节点之间存在映射关系,且满足上级流程节点的映射条件的情况下,才可以将该流程节点作为下级流程节点。换言之,任意两个流程节点之间的流转关系由上级节点的判断逻辑函数来决定。
为了便于理解,以下,结合图3所示的对话状态机示意图,对前述构建对话状态机的实现方式进行具体说明。
具体的,图3所示的对话状态机实际上可以表征如下的处理流程:
S1,开始。
S2,判断对话数据是否有上文信息(dialogue_nil);若是(is_dialogue_nil_no),执行S3;若否(is_dialogue_nil_yes),至S10。
S3,判断对话数据的意图状态是否被填充(attention_value);若否(is_attention_value_empty),执行S4;若是,(is_attention_value_filled),执行S5。
S4,复查意图状态是否被选择或确认(check_state);若意图状态被选择(is_select),执行S6;若意图状态被确认(is_confirm),执行S7;若意图状态未被选择也未被确认(not_select_nor_confirm),执行S8。
S5,对意图状态的态度进行复查(check_attitude1);若态度为否(is_attitude_no),执行S7;若态度为非否(is_attitude_not_no),执行S9。
S6,对选择的意图状态的态度进行复查(check_attitude2);若态度为否(is_attitude_no),执行S7;若态度为非否(is_not_no),执行S8。
S7,意图状态填充非否(fill_attitude)。
具体而言,由于S5的复查结果表示用户对该意图状态的态度为否,因此,可将上轮意图的意图状态,作为该对话数据的目标对话状态。换言之,目标对话状态源于继承上轮意图。
S8,意图状态填充为普通(fill_normal)。
具体而言,可认为该对话数据的目标对话状态为无状态。
S9,意图状态正常填充(fill_attitude_yes)。
具体而言,由于S5的复查结果表示用户对该意图状态的态度为非否,因此,可将本轮识别意图,作为该对话数据的目标对话状态。换言之,目标对话状态源于本轮识别意图。
在一个具体的实现过程中,本轮识别意图也就是S102中所获取到的状态数据,因此,可将利用识别模型得到的状态数据作为该对话数据的目标对话状态。
S10,结束。
以下,为了便于说明,将S2~S6中的每个判断步骤作为一个判断节点。
由此可知,在图3所述的对话状态机的构建过程中,基于前述状态跟踪流程图,可以预先建立S1~S10共10个节点,并为每个流程节点建立对应的判断逻辑函数,并基于判断逻辑函数建立与下级流程节点之间的流转关系。
具体而言,若流程节点对应于至少两个判断逻辑函数,则建立每个判断逻辑函数与下级流程节点之间的映射关系与映射条件,以作为所述流转关系。
以S3节点为例,S4节点与S5节点作为S3节点的下级节点。则一个实现场景中,S3节点对应于两个函数,分别为:对应于S3→S4的判断逻辑函数is_dialogue_nil_no,以及,对应于S3→S5的判断逻辑函数is_dialogue_nil_yes。
除设计该映射关系之外,还需要进一步确定映射条件,也就是,在判断逻辑函数满足什么条件时,将该映射关系对应的下级节点作为下级流转接点。
在一个实现场景中,可将前述两个判断逻辑函数的输出结果为目标结果,例如,输出结果为(true)时,将该映射关系对应的下级节点作为下级流转接点。
例如,S3节点对应的两个判断逻辑函数is_dialogue_nil_no与判断逻辑函数is_dialogue_nil_yes之间,若判断逻辑函数is_dialogue_nil_yes的输出结果为是,则将S5节点作为S3节点的下级流转节点,进入S5节点的执行步骤;反之,若判断逻辑函数is_dialogue_nil_no的输出结果为是,则将S4节点作为S3节点的下级流转节点,进入S4节点的执行步骤。
或者,在另一实现场景中,考虑到可能会有多个判断逻辑函数的输出结果为目标结果,例如,输出结果为true,因此,还可以将最先得到的输出结果为目标结果的映射关系对应的下级节点作为下级流转接点。
例如,若S3节点对应的判断逻辑函数is_dialogue_nil_no与判断逻辑函数is_dialogue_nil_yes的输出结果均为true;那么,若判断逻辑函数is_dialogue_nil_no的输出结果最先得到,则将S4节点作为S3节点的下级流转节点,进入S4节点的执行步骤;反之,若判断逻辑函数is_dialogue_nil_yes的输出结果最先得到,则将S5节点作为S3节点的下级流转节点,进入S5节点的执行步骤。
若流程节点对应于一个判断逻辑函数,则可建立该判断逻辑函数的判断结果与下级流程节点之间的映射关系,以作为所述流转关系。
仍以S3节点为例,则S3节点可对应于一个函数dialogue_nil,当其输出结果为is_dialogue_nil_no时,则将S4节点作为S3节点的下级流转节点,进入S4节点的执行步骤;反之,当其输出结果为is_dialogue_nil_yes时,则将S5节点作为S3节点的下级流转节点,进入S5节点的执行步骤。
其余判断节点(S3~S6节点)与其对应的下级节点之间的流转关系可依据前述方式进行设定,在此不再赘述。
通过前述任一实现方式,可实现针对对话状态机的构建。因此,可基于前述对话状态机的构建方式,实现对S104所述对话状态机的构建。
需要说明的是,如图3所示的对话状态机仅为一种可行的实现方式,用以说明本方案所述的对话状态机的构建方式,并不用以限制本发明实施例所构建的对话状态机的具体内容(节点、函数及映射关系等),在具体实现时,对话状态机根据状态跟踪流程图进行构建即可。
通过前述对话状态机的构建方式可知,本发明实施例所提供的对话状态跟踪方法可以通过对对话状态机的流程节点或节点之间的流转关系进行调整,即可实现对对话状态跟踪流程的维护,相较于代码嵌套的方式,具备较高的灵活性,极大降低了维护成本。
进一步的,在一个可行的实现方式中,请参考图4,该方法还可以包括如下流程:
S402,输出可视化的对话状态机。
例如,可在屏幕上输出如图3所示的对话状态机。
可视化的对话状态机使得复杂的流程可视化,使得DST过程更加容易维护和配置。具体而言,用户可直接在该可视化的对话状态机上进行操作,以实现对对话状态跟踪流程的更改或维护,这能够极大的方便用户操作,维护过程更加可控且高效。
具体而言,如图4所示,该方法还可以包括如下流程:
S404,接收针对可视化的所述对话状态机的操作信息。
本发明实施例对于操作信息的输入方式无特别限定。具体的,该操作信息可以为手指触碰屏幕产生的操作信息,或者,也可以是通过输入设备,如键盘、鼠标、可穿戴设备等,产生的操作信息。
本发明实施例对于可接收到的操作信息的种类无特别限定。一个实现场景中,基于输出的可视化的对话状态机,本方案所接收到的操作信息可以包括但不限于如下至少一种:拖拽操作信息、点击操作信息与文字编辑操作信息。
其中,拖拽操作信息可以包括针对流转关系的拖拽操作信息。以图3为例,例如,该拖拽操作信息为将S2→S10之间的流转关系进行拖拽,使得操作后的流转关系为:S2→S9。此外,拖拽操作信息还可以为针对流程节点的拖拽操作信息。
点击操作信息还可以进一步细分为:单击、长按、双击等方式操作对话状态机产生的操作信息,若输入方式为鼠标,则还可以进一步区分左键点击操作信息和右键点击操作信息。
S406,根据所述操作信息,对所述对话状态机进行维护。
具体而言,可通过前述操作信息,实现如下至少一种维护:
根据所述操作信息,变更节点之间的流转关系;
根据所述操作信息,新建节点之间的流转关系;
根据所述操作信息,新建任意节点并建立新建节点与其他节点之间的流转关系;
根据所述操作信息,删除任意节点;
根据所述操作信息,删除节点之间的流转关系。
在具体实现时,可设定各操作信息对应的维护方式。在具体设置时,可一对一设置,或者,还可以以组合的方式设置。
例如,若接收到针对两个节点之间流转关系的拖拽操作信息,则可根据该拖拽操作信息变更节点之间的流转关系。
又例如,若接收到针对任一节点的双击操作信息,则可输出编辑框,以便于用户根据需要对该节点的判断逻辑函数进行变更。
需要说明的是,图4所示的各流程执行在图2所示的S101步骤之后,本发明实施例对于S402~S406与图1、图2所示的S102、S104的执行顺序无特别限定,根据需要执行即可。
通过如图4所示的方法,用户可通过对可视化的对话状态机进行拖拽、点击等操作,配置代码逻辑,减少了代码的维护成本、调试成本。
此外,本发明实施例中,通过对话状态机,可以获取到对话数据的目标对话状态,而该目标对话状态可进一步应用于对话数据的状态填充。此时,如图5所示,该方法还可以包括:
S106,根据所述目标对话状态,对所述对话数据进行状态填充。
如前所述,所述目标对话状态继承于上轮对话状态;或者,所述目标对话状态源于本轮对话状态。
具体进行填充时,可直接填充文字。如表1所述方式进行填充。
表1
起点 | 条件 | 终点 |
判断继承来源 | 源于继承上轮意图 | 意图状态填充非否 |
判断继承来源 | 源于本轮识别意图 | 意图状态正常填充 |
或者,也可设置规则文件,并以个状态对应的标识符的方式进行填充。其中,标识符可以根据需要设定,本发明实施例对此无特别限定。
例如,在一个具体的实现场景中,可通过数字1和2来实现状态填充。此时,规则文件可以配置为:
此时,请参考表2,表2示出了一种意图和槽位的数据结构。
表2
基于本发明实施例前述通过对话状态机得到的目标对话状态,即可将目标对话状态对应的标识符填充至表2中意图和槽位各自对应的is_inherit位置,以实现对意图和槽位的状态填充。
本发明实施例中,前述规则文件可进一步应用于如图6所示的多轮语义识别场景中。
如图6所示,对话数据,包括提问(query)数据与答复(context)数据,输入语义识别系统(Dialogue System),通过单轮语义识别中的意图(Intent)识别和槽位(Slot)识别,得到S102所述的状态数据,进入多轮语义识别模块,实现本发明实施例所述的对话状态跟踪(DST)方法。
可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
实施例二
基于上述实施例一所提供的对话状态跟踪方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
本发明实施例提供了一种对话状态跟踪装置,请参考图7,该对话状态跟踪装置700,包括:
第一获取模块71,用于获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据;
第二获取模块72,用于将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。
在一个具体的实现场景中,所述对话状态机通过如下方法进行构建:
对对话样本进行数据分析,得到对话场景下的状态跟踪流程图;
根据所述状态跟踪流程图,构建所述对话状态机。
具体的,构建模块可具体用于:
根据所述状态跟踪流程图,建立各流程节点,各流程节点对应于至少一个判断逻辑函数;
根据所述至少一个判断逻辑函数,建立各流程节点与下级流程节点之间的流转关系,由所述流转关系构建所述对话状态机。
具体的,构建模块可具体用于:
若该流程节点对应于至少两个判断逻辑函数,建立每个判断逻辑函数与下级流程节点之间的映射关系与映射条件,以作为所述流转关系。
或者,构建模块可具体用于:
若该流程节点仅包括一个判断逻辑函数,建立该判断逻辑函数的判断结果与下级流程节点之间的映射关系,以作为所述流转关系。
此外,在另一设计中,该对话状态跟踪装置700还包括:
输出模块(图7未示出),用于输出可视化的所述对话状态机。
此时,在另一设计中,该对话状态跟踪装置700还可以包括:
接收模块(图7未示出),用于接收针对可视化的所述对话状态机的操作信息;其中,所述操作信息包括如下至少一种:拖拽操作信息、点击操作信息与文字编辑操作信息;
维护模块(图7未示出),用于根据所述操作信息,对所述对话状态机进行维护。
其中,维护模块,可具体用于:
根据所述操作信息,变更节点之间的流转关系;
根据所述操作信息,新建节点之间的流转关系;
根据所述操作信息,新建任意节点并建立新建节点与其他节点之间的流转关系;
根据所述操作信息,删除任意节点;
根据所述操作信息,删除节点之间的流转关系。
此外,另一设计中,该对话状态跟踪装置700还包括:
填充模块(图7未示出),用于根据所述目标对话状态,对所述对话数据进行状态填充。
其中,所述目标对话状态继承于上轮对话状态;或者,所述目标对话状态源于本轮对话状态。
应理解以上图7所示对话状态跟踪装置700中各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
并且,本发明实施例提供了一种对话状态跟踪装置,请参考图8,该对话状态跟踪装置700,包括:
存储器710;
处理器720;以及
计算机程序;
其中,计算机程序存储在存储器710中,并被配置为由处理器720执行以实现如上述实施例所述的方法。
在数据处理装置700中,处理器720的数目可以为一个或多个,处理器720也可以称为处理单元,可以实现一定的控制功能。所述处理器720可以是通用处理器或者专用处理器等。存储器710的数目可以为一个或多个,存储器710上存有指令或者中间数据,所述指令可在所述处理器710上被运行,使得数据处理装置700执行上述方法实施例中描述的方法。可选地,所述存储器中还可以存储有其他相关数据。
此外,如图8所示,在该对话状态跟踪装置700中还设置有收发器730,用于与其他设备进行数据传输或通信,在此不再赘述。
如图8所示,存储器710、处理器720与收发器730通过总线连接并通信。
此外,在一种可能的设计中,本发明实施例所涉及到的对话状态跟踪装置700可以为一个独立的设备或者是较大设备的一部分。例如,较大设备可以为人机交互服务器或客户端。
此外,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现如实施例一所述的方法。
以及,本发明实施例提供了一种语义识别系统,请参考图9,该语义识别系统900包括:对话状态跟踪装置700。
由于本实施例中的各模块能够执行实施例一所示的方法,本实施例未详细描述的部分,可参考对实施例一的相关说明。
本发明实施例所提供的技术方案至少具备如下技术效果:
本发明提供的对话状态跟踪方法及装置、存储介质及语义识别系统,通过对对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据等状态数据的获取,利用对话状态机来实现对话状态跟踪,而状态机可以通过简单的逻辑判断实现控制和维护,具备更高的可靠性和可控性,能够有效降低多轮对话场景中的对话状态跟踪复杂度,降低维护成本和测试成本。因此,本发明实施例所提供的技术方案能够解决解决现有的对话状态跟踪方案存在的复杂程度高且难以维护的问题。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
Claims (13)
1.一种对话状态跟踪方法,其特征在于,包括:
获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据;
将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。
2.根据权利要求1所述方法,其特征在于,所述对话状态机通过如下方法进行构建:
对对话样本进行数据分析,得到对话场景下的状态跟踪流程图;
根据所述状态跟踪流程图,构建所述对话状态机。
3.根据权利要求2所述的方法,其特征在于,所述根据所述状态跟踪流程图,构建所述对话状态机,包括:
根据所述状态跟踪流程图,建立各流程节点,各流程节点对应于至少一个判断逻辑函数;
根据所述至少一个判断逻辑函数,建立各流程节点与下级流程节点之间的流转关系,由所述流转关系构建所述对话状态机。
4.根据权利要求3所述的方法,其特征在于,所述根据所述至少一个判断逻辑函数,建立各流程节点与下级流程节点之间的流转关系,包括:
若该流程节点对应于至少两个判断逻辑函数,建立每个判断逻辑函数与下级流程节点之间的映射关系与映射条件,以作为所述流转关系;
若该流程节点仅包括一个判断逻辑函数,建立该判断逻辑函数的判断结果与下级流程节点之间的映射关系,以作为所述流转关系。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
输出可视化的所述对话状态机。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收针对可视化的所述对话状态机的操作信息,所述操作信息包括如下至少一种:拖拽操作信息、点击操作信息与文字编辑操作信息;
根据所述操作信息,对所述对话状态机进行维护。
7.根据权利要求6所述的方法,其特征在于,所述根据所述操作信息,对所述对话状态机进行维护,包括如下至少一种方式:
根据所述操作信息,变更节点之间的流转关系;
根据所述操作信息,新建节点之间的流转关系;
根据所述操作信息,新建任意节点并建立新建节点与其他节点之间的流转关系;
根据所述操作信息,删除任意节点;
根据所述操作信息,删除节点之间的流转关系。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标对话状态,对所述对话数据进行状态填充。
9.根据权利要求1或8所述的方法,其特征在于,所述目标对话状态继承于上轮对话状态;或者,所述目标对话状态源于本轮对话状态。
10.一种对话状态跟踪装置,其特征在于,包括:
第一获取模块,用于获取对话数据的状态数据,所述状态数据包括所述对话数据的上文信息、意图识别数据、槽位识别数据与态度识别数据;
第二获取模块,用于将所述状态数据作为对话状态机的输入,获取所述对话状态机的输出,以作为所述对话数据的目标对话状态。
11.一种对话状态跟踪装置,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-9任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,
所述计算机程序被处理器执行以实现如权利要求1-9任一项所述的方法。
13.一种语义识别系统,其特征在于,包括:如权利要求10或11所述的对话状态跟踪装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626579.7A CN109858019B (zh) | 2018-12-28 | 2018-12-28 | 对话状态跟踪方法及装置、存储介质及语义识别系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626579.7A CN109858019B (zh) | 2018-12-28 | 2018-12-28 | 对话状态跟踪方法及装置、存储介质及语义识别系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858019A true CN109858019A (zh) | 2019-06-07 |
CN109858019B CN109858019B (zh) | 2023-07-25 |
Family
ID=66893080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811626579.7A Active CN109858019B (zh) | 2018-12-28 | 2018-12-28 | 对话状态跟踪方法及装置、存储介质及语义识别系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858019B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111158873A (zh) * | 2019-12-19 | 2020-05-15 | 贝壳技术有限公司 | 系统状态机实现方法、装置、存储介质及处理器 |
CN111177338A (zh) * | 2019-12-03 | 2020-05-19 | 北京博瑞彤芸科技股份有限公司 | 一种基于上下文的多轮对话方法 |
CN111291157A (zh) * | 2020-01-21 | 2020-06-16 | 招商银行股份有限公司 | 应答响应方法、装置、终端及存储介质 |
CN111930912A (zh) * | 2020-08-13 | 2020-11-13 | 携程计算机技术(上海)有限公司 | 对话管理方法及系统、设备和存储介质 |
CN112131885A (zh) * | 2019-06-24 | 2020-12-25 | 北京猎户星空科技有限公司 | 语义识别方法、装置、电子设备及存储介质 |
CN112270182A (zh) * | 2020-11-12 | 2021-01-26 | 佰聆数据股份有限公司 | 一种基于多轮对话问答式的分析思路衍生方法、系统及存储介质 |
CN112307188A (zh) * | 2020-12-30 | 2021-02-02 | 北京百度网讯科技有限公司 | 对话生成方法、系统、电子设备和可读存储介质 |
CN112559715A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 态度的识别方法、装置、设备及存储介质 |
CN112767930A (zh) * | 2019-11-06 | 2021-05-07 | 苏州思必驰信息科技有限公司 | 语音技能的对话管理器配置方法、人机对话方法及系统 |
CN113468303A (zh) * | 2021-06-25 | 2021-10-01 | 北京房江湖科技有限公司 | 对话交互处理方法及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002358304A (ja) * | 2001-05-31 | 2002-12-13 | P To Pa:Kk | 会話制御システム |
CN105845137A (zh) * | 2016-03-18 | 2016-08-10 | 中国科学院声学研究所 | 一种语音对话管理系统 |
CN106844047A (zh) * | 2017-01-11 | 2017-06-13 | 上海传英信息技术有限公司 | 一种智能终端的应用程序优化方法 |
CN108415923A (zh) * | 2017-10-18 | 2018-08-17 | 北京邮电大学 | 封闭域的智能人机对话系统 |
CN108710704A (zh) * | 2018-05-28 | 2018-10-26 | 出门问问信息科技有限公司 | 对话状态的确定方法、装置、电子设备及存储介质 |
CN108920497A (zh) * | 2018-05-23 | 2018-11-30 | 北京奇艺世纪科技有限公司 | 一种人机交互方法及装置 |
CN109036380A (zh) * | 2018-07-04 | 2018-12-18 | 苏州思必驰信息科技有限公司 | 对话状态跟踪方法、系统、电子设备及存储介质 |
-
2018
- 2018-12-28 CN CN201811626579.7A patent/CN109858019B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002358304A (ja) * | 2001-05-31 | 2002-12-13 | P To Pa:Kk | 会話制御システム |
CN105845137A (zh) * | 2016-03-18 | 2016-08-10 | 中国科学院声学研究所 | 一种语音对话管理系统 |
CN106844047A (zh) * | 2017-01-11 | 2017-06-13 | 上海传英信息技术有限公司 | 一种智能终端的应用程序优化方法 |
CN108415923A (zh) * | 2017-10-18 | 2018-08-17 | 北京邮电大学 | 封闭域的智能人机对话系统 |
CN108920497A (zh) * | 2018-05-23 | 2018-11-30 | 北京奇艺世纪科技有限公司 | 一种人机交互方法及装置 |
CN108710704A (zh) * | 2018-05-28 | 2018-10-26 | 出门问问信息科技有限公司 | 对话状态的确定方法、装置、电子设备及存储介质 |
CN109036380A (zh) * | 2018-07-04 | 2018-12-18 | 苏州思必驰信息科技有限公司 | 对话状态跟踪方法、系统、电子设备及存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131885A (zh) * | 2019-06-24 | 2020-12-25 | 北京猎户星空科技有限公司 | 语义识别方法、装置、电子设备及存储介质 |
CN112767930A (zh) * | 2019-11-06 | 2021-05-07 | 苏州思必驰信息科技有限公司 | 语音技能的对话管理器配置方法、人机对话方法及系统 |
CN111177338B (zh) * | 2019-12-03 | 2023-07-21 | 北京博瑞彤芸科技股份有限公司 | 一种基于上下文的多轮对话方法 |
CN111177338A (zh) * | 2019-12-03 | 2020-05-19 | 北京博瑞彤芸科技股份有限公司 | 一种基于上下文的多轮对话方法 |
CN111158873A (zh) * | 2019-12-19 | 2020-05-15 | 贝壳技术有限公司 | 系统状态机实现方法、装置、存储介质及处理器 |
CN111291157A (zh) * | 2020-01-21 | 2020-06-16 | 招商银行股份有限公司 | 应答响应方法、装置、终端及存储介质 |
CN111291157B (zh) * | 2020-01-21 | 2023-08-08 | 招商银行股份有限公司 | 应答响应方法、装置、终端及存储介质 |
CN111930912A (zh) * | 2020-08-13 | 2020-11-13 | 携程计算机技术(上海)有限公司 | 对话管理方法及系统、设备和存储介质 |
CN112270182A (zh) * | 2020-11-12 | 2021-01-26 | 佰聆数据股份有限公司 | 一种基于多轮对话问答式的分析思路衍生方法、系统及存储介质 |
CN112559715A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 态度的识别方法、装置、设备及存储介质 |
CN112559715B (zh) * | 2020-12-24 | 2023-09-22 | 北京百度网讯科技有限公司 | 态度的识别方法、装置、设备及存储介质 |
CN112307188A (zh) * | 2020-12-30 | 2021-02-02 | 北京百度网讯科技有限公司 | 对话生成方法、系统、电子设备和可读存储介质 |
CN113468303B (zh) * | 2021-06-25 | 2022-05-17 | 贝壳找房(北京)科技有限公司 | 对话交互处理方法及计算机可读存储介质 |
CN113468303A (zh) * | 2021-06-25 | 2021-10-01 | 北京房江湖科技有限公司 | 对话交互处理方法及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109858019B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858019A (zh) | 对话状态跟踪方法及装置、存储介质及语义识别系统 | |
US10191721B1 (en) | Systems and methods for generating functional application designs | |
CN109514586A (zh) | 实现智能客服机器人的方法及系统 | |
CN112558824B (zh) | 一种页面显示方法、装置、以及计算机存储介质 | |
CN109445842A (zh) | 规则生成方法、装置、计算机设备和存储介质 | |
CN108804299A (zh) | 应用程序异常处理方法及装置 | |
CN103984626B (zh) | 一种生成测试用例脚本的方法及装置 | |
CN109683907A (zh) | 代码补全方法、装置、设备及存储介质 | |
CN107463409A (zh) | 一种接口转换方法、接口转换器、存储介质及电子终端 | |
CN107463301A (zh) | 基于人工智能的对话系统构建方法、装置、设备及计算机可读存储介质 | |
CN102054217B (zh) | 基于元模型的工具中的实体变形 | |
CN103646104A (zh) | 一种强实时故障诊断方法及系统 | |
CN111611368A (zh) | 多轮对话中公共场景对话回溯的方法和装置 | |
CN109634570A (zh) | 前后端集成开发方法、装置、设备及计算机可读存储介质 | |
CN105144091B (zh) | 针对基于程序的命令行的用户界面模型生成 | |
CN112286485A (zh) | 通过语音控制应用的方法、装置、电子设备与存储介质 | |
CN102982217B (zh) | 丝印的处理方法和装置 | |
US10402399B2 (en) | Computer implemented system and method for dynamically optimizing business processes | |
CN107832224A (zh) | 一种应用程序的测试方法、装置、存储介质及智能终端 | |
CN111399829A (zh) | 一种基于模型驱动的波形建模方法及终端 | |
CN106951373A (zh) | 一种用于电网网管移动运维软件的自动化测试方法及装置 | |
CN110347958A (zh) | 聚合页面的制作方法、装置、设备及存储介质 | |
CN112015382B (zh) | 一种处理器构架解析方法、装置、设备及储存介质 | |
CN109783755A (zh) | 浏览器操作模拟方法、装置、可读存储介质及终端设备 | |
CN107272989B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |