意图识别方法、装置、对话机器人和计算机可读存储介质与流程

文档序号:23384011发布日期:2020-12-22 13:48阅读:104来源:国知局
意图识别方法、装置、对话机器人和计算机可读存储介质与流程

本申请涉及人工智能技术领域,特别是涉及意图识别方法、装置、对话机器人、计算机设备和计算机可读存储介质。



背景技术:

近年来,随着深度学习技术的发展,各种基于深度学习的前沿技术被应用于自然语言处理中。其中,对话机器人是自然语言处理的一个分支,特别是垂直领域下的对话机器人,如淘宝购物中的阿里小蜜,已在业界有广泛的应用。

意图识别属于自然语言处理中的文本分类问题,是对话机器人中一个重要的模块,它负责从用户的输入中提取意图,并给后续操作,如知识图谱推理,提供明确的方向,因此该模块需要极高的精确度。文本分类问题主要包括:第一部分为特征提取,其在该领域下主要有两种方案:基于词频的特征、基于embedding的特征,词频特征可以通过统计词在每句中出现的概率得到,而embedding特征需要通过一些技术如word2vec或bert(bidirectionalencoderrepresentationfromtransformers)词向量化模型实现文本转换。第二部分为模型分类器,其主要可以分为两块:基于传统机器学习的分类器,如逻辑回归,朴素贝叶斯等;基于深度学习的分类器,如卷积神经网络,循环神经网络(recurrentneuralnetwork,简称rnn)等。第三部分,为了满足不同业务上的需求,在提取特征前和得到模型结果后会添加一些业务逻辑。

目前业界比较成熟的方案为从用户输入的句子中提取词频特征并将其输入传统机器学习模型,结合模型输出和业务规则得到最终意图。另一种相对前沿,但在业界没有大规模采用的方案为:将句子输入bert得到词向量,然后将得到的词向量输入lstm(longshort-termmemory,长短期记忆网络)模型,得到每一层输出并对每一层的输出做聚合操作得到最后的m维向量,其中m为目标意图的个数。

上述相关技术中,基于词频的特征虽然工业化程度高,可解释性强,但是其存在维度爆炸问题。特征维度完全取决于词汇表长度,需要在机器上开辟大量的存储空间。与此同时,在如此量级的特征数下,模型拟合速度也相对比较缓慢,因此只能选择相对简单的分类器,所以精度不会特别高。同样,bert作为2018年提出的训练词向量技术,虽然能解决维度爆炸问题,但有一个致命的缺点,其最小的模型都有上亿级别的参数数量,因而导致训练模型需要耗费大量的时间和gpu资源,同时其响应速度相对于较为朴素的分类器慢一个级别。另外,lstm作为上个世纪提出的模型,虽然有效,但存在模型训练缓慢和响应速度缓慢的问题。

因此,利用上述现有技术实现意图识别响应速度缓慢,效率、精度较低,而且训练成本高。



技术实现要素:

本申请实施例提供了一种意图识别方法、装置、对话机器人、计算机设备和计算机可读存储介质,提高意图识别精确度,同时降低训练成本、提高训练效率。

第一方面,本申请实施例提供了一种意图识别方法,包括:

待识别文本获取步骤,用于获取一待识别文本并设置候选意图,所述候选意图个数为n;

向量表示步骤,用于经一文本转换器将所述待识别文本中每一字转换为相应的字向量后,通过一双向循环神经网络及池化层对所述字向量进行特征提取、池化得到所述待识别文本的句向量,并经一复合线性层将所述句向量的维度转换为n,得到一n维句向量;

归一化步骤,用于将所述n维句向量经一softmax层进行归一化处理,从而识别得到每一候选意图及其概率,从而得到用户问句所对应的意图;

其中,所述n为自然数;

通过上述步骤,基于字实现文本切词、向量转换,每一个字对应一个向量,提高切词具有正确率高。

在其中一些实施例中,所述意图识别方法进一步包括:

结果输出步骤,用于选取所述候选意图中概率最高的候选意图作为识别结果。

在其中一些实施例中,所述向量表示步骤进一步包括:

字向量获取步骤,用于经一文本转换器将所述待识别文本映射为对应的字向量,具体的,所述文本转换器包括但不限于albert模型(alitebert)、xlnet模型、erine模型(enhancedlanguagerepresentationwithinformativeentities),采用上述albert模型、xlnet模型或erine模型实现文本动态向量转换,一方面,该模型考虑长距离信息,所得到的字向量在不同上下文环境下对应的结果是不同的,实现了对存在一词多义的文本的转换,同时上述模型还考虑到文末信息中一些代词等包含文首文字的信息关系,因此,字向量可更多方面的表征该字的特征;另一方面,上述模型的训练成本降低,提高响应速度;

句向量获取步骤,用于经所述双向循环神经网络获取所述字向量的前向信息向量和后向信息向量并将二者拼接为一特征向量,再经一池化层对所述特征向量进行池化,池化后的所述特征向量为所述待识别文本的句向量;

向量维度转换步骤,用于经一复合线性层将所述句向量转换为所述n维向量。

通过上述步骤,利用池化层和线性层提高了本实施例的识别方法表现力。

在其中一些实施例中,所述句向量获取步骤中,所述双向循环神经网络采用但不限于双向gru网络(gaterecurrentunit,简称gru),利用所述双向gru网络,考虑文本中的前向信息和后向信息,同时,双向gru网络提高了数据传递速度,有效提升本实施例的响应速度和精度,也有助于提高拟合效果。

在其中一些实施例中,所述池化层进一步包括:最大池化层maxpooling、平均池化层avgpooling,用于对所述特征向量中每一列分别取最大值和平均值,得到二池化后的特征向量后,并经拼接二所述池化后的特征向量得到所述句向量。

在其中一些实施例中,所述复合线性层至少包括:dropout层、批标准化层batchnormalization、激活函数activationfunction其一或其任意组合。

第二方面,本申请实施例提供了一种意图识别装置,用于实现如上述第一方面所述的意图识别方法,所述装置包括:

一待识别文本获取模块,用于获取一待识别文本并设置候选意图,所述候选意图个数为n;

一向量表示模块,用于经一文本转换器将所述待识别文本中每一字转换为响应的字向量后,通过一双向循环神经网络及池化层对所述字向量进行特征提取、池化得到所述待识别文本的句向量,并经一复合线性层将所述句向量的维度转换为n,得到一n维句向量;

一归一化模块,用于将所述n维句向量经一softmax层进行归一化处理,从而识别得到每一候选意图及其概率,从而得到用户问句所对应的意图,

其中,所述n为自然数。

在其中一些实施例中,所述意图识别装置进一步包括:

一结果输出模块,用于选取归一化模块得到的概率最高的候选意图为识别结果。

在其中一些实施例中,所述向量表示模块进一步包括:

一字向量获取模块,用于经一文本转换器将所述待识别文本映射为对应的字向量,具体的,所述文本转换器包括但不限于albert模型、xlnet模型、erine模型;

一句向量获取模块,用于经所述双向循环神经网络获取所述字向量的前向信息向量和后向信息向量并将二者拼接为一特征向量,再经一池化层对所述特征向量进行池化,池化后的所述特征向量为所述待识别文本的句向量;

一向量维度转换模块,用于经一复合线性层将所述句向量转换为所述n维向量。

在其中一些实施例中,所述双向循环神经网络采用但不限于双向gru网络。

在其中一些实施例中,所述池化层进一步包括:最大池化层maxpooling、平均池化层avgpooling,用于对所述特征向量中每一列分别取最大值和平均值,得到二池化后的特征向量后,并经拼接二所述池化后的特征向量得到所述句向量。

在其中一些实施例中,所述复合线性层至少包括:dropout层、批标准化层batchnormalization、激活函数activationfunction其一或其任意组合。

第三方面,本申请实施例提供了一种对话机器人,至少包括:

一预处理模块,用于接收语音信号并将接收的语音信号输出为文本;

一意图识别模块,用于接收所述预处理模块输出的文本并基于如权利要求1至6中任一项所述的意图识别方法进行识别,得到至少一候选意图;及

一对话管理模块,用于获取至少一所述候选意图并根据所述候选意图返回一应答信号。

第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的意图识别方法。

第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面所述的意图识别方法。

相比于相关技术,本申请实施例提供的意图识别方法、装置、对话机器人、计算机设备和计算机可读存储介质,通过文本转换得到待识别文本的向量表示后,计算得到每一候选意图的概率值,选取相应意图进行对话。

本申请实施例采用基于字的模型进行向量转换,保证了文本切词的正确,同时解决了一词多义的转换问题,考虑文本中字的长距离信息;

本申请实施例基于上述步骤、或模块提升了意图识别结果的精度、降低意图识别的训练成本,提高响应速度和效率,进一步提高了对话机器人的响应速度和对话精准度。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的意图识别方法流程图;

图2是根据本申请实施例的意图识别方法另一流程示意图;

图3是根据本申请实施例的意图识别装置结构示意框图;

图4是根据本申请实施例的对话机器人结构示意框图。

附图说明:

1、意图识别装置;11、待识别文本获取模块;12、向量表示模块;

13、归一化模块;14、结果输出模块;

121、字向量获取模块;122、句向量获取模块;123、向量维度转换模块;

2、对话机器人

21、预处理模块;22、意图识别模块;23、对话管理模块。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本实施例提供了一种意图识别方法,图1是根据本申请实施例的意图识别方法流程图。如图1所示,该方法包括如下步骤:

待识别文本获取步骤s1,用于获取一待识别文本并设置候选意图,候选意图个数为n,其中,n为自然数;

向量表示步骤s2,用于经一文本转换器将待识别文本中每一字转换为相应的字向量后,通过一双向循环神经网络及池化层对字向量进行特征提取、池化得到待识别文本的句向量,并经一复合线性层将句向量的维度转换为n,得到一n维句向量;

归一化步骤s3,用于将n维句向量经一softmax层进行归一化处理,从而识别得到每一候选意图及其概率,从而得到用户问句所对应的意图,

其中,复合线性层至少包括:dropout层、批标准化层batchnormalization、激活函数activationfunction其一或其任意组合,并不限于所示出的几种线性层,也可以是其他可实现同样技术效果的函数或函数组合。

在其中一些实施例中,本实施例的意图识别方法进一步包括:结果输出步骤s4,用于选取候选意图中概率最高的候选意图作为识别结果。

在其中一些实施例中,向量表示步骤s2还包括:

字向量获取步骤s201,用于经一文本转换器将待识别文本映射为对应的字向量,具体的,文本转换器包括但不限于albert模型、xlnet模型、erine模型;

句向量获取步骤s202,用于经双向循环神经网络获取字向量的前向信息向量和后向信息向量并将二者拼接为一特征向量,再经一池化层对特征向量进行池化,池化后的特征向量为待识别文本的句向量,其中,双向循环神经网络采用但不限于双向gru网络,池化层包括:最大池化层maxpooling、平均池化层avgpooling,实现对特征向量中每一列分别取最大值和平均值,得到二池化后的特征向量后,并经拼接二池化后的特征向量得到句向量;

向量维度转换步骤s203,用于经一复合线性层将句向量转换为n维向量。

通过上述步骤,本实施例基于字实现文本切词、向量转换,每一个字对应一个向量,提高切词具有正确率高。本实施例采用上述albert模型、xlnet模型或erine模型实现文本动态向量转换,一方面,该模型考虑长距离信息,所得到的字向量在不同上下文环境下对应的结果是不同的,实现了对存在一词多义的文本的转换,同时上述模型还考虑到文末信息中一些代词等包含文首文字的信息关系,因此,字向量可更多方面的表征该字的特征;另一方面,上述模型的训练成本降低,提高响应速度;本实施例利用池化层和线性层提高了本实施例的识别方法表现力。本实施例还利用双向gru网络,考虑文本中的前向信息和后向信息,同时,双向gru网络提高了数据传递速度,有效提升本实施例的响应速度和精度,也有助于提高拟合效果。

下面通过优选实施例对本申请实施例进行描述和说明。

图2是根据本申请优选实施例的意图识别方法的流程图。参考图2所示,

首先,本实施例执行步骤s01,获取输入的待识别文本,举例而非限定,如图所示的待识别文本为:“水多少钱”,并设置候选意图的个数n为3,举例而非限定,设置候选意图分别为:咨询价格、咨询重量、咨询位置;

然后执行步骤s201,将待识别文本输入至albert层进行albertembedding,得到每个字对应的三维向量,即为字向量;然后执行步骤s202,将字向量输入到双向gru网络进行前向gru和后向gru后拼接训练结果为特征向量h1、h2、h3及h4,该特征向量h1、h2、h3及h4分别输入到池化层的最大池化层maxpooling和平均池化层averagepooling,将池化结果拼接得到的向量作为待识别文本的句向量;再执行步骤s203,将句向量输入到复合线性层得到三维向量;

随后,该三维向量输入到步骤s3中的softmax层归一化得到每个候选意图的概率,举例而非限定,候选意图对应的概率分别为:咨询价格为0.8、咨询重量为0.1、咨询位置为0.1;

最后,执行步骤s4,选取概率最高的候选意图为待识别文本“水多少钱”的意图,即该问句的意图为咨询价格。

本实施例还提供了一种意图识别装置。图3是根据本申请实施例的意图识别装置结构示意框图。参考图3所示,该意图识别装置1包括待识别文本获取模块11、向量表示模块12、归一化模块13等模块。本领域技术人员可以理解,图3中示出的意图识别装置结构并不构成对意图识别装置的限定,可以包括比图示更多或更少的部件,或者组合某些模块,或者不同的模块布置。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

下面结合图3对意图识别装置的各个模块进行具体的介绍:

待识别文本获取模块11,用于获取一待识别文本并设置候选意图,候选意图个数为n,其中,n为自然数;

向量表示模块12,用于经一文本转换器将待识别文本中每一字转换为响应的字向量后,通过一双向循环神经网络及池化层对字向量进行特征提取、池化得到待识别文本的句向量,并经一复合线性层将句向量的维度转换为n,得到一n维句向量;

归一化模块13,用于将n维句向量经一softmax层进行归一化处理,从而识别得到每一候选意图及其概率,从而得到用户问句所对应的意图。

在其中一些实施例中,意图识别装置1进一步包括:

结果输出模块14,用于选取归一化模块13得到的概率最高的候选意图为识别结果。

其中,向量表示模块12进一步包括:

字向量获取模块121,用于经一文本转换器将待识别文本映射为对应的字向量,具体的,文本转换器包括但不限于albert模型、xlnet模型、erine模型,采用albert模型、xlnet模型或erine模型实现文本动态向量转换,一方面,该模型考虑长距离信息,所得到的字向量在不同上下文环境下对应的结果是不同的,实现了对存在一词多义的文本的转换,同时上述模型还考虑到文末信息中一些代词等包含文首文字的信息关系,因此,字向量可更多方面的表征该字的特征;另一方面,上述模型的训练成本降低,提高响应速度;

句向量获取模块122,用于经双向循环神经网络获取字向量的前向信息向量和后向信息向量并将二者拼接为一特征向量,再经一池化层对特征向量进行池化,池化后的特征向量为待识别文本的句向量,双向循环神经网络采用但不限于双向gru网络,池化层包括:最大池化层maxpooling、平均池化层avgpooling;

向量维度转换模块123,用于经一复合线性层将句向量转换为n维向量,复合线性层至少包括:dropout层、批标准化层batchnormalization、激活函数activationfunction其一或其任意组合。上述句向量获取模块122、向量维度转换模块123利用池化层和线性层提高了本实施例模块意图识别表现力,利用双向gru网络,考虑文本中的前向信息和后向信息,同时,双向gru网络提高了数据传递速度,有效提升本实施例意图识别装置的响应速度和精度,也有助于提高拟合效果。

本实施例还提供了一种对话机器人。图4是根据本申请实施例的对话机器人结构示意框图。参考图4所示,该对话机器人2,至少包括:

预处理模块21,用于接收语音信号并将接收的语音信号输出为文本;

意图识别模块22,用于接收预处理模块21输出的文本并上述实施例中的任意一种意图识别方法进行识别,得到至少一候选意图;及

对话管理模块23,用于获取至少一候选意图并根据候选意图返回一应答信号。

结合图1-2描述的本申请实施例意图识别方法可以由计算机设备,包括存储器、处理器以及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行计算机程序时实现上述实施例中任意一种意图识别方法。

另外,结合上述实施例中的意图识别方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种意图识别方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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