一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多轮对话生成方法、终端及计算机可读存储介质与流程

2022-02-21 07:47:06 来源:中国专利 TAG:


1.本发明涉及人工智能领域,尤其涉及的是一种多轮对话生成方法、终端及计算机可读存储介质。


背景技术:

2.自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究人与计算机之间用自然语言进行有效通信的理论和方法。融语言学、计算机科学、数学等于一体的科学。旨在从文本数据中提取信息。目的是让计算机处理或“理解”自然语言,以执行自动翻译、文本分类和情感分析等。
3.目前,自然语言处理技术可以在大规模语料数据的基础上训练语义分类、上下文分类、对话文本生成的模型,亦有开源的中文预训练模型可以做增量训练以完成上述任务;但是,在自然语言处理技术与新老产业结合的落地场景中,垂直领域的大规模语料数据存在难以收集、清洗、标注的问题,导致成本较高;而且,模型训练、调优周期较长,大模型的性能问题对工业生产有较大影响;固有的黑盒效应导致模型无法保证完全满足工业应用中的强需求;因此,在实际生产中,需要置信度更高的工程手段来做补充。
4.因此,现有技术还有待改进。


技术实现要素:

5.本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种多轮对话生成方法、终端及计算机可读存储介质,以解决现有的深度学习模型无法快速适应新应用场景需求的技术问题。
6.本发明解决技术问题所采用的技术方案如下:
7.第一方面,本发明提供一种多轮对话生成方法,多轮对话生成方法包括以下步骤:
8.获取目标对象会话,并根据配置文件对所述目标对象会话进行预处理,得到预处理后的会话信息;
9.根据所述配置文件对所述预处理后的会话信息进行语义增强匹配,得到增强后的会话信息;
10.根据所述配置文件和所述增强后的会话信息生成回复语言,并将对话结果反馈至客户端。
11.在一种实现方式中,所述配置文件包括:通用配置文件和各项目配置文件;
12.所述获取目标对象会话,之前包括:
13.读取所述通用配置文件和各项目配置文件,并根据所述通用配置文件和各项目配置文件进行初始化处理。
14.在一种实现方式中,所述获取目标对象会话,之前还包括:
15.监听所述通用配置文件和各项目配置文件的状态,并根据监听到的状态重新加载状态变化后的配置文件。
16.在一种实现方式中,所述获取目标对象会话,并根据配置文件对所述目标对象会话进行预处理,得到预处理后的会话信息,包括:
17.获取所述目标对象会话;
18.选取停用词表、脏词表、归一化表以及前置处理表作为预处理文件,对所述目标对象会话进行预处理,得到所述预处理后的会话信息。
19.在一种实现方式中,所述根据配置文件对所述预处理后的会话信息进行语义增强匹配,得到增强后的会话信息,包括:
20.选取白名单语义配置文件作为匹配文件;
21.根据所述白名单语义配置文件和正则匹配规则,对所述预处理后的会话信息进行语义增强匹配;
22.若匹配成功,则获取所述预处理后的会话信息的语义和词槽信息;
23.根据所述语义和所述词槽信息生成所述增强后的会话信息。
24.在一种实现方式中,所述根据白名单语义配置文件和正则匹配规则,对所述预处理后的会话信息进行语义增强匹配,之后还包括:
25.若匹配失败,则获取深度学习模型;
26.通过所述深度学习模型对所述预处理后的会话信息进行解析及语义增强处理,得到所述增强后的会话信息。
27.在一种实现方式中,所述根据配置文件和所述增强后的会话信息生成回复语言,并将对话结果反馈至客户端,包括:
28.根据所述语义和所述词槽信息启动后置处理模块;
29.通过所述后置处理模块访问iot云控制接口,并通过所述iot云控制接口向与所述语义对应的iot设备发送控制指令;
30.根据所述iot设备反馈的控制结果生成对应的回复语言,并将所述对话结果反馈至所述客户端。
31.在一种实现方式中,所述根据iot设备反馈的控制结果生成对应的回复语言,包括:
32.若所述iot设备反馈控制失败的结果,则根据错误信息生成对应的回复语言;
33.若所述iot设备反馈控制成功的结果,则选取预先设置的回复语言,或根据检索到的配置和所述词槽信息生成对应的回复语言。
34.第二方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有多轮对话生成程序,所述多轮对话生成程序被所述处理器执行时用于实现如第一方面所述的多轮对话生成方法。
35.第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有多轮对话生成程序,所述多轮对话生成程序被处理器执行时用于实现如第一方面所述的多轮对话生成方法。
36.本发明采用上述技术方案具有以下效果:
37.本发明通过现有的配置文件对目标对象会话进行预处理及语义增强处理,从而可以根据目标对象会话自动生成需要的回复信息,在没有深度学习模型介入的基础上,可快速覆盖大部分的语义分类、上下文分类、对话文本的生成需求,从而在新使用场景下,以快
速生成的信息回复目标对象会话,解决了深度学习模型需要训练及适应的问题。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
39.图1是本发明的一种实现方式中多轮对话生成方法的流程图。
40.图2是本发明的一种实现方式中终端的功能原理图。
41.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.示例性方法
44.如图1所示,本发明实施例提供一种多轮对话生成方法,所述多轮对话生成方法包括以下步骤:
45.步骤s100,获取目标对象会话,并根据配置文件对所述目标对象会话进行预处理,得到预处理后的会话信息。
46.在本实施例中,所述多轮对话生成方法应用于终端中,所述终端包括但不限于:智能电视、手机以及平板电脑等移动终端;本实施例以所述智能电视为例,对所述多轮对话生成方法进行详细说明。
47.在本实施例中,所述多轮对话生成方法是所述智能电视根据情景会话而自动生成回复语言的方法,该方法基于正则匹配和缓存技术,将当前轮次的用户话术与历史的对话结果做结合,在没有深度学习模型介入的基础上,可快速覆盖大部分的语义分类、上下文分类、对话文本的生成需求;而且,所有配置和后置处理方法均以项目配置文件的方式引入,便于多个项目的便捷式冷启动和热更新。
48.在本实施例中,在生成回复语言的过程中,需要用到多个配置文件,其中包括:通用配置文件和各项目配置文件;所述通用配置文件为项目的通用配置信息及配置参数的文件,而项目配置文件为该项目下的停用词表、脏词表、归一化表、前置处理表、白名单语义配置表、语义规则配置表、后置处理表以及回复语配置表等文件;值得一提的是,本实施例中的所述通用配置文件和各项目配置文件均可以是所述智能电视中现有项目文件中的配置文件。
49.本实施例在启动服务时,需要对所述智能电视的配置进行初始化处理,以便于在获取目标对象会话时,可以根据当前的使用情景快速地进行回复;其中,所述目标对象会话即为用户输入的会话;具体地,在进行初始化时,可读取所述通用配置文件和各项目配置文件,并根据所述通用配置文件和各项目配置文件进行初始化处理;在初始化的过程中,主要是将项目中的一些配置(例如:回复语配置、语义规则等)恢复为默认配置,例如:“hephaestus”项目中的配置文件。
50.在初始化处理后,所述智能电视会监听所述通用配置文件和各项目配置文件的状态,并根据监听到的状态重新加载变化后的配置文件;以项目名为“hephaestus”的项目为例,需要监听及更新的配置文件包括:qa表、停用词表、白名单语义配置表、实体配置表、归一化表、语义规则配置表、回复语配置表、前置处理表以及后置处理表等。
51.在上述监听的配置文件中,所述qa表为基本的问答配置表,例如:用户询问“在吗”,智能电视回复“你好,请问有什么吩咐”;所述停用词表为用户会话中需要精简删除的用词表,例如:“的”、“我家”、“一下/些”、中英文标点符号等用词;所述白名单语义配置表为用户会话的默认配置表,例如:用户会话为“我回来了”、则默认配置为“iot设备的回家模式iot-back_home”;所述实体配置表为iot设备的配置方式表,例如:“品牌brand”(iot设备品牌名称)、“区域location”(iot设备的配置区域,如客厅、卧室、卫生间、阳台等)、“设备device”(iot设备类型,如灯、空调、风扇、吊灯、灯带等)。
52.在上述监听的配置文件中,所述归一化表为用户会话中的用词归类表,例如:“洗手间”归类为“卫生间”;所述语义规则配置表为用户会话中的语义获取规则表,其中包括:语义、必备槽位以及多轮规则;例如:“打开某某位置的某某设备”语义为iot,start_device,用户会话中的必备槽位为“位置、设备”,用户会话中的多轮规则为“打开某某设备、打开某某位置”。
53.在上述监听的配置文件中,所述回复语配置表为默认的回复语言配置表,例如:(iot,start_device)的回复语为“好的,已为您打开《某某位置》的《设备》”,针对词槽的追问(回复语言)为:device-请问你想控制哪个设备呢、location-请问你说的是哪个区域的设备呢;所述前置处理表为根据用户绑定信息而配置的操作表,例如:对于具有用户id的会话,访问iot云查询接口,查询此用户所有绑定的iot设备的信息;所述后置处理表为解析用户会话后配置的操作表,例如:对于解析出的iot语义的会话,根据语义结果,通过iot云控制接口发送相应的控制指令,根据控制的情况设置回复语。
54.即在本实施例的一种实现方式中,步骤s100之前包括以下步骤:
55.步骤s001,读取所述通用配置文件和各项目配置文件,并根据所述通用配置文件和各项目配置文件进行初始化处理;
56.步骤s002,监听所述通用配置文件和各项目配置文件的状态,并根据监听到的状态重新加载状态变化后的配置文件。
57.在本实施例中,在监听及更新所有配置文件后,可通过远场语音模块或遥控器语音模块获取用户输入的会话信息,然后根据项目中的配置文件对获取的用户会话进行预处理;其中,所述预处理是指对获取的用户会话进行精简化处理,从而得到包含用户语义的简化会话信息,以便于后续针对处理后的会话信息进行语义匹配。
58.具体地,在获取所述用户会话后,得到的是语音形式的会话信息,此时,通过对所述用户会话进行识别以及语音转换处理,将语音形式的会话信息转换为文字形式的会话信息,从而方便根据文字形式的会话信息进行精简化处理。
59.进一步地,在得到所述文字形式的会话信息后,可选取项目文件中的停用词表、脏词表、归一化表以及前置处理表作为预处理文件,对所述用户会话进行预处理,以得到所述预处理后的会话信息。
60.进一步地,在预处理的过程中,先通过所述停用词表去除所述用户会话中的停用词,然后通过所述脏词表去除所述用户会话中的敏感词,最后通过所述归一化表对所述用户会话中的用词进行归类,从而得到所述预处理后的会话信息。
61.即在本实施例的一种实现方式中,步骤s100具体包括以下步骤:
62.步骤s110,获取所述目标对象会话;
63.步骤s120,选取停用词表、脏词表、归一化表以及前置处理表作为预处理文件,对所述目标对象会话进行预处理,得到所述预处理后的会话信息。
64.本实施例通过对用户会话进行预处理,可以得到精简后的会话信息,并且简化后的会话信息包含了用户语义以及归一化的用词,经过精简后的会话信息可以在后续处理过程中对会话信息进行语义匹配,从而可以准确地获取用户会话中的语义信息。
65.如图1所示,在本发明实施例的一种实现方式中,多轮对话生成方法还包括以下步骤:
66.步骤s200,根据所述配置文件对所述预处理后的会话信息进行语义增强匹配,得到增强后的会话信息。
67.在本实施例中,在对用户会话进行预处理后,即可选取白名单语义配置文件作为匹配文件,然后再根据所述白名单语义配置文件和正则匹配规则,对所述预处理后的会话信息进行语义增强匹配,从而根据匹配结果对用户会话中的语义进行增强。
68.在一种使用场景中,用户会话为“帮我打开一下我家一楼洗手间的灯光”,项目名为“hephaestus”,用户id为663506;经过预处理后,去掉所述用户会话中的“我家”、“的”、“一下”,将“洗手间”归一化为“卫生间”,将“一楼”中的中文数字归一化为数字“1”;至此,所述用户会话精简为“帮我打开1楼卫生间灯光”。
69.进一步地,在项目配置中设置有前置处理模块,经过所述前置处理模块的处理,在会话记录中保存了从iot云端查到的该用户绑定的设备列表及设备信息。
70.进一步地,将简化后的会话“帮我打开1楼卫生间灯光”与白名单语义配置文件中的“我回家了”进行匹配,判断到两者的字符串不相似,确定会话“帮我打开1楼卫生间灯光”不在所述白名单语义配置文件中。
71.进一步地,利用正则匹配规则进行匹配,所述正则匹配规则是指基于语义规则配置文件和缓存的历史对话(包括历史槽位信息和历史语义所关联的上下文规则)进行语义匹配,并继承历史对话信息,以模拟对用户历史对话的记忆;可以理解的是,在上述白名单语义配置文件的匹配过程中,若匹配失败,则表示用户会话不在白名单中,此时需要获取历史对话信息,然后再根据历史对话信息进行语义增强匹配。
72.进一步地,在利用正则匹配规则匹配时,发现所述正则匹配规则中的配置“打开某某位置的某某设备”与会话“帮我打开1楼卫生间灯光”相匹配,此时,确定用户意图为(iot,open_device)意图;并解析出词槽信息“floor-1”、“location-卫生间”、“device-灯”,而且,由于配置中的必备槽位都已具备,所以标记为此轮对话完成。
73.进一步地,若用户将话术分为“打开一下灯”和“一楼洗手间的”两次输入,则在解析“打开一下灯”时,只解析到词槽device-灯,不包含必备槽位location,所以该对话被标记为“对话不完整”;而在解析第二次用户话术“一楼洗手间的”时,解析出来词槽floor-1和location-卫生间,未包含必备词槽device,于是从该用户的对话历史中检索,可检索到上
一轮不完整对话的词槽信息device-灯,且都是意图iot-start_device,故判定为多轮对话,将上一轮对话的词槽作为当前对话的词槽的补充,从而完成设备的控制。
74.即在本实施例的一种实现方式中,步骤s200具体包括以下步骤:
75.步骤s210,选取白名单语义配置文件作为匹配文件;
76.步骤s220,根据所述白名单语义配置文件和正则匹配规则,对所述预处理后的会话信息进行语义增强匹配;
77.步骤s230,若匹配成功,则获取所述预处理后的会话信息的语义和词槽信息;
78.步骤s240,根据所述语义和所述词槽信息生成所述增强后的会话信息。
79.在本实施例中,在语义增强匹配的过程中,若匹配失败,则获取深度学习模型,并通过所述深度学习模型对所述预处理后的会话信息进行解析及语义增强处理,得到上述语义增强匹配一样的效果,即得到所述增强后的会话信息。
80.值得一提的是,通过所述深度学习模型匹配的过程中,效率相对较低,而且,可能会因为所述深度学习模型的黑盒效应而导致匹配结果不可控的现象。
81.在本发明实施例的一种实现方式中,步骤s220之后还包括以下步骤:
82.步骤s250,若匹配失败,则获取深度学习模型;
83.步骤s260,通过所述深度学习模型对所述预处理后的会话信息进行解析及语义增强处理,得到所述增强后的会话信息。
84.本实施例通过对预处理后的会话信息进行语义增强匹配,可根据白名单语义配置文件和正则匹配规则获取用户会话中的语义信息,从而根据语义和词槽信息生成增强后的会话信息。
85.如图1所示,在本发明实施例的一种实现方式中,多轮对话生成方法还包括以下步骤:
86.步骤s300,根据所述配置文件和所述增强后的会话信息生成回复语言,并将对话结果反馈至客户端。
87.在本实施例中,在得到上述增强后的会话信息后,即可通过后置处理表在所述智能电视的后置处理模块中执行对应的操作,从而通过所述后置处理模块访问iot云控制接口,并通过所述iot云控制接口向与所述语义对应的iot设备发送控制指令。
88.在一种使用场景中,已知解析出的语义为:iot-start_device,以及解析出的词槽为:floor、location、device;在所述后置处理模块中,访问iot云控制接口,并向所述iot云控制接口发送控制指令;在iot云控制的过程中,可根据所述iot设备反馈的控制结果生成对应的回复语言,并将所述对话结果反馈至客户端。
89.即在本实施例的一种实现方式中,步骤s300具体包括以下步骤:
90.步骤s310,根据所述语义和所述词槽信息启动后置处理模块;
91.步骤s320,通过所述后置处理模块访问iot云控制接口,并通过所述iot云控制接口向与所述语义对应的iot设备发送控制指令;
92.步骤s330,根据所述iot设备反馈的控制结果生成对应的回复语言,并将所述对话结果反馈至所述客户端。
93.在本实施例中,在iot云控制的过程中,若控制失败,则根据错误信息设置相应的回复语到会话中;若控制成功,可以选择直接设置回复语,也可以不设置。
94.具体地,若后置处理器未设置回复语,则由回复语模块来设置。在回复语设置模块中,在检索到(iot,start_device,“好的,已为您打开《位置》的《设备》”)配置时,即可将词槽信息location和device代入,从而形成回复语“好的,已为您打开卫生间的灯”;若第一次会话时只输入“打开一下灯”,则缺少词槽location,为对话不完整的情况;此时,则根据配置“词槽追问:location-请问你说的是哪个区域的设备呢?”,设置回复语为“请问你说的是哪个区域的设备呢?”。
95.在本发明实施例的一种实现方式中,步骤s330包括以下步骤:
96.步骤s331,若所述iot设备反馈控制失败的结果,则根据错误信息生成对应的回复语言;
97.步骤s332,若所述iot设备反馈控制成功的结果,则选取预先设置的回复语言,或根据检索到的配置和所述词槽信息生成对应的回复语言。
98.在本实施例中,在生成回复语言后,可将此轮对话结果进行缓存(例如:缓存用户会话意图和词槽信息),并设置相应的超时时间(例如:所述超时时间为5分钟),在达到所述超时时间或结束会话后,将对话结果反馈至对应的终端设备。
99.本实施例通过现有的配置文件对用户会话进行预处理及语义增强处理,从而可以根据用户会话自动生成需要的回复信息,在没有深度学习模型介入的基础上,可快速覆盖大部分的语义分类、上下文分类、对话文本的生成需求,从而在新使用场景下,以快速生成的信息回复用户会话,解决了深度学习模型需要训练及适应的问题。
100.示例性设备
101.基于上述实施例,本发明还提供一种终端,其原理框图可以如图2所示。
102.该终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该终端的处理器用于提供计算和控制能力;该终端的存储器包括计算机可读存储介质以及内存储器;该计算机可读存储介质存储有操作系统和计算机程序;该内存储器为计算机可读存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部终端设备,例如:移动终端以及计算机等设备;该显示屏用于显示相应的多轮对话生成信息;该通讯模块用于与云端服务器或移动终端进行通讯。
103.该计算机程序被处理器执行时用以实现一种多轮对话生成方法。
104.本领域技术人员可以理解的是,图2中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
105.在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,存储器存储有多轮对话生成程序,多轮对话生成程序被处理器执行时用于实现如上的多轮对话生成方法。
106.在一个实施例中,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有多轮对话生成程序,多轮对话生成程序被处理器执行时用于实现如上的多轮对话生成方法。
107.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易
失性和/或易失性存储器。
108.综上,本发明提供了一种多轮对话生成方法、终端及计算机可读存储介质,其中,方法包括:获取目标对象会话,并根据配置文件对所述目标对象会话进行预处理,得到预处理后的会话信息;根据所述配置文件对所述预处理后的会话信息进行语义增强匹配,得到增强后的会话信息;根据所述配置文件和所述增强后的会话信息生成回复语言,并将对话结果反馈至客户端。本发明通过现有的配置文件对目标对象会话进行预处理及语义增强处理,从而可以根据目标对象会话自动生成需要的回复信息,在没有深度学习模型介入的基础上,可快速覆盖大部分的语义分类、上下文分类、对话文本的生成需求,从而在新使用场景下,以快速生成的信息回复目标对象会话,解决了深度学习模型需要训练及适应的问题。
109.应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献