首页 / 意图识别方法及装置

意图识别方法及装置实质审查 发明

技术领域

[0001] 本申请涉及人工智能领域下的自然语言处理技术领域,尤其涉及意图识别方法及装置、意图识别装置的训练方法、计算设备和计算机可读存储介质。

相关背景技术

[0002] 意图识别(广义上即自然语言理解,Natural Language Understanding,NLU)是自然语言处理的重要功能之一,其主要目的是理解用户输入的自然语言文本所对应的用户希望执行的操作,并将该操作使用意图(Intent,该操作在目标系统中对应的动作或所属领域)和槽位(Slot,完成该操作需要的参数)来描述,并通过任务执行模型转换为对应系统上的接口调用或应用执行动作,返回对应的执行结果,以达成通过自然语言发起操作的效果。
[0003] 意图识别的能力依赖于对用户输入的自然语言句子中语义信息的理解,由于用户用语不规范或对用户语音进行自动语音识别(Automatic Speech Recognition,ASR)中出现的识别错误,导致作为意图识别所输入的文本出现错字、多字、漏字等问题时,会影响意图识别的准确率,从而无法正确处理用户希望执行的操作。

具体实施方式

[0081] 说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0082] 在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
[0083] 说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
[0084] 本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
[0085] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本申请,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
[0086] 1)基于变换器的双向编码器表示技术(BERT,Bidirectional  Encoder Representations from Transformers),简称BERT,BERT模型是一种用于产生词向量(word2vec)的模型,BERT模型通常包括自注意力(self‑Attention)层和前馈网络((Feedforward Network,FFN)层,且自注意力层和前馈网络层可为级联的多层结构。
[0087] 在一种对文本的情感进行分析的技术方案中,提供的方案包括:对中文语料数据集中的多条中文语料进行文本预处理,以获得所述多条中文语料对应的多个序列;然后使用BERT网络提取每个序列的词嵌入向量(Word Embedding);然后通过BERT网络、长短期记忆网络(Long Short‑Term Memory,LSTM)和卷积神经网络(Convolutional Neural Networks,CNN)对每个序列进行特征提取,以获得每个序列对应的文本深层语义特征;通过使用归一化指数函数分类器(softmax)对所获得的文本深层语义特征进行分类,进而实现情感极性预测分析。该技术方案通过融合多通道高层语义特征来提升文本分类的精度。但是,模型对输入噪音敏感,当输入文本存在噪音时,提取的高层语义信息不准确,导致语义判别精度下降。
[0088] 在另一种技术方案中,通过构建对抗样本的方式来解决输入噪音问题,该方案首先挖掘文本出错的模式,并对原始文本加入相应模式噪音。每条原始文本经过插入、删除、替换等操作得到对应的噪音文本。根据生成的噪音文本数据集进行后续模块的监督训练,来提升模型在噪音场景下的鲁棒性能。该技术方案本质上是一种数据增强方案,可以提升模型对噪音样本的语义判别能力。但是,噪音使得原始语义边界产生模糊,使得模型在正常无噪音场景下语义判断能力的性能指标下降,如识别准确率的指标的降低。
[0089] 本申请提出一种改进的意图识别方案,可以在保持无噪音的文本场景下的意图识别精度下,提升在有噪音的文本场景下的意图识别能力。
[0090] 本申请提供的方案,可以应用于针对用户输入的自然语言文本,提供意图槽位识别能力的终端或网络服务。例如,可以应用于智能终端,该智能终端可以是手机或平板(如PAD),也可以是智能家居产品,如智能音箱、可识别语音的智能电视或智能冰箱等,也可以是智能交通产品,如智能车辆,智能座舱(如车辆、飞机或船舶的智能座舱)等,也可以应用于搜索引擎、翻译机等。
[0091] 其中,本申请提供的意图识别方案的一个典型应用场景为语音助手,如智能音箱、智能手机上的语音助手。其中,语音助手具有自然语言理解模块(NLU),本申请可以用于模块,实现对意图识别优化,解决复杂场景下,对用户语音的文本识别结果出现噪音时,能够正确识别用户的意图。
[0092] 【意图识别装置的第一实施例】
[0093] 如图1示出了本申请的意图识别装置的第一实施例的示意图,在该实施例中,意图识别装置包括:
[0094] 编码模块110,用于根据输入的文本得到对应文本中各字的第一特征向量。
[0095] 在一些实施例中,编码模块110具体可以用于对输入的文本包含的各字的词嵌入向量进行编码,输出为对应各字的第一特征向量,该第一特征向量即为文本的高层的抽象特征。
[0096] 在一些实施例中,编码模块110可以通过BERT网络、循环神经网络(Recurrent Neural Network,RNN)、LSTM网络、CNN网络、多层感知器(Multilayer Perceptron,MDP)等网络来实现。
[0097] 语义探测模块120,用于根据编码模块110输出的各字的第一特征向量得到所述文本的语义明确程度,以判断所述文本语义是否明确。
[0098] 在一些实施例中,该语义探测模块120可以采用二分类模型实现,所输出的两个类别对应文本语义是否明确这两个结果(可以理解为只辨别明确程度是否大于阈值,从而对应两个结果)。在另一些实施例中,该语义探测模块120输出一值,通过该值与阈值的比较可以确定所述文本语义是否明确。
[0099] 在一些实施例中,语义探测模块120可以通过BERT网络、RNN网络、LSTM、CNN网络、MDP等网络实现。通过判断语义明确程度,即可以判别出当前文本是否含有语义噪音,或所含的语义噪音是否影响意图识别。
[0100] 无噪音意图识别模块130(Clean Natural Language Understanding Model,CNLUM)、有噪音意图识别模块140(Noisy Natural Language Understanding Model,NNLUM),这两个模块均用于根据编码模块110输出的各字的第一特征向量进行识别意图。其中CNLUM模块130可以在文本所含语义噪音低于阈值时所识别出的意图的准确率较高,而NNLUM模块140可以在文本所含语义噪音高于阈值时所识别出的意图的准确率较高。
[0101] CNLUM模块130和NNLUM模块140这两个模块分别为分类模型,输出的各个类别对应各个可识别的意图,在使用过程中,其中概率最大的类别对应的意图,即为所识别出的意图。
[0102] 在一些实施例中,CNLUM模块130或NNLUM模块140各自可以通过BERT网络、RNN网络、LSTM、CNN网络、MDP等网络实现。
[0103] 融合模块150,用于根据语义探测模块120的判别语义明确的程度,对应的选取CNLUM模块130或NNLUM模块140所识别的意图,作为所述文本的意图识别的最终结果。
[0104] 在一些实施例中,NNLUM模块140在识别意图时,还可结合至少以下之一的向量进行意图识别,该结合的方式可以是将要结合的向量与编码模块110输出的各字的第一特征向量拼接作为NNLUM模块140的输入的方式,所述可结合的向量包括:
[0105] 1)各字的意图向量。在一些实施例中,各字的意图向量可以由语义探测模块120提供,例如,各字的意图向量是根据语义探测模块120在判别语义明确程度的过程中,根据编码模块110输出的各字的第一特征向量而生成。
[0106] 2)各字的拼音向量。
[0107] 【意图识别方法的第一实施例】
[0108] 如图2示出了本申请的意图识别方法的第一实施例的流程图,在该实施例中,意图识别方法包括以下步骤:
[0109] S10:根据输入的文本得到该文本中各字的第一特征向量。其中,各字的第一特征向量也可以称作该文本的高层抽象特征。
[0110] 该步骤可包括对文本各字进行词嵌入向量编码,以及根据各字的词嵌入向量编码生成各字的第一特征向量的步骤。在一些实施例中,该步骤可通过上述编码模块110实现。
[0111] S12:根据所述各字的第一特征向量,通过CNLUM模块130及NNLUM模块140分别进行意图识别,分别输出各自的意图识别结果。
[0112] S14:根据所述各字的第一特征向量,得到所述文本的语义明确程度。
[0113] 在一些实施例中,该步骤可以由上述语义探测模块120实现。在一些实施例中,语义的明确程度可以对应文本语义是否明确这两个结果(可以理解为只辨别明确程度是否大于阈值,从而对应两个结果)。在另一些实施例中,该语义明确程度为输出一具体值,通过该值与阈值的比较可以确定所述文本语义是否明确。
[0114] S16:根据所述文本的语义的明确程度,选取CNLUM模块130或NNLUM模块140所识别的意图作为所述文本的意图识别结果。
[0115] 例如,当所述文本语义明确(例如,语义明确程度大于阈值)时,选取CNLUM模块输出的意图识别结果作为对步骤S10中所述输入的文本的最终意图识别结果,当所述文本语义不明确(例如,语义明确程度小于阈值)时,选取NNLUM模块输出的意图识别结果作为对步骤S10中所述输入的文本的最终意图识别结果。
[0116] 在一些实施例中,NNLUM模块140在识别意图时,还可结合各字的意图向量、或/和各字的拼音向量进行所述意图的识别,具体可参见前文所述,不再赘述。
[0117] 【意图识别装置的第一具体实施方式】
[0118] 如图3示出了本申请的意图识别装置的第一具体实施方式,是上述意图识别装置的第一实施例的具体实施方式之一。
[0119] 在该具体实施方式中,编码模块110采用了BERT网络的多层编码层,每层编码层分别包含自注意力层(self‑attention)以及前馈网络层(Feed forward Network,FFN)。
[0120] 语义探测模块120由自注意力层、MDP层、语义预测层堆叠而成,输出为整句语义是否明确的判定。
[0121] CNLUM模块130和NNLUM模块140采用了相同的网络结构,都是由自注意力层及FFN、以及意图预测层堆叠而成。
[0122] 融合模块150根据语义探测模块120的判定结果为明确时,选取CNLUM模块130所识别的意图作为最终输出的识别的意图,判定结果为不明确时,选取NNLUM模块140所识别的意图作为最终输出的识别的意图。
[0123] 【意图识别方法的第一具体实施方式】
[0124] 下面介绍该意图识别方法的第一具体实施方式,该具体实施方式对应意图识别装置的第一具体实施方式,该具体实施方式以应用于手机为例,手机接收用户的语音输入“清理手机垃圾”,并针对用户该语音进行ASR文本识别,以识别出的正确文本和错误文本两种情况,分别对该意图识别方法的两种情况进行介绍。其中为了描述方法,假设该具体实施方式中,意图体系仅包含“清理(Clear)”和“其它(Other)”两类意图。
[0125] 第一种情况:ASR文本识别正确(即无噪音输入文本场景)时的情况,如图4A所示的流程图,该情况下的意图识别方法包括以下步骤:
[0126] S110:接收用户语音输入的“清理手机垃圾”,使用ASR模块进行识别,第一种情况中,识别的文本为“清理手机垃圾”,所识别的文本正确,即该文本无语义噪音。
[0127] S120:文本“清理手机垃圾”的各字的词嵌入向量输入编码模块,通过该编码模块输出各字的第一特征向量,该第一特征向量即为文本的高层抽象特征,这里记为[e1,e2,e3,e4,e5,e6]。
[0128] S130:将各字的第一特征向量,即高层抽象特征[e1,e2,e3,e4,e5,e6]分别作为语义探测模块、CNLUM模块及NNLUM模块的输入。由语义探测模块输出语义是否明确的结果,本具体实施方式中,所输出的为一数值,本例子中为0.9。由CNLUM模块输出其意图识别结果,该意图识别结果为“清理”。由NNLUM模块输出其意图识别结果,该意图识别结果为“其它”。
[0129] S140:由于语义探测模块输出结果为0.9,大于设定阈值(本具体实施方式该阈值设为0.5),表明该所识别的文本“清理手机垃圾”语义明确,此时选用CNLUM模块的意图识别结果,即选用“清理”作为针对文本“清理手机垃圾”所最终识别的意图。
[0130] 第二种情况:ASR文本识别错误(即噪音输入文本场景)时的情况,如图4B所示的流程图,该情况下的意图识别方法包括以下步骤:
[0131] S210:接收用户语音输入的“清理手机垃圾”,使用ASR模块进行识别,第二种情况中,识别的文本为“清理手机辣鸡”,所识别的文本并不完全正确,即该文本具有语义噪音。
[0132] S220:文本“清理手机辣鸡”的各字的词嵌入向量输入编码模块,通过该编码模块输出各字对应的第一特征向量,该第一特征向量即为文本的高层抽象特征,这里记为[e1,e2,e3,e4,e5,e6]。
[0133] S230:将各字的第一特征向量,即高层抽象特征[e1,e2,e3,e4,e5,e6]分别作为语义探测模块、CNLUM模块及NNLUM模块的输入。由语义探测模块输出语义是否明确的结果,本具体实施方式中所输出的数值为0.1。由CNLUM模块输出其意图识别结果,该意图识别结果为“其它”。由NNLUM模块输出其意图识别结果,该意图识别结果为“清理”。
[0134] S240:由于语义探测模块输出结果为0.1,小于设定阈值(本具体实施方式该阈值设为0.5),表明该所识别的文本“清理手机辣鸡”语义不明确,此时选用NNLUM模块的意图识别结果,即选用“清理”作为针对文本“清理手机辣鸡”所最终识别的意图。
[0135] 【意图识别装置的第二具体实施方式】
[0136] 如图5示出了本申请的意图识别装置的第二具体实施方式,是上述意图识别装置的第一实施例的具体实施方式之一。下面主要介绍与意图识别装置的第一具体实施方式的区别之处,相同之处不再赘述。
[0137] 在该具体实施方式中,如图5示出了语义探测模块120的语义预测层的具体实现,语义预测层根据各字第一特征向量分别给出各字的意图预测结果,这里成为意图向量,记为[p1,p2,…,pn],其中的每个意图向量p包括m个维度,对应m个意图的置信度,各字的意图向量[p1,p2,…,pn]通过全连接层,输出整句语义预测结果,用于判断整句语义是否明确。语义探测模块120提供的每个字的意图向量[p1,p2,…,pn]及编码模块输出的[e1,e2,…,en]进行拼接(concat),作为NNLUM的输入。可选地,NNLUM的输入还可以拼接每个字的拼音向量。
[0138] 【意图识别方法的第二具体实施方式】
[0139] 下面介绍该意图识别方法的第二具体实施方式,该具体实施方式对应意图识别装置的第二具体实施方式。与意图识别方法的第一具体实施方式相比,第一种情况下的意图识别步骤相同,区别之处在于上述第二种情况下的意图识别步骤,故下面仅对ASR文本识别错误(即噪音输入文本场景)时的意图识别方法进行说明,如图6示出的流程图,包括以下步骤:
[0140] S310:接收用户语音输入的“清理手机垃圾”,使用ASR模块进行识别,第二种情况中,识别的文本为“清理手机辣鸡”,所识别的文本并不完全正确,即该文本具有语义噪音。
[0141] S320:文本“清理手机辣鸡”的各字的词嵌入向量输入编码模块,通过该编码模块输出各字的第一特征向量,该第一特征向量即为文本的高层抽象特征,这里记为[e1,e2,e3,e4,e5,e6]。
[0142] S330:将各字的第一特征向量,即高层抽象特征[e1,e2,e3,e4,e5,e6]作为语义探测模块的输入,语义探测模块在执行的过程中,会计算各字对应的意图预测结果,即意图向量,例如可以由语义预测层进行计算,本例中各字对应的意图向量为:[p1=(0.8,0.2),p2=(0.9,0.1),p3=(0.6,0.4),p4=(0.7,0.3),p5=(0.3,0.7),p6=(0.2,0.8)],其中意图向量p的每个维度对应相应意图的置信度,例如本具体实施方式中,具有两个意图:“清理”和“其他”,p1=(0.8,0.2)代表该字属于“清理”的意图概率为0.8,属于“其它”的意图概率为0.2。
[0143] S340:语义探测模块根据所计算的各字意图向量[p1,p2,p3,p4,p5,p6],输出计算整句语义结果为0.1。例如可以将各字意图向量[p1,p2,p3,p4,p5,p6]输入一全连接层,全连接层连接输出一数值的输出层,实现整句语义结果的输出。在另一些实施例中,输出层也可以为二分类输出,直接输出表示语义是否明确的结果。
[0144] S350:另一方面,将高层抽象特征[e1,e2,e3,e4,e5,e6]作为CNLUM模块的输入,由CNLUM模块输出其意图识别结果,该意图识别结果为“其它”。
[0145] S360:另一方面,将高层抽象特征[e1,e2,e3,e4,e5,e6]及语义探测模块提供的各字意图向量[p1,p2,p3,p4,p5,p6],采用拼接的方式作为NNLUM模块的输入,由NNLUM模块输出其意图识别结果,该意图识别结果为“清理”。在一些实施例中,还进一步拼接各字的拼音向量作为NNLUM模块的输入。
[0146] S370:由于语义探测模块输出结果为0.1,小于设定阈值(本具体实施方式该阈值设为0.5),表明该所识别的文本“清理手机辣鸡”语义不明确,此时选用NNLUM模块的意图识别结果,即选用“清理”作为最终所识别的意图。
[0147] 【意图识别装置的第二实施例】
[0148] 如图7示出了本申请的意图识别装置的第二实施例的示意图,在该实施例中,意图识别装置包括:
[0149] 编码模块210,用于根据输入的文本得到对应文本中各字的第一特征向量。
[0150] 在一些实施例中,编码模块210具体可以用于对输入的文本包含的各字的词嵌入向量进行编码,输出为对应各字的第一特征向量,该第一特征向量即为文本的高层的抽象特征。
[0151] 语义探测模块220,用于根据编码模块110输出的各字的第一特征向量得到各字中的每个字的语义明确程度,每个字的意图是否明确,可以以二分类值形式呈现,也可以以某数值呈现,通过与阈值的比较确定该字意图是否明确。
[0152] CNLUM模块230,用于根据所述各字的第一特征向量得到各字的第二特征向量;
[0153] NNLUM模块240,用于根据所述各字的第一特征向量得到各字的第三特征向量;所述有噪音意图识别模块相比无噪音意图识别模块,在所述文本包含的各字的语义为噪音时,识别的该字的特征向量的准确率高。
[0154] 融合模块250,用于针对所述各字中的每个字,根据语义探测模块220得到的该字的语义明确程度,选取CNLUM模块230得到的该字的所述第二特征向量或NNLUM模块240得到该字的所述第三特征向量,组成各字的第四特征向量。可以看出,各字的第四特征向量融合了部分字第二特征向量和部分字的第三特征向量。
[0155] 意图预测模块260,用于根据融合模块250融合后的各字的第四特征向量得到所述文本的意图识别结果。
[0156] 其中,上述各个模块可以通过BERT网络、RNN网络、LSTM、CNN网络、MDP等网络实现,不再赘述。
[0157] 【意图识别方法的第二实施例】
[0158] 如图8示出了本申请的意图识别方法的第二实施例的流程图,在该实施例中,意图识别方法包括以下步骤:
[0159] S20:根据输入的文本得到所述文本中各字的第一特征向量。各字的第一特征向量也可以称作该文本的高层抽象特征。
[0160] 在一些实施例中,该步骤可通过上述编码模块210实现。该步骤具有包括对文本各字进行词嵌入向量编码,以及根据各字词嵌入向量编码生成各字的第一特征向量的步骤。
[0161] S22:根据各字对应的第一各特征向量得到所述各字中的每个字的语义明确程度。
[0162] 每个字的意图是否明确,可以以二分类值形式呈现,也可以以某数值呈现,通过与阈值的比较确定该字意图是否明确。在一些实施例中,该步骤可通过上述语义探测模块220实现。
[0163] S24:根据所述各字的第一特征向量,通过CNLUM模块230得到各字的第二特征向量。
[0164] 根据所述各字的第一特征向量,通过NNLUM模块240得到各字的第三特征向量。
[0165] S26:针对所述各字中的每个字,根据该字的语义明确程度,选取该字的所述第二特征向量或该字的所述第三特征向量,组成各字的第四特征向量。各字的第四特征向量融合了部分字第二特征向量和部分字的第三特征向量。
[0166] 在一些实施例中,该步骤可以通过融合模块250实现。
[0167] S28:根据所组成的各字的第四特征向量得到所述文本的意图识别结果。
[0168] 在一些实施例中,该步骤可通过上述意图预测模块260实现。
[0169] 【意图识别装置的第三具体实施方式】
[0170] 如图9示出了本申请的意图识别装置的第三具体实施方式,是上述意图识别装置的第二实施例的具体实施方式之一。
[0171] 在该具体实施方式中,共享的编码模块210采用了BERT网络的多层编码层,每层编码层分别包含自注意力层以及前馈网络层。
[0172] 语义探测模块220由自注意力层、多层感知器、语义预测层堆叠而成,输出为各字的意图预测结果。
[0173] CNLUM模块230和NNLUM模块240采用了相同的网络结构,都是由自注意力层及前馈神经网络堆叠而成,输出为各字的第一特征向量。
[0174] 融合模块250根据语义探测模块220对每个字的意图预测结果,从CNLUM模块230或NNLUM模块240选择该字的第二或第三特征向量,形成融合后的各字的第四特征向量,例如,判定当前字的意图预测结果表示为意图明确时,选取CNLUM模块230输出的该字的第二特征向量,否则选取NNLUM模块240输出的该字的第三特征向量。
[0175] 意图预测模块260由多层感知器构成,根据融合后的各字的第四特征向量输出最终识别意图。
[0176] 【意图识别方法的第三具体实施方式】
[0177] 下面介绍该意图识别方法的第三具体实施方式,该具体实施方式对应意图识别装置的第三具体实施方式。仍以手机接收用户的语音输入“清理手机垃圾”为例进行说明,参见图10所示的流程图,该具体实施方式的意图识别方法包括以下步骤:
[0178] S410:接收用户语音输入的“清理手机垃圾”,使用ASR模块进行识别,识别的文本为“清理手机辣鸡”。
[0179] S420:文本“清理手机辣鸡”的各字的词嵌入向量输入编码模块,通过该编码模块输出各字对应的第一特征向量,该第一特征向量即为文本的高层抽象特征,这里记为[e1,e2,e3,e4,e5,e6]
[0180] S430:将第一特征向量,即高层抽象特征[e1,e2,e3,e4,e5,e6]作为语义探测模块的输入,语义探测模块计算各字对应的意图预测结果[p1,p2,p3,p4,p5,p6],本具体实施方式中,每个p采用了以数值的方式呈现,例如所计算的各字对应的意图预测结果为[清:0.9,理:0.8,手:0.7,机:0.8,辣:0.2,鸡:0.1]。
[0181] S440:将高层抽象特征[e1,e2,e3,e4,e5,e6]分别作为CNLUM模块及NNLUM模块的输入,由CNLUM模块及NNLUM模块分别输出各字的第二特征向量[ce1,ce2,ce3,ce4,ce5,ce6]和第三特征向量[ne1,ne2,ne3,ne4,ne5,ne6]。
[0182] S450:根据步骤S430语义探测模块的输出结果,依次判定每个字的意图预测结果是否大于设定阈值(本具体实施方式该阈值设为0.5),以从CNLUM模块或NNLUM模块的输出中选取对应的字的第二或第三特征向量,本具体实施方式中,[‘清’,’理’,’手’,’机’]四个字选用CNLUM模块提取的相应位置字的第二特征向量[ce1,ce2,ce3,ce4],[‘辣’,’鸡’]两个字选用NNLUM模块提取的相应位置字的第三特征向量[ne5,ne6],即生成融合的各字第四特征向量[ce1,ce2,ce3,ce4,ne5,ne6]。
[0183] S460:根据所融合的第四特征向量[ce1,ce2,ce3,ce4,ne5,ne6],通过意图预测模块预测最终意图结果为“清理”意图。
[0184] 【意图识别装置的训练方法的实施例】
[0185] 下面再结合如图11示出的流程图,对本申请上述图1示出的意图识别装置的第一实施例训练过程进行说明,训练过程可包括以下步骤:
[0186] S510:通过含语义标签的语料训练共享的编码模块110和语义探测模块120的权重参数。即此时不关注NNLUM模块140、CNLUM模块130。
[0187] S520:冻结共享的编码模块110及NNLUM模块140权重参数,利用无噪音语料训练CNLUM模块130权重参数。
[0188] S530:冻结共享的编码模块110及CNLUM模块130权重参数,利用有噪音语料训练NNLUM模块140权重参数。
[0189] 进一步的各个模块均接入网络,均不冻结权重参数,通过端到端的方式训练整个网络,实现对各个模块权重参数的调整。
[0190] 其中,上述步骤S510所述含语义标签的语料和上述有噪音语料的获得可以采用下述进行:
[0191] 首先,针对原始无噪音语料进行加噪处理,生成具有噪音的语料。可选地,通过语言模型学习ASR出错模式,根据出错模式对无噪音语料进行加噪处理。
[0192] 然后,通过一语言模型对加噪文本进行预测,当预测出错或者低于设定阈值时设置语义标签,且该语义标签标记为反例,否则标记为正例,从而得到上述步骤S510所需的具有语义标签的语料。
[0193] 对于上述图7示出的意图识别装置的第二实施例训练过程进行说明,其训练过程参见图12所示,包括以下步骤:
[0194] S610:形成编码模块210、语义探测模块220和意图预测模块260构成的网络模型。此时CNLUM模块230、NNLUM模块240不接入该网络模型。通过含意图标签的语料训练本步骤所构成的网络模型。本步骤实现对编码模块210和语义探测模块220的训练。
[0195] S620:形成编码模块210、CNLUM模块230和意图预测模块260构成的网络模型,但冻结编码模块210的权值参数。语义探测模块220和NNLUM模块240不接入该网络模型。通过含无噪音的语料训练本步骤所构成的网络模型。本步骤实现对CNLUM模块230的训练。
[0196] S630:形成编码模块210、NNLUM模块240和意图预测模块260构成的网络模型,但冻结编码模块210的权值参数。语义探测模块220和CNLUM模块230不接入该网络模型。通过含有噪音的语料训练本步骤所构成的网络模型。本步骤实现对NNLUM模块240的训练。
[0197] 进一步的,将各个模块均接入网络,不冻结各权重参数,通过端到端的方式训练整个网络,实现对各个模块权重参数的调整及对意图预测模块260的训练。
[0198] 上述语料的获得可以参见上述意图识别装置的第一实施例训练过程,不再赘述。
[0199] 另一种训练方式是,当训练好编码模块210后,可以将编码模块210的输出作为分别训练CNLUM模块230、NNLUM模块240和语义探测模块220。
[0200] 【本申请计算设备的实施例】
[0201] 图13是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
[0202] 应理解,图13中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
[0203] 其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
[0204] 可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral  Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard 
Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
[0205] 应理解,在本申请实施例中,该处理器910可以采用中央处理单元(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(Application specific integrated circuit,ASIC)、现成可编程门矩阵(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
[0206] 该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
[0207] 在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
[0208] 应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
[0209] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0210] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0211] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0212] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0213] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0214] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0215] 本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
[0216] 本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0217] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0218] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0219] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0220] 注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请的构思的情况下,还可以包括更多其他等效实施例,均属于本申请的保护范畴。

当前第1页 第1页 第2页 第3页
相关技术
方法装置相关技术
识别方法相关技术
吴国星发明人的其他相关专利技术