指令识别方法及装置、训练方法、计算机可读存储介质与流程

文档序号:31399877发布日期:2022-09-03 04:18阅读:133来源:国知局
指令识别方法及装置、训练方法、计算机可读存储介质与流程

1.本公开涉及人工智能领域,具体涉及一种指令识别方法及装置、自然语言模型的训练方法、计算机可读存储介质。


背景技术:

2.自然语言处理(nlp,natural language processing)是计算机科学领域与人工智能领域中的一个重要方向。自然语言处理研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。例如,利用自然语言处理技术可以对各种语料数据,例如语音数据、文本数据,进行处理。
3.随着人工智能(ai)算法以及ai芯片等硬件技术的发展,智能设备已经在日常生活中被广泛应用,如智能家居语音控制系统、智能音箱、智能会议系统会议记录生成等。


技术实现要素:

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.在一些实施例中,所述第一自注意力模型还包括:
47.第一残差网络,其输入包括所述第一自注意力层的输入和所述第一自注意力层的输出;
48.第一前馈神经网络层,其输入包括所述第一残差网络的输出;
49.第二残差网络,其输入包括所述第一前馈神经网络层的输出以及所述第一残差网络的输出。
50.在一些实施例中,所述第一初始模型中的自注意力模型还包括:位于所述至少一个第一自注意力模型之后的至少一个第二自注意力模型,所述至少一个第二自注意力模型用于对其输入进行特征提取,生成每个词元的所述嵌入向量;其中,每个所述第二自注意力模型包括第二自注意力层,所述第二自注意力层的维度小于所述第一自注意力层的维度。
51.在一些实施例中,所述第一初始模型还包括:
52.维度转换层,位于所述至少一个第一自注意力模型和所述至少一个第二自注意力模型之间,用于对所述至少一个第一自注意力模型的输出进行维度转换,并将维度转换后的输出结果作为所述至少一个第二自注意力模型的输入。
53.在一些实施例中,所述第一自注意力模型和所述第二自注意力模型的数量随语料库中第一样本文本的数量等级的增加而增加。
54.在一些实施例中,所述第二初始模型具体用于:
55.根据预设的窗口尺寸对所有词元的嵌入向量进行分组,并将同一组中的词元的处理结果进行拼接,得到拼接特征信息;
56.根据每一组词元的拼接特征信息,对所述第二样本文本进行意图识别和命名实体识别,确定所述第二样本文本所对应的意图、以及第二样本文本的各个词元所对应的信息槽。
57.在一些实施例中,所述第二初始模型包括双向神经网络。
58.本公开实施例还提供一种指令识别装置,包括处理器,所述处理器被配置为:
59.目标指令对应的目标文本的各个词元;
60.将所述各个词元输入第一模型,得到各个所述词元的嵌入向量;其中,所述第一模型包括自注意力模型;
61.将各个所述词元的嵌入向量输入第二模型,以对所述目标文本进行意图识别和命名实体识别,确定所述目标文本所对应的意图、以及各个所述词元所对应的信息槽;
62.根据所述目标文本所对应的意图、以及各个所述词元所对应的信息槽,识别所述目标指令。
63.在一些实施例中,若通过命名实体识别确定出至少两个词元对应同一个信息槽,则识别所述目标指令具体包括:
64.输出歧义消除请求,以请求用户输入歧义消除信息;
65.根据所述歧义消除信息,确定所述同一个信息槽实际所对应的词元;
66.根据所述意图和每个信息槽所对应的词元,识别所述目标指令;
67.若通过命名实体识别确定出不同的词元对应不同的信息槽,则识别所述目标指令,具体包括:直接根据所述意图和各个所述词元所对应的信息槽,识别所述目标指令。
68.本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的方法。
附图说明
69.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
70.图1为本公开的一些实施例中提供的指令识别方法的示意图。
71.图2为本公开的另一些实施例中提供的指令识别方法的示意图。
72.图3为本公开的一些实施例中提供的第一模型的示意图。
73.图4为本公开的一些实施例中提供的第一自注意力模型的示意图。
74.图5为本公开的一些实施例中提供的第一自注意力层的计算过程示意图。
75.图6为本公开的另一些实施例中提供的第一模型的示意图。
76.图7为本公开的一些实施例中提供的第二模型的输入输出的示意图。
77.图8为本公开的一些实施例中提供的自然语言训练模型的训练方法示意图。
78.图9为本公开的一些实施例中提供的指令识别装置的示意图。
具体实施方式
79.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
80.在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
81.应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
82.图1为本公开的一些实施例中提供的指令识别方法的示意图,该指令识别方法可
以适用于指令识别装置,该指令识别装置可以为终端,也可以为服务器,其中,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机等电子设备,所述服务器包括但不限于本地服务器、云端服务器等。如图1所示,所述指令识别方法包括以下步骤s10~s40:
83.s10、获取目标指令对应的目标文本的各个词元(token)。
84.其中,目标指令可以是用户输入至指令识别识别,以供指令识别设置进行识别的指令。目标指令可以为语音指令或文字指令,当目标指令为文字指令时,该文字指令即为目标文本;当目标指令为语音指令时,可以先语音指令转换为声音与文字的转换,从而生成与目标指令对应的目标文本。
85.其中,词元是目标文本中最基础的元素,可以通过对目标文本进行分词处理,得到目标文本的各个词元。在进行分词处理时,划分粒度可以是字,也可以是词,具体可以根据需要进行选择。例如,在一个示例中,可以将经常同时出现的字划分在同一个词元中,例如,将同时出现的“不”“要”作为词元“不要”进行表示。
86.s20、将各个词元输入第一模型,得到各个词元的嵌入向量;其中,第一模型可以采用transformer模型、transformerxl模型、bert模型、gpt模型等,其包括自注意力(self-attention)模型,自注意力模型中可以包括自注意力层。
87.s30、将各个词元的嵌入向量输入第二模型,以利用该第二模型对目标文本进行意图识别和命名实体识别,确定目标文本所对应的意图、以及各个词元所对应的信息槽。
88.例如,目标文本为“今天深圳的天气怎么样”,该目标文本中的词元包括:“今天”、“深圳”、“的”、“天气”、“怎么样”。第二模型根据各个词元的嵌入向量,确定目标文本对应的意图为天气查询。而进行命名实体识别相当于对目标文本进行序列标注,以确定每个词元对应的信息槽,当然,部分词元对应的信息槽也可以为空,即,没有对应的有效信息槽,例如,上述目标文本中的词元“今天”对应的信息槽为日期,词元“深圳”对应的信息槽为地点,词元“的”、“天气”、“怎么样”均没有对应的有效信息槽。
89.s40、根据目标文本所对应的意图、以及各个词元所对应的信息槽,识别目标指令。
90.其中,识别目标指令是指,识别目标指令的语义,从而为后续操作提供依据,例如,在后续操作中可以作出与目标指令相对应的应答。例如,当目标文本为上述的“今天深圳的天气怎么样”时,则根据上述步骤识别出目标文本后,则在后续操作中,可以输出深圳今天的天气信息,例如,输出“深圳今天天气晴朗”。
91.图2为本公开的另一些实施例中提供的指令识别方法的示意图,图2为图1的一种具体化实现方案,如图2所示,指令识别方法包括:
92.s10、获取目标指令对应的目标文本的各个词元。
93.可选地,目标指令为语音指令,步骤s10具体可以包括:
94.s11、对语音指令进行文字识别,生成目标文本。
95.s12、对目标文本进行分词处理,得到目标文本的各个词元。
96.例如,步骤s12中可以采用bpe分词算法对目标文本进行分词。
97.步骤s10之后还包括:s20、将所述各个词元输入第一模型,得到各个所述词元的嵌入向量。
98.图3为本公开的一些实施例中提供的第一模型的示意图,如图3所示,第一模型包括:嵌入(embeding)层10和位于嵌入层之后的至少一个自注意力模型20。
99.其中,嵌入层10用于对目标文本的多个词元进行嵌入操作,得到每个词元的初始嵌入向量。
100.在一些实施例中,第一模型中的自注意力模型20包括至少一个第一自注意力模型21,所述至少一个第一自注意力模型21用于对每个词元的初始嵌入向量进行特征提取,得到每个词元的中间嵌入向量。其中,每个第一自注意力模型21包括第一自注意力层。
101.需要说明的是,在本公开的所有实施例中,一个层(模型)位于另一个层(模型)之后,是指在前的层(模型)的输出作为在后的层(模型)的输入;一个层位于另一个层之前,是指在后的层(模型)的输入包括在前的层(模型)的输出。前一个层(模型)的输出可以直接作为后一个层(模型)的输入,也可以通过其他计算后作为后一个层(模型)层的输入。
102.例如,如图3所示,第一模型包括位于嵌入层10之后的多个第一自注意力模型21。第一个第一自注意力模型21的输入可以为嵌入层10的输出,之后的每个第一自注意力模型21的输入可以为前一个第一自注意力模型21的输出,最后一个第一自注意力模型21输出每个词元的中间嵌入向量。在一些实施例中,最后一个第一自注意力模型21的输出作为第一模型的输出。
103.图4为本公开的一些实施例中提供的第一自注意力模型的示意图,如图4所示,第一自注意力模型除了包括第一自注意力层之外,还包括:第一残差网络层、第一前馈神经网络(feed forward)层和第二残差网络。其中,第一残差网络的输入包括所述第一自注意力层的输入和所述第一自注意力层的输出。第一前馈神经网络层的输入包括所述第一残差网络层的输出;第二残差网络层的输入包括第一前馈神经网络层的输出以及所述第一残差网络的输出。
104.其中,第一残差网络层和第二残差网络层的具体计算过程均可以包括叠加和归一化(add&norm)。
105.在一些实施例中,第一自注意力层的输入可以包括第一自注意力模型的输入,另外,还可以确定目标文本中词元的位置编码positional encoding,然后将所述位置编码特征和第一自注意力模型的输入叠加后输入第一自注意力层。
106.图5为本公开的一些实施例中提供的第一自注意力层的计算过程示意图。如图5所示,从计算过程角度来说,第一自注意力层具体被配置为执行以下操作:
107.对输入向量与训练矩阵进行相乘操作,得到第一词向量矩阵、第二词向量矩阵和第三词向量矩阵;其中,矩阵相乘也可以是与矩阵的转置相乘,可根据实际情况进行调整,在此不作限定。
108.将第一词向量矩阵和第二词向量进行相乘操作,得到第四词向量矩阵;
109.对第四词向量矩阵进行归一化处理得到第五词向量矩阵;
110.基于第五词向量矩阵对第三词向量矩阵进行加权求和,得到第六词向量矩阵。
111.需要说明的是,当第一自注意力模型的数量为一个时,第一自注意力层的输入向量为嵌入层的输出结果,即,包括各个词元的初始嵌入向量;当第一自注意力模型的数量为多个时,第一个第一自注意力模型中,第一自注意力层的输入向量为嵌入层的输出结果;之后的每个第一自注意力层的输入向量为前一个第一自注意力模型的输出结果。
112.在一些实施例中,对第四词向量矩阵进行归一化处理之前,还可以进行尺度变换,
即第四词向量矩阵除以其中,dk为第二词向量矩阵的维度。
113.图6为本公开的另一些实施例中提供的第一模型的示意图,如图6所示,第一模型包括:上述嵌入层10和位于嵌入层10之后的至少一个自注意力模型20。其中,在图6中,自注意力模型20除了包括至少一个第一自注意力模型21之外,还包括位于第一自注意力模型21之后的至少一个第二自注意力模型22,至少一个第二自注意力模型22用于对其输入进行特征提取,生成每个词元的嵌入向量,即,在图6中,第二自注意力模型22的输出作为第一模型的输出。其中,每个第二自注意力模型22包括第二自注意力层,第二自注意力层的计算过程同样可以与图5所示的计算过程相同,这里不再赘述。另外,第二自注意力层执行图5的计算过程时,同样需要执行上文中“将输入向量与训练矩阵相乘”的步骤,若第二自注意力模型22的数量为多个,那么,对于第一个第二自注意力层而言,其输入向量为最后一个第一自注意力模型21的输出结果;之后的每个第二自注意力层的输入向量为前一个第二自注意力模型的输出结果。
114.在一些实施例中,第二自注意力层22的维度小于第一自注意力层21的维度。
115.可以理解的是,第二自注意力层22的维度小于第一自注意力层的维度即第二自注意力层22的权重矩阵的维度小于第一自注意力层21的权重矩阵的维度。在第一模型中的自注意力层进行深度学习过程中,通过逐渐减小自注意力层的维度,有利于减少参数量,提高运算效率,增强实时性能力。维度减小的次数可以是1次,也可以是2-3次,本公开在此不作限定。
116.其中,嵌入层10用于对目标文本的多个词元进行嵌入操作,得到每个词元的初始嵌入向量。
117.在一些实施例中,如图6所示,第一模型还包括:维度转换层23,其位于第一自注意力模型21和第二自注意力模型22之间,用于其输入(即最后一个第一自注意力模型21的输出)进行维度转换,并将维度转换后的输出结果作为第一个第二自注意力模型22的输入,从而实现特征提取层之间的维度变化。
118.例如第一自注意力层21的维度为4096,第二自注意力层22的维度为768。维度转换具体可以是降维。
119.在一个示例中,维度转换层23可以由至少一个维度转换单元构成,维度转换单元包括线性层liner layer。在一个示例中,经过多个维度转换单元中线性层的处理,可以将第一自注意力模型的输出逐渐降维到与第二自注意力层相同的维度。
120.在本公开实施例中,第一自注意力层和第二自注意力层均可以为多头自注意力层(multi-head-attention),其中,第一自注意力层的头数可以大于第二自注意力层的头数,例如,第一自注意力层的头数为64,第二自注意力层的头数为12。
121.继续参考图2,在步骤s20之后,还包括:s30、将各个词元的嵌入向量输入第二模型,以利用该第二模型对目标文本进行意图识别和命名实体识别,确定目标文本所对应的意图、以及各个词元所对应的信息槽。
122.其中,第二模型具体用于根据预设的窗口宽度d对所有词元的嵌入向量进行分组,并将同一组中的词元的嵌入向量进行拼接(cancat),得到拼接特征信息;并根据每一组词元的拼接特征信息,对目标文本进行意图识别和命名实体识别,确定目标文本所对应的意
图、以及目标文本的各个词元所对应的信息槽。
123.需要说明的是,不同组中可以包含相同词元的嵌入向量,例如,d为10;第一组中可以包含第1~10个词元的嵌入向量;第二组中可以包含第2~11个词元的嵌入向量,第三组中可以包含第3~12个词元的嵌入向量,等等。其中,对所有词元的嵌入向量进行分组时,“组”和词元可以一一对应,第i组中包括第i个词元的嵌入特征以及与该第i个词元相邻的多个词元的嵌入特征。
124.图7为本公开的一些实施例中提供的第二模型的输入输出的示意图,其包括双向神经网络、命名实体识别层和分类网络,分类网络例如包括mlp网络,双向神经网络例如包括bi-gru网络。
125.双向神经网络用于根据每组词元的拼接特征信息,生成第一嵌入向量矩阵,所述第一嵌入向量矩阵中包括每个词元的第一嵌入向量。命名实体识别层根据每个词元的第一嵌入向量,对相应的词元进行命名实体识别,得到每个词元对应的信息槽。
126.分类网络用于根据第一嵌入向量矩阵进行意图识别,得到目标文本对应的意图。
127.例如,目标文本中包括m个词元,根据预设的窗口宽度对所有词元的嵌入向量分为m组,并将同一组中的词元的嵌入向量进行拼接,得到每一组的拼接特征信息,其中,第1组包括第1个词元及其相邻的a个词元的嵌入特征,第2组包括第2个词元及其相邻的a个词元的嵌入特征,依次类推。同一组中的词元的嵌入向量经过拼接后,得到拼接特征向量,例如为1
×
64的向量,则双向神经网络输出的为m
×
64的向量矩阵,该矩阵中包括了每个词元对应的第一嵌入特征。之后,在进行命名实体识别时,对于任一个词元而言,是根据该词元的第一嵌入向量,对该词元进行命名实体识别的。而在进行意图识别时,根据整个m
×
64的第一嵌入向量矩阵进行意图识别。也就是说,在进行命名实体识别时,关注的是词元及其相邻的若干词元,而在进行意图识别时,分类网络会更关注整个目标文本整体。
128.双向神经网络的输入包括各词元的嵌入特征,例如,目标文本s包括n个词元,表示为s=w1,w2……
wn,其中,w1表示第一个词元,w2表示第二个词元,wn表示第n个词元;图7中仅示出了第t-2至第t+2个词元的嵌入向量,图7中,input
t-2
至input
t+2
分别表示第t-2至第t+2个词元对应的拼接特征,e(w
t-2
)至e(w
t+2
)分别表示第t-2至第t+2个词元的命名实体识别的输出。其中,以第t个词元为例,其对应的拼接特征input
t
=cancat(e(w
t-d
),e(w
t-d+1
)

e(w
t
)

e(w
t+d
)),双向神经网络模型的隐层计算结果为h(h为一个矩阵),命名实体识别的输出w、bs为命名实体识别层的参数,h
t
为h中对应于第t个词元的第一嵌入向量。意图识别的输出为yu=softmax(wmlp(h)+bu),mlp(h)为mlp的输出,w、bu为mlp之后的softmax层的参数。在第二模型的训练过程中,命名实体识别的损失函数和意图识别的损失函数均使用交叉熵损失,第二模型的整个损失函数表示为:loss=∑αlosss+lossu,其中α为调节权重的超参数,losss表示为命名实体识别的损失,lossu为意图识别的损失。需要说明的是,图7仅为示例性表示,并不代表宽度d一定为2,实际上,宽度d是根据实际需要进行设置的。
129.本公开中的第二模型在对每个词元进行命名实体识别时,先将与该词元位于同一窗口内的多个词元的嵌入向量拼接,得到拼接特征,并根据拼接特征来对词元进行命名实体识别,也就是说,对词元的命名实体识别时,主要考虑与该词元较近的词元的嵌入特征,而并不会考虑所有词元的信息,从而提高识别效率。并且,第二模型包括双向神经网络(即
包括了前向网络模型和后向网络模型),从而可以充分学习上下文信息,提高识别准确性。
130.s40、根据目标文本所对应的意图、以及各个词元所对应的信息槽,识别所述目标指令。
131.在一些实施例中,若步骤s30中通过命名实体识别确定出不同的词元对应不同的信息槽,则s40中在识别目标指令时,可以直接根据所述意图和各个所述词元所对应的信息槽,识别目标指令即可。
132.若步骤s30中通过命名实体识别确定出至少两个词元对应同一个信息槽,则步骤s40中识别目标指令具体可以包括:
133.s41、输出歧义消除请求,以请求用户输入歧义消除信息。
134.s42、根据所述歧义消除信息,确定所述同一个信息槽实际所对应的词元。
135.s43、根据所述意图和每个信息槽所对应的词元,识别所述目标指令。
136.需要说明的是,至少两个词元对应同一个信息槽是指,至少两个词元对应同一个有效信息槽,如上文所列举的示例,在一个目标文本“今天深圳的天气怎么样”中,有多个词元对应的信息槽可能为空,这种情况则不认为是“至少两个词元对应同一个信息槽”。
137.在一个示例中,目标文本为“西单的那家海底捞附近有电影院吗?它的停车场在哪”,经过命名实体识别和意图识别后,确定出词元“海底捞”和“电影院”对应的信息槽均为“地址”,词元“它”对应的信息槽为“指代词”,目标文本对应的意图为“地址查询”,在根据各词元对应的信息槽和目标文本的意图识别目标指令的具体语义时,不能直接确定出指代词“它”对应的地址是“海底捞”还是“电影院”,此时,可以输出歧义消除请求,例如,指令识别装置可以以声音或文字的方式输出歧义消除请求,例如输出“您好,请问它指的是海底捞,还是电影院?”。用户收到该歧义消除请求后,向指令识别装置输入歧义消除信息,从而使指令识别终端能够明确上述“同一个信息槽”对应的具体是哪一个词元,进而可以根据意图和每个信息槽对应的词元,识别目标指令,以针对目标指令作出相应的应答。
138.在一些实施例中,步骤s40之后还包括:
139.s50、在接收到用户输入的识别纠正信息时,根据识别纠正信息和目标指令,对第一模型和第二模型的参数更新。
140.可以理解的是,第一模型和第二模型是训练得到的,当利用训练好的第一模型和第二模型识别出目标指令并作出相应应答之后,如果用户认为出现指令识别错误(即第二模型的实际输出结果有误),则可以向指令识别装置输入识别纠正信息,该识别纠正信息可以包括第二模型的目标输出结果,以供目标识别装置根据识别纠正信息和目标指令,对第一模型和第二模型的参数进行更新。
141.基于同一发明构思,本公开实施例还提供一种自然语言训练模型的训练方法,本实施例所示的自然语言处理模型的训练方法可以适用于终端,也可以适用于服务器,其中,所述终端包括但不限于手机、平板电脑、可穿戴设备、个人计算机等电子设备,所述服务器包括但不限于本地服务器、云端服务器等。通过自然语言训练模型的训练方法,可以得到上述目标识别方法中所使用的第一模型和第二模型。
142.图8为本公开的一些实施例中提供的自然语言训练模型的训练方法示意图,如图8所示,所述自然语言训练模型的训练方法包括以下步骤:
143.s100、获取第一语料库,第一语料库中包括多个第一样本文本。
144.s200、将第一样本文本的各个词元输入第一初始模型进行训练,得到第一中间模型;其中,所述第一初始模型包括至少一个自注意力模型。
145.s300、获取第二语料库,所述第二语料库中包括多个第二样本文本。
146.其中,第一语料库中的第一样本文本的数量大于第二语料库中的第二样本文本的数量。
147.s400、将所述第二样本文本的各个词元输入整体模型进行微调训练,其中,所述整体模型包括所述第一中间模型和第二初始模型,经过微调训练后的整体模型中包括:对应于所述第一中间模型的第一模型和对应于所述第二初始模型的第二模型;
148.其中,所述第二初始模型用于:对第二样本文本进行意图识别和命名实体识别,确定第二样本文本所对应的意图、以及第二样本文本的各个词元所对应的信息槽。
149.在一些实施例中,第二初始模型位于第一中间模型之后,步骤s400具体可以包括:将第二样本文本的各个词元输入第一中间模型,得到各个词元的样本嵌入向量;之后,将各个词元的样本嵌入向量输入第二初始模型,并根据第二初始模型的输出结果对上述整体模型进行微调训练,其中,在对整体模型进行微调训练时,可以只对第二初始模型进行微调训练,也可以同时对第一中间模型和第二初始模型进行微调训练。当只对第二初始模型进行微调训练时,则第一中间模型和第一模型相同。
150.上述训练过程中,预训练过程通过大量语料库和多任务学习,使第一中间模型能够更好地学习到通用的语法语义知识,形成泛化性较好的通用模型。在得到第一中间模型后,还可以根据具体的应用场景构建微调训练过程,对于微调训练的训练样本,可以根据应用场景获得相比于预训练样本集(即第一语料库)较小的目标样本集(即第二语料库),微调训练的训练模型可以是在训练好的第一中间模型基础上增加第二初始模型作为整体模型进行训练,从而更准确的适应具体应用场景的需求。预训练+微调的训练方式是一种迁移学习的应用,具备很好的可扩展性。由于预训练模型具有很好的泛化能力,在进行新应用场景的模型训练时,可以沿用训练好的预训练模型参数进行初始化,对整体模型进行微调即可得到较好的训练效果。
151.在一些实施例中,第一初始模型还包括:嵌入层,用于对第一样本文本的多个词元进行嵌入操作,得到每个所述词元的初始嵌入向量。
152.所述第一初始模型中的自注意力模型与包括:至少一个第一自注意力模型,所述至少一个第一自注意力模型用于对每个词元的初始嵌入向量进行特征提取,得到每个词元的中间嵌入向量。其中,每个所述第一自注意力模型包括第一自注意力层。
153.在一些实施例中,第一自注意力模型还包括:第一残差网络、第一前馈神经网络层、第二残差网络。
154.第一残差网络的输入包括所述第一自注意力层的输入和所述第一自注意力层的输出。
155.第一前馈神经网络层的输入包括所述第一残差网络的输出;
156.第二残差网的输入包括所述第一前馈神经网络层的输出以及所述第一残差网络的输出。
157.其中,第一残差网络层和第二残差网络层的具体计算过程均可以包括叠加和归一化(add&norm)。
158.在一些实施例中,第一自注意力层的输入可以包括第一自注意力模型的输入,另外,还可以确定词元的位置编码positional encoding,然后将位置编码特征和第一自注意力模型的输入叠加后输入第一自注意力层。
159.在一些实施例中,第一自注意力层具体被配置为执行以下操作:
160.对输入与训练矩阵进行相乘操作,得到第一词向量矩阵、第二词向量矩阵和第三词向量矩阵;其中,矩阵相乘也可以是与矩阵的转置相乘,可根据实际情况进行调整,在此不作限定。
161.将第一词向量矩阵和第二词向量进行相乘操作,得到第四词向量矩阵;
162.对第四词向量矩阵进行归一化处理得到第五词向量矩阵;
163.基于第五词向量矩阵对第三词向量矩阵进行加权求和,得到第六词向量矩阵;
164.对第六词向量矩阵进行归一化处理得到第七词向量矩阵;
165.基于第七词向量矩阵对第三词向量矩阵进行加权求和,得到第八词向量矩阵。
166.在一些实施例中,所述第一初始模型中的自注意力模型还包括:位于所述至少一个第一自注意力模型之后的至少一个第二自注意力模型,所述至少一个第二自注意力模型用于对其输入进行特征提取,生成每个词元的嵌入向量;其中,每个所述第二自注意力模型包括第二自注意力层,所述第二自注意力层的输入维度小于所述第一自注意力层的输入维度。其中,每个第二自注意力模型包括第二自注意力层,第二自注意力层的计算过程可以与第一自注意力层的计算过程相同,这里不再赘述。
167.在一些实施例中,第一初始模型还包括:维度转换层,位于至少一个第一自注意力模型和所述至少一个第二自注意力模型之间,用于对其输入进行维度转换,并将维度转换后的输出结果作为所述至少一个第二自注意力模型的输入。
168.在一些实施例中,所述第一自注意力模型和所述第二自注意力模型的数量随语料库中第一样本文本的数量等级的增加而增加。
169.需要说明的是,第一样本文本的数量等级用于表示第一样本文本的数量的多少,数量等级越高,第一样本文本的数量越多;但是,第一样本文本的数量越多,对应的数量等级并不一定越高。
170.在一个示例中,第一语料库中,当第一样本文本的数量小于1g时,则数量等级为1,此时,第一自注意力模型和第二自注意力模型的数量均设置为6。当第一样本文本的数量在[1g,10g]范围内时,则数量等级为2,此时,第一自注意力模型和第二自注意力模型的数量均设置为12。当第一样本文本的数量在(10g,100g]范围内时,则数量等级为3,此时,第一自注意力模型和第二自注意力模型的数量均设置为24。第一样本文本的数量在(100g,1t]范围内时,则数量等级为4;此时,第一自注意力模型和第二自注意力模型的数量均设置为36。第一样本文本的数量大于1t时,则数量等级为5,此时,第一自注意力模型和第二自注意力模型的数量均设置为48。
[0171]
在一些实施例中,对第一初始模型的训练过程可以包括掩码mask过程,掩码过程可以理解为对第一样本文本中的一个或多个词元掩码(将该词元用[mask]替代)后得到初始化文本向量,在预训练任务中进行预测训练,即让模型根据没有被掩码的词元(上下文)预测被掩码的词元最终得到训练好的文本向量,而训练好的文本向量中对应mask位置的向量表示融合了该词元以及上下文的含义,能够更准确的表示文本含义。
[0172]
在一些实施例中,第二初始模型具体用于:
[0173]
根据预设的窗口尺寸对所有词元的嵌入向量进行分组,并将同一组中的词元的处理结果进行拼接,得到拼接特征信息;
[0174]
根据每一组词元的拼接特征信息,对所述第二样本文本进行意图识别和命名实体识别,确定所述第二样本文本所对应的意图、以及第二样本文本的各个词元所对应的信息槽。
[0175]
其中,第二初始模型具体可以包括双向神经网络和分类网络,分类网络例如为mlp网络,双向神经网络例如为bi-gru网络。
[0176]
图9为本公开的一些实施例中提供的指令识别装置的示意图,其中,例如,装置100可以是终端,例如移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务器。
[0177]
参照图9,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,输入/输出(i/o)的接口112,以及通信组件116。
[0178]
处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件102可以包括一个或多个处理器120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,以方便多媒体组件108和处理组件102之间的交互。
[0179]
存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0180]
电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。
[0181]
多媒体组件108包括在所述装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件108包括一个前置摄像头和/或后置摄像头。当装置100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0182]
音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(mic),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。
[0183]
i/o接口112为处理组件102和外围接口模块之间提供接口,上述外围接口模块可
以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0184]
通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如wifi,2g或3g,4g lte、5g nr或它们的组合。在一个示例性实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件116还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0185]
在示例性实施例中,装置100可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0186]
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的指令识别方法或自然语言模型的训练方法。例如,计算机可读存储介质可以包括平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、光盘只读存储器(cd-rom)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
[0187]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
[0188]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0189]
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1