一种文本的意图识别方法及装置与流程

文档序号:22916187发布日期:2020-11-13 15:57阅读:261来源:国知局
一种文本的意图识别方法及装置与流程

本发明属于自然语言处理技术领域,特别是涉及一种文本的意图识别方法、装置、计算机设备及计算机可读存储介质。



背景技术:

自然语言处理(naturelanguageprocessing,nlp)是语言学、计算机科学,以及人工智能相互作用的领域,在nlp中,对用户语句进行意图识别的意图识别技术,被广泛的应用在智能外呼、智能问答和搜索引擎等需要意图识别的系统中进行语义理解。

现有技术中,意图识别技术往往利用卷积神经网络(convolutionalneuralnetworks,cnn)或者循环神经网络等深度神经网络(recurrentneuralnetwork,rnn)来构造多分类算法,将用户语句输入经过预先训练的cnn/rnn模型中,从预设的多个意图种类中,通过意图识别确定与输入语句对应的意图类别,其中,预先训练cnn/rnn模型的过程,是利用大量的样本语料和人工标注的与样本语料对应的意图标签,对cnn/rnn模型进行预先训练,得到意图识别模型,从而利用意图识别模型对用户语句进行意图识别,具体的,通过输入层将输入的文本序列映射成字向量或词向量序列,再对该字向量或词向量序列进行特征抽取,转化为具有全局信息的低维稠密的语义向量,最终利用语义向量得到该输入语句所对应的意图类别。

但是,目前的方案中,由于在进行意图识别之前,需要利用大量的样本语料和对应的意图标签对cnn/rnn模型进行预先训练,因此,在样本语料和对应的意图标签数量较少时,比如,系统冷启动时,意图识别模型的精度较低,从而导致意图识别系统的准确度降低。



技术实现要素:

有鉴于此,本发明提供一种文本的意图识别方法、装置、计算机设备及计算机可读存储介质,在一定程度上解决了目前方案中在样本语料和对应的意图标签数量较少时,比如,系统冷启动时,利用样本语料预先训练得到的意图识别模型的精度较低,从而导致意图识别系统的准确度降低的问题。依据本发明的第一方面,提供了一种文本的意图识别方法,包括:

获取目标文本,以及预先设置的多个文本意图类别;

将所述目标文本输入预训练语言模型,确定所述目标文本对应的语义向量;

根据所述语义向量,确定所述目标文本属于每个所述文本意图类别的概率值;

根据所述目标文本属于每个所述文本意图类别的概率值,从所述多个文本意图类别中,确定与所述目标文本对应的目标文本意图类别。

依据本发明的第二方面,提供了一种文本的意图识别装置,该装置可以包括:

第一获取模块,用于获取目标文本,以及预先设置的多个文本意图类别;

第一确定模块,用于将所述目标文本输入预训练语言模型,确定所述目标文本对应的语义向量;

第二确定模块,用于根据所述语义向量,确定所述目标文本属于每个所述文本意图类别的概率值;

第三确定模块,用于根据所述目标文本属于每个所述文本意图类别的概率值,从所述多个文本意图类别中,确定与所述目标文本对应的目标文本意图类别。

第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面所述的文本的意图识别方法包括的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的文本的意图识别方法的步骤。

针对在先技术,本发明具备如下优点:

本发明提供的一种文本的意图识别方法,包括:获取目标文本,以及预先设置的多个文本意图类别;将目标文本输入预训练语言模型,确定目标文本对应的语义向量;根据语义向量,确定目标文本属于每个所述文本意图类别的概率值;根据目标文本属于每个文本意图类别的概率值,从多个文本意图类别中,确定与目标文本对应的目标文本意图类别。本发明基于迁移学习的思想,使用nlp领域中已经经过海量数据预先训练,具有很好的语义表达效果的预训练语言模型,可以比较准确的生成表征目标文本语义特征的语义向量,进而在系统冷启动时,即使没有数量较大的样本文本,也可以进一步根据该语义向量确定与所述目标文本对应的目标文本意图类别,从而提高了意图识别系统的准确度。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例提供的一种文本的意图识别方法的步骤流程图;

图2是本发明实施例提供的一种文本意图识别系统的结构示意图;

图3是本发明实施例提供的另一种文本的意图识别方法的步骤流程图;

图4是本发明实施例提供的另一种文本意图识别系统的结构示意图;

图5是本发明实施例提供的一种文本的意图识别装置的框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1是本发明实施例提供的一种文本的意图识别方法的步骤流程图,如图1所示,该方法可以包括:

步骤101、获取目标文本,以及预先设置的多个文本意图类别。

在该步骤中,文本意图识别系统可以获取目标文本,以及预选设置的多个文本意图类别。

具体的,在将人工智能结合到电话外呼业务中得到的智能外呼机器人的实际应用中,智能外呼机器人可以主动外呼用户,通过先进的人工智能技术达到与用户无障碍的语音交流,并提供各种业务服务。其中,语义理解是智能外呼机器人最核心的功能之一,是对用户语句进行意图识别,具体的,是在智能外呼机器人预先设置的多个文本意图类别中确定用户语句对应的文本意图类别。

例如,若智能外呼机器人的文本意图识别系统预先设置有“听不清”、“肯定”、“否定”和“买保险步骤”四个文本意图类别,则智能外呼机器人在通过语音识别系统确定了用户语句对应的文本之后,可以通过文本意图识别系统从预设的四个文本意图类别选择出该文本所属的文本意图类别,从而确定用户的意图,并针对用户的意图进行相应的应答。例如,若识别到用户语句对应的文本为:“怎么买保险”,则智能外呼机器人可以通过文本意图识别系统确定该文本所属的文本意图类别为“买保险步骤”,从而智能外呼机器人可以针对用户的这一输入语句,为用户输出关于买保险步骤的相关业务规则;若识别到用户语句对应的文本为:“我没有听清楚”,则智能外呼机器人可以通过文本意图识别系统确定该文本所属的文本意图类别为“听不清”,从而智能外呼机器人可以针对用户的这一输入语句,为用户重复输出上一次语音输出。

步骤102、将所述目标文本输入预训练语言模型,确定所述目标文本对应的语义向量。

在该步骤中,可以在获取到目标文本之后,将所述目标文本输入预训练语言模型中,以供预训练语言模型根据目标文本,进行语义识别,从而确定与所述目标文本对应的语义向量。

图2是本发明实施例提供的一种文本意图识别系统的结构示意图,如图2所示,智能外呼机器人在获取到目标文本之后,可以将所述目标文本输入文本意图识别系统中的输入层10,输入层10将所述目标文本转化成计算机模型可以识别和处理的文本向量的形式,并将所述文本向量输入预训练语言模型20中,预训练语言模型20输出与目标文本对应的语义向量。

其中,所述预训练语言模型是属于nlp领域的迁移学习的范畴,语言模型表示序列文本的联合概率分布,具体来说,语言模型的作用是为一个长度为m的文本确定一个概率分布p,表示这段文本存在的可能性,在实践中,如果文本的长度较长,概率分布p的估算会非常困难,因此,研究者们提出使用一个简化模型:n元模型,在n元模型中估算条件概率时,只需要对当前词的前n-1个词进行计算,一般采用频率计数的比例来估算n元条件概率,但是当n较大时,会存在数据稀疏问题,导致估算结果不准确。为了缓解n元模型估算概率时遇到的数据稀疏问题,研究者们提出了神经网络语言模型,该语言模型使用了一个三层前馈神经网络来进行建模,其中第一层参数,用作词表示不仅低维紧密,而且能够蕴涵语义,也就为现在大家都用的语义向量打下了基础。其实,语言模型就是根据上下文去预测下一个词是什么,这不需要人工标注语料,所以语言模型能够从无限制的大规模单语语料中,学习到丰富的语义知识。

目前,神经网络在进行训练的时候基本都是基于后向传播算法,通过对网络模型参数进行随机初始化,然后通过后向传播算法去优化模型参数,而预训练的思想就是,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练。即预训练的本质是模型参数不再是随机初始化,而是通过一些任务(如语言模型)进行预训练。

由于预训练语言模型具有非常复杂的模型结构,并且在事先就在海量数据上进行了大量的预训练,因此,预训练语言模型往往具有很好的语义表达效果。基于迁移学习的思想,在系统进行冷启动等只具有数量较少的样本语句和标注的情况下,可以直接使用预训练语言模型进行语义识别和表征,从而提高文本的语义识别过程的准确度,进而提高文本意图识别过程的准确度。

此外,在本发明实施例中,所述预训练语言模型可以是经过微调训练后得到的语言模型,即在系统进行冷启动时,利用可以获取到的数量较少的样本对预训练语言模型进行微调训练,采用样本训练集中的样本文本以及对应的意图标签,对预训练语言模型的参数和结构等进行微调,使得微调训练后的预训练语言模型更加贴近本发明中的任务,从而使得利用微调训练后的预训练语言模型可以获得质量较好的语义向量,进而提高包含预训练语言模型的文本意图识别系统的精度。

需要说明的是,所述预训练语言模型可以为基于transformers的双向编码器表征(bidirectionalencoderrepresentationsfromtransformers,bert),bert模型不同层学习到的信息不同,较深层所学习到的语义向量具有更好的语义表征性,但倒数第一层由于太靠近模型的输出层,容易受输出标签的影响,因此权衡两者,本发明中文本意图识别系统的预训练语言模型采用倒数第二层的隐含层输出向量,并将高维的输出向量进行平均获得语义向量,公式如下所示:

其中,t为文本意图类别的数量,ct为预训练语言模型倒数第二层的隐含层输出向量,在将目标文本输入预训练语言模型之后,预训练语言模型倒数第二层的隐含层会输出数量为t的输出向量,因此,需要对输出向量进行平均处理,最终获得语义向量。

步骤103、根据所述语义向量,确定所述目标文本属于每个所述文本意图类别的概率值。

在该步骤中,在确定目标文本对应的语义向量之后,可以进一步根据所述语义向量,确定所述目标文本属于每个所述文本意图类别的概率值。

参照图2,文本意图识别系统中的预训练语言模型20输出与目标文本对应的语义向量之后,将所述语义向量输入适当神经元数目的全连接层30,全连接层30可以对该语义向量进行全连接处理和归一化处理,从而获得目标文本属于每个所述文本意图类别的概率值。

具体的,可以将目标文本的意图识别过程看作一个文本的多分类任务,因此,只需通过适当神经元数目的全连接层隐含层,在多个预先设置的多个文本意图类别中,确定所述目标文本属于各个文本意图类别的概率值,从而在多个文本意图类别中,确定出与目标文本对应的目标文本意图类别。

进一步的,将全连接层隐含层输出的多分类输出,利用softmax函数进行归一化,即可获得目标文本属于各个文本意图类别的概率值。具体的,可以根据以下公式获得目标文本属于各个文本意图类别的概率值:

p=softmax(x×wt+b)

其中,x为最后一个隐含层的输出向量,w为隐含层和输出层之间的权重矩阵,wt为权重矩阵w的转置矩阵,b为输出层的偏置量。

步骤104、根据所述目标文本属于每个所述文本意图类别的概率值,从所述多个文本意图类别中,确定与所述目标文本对应的目标文本意图类别。

在该步骤中,可以根据目标文本属于每个所述文本意图类别的概率值,从而在预先设置的多个文本意图类别中,确定与目标文本对应的目标文本意图类别。

参照图2,文本意图识别系统中的全连接层30输出目标文本属于每个所述文本意图类别的概率值之后,将所述目标文本属于每个所述文本意图类别的概率值输入文本意图识别系统的输出层40,输出层40可以根据目标文本属于每个所述文本意图类别的概率值,从而在预先设置的多个文本意图类别中,确定与目标文本对应的目标文本意图类别。

具体的,若确定目标文本属于每个所述文本意图类别的概率值分别为:p1、p2、p3、...、pk,可以进一步将概率值进行大小排序,确定其中的最大值pmax,并将与pmax对应的文本意图类别确定为目标文本意图类别。

进一步的,还可以预先设置概率值阈值pthreshold,在从目标文本与每个所述文本意图类别的概率值中确定了pmax之后,可以进一步判断pmax与pthreshold的大小,若pmax≥pthreshold,则将与pmax对应的文本意图类别确定为目标文本意图类别,若pmax<pthreshold,则输出“ood意图”类别,表示目标文本未被系统设计的意图类别所覆盖。

综上所述,本发明实施例提供的一种文本的意图识别方法,包括:获取目标文本,以及预先设置的多个文本意图类别;将目标文本输入预训练语言模型,确定目标文本对应的语义向量;根据语义向量,确定目标文本属于每个所述文本意图类别的概率值;根据目标文本属于每个文本意图类别的概率值,从多个文本意图类别中,确定与目标文本对应的目标文本意图类别。本发明基于迁移学习的思想,使用nlp领域中已经经过海量数据预先训练,具有很好的语义表达效果的预训练语言模型,可以比较准确的生成表征目标文本语义特征的语义向量,进而在系统冷启动时,即使没有数量较大的样本文本,也可以进一步根据该语义向量确定与所述目标文本对应的目标文本意图类别,从而提高了意图识别系统的准确度。

图3是本发明实施例提供的另一种文本的意图识别方法的步骤流程图,如图3所示,该方法可以包括:

步骤201、获取多个样本文本,以及与所述样本文本对应的文本意图标签。

在该步骤中,需要利用样本文本以及与所述样本文本对应的文本意图标签,对文本意图识别系统进行预先训练,从而使得文本意图识别系统能够在识别用户语句时具有较高的准确度。

具体的,可以先获取多个样本文本,以及与所述样本文本对应的文本意图标签。

需要说明的是,在系统进行冷启动等情况下,只能获取数量较少的样本文本和对应的文本意图标签,因此,利用数量较少的样本文本和对应的文本意图标签对文本意图识别系统进行预先训练,使得训练后得到的文本意图识别系统的精度较低,不能很准确的判断用户语句的真实意图,导致智能外呼机器人的文本意图识别系统的准确度较低。

因此,在本发明实施例中,可以通过预训练语言模型进行样本增强,利用获取到的数量较少的样本文本,生成增强文本,再利用样本文本和增强文本共同对文本意图识别系统进行预先训练,使得用于训练文本意图识别系统的样本数量增加,从而可以提高文本意图识别系统的精度,进而提高智能外呼机器人的文本意图识别系统的准确度,使得智能外呼机器人可以准确的判断用户语句的真实意图,从而针对用户语句执行相应的业务操作。

其中,所述样本文本可以是多个用户语句对应的文本内容,所述样本文本对应的文本意图标签是该用户语句对应的用户意图,例如,样本文本为“怎么买保险”,该样本文本对应的文本意图标签为“买保险步骤”;样本文本为“是的”,该样本文本对应的文本意图标签为“肯定”;样本文本为“不是”,该样本文本对应的文本意图标签为“否定”;样本文本为“我没有听清楚”,该样本文本对应的文本意图标签为“听不清”。

在本发明实施例中,可以将获取到的多个样本文本分为两个集合:训练集和测试集,所述训练集中的样本文本用于训练文本意图识别系统,所述测试集中的样本文本用于在训练文本意图识别系统的过程中,按照一定的训练步长定时验证文本意图识别系统的训练效果,防止文本意图识别系统的训练发生过拟合现象。

步骤202、根据所述多个样本文本和所述文本意图标签,对所述预训练语言模型进行微调训练。

在该步骤中,可以根据获取到的多个样本文本和所述文本意图标签,对所述预训练语言模型进行微调训练,从而使得利用微调训练后的预训练语言模型可以获得质量较好的语义向量。

具体的,可以利用训练集中的样本文本以及对应的意图标签,对预训练语言模型的参数和结构等进行微调训练,使得该预训练语言模型可以更加贴近本发明中的任务,提高包含预训练语言模型的文本意图识别系统的精度。

需要说明的是,本步骤中对预训练语言模型进行的微调训练,即为步骤201中所述对文本意图识别系统进行预先训练的一部分。

在本发明实施例中,在获取到多个样本文本和所述文本意图标签之后,需要将文本格式的样本文本,转化成计算机模型可以识别和处理的文本向量的形式,再将样本文本以文本向量的形式导入预训练语言模型,进行微调训练。

具体的,首先将获得的样本文本,根据预训练语言模型在预训练时建立的字符,转化成tokens数组格式,其中,所述预训练语言模型在预训练时建立的字符包括:[cls]字符、[sep]字符和[pad]字符,所述[cls]字符表示tokens数组的第一个字符,[sep]字符表示tokens数组的最后一个字符,[pad]字符表示在将样本文本转化成长度相同的tokens数组时的占位字符。

例如,若样本文本为“怎么买保险”,预先设定的数组长度为10,则该样本文本对应的tokens数组为[[cls]怎么买保险[sep][pad][pad][pad]]。

进一步的,可以将目标文本对应的tokens数组,根据预训练语言模型在预训练时建立的包括字符与数字id之间映射关系的映射字典,转化成文本向量的形式,所述文本向量包括:token_id,segment_id和input_mask。

其中,所述token_id用于标识tokens数组中每个字符对应的id,segment_id用于在目标文本包含分割的两个句子时,标识目标文本中两个句子的分割,input_mask用于标识tokens数组中的字符是否为占位字符[pad]。

例如,若tokens数组为[[cls]怎么买保险[sep][pad][pad][pad]],则通过查询字符与数字id之间映射关系的映射字典,确定tokens数组中每一个字符对应的数字id,进而生成目标文本对应的token_id。

进一步的,若tokens数组中的分割字符对应的数字id为1,非分割字符对应的数字id为0,则tokens数组:[[cls]怎么买保险[sep][pad][pad][pad]]对应的segment_id为[0,0,0,0,0,0,0,0,0,0]。

进一步的,若tokens数组中的占位字符[pad]对应的数字id为0,非占位字符[pad]对应的数字id为1,则tokens数组:[[cls]怎么买保险[sep][pad][pad][pad]]对应的input_mask为[1,1,1,1,1,1,1,0,0,0]。

具体的,在利用样本文本的文本向量的对预训练语言模型进行微调训练的过程中,可以在预训练语言模型的第一个标签位置,即字符[cls]的位置输出语义向量,并接上适当神经元数目的全连接层隐含层和输出层,既可以得到最终的样本文本的文本意图类别,该样本文本意图类别应与样本文本对应的文本意图标签一致,从而实现预训练语言模型的微调训练。

在本发明实施例中,将全连接层隐含层的输出,利用softmax函数进行归一化,即可获得样本文本属于多个预先设置的文本意图类别的概率值。具体的,可以根据以下公式获得:

p=softmax(x×wt+b)

其中,x为最后一个隐含层的输出向量,w为隐含层和输出层之间的权重矩阵,wt为权重矩阵w的转置矩阵,b为输出层的偏置量。

进一步的,训练上述预训练语言模型的损失函数采用交叉熵损失,公式如下所示:

其中,k是文本意图类别的数量,yi为第i个文本意图类别,pi为样本文本属于第i个文本意图类别的概率值,n是样本文本的数量。

最后,可以利用样本文本中的测试集按照一定的训练步长定时验证预训练语言模型的微调训练效果,检测预训练语言模型对测试集样本文本的预测准确率,当第若干次在测试集样本文本上的准确率未提升后,可停止微调训练过程,保存此时的文本意图识别系统中的预训练语言模型的模型结构和参数,完成预训练语言模型的微调训练,获得微调训练后的预训练语言模型。

步骤203、根据所述多个样本文本,以及与所述样本文本对应的文本意图标签,获取增强文本,以及与所述增强文本对应的文本意图标签。

在该步骤中,可以根据得到的多个样本文本,以及与所述样本文本对应的文本意图标签,利用微调训练后的预训练语言模型,获取增强文本以及与所述增强文本对应的文本意图标签,从而可以利用样本文本和增强文本进一步训练文本意图识别系统中的全连接层,使得用于训练全连接层的文本数量增加,进而可以获得更准确的模型参数,从而提高利用全连接层确定目标文本对应的目标文本意图类别的准确度。

可选的,步骤203具体可以包括以下子步骤:

子步骤2031、获取具有相同文本意图标签的样本文本i、样本文本j,以及样本文本k。

在该步骤中,可以在样本文本中获取具有相同文本意图标签的样本文本i、样本文本j,以及样本文本k。

例如,在样本文本中,可以将具有文本意图标签“买保险步骤”的三个样本文本“怎么买保险”、“我想买保险”和“买保险需要哪些步骤”,分别确定为样本文本i、样本文本j,以及样本文本k。

子步骤2032、将所述样本文本i、样本文本j,以及样本文本k输入所述预训练语言模型,确定与所述样本文本i对应的语义向量ci,与所述样本文本j对应的语义向量cj,以及与所述样本文本k对应的语义向量ck。

在该步骤中,可以将具有相同文本意图标签的样本文本i、样本文本j,以及样本文本k输入经过微调训练的预训练语言模型中,从而获得与样本文本i对应的语义向量ci,与所述样本文本j对应的语义向量cj,以及与所述样本文本k对应的语义向量ck。

子步骤2033、通过以下公式计算所述增强文本:

增强文本对应的语义向量c=ci+α(cj-ck),

其中,α为大于0,且小于1的随机数。

在该步骤中,可以根据以下公式,利用语义向量ci、语义向量cj和语义向量ck,生成新的语义向量c,从而将该语义向量c确定为增强文本对应的语义向量:

c=ci+α(cj-ck),

其中,α为大于0,且小于1的随机数,在该公式中,cj-ck可以表征具有相同文本意图标签的两个样本文本之间的特征差异,再将该特征差异与另一个具有相同文本意图标签的样本文本对应的语义向量ci进行加和,即可以生成另一个也具有该文本意图标签的新的样本文本对应的语义向量,同时,在进行结合之前,可以利用大于0,且小于1的随机数值对cj-ck进行扰动处理,从而可以根据α取值的不同,得到多个新的样本文本,并将这些新的样本文本确定为增强文本。

例如,若α为0.2,则可以得到一个新的样本文本,该样本文本对应的语义向量c1=ci+0.2(cj-ck);若α为0.5,则可以得到另一个新的样本文本,该样本文本对应的语义向量c2=ci+0.5(cj-ck);若α为0.8,则可以继续得到另一个新的样本文本,该样本文本对应的语义向量c3=ci+0.8(cj-ck)。从而可以在不增加原有的样本文本数量的情况下,利用原有的样本文本,进行样本增强,获取增强文本,并利用原有的样本文本和新增的增强文本训练文本意图识别系统,使得在系统冷启动时,即在没有较大数量的样本文本的条件下,也可以通过对样本文本进行增强处理,从而增加训练文本意图识别系统的样本的数量,使得文本意图识别系统的准确度提高。

子步骤2034、将所述相同文本意图标签确定为与所述增强文本对应的文本意图标签。

在该步骤中,将上述相同文本意图标签确定为增强文本对应的文本意图标签。

具体的,利用具有相同文本意图标签的样本文本i、样本文本j,以及样本文本k,确定增强样本时,将样本文本i、样本文本j,以及样本文本k具有的相同文本意图标签,也确定为增强样本对应的文本意图标签。

步骤204、利用所述样本文本和所述增强文本,以及与所述样本文本对应的文本意图标签、与所述增强文本对应的文本意图标签,预先训练所述全连接层。

在该步骤中,可以利用原有的样本文本,和与样本文本对应的文本意图标签,以及新增的增强文本,和与增强文本对应的文本意图标签,共同进行文本意图识别系统全连接层的预先训练。

在本发明实施例中,对预先训练所述全连接层的具体过程,可以是利用样本文本和所述增强文本,以及与所述样本文本对应的文本意图标签、与所述增强文本对应的文本意图标签,对文本意图识别系统进行预先训练,即在对全连接层进行预先训练同时,也可以利用原有的样本文本,和与样本文本对应的文本意图标签,以及新增的增强文本,和与增强文本对应的文本意图标签,对经过微调训练的预训练语言模型进行进一步的训练。

具体的,将原有的样本文本输入文本意图识别系统的输入层,获得样本文本对应的文本向量,再将文本向量传入经过微调训练的预训练语言模型,得到样本文本对应的语义向量,进一步将语义向量传入后续的全连接层隐含层和输出层,即可以获得最终的多分类输出概率值,确定该样本文本的意图类别。而经过数据增强后获得的增强文本,由于数据增强过程中获得的是增强文本对应的语义向量,因此,可以直接将增强文本对应的语义向量输入全连接层隐含层和输出层,即可以直接获得与该增强文本匹配的文本意图类别。

最后,同样可以利用样本文本中的测试集按照一定的训练步长定时验证文本意图识别系统的预先训练效果,检测文本意图识别系统对测试集样本文本的预测准确率,当第若干次在测试集样本文本上的准确率未提升后,可停止预先训练过程,保存此时的文本意图识别系统的结构和参数,完成文本意图识别系统的预先训练,获得预先训练后的文本意图识别系统。

步骤205、获取目标文本,以及预先设置的多个文本意图类别。

该步骤具体可以参照上述步骤101,此处不再赘述。

步骤206、将所述目标文本输入预训练语言模型,确定所述目标文本对应的语义向量。

该步骤具体可以参照上述步骤102。

但是,需要说明的是,该步骤中的所述预训练语言模型可以是经过微调训练,或经过微调训练和预先训练后的预训练语言模型。

可选的,所述预训练语言模型包括:bert、openaigpt和elmo中的任一一种。

可选的,在所述预训练语言模型包含n个隐含层,n为大于2的整数的情况下,步骤206具体可以包括以下子步骤:

子步骤2061、将所述目标文本输入所述预训练语言模型。

在该步骤中,可以在获取到目标文本之后,将所述目标文本输入预训练语言模型中,以供预训练语言模型根据目标文本,进行语义识别,从而确定与所述目标文本对应的语义向量。

子步骤2062、将所述预训练语言模型第n-1个隐含层输出的语义向量,确定为所述目标文本对应的语义向量。

在该步骤中,预训练语言模型根据目标文本,进行语义识别,从而确定与所述目标文本对应的语义向量的具体过程,是当预训练语言模型包含n个隐含层时,将第n-1个隐含层输出的语义向量,确定为所述目标文本对应的语义向量。

具体的,预训练语言模型不同层学习到的信息不同,较深层所学习到的语义向量具有更好的语义表征性,但倒数第一层由于太靠近模型的输出层,容易受输出标签的影响,因此权衡两者,本发明中文本意图识别系统的预训练语言模型将倒数第二层,即第n-1个隐含层输出的语义向量,确定为所述目标文本对应的语义向量。

步骤207、将所述语义向量输入经过预先训练的全连接层,进行全连接处理和归一化处理,得到所述目标文本属于每个所述文本意图类别的概率值。

在该步骤中,在确定目标文本对应的语义向量之后,可以进一步将语义向量输入经过预先训练的全连接层,以供全连接层对目标文本的语义向量进行全连接处理和归一化处理,从而得到所述目标文本属于每个文本意图类别的概率值。

图4是本发明实施例提供的另一种文本意图识别系统的结构示意图,如图4所示,在将输入层10生成的目标文本对应的文本向量输入微调训练后的预训练语言模型21中,微调训练后的预训练语言模型21可以输出与目标文本对应的语义向量,进一步将生成的语义向量输入经过预先训练的全连接层31,全连接层31可以对该语义向量进行全连接处理和归一化处理,从而获得目标文本属于每个所述文本意图类别的概率值。

步骤208、根据所述目标文本属于每个所述文本意图类别的概率值,从所述多个文本意图类别中,确定与所述目标文本对应的目标文本意图类别。

在该步骤中,可以根据目标文本属于每个所述文本意图类别的概率值,从而在预先设置的多个文本意图类别中,确定与目标文本对应的目标文本意图类别。

参照图4,文本意图识别系统中的经过预先训练的全连接层31输出目标文本属于每个所述文本意图类别的概率值之后,将所述目标文本属于每个所述文本意图类别的概率值输入文本意图识别系统的输出层40,输出层40可以根据目标文本属于每个所述文本意图类别的概率值,从而在预先设置的多个文本意图类别中,确定与目标文本对应的目标文本意图类别。

具体的,在预先设置的多个文本意图类别中,确定与目标文本对应的目标文本意图类别的步骤具体可以参照上述步骤104,此处不再赘述。

综上所述,本发明实施例提供的一种文本的意图识别方法,包括:获取目标文本,以及预先设置的多个文本意图类别;将目标文本输入预训练语言模型,确定目标文本对应的语义向量;根据语义向量,确定目标文本属于每个所述文本意图类别的概率值;根据目标文本属于每个文本意图类别的概率值,从多个文本意图类别中,确定与目标文本对应的目标文本意图类别。本发明基于迁移学习的思想,使用nlp领域中已经经过海量数据预先训练,具有很好的语义表达效果的预训练语言模型,可以比较准确的生成表征目标文本语义特征的语义向量,进而在系统冷启动时,即使没有数量较大的样本文本,也可以进一步根据该语义向量确定与所述目标文本对应的目标文本意图类别,从而提高了意图识别系统的准确度。

此外,可以利用微调训练之后的预训练语言模型对原有的样本文本进行增强处理,获取增强文本,并利用原有的样本文本和新增的增强文本训练文本意图识别系统,使得在系统冷启动时,即在没有较大数量的样本文本的条件下,也可以通过对样本文本进行增强处理,从而增加训练文本意图识别系统的样本的数量,使得文本意图识别系统的准确度提高。

图5是本发明实施例提供的一种文本的意图识别装置的框图,如图5所示,该装置可以包括:

第一获取模块301,用于获取目标文本,以及预先设置的多个文本意图类别;

第一确定模块302,用于将所述目标文本输入预训练语言模型,确定所述目标文本对应的语义向量;

第二确定模块303,用于根据所述语义向量,确定所述目标文本属于每个所述文本意图类别的概率值;

第三确定模块304,用于根据所述目标文本属于每个所述文本意图类别的概率值,从所述多个文本意图类别中,确定与所述目标文本对应的目标文本意图类别。

可选的,所述第二确定模块303,包括:

生成子模块,用于将所述语义向量输入经过预先训练的全连接层,进行全连接处理和归一化处理,得到所述目标文本属于每个所述文本意图类别的概率值。

可选的,所述装置还包括:

第二获取模块,用于获取多个样本文本,以及与所述样本文本对应的文本意图标签;

第三获取模块,用于根据所述多个样本文本,以及与所述样本文本对应的文本意图标签,获取增强文本,以及与所述增强文本对应的文本意图标签;

训练模块,用于利用所述样本文本和所述增强文本,以及与所述样本文本对应的文本意图标签、与所述增强文本对应的文本意图标签,预先训练所述全连接层。

可选的,所述第三获取模块,包括:

获取子模块,用于获取具有相同文本意图标签的样本文本i、样本文本j,以及样本文本k;

第一确定子模块,用于将所述样本文本i、样本文本j,以及样本文本k输入所述预训练语言模型,确定与所述样本文本i对应的语义向量ci,与所述样本文本j对应的语义向量cj,以及与所述样本文本k对应的语义向量ck;

计算子模块,用于通过以下公式计算所述增强文本:

增强文本对应的语义向量c=ci+α(cj-ck),

其中,α为大于0,且小于1的随机数;

第二确定子模块,用于将所述相同文本意图标签确定为与所述增强文本对应的文本意图标签。

可选的,所述预训练语言模型包含n个隐含层,n为大于2的整数,

第一确定模块302,包括:

输入子模块,用于将所述目标文本输入所述预训练语言模型;

第三确定子模块,用于将所述预训练语言模型第n-1个隐含层输出的语义向量,确定为所述目标文本对应的语义向量。

可选的,所述装置还包括:

第四获取模块,用于获取多个样本文本,以及与所述样本文本对应的文本意图标签;

微调模块,用于根据所述多个样本文本和所述文本意图标签,对所述预训练语言模型进行微调训练。

可选的,所述预训练语言模型包括:bert、openaigpt和elmo中的任一一种。

综上所述,本发明实施例提供的一种文本的意图识别装置,包括:获取目标文本,以及预先设置的多个文本意图类别;将目标文本输入预训练语言模型,确定目标文本对应的语义向量;根据语义向量,确定目标文本属于每个所述文本意图类别的概率值;根据目标文本属于每个文本意图类别的概率值,从多个文本意图类别中,确定与目标文本对应的目标文本意图类别。本发明基于迁移学习的思想,使用nlp领域中已经经过海量数据预先训练,具有很好的语义表达效果的预训练语言模型,可以比较准确的生成表征目标文本语义特征的语义向量,进而在系统冷启动时,即使没有数量较大的样本文本,也可以进一步根据该语义向量确定与所述目标文本对应的目标文本意图类别,从而提高了意图识别系统的准确度。

对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

优选的,本发明实施例还提供一种计算机设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述文本的意图识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述文本的意图识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

在此提供的文本的意图识别方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的文本的意图识别方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1