基于深度学习的单轮对话数据分类方法、装置和电子设备与流程

文档序号:16209134发布日期:2018-12-08 07:30阅读:160来源:国知局
基于深度学习的单轮对话数据分类方法、装置和电子设备与流程

本发明总体地涉及数据处理领域,且更为具体地,涉及一种基于深度学习的单轮对话数据分类方法、装置和电子设备。

背景技术

随着互联网技术的发展,越来越多的网站采用对话系统对用户进行服务。例如,在线票务预订网站或者在线购物网站通过与用户的在线对话来解决用户需求。

在使用上述对话系统的过程中,为了提高服务效率,需要对用户输入进行大概分类。例如,可以通过用户意图分析确定预定场景下的用户意图,比如机票预订场景下的查询、订票、退票等意图。此外,还可能需要从用户的对话中获得其它信息,例如用户针对服务或者商品所要表达的主观情绪等。

因此,如何基于对话系统中的用户数据,比如用户与系统之间的单轮对话数据挖掘出用户对于客观事物的感受,以更为全面地获取用户对于特定客观现实,比如事件或商品所要表达的主观信息,已逐渐成为当前自然语言处理领域的研究热点。

因此,需要改进的用于对话系统的数据分类方案。



技术实现要素:

为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种基于深度学习的单轮对话数据分类方法、装置和电子设备,其通过双向长短期记忆和注意力机制对单轮对话数据中的用户特征进行提取,从而改进单轮对话场景下的分类效果。

根据本申请的一方面,提供了一种基于深度学习的单轮对话数据分类方法,包括:对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示;通过双向长短期记忆层处理所述单轮对话数据的词向量表示以获得与所述单轮对话数据对应的隐状态序列;以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达;以及,以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布。

在上述基于深度学习的单轮对话数据分类方法中,在以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布之后进一步包括:将与所述概率分布中最大概率对应的标签确定为所述单轮对话数据的分类结果。

在上述基于深度学习的单轮对话数据分类方法中,所述标签是所述单轮对话数据所反映的用户意图,以及,对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示包括:对所述单轮对话数据进行实体识别以获得所述单轮对话数据中每个词对应的实体标签;对所述单轮对话数据进行词性标注以获得所述单轮对话数据中每个词对应的词性标签;将所述单轮对话数据中的每个词及其实体标签和词性标签进行向量转化以获得所述每个词的词向量矩阵、所述实体标签的实体向量矩阵和所述词性标签的词性向量矩阵;以及,连接所述词向量矩阵、所述实体向量矩阵以及所述词性向量矩阵以获得所述单轮对话数据的词向量表示。

在上述基于深度学习的单轮对话数据分类方法中,以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达包括:计算所述每个隐状态的平均值以获得临时句子向量;基于每个隐状态和所述临时句子向量通过神经网络计算每个隐状态对应的权重;以及,基于所述每个隐状态对应的权重对所述隐状态序列进行加权求和以获得所述句子向量表达。

在上述基于深度学习的单轮对话数据分类方法中,所述用于分类的逻辑回归模型是softmax回归模型,以及,以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布包括:计算所述句子向量表达乘以所述softmax回归模型的加权参数之积与偏置项之和作为所述句子向量表达属于所述多个标签中的特定标签的证据;以及,将所述证据求和并进行归一化以获得所述句子向量表达被分类为所述特定标签的概率。

在上述基于深度学习的单轮对话数据分类方法中,以所述单轮对话数据相对于所述标签的概率的交叉熵作为分类损失函数调整深度学习模型中的可训练参数。

根据本申请的另一方面,提供了一种基于深度学习的单轮对话数据分类装置,包括:词向量转化单元,用于对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示;隐状态获得单元,用于通过双向长短期记忆层处理所述单轮对话数据的词向量表示以获得与所述单轮对话数据对应的隐状态序列;句子向量获得单元,用于以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达;以及,分类单元,用于以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布。

在上述基于深度学习的单轮对话数据分类装置中,所述分类单元用于:在以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布之后,将与所述概率分布中最大概率对应的标签确定为所述单轮对话数据的分类结果。

在上述基于深度学习的单轮对话数据分类装置中,所述标签是所述单轮对话数据所反映的用户意图,以及,所述词向量转化单元用于:对所述单轮对话数据进行实体识别以获得所述单轮对话数据中每个词对应的实体标签;对所述单轮对话数据进行词性标注以获得所述单轮对话数据中每个词对应的词性标签;将所述单轮对话数据中的每个词及其实体标签和词性标签进行向量转化以获得所述每个词的词向量矩阵、所述实体标签的实体向量矩阵和所述词性标签的词性向量矩阵;以及,连接所述词向量矩阵、所述实体向量矩阵以及所述词性向量矩阵以获得所述单轮对话数据的词向量表示。

在上述基于深度学习的单轮对话数据分类装置中,所述句子向量获得单元用于:计算所述每个隐状态的平均值以获得临时句子向量;基于每个隐状态和所述临时句子向量通过神经网络计算每个隐状态对应的权重;以及,基于所述每个隐状态对应的权重对所述隐状态序列进行加权求和以获得所述句子向量表达。

在上述基于深度学习的单轮对话数据分类装置中,所述用于分类的逻辑回归模型是softmax回归模型,以及,所述分类单元用于:计算所述句子向量表达乘以所述softmax回归模型的加权参数之积与偏置项之和作为所述句子向量表达属于所述多个标签中的特定标签的证据;以及,将所述证据求和并进行归一化以获得所述句子向量表达被分类为所述特定标签的概率。

在上述基于深度学习的单轮对话数据分类装置中,以所述单轮对话数据相对于所述标签的概率的交叉熵作为分类损失函数调整深度学习模型中的可训练参数。

根据本申请的再一方面,提供了一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的基于深度学习的单轮对话数据分类方法。

根据本申请的又一方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如上所述的基于深度学习的单轮对话数据分类方法。

本申请提供的基于深度学习的单轮对话数据分类方法、装置和电子设备,可以通过双向长短期记忆网络和注意力机制对单轮对话数据中的用户特征进行提取,从而改进单轮对话场景下的分类效果。

附图说明

从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其它方面和优点将变得更加清楚并更容易理解,其中:

图1图示了根据本申请实施例的基于深度学习的单轮对话数据分类方法的流程图。

图2图示根据本申请实施例的表达用户意图的单轮对话数据的词向量转化过程的示意图。

图3图示了根据本申请实施例的双向lstm层和注意力机制层的示意图。

图4图示了根据本申请实施例的以注意力机制层获得单轮对话数据的句子向量表达的过程的流程图。

图5图示了根据本申请实施例的基于深度学习的单轮对话数据分类方法应用于意图分类的示意图。

图6图示了根据本申请实施例的基于深度学习的单轮对话数据分类装置的框图。

图7图示了根据本申请实施例的电子设备的框图。

具体实施方式

下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。

申请概述

如上所述,在对话系统中,需要基于对话来分析用户的所要表达的主观信息。例如,通过用户意图分析,可以对用户输入进行一个大概分类,例如分析出预定机票场景下的查询、订票、退票等意图。

早期的用户意图分类方法主要考虑词法特征,通过编写大量的手工规则,或者是采用模板匹配的方式对用户意图进行分类。但是基于规则的意图分类方法缺乏泛化能力,同时需要不断的维护规则库或是模板库,并且现实场景中自然语言的表达常常复杂而多样,比如语序的交换,同义词替代等。因此,对于系统工作人员来说,要想维护一个既能覆盖所有表达方式,又不互相冲突、不冗余的模板规则库几乎是一件不可能的事。此外,上述方法不能对自然语言进行很好的建模,在处理过程中会丢失大量信息。

目前,基于规则的意图分类方法已经渐渐地推出历史舞台,取而代之的是热门的机器学习方法,而常用的机器学习方法如支持向量机(supportvectormachine,svm),朴素贝叶斯模型以及boostrapping(自举)都是很基础的学习方法,其实现方法都相对简单,对较为复杂的多分类问题的解决能力相对于深度学习模型显得捉襟见肘,同时svm等模型的分类效果严重依赖前期人工提取特征的质量。

相对地,深度学习模型采用组合底层特征的方法,通过多层隐含层的计算,获取抽象的高层特征来表示文本来得到文本向量空间模型。因此,深度学习模型可以通过学习深层的非线性网络结构来弥补传统机器学习方法的不足。此外,深度学习具有很强的降维能力和泛化能力。

因此,本申请的构思是考虑对话系统中的单轮对话数据的分类效果和可实现性,采用循环神经网络(recurrentneuralnetworks,rnn)深度学习模型提取句子中的语义特征并进行意图。

这里,本申请应用于单轮对话场景下的分类,即默认为人机之间只有一轮的交互,或者说不考虑句子之间的关联性。针对目前的单轮对话意图分类模型,本申请的申请人发现其主要存在的问题是:首先意图分类模型需要重点考虑句子中跟用户意图相关的信息,同时要尽量减少不相关信息的干扰;其次,其采用传统的单向rnn神经网络模型,从而在处理句子较前部分时往往会直接忽略句子靠后部分的信息,但是这与人们对自然语言的直观理解是矛盾的,因为语句中的某个词的语义信息往往是跟前后词的信息都相关的。

因此,为了解决上述技术问题,本申请实施例提供了一种基于深度学习的单轮对话数据分类方法、装置和电子设备,其首先对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示,再通过双向长短期记忆(long-shorttermmemory,lstm)层处理所述单轮对话数据的词向量表示以获得与所述单轮对话数据对应的隐状态序列,然后以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达,最后以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布。这样,本申请实施例的提供的基于深度学习的单轮对话数据分类方法、装置和电子设备可以采用双向lstm和注意力机制对对话语句中的用户特征进行提取,改善单轮对话场景中的分类效果。

这里,根据本申请实施例的基于深度学习的单轮对话数据分类方法、装置和电子设备可以用于从单轮对话数据挖掘出各种用户所要表达的主观信息,而不仅限于用户意图,例如,还可以包括用户的主观情绪信息,用户所要表达的主观主题信息等,这可以通过设置所述逻辑回归模型中的不同标签类别来实现。

在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

示例性方法

图1图示了根据本申请实施例的基于深度学习的单轮对话数据分类方法的流程图。

如图1所示,根据本申请实施例的基于深度学习的单轮对话数据分类方法包括:s110,对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示;s120,通过双向长短期记忆层处理所述单轮对话数据的词向量表示以获得与所述单轮对话数据对应的隐状态序列;s130,以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达;以及s140,以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布。

在步骤s110中,对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示。这里,本领域技术人员可以理解,在完成自然语言处理的相关任务时,首先,需要将自然语言转化为计算设备能够识别的语言,即数学符号,其中该数学符号通常为向量。换言之,在获取单轮对话数据之后,需将所述单轮对话数据转化为机器能够识别的表示。

特别地,在本申请实施例中,可以通过词嵌入方法对所述单轮对话数据进行词向量转化,以获得所述单轮对话数据的词向量表示,其中,词向量是词语的连续、稠密、低纬度的分布表示。词嵌入方法(wordembeddingmethod)是将自然语言词语数学化的一种方法,其指的是将自然语言中的每一个词映射到高维空间,并表示为一个高维向量。这种词语表示方法通过训练将词语映射到一个k维实数向量(一般k可取50、100等)其中,每个词即为k维向量空间中的一点,词语之间的距离(如欧式距离、cosine距离)代表词语之间的语义相似度。例如,在本申请实施例中,可以将提前训练好的100维度(k=100)的glove词向量作为所述问题和所述答案的词向量表示,并且,在模型训练过程中,固定该词向量不变。

如上所述,根据本申请实施例的基于深度学习的单轮对话数据分类方法可以用于对用户意图进行分析。通常,在任务型对话系统中,用户意图往往与语句中的实体信息和词性有很强的关系,例如,在订购机票时,用户往往会给出时间、地点等关键信息。因此,可以利用开源的自然语言工具包对语句进行实体识别和词性标注,这样语句中的每个词都会有一个实体标签和词性标签。并且,通过如上所述的词向量转化,可以将实体标签和词性标签转换为词向量表示。或者,通过给不同的实体和词性类别随机初始化一个类似于词向量的向量矩阵,也可以将实体信息和词性信息转化为实体向量和词性向量。然后,对于单轮对话数据的语句中的每一个词,将实体向量、词性向量、词向量联合起来作为双向lstm的输入。该操作的形式化表达如下式所示:

wx=concat(wemd,wner,wpos)

其中,wemd为词向量,wner为实体向量,wpos为词性向量,concat为矩阵的连接操作,将作为下一步骤中双向lstm的输入,其中,demdd是词向量的维度,dpos是词性向量的维度,dner是实体向量的维度。

因此,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,所述标签是所述单轮对话数据所反映的用户意图,以及,对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示包括:对所述单轮对话数据进行实体识别以获得所述单轮对话数据中每个词对应的实体标签;对所述单轮对话数据进行词性标注以获得所述单轮对话数据中每个词对应的词性标签;将所述单轮对话数据中的每个词及其实体标签和词性标签进行向量转化以获得所述每个词的词向量矩阵、所述实体标签的实体向量矩阵和所述词性标签的词性向量矩阵;以及,连接所述词向量矩阵、所述实体向量矩阵以及所述词性向量矩阵以获得所述单轮对话数据的词向量表示。

图2图示根据本申请实施例的表达用户意图的单轮对话数据的词向量转化过程的示意图。如图2所示,上述过程包括:s210,对所述单轮对话数据进行实体识别以获得所述单轮对话数据中每个词对应的实体标签;s220,对所述单轮对话数据进行词性标注以获得所述单轮对话数据中每个词对应的词性标签;s230,将所述单轮对话数据中的每个词及其实体标签和词性标签进行向量转化以获得所述每个词的词向量矩阵、所述实体标签的实体向量矩阵和所述词性标签的词性向量矩阵;以及s240,连接所述词向量矩阵、所述实体向量矩阵以及所述词性向量矩阵以获得所述单轮对话数据的词向量表示。

在步骤s120中,通过双向长短期记忆层处理所述单轮对话数据的词向量表示以获得与所述单轮对话数据对应的隐状态序列。这里,双向长短期记忆层(双向lstm层)是在单向lstm网络的基础上发展而来,其包括两个方向相反的lstm神经网络层,分别为前向lstm(forwardlstm)层和后向lstm(backwardlstm)层。其中,前向lstm层可利用文本序列中每个词完整的未来上下文信息,后向lstm层可利用文本序列中每个词完整的过去上下文信息。

本领域技术人员可以理解,lstm是一种特殊的rnn,相较于rnn能更好地解决较长的句子,同时在短句子上也有不输rnn的表现。而rnn是一种“自循环”的神经网络,常用于各种自然语言处理任务,其基本的神经网络单元跟传统的神经网络单元一样,能够根据输入给出对应的输出,而“自循环”能够保证在序列信息能一步一步地传递到下一个神经网络单元。其“自循环”的形式也可以看作是将同一个神经网络单元复制n次,在迭代过程中每一个神经网络单元都把信息传递到下一个单元。

因此,虽然单向lstm在生成句向量时控制了每个词输入信息量多少,但是该句向量并不能完全适用于用户的主观信息的分类场景,需要给与主观信息相关的词更多的权重,同时尽量忽略不相关词带来的负面影响。此外,由于单向lstm模型大部分仅依赖于单向lstm网络最后输出的隐状态,在处理序列靠前部分时完全忽略了靠后位置的信息,这与人们对自然语言的直观理解是矛盾的,因为语句中的某个词的语义信息往往是跟前后词的信息都相关的。

图3图示了根据本申请实施例的双向lstm层和注意力机制层的示意图。如图3所示,为了使深度学习模型在读取某个词的信息时兼顾前文和后文信息,在根据本申请实施例的系统架构中,采用双向lstm层作为基本的神经网络单元。如图所示,前向lstm层输出的隐状态为:[fh1,fh2,...fht],类似地,后向lstm层输出的隐状态为:[bh1,bh2,...bht]。将每个时刻两个方向的隐状态进行连接后即可得到双向lstm的输出:[h1,h2...ht]=[(fh1,bh1),(fh2,bh2)...(fht,bht)]。

值得一提的是,在本申请实施例中,所述前向lstm层和所述后向lstm层的隐含层之间没有信息流,即,所述前向lstm层和所述后向lstm层之间没有数据流动,这保证所述双向lstm层的展开图是非循环的。同时,本领域技术人员可以理解,双向lstm层可以有效地避免梯度消失和梯度爆炸,从而通过所述双向lstm层可以更好地处理文本数据长依赖问题,也就是说,在本申请实施例中,通过所述双向lstm层可更好地处理所述单轮对话数据的长依赖问题,以进一步地提升分类效果。

在步骤s130中,以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达。这里,注意力机制(attentionmechanism)可以看作是一种“有选择”地从语句中提取相关语义特征的方式。在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,注意力机制层用于对语句中与用户的主观信息相关的信息分配更多的权重,而给不相关信息分配更少的权重,从而生成适用于分类的句子向量表达。

继续参考图3,在没有注意力机制层的情况下,在得到双向lstm层的输出以后,直接将ht作为最后的句向量经过逻辑回归模型,例如softmax回归层进行分类。相对地,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,通过采用注意力机制层,将充分考虑每个时间节点的信息[h1,h2...ht],然后再对所有的隐状态进行加权后得到一个新的适用于分类的句向量。

首先,对双向lstm层的输出隐状态求平均,得到一个暂时能表示整个句子信息的向量q,如下式所示:

q=average(h1,h2...ht)

然后计算每个隐状态的权重,这里的每个权重ai将与当前的隐状态hi和整个句子表达q相关,具体如下式所示:

ui=vttanh(whhi+wqq)

其中wh,都是要通过训练学习的神经网络参数,其中da为注意力模型的维度,dh为双向lstm层输出的隐状态维度。这里,可以认为ai描述了某个特定的词对整个句子向量表达的贡献量大小,最终的整个句向量o计算为:

因此,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,通过改进的基于双向lstm和注意力机制的深度学习模型,解决了单轮对话分类场景下的如何在对句子建模时利用好句子中的前后词信息,以及如何给意图相关的词更多的权重的技术问题。其中,双向lstm层可以在计算句向量的迭代过程中充分引入句子的前后文信息,同时注意力机制可以被简单地理解为尽量选择相关信息而减少不相关信息的影响。这样,如图3所示,最后获得了考虑单轮对话场景下的句子向量表达o。

也就是说,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达包括:计算所述每个隐状态的平均值以获得临时句子向量;基于每个隐状态和所述临时句子向量通过神经网络计算每个隐状态对应的权重;以及,基于所述每个隐状态对应的权重对所述隐状态序列进行加权求和以获得所述句子向量表达。

图4图示了根据本申请实施例的以注意力机制层获得单轮对话数据的句子向量表达的过程的流程图。如图4所示,上述过程包括:s310,计算所述每个隐状态的平均值以获得临时句子向量;s320,基于每个隐状态和所述临时句子向量通过神经网络计算每个隐状态对应的权重;以及s330,基于所述每个隐状态对应的权重对所述隐状态序列进行加权以获得所述句子向量表达。

在步骤s140中,以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布。

如上所述,在获得所述单轮对话数据对应的句子向量表达o,将该向量经过一个分类层即可得到最后的分类输出,分类层主要包含的是进行分类的逻辑回归模型,例如基于softmax回归算法和损失函数的模型。并且,可以采用交叉熵(crossentropy)作为损失函数。

具体地,在采用softmax回归算法时,需要利用句子向量表达o给不同的类别分配概率。这可以大致分为两步,第一步是对输入被分类对象属于某个类的“证据”相加求和,然后将这个“证据”的和进行归一后转化为概率分布。也就是说,将句子向量表达o经过加权以后的结果来作为被分类语句是否属于某个标签,例如某个意图的“证据”,此外要引入偏置项作为与输入无关的常量,如下式所示:

evidencei=wsoftmaxo+b

其中,evidencei即为前面所说的“证据”,是要学习的加权参数和偏执项,n是所有分类的数量,dh是lstm输出隐状态的维度。

然后,进行归一化,如下式所示:

其中,yi是最后的输出,表示y被分为第i类的概率,这样,经过softmax回归以后,得到各个标签的概率分布[y1,y2...yi]。最后,可以将其中最大的值对应的标签确定为最后的标签分类结果。

这里,本领域技术人员可以理解,在根据本申请实施例的深度学习模型中,为了训练模型,需要引入一个指标来评价分类结果的误差,然后通过尽量最小化这个误差来调整模型参数。在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,可以采用交叉熵函数。交叉熵源于信息论中的信息压缩编码技术,后来演变为从博弈论到机器学习等其他领域里的重要技术手段,尤其是在分类任务中。采用交叉熵作为损失函数,可以对深度学习模型中需要学习的一系列参数,包括上述双向lstm层、注意力机制层和逻辑回归模型的可训练参数通过该损失函数的值进行修正。所述交叉熵的定义如下式所示:

hy′(y)=-∑iy′ilog(yi)

因此,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,在以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布之后进一步包括:将与所述概率分布中最大概率对应的标签确定为所述单轮对话数据的分类结果。

并且,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,所述用于分类的逻辑回归模型是softmax回归模型,以及,以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布包括:计算所述句子向量表达乘以所述softmax回归模型的加权参数之积与偏置项之和作为所述句子向量表达属于所述多个标签中的特定标签的证据;以及,将所述证据求和并进行归一化以获得所述句子向量表达被分类为所述特定标签的概率。

此外,在根据本申请实施例的基于深度学习的单轮对话数据分类方法中,以所述单轮对话数据相对于所述标签的概率的交叉熵作为分类损失函数调整深度学习模型中的可训练参数。

图5图示了根据本申请实施例的基于深度学习的单轮对话数据分类方法应用于意图分类的示意图。如图5所示,首先将输入文本经过数据预处理后将词转化为向量的表达形式,然后经过深度学习模型以后得到文本的向量表达(即句向量),最后将得到的句向量经过分类层以后得到该文本的具体意图分类。其中的深度学习模型就是本申请实施例所提出的结合双向lstm和注意力机制的意图分类模型,从而解决当前单轮对话系统中的意图分类问题,主要可应用于任务型对话系统中。

通过上述意图分类,首先能够将输入语句中的用户意图相关信息分配更多的权重,并减少不相关信息的干扰。其次,在处理输入语句中的某个词时,双向lstm能够从正向和反向两个方向进行提取语义信息,充分考虑到词的前后文信息。因此,能够充分地在任务型对话场景中对语句中的用户意图相关特征进行提取,生成高维空间中的向量表达,该向量最终经过分类层能输出最终的用户意图分类结果。

示例性装置

图6图示了根据本申请实施例的基于深度学习的单轮对话数据分类装置的示意性框图。如图6所示,所述基于深度学习的单轮对话数据分类装置400包括:词向量转化单元410,用于对获取的单轮对话数据进行词向量转化以获得所述单轮对话数据的词向量表示;隐状态获得单元420,用于通过双向长短期记忆层处理所述单轮对话数据的词向量表示以获得与所述单轮对话数据对应的隐状态序列;句子向量获得单元430,用于以注意力机制层对所述隐状态序列中的每个隐状态进行加权求和以获得与所述单轮对话数据对应的句子向量表达;以及,分类单元440,用于以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布。

在一个示例中,在上述基于深度学习的单轮对话数据分类装置400中,所述分类单元440用于:在以用于分类的逻辑回归模型处理所述句子向量表达以获得所述单轮对话数据相对于所述逻辑回归模型的多个标签的概率分布之后,将与所述概率分布中最大概率对应的标签确定为所述单轮对话数据的分类结果。

在一个示例中,在上述基于深度学习的单轮对话数据分类装置400中,所述标签是所述单轮对话数据所反映的用户意图,以及,所述词向量转化单元410用于:对所述单轮对话数据进行实体识别以获得所述单轮对话数据中每个词对应的实体标签;对所述单轮对话数据进行词性标注以获得所述单轮对话数据中每个词对应的词性标签;将所述单轮对话数据中的每个词及其实体标签和词性标签进行向量转化以获得所述每个词的词向量矩阵、所述实体标签的实体向量矩阵和所述词性标签的词性向量矩阵;以及,连接所述词向量矩阵、所述实体向量矩阵以及所述词性向量矩阵以获得所述单轮对话数据的词向量表示。

在一个示例中,在上述基于深度学习的单轮对话数据分类装置400中,所述句子向量获得单元430用于:计算所述每个隐状态的平均值以获得临时句子向量;基于每个隐状态和所述临时句子向量通过神经网络计算每个隐状态对应的权重;以及,基于所述每个隐状态对应的权重对所述隐状态序列进行加权求和以获得所述句子向量表达。

在一个示例中,在上述基于深度学习的单轮对话数据分类装置400中,所述用于分类的逻辑回归模型是softmax回归模型,以及,所述分类单元440用于:计算所述句子向量表达乘以所述softmax回归模型的加权参数之积与偏置项之和作为所述句子向量表达属于所述多个标签中的特定标签的证据;以及,将所述证据求和并进行归一化以获得所述句子向量表达被分类为所述特定标签的概率。

在一个示例中,在上述基于深度学习的单轮对话数据分类装置400中,以所述单轮对话数据相对于所述标签的概率的交叉熵作为分类损失函数调整深度学习模型中的可训练参数。

这里,本领域技术人员可以理解,上述基于深度学习的单轮对话数据分类装置400中的各个单元和模块的具体功能和操作已经在上面参考图1到图5描述的基于深度学习的单轮对话数据分类方法中详细介绍,并因此,将省略其重复描述。

如上所述,根据本申请实施例的基于深度学习的单轮对话数据分类装置400可以实现在各种终端设备中,例如用于运行对话系统的服务器。在一个示例中,根据本申请实施例的装置400可以作为一个软件模块和/或硬件模块而集成到所述终端设备中。例如,该装置400可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该装置400同样可以是该终端设备的众多硬件模块之一。

可替换地,在另一示例中,该基于深度学习的单轮对话数据分类装置400与该终端设备也可以是分立的设备,并且该装置400可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。

示例性电子设备

下面,参考图7来描述根据本申请实施例的电子设备。

图7图示了根据本申请实施例的电子设备的框图。

如图7所示,电子设备10包括一个或多个处理器11和存储器12。

处理器11可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。

存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的基于深度学习的单轮对话数据分类方法的功能。在所述计算机可读存储介质中还可以存储诸如对话数据,分类结果等各种内容。

在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

例如,该输入装置13可以是例如键盘、鼠标等等。

该输出装置14可以向外部输出各种信息,包括所述单轮对话数据的分类结果等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图7中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。

示例性计算机程序产品和计算机可读存储介质

除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的基于深度学习的单轮对话数据分类方法中的步骤。例如,所述计算机程序指令可以基于linux操作系统,在tensorflow平台的基础上利用python编写实现。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。。

此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的基于深度学习的单轮对话数据分类方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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