操作执行方法、装置、电子设备和存储介质与流程

文档序号:28300526发布日期:2021-12-31 23:40阅读:96来源:国知局
操作执行方法、装置、电子设备和存储介质与流程

1.本技术属于语义识别技术领域,具体涉及一种操作执行方法、装置、电子设备和存储介质。


背景技术:

2.随着科学技术的发展,电子设备越来越智能化,用户在使用智能电子设备的过程中,往往可通过输入一些短文本的指令给电子设备,电子设备对该文本进行语义理解后作出相应决策并给出回应。例如,手机的语音助手,可通过接收用户的语音指令完成智能交互。如何准确地理解用户输入的短文本指令,成为一个亟待解决的问题。
3.目前,现有的语义理解模型只能对收音和发音准确的文本进行识别和语义理解,而对于收音或方言发音不准确导致的自动语音识别(automatic speech recognition,asr)错误,往往会导致语义理解失败,从而无法执行相应的操作。


技术实现要素:

4.本技术实施例的目的是提供一种操作执行方法、装置、电子设备和存储介质,能够解决现有技术中由于收音或方言发音不准确而导致语义理解失败,无法执行相应的操作的问题。
5.第一方面,本技术实施例提供了一种操作执行方法,该方法包括:
6.接收用户的第一输入;
7.响应于所述第一输入,将第一文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成所述第一文本的初始向量;其中,所述第一文本为与所述第一输入对应的文本;
8.基于场景分类模块,对所述初始向量进行深度编码和维度转换,得到第一场景类型;
9.基于所述第一场景类型对应的意图识别模块和槽位提取模块,对所述初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息;
10.根据所述第一意图信息和所述第一槽位信息,执行与所述第一输入对应的操作。
11.第二方面,本技术实施例提供了一种操作执行装置,该装置包括:
12.输入接收模块,用于接收用户的第一输入;
13.向量获取模块,用于响应于所述第一输入,将第一文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成所述第一文本的初始向量;其中,所述第一文本为与所述第一输入对应的文本;
14.场景分类模块,用于基于场景分类模块,对所述初始向量进行深度编码和维度转换,得到第一场景类型;
15.识别提取模块,用于基于所述第一场景类型对应的意图识别模块和槽位提取模块,对所述初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息;
16.操作执行模块,用于根据所述第一意图信息和所述第一槽位信息,执行与所述第一输入对应的操作。
17.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
18.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
19.第五方面,本技术实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
20.在本技术实施例中,通过在接收到用户的第一输入的情况下,除了提取第一输入对应的第一文本中每个字符分别对应的词向量和位置向量之外,还提取了每个字符的声调向量,进而基于这些向量相加形成的第一文本的初始向量,进行场景分类、意图识别和槽位提取,以识别第一文本的语义,并执行与第一输入对应的操作。这样,本技术实施例由于在生成第一输入对应的第一文本的初始向量时,加入了声调向量,因此,即使在asr有误的情况下,也能提取语句中的重要信息,做到准确的语义理解,从而可以提高语义理解的容错能力,避免由于收音或方言发音不准确而导致语义理解失败,无法执行相应的操作的问题。
附图说明
21.图1是根据一示例性实施例示出的操作执行方法的流程图之一;
22.图2是根据一示例性实施例示出的操作执行方法应用场景的架构图;
23.图3是根据一示例性实施例示出的语料对比示意图;
24.图4是根据一示例性实施例示出的操作执行方法的流程图之二;
25.图5是根据一示例性实施例示出的基于ktm训练方式字符预测场景的示意图;
26.图6是根据一示例性实施例示出的初始向量生成示意图;
27.图7是根据一示例性实施例示出的rosita模型训练结构的示意图;
28.图8是根据一示例性实施例示出的模型预训练方法的流程图;
29.图9是根据一示例性实施例示出的操作执行装置的结构框图;
30.图10是根据一示例性实施例示出的一种电子设备的结构框图;
31.图11为实现本技术实施例的一种电子设备的硬件结构示意图。
具体实施方式
32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本技术保护的范围。
33.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可
以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
34.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的操作执行方法进行详细地说明。
35.本技术所提供的操作执行方法,可以应用于基于语音识别的操控场景中,例如用户通过语音助手的对电子设备进行操控的场景。
36.目前,在上述场景中,经常会存在一些由于收音或者方言发音导致的自动语音识别(automatic speech recognition,asr)错误,例如“打开应约播放器播放由三念”,实际应该是“打开音乐播放器播放游山恋”。因为通过原始文本无法获取app名称和播放实体,给场景分类及后续的语义理解造成障碍。
37.针对上述问题,本技术实施例提供了一种操作执行方法,也即,接收用户的第一输入;响应于第一输入,将第一文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成第一文本的初始向量;其中,第一文本为与第一输入对应的文本;基于场景分类模块,对初始向量进行深度编码和维度转换,得到第一场景类型;基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息;根据第一意图信息和第一槽位信息,执行与第一输入对应的操作。
38.这样,本技术实施例由于在生成第一输入对应的第一文本的初始向量时,加入了声调向量,因此,即使在asr有误的情况下,也能提取语句中的重要信息,做到准确的语义理解,从而可以提高语义理解的容错能力,避免由于收音或方言发音不准确而导致语义理解失败,无法执行相应的操作的问题。
39.本技术实施例提供的操作执行方法,执行主体可以为操作执行装置,或者该操作执行装置中的用于执行操作执行方法的控制模块。该操作执行装置可以是服务器,也可以是终端设备,在此不做限定。本技术实施例中以操作执行装置执行操作执行方法为例,说明本技术实施例提供的操作执行方法。
40.图1是根据一示例性实施例示出的一种操作执行方法的流程图。
41.如图1所示,该操作执行方法可以包括如下步骤:
42.s110、接收用户的第一输入。
43.这里,第一输入可以是语音输入,也可以是文本输入,在此不做限定。
44.s120、响应于第一输入,将第一文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成第一文本的初始向量;其中,第一文本为与第一输入对应的文本。
45.这里,在第一输入为语音输入的情况下,第一文本可以是对第一输入进行语音识别后得到的文本。初始向量可以是根据该识别出的第一文本提取的能够表征该文本内容的初始的特征向量。
46.本技术实施例中,可在特征提取的过程中,融入声调信息,如此,可提高模型对该输入文本的容错能力。例如,对于“打开手机”这条输入文本,首先可针对文本中的每个字分别获取对应的词向量、位置向量和声调向量,再将每个字分别对应的词向量、位置向量和声调向量相加,形成该第一文本的初始向量。
47.示例性地,以利用场景分类模块进行场景分类为例,在场景分类过程中,经常会有
一些asr错误的文本而导致的场景分类错误。例如,对于文本“打开应约播放器播放由三念”,因为有“打开”和“播放”这些关键词,生成的最终的概率分布可能是{手机功能:0.1,音乐:0.2,电台:0.3,视频0.3,...}。因此很可能被错分到电台或者视频场景,而非音乐场景。而在文本语义识别过程中通过融入声调信息,就可以提高识别系统的容错能力,避免这类错误的发生:“应约播放器”和“音乐播放器”,“由三念”和“游山恋”的声调向量几乎一致,加入声调信息后,该两个文本对应的初始向量趋同的可能性较大,正确的输入和asr错误的输入就会有类似概率分布,从而可得到相同的预测结果,起到了纠错的效果。将带有asr错误的query输入至场景分类模块进行场景分类后,可以正确的分类到音乐场景。
48.s130、基于场景分类模块,对初始向量进行深度编码和维度转换,得到第一场景类型。
49.这里,场景分类模块可以是使用场景分类功能对应的训练数据,对预训练模型进行微调训练后,得到的具有场景分类功能的模块。该场景分类模块可用于对文本进行场景分类。
50.其中,预训练模型可以是经预训练得到的模型。该预训练模型例如可以是经预训练的bert(bidirectional encoder representation from transformers,基于转换器的双向编码表征)模型,当然,也可以是在bert模型的基础上针对短文本领域进行优化后的模型,也即,本技术实施例设计的rosita(oral short text by voice assistant tapt,基于语音助手领域适应口语短文本)模型。
51.另外,本技术实施例所涉及的场景分类模块中可包括编码器和全连接层。其中,编码器用于对初始向量进行深度编码,全连接层用于对深度编码后得到的编码向量进行维度转换。编码器中可包括一个或多个编码层,例如采用12层的transformer encoder作为编码器。
52.在一个具体例子中,将输入文本“打开手机”对应的初始向量输入至基于rosita的场景分类模块,通过12层堆叠的transformer encoder层对语义进行深度编码,生成编码向量,再通过rosita模型微调时训练得到的全连接层feed forward进行维度的转化,生成对应的概率分布。假如,共有5个场景,即有对应5个场景的概率分布{手机功能:0.6,音乐:0.2,视频0.1...},最终选择概率最大的手机功能场景作为预测得到的场景类型,也即第一场景类型。
53.s140、基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息。
54.这里,不同的场景类型可对应有不同的意图识别模块和槽位提取模块。示例性地,可根据不同场景类型下的意图识别功能对应的训练数据,对上述涉及的预训练模型进行微调训练,得到意图识别模块,以及,根据不同场景类型下的槽位提取功能对应的训练数据,对上述涉及的预训练模型进行微调训练,得到槽位提取模块。
55.其中,意图识别模块可用于对文本的意图进行识别,槽位提取模块可用于对文本中的槽位信息进行提取。
56.另外,本技术实施例所涉及的意图识别模块和槽位提取模块中也可包括编码器和全连接层,由于在微调训练时使用的是上述涉及的场景分类模块所使用的预训练模型,因此,这三个模块的结构相同,在此不再赘述。
57.示例性地,意图识别模块可对输入的文本进行当前场景下的意图分类,例如在音乐场景的基于rosita的意图识别模块中,对于输入文本“播放青花瓷”,可将该输入文本对应的初始向量通过12层堆叠的transformer encoder层对文本语义进行深度编码,生成编码向量,再通过模型微调时重新训练得到的全连接层feed forward进行维度的转化,生成对应的概率分布{播放音乐:0.6,切换歌曲:0.2,...},其中,概率分布中包含的意图类别的个数和当前场景下的意图类别总个数相同,最终选择概率最大的播放音乐作为预测得到的意图类型,并将该意图类型对应的名称作为该输入文本的意图信息。
58.另外,在基于rosita的槽位提取模块中,例如“打开应约播放器播放由三念”这条输入文本,首先将文本对应的初始向量通过12层堆叠的transformer encoder层对语义进行深度编码,生成编码向量,再通过模型微调时重新训练得到的全连接层feed forward进行维度的转化,生成对应的编码向量,向量的长度和句长相同,维度大小等于槽位类型的个数,即“打”字对应的概率分布为{o(无槽位):0.7,歌手:0.1

},“开”字对应的概率分布为{o(无槽位):0.8,歌曲名:0.1

},

,“应”字对应的概率分布为{o(无槽位):0.2,app名:0.7

},“约”字对应的概率分布为{o(无槽位):0.2,app名:0.7

},

,“由”字对应的概率分布为{o(无槽位):0.1,歌曲名:0.7

},“三”字对应的概率分布为{o(无槽位):0.1,歌曲名:0.7

},“念”字对应的概率分布为{o(无槽位):0.1,歌曲名:0.7

}。选取概率最大的类型作为当前字的槽位输出,可以提取到“应约播放器”这个app名称槽位和“由三念”这个歌曲名槽位,然后可以根据简单的音调相似度进行纠错,纠正为“音乐播放器”和“游山恋”。也即,得到槽位信息为“app名称:音乐播放器”以及“歌曲名称:游山恋”。
59.s150、根据第一意图信息和第一槽位信息,执行与第一输入对应的操作。
60.本技术实施例中,在得到第一意图信息和第一槽位信息后,可通过第一意图信息和第一槽位信息,理解第一输入的文本语义,进而执行与该第一输入对应的操作,例如播放某个音乐、打开手机等。
61.这样,通过在接收到用户的第一输入的情况下,除了提取第一输入对应的第一文本中每个字符分别对应的词向量和位置向量之外,还提取了每个字符的声调向量,进而基于这些向量相加形成的第一文本的初始向量,进行场景分类、意图识别和槽位提取,以识别第一文本的语义,并执行与第一输入对应的操作。这样,本技术实施例由于在生成第一输入对应的第一文本的初始向量时,加入了声调向量,因此,即使在asr有误的情况下,也能提取语句中的重要信息,做到准确的语义理解,从而可以提高语义理解的容错能力,避免由于收音或方言发音不准确而导致语义理解失败,无法执行相应的操作的问题。
62.另外,在一种可选的实施方式中,在s130之后,本技术实施例提供的操作执行方法还可以包括:
63.基于第一场景类型对应的分类验证模块,对初始向量进行深度编码和维度转换,以验证第一输入的场景类型是否为第一场景类型,得到验证结果;
64.基于场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息,包括:
65.在根据验证结果,确定第一输入的场景类型为第一场景类型的情况下,基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息。
66.这里,分类验证模块可以是使用当前场景类型下对应的二分类训练数据,对上述涉及的预训练模型进行微调训练后生成的模块,该分类验证模块可用于对文本是否属于当前场景类型进行识别。另外,本技术实施例所涉及的分类验证模块中也可包括编码器和全连接层,由于在微调训练时使用的是上述涉及的三个模块所使用的预训练模型,因此,这四个模块的结构相同,在此不再赘述。
67.示例性地,可利用分类验证模块对被分类为第一场景类型的第一文本进行再次分类,判断该文本是否属于当前场景类型,判断是当前场景类型才会进行下一步意图识别和槽位提取操作。在基于rosita的分类验证模块中,例如对于“打开手机”这个输入的文本,可将文本对应的初始向量通过12层堆叠的transformer encoder层对文本语义进行深度编码,生成编码向量,再通过模型微调时重新训练得到的全连接层feed forward进行维度的转化,生成对应的概率分布{是手机功能场景:0.8,不是手机功能场景:0.2},选取概率最大的作为预测结果,也即,此时“打开手机”这个输入文本就会被确定为属于手机功能场景,进而继续进行下一步意图识别和槽位提取操作。
68.另外,在判定结果为确定第一文本不属于第一场景类型的情况下,可返回执行s130,重新对该第一文本进行场景类型的划分。
69.这样,通过利用分类验证模块,对已进行场景分类的文本再次进行场景分类确认,可以提高对文本的场景分类判定结果的准确性,从而防止对误分类数据的错误处理。
70.基于此,在一种可选实施方式中,上述涉及的对所述初始向量进行深度编码和维度转换,具体可以包括:
71.将初始向量进行深度编码,获得编码向量;
72.将编码向量进行维度转换,获得对应的概率分布;
73.根据概率分布,确定其中概率值最大的信息,为目标信息;
74.其中,目标信息为基于目标功能模块经上述操作步骤得到的信息,目标功能模块包括场景分类模块、意图识别模块、槽位提取模块和分类验证模块,目标信息包括第一场景类型、第一意图信息、第一槽位信息和验证结果。
75.本技术实施例所涉及的场景分类模块、意图识别模块、槽位提取模块和分类验证模块中,均可包括编码器和全连接层,其中,编码器可以是预训练模型经预训练和微调训练后得到的编码器,全连接层可以是预训练模型在微调训练过程中重新训练得到的与各自功能相适应的全连接层。
76.示例性地,可将文本对应的初始向量通过12层堆叠的transformer encoder层对文本语义进行深度编码,生成编码向量,再通过模型微调时重新训练得到的全连接层feed forward进行维度的转化,生成与各自功能对应的概率分布,进而从该概率分布中获取概率值最大的场景类型、意图信息、槽位信息或验证结果,作为最终输出的目标信息。
77.如此,通过基于不同的功能模块,分别进行深度编码和维度转换,以得到各自所需的信息,可提高模型的训练效率,从而无需从头开始训练具有不同功能的模块。
78.综合上述操作执行方法的各种实施方式,下面举一个具体例子,以更清楚地描述整个技术方案。
79.如图2所示,为本技术实施例提供的操作执行方法应用场景的架构图,其中:
80.场景分类是对用户输入的搜索词(query)进行分类,分类到对应的垂类。
81.二分类是对输入的垂类进行二分类,判断该query是否属于当前垂类,相当于是对场景分类的容错处理,以防止误分数据的错误处理。
82.各个垂类下的意图识别,是在当前所属的垂类下对query进行的意图分类,用于判断用户的意图。
83.各个垂类下的槽位提取是基于当前判断出的意图,提取意图所需的槽位。
84.最后,根据意图和槽位返回结果给用户。
85.例如,用户的query为“播放一首张三的离不开你”,场景分类模块会分到音乐垂类。音乐垂类的二分类模块判断当前query确实属于音乐垂类,然后进行意图识别和槽位提取。意图识别的结果是“播放歌曲”,槽位提取模块可根据“播放歌曲”这个意图所需的槽位,提取到“歌手名(张三)”和“歌曲名(离不开你)”。最终,向用户反馈张三的《离不开你》这首歌曲。
86.另外,在使用基于预训练模型进行微调训练得到的各个模块之前,还需要对初始模型进行预训练,以获取经训练的预训练模型。
87.其中,预训练模型可以是在bert模型的基础上针对短文本领域进行优化后的模型,也即,本技术实施例设计的rosita模型。
88.对于传统的bert模型,由于训练方式和训练语料的原因,使其在类似于语音助手的口语短文本领域对短文本的语义理解通常不太准确性,主要体现在以下几个方面:
89.在训练语料的使用方面,如图3所示,bert模型采用的训练语料是右侧用词规范正式、句长较长、上下文关联性强的句子。而语音助手的语料普遍偏短,句式较口语化,上下文关联性弱。如果直接将bert模型直接应用于语音助手场景,语料之间的差异会导致bert模型在使用时具有较大的精度损失。
90.在模型的训练方式方面,例如,在“播放一首张三的离不开你”这样一条文本中,传统的bert模型采用的是mlm(mask language model,掩码语言模型)的预训练方式,通过随机遮盖模型中的一些字,而这些字可能是对于整体语义贡献度不高的一些字且很好预测,例如,mlm的预训练方式中可能会遮盖“放”,而根据相邻的字符“播”,模型很容易就可以预测到“放”,因而,采用mlm的预训练方式训练得到的bert模型无法捕捉长距离的语义依赖特征。又如,在文本“张三观看了网球比赛”中,实际应该是网球场景,但是因为张三这个歌手名很容易被模型错分为音乐场景,而无法捕捉张三、网球、比赛三者的关系,造成语义理解的偏差。另外,由于模型训练过程中,每个训练样本仅对应一个样本标签,且仅有一个训练任务,因此,在一定程度上限制了模型的鲁棒性。
91.针对上述问题,本技术实施例提供了一种预训练模型的训练方式,即,根据用户历史查询日志,获取多个语料及其分别对应的场景信息、意图信息和槽位信息;识别每个语料对应的原始文本中包含的至少一个关键词;对至少部分所述关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本;其中,所述目标字符为所述关键词中的部分字符;以所述目标字符为第一样本标签,所述场景信息对应的场景类型和所述意图信息对应的意图类型为第二样本标签,所述槽位信息对应的槽位类型为第三样本标签,为每个语料分别对应的模型输入文本添加三个样本标签,得到多个训练样本;使用所述多个训练样本训练初始模型,得到预训练模型;其中,所述初始模型对应的训练任务包括第一训练任务、第二训练任务和第三训练任务,所述第一训练任务对应于所述第一样本标签,所述第二
训练任务对应于所述第二样本标签,所述第三训练任务对应于所述第三样本标签;根据目标模块功能对应的训练数据对所述预训练模型进行微调训练,得到具有所述目标模块功能的目标功能模块;其中,所述目标模块功能包括场景分类功能、意图识别功能、槽位提取功能和分类验证功能。
92.这样,一方面,通过根据用户历史查询日志中的短文本语料及其对应的场景信息、意图信息和槽位信息构建训练样本,其中,一个训练样本中包含有三个样本标签,采用第一训练任务的自监督训练,与第二训练任务和第三训练任务的有监督训练相结合的方式进行多任务联合训练,如此,可以在贴合基于语音识别的短文本语义理解这个应用场景的同时,增强模型的鲁棒性。
93.另一方面,本技术实施例还通过针对每个语料的原始文本中对于模型预测结果贡献度高的关键词,对其中的目标字符进行替换,相较于传统训练方式中随机遮盖任意字符进行模型预测的方式,本技术实施例可以更准确地捕捉语义之间的依赖关系,使得预训练模型的训练效果更好,更容易捕捉短文本的语义,从而可以在提高模型鲁棒性的同时提升模型的语义理解效果。
94.基于此,在其中一种可能的实施例中,如图4所示,在s110之前,本技术实施例提供的操作执行方法还可以包括:s410

s460,具体步骤如下所示:
95.s410、根据用户历史查询日志,获取多个语料及其分别对应的场景信息、意图信息和槽位信息。
96.本技术实施例中,在进行模型预训练之前,可首先根据用户历史查询日志构建进行模型预训练时需要使用的训练样本。其中,用户历史查询日志可以是以用户历史输入对应的文本进行资源查询时所记录的日志,该日志中可包括多个语料,一个语料包含用户历史输入的一个文本。其中,用户历史输入可以是语音输入,也可以是文字输入,在此不作限定。
97.另外,场景信息可以是语料内容所属的场景类型信息,例如,对于“播放一首张三的离不开你”这个语料,对应的场景信息可以是音乐场景,而对于“调低手机音量”这个语料,对应的场景信息可以是手机功能场景。
98.意图信息可以是表征语料意图的类型信息,其与场景信息相关,例如在音乐场景中,“播放一首张三的离不开你”可以是播放歌曲意图,“切换下一首”可以是切换歌曲意图。其中,不同的场景类型下可包含不同的意图类型,当然,不同的场景类型下也可包含相同的意图类型,在此不作限定。
99.槽位信息可以是设备需要向用户收集的关键信息,而填槽则是收集用户信息的过程,是用户将模糊或缺失的意图补全的过程,而槽位词就是用户表达的具体关键信息。例如,“播放一首张三的离不开你”中包含了两个槽位信息,一个是“歌手名:张三”,一个是“歌曲名:离不开你”。
100.在一个具体例子中,可通过线上的日志获取相关数据,其中可包括大量的用户输入的query对应的原始文本,以及每个query分别对应的场景信息、意图信息和槽位信息,当然还可包括语义解析过程中所需的其他相关信息。
101.s420、识别每个语料对应的原始文本中包含的至少一个关键词。
102.这里,可将原始文本中的实体词和槽位词作为关键词,因此,可通过识别原始文本
中的实体词和槽位词,获取该文本对应的关键词。
103.示例性地,在对原始文本中的至少一个关键词进行识别之前,可先对从日志中获取的语料进行清洗、去重等预处理操作。然后,针对清洗后的语料,进行槽位词和实体词的标注,确定该语料对应的原始文本中的槽位词和实体词。
104.s430、对至少部分关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本;其中,目标字符为关键词中的部分字符。
105.本技术实施例中主要采用ktm(key token mask,关键词令牌掩码)的方式进行预训练模型的训练,其中,ktm是基于本技术实施例的rosita模型而提出的预训练方式,也即,有选择地遮盖语料中关键词中的某些字符,然后让模型预测。
106.对于本技术实施例提出的ktm的训练方式,具体地,可针对所有关键词中的部分或全部关键词进行字符替换,其中,每个关键词中进行字符替换的字符数小于该关键词包含的字符总数。由于字符替换比例一般为句长的15%,这样可以避免由于字符替换比例与句长限制之间的矛盾导致的关键词覆盖率较低的问题,尽量保证所有关键词都能够有字符被替换,同时,也可以避免由于完全替换关键词中包含的所有字符而出现的槽位开放性的问题。
107.由此,相较于现有技术中的mlm的预训练方式,本技术实施例提出了一种更有效的ktm方式,通过先识别数据中的关键词,然后再替换关键词中的字,这样可以在增大训练任务的同时,迫使模型学到整句话中的语义依赖关系。如图5所示,通过日志可以识别到人名实体“张三”和歌曲实体“离不开你”,如果选择处理“张三”,然后随机替换“三”这个字,那么在存在人名张二、张三、张四的情况下,可能的预测结果有“二”(张二),“三”(张三),“四”(张四),通过前面的“播放一首”,可以大概率知道当前人名是一个歌手,因此,在只有张三和张四是歌手的情况下,可以排除“二”。再根据后面的歌曲名“离不开你”,可以确定当前字是“三”。这样,通过训练,模型就可以学到语义信息之间的依赖关系,与此同时,整个ktm预训练方式和下游实际应用场景相结合,通过关注文本中对于结果贡献度较高的关键词,捕捉语义之间的依赖关系,提升了模型的训练效果以及训练后的模型对短文本的语义理解效果。
108.在其中一种可选的实施方式中,上述s430具体可以包括:
109.使用预设掩码字符,对至少部分关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本。
110.这里,预设掩码字符例如可以是符号[mask]。示例性地,可通过符号[mask]替换每个关键词中待替换的目标字符,以遮盖目标字符,得到经字符遮盖后的文本,也即该语料对应的模型输入文本。其中,目标字符可以是从对应关键词中随机选取的一个或多个字符。
[0111]
在一个具体例子中,对于语料“播放一首张三的离不开你”,关键词为“张三”和“离不开你”,可在每个关键词中随机选取其中一个字进行替换,例如对“张三”中的“三”进行替换,对“离不开你”中的“离”进行替换,进而可得到该语料对应的模型输入文本“播放一首张[mask]的[mask]不开你”。
[0112]
这样,通过使用预设掩码字符对至少部分关键词中的目标字符进行字符替换,可以使预训练模型在训练过程中预测被预设掩码字符替换的原始字符,进而能够在增大模型训练难度的同时,迫使模型学习关键词之间的语义依赖特征,从而提高预训练模型的训练
效果。
[0113]
除了上述使用预设掩码字符进行字符替换的方式之外,还可以根据与关键词相似的字词,对其中不相同的目标字符进行替换。在另一种可选的实施方式中,上述s430具体可以包括:
[0114]
对至少部分关键词中的每个关键词执行如下操作步骤,得到每个语料分别对应的模型输入文本:
[0115]
获取与关键词相似的目标字词;
[0116]
根据目标字词,对关键词中的目标字符进行字符替换。
[0117]
这里,目标字符可以是关键词中与目标字词不相同的一个或多个字符。其中,目标字词可以是关键词的近义词或相似度超过预设阈值的词,在此不作限定。
[0118]
在一个具体例子中,对于语料“播放一首张三的离不开你”,关键词为“张三”和“离不开你”,与关键词“张三”相似的字词例如可以是“张四”,与关键词“离不开你”相似的字词例如可以是“放不开你”,如此,可将“张三”中的“三”替换为“四”,将“离不开你”中的“离”替换为“放”,进而可得到该语料对应的模型输入文本“播放一首张四的放不开你”。
[0119]
这样,通过采用相似词替换的方式,可以避免预训练和下游任务的字符替换不匹配的问题的同时,增大预训练任务难度,提升模型表示学习的能力。
[0120]
s440、以目标字符为第一样本标签,场景信息对应的场景类型和意图信息对应的意图类型为第二样本标签,槽位信息对应的槽位类型为第三样本标签,为每个语料分别对应的模型输入文本添加三个样本标签,得到多个训练样本。
[0121]
这里,在构建训练样本的过程中,可为每个训练样本中的语料分别添加三个样本标签,以构造得到三种预训练任务分别对应的训练样本。不同的训练任务可对应添加有不同样本标签的训练样本。
[0122]
示例性地,本技术实施例提供的rosita模型可包含三个训练任务,分别为ktm对应的预测任务、意图识别任务和ner(named entity recognition,命名实体识别)任务,这三个任务的模型输入文本是一样的,只是由于训练任务的不同,添加的样本标签会有区别。例如,ktm对应的预测任务预测的是被替换的字符对应的字,因此,可使用被替换的原始字符作为预测标签;特定场景下的意图识别任务用于对整个模型输入文本进行意图分类,从而可以得到更细粒度的分类表示信息,因此,使用对应场景下该文本的意图类别作为预测标签;ner任务对输入文本进行实体识别,因此,标记出输入文本中每个字的实体类别(也即槽位类别)作为预测标签,不是实体的字则用字符“o”代替。
[0123]
s450、使用多个训练样本训练初始模型,得到预训练模型;其中,初始模型对应的训练任务包括第一训练任务、第二训练任务和第三训练任务,第一训练任务对应于第一样本标签,第二训练任务对应于第二样本标签,第三训练任务对应于第三样本标签。
[0124]
这里,初始模型可以是未经训练的rosita模型,相应地,预训练模型可以是经训练后的rosita模型。其中,第一训练任务可以是上述涉及的ktm对应的预测任务,该训练任务可利用训练样本的第一样本标签进行模型训练;第二训练任务可以是上述涉及的意图识别任务,该训练任务可利用训练样本的第二样本标签进行模型训练;第三训练任务可以是上述涉及的ner任务,该训练任务可利用训练样本的第三样本标签进行模型训练。
[0125]
本技术实施例中采用了自监督和有监督相结合的模型训练方式,进行多任务的联
合训练。其中,针对ktm对应的预测任务,采用的是自监督的模型训练方式;针对意图识别任务和ner任务,采用的是有监督的模型训练方式。
[0126]
另外,在槽位提取任务,也即ner任务中,由于在模型的预训练过程中加入了本技术实施例提出的ktm对应的预测任务,以及ner任务,使得模型学习到长距离特征依赖的同时,对于槽位值的边界感更强。
[0127]
s460、根据目标模块功能对应的训练数据对预训练模型进行微调训练,得到具有目标模块功能的目标功能模块;其中,目标模块功能包括场景分类功能、意图识别功能、槽位提取功能和分类验证功能。
[0128]
这里,使用场景分类功能对应的训练数据,对预训练模型进行微调训练,可得到具有场景分类功能的场景分类模块;使用特定场景类型中意图识别功能对应的训练数据,对预训练模型进行微调训练,可得到与特定场景类型对应的具有意图识别功能的意图识别模块;使用特定场景类型中槽位提取功能对应的训练数据,对预训练模型进行微调训练,可得到与特定场景类型对应的具有槽位提取功能的槽位提取模块;使用特定场景类型中分类验证功能对应的训练数据,对预训练模型进行微调训练,可得到与特定场景类型对应的具有分类验证功能的槽位提取模块。
[0129]
这样,一方面,通过在预训练模型的预训练过程中依托下游任务中丰富的结构化数据,以用户历史查询日志中各语料在下游实际应用场景下的意图信息和槽位信息为样本标签,采用第一训练任务的自监督训练,与第二训练任务和第三训练任务的有监督训练相结合的方式进行多任务联合训练,如此,可以在贴合下游应用场景的同时,增强模型的鲁棒性。另一方面,本技术实施例还通过关注原始文本中对于模型预测结果贡献度高的关键词,对关键词中的目标字符进行替换,以使预训练模型预测该替换字符对应的原始字符,相较于mlm中随机遮盖任意字符进行模型预测的方式,本技术实施例可以更准确地捕捉语义之间的依赖关系,使得预训练模型的训练效果更好,更容易捕捉短文本的语义,从而可以在提高模型鲁棒性的同时提升模型的语义理解效果。
[0130]
此外,声调信息的加入也可以增强模型对于特殊发音槽位的敏感性。例如,对于用户带有方言的语音输入“打开音乐播放器播放游山恋”,app槽位经常会被误识别成“应约播放器”以及“由三念”。在一种可选的实施方式中,上述s450具体可以包括:
[0131]
针对每个训练样本,将模型输入文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成模型输入文本的初始向量;
[0132]
根据与多个训练样本分别对应的模型输入文本的初始向量,训练初始模型,得到预训练模型。
[0133]
这里,可在预训练模型的训练过程中,融入字符的声调信息,如图6所示,可针对文本中的每个字符,分别获取其对应的词向量、位置向量和声调向量,并将这三种向量相加后形成文本的初始向量表示,也即,该样本对应的初始向量。将该初始向量作为输入向量,输入至初始模型中进行模型的预训练,得到预训练模型。
[0134]
如此,通过在模型预训练过程汇总融入声调信息,可以在asr有误的情况下,也能提取语句中的重要信息,做到准确的语义理解,从而提高模型的纠错能力。另外,通过在模型的预训练过程中融入声调信息,由于预训练语料相比一般模型训练语料更大,且预训练模型结构更复杂,因此可以学习到更通用的特征,具备一定的迁移能力,迁移至其他任务
时,就无需从头开始训练模型。
[0135]
在一种可选的实施方式中,初始模型中可以包括至少一个编码层、第一全连接层、第二全连接层和第三全连接层;其中,第一全连接层对应于第一训练任务,第二全连接层对应于第二训练任务,第三全连接层对应于第三训练任务。
[0136]
基于此,上述根据与多个训练样本分别对应的模型输入文本的初始向量,训练初始模型,得到预训练模型,具体可以包括:
[0137]
对多个训练样本中的各个训练样本执行如下操作步骤,直至初始模型收敛,得到预训练模型:
[0138]
将训练样本对应的模型输入文本的初始向量输入至至少一个编码层,利用至少一个编码层对模型输入文本的初始向量进行深度编码,输出得到编码向量;
[0139]
将编码向量分别输入至第一全连接层、第二全连接层和第三全连接层,利用第一全连接层、第二全连接层和第三全连接层分别对编码向量进行维度转化,得到第一全连接层输出的第一向量、第二全连接层输出的第二向量和第三全连接层输出的第三向量;
[0140]
根据第一向量确定预测字符,根据第二向量确定预测场景下的意图类型,以及根据第三向量确定预测槽位类型;
[0141]
基于第一训练任务,根据预测字符和第一样本标签,确定第一损失值,基于第二训练任务,根据预测场景下的意图类型和第二样本标签,确定第二损失值,以及,基于第三训练任务,根据预测槽位类型和第三样本标签,确定第三损失值;
[0142]
根据第一损失值、第二损失值和第三损失值,计算模型损失值;
[0143]
根据模型损失值,调整初始模型的模型参数。
[0144]
这里,本技术实施例提供的初始模型rosita可由编码器和三个训练任务分别对应的全连接层构成。其中,编码器中可包括一个或多个编码层,例如采用12层的transformer encoder作为编码器。
[0145]
示例性地,如图7所示,模型训练过程如下:原始文本通过ktm的mask机制生成模型输入文本,针对文本当中的每个字分别获取对应的词向量,位置向量和声调向量后相加形成文本的初始向量。将初始向量表示通过12层堆叠的transformer encoder层对语义进行深度编码,生成编码向量。编码向量分别经过三个全连接层feed forward进行维度的转化,每个feed forward对应一个训练任务进行训练。
[0146]
具体地,最后一层transformer encoder的输出向量经过ktm对应的预测任务的feed forward后可输出得到一个向量表示,也即第一向量,该向量表示的长度和原始文本的句长相等,维度大小等于词表的大小,相当于每个位置字的输出会对应一个词表大小的概率分布。针对被替换的字符位置处,选取概率最大的字符作为当前位置的预测字符。再根据该预测字符和实际的字符标签计算损失,将每个被替换的字符位置处的损失进行求和处理,作为总的ktm损失值,也即第一损失值。
[0147]
另外,最后一层transformer encoder的输出向量经过意图识别任务的feed forward后,可得到一个向量表示,也即第二向量,该向量表示的长度和原始文本的句长相等,维度大小等于所有意图类型的个数。选取向量表示中任意一个字符(例如第一个字符)对应的向量做意图分类,得到的预测场景下的意图类型。再根据该意图类型与实际的类型标签计算损失,得到意图分类的损失值,也即第二损失值。
[0148]
除此之外,最后一层transformer encoder的输出向量经过ner任务的feed forward后,也可得到一个向量表示,也即第三向量,该向量表示的长度和原始文本的句长相等,维度大小等于所有槽位类型的个数。对每个位置的字符预测对应的槽位类型,得到预测的槽位类型。再根据该槽位类型和实际的类型标签计算损失,将每个字符的损失进行求和处理,作为总的ner损失,也即第三损失值。
[0149]
最后,利用如下公式计算模型的总损失值,也即模型损失值:
[0150]
模型的总损失值=第一损失值+第二损失值+第三损失值
[0151]
计算得到模型损失值后,根据模型损失值求梯度进行模型的参数更新。同时,在模型训练过程中对模型进行验证,若验证效果达标,也即,模型收敛,则训练结束;若验证效果不达标,则继续训练。
[0152]
如此,通过上述模型训练过程训练得到的预训练模型,由于采用自监督与有监督相结合的多任务联合训练方式,因此,可贴合下游应用场景的同时,增强模型的鲁棒性。
[0153]
综合上述模型预训练方法的各种实施方式,下面举一个具体例子,以更清楚地描述整个技术方案。如图8所示,本技术实施例提供的模型预训练方法,可以包括如下步骤:
[0154]
s801、收集数据;
[0155]
s802、数据预处理;
[0156]
其中,预处理包括但不限于数据清洗、去重,基于ktm训练机制对关键词中的字符进行mask处理,任务数据对齐、数据切分等。
[0157]
s803、构造训练样本;
[0158]
具体地,一个训练样本可对应于三种训练标签,对应于三个训练任务:ktm对应的预测任务、意图识别任务和ner任务。
[0159]
s804、利用训练样本对预训练模型进行多任务联合训练;
[0160]
具体地,采用自监督与有监督相结合的方式,以ktm对应的预测任务、意图识别任务和ner任务这三个训练任务为目标,对模型进行多任务联合训练。另外,模型训练过程还可融入声调信息,以提高模型的纠错能力。
[0161]
s805、对预训练模型进行验证,并确定验证结果是否达标,若是,则结束训练过程;若否,则返回执行s804。
[0162]
如此,通过采用ktm训练机制,且采用自监督与有监督相结合的多任务联合训练的方式对预训练模型进行训练,从而可以在贴合语音助手的短文本语义理解这个应用场景的同时,增强预训练模型的鲁棒性。
[0163]
基于上述训练得到的预训练模型,本技术实施例就可以利用该预训练模型,进行微调训练,得到下游任务中所需的各个功能模块,在次不再赘述。
[0164]
基于相同的发明构思,本技术还提供了一种操作执行装置。下面结合图9对本技术实施例提供的操作执行装置进行详细说明。
[0165]
图9是根据一示例性实施例示出的一种操作执行装置的结构框图。
[0166]
如图9所示,操作执行装置900可以包括:
[0167]
输入接收模块901,用于接收用户的第一输入;
[0168]
向量获取模块902,用于响应于第一输入,将第一文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成第一文本的初始向量;其中,第一文本为与第
一输入对应的文本;
[0169]
场景分类模块903,用于基于场景分类模块,对初始向量进行深度编码和维度转换,得到第一场景类型;
[0170]
识别提取模块904,用于基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息;
[0171]
操作执行模块905,用于根据第一意图信息和第一槽位信息,执行与第一输入对应的操作。
[0172]
下面对上述操作执行装置900进行详细说明,具体如下所示:
[0173]
在其中一个实施例中,上述操作执行装置900还可以包括:
[0174]
场景验证模块,用于在基于场景分类模块,对初始向量进行深度编码和维度转换,得到第一场景类型之后,基于第一场景类型对应的分类验证模块,对初始向量进行深度编码和维度转换,以验证第一输入的场景类型是否为第一场景类型,得到验证结果;
[0175]
识别提取模块,具体用于:
[0176]
在根据验证结果,确定第一输入的场景类型为第一场景类型的情况下,基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息。
[0177]
在其中一个实施例中,上述场景分类模块、识别提取模块以及场景验证模块,可以包括:
[0178]
编码子模块,用于将初始向量进行深度编码,获得编码向量;
[0179]
转换子模块,用于将编码向量进行维度转换,获得对应的概率分布;
[0180]
确定子模块,用于根据概率分布,确定其中概率值最大的信息,为目标信息;
[0181]
其中,目标信息为基于目标功能模块经上述操作步骤得到的信息,目标功能模块包括场景分类模块、意图识别模块、槽位提取模块和分类验证模块,目标信息包括第一场景类型、第一意图信息、第一槽位信息和验证结果。
[0182]
在其中一个实施例中,上述操作执行装置900还可以包括:
[0183]
信息获取模块,用于在接收用户的第一输入之前,根据用户历史查询日志,获取多个语料及其分别对应的场景信息、意图信息和槽位信息;
[0184]
关键词识别模块,用于识别每个语料对应的原始文本中包含的至少一个关键词;
[0185]
字符替换模块,用于对至少部分关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本;其中,目标字符为关键词中的部分字符;
[0186]
标签添加模块,用于以目标字符为第一样本标签,场景信息对应的场景类型和意图信息对应的意图类型为第二样本标签,槽位信息对应的槽位类型为第三样本标签,为每个语料分别对应的模型输入文本添加三个样本标签,得到多个训练样本;
[0187]
模型训练模块,用于使用多个训练样本训练初始模型,得到预训练模型;其中,初始模型对应的训练任务包括第一训练任务、第二训练任务和第三训练任务,第一训练任务对应于第一样本标签,第二训练任务对应于第二样本标签,第三训练任务对应于第三样本标签;
[0188]
微调训练模块,用于根据目标模块功能对应的训练数据对预训练模型进行微调训练,得到具有目标模块功能的目标功能模块;其中,目标模块功能包括场景分类功能、意图
识别功能、槽位提取功能和分类验证功能。
[0189]
在其中一个实施例中,上述模型训练模块,包括:
[0190]
向量获取子模块,用于针对每个训练样本,将模型输入文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成模型输入文本的初始向量;
[0191]
模型训练子模块,用于根据与多个训练样本分别对应的模型输入文本的初始向量,训练初始模型,得到预训练模型。
[0192]
在其中一个实施例中,上述初始模型中包括至少一个编码层、第一全连接层、第二全连接层和第三全连接层;其中,第一全连接层对应于第一训练任务,第二全连接层对应于第二训练任务,第三全连接层对应于第三训练任务;
[0193]
上述模型训练子模块,具体可以包括:
[0194]
模型训练单元,用于对多个训练样本中的各个训练样本执行如下操作步骤,直至初始模型收敛,得到预训练模型:
[0195]
其中,模型训练单元,包括:
[0196]
向量编码子单元,用于将训练样本对应的模型输入文本的初始向量输入至至少一个编码层,利用至少一个编码层对模型输入文本的初始向量进行深度编码,输出得到编码向量;
[0197]
维度转化子单元,用于将编码向量分别输入至第一全连接层、第二全连接层和第三全连接层,利用第一全连接层、第二全连接层和第三全连接层分别对编码向量进行维度转化,得到第一全连接层输出的第一向量、第二全连接层输出的第二向量和第三全连接层输出的第三向量;
[0198]
预测确定子单元,用于根据第一向量确定预测字符,根据第二向量确定预测场景下的意图类型,以及根据第三向量确定预测槽位类型;
[0199]
损失确定子单元,用于基于第一训练任务,根据预测字符和第一样本标签,确定第一损失值,基于第二训练任务,根据预测场景下的意图类型和第二样本标签,确定第二损失值,以及,基于第三训练任务,根据预测槽位类型和第三样本标签,确定第三损失值;
[0200]
损失计算子单元,用于根据第一损失值、第二损失值和第三损失值,计算模型损失值;
[0201]
参数调整子单元,用于根据模型损失值,调整初始模型的模型参数。
[0202]
在其中一个实施例中,上述字符替换模块,具体可以包括:
[0203]
字符替换子模块,用于使用预设掩码字符,对至少部分关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本。
[0204]
在其中一个实施例中,上述字符替换模块,具体可以包括:
[0205]
文本获取子模块,用于对至少部分关键词中的每个关键词执行如下操作步骤,得到每个语料分别对应的模型输入文本:
[0206]
其中,文本获取子模块,包括:
[0207]
字词获取单元,用于获取与关键词相似的目标字词;
[0208]
字符替换单元,用于根据目标字词,对关键词中的目标字符进行字符替换。
[0209]
这样,通过在接收到用户的第一输入的情况下,除了提取第一输入对应的第一文本中每个字符分别对应的词向量和位置向量之外,还提取了每个字符的声调向量,进而基
于这些向量相加形成的第一文本的初始向量,进行场景分类、意图识别和槽位提取,以识别第一文本的语义,并执行与第一输入对应的操作。这样,本技术实施例由于在生成第一输入对应的第一文本的初始向量时,加入了声调向量,因此,即使在asr有误的情况下,也能提取语句中的重要信息,做到准确的语义理解,从而可以提高语义理解的容错能力,避免由于收音或方言发音不准确而导致语义理解失败,无法执行相应的操作的问题。
[0210]
本技术实施例中的操作执行装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
[0211]
本技术实施例中的操作执行装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0212]
本技术实施例提供的操作执行装置能够实现图1至图8的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0213]
可选地,如图10所示,本技术实施例还提供一种电子设备1000,包括处理器1001,存储器1002,存储在存储器1002上并可在所述处理器1001上运行的程序或指令,该程序或指令被处理器1001执行时实现上述操作执行方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0214]
需要说明的是,本技术实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
[0215]
图11为实现本技术实施例的一种电子设备的硬件结构示意图。
[0216]
该电子设备1100包括但不限于:射频单元1101、网络模块1102、音频输出单元1103、输入单元1104、传感器1105、显示单元1106、用户输入单元1107、接口单元1108、存储器1109、以及处理器1110等部件。
[0217]
本领域技术人员可以理解,电子设备1100还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器1110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图11中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
[0218]
其中,输入单元1104,用于接收用户的第一输入;
[0219]
处理器1110,用于响应于第一输入,将第一文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成第一文本的初始向量;其中,第一文本为与第一输入对应的文本;基于场景分类模块,对初始向量进行深度编码和维度转换,得到第一场景类型;基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息;根据第一意图信息和第一槽位信息,执行与第一输入对应的操作。
[0220]
这样,通过在接收到用户的第一输入的情况下,除了提取第一输入对应的第一文本中每个字符分别对应的词向量和位置向量之外,还提取了每个字符的声调向量,进而基于这些向量相加形成的第一文本的初始向量,进行场景分类、意图识别和槽位提取,以识别第一文本的语义,并执行与第一输入对应的操作。这样,本技术实施例由于在生成第一输入对应的第一文本的初始向量时,加入了声调向量,因此,即使在asr有误的情况下,也能提取语句中的重要信息,做到准确的语义理解,从而可以提高语义理解的容错能力,避免由于收音或方言发音不准确而导致语义理解失败,无法执行相应的操作的问题。
[0221]
可选地,处理器1110,还用于基于第一场景类型对应的分类验证模块,对初始向量进行深度编码和维度转换,以验证第一输入的场景类型是否为第一场景类型,得到验证结果;在根据验证结果,确定第一输入的场景类型为第一场景类型的情况下,基于第一场景类型对应的意图识别模块和槽位提取模块,对初始向量进行深度编码和维度转换,得到第一意图信息和第一槽位信息。
[0222]
可选地,处理器1110,还用于将初始向量进行深度编码,获得编码向量;将编码向量进行维度转换,获得对应的概率分布;根据概率分布,确定其中概率值最大的信息,为目标信息;其中,目标信息为基于目标功能模块经上述操作步骤得到的信息,目标功能模块包括场景分类模块、意图识别模块、槽位提取模块和分类验证模块,目标信息包括第一场景类型、第一意图信息、第一槽位信息和验证结果。
[0223]
可选地,处理器1110,还用于根据用户历史查询日志,获取多个语料及其分别对应的场景信息、意图信息和槽位信息;识别每个语料对应的原始文本中包含的至少一个关键词;对至少部分关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本;其中,目标字符为关键词中的部分字符;以目标字符为第一样本标签,场景信息对应的场景类型和意图信息对应的意图类型为第二样本标签,槽位信息对应的槽位类型为第三样本标签,为每个语料分别对应的模型输入文本添加三个样本标签,得到多个训练样本;使用多个训练样本训练初始模型,得到预训练模型;其中,初始模型对应的训练任务包括第一训练任务、第二训练任务和第三训练任务,第一训练任务对应于第一样本标签,第二训练任务对应于第二样本标签,第三训练任务对应于第三样本标签;
[0224]
根据目标模块功能对应的训练数据对预训练模型进行微调训练,得到具有目标模块功能的目标功能模块;其中,目标模块功能包括场景分类功能、意图识别功能、槽位提取功能和分类验证功能。
[0225]
可选地,处理器1110,还用于针对每个训练样本,将模型输入文本中的每个字符分别获取对应的词向量、位置向量和声调向量后,相加形成模型输入文本的初始向量;根据与多个训练样本分别对应的模型输入文本的初始向量,训练初始模型,得到预训练模型。
[0226]
可选地,处理器1110,还用于对多个训练样本中的各个训练样本执行如下操作步骤,直至初始模型收敛,得到预训练模型:将训练样本对应的模型输入文本的初始向量输入至至少一个编码层,利用至少一个编码层对模型输入文本的初始向量进行深度编码,输出得到编码向量;将编码向量分别输入至第一全连接层、第二全连接层和第三全连接层,利用第一全连接层、第二全连接层和第三全连接层分别对编码向量进行维度转化,得到第一全连接层输出的第一向量、第二全连接层输出的第二向量和第三全连接层输出的第三向量;根据第一向量确定预测字符,根据第二向量确定预测场景下的意图类型,以及根据第三向
量确定预测槽位类型;基于第一训练任务,根据预测字符和第一样本标签,确定第一损失值,基于第二训练任务,根据预测场景下的意图类型和第二样本标签,确定第二损失值,以及,基于第三训练任务,根据预测槽位类型和第三样本标签,确定第三损失值;根据第一损失值、第二损失值和第三损失值,计算模型损失值;根据模型损失值,调整初始模型的模型参数。
[0227]
可选地,处理器1110,还用于使用预设掩码字符,对至少部分关键词中的目标字符进行字符替换,得到每个语料分别对应的模型输入文本。
[0228]
可选地,处理器1110,还用于对至少部分关键词中的每个关键词执行如下操作步骤,得到每个语料分别对应的模型输入文本:获取与关键词相似的目标字词;根据目标字词,对关键词中的目标字符进行字符替换。
[0229]
如此,本技术实施例通过基于语音识别的操作执行场景,提出了一种新型的预训练模型rosita,并针对实际应用场景进行了针对性的预训练任务的设计,在提高模型鲁棒性的同时提升了语音助手语义理解的效果。
[0230]
应理解的是,本技术实施例中,输入单元1104可以包括图形处理器(graphics processing unit,gpu)11041和麦克风11042,图形处理器11041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元1106可包括显示面板11061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板11061。用户输入单元1107包括触控面板11071以及其他输入设备11072。触控面板11071,也称为触摸屏。触控面板11071可包括触摸检测装置和触摸控制器两个部分。其他输入设备11072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器1109可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器1110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1110中。
[0231]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述操作执行方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0232]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0233]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述操作执行方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0234]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0235]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该
要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
[0236]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0237]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1