1.本发明涉及自然语言处理技术领域,特别是指一种意图识别的方法、装置、设备和介质。
背景技术:2.意图识别是指对用户的搜索需求进行分类识别。意图识别应用的领域涉及搜索引擎、对话系统,智能物联网、机器人等。在这些应用领域中,用户输入的搜索信息可能存在不规范,输入方式多样化,甚至采用的是非标准的自然语言等问题。因此,通常对于意图识别模型的训练需要大量的样本学习。
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.图1示出了本发明实施例提出的意图识别的方法的流程示意图;
28.图2示出了本发明一实施例提出的意图识别的方法的流程示意图;
29.图3示出了本发明又一实施例提出的意图识别的方法的流程示意图;
30.图4示出了本发明实施例提供的意图识别的装置的结构示意图;
31.图5示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
32.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
33.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
34.随着人工智能技术的不断发展,在聊天系统中,用户的意图表达文本,一般都具有口语化、内容宽泛等问题,且聊天文本数量有限。针对这些问题,业界提出了通过使用自然语言提示信息的方法,将用户输入的样本插入到预先设定的模板中,从而将原始查询任务转换成语言掩膜模型。例如,pet(英文全称pattern-exploiting training,中文:模板学习),其实质是一个半监督的训练过程,其将输入拼接成一个任务描述,即在任务描述的某个位置添加[mask]标签,从而将输入转换为完形填空形式的任务。虽然将pet应用到意图识
别,可以减轻对标注数据的依赖,但是用户输入的查询信息,长度不固定,会导致pet模型训练过程的收敛较慢,或者无法收敛等问题。可见,在意图识别各场景中直接应用pet模型,其预测效果并不是很好。
[0035]
本发明提出一种意图识别的方法,其可以加速意图识别训练过程中pet训练的收敛速度,并有效地提高模板构造的效率。
[0036]
为了更清楚地理解本发明提供的发明构思,下面结合图1-5对本发明提出的测试用例管理方法展开描述。
[0037]
请参考图1,图1示出了本发明实施例提出的意图识别的方法的流程示意图,该方法可以由配置在电子设备中的意图识别的装置来实施。该方法包括:
[0038]
步骤101,获取训练样本集合,该训练样本集合包括多个训练样本,每个训练样本为抽象化意图的字符组合,该训练样本至少包括有序排列的关注字符。
[0039]
步骤102,在去重后的训练样本集合的总字符数量大于或等于第一阈值时,根据字符出现次数对每个训练样本进行压缩处理,得到压缩样本集合。
[0040]
步骤103,将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,其中,掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。
[0041]
在上述步骤中,训练样本是指对输入数据进行意图抽象化处理得到的字符组合。例如,输入数据是:你叫啥?,你叫什么?,你的名字叫什么?。
[0042]
将上述输入数据进行意图抽象化处理得到的字符组合即训练样本,该训练样本为:你叫什么名字?
[0043]
训练样本可以理解为字符组合,该字符组合可以包括但不限于中文字符,标点符号,英文字符等字符。训练样本包括有序排列的关注字符、非关注字符。例如训练样本{你叫什么名字?},或者{(某景点/地点/物品)询问位置}。中文字符和标调符号的有序排列表达了输入数据的原始意图。
[0044]
同理,对多个输入数据进行意图抽象化处理,得到多个训练样本。多个训练样本组合成为训练样本集合。训练样本集合例如可以是:
[0045]
{(某景点/地点/物品)询问位置;(某物品/服务)询问价格;(某地点)寻求推荐景点/游玩地;(某地点)寻求推荐美食;(某物品/服务)询问购买方式;(某景点/某地点/某物品)询问特色;(某景点/某地点)询问活动;(某景点/某地点)询问演出;(某景点/某地点)询问历史;(某景点/某地点/某项目)询问负责人;(某企业/某地点)询问文化;(某人/物)询问国籍,(某人/物)询问年龄;(某地点)询问特产;}。
[0046]
其中,(某景点/地点/物品)询问位置可以称为一个训练样本。
[0047]
去重后的训练样本集合的总字符数量是指去重后的训练样本集合包含中文字符的个数。对训练样本集合进行去重处理;然后,获取去重处理后的训练样本集合对应的总字符数量。即对训练样本集合进行去重字数统计,假设训练样本集合为{(某景点/地点/物品)询问位置,(某物品/服务)询问价格,(某地点)寻求推荐景点/游玩地,(某地点)寻求推荐美食,(某物品/服务)询问购买方式,(某景点/某地点/某物品)询问特色,(某景点/某地点)询问活动,(某景点/某地点)询问演出,(某景点/某地点)询问历史,(某景点/某地点/某项目)询问负责人,(某企业/某地点)询问文化,(某人/物)询问国籍,(某人/物)询问年龄,(某地
点)询问特产},经过合并去重处理后,得到与训练样本集合对应的去重列表为:{某、点、询、问、地、景、物、品、人、服、务、寻、求、推、荐、特、位、置、价、格、游、玩、美、食、购、买、方、式、色、活、动、演、出、历、史、项、目、负、责、企、业、文、化、国、籍、年、龄、产}。这里经过合并去重后的去重列表所包含的字数大于20个字。
[0048]
字符出现次数是指训练样本集合中每个关注字符的出现次数。
[0049]
第一阈值是指经过多次意图训练识别训练确定的理想阈值条件。第一阈值,可以是2-30字。可选地,第一阈值取值为20字。
[0050]
压缩样本是指对某个训练样本进行压缩处理后得到的字符组合,该字符组合的字符长度是固定值,且该字符组合的关注字符的出现次数之和最大。压缩处理包括但不限于按照预设的字符长度和训练样本的语义对训练样本进行截断处理。
[0051]
关注字符是指训练样本中出现的用于表征意图的字符。例如,训练样本为{(某景点/地点/物品)询问位置},该训练样本包括的关注字符有某,景,点,地,物,品,询,问,位,置。该训练样本包括的非关注字符有“(”,“)”,“/”。可选地,上述关注字符包括但不限于中文字符,英文单词等。
[0052]
掩码语言模型是指用于将输入的样本填充到待训练的语言提示模板中预设位置后进行训练的模型。语言提示模板,例如可以是“下面这句话是在询问[mask]”,“下面这句话的意图是[mask]”等。
[0053]
掩码语言模型,可以是bert模型(英文全称bidirectional encoder representations from transformers)的预训练任务。该预训练任务包括但不限于mlm模型(英文全称masked language model,掩码语言模型)。bert模型是一种新型的语言模型,它可以通过联合调节所有层中的双向transformer编码器来训练预训练深度双向表示。bert模型的输入表示可以在一个词序列中表示单个文本句,或者一对文本,例如[问题,答案]。预训练的目的是构建语言模型,bert模型是双向编码器,在预训练语言模型来处理下游任务时,需要某个词左侧的语言信息和该词右侧的语言信息,mlm从输入中随机地掩盖一些词,其允许融合左右两侧的上下文,从而实现双向transformer表示。即mlm模型通过随机掩盖句子中的部分词语,然后使用上下文对掩盖的词语进行预测。这个方式融合了双向的文本信息,因而可以预训练深度双向的transformer模型。
[0054]
本发明实施例提供的意图识别的方法,在语言模型预训练时,对训练样本集合基于字频进行统一的预处理改造,可以减少候选词表的大小,并缩短连乘时需要进行预测的长度,从而有效地提升pet模型的收敛速度。
[0055]
请参考图2,图2示出了本发明一实施例提出的意图识别的方法的流程示意图,该方法可以由配置在电子设备中的意图识别的装置来实施。该方法包括:
[0056]
步骤201,获取训练样本集合,该训练样本集合包括多个训练样本,每个训练样本为抽象化意图的字符组合,该训练样本至少包括有序排列的关注字符。
[0057]
步骤202,在去重后的训练样本集合的总字符数量大于或等于第一阈值时,获取与训练样本集合对应的字频列表,该字频列表包括训练样本集合包含的关注字符和每个关注字符在训练样本集合中的出现次数。
[0058]
步骤203,对训练样本集合中的每个训练样本分别进行字符去重处理,得到去重样本集合,该去重样本集合包括多个去重样本,该去重样本与训练样本一一对应。
[0059]
步骤204,根据字频列表对去重样本集合中的每个去重样本分别进行压缩处理,得到压缩样本集合,其中,该压缩样本集合包括多个压缩样本,该压缩样本与该去重样本一一对应。
[0060]
步骤205,将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,该掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。
[0061]
步骤206,在去重后的训练样本集合的总字符数量小于第一阈值时,不需要进行特殊处理。
[0062]
可选地,获取与训练样本集合对应的字频列表,可以包括以下步骤:
[0063]
分别统计训练样本集合中的每个关注字符在训练样本集合中的出现次数;
[0064]
根据每个关注字符的出现次数,对训练样本集合中的关注字符进行排序,得到与训练样本集合对应的字频列表。
[0065]
可选地,分别统计训练样本集合中的每个关注字符在训练样本集合中的出现次数,可以包括:
[0066]
对每个训练样本进行分词处理后得到单个关注字符;
[0067]
遍历训练样本集合,对每个关注字符进行累计计数,得到每个关注字符对应的出现次数。
[0068]
假设训练样本集合为{(某景点/地点/物品)询问位置;(某物品/服务)询问价格;(某地点)寻求推荐景点/游玩地;(某地点)寻求推荐美食;(某物品/服务)询问购买方式;(某景点/某地点/某物品)询问特色;(某景点/某地点)询问活动;(某景点/某地点)询问演出;(某景点/某地点)询问历史;(某景点/某地点/某项目)询问负责人;(某企业/某地点)询问文化;(某人/物)询问国籍,(某人/物)询问年龄;(某地点)询问特产;}。该训练样本集合的关注字符为中文字符。
[0069]
在上述训练样本集合中仅对中文字符的字频排序,得到字频列表如下:
[0070]
{'某':22,'点':17,'询':12,'问':12,'地':11,'景':7,'物':6,'品':4,'人':3,'服':2,'务':2,'寻':2,'求':2,'推':2,'荐':2,'特':2,'位':1,'置':1,'价':1,'格':1,'游':1,'玩':1,'美':1,'食':1,'购':1,'买':1,'方':1,'式':1,'色':1,'活':1,'动':1,'演':1,'出':1,'历':1,'史':1,'项':1,'目':1,'负':1,'责':1,'企':1,'业':1,'文':1,'化':1,'国':1,'籍':1,'年':1,'龄':1,'产':1}
[0071]
上述排序,可选地,按照字频从高到低的顺序进行排序,或者从低到高的排序。
[0072]
可选地,对训练样本集合中的每个训练样本进行字符去重处理,包括:
[0073]
针对每个训练样本,在确定训练样本包含非关注字符时,用预设字符对非关注字符进行替换,得到与训练样本对应的替换样本;
[0074]
对与训练样本对应的替换样本进行字符去重处理,得到与替换样本对应的去重样本;
[0075]
将与替换样本对应的去重样本添加至去重样本集合中;
[0076]
在确定训练样本不包含非关注字符时,对训练样本进行字符去重处理,得到与训练样本对应的去重样本;
[0077]
将与训练样本对应的去重样本添加至去重样本集合中。
[0078]
上述非关注字符,是指每个训练样本中除了关注字符以外的字符。非关注字符包括但不限于英文字符,特殊符号等。英文字符可以是单个字母。
[0079]
对训练样本集合中出现的非中文字符用预设字符进行替换处理。例如,将上述训练样本集合中的非中文字符用[unk]符号进行替换。
[0080]
其中,预设字符是指预先规定的用于替换非关注字符的字符或字符组合。预设字符包括但不限于[unk]的表现形式。
[0081]
例如,对训练样本集合用[unk]符号进行替换处理后,得到替换后的结果:
[0082]
{[unk]某景点[unk]地点[unk]物品[unk]询问位置,[unk]某物品[unk]服务[unk]询问价格,[unk]某地点[unk]寻求推荐景点[unk]游玩地,[unk]某地点[unk]寻求推荐美食,[unk]某物品[unk]服务[unk]询问购买方式,[unk]某景点[unk]某地点[unk]某物品[unk]询问特色,[unk]某景点[unk]某地点[unk]询问活动,[unk]某景点[unk]某地点[unk]询问演出,[unk]某景点[unk]某地点[unk]询问历史,[unk]某景点[unk]某地点[unk]某项目[unk]询问负责人,[unk]某企业[unk]某地点[unk]询问文化,[unk]某人[unk]物[unk]询问国籍,[unk]某人[unk]物[unk]询问年龄,[unk]某地点[unk]询问特产}。
[0083]
对经过替换处理后的结果进行字符去重处理,得到与每个替换样本对应的去重样本。例如,替换样本为{[unk]某景点[unk]地点[unk]物品[unk]询问位置}。与该替换样本对应的去重样本为{[unk]某景点地物品询问位置}。
[0084]
将上述替换后的结果添加至初始状态为空的去重样本集合,最后得到去重样本集合,如下所示:
[0085]
{[unk]某景点地物品询问位置,[unk]某物品服务询问价格,[unk]某地点寻求推荐景游玩,[unk]某地点寻求推荐美食,[unk]某物品服务询问购买方式,[unk]某景点地物品询问特色,[unk]某景点地询问活动,[unk]某景点地询问演出,[unk]某景点地询问历史,[unk]某景点地项目询问负责人,[unk]某企业地点询问文化,[unk]某人物询问国籍,[unk]某人物询问年龄,[unk]某地点询问特产}。
[0086]
可选地,若去重样本包含预设字符,则将预设字符设置在所述去重样本的首位。
[0087]
由于抽样化意图对于输入数据自身的特殊符号并不进行处理,不同的特殊符号对于意图识别没有实质性的影响,但其存在会以字符形式占用处理字符长度,导致pet预测长度不能有效缩短,从而影响训练效果,收敛较慢。
[0088]
本发明通过在保留训练样本的字符排列的基础上,将预设字符设置在去重样本的首位,可以保留存在特殊符号的输入数据的特点,但又有效地解决了pet预测长度的问题,其通过针对训练样本进行统一的预处理改造,有效地提升了掩码语言模型的收敛速度。
[0089]
可选地,根据字频列表对去重样本集合中的每个去重样本分别进行压缩处理,得到压缩样本集合,其中,压缩样本集合包括多个压缩样本,压缩样本与去重样本一一对应。再将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果。
[0090]
本发明实施例提供的意图识别的方法,利用字频列表对训练样本集合进行去重处理,减少了候选词表的大小,有效地提升了模型收敛速度。
[0091]
请参考图3,图3示出了本发明又一实施例提出的意图识别的方法的流程示意图,该方法可以由配置在电子设备中的意图识别的装置来实施。该方法包括:
[0092]
步骤301,获取训练样本集合,该训练样本集合包括多个训练样本,每个训练样本
为抽象化意图的字符组合,训练样本至少包括有序排列的关注字符。
[0093]
步骤302,在去重后的训练样本集合的总字符数量大于或等于第一阈值时,获取与训练样本集合对应的字频列表。该字频列表包括训练样本集合包含的关注字符和每个关注字符在训练样本集合中的出现次数。
[0094]
步骤303,对训练样本集合中的每个训练样本进行字符去重处理,得到去重样本集合。
[0095]
步骤304,针对每个去重样本,确定每个去重样本的字符长度。
[0096]
步骤305,在字符长度大于或等于第二阈值时,根据字频列表对去重样本进行筛选,得到与去重样本对应的筛选样本。
[0097]
步骤306,对与去重样本对应的筛选样本进行压缩处理,得到与筛选样本对应的压缩样本。
[0098]
步骤307,将与筛选样本对应的压缩样本添加至压缩样本集合中。
[0099]
步骤308,针对每个去重样本,在字符长度小于第二阈值时,将去重样本确定为压缩样本。将该压缩样本添加至压缩样本集合中。
[0100]
步骤309,将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,该掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。
[0101]
步骤310,在去重后的训练样本集合的总字符数量小于第一阈值时,不需要进行特殊处理。
[0102]
在上述步骤中,每个去重样本的字符长度,是指去重样本经过字符去重处理后得到的字符组合所包含的字符个数。例如,去重样本为{[unk]某景点地物品询问位置},其对应的字符长度为11。
[0103]
第二阈值是针对去重样本预先设置的最大长度约束值,其可以是与意图识别的特性相关的取值。该第二阈值,例如可以是max_length来表示,其取值优选为5。
[0104]
可选地,根据字频列表对去重样本进行筛选,得到与去重样本对应的筛选样本,包括:
[0105]
按照字频列表的排列顺序,从字频列表的首个关注字符开始,确定候选字符集合,该候选字符集合包括连续的第一阈值个数的关注字符,其中,该字频列表是按照关注字符在训练样本集合中出现次数从高到低的顺序进行排序的;
[0106]
根据候选字符集合对去重样本包含的关注字符进行筛选,得到与去重样本对应的筛选样本。
[0107]
在上述字频列表基础上,假设第一阈值的取值为20,则从字频列表的第一个关注字符开始,连续提取20个关注字符,得到的字符集合为候选字符集合。候选字符集合,例如是{'某':22,'点':17,'询':12,'问':12,,'地':11,'景':7,'物':6,'品':4,'人':3,'服':2,'务':2,'寻':2,'求':2,'推':2,'荐':2,'特':2,'位':1,'置':1,'价':1,'格':1}。该候选字符集合包含的是在训练样本中出现的高频关注字符。利用这些高频关注字符对每个去重样本进行筛选,可以进一步减少处理数据的时间。
[0108]
根据候选字符集合对去重样本包含的关注字符进行筛选,可以包括:
[0109]
按照去重样本的字符排列顺序将去重样本包含的每个关注字符与候选字符集合
包含的关注字符进行比对;
[0110]
在确定去重样本包含的关注字符属于候选字符集合包含的关注字符时,保留去重样本包含的关注字符;
[0111]
在确定去重样本包含的关注字符不属于候选字符集合包含的关注字符时,删除去重样本包含的关注字符。
[0112]
例如,去重样本为{[unk]某景点地物品询问特色}。将去重样本中的每个中文字符与上述候选字符集合进行比对,得到与去重样本对应的筛选样本{[unk]某景点地物品询问特}。
[0113]
可选地,对与去重样本对应的筛选样本进行压缩处理,得到与筛选样本对应的压缩样本,包括:
[0114]
利用截取窗口对筛选样本进行滑窗处理,得到与筛选样本对应的截取样本,其中,截取窗口的大小为第二阈值,截取滑窗每次滑动的步长为预设个数的字符,每个截取样本包括第二阈值个数的字符;
[0115]
在确定截取样本属于压缩样本集合已包含的压缩样本时,按照步长滑动截取窗口,返回利用截取窗口对筛选样本进行滑窗处理,得到与筛选样本对应的截取样本的步骤,直至确定截取样本不属于压缩样本集合已包含的压缩样本为止;
[0116]
在确定截取样本不属于压缩样本集合已包含的压缩样本时,确定截取样本为与筛选样本对应的压缩样本。
[0117]
在上述步骤中,截取窗口用于从筛选样本提取位置连续的多个字符。截取窗口的大小用于决定从筛选样本提取的字符个数。例如,截取窗口大小为5时,表示每次从筛选样本中提取得到5个位置连续的字符。字符的位置是由筛选样本的字符排列顺序决定的。例如,筛选样本为{[unk]某景点地物品询问特},其字符排列顺序的第一个字符为[unk],第二个字符为“某”,依次排列下去,最后一个字符为“特”。
[0118]
截取样本是指每次利用截取窗口对筛选样本进行滑窗处理得到的结果。例如,截取窗口大小为5,对上述筛选样本进行首次滑窗处理得到与筛选样本对应的第一个截取样本为{[unk]某景点地}。步长是指滑动窗口每次移动的字符个数。步长可以取值为1个字符。
[0119]
可选地,压缩样本集合的初始状态为空。
[0120]
对于当前的筛选样本为待处理的第一个样本时,压缩样本集合为空表示压缩样本集合已包含的压缩样本为空。在确定截取样本不属于压缩样本集合已包含的压缩样本时,则确定截取样本为压缩样本,将该压缩样本添加至压缩样本集合中。
[0121]
对于当前的筛选样本不是待处理的第一个样本时,压缩样本集合的状态为非空状态,则比较从当前的筛选样本中得到的截取样本是否属于与压缩样本集合中已包含的压缩样本,若是,则确定截取样本属于压缩样本集合已包含的压缩样本,若否,则确定截取样本不属于压缩样本集合已包含的压缩样本。
[0122]
在确定截取样本属于压缩样本集合已包含的压缩样本,则对当前的筛选样本再次进行滑窗处理,得到与当前的筛选样本对应的截取样本,再将这个截取样本与压缩样本集合已包含的压缩样本进行比较,直到与当前的筛选样本对应的截取样本不属于压缩样本集合已包含的压缩样本。再对当前的筛选样本的下一个样本进行处理,直到筛选样本集合中的最后一个筛选样本。
[0123]
本发明通过对每个筛选样本分别进行压缩处理,得到与每个筛选样本对应的压缩样本,其保证每个压缩样本的字符长度相同,且压缩样本本身具有唯一性,从而保证了用于模型训练的样本的丰富性。
[0124]
可选地,利用截取窗口对筛选样本进行滑窗处理,得到与筛选样本对应的截取样本,包括:
[0125]
在确定与截取窗口对应的筛选样本包含的字符个数小于截取窗口的大小时,则按照筛选样本的字符排列顺序,在与截取窗口对应的筛选样本包含的字符的末尾处设置差值个数的补全字符,提取与截取窗口对应的筛选样本包含的字符和设置的补全字符作为与筛选样本对应的截取样本,差值个数是由截取窗口的大小与截取窗口对应的筛选样本中待截取的字符个数之间的差值确定的;
[0126]
在确定与截取窗口对应的筛选样本包含的字符个数大于或等于截取窗口的大小时,则按照筛选样本的字符排列顺序,从筛选样本中提取与截取窗口对应的字符作为与筛选样本对应的截取样本。
[0127]
例如,筛选样本为{[unk]某景点地物品询问特},截取窗口的大小为5。经过多次滑窗处理后,可能出现与截取窗口对应筛选样本包含的字符为{品,询,问,特}的情况,则按照筛选样本的字符排列顺序,在与截取窗口对应筛选样本包含的字符为{品,询,问,特}后面,设置补全符号。其中,补全字符是用于在截取样本包含的字符个数小于第二阈值个数时,对截取样本进行填充的符号或字符组合。补全字符,包括但不限于[pad]字符形式。
[0128]
通过上述处理,可以得到语义最优且处理长度最优的字符组合,有效地提升pet模型的收敛效率。
[0129]
进一步地,将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果。假设预先构建的掩码语言模型可以包括一个或者多个语言提示模板,语言提示模板例如是:下面这句话是在询问[mask];下面这句话的意图是[mask];接下来的话的意图是问[mask]。
[0130]
得到压缩样本集合之后,将每个压缩样本与选定的语言提示模板进行拼接后,送入到pet训练框架中,完成pet模型训练。
[0131]
本发明实施例提供的意图识别方法,针对训练样本进行统一的预处理改造,缩短了连乘时进行预测的长度,有效地提升了掩码语言模型的收敛速度。
[0132]
基于本发明实施例提供的意图识别的方法确定的pet模板可以适用于很多分类相关的任务,例如情绪识别,相关性判别等。但是,不同任务一般需要不同的模板,因此可以根据不同的应用场景,获取不同的训练样本分别进行预训练处理,从而得到不同的pet模板。
[0133]
下面以对话系统中的文本识别为例,假设在对话系统中获取用户输入的意图数据,对意图名称(即训练样本)进行统一化的预处理改造。意图名称是指用于表示某种意图的字符组合。意图名称是对某种意图进行抽象化处理得到。意图可以通过文本、语音等各种形式表述而得。
[0134]
a.预处理决策模块。在得到全量的意图名称数据后,对所有意图名称的字符进行去重,计算当前所有意图集合的总字数。
[0135]
例如,存在如下意图名称列表:(某景点/地点/物品)询问位置,(某物品/服务)询问价格,(某地点)寻求推荐景点/游玩地,(某地点)寻求推荐美食,(某物品/服务)询问购买
方式,(某景点/某地点/某物品)询问特色,(某景点/某地点)询问活动,(某景点/某地点)询问演出,(某景点/某地点)询问历史,(某景点/某地点/某项目)询问负责人,(某企业/某地点)询问文化,(某人/物)询问国籍,(某人/物)询问年龄,(某地点)询问特产。
[0136]
对上述意图名称列表中的中文字符进行去重,得到的去重字数列表如下:某、点、询、问、地、景、物、品、人、服、务、寻、求、推、荐、特、位、置、价、格、游、玩、美、食、购、买、方、式、色、活、动、演、出、历、史、项、目、负、责、企、业、文、化、国、籍、年、龄、产。
[0137]
如果去重后的意图名称列表对应的总字数大于或者等于20,则需要进行下面的步骤(即触发意图名称预训练),否则不需要进行特殊处理。
[0138]
b.在去重后的意图名称列表对应的总字数大于或等于20个字符时,对意图名称将进行以下处理:
[0139]
i.先对意图名称列表出现的中文字符分别进行统计,并将意图名称列表中出现的中文字符按照出现的次数从高到低的顺序进行排序,得到与意图名称列表对应的字频排序列表。
[0140]
与意图名称列表对应的字频排序列表为:
[0141]
{'某':22,'点':17,'询':12,'问':12,'地':11,'景':7,'物':6,'品':4,'人':3,'服':2,'务':2,'寻':2,'求':2,'推':2,'荐':2,'特':2,'位':1,'置':1,'价':1,'格':1,'游':1,'玩':1,'美':1,'食':1,'购':1,'买':1,'方':1,'式':1,'色':1,'活':1,'动':1,'演':1,'出':1,'历':1,'史':1,'项':1,'目':1,'负':1,'责':1,'企':1,'业':1,'文':1,'化':1,'国':1,'籍':1,'年':1,'龄':1,'产':1}
[0142]
ii.将意图名称中出现的特殊符号及非中文符号用[unk]符号进行替换。考虑到意图名称通常是人为自由填写,可能出现意图名称中会出现一些特殊符号,或者英文字母等相关情况。对于这些特殊符号,可以统一利用特殊符号[unk]进行替代性表示。例如,对前面步骤中提及的意图名称列表中包含的每个意图名称进行替换处理。
[0143]
(某景点/地点/物品)询问位置-》[unk]某景点[unk]地点[unk]物品[unk]询问位置,
[0144]
(某物品/服务)询问价格-》[unk]某物品[unk]服务[unk]询问价格,
[0145]
(某地点)寻求推荐景点/游玩地-》[unk]某地点[unk]寻求推荐景点[unk]游玩地,
[0146]
(某地点)寻求推荐美食-》[unk]某地点[unk]寻求推荐美食,
[0147]
(某物品/服务)询问购买方式-》[unk]某物品[unk]服务[unk]询问购买方式,
[0148]
(某景点/某地点/某物品)询问特色-》[unk]某景点[unk]某地点[unk]某物品[unk]询问特色,
[0149]
(某景点/某地点)询问活动-》[unk]某景点[unk]某地点[unk]询问活动,
[0150]
(某景点/某地点)询问演出-》[unk]某景点[unk]某地点[unk]询问演出,
[0151]
(某景点/某地点)询问历史-》[unk]某景点[unk]某地点[unk]询问历史,
[0152]
(某景点/某地点/某项目)询问负责人-》[unk]某景点[unk]某地点[unk]某项目[unk]询问负责人,
[0153]
(某企业/某地点)询问文化-》[unk]某企业[unk]某地点[unk]询问文化,
[0154]
(某人/物)询问国籍-》[unk]某人[unk]物[unk]询问国籍,
[0155]
(某人/物)询问年龄-》[unk]某人[unk]物[unk]询问年龄,
[0156]
(某地点)询问特产-》[unk]某地点[unk]询问特产
[0157]
iii.对经过替换处理后的意图名称进行内部字符去重处理。例如,对前述经过替换处理的每个意图名称进行字符去重处理。
[0158]
[unk]某景点[unk]地点[unk]物品[unk]询问位置-》[unk]某景点地物品询问位置,
[0159]
[unk]某物品[unk]服务[unk]询问价格-》[unk]某物品服务询问价格,
[0160]
[unk]某地点[unk]寻求推荐景点[unk]游玩地-》[unk]某地点寻求推荐景游玩,
[0161]
[unk]某地点[unk]寻求推荐美食-》[unk]某地点寻求推荐美食,
[0162]
[unk]某物品[unk]服务[unk]询问购买方式-》[unk]某物品服务询问购买方式,
[0163]
[unk]某景点[unk]某地点[unk]某物品[unk]询问特色-》[unk]某景点地物品询问特色,
[0164]
[unk]某景点[unk]某地点[unk]询问活动-》[unk]某景点地询问活动,
[0165]
[unk]某景点[unk]某地点[unk]询问演出-》[unk]某景点地询问演出,
[0166]
[unk]某景点[unk]某地点[unk]询问历史-》[unk]某景点地询问历史,
[0167]
[unk]某景点[unk]某地点[unk]某项目[unk]询问负责人-》[unk]某景点地项目询问负责人,
[0168]
[unk]某企业[unk]某地点[unk]询问文化-》[unk]某企业地点询问文化,
[0169]
[unk]某人[unk]物[unk]询问国籍-》[unk]某人物询问国籍,
[0170]
[unk]某人[unk]物[unk]询问年龄-》[unk]某人物询问年龄,
[0171]
[unk]某地点[unk]询问特产-》[unk]某地点询问特产
[0172]
iv.对字符去重处理后的每个意图名称进行约束长度提取,得到截取后的意图名称。
[0173]
由于每个去重处理后的意图名称的字符长度仍然过长,不利于下游训练,则通过从字符列表中获取优选字符对每个去重处理后的意图名称进行处理,再按照max_length=5的截取窗口对每个去重处理后的意图名称进行截断来缩短预测的长度,从而保证pet模型的收敛速度。
[0174]
例如,获取字频列表前20个字符,然后对经过字符去重处理后的各个意图名称与该字频排列列表的前20个字符进行筛选,从而使得每个经过字符去重处理后的意图名称,仅包含属于该20个字符范围内的字符。
[0175]
然后,对于每个意图名称设置最大长度约束称为max_length,如果在进行在字符去重和筛选处理后,当前的意图名称对应的字数长度小于max_length,那么则将去重处理和筛选处理后的意图名称直接加入意图名称训练集合(即前文的压缩样本集合)。如果当前的意图名称的字数长度大于或者等于max_length,那么利用截取窗口对当前的意图名称进行截取。
[0176]
例如,字频列表中前20个字符如下:
[0177]
{'某':22,'点':17,'询':12,'问':12,'地':11,'景':7,'物':6,'品':4,'人':3,'服':2,'务':2,'寻':2,'求':2,'推':2,'荐':2,'特':2,'位':1,'置':1,'价':1,'格':1}
[0178]
对去重处理后的每个意图名称进行筛选处理后,再对经过筛选处理后的结果,判
断是否需要利用截取窗口进行滑窗处理。例如,
[0179]
对于“[unk]某地点寻求推荐美食”,与字频列表中前20个字符进行比对,得到筛选后的结果“[unk]某地点寻求推荐”(即筛选样本)。然后,对“[unk]某地点寻求推荐”利用截取窗口进行首次滑窗处理,得到
[0180]
[unk]某地点寻求推荐美食-》[unk]某地点寻求推荐-》[unk]某地点寻。
[0181]
同理,对其他的去重处理后的意图名称逐一进行处理。
[0182]
[unk]某地点寻求推荐美食-》[unk]某地点寻求推荐-》[unk]某地点寻;
[0183]
[unk]某地点寻求推荐景游玩-》[unk]某地点寻求推荐-》某地点寻求;#由于"[unk]某地点寻”已出现,故而滑动窗口,右移动一位
[0184]
[unk]某地点询问特产-》[unk]某地点询问-》[unk]某地点询;
[0185]
[unk]某企业地点询问文化-》[unk]某地点询问-》某地点询问;#同上,由于字符“企”,“业”,“文”,“化”不在字频列表前20个字符中缺省后,且“[unk]某地点询已出现”,滑动窗口,右移动一位
[0186]
[unk]某物品服务询问购买方式-》[unk]某物品服务询问-》[unk]某物品服;
[0187]
[unk]某物品服务询问价格-》[unk]某物品服务询问价格-》某物品服务;#滑动窗口,右移动一位
[0188]
[unk]某景点地物品询问特色-》[unk]某景点地物品询问-》[unk]某景点地;
[0189]
[unk]某景点地物品询问位置-》[unk]某景点地物品询问-》某景点地物,#滑动窗口,右移动一位
[0190]
[unk]某景点地询问活动-》[unk]某景点地询问-》某景点地询;#滑动窗口,右移动一位
[0191]
[unk]某景点地询问演出-》[unk]某景点地询问-》景点地询问;#滑动窗口,右移动两位
[0192]
[unk]某景点地询问历史-》[unk]某景点地询问-》点地询问[pad];#滑窗右移两位后,发现不足5个字符,用[pad]符号补全
[0193]
[unk]某景点地项目询问负责人-》[unk]某景点地询问人-》点地询问人;
[0194]
[unk]某人物询问年龄-》[unk]某人物询问-》[unk]某人物询;
[0195]
[unk]某人物询问国籍-》[unk]某人物询问-》某人物询问;#滑动窗口,右移动一位
[0196]
经过上述处理后得到意图名称,将原本具有不同含义的不同字符长度的意图名称压缩成相同的字符长度,其缩短了连乘时需要进行预测的长度,提升了模型收敛的速度。
[0197]
应用上述步骤得到的意图名称缩写代表(即前文描述的压缩样本),作为语言模型的训练目标,设计并实验几种适合pet进行学习的模板,通过训练学习确定最优模板。在实验中,我们发现固定模版,“下面这句话是在询问”这样的形式,可以在意图识别任务上得到相对不错的效果。
[0198]
固定语言提示模板意图识别准确率下面这句话是在询问95.02%下面这句话的意图是94.13%接下来的话的意图是问92.446%
[0199]
表(1)
[0200]
本发明实施例提供的提示模板处理方法,针对训练样本进行统一的预处理改造,缩短了连乘时进行预测的长度,有效地提升了掩码语言模型的收敛速度。
[0201]
附图中的程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0202]
可选地,请参考图4,图4示出了本发明实施例提供的意图识别的装置的结构示意图。该装置可以配置在电子设备中,该装置包括:
[0203]
训练样本获取模块401,用于获取训练样本集合,该训练样本集合包括多个训练样本,每个训练样本为抽象化意图的字符组合,训练样本至少包括有序排列的关注字符;
[0204]
样本压缩处理模402,用于在去重后训练样本集合的总字符数量大于或等于第一阈值时,根据字符出现次数对每个训练样本进行压缩处理,得到压缩样本集合;
[0205]
模型训练模块403,用于将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,该掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。
[0206]
可选地,样本压缩处理模块402,还包括:
[0207]
字频列表获取子模块,用于获取与训练样本集合对应的字频列表,该字频列表包括训练样本集合包含的关注字符和每个关注字符在训练样本集合中的出现次数;
[0208]
字符去重处理子模块,用于对训练样本集合中的每个训练样本分别进行字符去重处理,得到去重样本集合,该去重样本集合包括多个去重样本,该去重样本与训练样本一一对应;
[0209]
压缩处理子模块,用于根据字频列表对去重样本集合中的每个去重样本分别进行压缩处理,得到压缩样本集合,其中,该压缩样本集合包括多个压缩样本,该压缩样本与去重样本一一对应;
[0210]
可选地,字频列表获取子模块,还用于:
[0211]
分别统计训练样本集合中的每个关注字符在训练样本集合中的出现次数;
[0212]
根据每个关注字符的出现次数,对训练样本集合中的关注字符进行排序,得到与训练样本集合对应的字频列表。
[0213]
可选地,去重处理子模块还用于:
[0214]
针对每个训练样本,在确定训练样本包含非关注字符时,用预设字符对非关注字符进行替换,得到与训练样本对应的替换样本;
[0215]
对与训练样本对应的替换样本进行字符去重处理,得到与替换样本对应的去重样本;
[0216]
将与替换样本对应的去重样本添加至去重样本集合中;
[0217]
在确定训练样本不包含非关注字符时,对训练样本进行字符去重处理,得到与训练样本对应的去重样本;
[0218]
将与训练样本对应的去重样本添加至去重样本集合中。
[0219]
可选地,压缩处理子模块,还用于:
[0220]
针对每个去重样本,确定去重样本的字符长度;
[0221]
在字符长度大于或等于第二阈值时,根据字频列表对去重样本进行筛选,得到与去重样本对应的筛选样本;
[0222]
对与去重样本对应的筛选样本进行压缩处理,得到与筛选样本对应的压缩样本;
[0223]
将与筛选样本对应的压缩样本添加至压缩样本集合中。
[0224]
可选地,压缩处理子模块,还用于:针对每个去重样本,在字符长度小于第二阈值时,将去重样本确定为压缩样本。
[0225]
可选地,压缩处理子模块,还用于:
[0226]
按照字频列表的排列顺序,从字频列表的首个关注字符开始,确定候选字符集合,该候选字符集合包括连续的第一阈值个数的关注字符,其中,字频列表是按照关注字符在训练样本集合中出现次数从高到低的顺序进行排序的;
[0227]
根据候选字符集合对去重样本包含的关注字符进行筛选,得到与去重样本对应的筛选样本。
[0228]
可选地,压缩处理子模块,还用于:
[0229]
利用截取窗口对筛选样本进行滑窗处理,得到与筛选样本对应的截取样本,其中,该截取窗口的大小为所述第二阈值,该截取滑窗每次滑动的步长为预设个数的字符,每个截取样本包括第二阈值个数的字符;
[0230]
在确定截取样本属于压缩样本集合已包含的压缩样本时,按照步长滑动截取窗口,返回利用截取窗口对筛选样本进行滑窗处理,得到与筛选样本对应的截取样本的步骤,直至确定截取样本不属于压缩样本集合已包含的压缩样本为止;
[0231]
在确定截取样本不属于压缩样本集合已包含的压缩样本时,确定截取样本为与筛选样本对应的压缩样本。
[0232]
可选地,压缩处理子模块,还用于:
[0233]
在确定与截取窗口对应的所述筛选样本包含的字符个数小于所述截取窗口的大小时,则按照所述筛选样本的字符排列顺序,在与所述截取窗口对应的所述筛选样本包含的字符的末尾处设置差值个数的补全字符,提取所述与所述截取窗口对应的所述筛选样本包含的字符和设置的补全字符作为与所述筛选样本对应的截取样本,所述差值个数是由所述截取窗口的大小与所述截取窗口对应的筛选样本中待截取的字符个数之间的差值确定的;
[0234]
在确定与所述截取窗口对应的所述筛选样本包含的字符个数大于或等于所述截取窗口的大小时,则按照所述筛选样本的字符排列顺序,从所述筛选样本中提取与所述截取窗口对应的字符作为所述与所述筛选样本对应的截取样本。
[0235]
可选地,位置设置模块,用于若去重样本包含预设字符,则将预设字符设置在去重样本的首位。
[0236]
本发明实施例提供的提示模板处理装置,在模型预训练时,获取训练样本集合,然
后针对训练样本进行统一的预处理改造,缩短了连乘时进行预测的长度,有效地提升了掩码语言模型的收敛速度。
[0237]
下面参考图5,图5示出了本发明实施例提供的电子设备的结构示意图。该电子设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑、其他移动互联网设备(mobile internet devices,mid)、pad、台式电脑等终端。图5并不对电子设备的结构造成限定。如图5所示,电子设备至少包括存储器501和处理器502。例如,电子设备还可以包括比图5所示更多或更少的组件(如网络接口、显示装置等)。
[0238]
特别地,根据本发明提供的实施例,上文参考流程图图1-3描述的过程可以被实现为计算机软件程序。例如,本发明提供的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本发明的系统中限定的上述功能。
[0239]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0240]
附图中的流程图和框图,图示了按照本发明提供的各种实施例描述的方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0241]
描述于本发明提供的实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描
述为:一种处理器包括训练样本获取模块、样本压缩处理模块和模型训练模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,训练样本获取模块还可以被描述为“用于获取训练样本集合的模块”。
[0242]
作为另一方面,本发明实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本发明的意图识别的方法。
[0243]
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:1.一种意图识别的方法,其特征在于,该方法包括:获取训练样本集合,所述训练样本集合包括多个训练样本,每个所述训练样本为抽象化意图的字符组合,所述训练样本至少包括有序排列的关注字符;在去重后的所述训练样本集合的总字符数量大于或等于第一阈值时,根据字符出现次数对每个所述训练样本进行压缩处理,得到压缩样本集合;将所述压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,所述掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。2.根据权利要求1所述的方法,其特征在于,所述根据字符出现次数对每个所述训练样本进行压缩处理,得到压缩样本集合,包括:获取与所述训练样本集合对应的字频列表,所述字频列表包括所述训练样本集合包含的关注字符和每个所述关注字符在所述训练样本集合中的出现次数;对所述训练样本集合中的每个所述训练样本分别进行字符去重处理,得到去重样本集合,所述去重样本集合包括多个去重样本,所述去重样本与所述训练样本一一对应;根据所述字频列表对所述去重样本集合中的每个所述去重样本分别进行压缩处理,得到所述压缩样本集合,其中,所述压缩样本集合包括多个压缩样本,所述压缩样本与所述去重样本一一对应。3.根据权利要求2所述的方法,其特征在于,所述对所述训练样本集合中的每个所述训练样本进行字符去重处理,得到去重样本集合,包括:针对每个训练样本,在确定所述训练样本包含非关注字符时,用预设字符对所述非关注字符进行替换,得到与所述训练样本对应的替换样本;对与所述训练样本对应的替换样本进行字符去重处理,得到与所述替换样本对应的去重样本;将与所述替换样本对应的去重样本添加至所述去重样本集合中;在确定所述训练样本不包含非关注字符时,对所述训练样本进行字符去重处理,得到与所述训练样本对应的去重样本;将与所述训练样本对应的去重样本添加至所述去重样本集合中。4.根据权利要求2所述的方法,其特征在于,所述根据所述字频列表对所述去重样本集合中的每个所述去重样本分别进行压缩处理,得到所述压缩样本集合,包括:针对每个所述去重样本,确定所述去重样本的字符长度;在所述字符长度大于或等于第二阈值时,根据所述字频列表对所述去重样本进行筛选,得到与所述去重样本对应的筛选样本;对与所述去重样本对应的筛选样本进行压缩处理,得到与所述筛选样本对应的压缩样本;将与所述筛选样本对应的压缩样本添加至所述压缩样本集合中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:针对每个所述去重样本,在所述字符长度小于第二阈值时,将所述去重样本确定为压缩样本。6.根据权利要求4所述的方法,其特征在于,所述根据所述字频列表对所述去重样本进
行筛选,得到与所述去重样本对应的筛选样本,包括:按照所述字频列表的排列顺序,从所述字频列表的首个关注字符开始,确定候选字符集合,所述候选字符集合包括连续的第一阈值个数的关注字符,其中,所述字频列表是按照关注字符在所述训练样本集合中出现次数从高到低的顺序进行排序的;根据所述候选字符集合对所述去重样本包含的关注字符进行筛选,得到与所述去重样本对应的筛选样本。7.根据权利要求4所述的方法,其特征在于,所述对与所述去重样本对应的筛选样本进行压缩处理,得到与所述筛选样本对应的压缩样本,包括:利用截取窗口对所述筛选样本进行滑窗处理,得到与所述筛选样本对应的截取样本,其中,所述截取窗口的大小为所述第二阈值,所述截取滑窗每次滑动的步长为预设个数的字符,每个所述截取样本包括所述第二阈值个数的字符;在确定所述截取样本属于所述压缩样本集合已包含的压缩样本时,按照所述步长滑动所述截取窗口,返回所述利用截取窗口对所述筛选样本进行滑窗处理,得到与所述筛选样本对应的截取样本的步骤,直至确定所述截取样本不属于所述压缩样本集合已包含的压缩样本为止;在确定所述截取样本不属于所述压缩样本集合已包含的压缩样本时,确定所述截取样本为与所述筛选样本对应的压缩样本。8.根据权利要求7所述的方法,其特征在于,所述利用截取窗口对所述筛选样本进行滑窗处理,得到与所述筛选样本对应的截取样本,包括:在确定与所述截取窗口对应的所述筛选样本包含的字符个数小于所述截取窗口的大小时,则按照所述筛选样本的字符排列顺序,在与所述截取窗口对应的所述筛选样本包含的字符的末尾处设置差值个数的补全字符,提取所述与所述截取窗口对应的所述筛选样本包含的字符和设置的补全字符作为与所述筛选样本对应的截取样本,所述差值个数是由所述截取窗口的大小与所述截取窗口对应的筛选样本中待截取的字符个数之间的差值确定的;在确定与所述截取窗口对应的所述筛选样本包含的字符个数大于或等于所述截取窗口的大小时,则按照所述筛选样本的字符排列顺序,从所述筛选样本中提取与所述截取窗口对应的字符作为所述与所述筛选样本对应的截取样本。9.根据权利要求2-6任一项所述的方法,其特征在于,若所述去重样本包含预设字符,则将所述预设字符设置在所述去重样本的首位。10.根据权利要求2所述的方法,其特征在于,所述获取与所述训练样本集合对应的字频列表,包括:分别统计所述训练样本集合中的每个关注字符在所述训练样本集合中的出现次数;根据每个关注字符的出现次数,对所述训练样本集合中的关注字符进行排序,得到与所述训练样本集合对应的字频列表。11.一种意图识别的装置,其特征在于,该装置包括:训练样本获取模块,用于获取训练样本集合,所述训练样本集合包括多个训练样本,每个所述训练样本为抽象化意图的字符组合,所述训练样本至少包括有序排列的关注字符;样本压缩处理模块,用于在去重后的所述训练样本集合的总字符数量大于或等于第一
阈值时,根据字符出现次数对每个所述训练样本进行压缩处理,得到压缩样本集合,所述压缩样本集合包括多个压缩样本;模型训练模块,用于将所述压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,所述掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。12.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-10中任一项所述的方法。13.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-10中任一项所述的方法。
技术总结本申请公开了一种意图识别的方法、装置、设备和介质,该方法包括:获取训练样本集合,该训练样本集合包括多个训练样本,每个训练样本为抽象化意图的字符组合,训练样本至少包括有序排列的关注字符;在去重后训练样本集合的总字符数量大于或等于第一阈值时,根据字符出现次数对每个训练样本进行压缩处理,得到压缩样本集合;将压缩样本集合输入到预先构建的掩码语言模型进行训练,输出得到意图识别结果,该掩码语言模型用于将输入的压缩样本填充到待训练的语言提示模板中预设位置后进行训练。本申请提供的实施例通过对训练样本进行统一的预处理改造,有效地提升了掩码语言模型的收敛速度。速度。速度。
技术研发人员:汪硕芃 张林箭 宋有伟 张聪 吕唐杰 范长杰 胡志鹏
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2022.03.17
技术公布日:2022/7/5