CN111459837B - 对话策略配置方法及对话系统 - Google Patents

对话策略配置方法及对话系统 Download PDF

Info

Publication number
CN111459837B
CN111459837B CN202010301937.8A CN202010301937A CN111459837B CN 111459837 B CN111459837 B CN 111459837B CN 202010301937 A CN202010301937 A CN 202010301937A CN 111459837 B CN111459837 B CN 111459837B
Authority
CN
China
Prior art keywords
script
dialogue
unit
module
strategy
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
CN202010301937.8A
Other languages
English (en)
Other versions
CN111459837A (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.)
Dalian Real Time Intelligent Technology Co ltd
Original Assignee
Dalian Real Time Intelligent 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 Dalian Real Time Intelligent Technology Co ltd filed Critical Dalian Real Time Intelligent Technology Co ltd
Priority to CN202010301937.8A priority Critical patent/CN111459837B/zh
Publication of CN111459837A publication Critical patent/CN111459837A/zh
Application granted granted Critical
Publication of CN111459837B publication Critical patent/CN111459837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种对话系统,包括策略配置器、校验器、模拟器、执行器;策略配置器分别与校验器、模拟器、执行器相互连接;校验器接收所述策略配置器输出的对话策略脚本,生成校验无误的对话策略脚本;模拟器接收校验无误的对话策略脚本,生成模拟无误的对话策略脚本;执行器执行校验无误、模拟无误的对话策略脚本,与用户进行实时对话交互。此外,本发明还公开了一种对话策略配置方法。采用本发明的技术方案,在脚本语言的基础上提供了多种系统动作控制方法,使系统开发者能够精细地控制整个对话系统,同时提供了校验器和模拟器,提高了对话系统的开发效率。

Description

对话策略配置方法及对话系统
技术领域
本发明涉及智能语音对话技术领域,特别涉及一种对话策略配置方法及对话系统。
背景技术
现有技术中的对话系统如图1所示,用户输入语音首先被语音识别器接收,语音识别器将其转化为识别后的文字序列输出至语言理解器;语言理解器将文字序列映射为语义表达,并输出至对话管理器;对话管理器基于其由语言理解器得到的语义表达结果,根据对话策略得到系统响应的语义表达结果;该系统响应的语义表达结果被输入给对话生成器,对话生成器将其转化为系统响应的文字序列;该系统响应的文字序列由语音合成器合成为语音,并反馈输出给用户。
其中,对话策略可以是由大量对话数据训练得到的机器学习模型,也可以是一套根据业务定制的脚本规则;相对于机器学习模型,脚本规则不需要庞大的数据支撑,且对话系统的话术集合确定,可以避免出现不可控情况,因此现有技术中的一大部分对话系统中的对话策略都采用了脚本规则方式。
例如,发明专利一(名称:一种机器人多轮对话流程化配置方法,申请号:CN201810803673.9)公开了一种配置对话系统策略的方法。该方法的策略以流程图的形式展现,流程图中包含三类节点:功能节点、中间节点和系统节点,主要面向从用户语音中收集信息的场景。功能节点负责接收用户输入并从中抽取信息,如果已经抽取到全部所需信息,则返回结果;如果未抽取到全部所需信息,则使用中间节点重复询问未得到的信息;系统节点用于组织向用户返回结果时所需的文案。
例如,发明专利二(名称:一种智能语音机器人可视化搭建的方法,申请号:201910023437.X)公开了另外一种配置对话策略的方法。该方法的策略以一组单轮对话流程的形式展现,流程中设置了两类节点:普通话术节点和跳转话术节点。普通话术节点用来与用户语音交互,根据理解得到的不同意图跳转到其他节点;跳转话术节点可规定从当前单轮对话流程跳转到其他某个单轮对话流程中。此外,该发明还提供了配置识别热词、话术词典、问答知识库等内容的界面。
然而,发明人经研究发现,在实际使用过程中,一个对话策略配置完成后,该对话策略是否满足对话管理器的执行要求、是否符合系统开发者的逻辑,现有技术的对话系统并不能快速给出一个结论,而这无疑增加了系统开发的周期,同时导致了对话系统性能的不确定性。
其次,随着对话系统应用的推广,现有技术中的对话系统越来越向复杂业务、多业务支持方向发展;一个对话系统可能需要能够处理多个业务,这些业务之间又有一定的相关性,例如同属于某个公司的客服系统;但同时不同的业务本身也有各自的特点,即办理不同业务有不同的流程和处理方式。然而,发明专利一主要应用于向用户收集信息的情况,并没有对多业务内容的特殊支持;发明专利二虽然引入了多个单轮对话流程,但是并没有将流程与业务联系起来,业务之间边界的不清晰会导致流程配置的复杂度提高。
第三,语音对话系统也在向流程精细化控制发展。在对话过程中,针对用户输入的不同意图,系统固然需要产生不同的响应动作;而对用户的相同语音输入应该采取什么样的响应动作,不仅仅取决于用户意图,同时还要考虑其他多种条件;同时,系统的响应动作可能包含多种情况,例如播报不同的话术、生成不同的对话状态记录、执行不同的业务相关动作(例如在智能语音电话系统中发送短信、转接人工等)等。这些不同情况下的不同响应,需要有精细的调整方法,而发明专利一和发明专利二并不具有相关的技术内容。
发明内容
基于此,为解决现有技术中的技术问题,特提出了一种对话策略配置方法,包括:
策略配置器接收系统开发者输入的配置信息并生成可执行的对话策略脚本,所述策略配置器输出所述对话策略脚本至校验器;
所述校验器接收所述策略配置器输出的所述对话策略脚本,并对所述对话策略脚本进行语法规范检查以确保所述对话策略脚本无语法及形式错误并且可被所述执行器执行,从而生成校验无误的对话策略脚本;
模拟器接收校验无误的对话策略脚本,以文本或语音形式进行模拟交互,并在该模拟交互的过程中显示、回看执行器的内部状态和动作序列以确保对话策略脚本无逻辑错误,从而生成模拟无误的对话策略脚本;
所述执行器接收经过所述校验器校验无误、所述模拟器模拟无误后的对话策略脚本;所述执行器执行该校验无误、模拟无误的对话策略脚本,与对话系统的用户进行实时对话交互操作。
在一种实施例中,所述策略配置器输出对话策略脚本,所述对话策略脚本包括计算机脚本程序及流程,所述流程包括主流程及子流程;所述流程由多个流程单元构成,所述流程单元包括开始单元、结束单元、业务动作单元、分支单元、数据交互单元、子流程单元、语音交互单元和后处理单元;每个流程有且仅有一个开始单元,并且至少具有一个结束单元;各个流程单元之间通过有向的连接构成所述流程;对话系统利用各个流程单元中的进入条件以及脚本程序对流程进行控制。
在一种实施例中,所述校验器检查策略配置器输出的对话策略脚本是否符合语法规范、是否能被所述执行器直接执行;所述校验器的检查结果返回给系统开发者,所述检查结果包括错误位置、错误信息、修改建议;系统开发者根据检查结果修改所述对话策略脚本。
在一种实施例中,所述模拟器模拟所述对话系统与用户之间的交互过程;所述模拟器包括对话过程监测模块、对话状态监测模块、输入模块和模拟参数配置模块;系统开发者通过模拟器展示的交互过程中对话系统的内部状态和动作序列发现对话策略脚本中存在的逻辑错误,系统开发者根据发现的逻辑错误修改所述对话策略脚本。
此外,为解决现有技术中的技术问题,特提出了一种对话系统,包括策略配置器、校验器、模拟器、执行器;所述策略配置器分别与所述校验器、所述模拟器相互连接;所述策略配置器连接至所述执行器;
所述策略配置器接收系统开发者输入的配置信息并生成可执行的对话策略脚本,所述策略配置器输出所述对话策略脚本至所述校验器;
所述校验器接收所述策略配置器输出的所述对话策略脚本,并对所述对话策略脚本进行语法规范检查以确保所述对话策略脚本无语法及形式错误并且可被所述执行器执行,从而生成校验无误的对话策略脚本;
所述模拟器接收校验无误的对话策略脚本,以文本或语音形式进行模拟交互,在该模拟交互过程中显示、回看所述执行器的内部状态和动作序列以确保对话策略脚本无逻辑错误,从而生成模拟无误的对话策略脚本;
所述执行器接收经过所述校验器校验无误、所述模拟器模拟无误后的对话策略脚本;所述执行器执行该校验无误、模拟无误的对话策略脚本,与所述对话系统的用户进行实时对话交互操作。
在一种实施例中,所述策略配置器输出对话策略脚本,所述对话策略脚本包括计算机脚本程序及流程,所述流程包括主流程及子流程;所述流程由多个流程单元构成,所述流程单元包括开始单元、结束单元、业务动作单元、分支单元、数据交互单元、子流程单元、语音交互单元和后处理单元;每个流程有且仅有一个开始单元,并且至少具有一个结束单元;各个流程单元之间通过有向的连接构成所述流程;对话系统利用各个流程单元中的进入条件以及脚本程序对流程进行控制。
在一种实施例中,开始单元用于执行流程的开始操作;结束单元用于执行流程的结束操作;业务动作单元用于执行与业务相关的动作;分支单元用于通过逻辑判断来决定流程的下一步走向;数据交互单元用于通过接口与对话系统外部的服务器进行交互操作获取数据;子流程单元用于执行子流程操作;语音交互单元用于与用户进行语音交互操作,语音交互操作包括语音识别、语音合成、语言理解;后处理单元用于在对话结束后进行对话系统的后处理操作。
在一种实施例中,所述语音交互单元包括交互前脚本程序模块、业务动作模块、语音合成模块、语音识别模块、语言理解模块、交互后脚本程序模块、跳转分支模块、子流程模块和返回处理模块;所述语音交互单元利用各个模块的进入条件以及脚本程序对各个模块的执行流程进行控制。
语音交互操作包括放音模式和语音交互模式;在放音模式下,开始执行语音交互单元后依次执行语音交互单元中的交互前脚本程序模块、业务动作模块及语音合成模块;在语音交互模式下,开始执行语音交互单元后依次执行语音交互单元中的交互前脚本程序模块、业务动作模块、语音合成模块、语音识别模块、语言理解模块、交互后脚本程序模块、跳转分支模块,在执行跳转分支模块时,当满足跳转分支的进入条件时则进入该跳转分支,否则依次执行子流程模块、返回处理模块。
在一种实施例中,所述校验器用于检查策略配置器输出的对话策略脚本是否符合语法规范、是否能被所述执行器直接执行;所述校验器的检查结果返回给系统开发者,所述检查结果包括错误位置、错误信息、修改建议,系统开发者根据检查结果修改所述对话策略脚本。
在一种实施例中,所述模拟器用于模拟所述对话系统与用户之间的交互过程;所述模拟器包括输入模块、对话过程监测模块、对话状态监测模块、模拟参数配置模块;系统开发者通过模拟器展示的交互过程中对话系统的内部状态和动作序列发现对话策略脚本中存在的逻辑错误,系统开发者根据发现的逻辑错误修改所述对话策略脚本。
实施本发明实施例,将具有如下有益效果:
本发明提出的对话系统及对话策略配置方法提供了多流程机制,包括一个主流程及多个子流程,每个流程都与对应业务操作相关联;允许不同的流程之间互相跳转,以满足对话过程中出现用户话题转换的情况;提供了精细控制机制,通过基于脚本语言的程序编写功能,对于每步动作都有条件控制,即利用各个流程单元中的进入条件以及脚本程序对流程进行精细控制,同时在脚本语言基础上提供了多种系统动作控制方法,从而使系统开发者能够精细地控制整个对话系统的表现;提供了接口调用机制,根据接口调用结果精细控制流程走向;提供了校验器和模拟器这两种工具,可以方便系统开发者从形式和逻辑两个方面检验对话策略的可行性与正确性,从而提高了对话系统的开发效率,极大地保证对话系统的性能;提供后处理机制,允许在对话结束后基于逻辑规则生成合适的对话状态输出。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为现有技术中对话系统的示意图;
图2为本发明中对话系统的示意图;
图3为本发明的对话系统中开始单元的执行流程示意图;
图4为本发明的对话系统中结束单元的执行流程示意图;
图5为本发明的对话系统中业务动作单元的执行流程示意图;
图6为本发明的对话系统中分支单元的执行流程示意图;
图7为本发明的对话系统中数据交互单元的执行流程示意图;
图8为本发明的对话系统中子流程单元的执行流程示意图;
图9为本发明的对话系统中语音交互单元在放音模式下的执行流程示意图;
图10为本发明的对话系统中语音交互单元在语音交互模式下的执行流程示意图;
图11为本发明的语音交互单元中语音合成模块的执行流程示意图;
图12为本发明的语音交互单元中跳转分支模块的执行流程示意图;
图13为本发明的语音交互单元中子流程模块的执行流程示意图;
图14为本发明的语音交互单元中返回处理模块的执行流程示意图;
图15为本发明的模拟器中对话过程监测模块的对话过程展示界面示意图;
图16为本发明的模拟器中对话状态监测模块的实时变量模式示意图;
图17为本发明的模拟器中对话状态监测模块的对话回演模式示意图;
图18为本发明中模拟器的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,本发明公开了一种对话系统;所述对话系统包括策略配置器、校验器、模拟器、执行器;所述策略配置器分别与所述校验器、所述模拟器、相互连接;所述策略配置器连接至所述执行器;
所述策略配置器接收系统开发者输入的配置信息并生成可执行的对话策略脚本,所述策略配置器输出所述对话策略脚本至所述校验器;
所述校验器接收所述策略配置器输出的所述对话策略脚本,并对所述对话策略脚本进行语法规范检查以确保所述对话策略脚本无形式错误并且可被所述执行器执行,从而生成校验无误的对话策略脚本;
所述校验器将校验无误的对话策略脚本输出至所述策略配置器,或者输出至所述模拟器;当校验无误的对话策略脚本输出至所述策略配置器时,所述策略配置器将该校验无误的对话策略脚本转发至所述模拟器;
所述模拟器接收校验无误的对话策略脚本,以文本或语音形式进行模拟交互,并在该模拟交互过程中显示、回看所述执行器的内部状态和动作序列以确保对话策略脚本无逻辑错误,从而生成模拟无误的对话策略脚本;
所述模拟器将模拟无误的对话策略脚本输出至所述策略配置器,或者输出至所述执行器;当模拟无误的对话策略脚本输出至所述策略配置器时,所述策略配置器将该模拟无误的对话策略脚本转发至所述执行器;
所述执行器接收经过所述校验器校验无误、所述模拟器模拟无误后的对话策略脚本;所述执行器执行该校验无误、模拟无误的对话策略脚本,与所述对话系统的用户进行实时对话交互。
具体地,所述策略配置器输出对话策略脚本,每个对话策略脚本包含以计算机脚本语言编写的计算机脚本程序以及对应的流程。
其中,计算机脚本语言提供变量定义和基于变量的运算:变量是以字母或下划线开头,由字母、数字和下划线组成的序列,其用于存放变量值。
在所述策略配置器中,所述对话策略脚本中的变量包括三种用途:第一种用途为传入参数,在对话开始前,系统调用方将传入参数输入至所述对话系统,变量存放所述传入参数的参数值,例如对话过程中用户的姓名、性别等信息;第二种用途为传出参数,对话结束后,对话系统利用变量中存放的的参数值向系统调用方传出参数,例如电话回访业务中接听者是否用户本人、每个回访问题的答案等;第三种用途为控制流程逻辑,对话过程中,变量用于控制流程逻辑,例如某轮对话中需要根据用户是否办理过某项业务来决定下一轮的话术内容。
在策略配置器中,基于变量的运算包括两类:第一类运算通过运算和赋值来修改变量的值;第二类运算通过运算和赋值来判断某个真值表达式是否为真。在实现本发明的任一种技术方案中,用于编写所述对话策略脚本的计算机脚本语言可以由该对话系统的系统开发者自定义;或者使用现有的计算机脚本语言,例如JavaScript、Lua、Python等。
其中,所述对话策略脚本的流程包括主流程和子流程;主流程是对话系统在对话开始时最先执行的流程,在主流程执行过程中可以跳转到其他子流程并执行该子流程;对于一个对话策略脚本来说,主流程有且仅有一个,而子流程的数量则为零到多个。
所述对话策略脚本的流程包含多个流程单元,即所述对话策略脚本的流程由多个流程单元构成,包括开始单元、结束单元、业务动作单元、分支单元、数据交互单元、子流程单元、语音交互单元和后处理单元。每个流程包含有一个且仅有一个开始单元、至少一个结束单元以及零到多个其他单元;不同流程单元之间通过有向的连接构成流程。在一个连接中,从第一个流程单元连接至第二个流程单元,则第一个流程单元称为第二个流程单元的前接单元,第二个单元称为第一个单元的后续单元。
对话系统的系统开发者根据当前业务的业务逻辑向策略配置器输入配置信息以配置当前业务的对话策略脚本中的流程,即策略配置器根据输入的配置信息来配置当前业务的对话策略脚本中的流程;具体地,策略配置器为各个流程配置其流程单元,并为各个流程配置其中流程单元之间的逻辑连接关系;策略配置器为各个流程单元配置其被执行器执行时所需要的参数;策略配置器对流程、各个流程单元和各个流程单元中模块的进入条件以及脚本程序进行配置;流程、流程单元的集合、流程单元的逻辑连接关系、各个流程单元的执行参数及脚本程序构成了对话策略脚本,所述对话策略脚本由策略配置器输出。
各个流程单元都有其对应的组成结构及执行逻辑(或称为执行流程),并且各个流程单元允许对话系统开发者对其进行语音识别(Automatic Speech Recognition,简称ASR)、语音合成(Text-To-Speech,简称TTS)、语言理解(Natural Language Processing,简称NLP)、数据接口调用以及逻辑控制的配置。各个流程单元具体如下:
(1)开始单元用于执行流程的开始操作,每个流程有且仅有一个开始单元;开始单元没有前接单元,且只有一个后续单元;开始单元包含进入条件,开始单元的进入条件为由脚本语言编写的真值表达式或返回值为真值的函数。开始单元的执行逻辑如图3所示,对话系统利用当前变量的值来判断该开始单元的进入条件的真假。当开始单元的进入条件值判断为真时,流程进入开始单元的后续单元;否则,拒绝进入当前流程。
(2)结束单元用于执行流程的结束操作,每个流程包含一个或多个结束单元;结束单元没有后续单元,同时其具有一个或多个前接单元;结束单元包含结束后的动作配置,该动作配置包括两个值:返回或者结束。结束单元的执行逻辑如图4所示。当结束后动作为返回时,对话系统执行到当前结束单元后返回到调用当前流程之前的原流程中,当不存在原流程时则对话结束;当结束后的动作配置为结束时,则直接结束当前对话过程。
(3)业务动作单元用于执行与业务相关的动作;例如将所述对话系统应用于自动电话语音服务系统时,在适当的情况下给用户发短信、生成工单或者将通话转接给人工。业务动作单元可以有一个或多个前接单元,并且仅有一个后续单元。业务动作单元中包含多组业务动作,每组业务动作都关联一个该业务动作的进入条件,该业务动作的进入条件是由脚本语言编写的真值表达式或返回值为真值的函数。业务动作单元的执行逻辑如图5所示。对话系统会逐个验证每组业务动作的进入条件,当该组业务动作的进入条件为真时,执行该组业务动作;执行完毕后,系统会接着验证下一组业务动作的进入条件,直至所有组业务动作都执行完毕。
(4)分支单元用于通过逻辑判断来决定流程的下一步走向。分支单元可以有多个前接单元及多个后续单元。分支单元包含跳转分支,每个跳转分支包含进入条件、脚本程序和业务动作,跳转分支的进入条件是由脚本语言编写的真值表达式或返回值为真值的函数,每个跳转分支指向当前分支单元的一个后续单元。分支单元的执行逻辑如图6所示,对话系统会逐个验证每个跳转分支的进入条件,只有当其中一个跳转分支的进入条件为真时,对话系统才会执行该跳转分支的脚本程序,然后执行该跳转分支的业务动作,并将流程跳转至该跳转分支所指向的后续单元。分支单元的多个跳转分支中,有且仅有一个默认跳转分支。当其他所有跳转分支的进入条件都不满足时,对话系统执行默认跳转分支的脚本程序和业务动作,并跳转至默认跳转分支所指向的后续单元。
(5)数据交互单元用于通过接口与对话系统外部的服务器进行交互操作从而获取实时数据。例如将所述对话系统应用于移动电话运营商的自动客服系统时,数据交互单元通过接口实时查询当前用户的话费、积分等信息。数据交互单元可以有多个前接单元和多个后续单元。数据交互单元包含调用前脚本程序、接口定义、调用后脚本程序和跳转分支:其中,调用前脚本程序是在接口调用之前执行的程序,调用后脚本程序是在接口调用后执行的程序;接口定义包括接口协议类型、方法、路径、请求消息的格式、返回消息的格式等;跳转分支包含进入条件、脚本程序和多组业务动作。在调用接口并执行完调用后脚本程序以后,对话系统会逐个检验每个跳转分支的进入条件,只有当跳转分支的进入条件为真时,才会进入该跳转分支执行跳转分支的脚本程序和业务动作。每组业务动作都关联了一个业务动作的进入条件,只有当该业务动作的进入条件为真时,才会执行该组业务动作。数据交互单元中跳转分支的执行逻辑与分支单元中跳转分支的执行逻辑相同,如图6所示。数据交互单元的执行逻辑如图7所示。
(6)子流程单元用于执行子流程操作。子流程单元可以有多个前接单元,而仅有一个后续单元。子流程单元中配置有调用前脚本程序、当前子流程单元指向的子流程标签(ID)和调用后脚本程序。当对话系统执行到子流程单元时,首先执行调用前脚本程序,然后进入子流程标签(ID)对应的子流程中,并从其开始单元开始执行。在执行到该流程的结束单元后,如果结束单元的类型为返回,则返回到子流程单元,并执行调用后脚本程序。在执行子流程单元时,对话系统不会检查子流程开始单元的进入条件,即使进入条件为假也不会影响子流程的执行。子流程单元的执行逻辑如图8所示。
(7)语音交互单元用于与用户进行语音交互操作,语音交互操作包括语音识别(ASR)、语音合成(TTS)、语言理解(NLU)。语音交互单元可以有多个前接单元和多个后续单元。语音交互单元的语音交互操作包括两种模式:放音模式和语音交互模式。在放音模式下,对话系统通过语音交互单元播报语音话术;在语音交互模式下,对话系统通过语音交互单元与用户展开对话过程。语音交互单元包括交互前脚本程序模块、业务动作模块、语音合成模块、语音识别模块、语言理解模块、交互后脚本程序模块、跳转分支模块、子流程模块和返回处理模块。在放音模式下,对话系统仅执行语音交互单元中的交互前脚本程序模块、业务动作模块及语音合成模块,其执行逻辑如图9所示;在语音交互模式下,对话系统将执行语音交互单元中的全部模块,其执行逻辑如图10所示。
语音交互单元中各个模块具体如下:
<1>交互前脚本程序模块包含计算机脚本语言编写的交互前脚本程序,交互前脚本程序用于对语音交互中的变量执行相应操作。
<2>业务动作模块包含多组业务动作,每组业务动作都关联了一个业务动作的进入条件,业务动作的进入条件是由脚本语言编写的真值表达式或返回值为真值的函数。其执行逻辑与业务动作单元的执行逻辑相同,如图5所示。
<3>语音合成(TTS)模块包含话术子模块、打断配置子模块和其他配置子模块。语音合成模块执行逻辑如图11所示。话术子模块包含多组话术,每组话术都关联了一个话术的进入条件和多条话术,其中该话术的进入条件是由脚本语言编写的真值表达式或返回值为真值的函数,只有当该话术的进入条件为真时,该组话术才会被选中;同时,对话系统依照一定的策略从该组话术的多条话术中挑选一条话术并播报给用户。打断配置子模块可以配置在系统播报过程中是否允许用户语音打断,或者是否允许用户用其他方式打断,例如在电话语音交互中是否允许用户通过按键打断。语音合成(TTS)模块还利用其他配置子模块添加其他配置信息,包括添加录音文件,控制合成语音的语速、音高、音量等信息。其他配置信息不仅仅包含上述配置信息,还包括添加与语音合成或录音相关的其他配置信息。
<4>语音识别(ASR)模块用于配置语音识别(ASR)相关信息,包括语音识别是否开启、语音识别(ASR)过程中所用到的声学模型及语言模型、判断用户语音输入完毕的静音时长、判断用户无语音输入的等待时长、用于存放识别结果的变量等。
<5>语言理解(NLU)模块用于配置与语言理解(NLU)相关信息,包括当前语音交互单元需要抽取的信息,用于存放语言理解得到的用户意图的变量,以及用于语言理解的其他配置信息等。在语言理解模块使用变量存放语言理解得到的用户意图后,用户意图可以方便地被应用于脚本程序中,从而提高脚本程序使用的灵活性。
<6>交互后脚本程序模块包含计算机脚本语言编写的交互后脚本程序,交互后脚本程序用于在语言理解后对流程中的变量执行相应操作。
<7>跳转分支模块包括多个跳转分支,每个跳转分支都包含进入条件、一组脚本程序、多组业务动作和多组跳转话术,并指向一个后续单元。其中跳转分支的进入条件是由计算机脚本语言编写的真值表达式或返回值为真值的函数,只有当跳转分支的进入条件为真时,对话系统才会进入当前的跳转分支,并执行该跳转分支的脚本程序、业务动作及播报跳转话术,并跳转至该跳转分支关联的后续单元。跳转分支模块的执行逻辑如图12所示。多组业务动作中,每组业务动作都关联了一个该业务动作的进入条件,其执行逻辑与业务动作单元相同,如图5所示。在多组跳转话术中,每组跳转话术都关联了一个跳转话术的进入条件,其执行逻辑与语音合成(TTS)模块的执行逻辑相同,如图11所示。
<8>子流程模块是当用户意图与当前正在进行的流程没有直接关系或者语音交互过程中出现异常时需要采用子流程来处理时所进入执行的模块。语音交互过程中的异常情况包括用户无输入、语音流断流等。子流程模块首先验证每个待激活的子流程的进入条件,只有当子流程的进入条件为真时,对话系统才会将控制跳转到被激活的子流程中执行。子流程模块中有且仅有一个默认子流程,当其他子流程的进入条件均不为真时,对话系统会进入默认子流程进行执行。执行默认子流程时,不会检查该默认子流程的进入条件是否为真,即使该默认子流程的进入条件为假也会进入执行。执行完毕后,如果子流程的结束单元类型为结束,则结束当前对话过程;如果类型为返回,则返回当前单元。子流程模块的执行逻辑如图13所示。
特别地,语音交互单元还包括异常处理模块,异常处理模块是所述子流程模块的一种子类型;异常处理模块主要用来处理用户无输入、语音流断流等异常情况。异常处理模块的执行逻辑与子流程模块相同,如图13所示。
特别地,语音交互单元还包括问答(Frequently Asked Questions,FAQ)模块,问答(FAQ)模块是所述子流程模块的一种子类型;问答(FAQ)模块收集用户的常用问题和对应的答案,每个常用问题和对应的答案构成一个子流程。问答(FAQ)模块的执行逻辑与子流程模块相同,如图13所示。
<9>返回处理模块,在执行完子流程模块并返回当前语音交互单元后,对话系统会执行返回处理模块;返回处理模块的处理逻辑如图14所示。返回处理模块包含返回分支和默认分支。
其中,返回分支包含进入条件、脚本程序、多组业务动作和多组话术;返回分支的进入条件是计算机脚本程序编写的真值表达式或者返回值为真值的函数,只有当返回分支的进入条件为真时,对话系统才会进入该返回分支;每组业务动作都关联了一个业务动作的进入条件,只有业务动作的进入条件满足时才会执行该组业务动作;每组话术都关联了一个话术的进入条件,只有话术的进入条件满足时才会从该组话术中以一定的规则挑选一条话术进行播报;返回分支执行完毕后,对话系统将返回至与返回处理模块相连接的语音识别模块继续执行。返回分支中业务动作的执行逻辑与业务动作单元相同,如图5所示;返回分支中话术的执行逻辑与语音合成模块中的话术子模块的逻辑相同,如图11所示。
其中,当返回分支的进入条件不满足时,对话系统将进入默认分支进行执行。默认分支包含脚本程序、多组业务动作和多组话术,并连接至一个后续单元;每组业务动作都关联了一个业务动作进入条件,只有业务动作的进入条件满足时才会执行该组业务动作;每组话术都关联了一个话术的进入条件,只有话术的进入条件满足时才会从该组话术中以一定的规则挑选一条话术进行播报;默认分支执行完毕后,对话系统将跳转至后续单元继续执行。默认分支中业务动作的执行逻辑与业务动作单元相同,如图5所示。默认分支中话术的执行逻辑与语音合成模块中的话术子模块的逻辑相同,如图11所示。
如图9所示,在放音模式下,对话系统开始执行语音交互单元后,依次执行语音交互单元中前后连接的交互前脚本程序模块、业务动作模块及语音合成模块;
如图10所示,在语音交互模式下,对话系统开始执行语音交互单元后,依次执行语音交互单元中前后连接的交互前脚本程序模块、业务动作模块、语音合成模块、语音识别模块、语言理解模块、交互后脚本程序模块、跳转分支模块;执行跳转分支模块时,当满足跳转分支的进入条件时则进入该跳转分支,否则依次执行子流程模块、返回处理模块。
(8)后处理单元用于在对话结束后进行对话系统的后处理操作。后处理单元没有前接单元也没有后续单元,其是独立于流程的。后处理单元有两种触发模式:触发模式一,在流程的任一节点,只要执行到结束单元,并且结束单元的动作类型为结束,对话系统就会进入执行后处理单元;触发模式二,在语音交互过程中,用户强行结束当前对话过程,例如电话语音对话系统中用户直接挂机的情况,对话系统就会进入执行后处理单元。后处理单元包括脚本程序和多组业务动作,对话系统首先执行后处理单元的脚本程序,然后执行后处理单元的业务动作。每组后处理单元的业务动作都关联了一个业务动作的进入条件,只有当该业务动作的进入条件为真时,对话系统才会执行该组业务动作。在执行完后处理单元后,对话系统会把传出参数返回给对话系统的调用方,并结束整个对话。
具体地,所述校验器用于检查策略配置器输出的对话策略脚本是否符合语法规范、所述执行器能否直接执行。校验器不会检查策略脚本中不符合逻辑的问题。对话策略脚本是一个格式化的文件,可以以任意一种对话系统约定的格式存放。校验器检查、校验的内容包括以下各项中的一项或多项,且不仅限于以下各项:
(1)对话策略脚本是否有且仅有一个主流程;
(2)每个流程是否有且仅有一个开始单元且至少有一个结束单元;
(3)每个开始单元是否没有任何前接单元,是否有且仅有一个后续单元;开始单元中的条件配置是否符合预设的脚本语言语法;
(4)每个结束单元是否没有任何后续单元,是否至少有一个前接单元;结束单元是否规定了动作类型,动作类型包括返回或者结束;
(5)每个分支单元是否至少有一个前接单元并且至少有一个后续单元;分支单元的每个跳转分支的进入条件、每组业务动作的进入条件、每个脚本程序是否符合脚本语言的语法;每个跳转分支的业务动作是否符合业务要求;每个跳转分支是否连接至唯一的后续单元;
(6)每个业务动作单元是否至少有一个前接单元,有且仅有一个后续单元;其中的业务动作是否符合业务要求;
(7)每个数据交互单元是否至少有一个前接单元,至少有一个后续单元;数据交互单元的调用前脚本程序、调用后脚本程序、跳转分支的进入条件、跳转分支的脚本程序、业务动作的进入条件是否符合脚本语言的语法;接口协议是否合法,接口定义是否符合接口协议内容,接口的输入是否为策略脚本中定义的变量;每个跳转分支的业务动作是否符合业务要求;每个跳转分支是否连接至唯一的后续单元;
(8)每个子流程单元是否有且仅有一个前接单元,有且仅有一个后续单元;每个子流程单元中配置的子流程是否可以在当前策略脚本中找到;每个子流程单元的调用前脚本程序和调用后脚本程序是否符合脚本语言的语法;
(9)每个语音交互单元是否有至少一个前接单元,至少一个后续单元;语音交互单元中的交互前脚本程序、交互后脚本程序、各进入条件是否符合脚本语言的语法;出现的业务动作是否符合业务要求;语音识别、语音合成、语言理解的配置是否符合各个模块的要求;每个跳转分支是否连接至唯一的后续单元;每个子流程是否在当前策略脚本中存在;是否存在默认子流程;返回处理模块中是否存在返回分支和默认分支等;
(10)后处理单元的脚本程序是否符合脚本语言的语法;每组业务动作是否符合业务要求;每组业务动作的进入条件是否符合脚本语言的语法。
所述校验器的检查结果会以一定格式返回给系统开发者。检查结果中包括错误位置、错误信息、修改建议等内容,系统开发者根据上述内容可以方便、快速地修改对话策略脚本。
具体地,所述模拟器用于模拟所述对话系统与用户之间的交互过程。通过分步骤、详尽展示整个交互过程中对话系统的内部状态和动作序列,模拟器可以帮助系统开发者提前发现对话策略脚本中存在的逻辑错误,从而保证对话系统的上线质量。
所述模拟器包括对话过程监测模块、对话状态监测模块、输入模块、模拟参数配置模块、对话模拟模块。
其中,对话过程监测模块用于监测用户和对话系统在对话过程中的动作序列。图15是对话过程监测模块的对话过程展示界面示意图。图15中,第一子模块151为对话过程展示界面的边界;第二子模块152显示当前对话执行的流程单元,或者正在执行的跳转分支、子流程等内容;第三子模块153为系统图标,第四子模块154为用户图标,代表与其相邻的动作的执行主体;第五子模块155代表动作内容,包括用户输入的语音或文本,对话系统输出的语音或文本、理解得到的用户意图、执行的业务动作、执行的脚本程序、调用接口过程等。在用户输入语音或系统输出语音时,在语音识别结果或播报话术内容后会生成播放图标156,点击该播放图标156可以回听用户输入的录音或对话系统输出的语音合成的语音流。
其中,对话状态监测模块用于实时监测当前对话系统中各个变量值,或者回看对话系统执行脚本程序的每个动作序列在执行前后各个变量值。图16和17分别为对话状态监测模块的两种模式。其中,图16为对话状态监测模块在监测对话系统变量实时值模式(实时变量模式)中的示意图,图17为对话状态监测模块在回看对话系统执行脚本程序模式(对话回演模式)中的示意图。
对话状态监测模块在对话回演模式中的动作包括以下各项中的一项或多项,但不限于以下各项:
<1>回看对话系统播报话术动作,展示系统执行话术前各个变量的值,展示在挑选多组话术时每个话术条件的计算值、播报话术的内容、语音合成(TTS)试听按钮;
<2>回看对话系统的语音识别(ASR)动作,展示语音识别(ASR)过程中的参数、得到的用户语音、语音识别结果;
<3>回看对话系统语言理解(NLU)动作,展示语言理解(NLU)得到的用户意图、语言理解(NLU)过程抽取得到的信息以及语言理解(NLU)执行前后各个变量的值;
<4>回看对话系统执行脚本程序的动作序列,展示脚本程序的内容、执行脚本程序前后各个变量的值;
<5>回看对话系统执行业务动作,展示业务动作的内容(例如发短信动作的短信模板)、执行业务动作前后各个变量的值;
<6>回看对话系统判断分支动作,包括判断各跳转分支条件的结果、判断各子流程的进入条件的结果、判断前对话系统中各个变量的值;
<7>回看接口调用动作,包括展示接口调用前后各变量的值、接口请求消息的内容和接口响应消息的内容;
<8>回看进入流程单元时对话系统各个变量的状态。
本发明列出的对话状态监测模块的展示内容包括但不限定于上述内容,任何有助于监测对话过程中系统内部状态的其他信息和变量都可以包含在对话状态监测模块中。
其中,系统开发者可以通过输入模块以文本或语音方式模拟用户与对话系统之间的交互过程。在文本模式下,输入模块提供供用户输入的文本框,同时还提供模拟语音交互过程中用户无输入、输入无意义语句的方式(如按钮);在语音模式下,输入模块提供供用户输入的实时录音程序和上传程序,用户可以使用实时录音程序直接语音输入,也可以上传现有录音以模拟用户输入。
输入模块可能需要更多的输入元素,例如电话语音交互系统中,输入模块需要提供额外的按键输入以及按键超时的输入。本发明不限定输入方式,任何与实现的对话系统相关的输入方式都可以纳入到输入模块的范围。
其中,模拟参数配置模块提供模拟器运行过程中的相关参数,包括以下各项中的一项或多项,但不限于以下各项:
<1>模拟器开始的流程、流程单元,模拟器允许系统开发者从某个流程的某个流程单元开始对话过程,而不要求必须从主流程的开始单元开始;
<2>模拟器运行开始时各个变量的初始值,包括要求正常对话前对话系统调用方需要上传的参数,以及策略脚本中的变量的值;
<3>模拟器执行的范围,包括当前单元、当前流程和整个策略三种模式。在当前单元模式下,模拟器执行完当前单元即为模拟过程结束;在当前流程模式下,模拟器执行完当前流程即为模拟过程结束;在整个策略模式下,模拟器执行不会有任何限制,直到遇到结束单元并结束整个对话过程。
<4>模拟器执行的策略,包括顺序执行和循环执行。在顺序执行状态下,执行完当前流程单元、当前流程或当前对话策略脚本时(取决于当前的执行范围),模拟器会停止执行;在循环执行状态下,执行完当前流程单元、当前流程或当前对话策略脚本时(取决于当前的执行范围),模拟器会跳转至当前流程单元的开始、当前流程的开始单元或当前对话策略脚本的主流程的开始单元,并把变量重置为模拟器开始前的状态,重复执行当前流程单元;
<5>模拟器的展示方式包括简易模式和详细模式。在简易模式下,对话过程监测模块展示用户和对话系统的话术内容;在详细模式下,对话过程监测模块展示对话系统的更多动作,包括执行脚本程序、执行业务动作、执行语言理解动作、分支跳转等。
<6>数据交互单元的调用模式包括模拟调用模式和真实调用模式。在模拟调用模式下,模拟器会以预先设定的接口调用结果作为接口调用结果;在真实调用模式下,模拟器会执行接口调用操作,从部署好的接口中获取接口调用结果。
其中,如图18所示,所述对话模拟模块解析策略配置脚本,并根据模拟参数配置模块的输出来配置模拟参数;所述对话模拟模块通过输入模块接收系统开发者的模拟输入,并将系统响应分别输出至对话过程监测模块和对话状态监测模块。系统开发者监测对话过程监测模块和对话状态监测模块中的监测内容,在输入模块中输入新的信息以观察对话系统的响应。在该对话模拟过程中,系统开发者可以随时终止,基于对话模拟结果修改策略配置脚本,例如,根据发现的对话策略脚本中存在的逻辑错误修改策略配置脚本。
具体地,在策略配置器生成对话策略脚本后,所述对话策略脚本经过校验器校验无误、模拟器模拟无误的情况下,将该对话策略脚本输入至执行器执行。所述执行器在对话策略脚本的指导下,调用语音识别(ASR)、语音合成(TTS)、语言理解(NLU)、脚本语言解释器以及业务动作执行模块,完成整个对话交互过程;其中,业务动作执行模块包括短信发送模块、电话转接模块。
另外,本发明还公开了一种对话管理策略配置方法,包括:
策略配置器接收系统开发者输入的配置信息并生成可执行的对话策略脚本,所述策略配置器输出所述对话策略脚本至校验器;
所述校验器接收所述策略配置器输出的所述对话策略脚本,并对所述对话策略脚本进行语法规范检查以确保所述对话策略脚本无形式错误并且可被所述执行器执行,从而生成校验无误的对话策略脚本;
模拟器接收校验无误的对话策略脚本,以文本或语音形式进行模拟交互,在该模拟交互的过程中显示、回看执行器的内部状态和动作序列以确保对话策略脚本无逻辑错误,从而生成模拟无误的对话策略脚本;
所述执行器接收经过所述校验器校验无误、所述模拟器模拟无误后的对话策略脚本;所述执行器执行该校验无误、模拟无误的对话策略脚本,与对话系统的用户进行实时对话交互。
所述校验器将校验无误的对话策略脚本输出至所述策略配置器,或者输出至所述模拟器;当所述校验器将校验无误的对话策略脚本输出至所述策略配置器时,所述策略配置器将该校验无误的对话策略脚本转发至所述模拟器。
所述模拟器将模拟无误的对话策略脚本输出至所述策略配置器,或者输出至所述执行器;当所述模拟器将模拟无误的对话策略脚本输出至所述策略配置器时,所述策略配置器将该模拟无误的对话策略脚本转发至所述执行器。
其中,所述策略配置器输出对话策略脚本,所述对话策略脚本包括计算机脚本程序及流程,所述流程包括主流程及子流程;所述流程由多个流程单元构成,所述流程单元包括开始单元、结束单元、业务动作单元、分支单元、数据交互单元、子流程单元、语音交互单元和后处理单元;各个流程单元之间通过有向的连接构成所述流程;对话系统利用各个流程单元中的进入条件以及脚本程序对流程进行控制。
其中,所述校验器检查策略配置器输出的对话策略脚本是否符合语法规范、是否能被所述执行器直接执行;所述校验器的检查结果返回给系统开发者,所述检查结果包括错误位置、错误信息、修改建议;系统开发者根据检查结果修改所述对话策略脚本。
其中,所述模拟器模拟所述对话系统与用户之间的交互过程;所述模拟器包括对话过程监测模块、对话状态监测模块、输入模块、模拟参数配置模块、对话模拟模块;系统开发者通过模拟器展示的交互过程中对话系统的内部状态和动作序列发现对话策略脚本中存在的逻辑错误,系统开发者根据发现的逻辑错误修改所述对话策略脚本。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种对话系统,其特征在于,包括策略配置器、校验器、模拟器、执行器;所述策略配置器分别与所述校验器、所述模拟器相互连接;所述策略配置器连接至所述执行器;
所述策略配置器接收系统开发者输入的配置信息并生成可执行的对话策略脚本,所述策略配置器输出所述对话策略脚本至所述校验器;
所述校验器接收所述策略配置器输出的所述对话策略脚本,并对所述对话策略脚本进行语法规范检查以确保所述对话策略脚本无语法及形式错误并且可被所述执行器执行,从而生成校验无误的对话策略脚本;
所述模拟器接收校验无误的对话策略脚本,以文本或语音形式进行模拟交互,在该模拟交互过程中显示、回看所述执行器的内部状态和动作序列以确保对话策略脚本无逻辑错误,从而生成模拟无误的对话策略脚本;
所述执行器接收经过所述校验器校验无误、所述模拟器模拟无误后的对话策略脚本;所述执行器执行该校验无误、模拟无误的对话策略脚本,与所述对话系统的用户进行实时对话交互操作。
2.根据权利要求1所述的对话系统,其特征在于,
其中,所述策略配置器输出对话策略脚本,所述对话策略脚本包括脚本程序及流程,所述流程包括主流程及子流程;所述流程由多个流程单元构成,所述流程单元包括开始单元、结束单元、业务动作单元、分支单元、数据交互单元、子流程单元、语音交互单元和后处理单元;各个流程单元之间通过有向的连接构成所述流程;所述对话系统利用各个流程单元中的进入条件以及脚本程序对流程进行控制。
3.根据权利要求2所述的对话系统,其特征在于,
其中,开始单元用于执行流程的开始操作;结束单元用于执行流程的结束操作;业务动作单元用于执行与业务相关的动作;分支单元用于通过逻辑判断来决定流程的下一步走向;数据交互单元用于通过接口与对话系统外部的服务器进行交互操作获取实时数据;子流程单元用于执行子流程操作;语音交互单元用于与用户进行语音交互操作,语音交互操作包括语音识别、语音合成、语言理解;后处理单元用于在对话结束后进行对话系统的后处理操作。
4.根据权利要求3所述的对话系统,其特征在于,
其中,所述语音交互单元包括交互前脚本程序模块、业务动作模块、语音合成模块、语音识别模块、语言理解模块、交互后脚本程序模块、跳转分支模块、子流程模块和返回处理模块;所述语音交互单元利用其中各个模块的进入条件以及脚本程序对各个模块的执行流程进行控制;
语音交互操作包括放音模式和语音交互模式;在放音模式下,开始执行语音交互单元后依次执行语音交互单元中的交互前脚本程序模块、业务动作模块及语音合成模块;在语音交互模式下,开始执行语音交互单元后依次执行语音交互单元中的交互前脚本程序模块、业务动作模块、语音合成模块、语音识别模块、语言理解模块、交互后脚本程序模块、跳转分支模块,在执行跳转分支模块时,当满足跳转分支的进入条件时则进入该跳转分支,否则依次执行子流程模块、返回处理模块。
5.根据权利要求1所述的对话系统,其特征在于,
其中,所述校验器用于检查策略配置器输出的对话策略脚本是否符合语法规范、是否能被所述执行器直接执行;所述校验器的检查结果返回给系统开发者,所述检查结果包括错误位置、错误信息、修改建议,系统开发者根据检查结果修改所述对话策略脚本。
6.根据权利要求1所述的对话系统,其特征在于,
其中,所述模拟器用于模拟所述对话系统与用户之间的对话交互过程;所述模拟器包括输入模块、对话过程监测模块、对话状态监测模块、模拟参数配置模块、对话模拟模块;系统开发者通过模拟器展示的交互过程中对话系统的内部状态和动作序列发现对话策略脚本中存在的逻辑错误,系统开发者根据发现的逻辑错误修改所述对话策略脚本。
7.一种对话策略配置方法,其特征在于,包括:
策略配置器接收系统开发者输入的配置信息并生成可执行的对话策略脚本,所述策略配置器输出所述对话策略脚本至校验器;
所述校验器接收所述策略配置器输出的所述对话策略脚本,并对所述对话策略脚本进行语法规范检查以确保所述对话策略脚本无语法及形式错误并且可被执行器执行,从而生成校验无误的对话策略脚本;
模拟器接收校验无误的对话策略脚本,以文本或语音形式进行模拟交互,并在该模拟交互的过程中显示、回看执行器的内部状态和动作序列以确保对话策略脚本无逻辑错误,从而生成模拟无误的对话策略脚本;
所述执行器接收经过所述校验器校验无误、所述模拟器模拟无误后的对话策略脚本;所述执行器执行该校验无误、模拟无误的对话策略脚本,与对话系统的用户进行实时对话交互操作。
8.根据权利要求7所述的对话策略配置方法,其特征在于,
其中,所述策略配置器输出对话策略脚本,所述对话策略脚本包括脚本程序及流程,所述流程包括主流程及子流程;所述流程由多个流程单元构成,所述流程单元包括开始单元、结束单元、业务动作单元、分支单元、数据交互单元、子流程单元、语音交互单元和后处理单元;各个流程单元之间通过有向的连接构成所述流程;对话系统利用各个流程单元中的进入条件以及脚本程序对流程进行控制。
9.根据权利要求7所述的对话策略配置方法,其特征在于,
其中,所述校验器检查策略配置器输出的对话策略脚本是否符合语法规范、是否能被所述执行器直接执行;所述校验器的检查结果返回给系统开发者,所述检查结果包括错误位置、错误信息、修改建议;系统开发者根据检查结果修改所述对话策略脚本。
10.根据权利要求7所述的对话策略配置方法,其特征在于,
其中,所述模拟器模拟对话系统与用户之间的交互过程;所述模拟器包括对话过程监测模块、对话状态监测模块、输入模块、模拟参数配置模块、对话模拟模块;系统开发者通过模拟器展示的交互过程中对话系统的内部状态和动作序列发现对话策略脚本中存在的逻辑错误,系统开发者根据发现的逻辑错误修改所述对话策略脚本。
CN202010301937.8A 2020-04-16 2020-04-16 对话策略配置方法及对话系统 Active CN111459837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010301937.8A CN111459837B (zh) 2020-04-16 2020-04-16 对话策略配置方法及对话系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010301937.8A CN111459837B (zh) 2020-04-16 2020-04-16 对话策略配置方法及对话系统

Publications (2)

Publication Number Publication Date
CN111459837A CN111459837A (zh) 2020-07-28
CN111459837B true CN111459837B (zh) 2021-03-16

Family

ID=71684594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010301937.8A Active CN111459837B (zh) 2020-04-16 2020-04-16 对话策略配置方法及对话系统

Country Status (1)

Country Link
CN (1) CN111459837B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8155959B2 (en) * 2007-11-07 2012-04-10 Robert Bosch Gmbh Dialog system for human agent to correct abnormal output
JP6328140B2 (ja) * 2013-01-11 2018-05-23 シナコア,インコーポレイテッド コンテキスチュアルダッシュボードの選択を構成する方法およびシステム
CN104571485B (zh) * 2013-10-28 2017-12-12 中国科学院声学研究所 一种基于Java Map的人机语音交互系统及方法
US20180054464A1 (en) * 2016-08-16 2018-02-22 Rulai, Inc. Method and system for collaborative intelligent virtual agents
CN109002510B (zh) * 2018-06-29 2021-08-13 北京百度网讯科技有限公司 一种对话处理方法、装置、设备和介质
CN110728977A (zh) * 2018-06-29 2020-01-24 南京芝兰人工智能技术研究院有限公司 一种基于人工智能的语音对话方法和系统
CN109324864B (zh) * 2018-10-24 2021-09-21 北京赢销通软件技术有限公司 一种人机交互操作信息的获取方法及装置
CN110704594A (zh) * 2019-09-27 2020-01-17 北京百度网讯科技有限公司 基于人工智能的任务型对话交互处理方法、装置

Also Published As

Publication number Publication date
CN111459837A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN110442701B (zh) 语音对话处理方法及装置
US7712031B2 (en) System and process for developing a voice application
US7143040B2 (en) Interactive dialogues
EP2282308B1 (en) Multi-slot dialog system and method
CA2497866C (en) A development system for a dialog system
US8001469B2 (en) Automatic generation of interactive systems from a formalized description language
US8226477B1 (en) Automatic simulation of call center scenarios
US8155959B2 (en) Dialog system for human agent to correct abnormal output
US20060230410A1 (en) Methods and systems for developing and testing speech applications
US20070003037A1 (en) Method and system for automatic generation and testing of voice applications
CN112399222A (zh) 智能电视的语音指令学习方法、装置、智能电视及介质
CN111459836B (zh) 对话策略配置方法及对话系统
CN108597499B (zh) 语音处理方法以及语音处理装置
CN109547632A (zh) 辅助呼叫应答方法、用户终端装置和服务器
CN111933118B (zh) 进行语音识别优化的方法、装置及应用其的智能语音对话系统
CN111459837B (zh) 对话策略配置方法及对话系统
US20050132261A1 (en) Run-time simulation environment for voiceXML applications that simulates and automates user interaction
CN109712622B (zh) 用于语音对话平台的语音交互异常处理的配置方法及系统
US7797676B2 (en) Method and system for switching between prototype and real code production in a graphical call flow builder
CN110334014A (zh) 用于用户界面自动化测试方法、系统、服务器及存储介质
CN114979387A (zh) 基于模拟电话的网络电话服务方法、系统、设备和介质
CA2411888C (en) Interactive dialogues
JP7448240B2 (ja) 効率的な対話構成
CN113489846A (zh) 一种语音交互测试方法、装置、设备及计算机存储介质
CN113297359B (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