CN111831795A - 多轮对话处理方法、装置、电子设备及存储介质 - Google Patents
多轮对话处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111831795A CN111831795A CN201910291157.7A CN201910291157A CN111831795A CN 111831795 A CN111831795 A CN 111831795A CN 201910291157 A CN201910291157 A CN 201910291157A CN 111831795 A CN111831795 A CN 111831795A
- Authority
- CN
- China
- Prior art keywords
- information
- scene
- service scene
- service
- trigger condition
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能技术领域,公开了一种多轮对话处理方法、装置、电子设备及存储介质,所述方法包括:获取对话信息以及用于表征对话信息归属的标识信息;从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,激活列表中存储有已被激活的业务场景的场景标识;基于目标业务场景对应的历史对话信息的语义识别结果,对对话信息进行语义识别。本实施例的多轮对话处理方法,能够提高了多轮对话过程中的语义识别准确度,同时,实现对多个业务场景的管理。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种多轮对话处理方法、装置、电子设备及存储介质。
背景技术
当前自然语言理解技术已经取得了长足的进展,在单轮对话场景也就是针对用户输入的一句对话信息立即作出回应的对话场景,在单轮对话场景下,人工智能能够较准确地对用户的询问做出最优的回应输出。但是,如果用户的单轮输入之间存在某些联系,会形成多轮对话场景,此时,需要结合用户多次单轮输入的信息来理解用户当前输入的信息。
目前,多轮对话处理的解决方案主要有基于框架的多轮对话系统和基于FSM(有限状态机)的方法。基于框架的多轮对话系统,本质上是一个生成系统,不同类型的输入激发不同的生成规则,用户定义需要提供的信息,系统根据对话状态选择进行何种操作。基于FSM的方法,需要创建一个事件驱动表,表中包括系统当前状态、触发事件、下一个状态以及状态转移函数,这样就可以根据当前状态与触发事件从事件驱动表中检索出相应的状态转移函数与下一个状态,从而执行状态函数,进行状态转换,从而利用上一轮或者几轮的信息,沿规定好的状态转换路径行走直至获取最终对话的输出。
基于框架的多轮对话系统存在的问题是,多场景信息的管理与切换比较容易混乱,缺少多场景管理的完备方案,且生成规则可配置性不高,缺少灵活性。基于FSM的方法,是把对话过程看成是自动机的状态转移过程,主要工作是设计自动机的状态和状态转移条件,所描述的自动机转移条件过于复杂,所以其可配置性不高,缺少灵活性,状态间的跳转比较混乱,而且其依赖领域意图信息来跳转状态,对单轮语义理解的依赖度很高。
因此,现有的多轮对话处理方法无法较好地管理多个业务场景,导致无法输出用户实际需求或者满意的回应值,影响用户体验。
发明内容
本发明实施例提供一种多轮对话处理方法、装置、电子设备及存储介质,以解决现有技术中无法较好地管理多个业务场景,导致无法输出用户实际需求或者满意的回应的问题。
第一方面,本发明一实施例提供了一种多轮对话处理方法,包括:
获取对话信息以及用于表征对话信息归属的标识信息;
从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,激活列表中存储有已被激活的业务场景的场景标识;
基于目标业务场景对应的历史对话信息的语义识别结果,对对话信息进行语义识别。
可选地,激活列表中存储的场景标识按照对应的业务场景活跃度从高到低排序,活跃度表征业务场景被激活的时间。
相应地,从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:
根据标识信息对应的激活列表中各个业务场景的活跃度从高到低的顺序,依次将激活列表中的业务场景对应的触发条件与对话信息进行匹配,若匹配到对话信息满足的触发条件,将所匹配的触发条件对应的业务场景确定为目标业务场景;
根据激活列表中各个业务场景被激活的先后顺序,更新激活列表中各个业务场景标识的排序。
可选地,本发明实施例提供了的多轮对话处理方法还包括:
若从激活列表中未匹配到目标业务场景,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,配置列表存储有预先配置的各个业务场景的场景标识;
将目标业务场景的场景标识添加到激活列表中。
可选地,将目标业务场景的场景标识添加到激活列表中之前,还包括:
若添加了目标业务场景后,激活列表中存储的业务场景的数量超过激活列表的最大存储数量,删除激活列表中活跃度等级最低的业务场景。
可选地,配置列表中的各个业务场景设置有生效范围。
相应地,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,包括:
根据标识信息以及配置列表中每个业务场景的生效范围,从标识信息所满足的生效范围对应的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
可选地,配置列表中的各个业务场景设置有场景优先级。
相应地,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,包括:
从配置列表中,选择对话信息满足的触发条件对应的、且场景优先级最高的业务场景,确定为目标业务场景。
可选地,触发条件包括首次触发条件和后续触发条件,首次触发条件的触发范围小于后续触发条件的触发范围。
相应地,从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:从标识信息对应的激活列表中,选择对话信息满足的后续触发条件对应的业务场景,确定为目标业务场景。
相应地,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:从配置列表中,选择对话信息满足的首次触发条件对应的业务场景,确定为目标业务场景。
可选地,触发条件包括以下至少一种:
若对话信息与任一业务场景对应的第一文本相同,确定对话信息满足业务场景的第一触发条件;
计算对话信息与任一业务场景对应的第二文本的相似度,若相似度高于相似度阈值,确定对话信息满足业务场景的第二触发条件;
若对话信息中包含任一业务场景对应的第一关键词,确定对话信息满足业务场景的关键词触发条件;
若任一业务场景对应的领域信息中包含对话信息对应的第一领域信息,确定对话信息满足业务场景的领域触发条件;
若任一业务场景对应的意图信息中包含对话信息对应的第一意图信息,确定对话信息满足业务场景的意图触发条件。
可选地,基于目标业务场景对应的历史对话信息的语义识别结果,对对话信息进行语义识别,具体包括:
获取目标业务场景对应的槽位信息表,其中,槽位信息表中包括至少一个槽位项,槽位信息表中存储有基于目标业务场景对应的历史对话信息确定出的槽位项对应的槽位值;
根据对话信息,更新槽位信息表中至少一个槽位项对应的槽位值;
将更新后的槽位信息表中的槽位值,确定为对话信息的语义识别结果。
可选地,标识信息为采集到对话信息的智能设备的设备标识,或者发起对话信息的用户的用户标识。
可选地,当标识信息为设备标识时,设备标识对应的激活列表中的每个业务场景标记有激活业务场景的用户的用户标识。
相应地,从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:从设备标识对应的激活列表中标记有发起对话信息的用户的用户标识的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
可选地,本发明实施例提供了的多轮对话处理方法还包括:
若激活列表中的任一业务场景满足对应的会话终止条件,删除激活列表中任一业务场景对应的场景标识,以及删除任一业务场景对应的历史对话信息的语义识别结果。
可选地,本发明实施例提供了的多轮对话处理方法还包括:
若激活列表中的任一业务场景的触发间隔时长超过任一业务场景对应的超时时长阈值,确定任一业务场景满足对应的会话终止条件,触发间隔时长为当前时刻与目标业务场景最近一次被确定为目标业务场景时的时刻之间的差值;或,
若接收到针对激活列表中的任一业务场景的会话终止指令,确定任一业务场景满足对应的会话终止条件。
第二方面,本发明一实施例提供了一种多轮对话处理装置,包括:
获取模块,用于获取对话信息以及用于表征对话信息归属的标识信息。
确定模块,用于从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,激活列表中存储有已被激活的业务场景的场景标识。
识别模块,用于基于目标业务场景对应的历史对话信息的语义识别结果,对对话信息进行语义识别。
可选地,激活列表中存储的场景标识按照对应的业务场景活跃度从高到低排序,活跃度表征业务场景被激活的时间。
相应地,确定模块具体用于:根据标识信息对应的激活列表中各个业务场景的活跃度从高到低的顺序,依次将激活列表中的业务场景对应的触发条件与对话信息进行匹配,若匹配到对话信息满足的触发条件,将所匹配的触发条件对应的业务场景确定为目标业务场景;根据激活列表中各个业务场景被激活的先后顺序,更新激活列表中各个业务场景标识的排序。
可选地,确定模块还用于:若从激活列表中未匹配到目标业务场景,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,配置列表存储有预先配置的各个业务场景的场景标识;将目标业务场景的场景标识添加到激活列表中。
可选地,确定模块还用于:在将目标业务场景的场景标识添加到激活列表中之前,若添加了目标业务场景后,激活列表中存储的业务场景的数量超过激活列表的最大存储数量,删除激活列表中活跃度等级最低的业务场景。
可选地,配置列表中的各个业务场景设置有生效范围。
相应地,确定模块还用于:根据标识信息以及配置列表中每个业务场景的生效范围,从标识信息所满足的生效范围对应的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
可选地,配置列表中的各个业务场景设置有场景优先级。
相应地,确定模块具体用于:从配置列表中,选择对话信息满足的触发条件对应的、且场景优先级最高的业务场景,确定为目标业务场景。
可选地,触发条件包括首次触发条件和后续触发条件,首次触发条件的触发范围小于后续触发条件的触发范围。
相应地,确定模块具体用于:从标识信息对应的激活列表中,选择对话信息满足的后续触发条件对应的业务场景,确定为目标业务场景。
相应地,确定模块具体用于:从配置列表中,选择对话信息满足的首次触发条件对应的业务场景,确定为目标业务场景。
可选地,触发条件包括以下至少一种:
若对话信息与任一业务场景对应的第一文本相同,确定对话信息满足业务场景的第一触发条件;
计算对话信息与任一业务场景对应的第二文本的相似度,若相似度高于相似度阈值,确定对话信息满足业务场景的第二触发条件;
若对话信息中包含任一业务场景对应的第一关键词,确定对话信息满足业务场景的关键词触发条件;
若任一业务场景对应的领域信息中包含对话信息对应的第一领域信息,确定对话信息满足业务场景的领域触发条件;
若任一业务场景对应的意图信息中包含对话信息对应的第一意图信息,确定对话信息满足业务场景的意图触发条件。
可选地,识别模块具体用于:获取目标业务场景对应的槽位信息表,其中,槽位信息表中包括至少一个槽位项,槽位信息表中存储有基于目标业务场景对应的历史对话信息确定出的槽位项对应的槽位值;根据对话信息,更新槽位信息表中至少一个槽位项对应的槽位值;将更新后的槽位信息表中的槽位值,确定为对话信息的语义识别结果。
可选地,标识信息为采集到对话信息的智能设备的设备标识,或者发起对话信息的用户的用户标识。
可选地,当标识信息为设备标识时,设备标识对应的激活列表中的每个业务场景标记有激活业务场景的用户的用户标识。
相应地,确定模块具体用于:从设备标识对应的激活列表中标记有发起对话信息的用户的用户标识的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
可选地,本发明实施例的多轮对话处理装置还包括终止模块,用于:若激活列表中的任一业务场景满足对应的会话终止条件,删除激活列表中任一业务场景对应的场景标识,以及删除任一业务场景对应的历史对话信息的语义识别结果。
可选地,终止模块具体用于:若激活列表中的任一业务场景的触发间隔时长超过任一业务场景对应的超时时长阈值,确定任一业务场景满足对应的会话终止条件,触发间隔时长为当前时刻与目标业务场景最近一次被确定为目标业务场景时的时刻之间的差值;
可选地,终止模块具体用于:若接收到针对激活列表中的任一业务场景的会话终止指令,确定任一业务场景满足对应的会话终止条件。
第三方面,本发明一实施例提供了一种电子设备,包括收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,收发机用于在处理器的控制下接收和发送数据,处理器执行计算机程序时实现上述任一种方法的步骤。
第四方面,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
第五方面,本发明一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。
本发明实施例提供的技术方案,通过存储已激活的多个业务场景的场景标识以及历史的语义识结果,在后续对话过程中,能够从已激活的多个业务场景中匹配到对应的业务场景,基于该业务场景对应的历史语义识别结果,对当前的对话信息进行语义识别,理解用户的真正意图,从而输出用户实际需求或者满意的回应,提高了多轮对话过程中的语义识别准确度。同时,基于存储的多个业务场景,可实现在多个业务场景之间的自由切换,即同时开启多个多轮对话。此外,本实施例的多轮对话处理方法实现起来较为简单,只需要为各个业务场景的配置好触发条件即可,配置方式简单、灵活、高效,具备很强的可操作性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多轮对话处理方法的应用场景示意图;
图2为本发明一实施例提供的多轮对话处理方法的流程示意图;
图3为本发明一实施例提供的多轮对话处理方法中对对话信息进行语义识别的流程示意图;
图4为本发明一实施例提供的多轮对话处理装置的结构示意图;
图5为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
LRU(Least Recently Used),即最近最少使用,常用于页面置换算法,是为虚拟页式存储管理服务的。对于虚拟页式存储,内外存信息的替换是以页面为单位进行的——当需要一个放在外存的页面时,把它调入内存,同时为了保持原有空间的大小,还要把一个内存中的页面调出至外存,在每次调换时,LRU算法找到最近最久未使用的那个页面调出内存。
redis是一个高性能key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。
槽位(slot),是多轮对话过程中将初步用户意图转化为明确用户指令所需要补全的信息。一个槽位与一件事情的处理中所需要获取的一种信息相对应。例如,要想执行查看天气的动作,需要知道地点、时间这些必要的元素,这些必要元素就是槽位。
领域(domain),是包含一系列的相关的意图和词槽组成的语义理解场景。
意图(intent),是通过用户的交互输入识别出的用户所要表达的目的。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,基于框架的多轮对话系统存在的问题是,多场景信息的管理与切换比较容易混乱,缺少多场景管理的完备方案,且生成规则可配置性不高,缺少灵活性。基于FSM的方法,是把对话过程看成是自动机的状态转移过程,主要工作是设计自动机的状态和状态转移条件,所描述的自动机转移条件过于复杂,所以其可配置性不高,缺少灵活性,状态间的跳转比较混乱,而且其依赖领域意图信息来跳转状态,对单轮语义理解的依赖度很高。因此,现有的多轮对话处理方法无法较好地管理多个业务场景,导致无法输出用户实际需求或者满意的回应,影响用户体验。
为此,本发明的发明人考虑到,利用激活列表存储历史对话过程中激活的业务场景,并将对话信息对应的语义识别结果与对话信息对应的业务场景关联存储,即,针对激活列表中的业务场景,存储基于每个业务场景对应的历史对话信息的语义识别结果。通过将用户输入的对话信息与激活列表中各个业务场景的触发条件进行比对,确定激活的业务场景,基于存储的该业务场景对应的历史对话信息的语义识别结果,来对当前的对话信息进行语义识别,以提高多轮对话过程中的语义识别准确度。此外,基于存储的多个业务场景,可实现在多个业务场景之间的自由切换,即同时开启多个多轮对话,有效的管理多轮对话中涉及的多个业务场景。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
首先参考图1,其为本发明实施例提供的多轮对话处理方法的应用场景示意图。用户10与智能设备11进行多轮对话的交互过程中,智能设备11将用户10输入的对话信息发送给服务器12,服务器12结合历史对话信息以及当前的对话信息,明确用户下达的指令,并控制智能设备11进行相应的响应,以向用户给出反馈。
这种应用场景下,智能设备11和服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。智能设备11可以为便携设备(例如:手机、平板、笔记本电脑等),也可以为个人电脑(PC,Personal Computer),还可以是智能音箱等智能控制设备。
下面结合图1所示的应用场景,对本发明实施例提供的技术方案进行说明。
参考图2,本发明实施例提供一种多轮对话处理方法,包括以下步骤:
S201、获取对话信息以及用于表征该对话信息归属的标识信息。
本发明实施例中,对话信息为本轮对话中用户输入的对话信息,用户输入的对话信息可以是语音信息或文字信息。当用户输入的是语音信息时,需要预先将语音信息转换为文字信息,以方便后续处理。对话信息可以是用户直接通过输入界面输入的,也可以是智能设备通过MIC采集到的语音信息。
本发明实施例中,标识信息用于表征对应的对话信息的归属,例如,标识信息可以是采集该对话信息的智能设备的设备标识,标识信息也可以是该对话信息对应的用户的用户标识。当然,标识信息还可以是其它能够表征对话信息归属的标识,本发明实施例不作限定。
S202、从标识信息对应的激活列表中,选择该对话信息满足的触发条件对应的业务场景,确定为目标业务场景,激活列表中存储有已被激活的业务场景的场景标识。
本发明实施例中,每个业务场景预先配置有对应的触发条件。具体地,将对话信息与激活列表中业务场景对应的触发条件进行匹配,根据匹配结果确定对话信息是否满足该业务场景对应的触发条件,从满足触发条件的业务场景中选择一个业务场景,确定为对话信息对应的目标业务场景。
本发明实施例中,当业务场景被确定为目标业务场景,表示该业务场景被激活。每个标识信息对应的一个激活列表,例如,标识信息为设备标识时,即每个智能设备对应一个激活列表,将基于该智能设备采集的对话信息激活的业务场景的场景标识添加到该智能设备对应的激活列表中。例如,标识信息为用户标识时,即每个用户对应一个激活列表,将基于该用户输入的对话信息激活的业务场景的场景标识添加到该用户对应的激活列表中。
进一步地,当标识信息为设备标识时,设备标识对应的激活列表中的每个业务场景标记有激活业务场景的用户的用户标识,从而将使用同一智能识别的多个用户区分开来,同时为多个用户提供多轮对话服务。此时,步骤S202具体包括:从设备标识对应的激活列表中标记有发起对话信息的用户的用户标识的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
具体地,可通过用户使用该智能设备时的注册信息(如用户名)中获取用户标识,也可通过人脸识别、声纹识别、指纹识别等技术识别用户身份,获取用户对应的用户标识。
S203、基于目标业务场景对应的历史对话信息的语义识别结果,对该对话信息进行语义识别。
具体实施时,将对话信息对应的语义识别结果与对话信息对应的业务场景关联存储,即,针对激活列表中的业务场景,存储基于每个业务场景对应的历史对话信息的语义识别结果,当再次激活该激活列表中的业务场景时,能够基于存储的该业务场景对应的历史对话信息的语义识别结果,来对当前的对话信息进行语义识别,以提高多轮对话过程中的语义识别准确度。
举例说明,激活列表中存储有买火车票的业务场景,基于买火车票的业务场景的历史对话信息得到的语义识别结果为“北京到广州的火车票”,当用户输入的对话信息为“买明天的票”时,该对话信息满足买火车票的业务场景,基于该业务场景已激活的多轮对话的上一轮对话信息对应的语义识别结果“北京到广州的火车票”,即可确定对话信息“买明天的票”的语义识别结果为“购买明天北京到广州的火车票”,而不会将“买明天的票”识别为买飞机票或者电影票等,提高了多轮对话过程中的语义识别准确度。
此外,基于激活列表,能够实现多个业务场景之间的切换,即同时开启多个多轮对话。举例说明,用户先进行了关于买火车票的对话,将买火车票的业务场景的场景标识添加到激活列表中,并存储关于买火车票的多轮对话信息的语义识别结果;在买火车票的对话还没结束前,用户又开始了关于天气的对话,将天气查询的业务场景的场景标识添加到激活列表中,并存储关于天气查询的多轮对话信息的语义识别结果;随后,用户又继续进行关于买火车票的对话,此时,可以从激活列表中匹配到买火车票这一业务场景,基于买火车票业务场景的多轮对话信息的语义识别结果,来对用户当前输入的关于买火车票的对话信息进行语义识别。
本发明实施例的方法,通过存储已激活的多个业务场景的场景标识以及历史语义识结果,在后续对话过程中,能够从已激活的多个业务场景中匹配到对应的业务场景,基于该业务场景对应的历史语义识别结果,对当前的对话信息进行语义识别,理解用户的真正意图,从而输出用户实际需求或者满意的回应,提高了多轮对话过程中的语义识别准确度。同时,基于存储的多个业务场景,可实现在多个业务场景之间的自由切换,即同时开启多个多轮对话。此外,本实施例的多轮对话处理方法实现起来较为简单,只需要为各个业务场景的配置好触发条件即可,配置方式简单、灵活、高效,具备很强的可操作性。
进一步地,激活列表中存储的场景标识按照对应的业务场景活跃度从高到低排序,活跃度表征业务场景被激活的时间。被激活的时间越近的业务场景,其活跃度等级越高,最近一次被激活的业务场景的活跃度等级最高。
相应地,步骤S202具体包括:根据标识信息对应的激活列表中各个业务场景的活跃度从高到低的顺序,依次将激活列表中的业务场景对应的触发条件与对话信息进行匹配,若匹配到对话信息满足的触发条件,将所匹配的触发条件对应的业务场景确定为目标业务场景;根据激活列表中各个业务场景被激活的先后顺序,更新激活列表中各个业务场景标识的排序。
具体实施时,可采用LRU算法,实现激活列表中各业务场景的场景标识按照被激活的时间的先后进行自动换序,即将被激活时间最近(即活跃度等级最高)的业务场景的场景标识移动至在激活列表的队首,其他业务场景的场景标识的存储序列依次往后顺延。
具体实施时,根据标识信息对应的激活列表中各个业务场景的活跃度从高到低的顺序,依次将激活列表中的业务场景对应的触发条件与对话信息进行匹配,若匹配到对话信息满足的触发条件,将所匹配的触发条件对应的业务场景确定为目标业务场景,然后,将目标业务场景的活跃度等级调整到最高,这样,可以优先将最近被激活的业务场景与对话信息进行匹配,一旦匹配到目标业务场景后就停止匹配。因此,激活列表中活跃度等级越高的业务场景,具有优先与当前的对话信息进行匹配的权利,这点能够很好地符合实际对话情景,即用户输入的对话信息与最近被激活的业务场景相关的概率较高,而与较早激活的业务场景相关的概率较低。
举例说明,历史进行的多轮对话为:用户输入“帮我选个礼物”,智能设备回复“需要什么类型的礼物”,用户输入“先帮我买张回家的火车票”,智能设备回复“您要买几号的火车票”,用户输入“明天的”,用户又输入“礼物是送给妈妈的”。首先,根据“帮我选个礼物”可以确定是“买礼物”这一业务场景,则此轮对话结束后激活列表中活跃度等级最高的业务场景为“买礼物”。接着,确定“先帮我买张回家的火车票”对应的是“买火车票”的业务场景,则此轮对话结束后激活列表中活跃度等级最高的业务场景为“买火车票”,活跃度等级排在第二位的业务场景是“买礼物”。然后,用户输入的信息“明天的”,首先将用户输入的对话信息与激活列表中活跃度等级最高的业务场景“买火车票”的触发条件进行比对,发现用户输入的对话信息符合“买火车票”这一业务场景的触发条件,则“明天的”对应的业务场景为“买火车票”,此轮对话结束后激活列表中活跃度等级最高的业务场景仍为“买火车票”。接下来,用户输入的对话信息为“礼物是送给妈妈的”,首先将用户输入的对话信息与激活列表中活跃度等级最高的业务场景“买火车票”的触发条件进行比对,发现不满足业务场景“买火车票”的触发条件,然后,将活跃度等级排在第二位的业务场景“买礼物”的触发条件进行匹配,发现满足业务场景“买礼物”的触发条件,则“礼物是送给妈妈的”对应的业务场景为“买礼物”。因此,通过上述方法还能在多轮对话过程中,高效地实现多个业务场景之间的切换。
本发明实施例的多轮对话处理方法,利用激活列表存储历史对话过程中激活的业务场景的场景标识,并在每轮对话过程中将对话信息对应的目标业务场景的活跃度等级调整到最高,保证最近被激活的业务场景能够优先与当前的对话信息进行匹配。通过上述方式管理多轮对话中涉及的多个业务场景,可提高多轮对话过程中进行业务场景匹配时,命中目标业务场景的准确率,同时还能高效地实现多个业务场景之间的切换。
在上述任一实施的基础上,本发明实施例的方法还包括以下步骤:若从激活列表中未匹配到目标业务场景,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,配置列表存储有预先配置的各个业务场景的场景标识;将目标业务场景的场景标识添加到激活列表中。
本发明实施例中,配置列表用于存储预先配置好的各个业务场景的场景标识,并为配置列表中的各个业务场景配置了对应的触发条件。配置列表中的场景标识可自由配置,例如,当需要新增业务场景时,将新增业务场景的场景标识添加到配置列表中,并配置对应的触发条件,当需要删除某业务场景时,只需要删除配置列表中该业务场景的场景标识以及对应的触发条件,配置完成后即可生效,配置方式灵活、简单、高效。
具体地,如果对话信息与激活列表中任何一个业务场景的触发条件都不匹配,则说明对话信息对应一个未记录在激活列表中的新的业务场景,此时,可从配置列表中匹配到该新的业务场景,将新的业务场景的场景标识添加到激活列表的队首。
进一步地,在将从配置列表中确定出的目标业务场景的场景标识添加到激活列表中之前,本发明实施例的方法还包括如下步骤:若添加了目标业务场景后,激活列表中存储的业务场景的数量超过激活列表的最大存储数量,删除激活列表中活跃度等级最低的业务场景。其中,激活列表的最大存储数量,即能够保存场景标识的最大数量,例如,激活列表的最大存储数量为5,则表示最多能够同时存储5个业务场景的场景标识,即能够同时进行5个业务场景。
具体实施时,为了高效便捷地管理激活列表,可采用LRU算法管理激活列表,实现激活列表中各场景标识的换序和末位淘汰。例如,将最新被激活(即活跃度等级最高)的业务场景的场景标识移动至激活列表队首,在向激活列表中添加场景标识时,如果激活列表的存储量已满,则删除激活列表中排序在最末位(即活跃度等级最低)的场景标识。
本发明实施例中,每个业务场景配置有至少一个触发条件。其中,触发条件包括但不限于以下至少一种:第一触发条件、第二触发条件、关键词触发条件、领域触发条件或意图触发条件。
当触发条件为第一触发条件时,针对每个业务场景可设置一个或多个第一文本,例如,针对“买火车票”这一业务场景,其第一文本可以是“我要买火车票”或“帮我查下火车票”等。在获取到对话信息后,针对任一业务场景,将对话信息与该业务场景对应的第一文本进行比对,若对话信息与任一业务场景对应的第一文本相同,确定对话信息满足该业务场景的第一触发条件,否则,表示该对话信息不满足该业务场景的第一触发条件。
当触发条件为第二触发条件时,针对每个业务场景可设置一个或多个第二文本,例如,针对“买火车票”这一业务场景,其第二文本可以是“我要买火车票”或“帮我查下火车票”等。在获取到对话信息后,针对任一业务场景,计算该对话信息对应的文本信息与该业务场景对应的第二文本的相似度,若相似度高于预先配置的相似度阈值,确定该对话信息满足该业务场景的第二触发条件,否则,确定该对话信息不满足该业务场景的第二触发条件。其中,相似度阈值是可配置的,可根据实际情况设置,本发明实施例不作限定,例如,可根据选择的文本相似度算法的准确度,调整预设阈值。
当触发条件为关键词触发条件时,各个业务场景的关键词可以是“高铁”、“火车”、“电影”、“播放”、“天气”等这类明确指向某一场景的词汇。针对每个业务场景可设置一个或多个关键词。在获取到对话信息后,针对任一业务场景,判断该对话信息对应的文本信息中是否包含该业务场景对应的关键词,若对话信息对应的文本信息中包含该业务场景对应的关键词,确定该对话信息满足该业务场景的关键词触发条件,否则,确定该对话信息不满足该业务场景的关键词触发条件。实际应用中,可配置为:若对话信息对应的文本信息中包含业务场景对应的至少一个关键词,确定该对话信息满足该业务场景的关键词触发条件,否则,确定该对话信息不满足该业务场景的关键词触发条件;或者,若对话信息对应的文本信息中包含业务场景对应的所有关键词,确定该对话信息满足该业务场景的关键词触发条件,否则,确定该对话信息不满足该业务场景的关键词触发条件。
当触发条件为领域(domain)触发条件时,各个业务场景对应的领域信息可以是“列车”、“电影”、“天气”等这类明确指向某一场景的领域信息。在获取到对话信息后,可通过NLP(自然语言处理)算法识别对话信息对应的文本信息对应的领域信息,针对任一业务场景,若该业务场景对应的领域信息中包含对话信息对应的领域信息,确定该对话信息满足该业务场景的领域触发条件,否则,确定该对话信息不满足该业务场景的领域触发条件。实际应用中,针对一个业务场景对应的领域触发条件中可设置一个或多个领域信息,可配置为:多对话信息中包含该业务场景对应的领域触发条件中的至少一个领域信息时,确定对话信息满足该业务场景的领域触发条件。
当触发条件为意图(intent)触发条件时,各个业务场景对应的意图信息可以是“买火车票”、“看电影”、“询问天气”等这类明确指向某一场景的意图信息。在获取到对话信息后,可通过NLP算法识别对话信息对应的文本信息对应的意图信息,针对任一业务场景,若该业务场景对应的意图信息中包含该对话信息对应的意图信息,确定该业务场景满足业务场景的意图触发条件,否则,确定该业务场景不满足业务场景的意图触发条件。实际应用中,一个业务场景对应的意图触发条件中可设置一个或多个意图信息,可配置为:若对话信息中包含该业务场景对应的意图触发条件中的至少一个意图信息时,确定对话信息满足该业务场景的意图触发条件。
具体实施时,当一个业务场景配置有多个触发条件时,可配置为:当对话信息同时满足多个触发条件时,确定该对话信息满足该业务场景对应的触发条件;或者当对话信息满足该业务场景对应的预设数量的触发条件时,确定该对话信息满足该业务场景对应的触发条件;或者当对话信息满足该业务场景对应的触发条件的优先级满足要求时,确定该对话信息满足该业务场景对应的触发条件;等等。
本发明实施例中,触发条件包括首次触发条件和后续触发条件。
本发明实施例中,首次触发条件是针对配置列表中的业务场景设置的,通过首次触发条件判断用户输入的对话信息是否属于配置列表中的哪个业务场景。如果对话信息不满足激活列表中任何一个业务场景的触发条件,则说明用户开启了一个新的业务场景,在进入一个新的对话场景时,用户输入的对话信息通常明确地指向某一业务场景,即语义完整度较高的对话信息,能够明确用户的意图。例如,从对话信息“设置一个9点的闹钟”中就可以明确地获知对话场景为“设置闹钟”,而“明天”、“北京”等类似的对话信息并不包含明确的业务场景,显然属于在某一已激活的业务场景在进行的后续对话。
本发明实施例中,后续触发条件是针对激活列表中的业务场景设置的。如果对话信息满足激活列表中的某一业务场景对应的后续触发条件,则表示对话信息是该业务场景对应下的后续对话。由于在多轮对话中,用户每次输入的对话信息不一定都具有完整明确的语义,例如,用户说“帮我买张火车票”,智能设备输出“您要买几号的火车票”,用户输入“明天的”,从上述对话中“帮我买张火车票”这句信息可识别到用户的意图为购买火车票,但是,从“明天的”这句话中就无法识别用户的具体意图了。因此,后续触发条件是基于已激活的业务场景下后续进行对话过程中可能涉及的对话内容设置的,例如,“买火车票”这一业务场景下,后续对话可能涉及时间信息、地点信息,则可以将识别到时间信息和地点信息作为“买火车票”这一业务场景的后续触发条件。由于上一轮对话过程中用户输入的信息为“帮我买张火车票”,则激活列表中存在“买火车票”的场景标识,用户输入的对话信息为“10月1日”,即对话信息中包含时间信息,满足“买火车票”这一业务场景的后续触发条件,表明用户输入的对话信息“10月1日”是针对“买火车票”业务场景下的后续对话。
因此,本发明实施例中,首次触发条件的触发范围小于后续触发条件的触发范围,即,针对同一对话信息,该对话信息能够满足业务场景A的后续触发条件,但不一定能够满足业务场景A的首次触发条件。
例如,对于第一触发条件,需要对话信息与第一文本完全相同,才确定对话信息满足第一触发条件;对于第二触发条件,只需要对话信息与第二文本的相似度高于相似度阈值时,就确定对话信息满足第二触发条件;对于关键词触发条件,只需要对话信息中包含预设的关键词,就确定对话信息满足关键词触发条件;对于领域触发条件,只需要对话信息对应的领域信息和预设的领域相同,即可确定对话信息满足领域触发条件;对于意图触发条件,只需要对话信息对应的领域信息和预设的领域相同,即可确定对话信息满足领域触发条件。因此,从触发范围来说,第一触发条件>第二触发条件>关键词触发条件>意图触发条件>领域触发条件。例如,针对业务场景A,首次触发条件可以是第一触发条件或第二触发条件,后续触发条件可以是关键词触发条件、意图触发条件或领域触发条件。
当然,针对同一业务场景,首次触发条件和后续触发条件也可以是同一类触发条件。以关键词触发条件为例,买火车票的业务场景的首次触发条件可以是含有关键词“火车票”,后续触发条件可以是含有表示地点或时间的关键词。
相应地,步骤S202具体包括:从标识信息对应的激活列表中,选择对话信息满足的后续触发条件对应的业务场景,确定为目标业务场景。
相应地,从配置列表中确定对话信息对应的目标业务场景时,从配置列表中,选择对话信息满足的首次触发条件对应的业务场景,确定为目标业务场景。
在上述任一实施例的基础上,本发明实施例中的配置列表中的各个业务场景设置有生效范围。生效范围规定了有权使用该业务场景的对象。相应地,在从配置列表中确定对话信息对应的目标业务场景时,根据标识信息以及配置列表中每个业务场景的生效范围,从标识信息所满足的生效范围对应的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
具体实施时,获取到的对话信息携带有对应的标识信息。标识信息可以是用于表示用户唯一身份的用户ID,例如,用户的注册ID等。标识信息也可以是企业级的企业标识,即一个企业标识对应一个企业。标识信息还可以是设备级的设备标识,设备标识可用于标识一类设备,例如,智能音箱为一类设备,聊天机器人为一类设备。标识信息还可以是业务级的产品标识,例如,通过同一种应用产品发送的对话信息携带有该应用产品对应的产品标识。本发明实施例中不对标识信息的具体实现进行限定,可根据实际应用场景或需求进行配置。为此,针对每个用户、每个企业、每类设备以及每种产品,可自由配置其专属的业务场景。
具体地,针对各个业务场景,可以设置全局生效范围、企业生效范围、产品生效范围、设备生效范围。当业务场景配置的是全局生效范围时,表示所有的对象(包括不同的用户、企业、设备、产品等)均可以使用该业务场景,在配置全局生效范围时,业务场景对应的生效范围也可以是缺省值,即生效范围未填入任何值时,表示该业务场景在全局范围内生效。当业务场景配置的是企业生效范围时,企业生效范围中记录的是能够使用该业务场景的企业的企业标识,如果对话信息携带的企业标识在业务场景对应的企业生效范围内,则选择该业务场景作为候选业务场景。当业务场景配置的是产品生效范围时,产品生效范围中记录的是能够使用该业务场景的产品的产品标识,如果对话信息携带的产品标识在业务场景对应的企业生效范围内,则选择该业务场景作为候选业务场景。当业务场景配置的是设备生效范围时,设备生效范围中记录的是能够使用该业务场景的智能设备的设备标识,如果对话信息携带的设备标识在业务场景对应的企业生效范围内,则选择该业务场景作为候选业务场景。通过为各业务场景配置生效范围,可实现业务场景在不同层级的生效,如全局生效、产品生效、企业生效、设备级别生效等,可满足用户对该业务场景的个性化定制需求。
在上述任一实施例的基础上,本发明实施例中的配置列表中的各个业务场景设置有场景优先级。相应地,在从配置列表中确定对话信息对应的目标业务场景时,从配置列表中,选择对话信息满足的触发条件对应的、且场景优先级最高的业务场景,确定为目标业务场景。例如,当对话信息同时满足业务场景A和业务场景B的触发条件时,业务场景A的场景优先级高于业务场景B的场景优先级,则将业务场景A确定为目标业务场景。通过设置场景优先级,可以在配置列表中匹配到多个满足条件的业务场景时,根据场景优先级从这多个满足条件的业务场景确定出目标业务场景,避免同时确定出多个目标业务场景的情况发生。
在上述任一实施例的基础上,如图3所示,步骤S203具体包括如下步骤:
S2301、获取目标业务场景对应的槽位信息表,其中,槽位信息表中包括至少一个槽位项,槽位信息表中存储有基于目标业务场景对应的历史对话信息确定出的槽位项对应的槽位值。
具体实施时,每一个业务场景对应的槽位信息表的结构是预先配置的,利用为各个业务场景配置的槽位信息表,来记录各个业务场景对应的历史对话信息的语义识别结果。具体地,一个业务场景的槽位信息表中包括至少一个槽位项,槽位项对应的槽位值为执行动作时所需要的信息,例如,要想执行查看天气的动作,需要知道地点、时间这些必要的信息,这些必要信息就是槽位信息,可通过表结构的形式存储每个业务场景的槽位项以及对应的槽位值,即生成一个槽位信息表。具体地,可采用词典(dict)结构存储槽位信息表中各个槽位值,其中,key值可以是槽位项的名称,value值为对应的槽位值。每个槽位信息表包含其对应的业务场景的场景标识,在确定对话信息对应的目标业务场景后,可通过目标业务场景的场景标识,获取对应的槽位信息表。
S2302、根据对话信息,更新槽位信息表中至少一个槽位项对应的槽位值。
具体地,可利用现有的自然语言理解技术,从对话信息中提取出各类信息,如时间信息、地点信息、人物信息等,再根据目标业务场景对应的槽位信息表中需要填充的槽位项,从对话信息中提取出槽位项对应的信息,用提取出的信息更新槽位信息表中对应槽位项的槽位值。例如,针对“买火车票”的业务场景,可设置至少三个槽位项:日期、出发地和目的地,则业务场景“买火车票”的槽位信息表中存在三个槽位项,分别为“日期”、“出发地”和“目的地”。假设用户输入的对话信息为“1月1日”,并确定对话信息属于“买火车票”这一业务场景,从对话信息提取出日期信息“1月1日”,将槽位信息表中“日期”槽位项的槽位值更新为“1月1日”。
S2303、将更新后的槽位信息表中的槽位值,确定为对话信息的语义识别结果。
例如,“买火车票”的业务场景对应的槽位信息表中设置了三个槽位项:日期、出发地和目的地,如果更新后的槽位信息表中,日期槽位项的槽位值为“1月1日”,出发地槽位项的槽位值为“北京”,目的地槽位项的槽位值为“广州”,则确定语义识别结果为:购买1月1日从北京到广州的火车票。
本发明实施例的多轮对话处理方法,基于表结构的槽位填充方式,能够充分融合从多轮历史对话信息中获取的槽位值,从而高效地恢复多轮对话场景,理解用户的真正意图,获得准确的语义解析结果,从而输出用户实际需求或者满意的回应,且基于表结构的槽位配置方式简单、灵活、高效,具备很强的可操作性。
在上述任一实施例的基础上,本发明实施例的方法还包括以下步骤:若激活列表中的任一业务场景满足对应的会话终止条件,删除激活列表中任一业务场景对应的场景标识,以及删除任一业务场景对应的历史对话信息的语义识别结果。
具体实施时,当以槽位信息表存储业务场景对应的历史对话信息的语义识别结果时,若业务场景满足对应的会话终止条件,可清除该业务场景对应的槽位信息表中所有槽位项的槽位值,防止槽位信息表中的信息对之后该业务场景下的新的多乱对话形成干扰。
本发明实施例提供以下两种方式,来确定激活列表中的业务场景是否满足该业务场景对应的会话终止条件:
第一种方式、若激活列表中的任一业务场景的触发间隔时长超过任一业务场景对应的超时时长阈值,确定任一业务场景满足对应的会话终止条件,触发间隔时长为当前时刻与目标业务场景最近一次被确定为目标业务场景时的时刻之间的差值。
实际应用中,为各个业务场景配置的超时时长阈值可根据具体的业务场景自由设置,本发明实施例中不作限定。举例说明,为一个业务场景配置的超时时长阈值为30秒,如果该业务场景被确定为目标业务场景后的30秒内没有被再次确定为目标业务场景,则可以删除激活列表中该业务场景对应的场景标识,并删除该业务场景对应的历史对话信息的语义识别结果。这样,当用户长时间不进行该业务场景下的对话时,可自动该业务场景对应的历史对话信息的语义识别结果,防止槽历史对话信息的语义识别结果对之后该业务场景下的新的多轮对话形成干扰。
具体实施时,可记录每个业务场景最近一次被确定为目标业务场景的时刻,并利用redis数据库的zset功能,按照各个业务场景最近一次被确定为目标业务场景的时刻的先后顺序,自动对各个业务场景进行排序,这样只需要判断排序靠前的各个业务场景是否存在超时的情况,若检测到超时的业务场景,则满足该业务场景对应的会话终止条件。
第二种方式、若接收到针对激活列表中的任一业务场景的会话终止指令,确定任一业务场景满足对应的会话终止条件。
本发明实施例中,会话终止指令可以是接收到包含终止该目标业务场景下的多轮对话的意图或该目标业务场景对应的动作已执行的信息。
作为一种可能的实现方式,可通过语义识别等方式识别对话信息对应的领域、意图、语义等信息,根据识别的信息确定对话信息是否包含终止对话信息对应的目标业务场景下的多轮对话的意图。若对话信息中包含终止该业务场景下的多轮对话的意图,则表示用户希望结束该多轮对话,此时确定接收到会话终止指令。例如,在“买火车票”的业务场景中,已经得到语义识别结果为:购买1月1日从北京到广州的火车票,可询问用户“是否购买1月1日从北京到广州的火车票”,当用户回答“不需要”时,则确定接收到包含终止该业务场景下的多轮对话的意图,即接收到会话终止指令,确定满足目标业务场景对应的会话终止条件。
作为另一种可能的实现方式,如果确定业务场景对应的动作(action)已经执行,例如,在“买火车票”这一业务场景下已经完成火车票的购买,则确定满足目标业务场景对应的会话终止条件。具体地,当检测到针对某一业务场景,已经基于语义识别结果控制智能设备执行了对应的动作,表明该业务场景对应的动作已执行,此时生成会话终止指令。
在上述任一实施例的基础上,基于步骤S203获得的语义识别结果,可控制智能设备相应的动作(action)。
具体实施时,每个业务场景对应的动作指令可根据具体的场景进行配置,例如,动作指令的类型可以是输出文本、语音播报、播放多媒体、执行技能等。具体地,动作指令可以是输出根据槽位信息表中已填写的槽位值确定的文本信息,可通过智能设备的显示装置显示该文本信息。动作指令可以是语音播报,即将待输出的文本信息转换为语音信息后进行语音播报。动作指令还可以是播放多媒体,即控制智能设备显示图像、播放视频或音频等多媒体,例如,在买车的业务场景下,识别到用户需要购买X品牌X型号的车,可播放介绍X品牌X型号的车的视频。如果用户使用的智能设备具备执特殊技能的技能模块,可预先为业务场景配置好执行指定技能对应的控制指令,例如,智能设备具备唱歌的技能,则可预先为需要触发唱歌技能的业务场景配置控制唱歌技能模块的控制指令,在获取到该业务场景下所需的槽位信息后,将控制指令发送给唱歌技能模块,以控制智能设备执行唱歌这一技能动作。具体实施时,针对一个业务场景可配置至少一个动作指令,当一个业务场景配置有多个动作指令时,可同时执行这多个动作,例如,输出文本的同时,对该文本进行语音播报,如果一个业务场景对应的多个动作指令之间有先后关系时,可为各个动作配置执行的优先级,按优先级顺序依次控制智能设备执行各个动作。本发明实施例的方法,可灵活地为各业务场景配置形式丰富的动作指令,为智能设备提供多模态输出方式,极大地丰富了人机交互体验。
本发明实施例的多轮对话处理方法,可应用于人机交互过程中涉及到的智能设备或服务器。
如图4所示,基于与上述多轮对话处理方法相同的发明构思,本发明实施例还提供了一种多轮对话处理装置40,包括:获取模块401、确定模块402和识别模块403。
获取模块401,用于获取对话信息以及用于表征对话信息归属的标识信息。
确定模块402,用于从标识信息对应的激活列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,激活列表中存储有已被激活的业务场景的场景标识。
识别模块403,用于基于目标业务场景对应的历史对话信息的语义识别结果,对对话信息进行语义识别。
可选地,激活列表中存储的场景标识按照对应的业务场景活跃度从高到低排序,活跃度表征业务场景被激活的时间。
相应地,确定模块402具体用于:根据标识信息对应的激活列表中各个业务场景的活跃度从高到低的顺序,依次将激活列表中的业务场景对应的触发条件与对话信息进行匹配,若匹配到对话信息满足的触发条件,将所匹配的触发条件对应的业务场景确定为目标业务场景;根据激活列表中各个业务场景被激活的先后顺序,更新激活列表中各个业务场景标识的排序。
可选地,确定模块402还用于:若从激活列表中未匹配到目标业务场景,从配置列表中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景,配置列表存储有预先配置的各个业务场景的场景标识;将目标业务场景的场景标识添加到激活列表中。
可选地,确定模块402还用于:在将目标业务场景的场景标识添加到激活列表中之前,若添加了目标业务场景后,激活列表中存储的业务场景的数量超过激活列表的最大存储数量,删除激活列表中活跃度等级最低的业务场景。
可选地,配置列表中的各个业务场景设置有生效范围。
相应地,确定模块402还用于:根据标识信息以及配置列表中每个业务场景的生效范围,从标识信息所满足的生效范围对应的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
可选地,配置列表中的各个业务场景设置有场景优先级。
相应地,确定模块402具体用于:从配置列表中,选择对话信息满足的触发条件对应的、且场景优先级最高的业务场景,确定为目标业务场景。
可选地,触发条件包括首次触发条件和后续触发条件,首次触发条件的触发范围小于后续触发条件的触发范围。
相应地,确定模块402具体用于:从标识信息对应的激活列表中,选择对话信息满足的后续触发条件对应的业务场景,确定为目标业务场景。
相应地,确定模块402具体用于:从配置列表中,选择对话信息满足的首次触发条件对应的业务场景,确定为目标业务场景。
可选地,触发条件包括以下至少一种:
若对话信息与任一业务场景对应的第一文本相同,确定对话信息满足业务场景的第一触发条件;
计算对话信息与任一业务场景对应的第二文本的相似度,若相似度高于相似度阈值,确定对话信息满足业务场景的第二触发条件;
若对话信息中包含任一业务场景对应的第一关键词,确定对话信息满足业务场景的关键词触发条件;
若任一业务场景对应的领域信息中包含对话信息对应的第一领域信息,确定对话信息满足业务场景的领域触发条件;
若任一业务场景对应的意图信息中包含对话信息对应的第一意图信息,确定对话信息满足业务场景的意图触发条件。
可选地,识别模块403具体用于:获取目标业务场景对应的槽位信息表,其中,槽位信息表中包括至少一个槽位项,槽位信息表中存储有基于目标业务场景对应的历史对话信息确定出的槽位项对应的槽位值;根据对话信息,更新槽位信息表中至少一个槽位项对应的槽位值;将更新后的槽位信息表中的槽位值,确定为对话信息的语义识别结果。
可选地,标识信息为采集到对话信息的智能设备的设备标识,或者发起对话信息的用户的用户标识。
可选地,当标识信息为设备标识时,设备标识对应的激活列表中的每个业务场景标记有激活业务场景的用户的用户标识。
相应地,确定模块402具体用于:从设备标识对应的激活列表中标记有发起对话信息的用户的用户标识的业务场景中,选择对话信息满足的触发条件对应的业务场景,确定为目标业务场景。
可选地,本发明实施例的多轮对话处理装置40还包括终止模块,用于:若激活列表中的任一业务场景满足对应的会话终止条件,删除激活列表中任一业务场景对应的场景标识,以及删除任一业务场景对应的历史对话信息的语义识别结果。
可选地,终止模块具体用于:若激活列表中的任一业务场景的触发间隔时长超过任一业务场景对应的超时时长阈值,确定任一业务场景满足对应的会话终止条件,触发间隔时长为当前时刻与目标业务场景最近一次被确定为目标业务场景时的时刻之间的差值;
可选地,终止模块具体用于:若接收到针对激活列表中的任一业务场景的会话终止指令,确定任一业务场景满足对应的会话终止条件。
本发明实施例提的多轮对话处理装置与上述多轮对话处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述多轮对话处理方法相同的发明构思,本发明实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等智能设备,还可以是服务器等。如图5所示,该电子设备50可以包括处理器501、存储器502和收发机503。收发机503用于在处理器501的控制下接收和发送数据。
存储器502可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储多轮对话处理方法的程序。
处理器501可以是CPU(中央处埋器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)处理器通过调用存储器存储的程序指令,按照获得的程序指令实现上述任一实施例中的多轮对话处理方法。
本发明实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述多轮对话处理方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
基于与多轮对话处理方法相同的发明构思,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一实施例中的多轮对话处理方法。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
Claims (10)
1.一种多轮对话处理方法,其特征在于,包括:
获取对话信息以及用于表征所述对话信息归属的标识信息;
从所述标识信息对应的激活列表中,选择所述对话信息满足的触发条件对应的业务场景,确定为目标业务场景,所述激活列表中存储有已被激活的业务场景的场景标识;
基于所述目标业务场景对应的历史对话信息的语义识别结果,对所述对话信息进行语义识别。
2.根据权利要求1所述的方法,其特征在于,所述激活列表中存储的场景标识按照对应的业务场景活跃度从高到低排序,所述活跃度表征所述业务场景被激活的时间;
所述从所述标识信息对应的激活列表中,选择所述对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:
根据所述标识信息对应的激活列表中各个业务场景的活跃度从高到低的顺序,依次将所述激活列表中的业务场景对应的触发条件与所述对话信息进行匹配,若匹配到所述对话信息满足的触发条件,将所匹配的触发条件对应的业务场景确定为目标业务场景;
根据所述激活列表中各个业务场景被激活的先后顺序,更新所述激活列表中各个业务场景标识的排序。
3.根据权利要求1所述的方法,其特征在于,还包括:
若从所述激活列表中未匹配到目标业务场景,从配置列表中,选择所述对话信息满足的触发条件对应的业务场景,确定为目标业务场景,所述配置列表存储有预先配置的各个业务场景的场景标识;
将所述目标业务场景的场景标识添加到所述激活列表中。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标业务场景的场景标识添加到所述激活列表中之前,还包括:
若添加了所述目标业务场景后,所述激活列表中存储的业务场景的数量超过所述激活列表的最大存储数量,删除所述激活列表中活跃度等级最低的业务场景。
5.根据权利要求3所述的方法,其特征在于,所述触发条件包括首次触发条件和后续触发条件,所述首次触发条件的触发范围小于所述后续触发条件的触发范围;
所述从所述标识信息对应的激活列表中,选择所述对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:从所述标识信息对应的激活列表中,选择所述对话信息满足的后续触发条件对应的业务场景,确定为目标业务场景;
所述从配置列表中,选择所述对话信息满足的触发条件对应的业务场景,确定为目标业务场景,具体包括:从配置列表中,选择所述对话信息满足的首次触发条件对应的业务场景,确定为目标业务场景。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述触发条件包括以下至少一种:
若所述对话信息与任一业务场景对应的第一文本相同,确定所述对话信息满足所述业务场景的第一触发条件;
计算所述对话信息与任一业务场景对应的第二文本的相似度,若所述相似度高于相似度阈值,确定所述对话信息满足所述业务场景的第二触发条件;
若所述对话信息中包含任一业务场景对应的第一关键词,确定所述对话信息满足所述业务场景的关键词触发条件;
若任一业务场景对应的领域信息中包含所述对话信息对应的第一领域信息,确定所述对话信息满足所述业务场景的领域触发条件;
若任一业务场景对应的意图信息中包含所述对话信息对应的第一意图信息,确定所述对话信息满足所述业务场景的意图触发条件。
7.根据权利要求1至5中任一所述的方法,其特征在于,
所述标识信息为采集到所述对话信息的智能设备的设备标识,或者发起所述对话信息的用户的用户标识。
8.一种多轮对话处理装置,其特征在于,包括:
获取模块,用于获取对话信息以及用于表征所述对话信息归属的标识信息;
确定模块,用于从所述标识信息对应的激活列表中,选择所述对话信息满足的触发条件对应的业务场景,确定为目标业务场景,所述激活列表中存储有已被激活的业务场景的场景标识;
识别模块,用于基于所述目标业务场景对应的历史对话信息的语义识别结果,对所述对话信息进行语义识别。
9.一种电子设备,包括收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述收发机用于在所述处理器的控制下接收和发送数据,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291157.7A CN111831795B (zh) | 2019-04-11 | 2019-04-11 | 多轮对话处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291157.7A CN111831795B (zh) | 2019-04-11 | 2019-04-11 | 多轮对话处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831795A true CN111831795A (zh) | 2020-10-27 |
CN111831795B CN111831795B (zh) | 2023-10-27 |
Family
ID=72914314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910291157.7A Active CN111831795B (zh) | 2019-04-11 | 2019-04-11 | 多轮对话处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831795B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487810A (zh) * | 2020-12-17 | 2021-03-12 | 税友软件集团股份有限公司 | 一种智能客服服务方法、装置、设备及存储介质 |
CN112883184A (zh) * | 2021-03-22 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 对话管理方法、设备、计算机可读存储介质及程序产品 |
CN113571038A (zh) * | 2021-07-14 | 2021-10-29 | 北京小米移动软件有限公司 | 语音对话方法、装置、电子设备及存储介质 |
CN113806503A (zh) * | 2021-08-25 | 2021-12-17 | 北京库睿科技有限公司 | 一种对话融合方法和装置及设备 |
CN117271773A (zh) * | 2023-09-26 | 2023-12-22 | 人民法院信息技术服务中心 | 用于庭审的对话场景识别方法、装置、设备和存储介质 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656799A (zh) * | 2008-08-20 | 2010-02-24 | 阿鲁策株式会社 | 自动会话系统以及会话情节编辑装置 |
CN104008160A (zh) * | 2014-05-29 | 2014-08-27 | 吴春尧 | 一种实现并行话题控制的模糊推理聊天机器人方法和系统 |
CN104360897A (zh) * | 2014-10-29 | 2015-02-18 | 百度在线网络技术(北京)有限公司 | 对话处理方法和对话管理系统 |
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
CN106796787A (zh) * | 2014-05-20 | 2017-05-31 | 亚马逊技术有限公司 | 在自然语言处理中使用先前对话行为进行的语境解释 |
CN107291867A (zh) * | 2017-06-13 | 2017-10-24 | 北京百度网讯科技有限公司 | 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质 |
CN107369443A (zh) * | 2017-06-29 | 2017-11-21 | 北京百度网讯科技有限公司 | 基于人工智能的对话管理方法及装置 |
US20170337036A1 (en) * | 2015-03-12 | 2017-11-23 | Kabushiki Kaisha Toshiba | Dialogue support apparatus, method and terminal |
CN107463601A (zh) * | 2017-06-13 | 2017-12-12 | 北京百度网讯科技有限公司 | 基于人工智能的对话理解系统构建方法、装置、设备及计算机可读存储介质 |
CN107526723A (zh) * | 2017-08-21 | 2017-12-29 | 百度在线网络技术(北京)有限公司 | 一种语义消歧的方法、装置、服务器和存储介质 |
CN108388638A (zh) * | 2018-02-26 | 2018-08-10 | 出门问问信息科技有限公司 | 语义解析方法、装置、设备及存储介质 |
CN108874967A (zh) * | 2018-06-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 对话状态确定方法及装置、对话系统、终端、存储介质 |
CN108962233A (zh) * | 2018-07-26 | 2018-12-07 | 苏州思必驰信息科技有限公司 | 用于语音对话平台的语音对话处理方法及系统 |
CN109086329A (zh) * | 2018-06-29 | 2018-12-25 | 出门问问信息科技有限公司 | 基于话题关键词引导的进行多轮对话方法及装置 |
CN109101517A (zh) * | 2017-06-20 | 2018-12-28 | 联想(新加坡)私人有限公司 | 信息处理方法、信息处理设备以及介质 |
CN109145104A (zh) * | 2018-09-29 | 2019-01-04 | 北京百度网讯科技有限公司 | 用于对话交互的方法和装置 |
CN109313667A (zh) * | 2016-06-17 | 2019-02-05 | 微软技术许可有限责任公司 | 构建特定于状态的多轮上下文语言理解系统的系统和方法 |
CN109446307A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种实现智能对话中对话管理的方法 |
-
2019
- 2019-04-11 CN CN201910291157.7A patent/CN111831795B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656799A (zh) * | 2008-08-20 | 2010-02-24 | 阿鲁策株式会社 | 自动会话系统以及会话情节编辑装置 |
CN106796787A (zh) * | 2014-05-20 | 2017-05-31 | 亚马逊技术有限公司 | 在自然语言处理中使用先前对话行为进行的语境解释 |
CN104008160A (zh) * | 2014-05-29 | 2014-08-27 | 吴春尧 | 一种实现并行话题控制的模糊推理聊天机器人方法和系统 |
CN104360897A (zh) * | 2014-10-29 | 2015-02-18 | 百度在线网络技术(北京)有限公司 | 对话处理方法和对话管理系统 |
US20170337036A1 (en) * | 2015-03-12 | 2017-11-23 | Kabushiki Kaisha Toshiba | Dialogue support apparatus, method and terminal |
CN105068661A (zh) * | 2015-09-07 | 2015-11-18 | 百度在线网络技术(北京)有限公司 | 基于人工智能的人机交互方法和系统 |
CN109313667A (zh) * | 2016-06-17 | 2019-02-05 | 微软技术许可有限责任公司 | 构建特定于状态的多轮上下文语言理解系统的系统和方法 |
CN107463601A (zh) * | 2017-06-13 | 2017-12-12 | 北京百度网讯科技有限公司 | 基于人工智能的对话理解系统构建方法、装置、设备及计算机可读存储介质 |
CN107291867A (zh) * | 2017-06-13 | 2017-10-24 | 北京百度网讯科技有限公司 | 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质 |
CN109101517A (zh) * | 2017-06-20 | 2018-12-28 | 联想(新加坡)私人有限公司 | 信息处理方法、信息处理设备以及介质 |
CN107369443A (zh) * | 2017-06-29 | 2017-11-21 | 北京百度网讯科技有限公司 | 基于人工智能的对话管理方法及装置 |
CN107526723A (zh) * | 2017-08-21 | 2017-12-29 | 百度在线网络技术(北京)有限公司 | 一种语义消歧的方法、装置、服务器和存储介质 |
CN108388638A (zh) * | 2018-02-26 | 2018-08-10 | 出门问问信息科技有限公司 | 语义解析方法、装置、设备及存储介质 |
CN108874967A (zh) * | 2018-06-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 对话状态确定方法及装置、对话系统、终端、存储介质 |
CN109086329A (zh) * | 2018-06-29 | 2018-12-25 | 出门问问信息科技有限公司 | 基于话题关键词引导的进行多轮对话方法及装置 |
CN108962233A (zh) * | 2018-07-26 | 2018-12-07 | 苏州思必驰信息科技有限公司 | 用于语音对话平台的语音对话处理方法及系统 |
CN109145104A (zh) * | 2018-09-29 | 2019-01-04 | 北京百度网讯科技有限公司 | 用于对话交互的方法和装置 |
CN109446307A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种实现智能对话中对话管理的方法 |
Non-Patent Citations (2)
Title |
---|
宋皓宇;张伟男;刘挺;: "基于DQN的开放域多轮对话策略学习", 中文信息学报, no. 07, pages 104 - 113 * |
杨成彪;吕荣荣;吴刚;: "一种基于记忆网络的多轮对话下的意图识别方法", 电子技术与软件工程, no. 10, pages 210 - 211 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487810A (zh) * | 2020-12-17 | 2021-03-12 | 税友软件集团股份有限公司 | 一种智能客服服务方法、装置、设备及存储介质 |
CN112487810B (zh) * | 2020-12-17 | 2022-03-11 | 税友软件集团股份有限公司 | 一种智能客服服务方法、装置、设备及存储介质 |
CN112883184A (zh) * | 2021-03-22 | 2021-06-01 | 深圳前海微众银行股份有限公司 | 对话管理方法、设备、计算机可读存储介质及程序产品 |
CN113571038A (zh) * | 2021-07-14 | 2021-10-29 | 北京小米移动软件有限公司 | 语音对话方法、装置、电子设备及存储介质 |
CN113806503A (zh) * | 2021-08-25 | 2021-12-17 | 北京库睿科技有限公司 | 一种对话融合方法和装置及设备 |
CN117271773A (zh) * | 2023-09-26 | 2023-12-22 | 人民法院信息技术服务中心 | 用于庭审的对话场景识别方法、装置、设备和存储介质 |
CN117271773B (zh) * | 2023-09-26 | 2024-03-12 | 人民法院信息技术服务中心 | 用于庭审的对话场景识别方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111831795B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11398236B2 (en) | Intent-specific automatic speech recognition result generation | |
CN111831795A (zh) | 多轮对话处理方法、装置、电子设备及存储介质 | |
US11030412B2 (en) | System and method for chatbot conversation construction and management | |
CN108984157B (zh) | 用于语音对话平台的技能配置和调用方法及系统 | |
CN106658129B (zh) | 基于情绪的终端控制方法、装置及终端 | |
US11238226B2 (en) | System and method for accelerating user agent chats | |
CN111813900B (zh) | 多轮对话处理方法、装置、电子设备及存储介质 | |
CN111081280B (zh) | 与文本无关的语音情感识别方法及装置、用于识别情感的算法模型的生成方法 | |
CN108962233A (zh) | 用于语音对话平台的语音对话处理方法及系统 | |
CN110164435A (zh) | 语音识别方法、装置、设备及计算机可读存储介质 | |
CN111639168A (zh) | 一种多轮对话的处理方法、装置、电子设备及存储介质 | |
CN111753061B (zh) | 多轮对话处理方法、装置、电子设备及存储介质 | |
CN110956956A (zh) | 基于策略规则的语音识别方法及装置 | |
US9922650B1 (en) | Intent-specific automatic speech recognition result generation | |
CN112131885A (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN110930980A (zh) | 一种中英文混合语音的声学识别模型、方法及系统 | |
CN110069606A (zh) | 人机会话方法、装置、电子设备及存储介质 | |
CN109859747B (zh) | 语音交互方法、设备以及存储介质 | |
CN110517692A (zh) | 热词语音识别方法和装置 | |
CN112529585A (zh) | 风险交易的交互唤醒方法、装置、设备及系统 | |
CN113641806A (zh) | 对话方法、系统、电子设备及存储介质 | |
CN110706701B (zh) | 语音技能推荐方法、装置、设备及存储介质 | |
CN112182046B (zh) | 一种信息推荐方法、装置、设备及介质 | |
CN112735407B (zh) | 一种对话处理方法及装置 | |
CN117059074B (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 |