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

意图识别方法、装置、计算机设备及存储介质与流程

2022-04-13 16:58:08 来源:中国专利 TAG:


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.进一步地,意图识别模型通过如下方式获取:
28.获取训练样本集,并对输入样本进行字向量编码,以获得输入样本的多个字符向量;
29.将多个字符向量输入包含初始参数的预设模型中,以通过预设模型对输入样本进行意图预测,得到意图层级不同的多个预测标签;
30.根据多个预测标签与多个标准意图标签,确定预设模型的总损失值;
31.在总损失值未达到预设收敛条件时,迭代更新预设模型的初始参数,直至总损失值达到预设收敛条件时,将收敛之后的预设模型记录为意图识别模型。
32.进一步地,获取训练样本集包括:
33.获取多个输入样本,并对输入样本进行多层级意图标注,以获得输入样本的多个标准意图标签;
34.确定输入样本对应的意图标签数量是否小于预设数量;
35.若小于预设数量,则根据输入样本中最小一级的标准意图标签,对输入样本的多个标准意图标签进行补充,直至输入样本对应的意图标签数量为预设数量;
36.将标注有多个标准意图标签的所有输入样本汇总为训练样本集。
37.提供一种意图识别装置,包括:
38.编码模块,用于获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量;
39.获取模块,用于获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型,训练样本集中的输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签;
40.输入模块,用于将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签;
41.确定模块,用于根据多个意图识别标签确定待识别文本的意图。
42.提供一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述意图识别方法的步骤。
43.提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述意图识别方法的步骤。
44.上述意图识别方法、装置、计算机设备及存储介质所提供的一个方案中,通过获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量,然后获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型,训练样本集中的每一输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签,再将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签,最后根据多个意图识别标签确定待识别文本的意图;本发明通过输入样本的多个标准意图标签,描述输入样本中各层级意图之间关联关系,使得根据训练样本集训练获得的意图识别模型,能够充分挖掘出不同层级意图之间的关联关系,以使输出的多个意图识别标签之间相互关联,从而提高了意图识别模型的识别精度,进而提高了对用户意图识别的准确性。
附图说明
45.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
46.图1是本发明一实施例中意图识别方法的一应用环境示意图;
47.图2是本发明一实施例中意图识别方法的一流程示意图;
48.图3是图2中步骤s30的一实现流程示意图;
49.图4是本发明一实施例中意图识别装置的一结构示意图;
50.图5是本发明一实施例中计算机设备的一结构示意图。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.本发明实施例提供的意图识别方法,可应用在如图1的应用环境中,其中,终端设备通过网络与服务器进行通信。
53.其中,服务器获取用户通过终端设备发送的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量,然后获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型,训练样本集中的输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签,再将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签,最后根据多个意图识别标签确定待识别文本的意图,以根据待识别文本的意图召回对应的标准文本;本实施例通过输入样本的多个标准意图标签,描述输入样本中各层级意图之间关联关系,使得根据训练样本集训练获得的意图识别模型,能够充分挖掘出不同层级意图之间的关联关系,以使输出的多个意图识别标签之间相互关联,从而提高了意图识别模型的识别精度,进而提高了对用户意图识别的准确性,使得召回的标准文本更加准确,最终进一步提高了系统的人工智能化,提高了用户体验。
54.其中,训练样本集、意图识别模型、待识别文本和标准文本等相关数据存储在服务器的数据库中,在需要对用户意图进行识别时,直接从服务器的数据库获取相关数据,提高对客户意图进行识别的效率。
55.其中,终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、机器人、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
56.在一实施例中,如图2所示,提供一种意图识别方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
57.s10:获取待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量。
58.用户通过终端设备输入待识别文本后,服务器获取待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量。
59.其中,对待识别文本进行编码,以获得待识别文本的多个字向量的过程中,需要将待识别文本进行字项切分,获得待识别文本的多个字符,然后将待识别文本的每个字符进行向量编码,以获得待识别文本的多个字向量,各字向量按照待识别文本中各字符的顺序构成字向量序列。
60.其中,为保证每个字向量的准确性并便于后续计算,可以将待识别文本的多个字符进行一位有效编码(one-hot编码),以用二进制向量表示每个字符,从而获得用0-1向量表示的待识别文本的字向量序列。
61.例如,待识别文本为1~n个字符,则待识别文本经过one-hot编码后,生成按各字符顺序排列的多个字向量i1~in,其中,多个字向量i1~in构成待识别文本的字向量序列,向量序列为0-1的向量表示为:
62.[[0,0,

,1,

,0],[0,0,..,1,

,0,0],

,[0,0,0,0,

,1,0,0]。
[0063]
s20:获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型。
[0064]
在获取用户输入的待识别文本之后,需要获取意图识别模型。其中,意图识别模型为根据预设训练样本集训练获得并预存的神经网络模型,该神经网络模型是基于seq2seq(sequence to sequence)模型改进够的模型。其中,训练样本集中的每一输入样本对应一
个意图标签链,意图标签链包括意图层级不同的多个标准意图标签。即每个输入样本均包含意图层级不同的多个标准意图标签:第一级意图标签
……
第n级意图标签,多个标准意图标签构成了意图层级细化的意图标签链。其中,n为意图标签链中标准意图标签的数量,可以根据实际需求确定意图标签链中标准意图标签的数量。
[0065]
以情绪分类任务为例,最高层级的意图标签为情绪,情绪下包含高兴和不高兴两种意图标签,高兴或者不高兴下包含产品服务和产品质量两种意图标签,则输入样本的意图标签可能是情绪-高兴-产品服务(或产品质量),多个标准意图标签分别为意图层级依次细化的情绪、高兴、产品服务(或产品质量);输入样本的意图标签可能是也可能是情绪-不高兴-产品服务(或产品质量),其中,多个标准意图标签分别为意图层级依次细化的情绪、高兴、产品服务(或产品质量),各层级意图标签之间具有关联性。
[0066]
通过上述例子可知,本实施例中,可以通过意图标签链的形式,表述多个标准意图标签中各层级标准意图标签之间具有关联性。
[0067]
本实施例中,意图标签链的具体标准意图标签仅为示例性说明,意图标签链中的各标准意图标签还可以是其他标签,意图标签链中标准意图标签的数量还可以是其他,在此不再赘述。
[0068]
s30:将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签。
[0069]
在对待识别文本进行编码,以获得待识别文本的多个字向量之后,将多个字向量组成的字向量序列,输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签。
[0070]
其中,意图识别模型基于传统seq2seq模型进行改进获得的意图识别模型,意图识别模型包括编码模块、解码模块和分类模块。
[0071]
在将多个字向量组成的字向量序列,输入意图识别模型之后,编码模块对输入的多个字向量进行编码处理,编码模块输出两个结果:用于表征待识别文本的上下文向量和各字向量对应的隐态编码向量;将上下文向量输入解码模块进行循环解码,获得每一解码循环的隐态解码向量;基于注意力机制,根据每一解码循环的隐态解码向量对多个隐态编码向量进行处理,获得每个隐态解码向量对应的注意力向量;然后每个将隐态解码向量与各自对应的注意力向量进行拼接,得到多个拼接向量,将得到的多个拼接向量依次输入分类模块进行意图分类识别,获得多个意图识别标签。多个意图识别标签构成意图层级依次降低的识别意图标签链,各意图识别标签的意图层级随意图识别标签的输出顺序降低。
[0072]
由上述描述可知,在解码过程中,每个隐态解码向量的计算,均融合了上一解码循环中获得解码信息,即在意图识别标签识别过程中,将高层级的意图识别标签信息融合至低层级的意图识别标签计算过程,以引导低层级意图识别标签的识别,提高了低层级意图识别标签的准确性,通过考虑各意图识别标签之间具有关联性,进而提高各意图识别标签的准确性。
[0073]
s40:根据多个意图识别标签确定待识别文本的意图。
[0074]
在获得多个意图识别标签之后,根据多个意图识别标签确定待识别文本的意图,即确定用户的意图。可以将最低层级的意图识别标签作为用户的主要意图,并将其他意图识别标签作为辅助意图,从而根据主要意图和辅助意图召回标准文本推送给用户;也可以
将多个意图识别标签拼接为一个目标意图标签,将该目标意图标签作为待识别文本的意图,从而召回目标意图标签对应的标准文本以推送给用户。
[0075]
本实施例中,通过获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量,然后获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的模型,训练样本集中的每一输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签,再将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签,最后根据多个意图识别标签确定待识别文本的意图;通过输入样本的多个标准意图标签,描述输入样本中各层级意图之间关联关系,使得根据训练样本集训练获得的意图识别模型,能够充分挖掘出不同层级意图之间的关联关系,以使输出的多个意图识别标签之间相互关联,从而提高了意图识别模型的识别精度,进而提高了对用户意图识别的准确性。
[0076]
同时,在意图识别标签识别过程中,将高层级的意图识别标签信息融合至低层级的意图识别标签计算过程,以引导低层级意图识别标签的识别,不仅提高了低层级意图识别标签的准确性,还提高了意图识别标签的识别效率。
[0077]
在一实施例中,步骤s40中,即根据多个意图识别标签确定待识别文本的意图,具体包括如下步骤:
[0078]
s41:将多个意图识别标签拼接为目标意图标签。
[0079]
s42:将目标意图标签作为待识别文本的意图,以召回目标意图标签对应的标准文本。
[0080]
在获得多个意图识别标签之后,将多个意图识别标签拼接为目标意图标签,然后将目标意图标签作为待识别文本的意图,以召回目标意图标签对应的标准文本,将多个意图识别标签合并为一个目标意图标签,确保用户每个层级的意图均能考虑到,增加了目标意图标签的准确性,进而提高召回到的标准文本的准确性,能够有效提高用户体验。
[0081]
在一实施例中,如图3所示,步骤s30中,即将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签,具体包括如下步骤:
[0082]
s31:将多个字向量输入意图识别模型中进行向量转换,以获得待识别文本的上下文向量,以及多个字向量对应的隐态编码向量。
[0083]
在获得待识别文本的多个字向量之后,将多个字向量按照字符顺序输入意图识别模型的编码模块中,以对多个字向量进行向量转换,从而获得待识别文本的上下文向量,以及多个字向量对应的隐态编码向量。其中,编码模块包括隐藏层和输出层,待识别文本的上下文向量用于表征整个待识别文本,由编码模块的输出层输出;多个字向量对应的隐态编码向量由编码模块的隐藏层输出。
[0084]
例如,待识别文本的多个字向量为i1~in,则经过编码模块处理后,获得的用于表征整个待识别文本的上下文向量为h
t
,编码模块中隐藏层输出的多个隐态编码向量为o1~on。
[0085]
由用户的待识别文本的长度不确定,为了更好地对待识别文本进行编码以获得准确的编码向量,本实施例中的编码模块可以为bi-lstm模型。
[0086]
s32:将上下文向量进行多次解码循环,以获得每一解码循环的隐态解码向量。
[0087]
在获取用于表征待识别文本的上下文向量之后,将上下文向量输入意图识别模型
的解码模块中,以对上下文向量进行循环解码,从而获得每一个解码循环的隐态解码向量,其中,该隐态解码向量由解码模块中的隐藏层输出。
[0088]
其中,上一解码循环中解码模块的输出(该输出为解码模块中的输出层的输出)为下一解码循环中解码模块的输入,直至获得多个解码循环的隐态解码向量,多个隐态解码向量用w1~wk表示,k为大于1的整数。
[0089]
将上一解码循环中解码模块的输出(该输出为解码模块中的输出层的输出)为下一解码循环中解码模块的输入,可以将高层级的意图信息有效的传递到低层级意图识别当中,以辅助低层级意图的识别,提高各层级意图识别标签之间的关联性,并提升意图识别的效率。
[0090]
每一循环解码的隐态解码向量通过如下公式计算获得:
[0091]
p
t
=tanh(w[p
t-1
]);
[0092]wt
=softmax(vp
t
c);
[0093]
其中,p
t
为第t解码循环中解码模块的输出,其中,解码模块的初始输入p0为编码模块输出的上下文向量;w
t
为第t解码循环输出的隐态解码向量,t∈[1,k];tanh为双曲正切函数;softmax为归一化指数函数;w、v和c均为意图识别模型的超参数。
[0094]
s33:对多个隐态编码向量、每一解码循环的隐态解码向量进行基于注意力机制的处理,以获得多个目标向量。
[0095]
在获得每一个解码循环的隐态解码向量后,对多个隐态编码向量、每一解码循环的隐态解码向量进行基于注意力机制的处理,以获得多个目标向量,使得多个隐态编码向量、每一解码循环的隐态解码向量之间能够充分融合,提高目标向量的准确性,进而提高意图识别标签的准确性。
[0096]
s35:依次对多个目标向量进行意图预测,以获得多个意图识别标签。
[0097]
在获得多个拼接向量之后,依次将多个目标向量输入意图识别模型的预测模块中,以对每个目标向量进行意图预测,从而获得多个意图识别标签。
[0098]
本实施例中,通过将多个字向量输入意图识别模型的编码模块中,以获得待识别文本的上下文向量,以及多个字向量对应的隐态编码向量;将上下文向量输入意图识别模型的解码模块中进行多次解码循环,以获得每一解码循环的隐态解码向量,上一解码循环的输出为下一解码循环的输入;对多个所述隐态编码向量、所述每一解码循环的隐态解码向量进行基于注意力机制的处理,以获得多个目标向量;依次将多个目标向量输入意图识别模型的预测模块中进行意图预测,以获得多个意图识别标签,细化了将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签的具体步骤,基于注意力机制,将多个隐态编码向量、每一解码循环的隐态解码向量进行融合,使得解码信息和编码信息充分融合,从而获得准确性的目标向量,提高了目标向量的准确性。
[0099]
在一实施例中,步骤s32中,将上下文向量输入意图识别模型的解码模块中进行多次解码循环,以获得每一解码循环的隐态解码向量,包括:
[0100]
在获得待识别文本的上下文向量之后,先将上下文向量输入至解码模块进行解码,以获得解码模块在第一解码循环的隐态解码向量;然后获取第一个注意力向量,可以基于soft-attention机制,对第一解码循环的隐态解码向量和多个隐态编码向量进行处理,以获得第一个注意力向量;在获得第一个注意力向量之后,将第一个注意力向量与第一解
码循环的隐态解码向量进行拼接,获得第一个拼接向量,即获得第一个目标向量。
[0101]
在获得第一个拼接向量之后,将第一解码循环中解码模块的输出和第一个拼接向量,为第二解码循环中解码模块的输入,以获得解码模块在第二解码循环的隐态解码向量,进而根据第二解码循环的隐态解码向量获得当前解码循环对应的拼接向量,即第二个拼接向量;
[0102]
将上一拼接向量与上一解码循环中解码模块的输出,共同作为下一解码循环中解码模块的输入,重复上述步骤获得当前解码循环对应的拼接向量,然后遍历所有的解码循环,直至获得第k解码循环对应的拼接向量(第k个拼接向量),从而获得多个目标向量。其中,k为大于1的整数,且k为多个标准意图标签中的标签数量。
[0103]
其中,将上一拼接向量与上一解码循环中解码模块的输出,共同作为下一解码循环中解码模块的输入,则每一循环解码的隐态解码向量通过如下公式计算获得:
[0104]
p
t
=tanh(w[p
t-1
,s
t-1
]);
[0105]wt
=softmax(vp
t
c);
[0106]
其中,p
t
为第t解码循环中解码模块的输出,其中,解码模块的初始输入p0为编码模块输出的上下文向量;p
t-1
第t-1解码循环中解码模块的输出,即p
t
上一解码循环中解码模块的输出;s
t-1
为第t-1解码循环对应的拼接向量,即上一拼接向量;w
t
为第t解码循环输出的隐态解码向量,t∈[1,k];tanh为双曲正切函数;softmax为归一化指数函数;w、v和c均为意图识别模型的超参数。
[0107]
本实施例中,将上一拼接向量与上一解码循环中解码模块的输出,共同作为下一解码循环中解码模块的输入,增加了解码模块的输入信息,进一步将高层级意图标签的信息传递到低层级意图标签的计算中,有效辅助低层级意图标签的识别,进一步提高了意图识别标签的准确性。
[0108]
在一实施例中,步骤s33中,即对多个隐态编码向量、每一解码循环的隐态解码向量进行基于注意力机制的处理,以获得多个目标向量,具体包括如下步骤:
[0109]
s331:基于软注意力机制,对当前解码循环的隐态解码向量和多个隐态编码向量进行处理,得到当前解码循环对应的注意力向量,以获得多个所述注意力向量。
[0110]
在获得每一个解码循环的隐态解码向量后,基于软注意力机制,对当前解码循环的隐态解码向量和多个隐态编码向量进行处理,得到该解码循环对应的注意力向量,遍历所有解码循环,以获得每一解码循环对应的注意力向量,即获得多个的注意力向量。基于注意力机制将解码模块解码得到的隐藏解码向量进与待识别文本的多个隐藏编码向量进行相互融合处理,提高了注意力向量的准确性。
[0111]
其中,为避免信息丢失而造成注意力向量不够准确性的可能,本实施例中的注意力机制可以是软注意力机制,即soft-attention机制,基于soft-attention机制对每一解码循环的隐态解码向量对多个隐态编码向量进行处理,在突出重点向量的基础上,能够使得每个隐态编码向量均获得相应关注,减少信息丢失的可能,提高了注意力向量的准确性,进而提高了后续拼接向量的准确性。
[0112]
s332:将各注意力向量与当前解码循环的隐态解码向量进行拼接,以获得多个拼接向量。
[0113]
在获得每一解码循环对应的注意力向量之后,将该解码循环对应的注意力向量与
该解码循环的隐态解码向量进行拼接处理,以获得该解码循环对应的拼接向量。
[0114]
其中,拼接向量的计算过程如下:
[0115]st
=tanh(ws[w
t
,v
t
]);
[0116]
其中,w
t
为第t解码循环的隐态解码向量,v
t
为第t解码循环对应的注意力向量,s
t
为第t个拼接向量,即将第t解码循环对应的注意力向量v
t
与第t解码循环的隐态解码向量w
t
进行拼接处理后获得的向量;tanh为双曲正切函数;ws为意图识别模型的超参数。
[0117]
s333:将多个拼接向量作为多个目标向量。
[0118]
在获得多个拼接向量之后,将多个拼接向量作为多个目标向量,以便后续进行分类识别。
[0119]
本实施例中,基于软注意力机制,对当前解码循环的隐态解码向量和多个隐态编码向量进行处理,得到当前解码循环对应的注意力向量,以获得多个所述注意力向量;将各注意力向量与当前解码循环的隐态解码向量进行拼接,以获得多个拼接向量;将多个拼接向量作为多个目标向量,明确了进一步地,基于注意力机制,根据对个隐态编码向量、每一解码循环的隐态解码向量确定多个目标向量,
[0120]
在一实施例中,步骤s331中,即基于软注意力机制,对当前解码循环的隐态解码向量和多个隐态编码向量进行处理,得到当前解码循环对应的注意力向量,以获得多个注意力向量,具体包括如下步骤:
[0121]
a.根据当前解码循环的隐态解码向量对多个隐态编码向量进行加权求和,以获得初始权重矩阵。
[0122]
在获得当前解码循环的隐态解码向量之后,根据当前解码循环的隐态解码向量对多个隐态编码向量进行加权求和,以获得初始权重矩阵。初始权重矩阵包括多个初始权重。
[0123]
b.对初始权重矩阵进行归一化处理,以获得目标权重矩阵。
[0124]
在获得初始权重矩阵之后,对初始权重矩阵进行归一化处理,以获得目标权重矩阵,每一解码循环计算一次目标权重矩阵。
[0125]
其中,目标权重矩阵中包括多个目标权重,每一目标权重对应一个字向量。
[0126]
c.根据目标权重矩阵对多个隐态编码向量进行加权求和,以获得当前解码循环对应的注意力向量。
[0127]
在获得对初始权重矩阵进行归一化处理,以获得目标权重矩阵之后,根据目标权重矩阵对多个隐态编码向量进行加权求和,以获得当前解码循环对应的注意力向量。
[0128]
d.重复步骤a-步骤c,遍历所有解码循环的隐态解码向量,以获得多个注意力向量。
[0129]
重复步骤a-步骤c,遍历所有解码循环的隐态解码向量,以获得多个注意力向量。
[0130]
其中,目标权重矩阵的计算公式为:
[0131][0132]
其中,δ
tj
为第t解码循环对应的目标权重矩阵中第j个字向量的目标权重。
[0133]
其中,初始权重矩阵中的初始权重通过如下公式计算:
[0134][0135]
其中,w
t
为第t解码循环输出的隐态解码向量;oj为待识别文本中的第j个字向量,j
∈[1,n];n为待识别文本中字符的数量,r
t
为初始权重矩阵中的第t个初始权重。
[0136]
其中,每一解码循环对应的注意力向量的计算公式为:
[0137][0138]
其中,v
t
为第t解码循环对应的注意力向量,δ
tj
为第t解码循环对应的目标权重矩阵中第j个字向量的目标权重;oj为待识别文本中的第j个字向量,j∈[1,n]。
[0139]
本实施例中,通过上述步骤a至步骤d,明确了根据当前解码循环的隐态解码向量和多个隐态编码向量,对当前解码循环对应的注意力向量,以获得多个注意力向量的具体过程,基于soft-attention机制对每一解码循环的隐态解码向量对多个隐态编码向量进行处理,在突出重点向量的基础上,能够使得每个隐态编码向量均获得相应关注,减少信息丢失的可能,提高了注意力向量的准确性,进而提高了后续拼接向量的准确性。
[0140]
在一实施例中,步骤s20之前,需要训练获得意图识别模型,以便在步骤s20中直接获取意图识别模型进行意图识别。其中,意图识别模型通过如下方式训练得到:
[0141]
s01:获取训练样本集,并对输入样本进行字向量编码,以获得输入样本的多个字符向量。
[0142]
先获取训练样本集,其中,意图识别模型为根据预设训练样本集训练获得的模型,训练样本集中的输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签。
[0143]
在获取训练样本集之后,对训练样本集中的输入样本进行字向量编码,以获得输入样本的多个字符向量。多个字符向量的编码过程请参照前文待识别文本的多个字向量的编码过程,在此不再赘述。
[0144]
s02:将多个字符向量输入包含初始参数的预设模型中,以通过预设模型对输入样本进行意图预测,得到意图层级不同的多个预测标签。
[0145]
在获得输入样本的多个字符向量之后,将输入样本的多个字符向量输入包含初始参数的预设模型中,以通过预设模型对输入样本进行意图预测,得到意图层级不同的多个预测标签。
[0146]
s03:根据多个预测标签与多个标准意图标签,确定预设模型的总损失值。
[0147]
需要理解的是,在对预设模型进行训练的过程中,可以通过标准随机梯度下降算法对预设模型进行训练,使用交叉熵函数作为代价函数。
[0148]
在获得多个意图预测标签之后,在获得多个预测标签之后,根据多个预测标签与多个标准意图标签,确定预设模型的总损失值。其中,将多个标准意图标签的各标准意图标签,与多个预测标签中的预测标签一一对应,然后根据代价函数计算标准意图标签和标准意图标签对应的预测标签的子损失值,以获得多个子损失值,再根据多个损失值计算预设模型的总损失值。预设模型的总损失值可以为最小化多个代价函数的线性和。
[0149]
s04:在总损失值未达到预设收敛条件时,迭代更新预设模型的初始参数,直至总损失值达到预设收敛条件时,将收敛之后的预设模型记录为意图识别模型。
[0150]
在根据多个预测标签与多个标准意图标签,确定预设模型的总损失值之后,确定总损失值是否达到预设收敛条件。当总损失值未达到预设收敛条件时,迭代更新预设模型的初始参数,直至总损失值达到预设收敛条件时,将收敛之后的预设模型记录为意图识别模型。
[0151]
可以理解的,预设收敛条件可以为总损失值小于预定阈值的条件,也即在总损失值小于预定阈值时,确定总损失值达到预设收敛条件,停止训练;预设收敛条件还可以是总损失值经过预设次数的计算后值很小且不会再下降的条件,也即当总损失值经过预设次数的计算后值很小且不会再下降时,确定总损失值达到预设收敛条件,停止训练,然后将收敛之后的预设模型记录为意图识别模型。
[0152]
本实施例中,通过获取训练样本集,并对输入样本进行字向量编码,以获得输入样本的多个字符向量;将多个字符向量输入包含初始参数的预设模型中,以通过预设模型对输入样本进行意图预测,得到意图层级不同的多个预测标签;根据多个预测标签与多个标准意图标签,确定预设模型的总损失值;在总损失值未达到预设收敛条件时,迭代更新预设模型的初始参数,直至总损失值达到预设收敛条件时,将收敛之后的预设模型记录为意图识别模型;明确了意图识别模型的获取过程,通过标注有意图标签链的训练样本集训练获得意图识别模型,提高了意图识别模型的算法精度,进而提高了意图识别结果的精确性。此外,本意图识别模型均需要一份训练样本集,并进行一次模型训练过程即可获得,与传统多类别分类模型需要进行多个子模型的分别训练不同,避免了多个分类模型组合所带来的复杂性,训练起来会更高效,同时,还可以减少模型训练所需的样本量,降低模型的训练成本。
[0153]
在一实施例中,步骤s01中,即获取训练样本集,具体包括如下步骤:
[0154]
s011:获取多个输入样本,并对输入样本进行多层级意图标注,以获得输入样本的多个标准意图标签。
[0155]
获取多个输入样本,如对话系统或者搜索引擎等数据库中的用户输入问题。然后对输入样本进行人工的意图识别,并根据识别结果对输入样本进行多层级意图标注,从而获得输入样本的多个标准意图标签,该个标准意图标签构成意图标签链。
[0156]
s012:确定输入样本对应的意图标签数量是否小于预设数量。
[0157]
在获得输入样本的多个标准意图标签之后,确定输入样本对应的意图标签数量是否小于预设数量。
[0158]
例如,预设数量为3,但输入样本的标准意图标签数量为2,或者标准意图标签数量为4、5,则不满足标签数量要求。
[0159]
本实施例中,预设数量为3仅为示例性要求,在其他实施例中,预设数量还可以是其他根据实际需求确定的数值,如可以为2、4、5等整数。
[0160]
s013:若小于预设数量,则根据输入样本中最小一级的标准意图标签,对输入样本的多个标准意图标签进行补充,直至输入样本对应的意图标签数量为预设数量。
[0161]
在确定输入样本对应的意图标签数量是否小于预设数量之后,若输入样本对应的意图标签数量小于预设数量,则根据输入样本中最小一级的标准意图标签,对输入样本的多个标准意图标签进行补充,直至输入样本对应的意图标签数量为预设数量。通过标准意图标签回补的方式,对不同输入样本的多层级标准意图标签进行统一,确保训练样本集中的输入样本一致性,便于后续训练。
[0162]
在一实施例中,在确定输入样本对应的意图标签数量是否小于预设数量之后,若输入样本对应的意图标签数量大于预设数量,删除多个标准意图标签中最小一级的标准意图标签,以使输入样本对应的意图标签数量为预设数量。通过标准意图标签删除的方式,对不同输入样本的多层级标准意图标签进行统一,确保训练样本集中的输入样本一致性,便
于后续训练。
[0163]
s014:将标注有多个标准意图标签的所有输入样本汇总为训练样本集。
[0164]
在所有输入样本对应的意图标签数量为预设数量之后,将标注有多个标准意图标签的所有输入样本汇总为训练样本集。
[0165]
本实施例中,通过获取多个输入样本,并对输入样本进行多层级意图标注,以获得输入样本的多个标准意图标签;确定输入样本对应的意图标签数量是否小于预设数量;若小于预设数量,则根据输入样本中最小一级的标准意图标签,对输入样本的多个标准意图标签进行补充,直至输入样本对应的意图标签数量为预设数量;将标注有多个标准意图标签的所有输入样本汇总为训练样本集,明确了获取训练样本集的具有过程,对不同输入样本的多层级标准意图标签进行统一,确保训练样本集中的输入样本一致性,便于后续训练。
[0166]
在一实施例中,提供一种意图识别方法,具体包括如下步骤:
[0167]
sa1:获取包括多个输入样本的训练样本集,根据训练样本集训练获得意图识别模型。
[0168]
先获取多个输入样本,并对用户输入样本进行多层级意图标注,以获得用户输入样本的多个标准意图标签,形成训练样本集,每一输入样本对应的多个标准意图标签;然后对输入样本进行字向量编码,以获得输入样本的多个字符向量;再将多个字符向量输入包含初始参数的预设模型中,以通过预设模型对用户输入样本进行意图预测,得到意图层级不同的多个预测标签;再根据多个预测标签与多个标准意图标签,确定预设模型的总损失值,在总损失值未达到预设收敛条件时,迭代更新预设模型的初始参数,直至总损失值达到预设收敛条件时,将收敛之后的预设模型记录为意图识别模型。
[0169]
sa2:获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量。
[0170]
在训练获得意图识别模型之后,用户通过终端设备输入待识别文本后,服务器获取待识别文本,然后将待识别文本的多个字符进行一位有效编码(one-hot编码),以用二进制向量表示每个字符,从而获得用0-1向量表示的待识别文本的字向量序列。
[0171]
sa3:将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签。
[0172]
其中,先将多个字向量输入意图识别模型后,先由意图识别模型的,编码模块对多个字向量进行向量转换,以获得待识别文本的上下文向量h
t
,以及多个字向量对应的隐态编码向量o1~on。其中,编码模块包括隐藏层和输出层,待识别文本的上下文向量由编码模块的输出层输出;多个字向量对应的隐态编码向量由编码模块的隐藏层输出。
[0173]
在获得待识别文本的上下文向量之后,将上下文向量h
t
进行多次解码循环,以获得每一解码循环的隐态解码向量:多个隐态解码向量用w1~wk。其中,先将上下文向量输入至解码模块进行解码,以获得解码模块在第一解码循环的隐态解码向量;然后获取第一个注意力向量,可以基于soft-attention机制,对第一解码循环的隐态解码向量和多个隐态编码向量进行处理,以获得第一个注意力向量;在获得第一个注意力向量之后,将第一个注意力向量与第一解码循环的隐态解码向量进行拼接,获得第一个拼接向量,即获得第一个目标向量。在获得第一个拼接向量之后,将第一解码循环中解码模块的输出和第一个拼接向量,为第二解码循环中解码模块的输入,以获得解码模块在第二解码循环的隐态解码向
量,进而根据第二解码循环的隐态解码向量获得当前解码循环对应的拼接向量,即第二个拼接向量;将上一拼接向量与上一解码循环中解码模块的输出,共同作为下一解码循环中解码模块的输入,重复上述步骤获得当前解码循环对应的拼接向量,然后遍历所有的解码循环,直至获得第k解码循环对应的拼接向量(第k个拼接向量),从而获得多个目标向量。其中,k为大于1的整数,且k为多个标准意图标签中的标签数量。
[0174]
其中,将上一拼接向量与上一解码循环中解码模块的输出,共同作为下一解码循环中解码模块的输入,则每一循环解码的隐态解码向量通过如下公式计算获得:
[0175]
p
t
=tanh(w[p
t-1
,s
t-1
]);
[0176]wt
=softmax(vp
t
c);
[0177]
其中,p
t
为第t解码循环中解码模块的输出,其中,解码模块的初始输入p0为编码模块输出的上下文向量;p
t-1
第t-1解码循环中解码模块的输出,即p
t
上一解码循环中解码模块的输出;s
t-1
为第t-1解码循环对应的拼接向量,即上一拼接向量;w
t
为第t解码循环输出的隐态解码向量,t∈[1,k];tanh为双曲正切函数;softmax为归一化指数函数;w、v和c均为意图识别模型的超参数。
[0178]
在每获得一解码循环的隐态解码向量之后,对多个隐态编码向量o1~on、每一解码循环的隐态解码向量进行基于注意力机制的处理,以获得多个目标向量。
[0179]
其中,需要先根据当前解码循环的隐态解码向量对多个隐态编码向量进行加权求和,以获得初始权重矩阵,并对初始权重矩阵进行归一化处理,以获得目标权重矩阵,根据目标权重矩阵对多个隐态编码向量进行加权求和,以获得当前解码循环对应的注意力向量。
[0180]
其中,目标权重矩阵的计算公式为:
[0181][0182]
其中,δ
tj
为第t解码循环对应的目标权重矩阵中第j个字向量的目标权重。
[0183]
其中,初始权重矩阵中的初始权重通过如下公式计算:
[0184][0185]
其中,w
t
为第t解码循环输出的隐态解码向量;oj为待识别文本中的第j个字向量,j∈[1,n];n为待识别文本中字符的数量,r
t
为初始权重矩阵中的第t个初始权重。
[0186]
其中,每一解码循环对应的注意力向量的计算公式为:
[0187][0188]
其中,v
t
为第t解码循环对应的注意力向量,δ
tj
为第t解码循环对应的目标权重矩阵中第j个字向量的目标权重;oj为待识别文本中的第j个字向量,j∈[1,n]。
[0189]
然后,将当解码循环对应的注意力向量与当前解码循环的隐态解码向量进行拼接,以获得当前解码循环对应的拼接向量,并将该拼接向量作为当前解码循环对应的目标向量,以便后续对该目标向量进行意图预测,以获得该目标向量对应的意图识别标签。遍历每个解码循环的隐态解码,以获得每一解码循环对应的拼接向量,并进行意图预测,即可获得多个意图识别标签。
[0190]
其中,拼接向量的计算过程如下:
[0191]st
=tanh(ws[w
t
,v
t
]);
[0192]
其中,w
t
为第t解码循环的隐态解码向量,v
t
为第t解码循环对应的注意力向量,s
t
为第t个拼接向量,即将第t解码循环对应的注意力向量v
t
与第t解码循环的隐态解码向量w
t
进行拼接处理后获得的向量;tanh为双曲正切函数;ws为意图识别模型的超参数。
[0193]
sa4:根据多个意图识别标签确定待识别文本的意图。
[0194]
在获得多个意图识别标签之后,将多个意图识别标签拼接为目标意图标签,然后将目标意图标签作为用户的意图,以召回目标意图标签对应的标准文本,将多个意图识别标签合并为一个目标意图标签,确保用户每个层级的意图均能考虑到,增加了目标意图标签的准确性,进而提高召回到的标准文本的准确性,能够有效提高用户体验。
[0195]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0196]
在一实施例中,提供一种意图识别装置,该意图识别装置与上述实施例中意图识别方法一一对应。如图4所示,该意图识别装置包括编码模块401、获取模块402、输入模块403和确定模块404。各功能模块详细说明如下:
[0197]
编码模块401,用于获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量;
[0198]
获取模块402,用于获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型,训练样本集中的每一输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签;
[0199]
输入模块403,用于将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签;
[0200]
确定模块404,用于根据多个意图识别标签确定待识别文本的意图。
[0201]
进一步地,输入模块403具体用于:
[0202]
将多个字向量输入意图识别模型中进行向量转换,以获得待识别文本的上下文向量,以及多个字向量对应的隐态编码向量;
[0203]
将上下文向量进行多次解码循环,以获得每一解码循环的隐态解码向量,上一解码循环的输出为下一解码循环的输入;
[0204]
对多个隐态编码向量、每一解码循环的隐态解码向量进行基于注意力机制的处理,以获得多个目标向量;
[0205]
依次对多个目标向量进行意图预测,以获得多个意图识别标签。
[0206]
进一步地,输入模块403具体还用于:
[0207]
基于软注意力机制,对当前解码循环的隐态解码向量和多个隐态编码向量进行处理,得到当前解码循环对应的注意力向量,以获得多个注意力向量;
[0208]
将各注意力向量与当前解码循环的隐态解码向量进行拼接,以获得多个拼接向量;
[0209]
将多个拼接向量作为多个目标向量。
[0210]
进一步地,输入模块403具体还用于:
[0211]
根据当前解码循环的隐态解码向量对多个隐态编码向量进行加权求和,以获得初
始权重矩阵;
[0212]
对初始权重矩阵进行归一化处理,以获得目标权重矩阵;
[0213]
根据目标权重矩阵对多个隐态编码向量进行加权求和,以获得当前解码循环对应的注意力向量;
[0214]
遍历所有解码循环的隐态解码向量,以获得多个注意力向量。
[0215]
进一步地,确定模块404具体用于:
[0216]
将多个意图识别标签拼接为目标意图标签;
[0217]
将目标意图标签作为待识别文本的意图,以召回目标意图标签对应的标准文本。
[0218]
进一步地,上述意图识别装置还包括训练模块405,训练模块405具体用于:
[0219]
获取训练样本集,并对输入样本进行字向量编码,以获得输入样本的多个字符向量;
[0220]
将多个字符向量输入包含初始参数的预设模型中,以通过预设模型对输入样本进行意图预测,得到意图层级不同的多个预测标签;
[0221]
根据多个预测标签与多个标准意图标签,确定预设模型的总损失值;
[0222]
在总损失值未达到预设收敛条件时,迭代更新预设模型的初始参数,直至总损失值达到预设收敛条件时,将收敛之后的预设模型记录为意图识别模型。
[0223]
进一步地,训练模块405具体还用于:
[0224]
获取多个输入样本,并对输入样本进行多层级意图标注,以获得输入样本的多个标准意图标签;
[0225]
确定输入样本对应的意图标签数量是否小于预设数量;
[0226]
若小于预设数量,则根据输入样本中最小一级的标准意图标签,对输入样本的多个标准意图标签进行补充,直至输入样本对应的意图标签数量为预设数量;
[0227]
将标注有多个标准意图标签的所有输入样本汇总为训练样本集。
[0228]
关于意图识别装置的具体限定可以参见上文中对于意图识别方法的限定,在此不再赘述。上述意图识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0229]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储意图识别模型、训练样本集和标准文本等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种意图识别方法。
[0230]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0231]
获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量;
[0232]
获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型,训练样本集中的输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签;
[0233]
将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签;
[0234]
根据多个意图识别标签确定待识别文本的意图。
[0235]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0236]
获取用户输入的待识别文本,并对待识别文本进行编码,以获得待识别文本的多个字向量;
[0237]
获取意图识别模型,意图识别模型为根据预设训练样本集训练获得的神经网络模型,训练样本集中的输入样本对应一个意图标签链,意图标签链包括意图层级不同的多个标准意图标签;
[0238]
将多个字向量输入意图识别模型进行多层级的意图识别,以获得意图层级不同的多个意图识别标签;
[0239]
根据多个意图识别标签确定待识别文本的意图。
[0240]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0241]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0242]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献