CN112927692B - 一种自动语言交互方法、装置、设备和介质 - Google Patents
一种自动语言交互方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN112927692B CN112927692B CN202110205060.7A CN202110205060A CN112927692B CN 112927692 B CN112927692 B CN 112927692B CN 202110205060 A CN202110205060 A CN 202110205060A CN 112927692 B CN112927692 B CN 112927692B
- Authority
- CN
- China
- Prior art keywords
- node
- state
- target
- flow node
- flow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 230000003993 interaction Effects 0.000 title claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 62
- 230000009191 jumping Effects 0.000 claims abstract description 12
- 230000008859 change Effects 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002452 interceptive effect Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000011835 investigation Methods 0.000 description 6
- 206010011224 Cough Diseases 0.000 description 5
- 206010037660 Pyrexia Diseases 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 208000024891 symptom Diseases 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种自动语言交互方法、装置、设备和介质,所述方法包括:配置话术流程树和目标问题状态机、输出当前流程节点的预设发言后获取并解析用户输入、更新当前流程节点状态以及通过判断节点状态是否改变从而在话术流程树和目标问题状态机中选取合适的方式确定目标节点并跳转。本发明在流程树的基础上增加状态机控制,利用状态机全局控制交互进程,解决了原有流程树方法流程固定,无法对用户反应灵活应对的问题,同时解除了自动语言交互系统发言时不能被打断的限制。
Description
技术领域
本发明涉及自动语言交互技术领域,特别涉及一种自动语言交互方法、装置、设备和介质。
背景技术
随着人工智能技术的发展,市场上的自动语言交互系统五花八门,但从交互方式上看,自动语言交互系统可以分为主动交互型和被动交互型两种,其中,被动交互型又包括闲聊型、任务型和问答型三类。闲聊型主要是进行客观话题讨论,或者用户对自动语言交互系统进行一些情感表达,微软小冰就具有很强的闲聊属性。而任务型是为了满足一个特定的任务或者目标,比如,利用Siri可以设定闹钟、预定餐馆等。对于问答型自动语言交互系统,需要解决用户对于事实型问答(如what、which、who、where和when)问题的回复,以及非事实型问答(如how和why)的回复。而主动交互型是由自动语言交互系统主动发起,通过共享或推荐用户感兴趣的热点信息,和人进行互动,一些营销电话就是这类自动语言交互系统完成的。从对话的形态上看,被动交互型,如智能音箱、智能客服,是以短对话为主,对用户的提问做出适当反应或处理,而主动交互型则是以引导用户对话的长对话为主,自动语言交互系统需要在对话保持前后文的逻辑性,并从用户的回答中提取目标信息。因此被动交互型一般被应用在一些开放场景下,而主动交互型则应用在一些封闭场景下来确保对话能够被系统有效引导,比如在一些特殊场景中(如营销、通知以及调查等),自动语言交互系统代替客服在电话中询问一些问题并收集信息。但是这类系统在这些交互场景中,往往只能根据几个固定顺序的问题来对用户进行询问,并按照固定的顺序进行信息采集,缺乏对用户不同反应的灵活应对,易被用户识别出是系统而影响用户的体验感,而且该方法中,在系统进行发问过程中需要屏蔽用户发言,即防止打断,因为如果可以被用户进行打断,则可能出现系统已经进入下一流程,正在开始发问,但用户正好还在回答上一个问题,从而导致上一问题的答案被当作下一流程的答案被识别,错误信息被采集。
在一些应用于封闭场景的被动交互型系统中,自动语言交互系统是通过流程树来控制交互流程的进行的。这种系统将交互过程中的一问一答作为一个流程节点,并将回答与当前流程节点中的流程跳转配置进行匹配,然后执行对应的下一流程节点,以此类推,直至跳转到交互结束的流程节点。在这种方法中,系统只能在特定流程的采集对应的目标信息,因此只要用户没有根据系统的引导进行回答,系统便无法做出正确反应,甚至会重复采集或采集到错误的信息,让用户感觉系统不够智能。
另外一些自动语言交互系统则使用纯状态机对交互流程进行控制,这种方法将目标问题的结果作为一种状态,根据状态机状态判断当前流程的下一问题。由于状态没有逻辑顺序,导致系统在交互过程中,提问也将没有逻辑顺序和过渡,会给用户巨大的生硬感和机械感。
以下这个例子能够同时说明分别使用流程树和状态机实现自动语言交互系统时存在的上述问题:调研的预设方案是先询问被调研人日常是否会进行球类运动,若得到肯定答复,则会进一步调研其进行球类运行的场所及相关社区资源的易获取性;当完成球类运动相关的问题调查后,继续询问被调研人日常是否会进行跑步等运动,若得到肯定答复也会再进一步调研其进行跑步运动的场所及社区资源易获取性。若使用流程树方案实现该调研的自动语言交互系统,则当系统询问‘请问您最常做哪种球类运动?’用户回答‘足球吧,足球需要一直跑动,我喜欢长跑。’,用户回答中包含了当前问题所需的关于球类问题的回答,但是又表达了喜欢长跑这一信息,回答了待询问的是否会进行跑步等运动的问题,那么待后续对此交互结果,运行到调查用户跑步类习惯时,又会询问用户‘请问您是否会进行跑步等运动?’、‘请问您喜欢那种类型的跑步运动’,从而让用户感觉到信息的重复收集,体验上非常不人性化。若使用状态机方案实现该场景交互,那么当系统询问‘请问您最常做哪种球类运动?’用户回答‘足球吧,踢足球需要一直跑动,我喜欢长跑。’时,球类问题和跑步类问题的状态都被改变,由于跑步类问题为后提问的问题,系统将转而问跑步类的问题“那么请问您一般在哪些场所做跑步运动?”,这样球类问题没有问完,后续继续调研其进行球类运行的场所及相关社区资源的易获取性就会显得很机械和生硬。
发明内容
本发明要解决的技术问题,在于提供一种自动语言交互方法、装置、设备和介质,在话术流程树控制交互流程的基础上增加状态机控制,在与用户进行长交互的封闭场景下实现自然且有效的自动语言交互。
第一方面,本发明提供了一种自动语言交互方法,包括:
配置话术流程树和目标问题状态机,所述话术流程树包括多个按交互逻辑顺序关联的流程节点,用于确定语言交互的逻辑顺序,所述目标问题状态机用于保存目标问题的采集进度以及更新与目标问题一一对应的流程节点的状态,所述目标问题是指需要收集的信息;
输出当前流程节点的预设发言,然后获取用户输入;
对所述用户输入进行解析,得到解析结果,将所述解析结果与预先配置的答案进行匹配后得到与解析结果对应的答案,所述答案包括语义标志以及第一状态操作,根据所述答案更新当前流程节点状态,然后输出所述当前流程节点状态;
判断更新前的流程节点状态与当前流程节点状态是否一致,如不一致,则通过目标问题状态机搜索目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,返回输出当前流程节点的预设发言,然后获取用户输入;如一致,则根据所述话术流程树匹配对应的目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,返回输出当前流程节点的预设发言,然后获取用户输入。
进一步地,每一所述流程节点配置:
一预设发言;
至少一个语义标志及对应跳转的目标流程节点;
所述至少一个语义标志对应的第二状态操作,所述第二状态操作包括无状态改变、一个状态改变或一个以上状态改变;
进入流程节点的约束条件,用于通过目标问题状态机搜索目标流程节点;
所述通过目标问题状态机搜索目标流程节点,具体包括:通过目标问题状态机提取当前流程节点状态,从根节点开始对流程树中的节点进行约束条件的匹配,取最符合当前状态的流程节点作为目标流程节点,所述最符合当前状态的目标流程节点为满足约束条件的层级最深的节点。
进一步地,根据所述答案更新当前流程节点的状态,具体包括:根据所述答案中的第一状态操作更新目标问题状态机,得到当前节点中间状态,再根据当前流程节点配置的第二状态操作更新目标问题状态机,得到当前流程节点状态。
进一步地,所述话术流程树还配置有当前流程节点的属性,所述属性包括是否为最终节点;
在输出当前流程节点的预设发言之后,还包括:判断当前流程节点是否为最终节点,若否,返回获取用户输入;若是,完成信息收集任务,结束步骤。
第二方面,本发明提供了一种自动语言交互装置,包括:配置模块、交互模块、解析更新模块以及流程调度模块;
所述配置模块,用于配置话术流程树和目标问题状态机,所述话术流程树包括多个按交互逻辑顺序关联的流程节点,用于确定语言交互的逻辑顺序,所述目标问题状态机用于保存目标问题的采集进度以及更新与目标问题一一对应的流程节点的状态,所述目标问题是指需要收集的信息;
所述交互模块,用于输出当前流程节点的预设发言,然后获取用户输入;
所述解析更新模块,用于对所述用户输入进行解析,得到解析结果,将所述解析结果与预先配置的答案进行匹配后得到与解析结果对应的答案,所述答案包括语义标志以及第一状态操作,根据所述答案更新当前流程节点状态,然后输出所述当前流程节点状态;
所述流程调度模块,用于判断更新前的流程节点状态与当前流程节点状态是否一致,如不一致,则通过目标问题状态机搜索目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回交互模块;如一致,则根据所述话术流程树匹配对应的目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回交互模块。
进一步地,所述配置模块中,每一所述流程节点配置:
一预设发言;
至少一个语义标志及对应跳转的目标流程节点;
所述至少一个语义标志对应的第二状态操作,所述第二状态操作包括无状态改变、一个状态改变或一个以上状态改变;
进入流程节点的约束条件,用于通过目标问题状态机搜索目标流程节点;
所述通过目标问题状态机搜索目标流程节点,具体包括:通过目标问题状态机提取当前流程节点状态,从根节点开始对流程树中的节点进行约束条件的匹配,取最符合当前状态的流程节点作为目标流程节点,所述最符合当前状态的目标流程节点为满足约束条件的层级最深的节点。
进一步地,所述解析更新模块中,根据所述答案更新当前流程节点的状态,具体包括:
根据所述答案中的第一状态操作更新目标问题状态机,得到当前节点中间状态,再根据当前流程节点配置的第二状态操作更新目标问题状态机,得到当前流程节点状态。
进一步地,所述配置模块中,所述话术流程树还配置有当前流程节点的属性,所述属性包括是否为最终节点;
所述交互模块中,在输出当前流程节点的预设发言之后,还包括:判断当前流程节点是否为最终节点,若否,返回获取用户输入;若是,完成信息收集任务,结束步骤。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例至少具有如下技术效果或优点:
1、通过在话术流程树的基础上增加目标问题状态机控制,利用目标问题状态机全局控制交互进程,解决了原有流程树方法流程固定、无法对用户反应灵活应对的问题,同时解除了自动语言交互系统发问不能被打断的限制;由于目标问题状态机全局记录了所需信息的状态,并且在交互过程中不断修正,大大提高了信息采集的准确率;
2、复合状态机和流程树的方法保留了话术流程树的流程控制,解决了纯状态机流程跳转没有关联性和逻辑性的问题,让用户能够更加自然的接受和系统对话,减轻人工负担。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法的流程图;
图2为本发明实施例一中单个节点中的流程运作示意图;
图3为本发明实施例二中装置的结构示意图;
图4为本发明实施例三中电子设备的结构示意图;
图5为本发明实施例四中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种自动语言交互方法、装置、设备和介质,在话术流程树控制交互流程的基础上增加状态机控制,在与用户进行长交互的封闭场景下实现自然且有效的自动语言交互。
本申请实施例中的技术方案,总体思路如下:
在与客户交互中,系统与人的对话可以拆分为一个个问答对,本发明通过相同方法处理每次问答过程来完成整个人机对话过程。单次问答过程的处理方法如下。
首先,需要文本解析模块对用户的回答进行解析,并匹配到已经预先配置的答案上,该答案上配置有本次用户回答的语义标志和状态机的状态操作。
其次,本发明基础的话术流程树是将自动语言交互系统与人的对话拆分为一个个问答作为其流程节点,并以上文所说的语义标志作为关联下一节点的连接,这样,这些流程节点会根据交互逻辑顺序形成一棵具有层级结构的话术流程树,因此话术流程树的各个流程节点需要配置语义标志对应的所需跳转的流程节点。由于一些通用的回答,如肯定和否定回答,需要根据提问的问题才能决定对状态机状态的操作,因此话术流程树的各个节点还需要配置语义标志对应的状态操作。
话术流程树确定了系统与人交互的逻辑顺序,强调了各个流程节点间的逻辑性,但是由于这种确定的逻辑关系以及系统只能根据当前交互所处流程节点的配置进行跳转的限制,导致系统不能结合已经完成的交互的结果进行判断,不够灵活,因此本发明在话术流程树的基础上增加目标问题状态机用于全局的管理目标问题状态。该状态机将全局的保存整体交互中所要采集的问题的状态。目标问题状态机在交互中根据预先配置的答案中的状态操作改变状态,也根据语义标志和流程节点上配置的语义标志对应的状态操作改变状态。目标问题状态机的状态可将不同的答案视为不同状态,也可将不同类型回答视为不同状态。
整体交互进度在话术流程树中的体现为流程节点跳转,在目标问题状态机中体现为目标信息的采集进度。为了让目标问题状态机与话术流程树一起管理交互进度,本发明在话术流程树的各个流程节点配置进入该流程节点的约束条件,条件内容为话术流程树在该流程节点所对应的交互进度下的目标问题状态机应具有的状态,如已提问的所有目标问题状态为已回答,这样目标问题状态机可以通过状态控制流程跳转,还将记录并跳过已回答的问题状态,解决纯流程树自动交互系统重复询问的问题。同时,话术流程树的各个流程节点上还配置了该节点下状态机对不同答案应做的状态变化,这样话术流程树就能通过流程节点上的配置改变目标问题状态机的状态,从而控制流程节点跳转。
考虑到整体交互的逻辑性需由话术流程树进行体现,在流程节点中进行跳转时,先将答案与话术流程树配置的目标节点列表匹配,得到流程树控制的目标节点。然后检测目标问题状态机状态是否发生了改变,若状态未改变,说明状态机不需要介入控制流程跳转,则跳转至话术流程树控制的目标流程节点,满足话术流程树的逻辑或过渡控制。若状态改变,说明此时目标问题状态机需要控制流程跳转,则将目标问题状态机的当前状态取出,从根节点开始对话术流程树中的流程节点进行约束条件的匹配,取最接近当前状态的流程节点进行跳转。由于在话术流程树中,层级越深,约束条件越严格,因此在满足约束条件的前提下,层级越深的点越接近当前状态,即满足当前语境下,进度越快的问答对越符合当前对话需求。对于纯状态机流程不合理跳转的问题,本方法需要在话术流程树中增加状态约束条件,在所有目标问题的子树上增加以该问题为已回答状态的条件,这样目标问题状态机在控制流程跳转时,状态不满足未回答的目标问题的子节点的条件,无法进入这些子节点,从而避免不合理跳转。
通过上述方法,整个交互进度由话术流程树配置的流程跳转和目标问题状态机控制的流程跳转一同控制,当交互结束时,流程树也将进入对应最终节点,即满足了进入最终节点的约束条件,说明目标问题状态机已经记录了目标问题对应的状态,完成了收集信息的任务。
实施例一
本实施例提供一种自动语言交互方法,如图1所示,包括如下步骤:
S101、配置话术流程树和目标问题状态机:所述话术流程树包括多个按交互逻辑顺序关联的流程节点,用于确定语言交互的逻辑顺序,所述目标问题状态机用于保存目标问题的采集进度以及更新与目标问题一一对应的流程节点的状态;所述目标问题是指需要收集的信息,包括预设发言中的提到信息,也包括在预设发言中没提到的信息,比如用户情绪:高兴,愤怒,悲伤等;
S102、输出当前流程节点的预设发言,然后获取用户输入;由于采用目标问题状态进行全局控制,可以识别出用户的回答的是哪些问题,而不是仅针对当前节点进行回答,因此在输出当前流程节点的预设发言的任意时间点,均可以获取用户输入,无需屏蔽用户发言;
S103、对所述用户输入进行解析,得到解析结果,将所述解析结果与预先配置的答案进行匹配后输出答案,所述答案包括语义标志以及第一状态操作,根据所述答案更新当前流程节点状态,然后输出所述当前流程节点状态;
S104、判断更新前的流程节点状态与当前流程节点状态是否一致,如不一致,则通过目标问题状态机搜索目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回S102;如一致,则根据所述话术流程树匹配对应的目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回S102。
通过在话术流程树的基础上增加目标问题状态机控制,利用目标问题状态机全局控制交互进程,解决了原有流程树方法流程固定、无法对用户反应灵活应对的问题,同时解除了自动语言交互系统发问不能被打断的限制;由于目标问题状态机全局记录了所需信息的状态,并且在交互过程中不断修正,大大提高了信息采集的准确率,例如用户可以更改已经回答过的问题的答案并进入正确的流程分支。
举例如下:
在调查客户运动习惯的场景中,系统需要提问关于球类和跑步类的问题,系统先后询问球类、跑步类相关问题,当系统询问‘请问您最常做哪种球类运动?’用户回答‘足球吧,足球需要一直跑动,我喜欢长跑。’,用户回答中包含了当前问题所需的关于球类问题的回答,但是又表达了喜欢长跑这一信息,回答了后续将会提问的关于跑步类的问题,那么待后续对此交互结果,运行到调查用户跑步类习惯时,就会跳过询问用户‘请问您最常做哪种跑步运动?’防止信息的重复收集。
在进行新冠疫情调查的场景中,系统需要提问是否有高风险地区旅居史、是否接触过去过高风险地区的人和是否有咳嗽、发烧等症状的问题,在用户没去过高风险地区的情况下,将询问是否接触过去过高风险地区的人,最后询问是否有咳嗽、发烧等症状;在用户去过高风险地区的情况下,将直接询问是否有咳嗽、发烧等症状,当系统询问‘请问您两周以内是否有高风险地区旅居史?’用户回答‘有’,系统询问‘请问您是否有咳嗽、发烧等症状?’用户回答‘记错了,我是三周前去过的,我这两周内没去过高风险地区。’用户回答的是之前的问题,此时,状态机将会将是否去过高风险地区的状态改为NO,通过目标状态机搜索的机制,系统将正确进入询问是否接触过去过高风险地区的人的节点执行,而不是重复询问是否有咳嗽、发烧等症状。
在一种可能的实现方式中,每一所述流程节点配置:
一预设发言;所述预设发言可以是问题,也可以是陈述、引导语、问候,通知等;
至少一个语义标志及对应跳转的目标流程节点,用于关联其他目标流程节点,使目标问题状态机根据该联系搜索目标流程节点,以及根据所述话术流程树匹配对应的目标流程节点时,根据语义标志搜索对应跳转的目标流程节点并跳转;
所述至少一个语义标志对应的第二状态操作,所述第二状态操作包括无状态改变、一个状态改变或一个以上状态改变,举例如下:
进入流程节点的约束条件,用于通过目标问题状态机搜索目标流程节点;
所述通过目标问题状态机搜索目标流程节点,具体包括:通过目标问题状态机提取当前流程节点状态,从根节点开始对流程树中的节点进行约束条件的匹配,取最符合当前状态的流程节点作为目标流程节点,所述最符合当前状态的目标流程节点为满足约束条件的层级最深的节点。
复合状态机和流程树的方法保留了话术流程树的流程控制,解决了纯状态机流程跳转没有关联性和逻辑性的问题,让用户能够更加自然的接受和系统对话,减轻人工负担。
在一种可能的实现方式中,根据所述答案更新当前流程节点的状态,具体包括:
根据所述答案中的第一状态操作更新目标问题状态机,得到当前节点中间状态,再根据当前流程节点配置的第二状态操作更新目标问题状态机,得到当前流程节点状态。
由于当前节点配置的状态操作比答案携带的状态操作更符合当前交互,因此先执行根据所述答案中的第一状态操作更新目标问题状态机,再执行根据当前流程节点配置的第二状态操作更新目标问题状态机,这样在状态操作矛盾时,当前节点配置的状态操作可以覆盖答案携带的状态操作所做的状态改变。
在一种可能的实现方式中,所述话术流程树还配置有当前流程节点的属性,所述属性包括是否为最终节点;
在输出当前流程节点的预设发言之后,还包括:判断当前流程节点是否为最终节点,若否,返回获取用户输入;若是,完成信息收集任务,结束步骤。
通过上述方法,整个交互进度由话术流程树配置的流程跳转和目标问题状态机控制的流程跳转一同控制,当交互结束时,话术流程树也将进入对应最终节点,即满足了进入最终节点的约束条件,说明目标问题状态机已经记录了目标问题对应的状态,完成了收集信息的任务。
请参考图2,本发明一具体实施例主要由语句分析模块601、话术流程树602、属性状态机603、流程调度604四个部分组成。
单次问答过程的处理流程具体实现如下:
语句分析模块601部分包含过程:文本解析701。语句分析模块601的主要作用为将答案相同、描述不同的用户输入801解析为同一预先配置的答案802供其他部分使用,并且该预先配置的答案中包括语文标志及其对应的的状态操作。
话术流程树602没有执行过程,主要是根据采集信息需求所编辑的剧本流程及配置,该部分的每个流程节点为系统与人的一次问答过程,主要配置项有:系统输出的文本803、答案及其对应跳转的目标节点列表804、答案对应的状态操作列表805、进入节点所需要满足的状态条件806。在806中,需要添加以前置问题为已回答状态的约束条件。
属性状态机603部分包含过程:根据答案携带的状态操作改变状态机702、根据当前节点配置的状态操作改变状态机703。属性状态机603主要用于全局实时记录所有目标问题的回答状态,属性状态机603在交互过程中是在预先配置的答案802返回后,通过执行702、703过程来改变自身状态,为其他过程输出当前节点状态807。由于当前节点配置的状态操作即第二状态操作比答案携带的状态操作即第一状态操作更符合当前交互,因此先执行702再执行703,这样在两状态操作矛盾时,当前节点配置的状态操作可以覆盖答案携带的状态操作所做的状态改变。
流程调度604部分包含过程:根据答案和当前节点配置匹配对应的目标节点704、根据流程树搜索最符合当前状态的目标节点705、流程跳转706。流程调度604负责记录当前节点的配置,在当前节点状态807输出后,先检测上一节点状态808与当前节点状态807是否一致,若一致,则执行根据答案和当前节点配置匹配对应的目标节点704,若不一致,则执行根据流程树搜索最符合当前状态的目标节点705,输出对应的目标节点并输入到流程跳转706中,将需要跳转的目标节点配置替换目前节点配置,输出系统输出的文本803即目标流程节点对应的目标问题,然后继续执行下一流程。
上文中提到的701、702、703、704、705、706,共6个过程的具体作用如下:
文本解析701过程是将用户语义相同的不同的输入解析为同一带状态操作的结果,然后返回供其他过程使用;
根据答案携带的状态操作改变状态机702过程是将预先配置的答案802中配置的状态改变操作执行,得到当前节点中间状态809;
根据当前节点配置的状态操作改变状态机703过程是将预先配置的答案802与答案对应的状态操作列表805进行匹配,对当前节点中间状态809执行匹配到的状态改变操作,得到当前节点状态807;
根据答案和当前节点配置匹配对应的目标节点704过程是将预先配置的答案802与答案及其对应跳转的目标节点列表804进行匹配,得到流程树匹配的目标节点810;
根据流程树搜索最符合当前状态的目标节点705过程是根据答案及其对应跳转的目标节点列表804、进入节点所需要的状态条件806即约束条件以及当前节点状态807,从流程树的根节点开始进行约束条件匹配的路径搜索,去取状态机搜索的目标节点811。单个节点中具体的方法是:将当前流程节点配置的答案及其对应跳转的目标节点列表804取出,将804中的目标节点的进入节点所需要的状态条件806即约束条件以及当前节点状态807进行匹配,若满足约束,则以该流程节点作为当前节点重复目标节点的约束条件匹配工作。若当前状态不满足当前流程节点配置的答案及其对应跳转的目标节点列表804中的所有的目标节点的进入节点所需要的状态条件806,则停止。停止时当前节点则为当前节点状态807下流程节点应当所处的节点,即状态机搜索的目标节点811。705过程因其搜索当前节点状态807下最合适流程节点的特性和已经回答过的问题状态将被记录,使得本系统避免重复回答问题。因为在话术流程树602部分的预先配置的答案802中配置了以前置问题为已回答状态的条件,所以705过程在通过以上描述的方法执行到未回答问题节点的子节点时,状态就无法满足条件,那么就不会跳过未回答的问题进入子节点,这样就能防止交互系统在705过程得到不合理的目标节点,从避免流程跳转706进行不合理跳转。
流程跳转706过程是向流程调度604所指的目标流程节点进行跳转,替换原有流程节点配置,输出系统输出的文本803,进入至下一交互过程。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
在本实施例中提供了一种自动语言交互装置300,如图3所示,包括:配置模块301、交互模块302、解析更新模块303以及流程调度模块304;
所述配置模块301,用于配置话术流程树和目标问题状态机,所述话术流程树包括多个按交互逻辑顺序关联的流程节点,用于确定语言交互的逻辑顺序,所述目标问题状态机用于保存目标问题的采集进度以及更新与目标问题一一对应的流程节点的状态;
所述交互模块302,用于输出当前流程节点的预设发言,然后获取用户输入;
所述解析更新模块303,用于对所述用户输入进行解析,得到解析结果,将所述解析结果与预先配置的答案进行匹配后得到与解析结果对应的答案,所述答案包括语义标志以及第一状态操作,根据所述答案更新当前流程节点状态,然后输出所述当前流程节点状态;
所述流程调度模块304,用于判断更新前的流程节点状态与当前流程节点状态是否一致,如不一致,则通过目标问题状态机搜索目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回交互模块302;如一致,则根据所述话术流程树匹配对应的目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回交互模块302。
在一种可能的实现方式中,所述配置模块301中,每一所述流程节点配置:
一预设发言;
至少一个语义标志及对应跳转的目标流程节点;
所述至少一个语义标志对应的第二状态操作,所述第二状态操作包括无状态改变、一个状态改变或一个以上状态改变;
进入流程节点的约束条件,用于通过目标问题状态机搜索目标流程节点;
所述通过目标问题状态机搜索目标流程节点,具体包括:通过目标问题状态机提取当前流程节点状态,从根节点开始对流程树中的节点进行约束条件的匹配,取最符合当前状态的流程节点作为目标流程节点,所述最符合当前状态的目标流程节点为满足约束条件的层级最深的节点。
在一种可能的实现方式中,所述解析更新模块303中,根据所述答案更新当前流程节点的状态,具体包括:
根据所述答案中的第一状态操作更新目标问题状态机,得到当前节点中间状态,再根据当前流程节点配置的第二状态操作更新目标问题状态机,得到当前流程节点状态。
在一种可能的实现方式中,所述配置模块301中,所述话术流程树还配置有当前流程节点的属性,所述属性包括是否为最终节点;
所述交互模块302中,在输出当前流程节点的预设发言之后,还包括:判断当前流程节点是否为最终节点,若否,返回获取用户输入;若是,完成信息收集任务,结束步骤。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备400,如图4所示,包括存储器410、处理器420及存储在存储器上并可在处理器上运行的计算机程序411,处理器420执行计算机程序411时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质500,如图5所示,其上存储有计算机程序511,该计算机程序511被处理器执行500时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的计算机可读存储介质为实施本申请实施例一中方法所采用的计算机可读存储介质,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的计算机可读存储介质的具体实施方式以及其各种变化形式,所以在此对于该计算机可读存储介质如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的计算机可读存储介质,都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.一种自动语言交互方法,其特征在于:包括:
配置话术流程树和目标问题状态机,所述话术流程树包括多个按交互逻辑顺序关联的流程节点,用于确定语言交互的逻辑顺序,所述目标问题状态机用于保存目标问题的采集进度以及更新与目标问题一一对应的流程节点的状态,所述目标问题是指需要收集的信息;
输出当前流程节点的预设发言,然后获取用户输入;
对所述用户输入进行解析,得到解析结果,将所述解析结果与预先配置的答案进行匹配后得到与解析结果对应的答案,所述答案包括语义标志以及第一状态操作,根据所述答案更新当前流程节点状态,然后输出所述当前流程节点状态;
判断更新前的流程节点状态与当前流程节点状态是否一致,如不一致,则通过目标问题状态机搜索目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,返回输出当前流程节点的预设发言,然后获取用户输入;如一致,则根据所述话术流程树匹配对应的目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,返回输出当前流程节点的预设发言,然后获取用户输入。
2.根据权利要求1所述的方法,其特征在于:每一所述流程节点配置:
一预设发言;
至少一个语义标志及对应跳转的目标流程节点;
所述至少一个语义标志对应的第二状态操作,所述第二状态操作包括无状态改变、一个状态改变或一个以上状态改变;
进入流程节点的约束条件,用于通过目标问题状态机搜索目标流程节点;
所述通过目标问题状态机搜索目标流程节点,具体包括:通过目标问题状态机提取当前流程节点状态,从根节点开始对流程树中的节点进行约束条件的匹配,取最符合当前状态的流程节点作为目标流程节点,所述最符合当前状态的目标流程节点为满足约束条件的层级最深的节点。
3.根据权利要求2所述的方法,其特征在于:根据所述答案更新当前流程节点的状态,具体包括:根据所述答案中的第一状态操作更新目标问题状态机,得到当前节点中间状态,再根据当前流程节点配置的第二状态操作更新目标问题状态机,得到当前流程节点状态。
4.根据权利要求1至3任一项所述的方法,其特征在于:所述话术流程树还配置有当前流程节点的属性,所述属性包括是否为最终节点;
在输出当前流程节点的预设发言之后,还包括:判断当前流程节点是否为最终节点,若否,返回获取用户输入;若是,完成信息收集任务,结束步骤。
5.一种自动语言交互装置,其特征在于,包括:配置模块、交互模块、解析更新模块以及流程调度模块;
所述配置模块,用于配置话术流程树和目标问题状态机,所述话术流程树包括多个按交互逻辑顺序关联的流程节点,用于确定语言交互的逻辑顺序,所述目标问题状态机用于保存目标问题的采集进度以及更新与目标问题一一对应的流程节点的状态,所述目标问题是指需要收集的信息;
所述交互模块,用于输出当前流程节点的预设发言,然后获取用户输入;
所述解析更新模块,用于对所述用户输入进行解析,得到解析结果,将所述解析结果与预先配置的答案进行匹配后得到与解析结果对应的答案,所述答案包括语义标志以及第一状态操作,根据所述答案更新当前流程节点状态,然后输出所述当前流程节点状态;
所述流程调度模块,用于判断更新前的流程节点状态与当前流程节点状态是否一致,如不一致,则通过目标问题状态机搜索目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回交互模块;如一致,则根据所述话术流程树匹配对应的目标流程节点,跳转至所述目标流程节点,将当前流程节点更新为所述目标流程节点,然后返回交互模块。
6.根据权利要求5所述的装置,其特征在于:所述配置模块中,每一所述流程节点配置:
一预设发言;
至少一个语义标志及对应跳转的目标流程节点;
所述至少一个语义标志对应的第二状态操作,所述第二状态操作包括无状态改变、一个状态改变或一个以上状态改变;
进入流程节点的约束条件,用于通过目标问题状态机搜索目标流程节点;
所述通过目标问题状态机搜索目标流程节点,具体包括:通过目标问题状态机提取当前流程节点状态,从根节点开始对流程树中的节点进行约束条件的匹配,取最符合当前状态的流程节点作为目标流程节点,所述最符合当前状态的目标流程节点为满足约束条件的层级最深的节点。
7.根据权利要求6所述的装置,其特征在于:所述解析更新模块中,根据所述答案更新当前流程节点的状态,具体包括:
根据所述答案中的第一状态操作更新目标问题状态机,得到当前节点中间状态,再根据当前流程节点配置的第二状态操作更新目标问题状态机,得到当前流程节点状态。
8.根据权利要求5至7任一项所述的装置,其特征在于:所述配置模块中,所述话术流程树还配置有当前流程节点的属性,所述属性包括是否为最终节点;
所述交互模块中,在输出当前流程节点的预设发言之后,还包括:判断当前流程节点是否为最终节点,若否,返回获取用户输入;若是,完成信息收集任务,结束步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110205060.7A CN112927692B (zh) | 2021-02-24 | 2021-02-24 | 一种自动语言交互方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110205060.7A CN112927692B (zh) | 2021-02-24 | 2021-02-24 | 一种自动语言交互方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112927692A CN112927692A (zh) | 2021-06-08 |
CN112927692B true CN112927692B (zh) | 2023-06-16 |
Family
ID=76170658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110205060.7A Active CN112927692B (zh) | 2021-02-24 | 2021-02-24 | 一种自动语言交互方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112927692B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114240033A (zh) * | 2021-11-08 | 2022-03-25 | 普强时代(珠海横琴)信息技术有限公司 | 流程分析方法及装置 |
CN115376513B (zh) * | 2022-10-19 | 2023-05-12 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器及计算机可读存储介质 |
CN115408510B (zh) * | 2022-11-02 | 2023-01-17 | 深圳市人马互动科技有限公司 | 基于剧情交互节点的跳转方法及组件、对话开发系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552793A (zh) * | 2020-04-30 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 基于外呼机器人的语音外呼方法、装置、终端设备及介质 |
CN111784208A (zh) * | 2020-07-30 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 调查任务处理方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302383B2 (en) * | 2002-09-12 | 2007-11-27 | Luis Calixto Valles | Apparatus and methods for developing conversational applications |
-
2021
- 2021-02-24 CN CN202110205060.7A patent/CN112927692B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552793A (zh) * | 2020-04-30 | 2020-08-18 | 深圳前海微众银行股份有限公司 | 基于外呼机器人的语音外呼方法、装置、终端设备及介质 |
CN111784208A (zh) * | 2020-07-30 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 调查任务处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112927692A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112927692B (zh) | 一种自动语言交互方法、装置、设备和介质 | |
US10810371B2 (en) | Adaptive, interactive, and cognitive reasoner of an autonomous robotic system | |
CN109977208B (zh) | 一种融合faq和任务及主动引导的对话系统 | |
US20200301954A1 (en) | Reply information obtaining method and apparatus | |
US20180004729A1 (en) | State machine based context-sensitive system for managing multi-round dialog | |
CN111737411A (zh) | 人机对话中的响应方法、对话系统及存储介质 | |
CN112527998B (zh) | 一种答复推荐方法、答复推荐装置及智能设备 | |
CN108446286A (zh) | 一种自然语言问句答案的生成方法、装置及服务器 | |
CN108509591B (zh) | 信息问答交互方法及系统、存储介质、终端、智能知识库 | |
CN107818781A (zh) | 智能交互方法、设备及存储介质 | |
CN105512228A (zh) | 一种基于智能机器人的双向问答数据处理方法和系统 | |
CN116059646B (zh) | 一种交互式专家指导系统 | |
CN110147544B (zh) | 一种基于自然语言的指令生成方法、装置以及相关设备 | |
CN116521850B (zh) | 一种基于强化学习的交互方法及装置 | |
CN110008308A (zh) | 针对用户问句补充信息的方法和装置 | |
CN115803734A (zh) | 使用动作解释的自然语言丰富 | |
CN116821290A (zh) | 面向多任务对话的大语言模型训练方法和交互方法 | |
CN109545223A (zh) | 应用于用户终端的语音识别方法及终端设备 | |
CN117370512A (zh) | 回复对话的方法、装置、设备及存储介质 | |
JP2018072784A (ja) | 音声認識方法、コンピュータプログラム及び装置 | |
CN111522914A (zh) | 标注数据采集方法、装置、电子设备及存储介质 | |
CN113468306A (zh) | 语音对话方法、装置、电子设备及存储介质 | |
JP7044245B2 (ja) | 対話システム補強装置及びコンピュータプログラム | |
CN111625637B (zh) | 意图训练和解析方法及装置 | |
Johansson | Design and Development of Recommender Dialogue Systems |
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 |