基于自然语言处理的语句补全方法、装置、设备及介质与流程

文档序号:26139837发布日期:2021-08-03 14:23阅读:139来源:国知局
基于自然语言处理的语句补全方法、装置、设备及介质与流程

本申请涉及人工智能领域,尤其涉及一种基于自然语言处理的语句补全方法、基于自然语言处理的语句补全装置、计算机设备以及计算机可读存储介质。



背景技术:

目前,针对人们一般倾向于用不完全的对话来回答问题(即善于使用指代词和忽略会话双方的一些已知信息),为了进行会话语句的补全,现在会话中的不完全话语重写(incompleteutterancerewriting,iur)任务越来越受到人们的关注。

现在的对话重写任务通常是将其塑造为一个机器翻译任务,并采用基于序列到序列的体系结构和复制机制,来进行会话语句的补全,但是这样不仅数据处理繁杂,而且速度慢,难以满足人机即时对话的需求。

上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本申请的主要目的在于提供一种基于自然语言处理的语句补全方法、基于自然语言处理的语句补全装置、计算机设备以及计算机可读存储介质,旨在解决如何保证得到高准确率的语句补全结果的同时,提高语句补全的效率的问题。

为实现上述目的,本申请提供一种基于自然语言处理的语句补全方法,包括以下步骤:

获取待处理的目标语句和所述目标语句对应的会话语句,所述会话语句包括上文语句和/或下文语句;

利用自然语言处理模型将所述目标语句转换为第一词向量,以及将所述会话语句转换为第二词向量;

提取所述第一词向量对应的第一语境信息、所述第二词向量对应的第二语境信息,以及提取所述第一词向量和所述第二词向量之间的第三语境信息,并根据所述第一语境信息和所述第三语境信息生成第一隐藏状态,以及根据所述第二语境信息和所述第三语境信息生成第二隐藏状态;

根据所述第一隐藏状态和所述第二隐藏状态,生成与所述目标语句和所述会话语句相关的特征向量;

基于所述特征向量获取全局信息,以将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵;

利用连通域标记算法查询所述字向量矩阵中的连通区域;

根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果。

进一步地,所述根据所述第一隐藏状态和所述第二隐藏状态,生成与所述目标语句和所述会话语句相关的特征向量的步骤包括:

根据所述第一隐藏状态和所述第二隐藏状态,确定所述第一词向量和所述第二词向量之间的字级相似性,以及确定所述第一词向量和所述第二词向量之间的余弦相似性,以及确定所述第一词向量和所述第二词向量之间的双线性相似性;

根据所述字级相似性、所述余弦相似性和所述双线性相似性,生成特征向量。

进一步地,所述基于所述特征向量获取全局信息,以将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵的步骤包括:

利用所述自然语言处理模型的切分层提取所述特征向量对应的全局信息,并基于所述全局信息,将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵;

其中,所述切分层包括自所述切分层的输入端开始依次连接的两个下采样模块、两个上采样模块和全连接模块;所述下采样模块包括依次连接的两个卷积单元,以及全局池化单元;所述上采样模块包括依次连接的两个卷积单元,以及反卷积单元;所述全连接模块包括依次连接的两个卷积单元,以及前馈神经网络单元。

进一步地,所述根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果的步骤包括:

根据所述会话语句中与每个所述连通区域关联的字向量,以及所述目标语句中与每个所述连通区域关联的字向量,确定每个所述连通区域对应的编辑操作,其中,所述编辑操作的类型包括替换操作和插入操作;

根据所述会话语句中与每个所述连通区域关联的字向量,以及每个所述连通区域对应的所述编辑操作,对所述目标语句进行语句补全处理,得到语句补全结果。

进一步地,所述根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果的步骤之后,还包括:

确定所述语句补全结果对应的响应操作;

根据所述响应操作对所述目标语句对应的会话任务进行响应处理。

进一步地,所述根据所述响应操作对所述目标语句对应的会话任务进行响应处理的步骤之后,还包括:

接收到所述响应处理对应的确定响应时,根据所述语句补全结果、所述目标语句和所述会话语句生成训练样本;

利用所述训练样本更新所述自然语言处理模型。

进一步地,所述根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果的步骤之后,还包括:

将所述目标语句对应的会话记录中的所述目标语句,替换为所述语句补全结果,并更新所述会话记录;

将更新后的所述会话记录发送至存储服务端以块链式的账本进行存储。

为实现上述目的,本申请还提供一种基于自然语言处理的语句补全装置,所述基于自然语言处理的语句补全装置包括:

获取模块,用于获取待处理的目标语句和所述目标语句对应的会话语句,所述会话语句包括上文语句和/或下文语句;

切分模块,用于利用自然语言处理模型将所述目标语句转换为第一词向量,以及将所述会话语句转换为第二词向量;

提取模块,用于提取所述第一词向量对应的第一语境信息、所述第二词向量对应的第二语境信息,以及提取所述第一词向量和所述第二词向量之间的第三语境信息,并根据所述第一语境信息和所述第三语境信息生成第一隐藏状态,以及根据所述第二语境信息和所述第三语境信息生成第二隐藏状态;

生成模块,用于根据所述第一隐藏状态和所述第二隐藏状态,生成与所述目标语句和所述会话语句相关的特征向量;

转换模块,用于基于所述特征向量获取全局信息,以将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵;

查询模块,用于利用连通域标记算法查询所述字向量矩阵中的连通区域;

处理模块,用于根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果。

为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括:

所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述基于自然语言处理的语句补全方法的步骤。

为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述基于自然语言处理的语句补全方法的步骤。

本申请提供的基于自然语言处理的语句补全方法、基于自然语言处理的语句补全装置、计算机设备以及计算机可读存储介质,将语句补全任务作为一种语义切分任务,并通过计算上下文信息及待补全语句之间的相似性确定编辑矩阵特征,充分捕捉上下文信息与待补全语句之间的关系,并在此基础上构建基于字级编辑的字向量矩阵,对当前需要进行语句补全的语句进行处理,可以得到高准确率的语句补全结果,而且通过实现并行地预测并编辑字向量矩阵,使得在语句补全的过程中可以并行执行各个所需执行的编辑操作进行语句补全,从而提高了进行语句补全的效率。

附图说明

图1为本申请一实施例中基于自然语言处理的语句补全方法步骤示意图;

图2为本申请一实施例的自然语言处理模型的结构示意图;

图3为本申请一实施例的字向量矩阵示例图;

图4为本申请一实施例的字向量矩阵中的连通区域示例图;

图5为本申请一实施例的自然语言处理模型中的切分层的结构示意图;

图6为本申请一实施例的基于自然语言处理的语句补全装置示意框图;

图7为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,在一实施例中,所述基于自然语言处理的语句补全方法包括:

步骤s10、获取待处理的目标语句和所述目标语句对应的会话语句,所述会话语句包括上文语句和/或下文语句;

步骤s20、利用自然语言处理模型将所述目标语句转换为第一词向量,以及将所述会话语句转换为第二词向量;

步骤s30、提取所述第一词向量对应的第一语境信息、所述第二词向量对应的第二语境信息,以及提取所述第一词向量和所述第二词向量之间的第三语境信息,并根据所述第一语境信息和所述第三语境信息生成第一隐藏状态,以及根据所述第二语境信息和所述第三语境信息生成第二隐藏状态;

步骤s40、根据所述第一隐藏状态和所述第二隐藏状态,生成与所述目标语句和所述会话语句相关的特征向量;

步骤s50、基于所述特征向量获取全局信息,以将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵;

步骤s60、利用连通域标记算法查询所述字向量矩阵中的连通区域;

步骤s70、根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果。

本实施例中,实施例终端可以是计算机设备,也可以是一种基于自然语言处理的语句补全装置。

如步骤s10所述:终端可以是从会话任务对应的会话记录中,分别获取待处理的目标语句和所述目标语句对应的至少一个会话语句。其中,所述目标语句即为需要进行语句补全(或称语句重写)的语句;所述会话语句为所述目标语句对应的上文语句和/或下文语句。

例如,针对会话顺序依次为a1、b1和a2的会话记录,b1和a2均为a1的下文语句;a1为b1的上文语句,a2为b1的下文语句;a1和b1均为a2的上文语句。其中,a1为“北京今天天气如何”、b1为“北京今天是阴天”、a2为“为什么总是这样”,且当终端获取a2为目标语句时,则a1和b1均可以作为a2对应的会话语句。

如步骤s20所述:终端预先基于人工智能技术和自然语言处理技术,构建并训练有自然语言处理模型。应当理解的是,所述自然语言处理模型预先基于多个训练样本经多次迭代更新后训练得到。

其中,每个所述训练样本包括目标语句样本、目标语句样本对应的至少一个会话语句样本,以及包括进行语句补全后的目标语句样本;所述训练样本的数量足够多,如一千个以上。

可选的,参照图2,所述自然语言处理模型包括上下文层10、编码层20和切分层30,其中,所述上下文层10包括词向量层11和bilstm(bi-directionallongshort-termmemory,双向长短时记忆网络)层12。

可选的,终端可以是先将目标语句切分为多个字向量,组成第一字向量xa=(x1,x2,…,xn),以及将会话语句切分为多个字向量,组成第二字向量ca=(c1,c2,…,cm);然后,终端再将第一字向量输入经自然语言处理模型的第一输入端输入到上下文层10中,以及第二字向量输入经自然语言处理模型的第二输入端输入到上下文层10中。

进一步地,在上下文层10,终端可以先利用词向量层11将第一字向量转换为第一词向量xb=(x1,x2,…,xn),其中,n≤n;以及利用词向量层11将第二字向量转换为第二词向量cb=(c1,c2,…,cm),其中,m≤m;应当理解的是,每个词向量由至少一个字向量生成。

如步骤s30所述:当终端得到第一词向量和第二词向量后,则将第一词向量和第二词向量分别输入到bilstm层12中,由bilstm层12分别提取(或称捕捉)第一词向量中的各词向量之间的第一语境信息,以及提取第二词向量中的各词向量之间的第二语境信息,以及提取第一词向量和第二词向量之间的第三语境信息,然后基于第一语境信息和第三语境信息生成第一词向量对应的第一隐藏状态(隐藏状态或称隐状态)h=(h1,h2,…,hn),以及基于第二语境信息和第三语境信息生成第二词向量对应的第二隐藏状态u=(u1,u2,…,um)。

需要说明的是,长短时记忆网络是通过对细胞状态中信息遗忘和记忆新的信息,使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐藏状态,其中遗忘、记忆与输出由通过上个时刻的隐藏状态和当前输入计算出来的遗忘门、记忆门、输出门来控制。而bilstm层同样基于该原理生成相应的隐藏状态。在本实施例中,语境信息即是为bilstm层需要计算的词与词之间的有用的信息。

如步骤s40所述:当终端得到第一隐藏状态和第二隐藏状态后,则根据所述第一隐藏状态和所述第二隐藏状态,确定所述第一词向量和所述第二词向量之间的字级相似性,以及确定所述第一词向量和所述第二词向量之间的余弦相似性,以及确定所述第一词向量和所述第二词向量之间的双线性相似性;根据所述字级相似性、所述余弦相似性和所述双线性相似性,生成特征向量。

可选的,终端将第一隐藏状态与第一词向量关联输入到编码层20中,以及将第二隐藏状态与第二词向量关联输入到编码层20中。

其中,所述编码层20可以用于计算第一词向量和所述第二词向量之间的字级相似性(相似性或称相似度),以及计算所述第一词向量和所述第二词向量之间的余弦相似性(cosinesimilarity),以及计算所述第一词向量和所述第二词向量之间的双线性相似性。

可选的,终端在利用编码层20计算第一词向量和所述第二词向量之间的字级相似性时,可以是通过计算第一隐藏向量h和第二隐藏向量u之间的哈达玛积(hadamardproduct),以得到字级相似性f1。计算公式如下:

f1=h⊙u

其中,“⊙”为哈达玛积用于表示对应位置元素相乘。例如:

如若c=a⊙b=aij×bij=cij,则称矩阵c=(cij)为a=(aij)和b=(bij)的哈达玛积。

可选的,终端在利用编码层20计算第一词向量和所述第二词向量之间余弦相似性时,可以是利用第一隐藏向量h和第二隐藏向量u进行计算,得到余弦相似性f2=cos(h,u)。

可选的,终端在利用编码层20计算第一词向量和所述第二词向量之间双线性相似性时,可以是利用第一隐藏向量h和第二隐藏向量u进行计算,得到双线性相似性f3。计算公式如下:

f3=h×w×u

其中,w为可学习变量,由模型预先训练学习得到。

可选的,当终端得到第一词向量和所述第二词向量之间的字级相似性、余弦相似性和双线性相似性后,即可利用这三种相似性函数来编码词向量与词向量之间的关系。具体地,第一词向量和第二词向量之间的关联性被一个d维的特征向量f(xb,cb)捕获。其中,d维的具体维数与编码层中各编码单元的数量相关。

可选的,特征向量f(xb,cb)捕是通过将第一词向量和第二词向量之间的字级相似性f1、余弦相似性f2和双线性相似性f3串联生成的,计算公式如下所示:

f(xb,cb)=f1;f2;f3]

可选的,根据实际情况需要,为了提高模型提取特征向量的准确率,还可以先计算第一词向量和第二词向量之间的其他相似性(即除字级相似性、余弦相似性和双线性相似性之外的相似性),如欧式距离、皮尔逊相关系数等;然后在生成特征向量时,再利用第一词向量和第二词向量之间的、字级相似性、余弦相似性、双线性相似性,以及欧式距离和/或皮尔逊相关系数,共同生成第一词向量和第二词向量之间的特征向量。

需要说明的是,这些相似性函数可以从不同的角度对词向量与词向量之间的相关性进行建模,对模型后续进行编辑类型分类具有重要意义;编码层20生成与第一词向量和第二词向量相关的特征向量的过程,即是提取第一词向量和第二词向量之间的局部信息的一个过程。

如步骤s50所述:当编码层20对第一词向量xb和第二词向量cb相关的特征向量f(xb,cb)提取完成时,则编码层会获取所有特征向量f(xb,cb),并以此生成特征映射矩阵z(m×n×d),然后将特征映射矩阵z(m×n×d)进行输出。其中,特征映射可以理解为与特征向量具有映射关系的参数。

进一步地,终端将编码层20输出端所输出的特征映射矩阵输入到切分层30中。其中,切分层30用于基于特征映射矩阵提取第一词向量和第二词向量之间的全局信息。

可选的,所述切分层30包括至少一个下采样模块和至少一个上采样模块。每个下采样模块包括两个独立的卷积(conv)单元,以及一个后续的全局池化单元(或称‘最大池’),其中,所述卷积单元可提供卷积操作,所述全局池化单元可提供全局池化操作(即最大的池化操作);每个上采样模块包括两个独立的卷积单元,以及一个后续的反卷积单元。

可选的,输入切分层的特征映射矩阵,会先进入切分层中的下采样模块,并依次经过两个卷积单元进行连续两次的卷积操作后,再经全局池化单元进行全局池化操作,得到通道数加倍的特征映射矩阵进行输出,即特征映射矩阵每经一个下采样模块进行数据处理后,其通道数都会相应加倍。同时,下采样模块还会将从特征映射矩阵中裁剪出的特征映射作为残差连接(skipconnect)进行输出。

可选的,当特征映射矩阵依次经过所有下采样模块进行相应的数据处理后,会进入上采样模块,并依次经上采样模块中的两个卷积单元,以及一个反卷积单元,进行连续两次的卷积操作,以及一次反卷积操作,从而将输入的特征映射矩阵对应的通道数减半后进行输出,而且上采样模块还会将之前下采样模块裁剪出的特征映射,与其处理完的特征映射矩阵重新连接起来,然后一并作为上采样模块的输出。

可选的,所述切分层还包括全连接模块,所述全连接模块包括两个卷积单元和一个前馈神经网络单元。输入切分层的特征映射矩阵依次经下采样模块和上采样模块进行处理后,会提取得到特征映射矩阵对应的全局信息。

此时再将经下采样模块和上采样模块进行处理后特征映射矩阵,进一步输入到全连接模块中,并经全连接模块的两个卷积单元,进行连续两次的卷积操作后,然后再由前馈神经网络单元基于提取得到的全局信息,将处理后的特征映射矩阵对应的每个特征向量,分别映射到三种编辑操作类型中的一种,并基于生成字向量矩阵q(m×n),或称字级编辑矩阵q(m×n)。

其中,三种编辑操作的类型分别为替换操作(即字向量替换操作)、插入操作(即字向量插入操作)和无操作。而且,无操作指的是既非替换操作,也非插入操作(即无需执行编辑操作)。

可选的,工程师在标记自然语言处理模型的训练样本时,可以是在各训练样本中,分别标注出会话语句样本中用于执行替换操作的字向量,以及标记出用于执行插入操作的字向量,以及标注出目标语句样本中用于执行替换操作的字向量(即被会话语句样本对应的字向量进行替换的字向量)。当自然语言处理模型基于训练样本进行训练的过程中,就可以不断学习同一训练样本中被标注的字向量,与同一训练样本中的语句补全后的目标语句样本之间的关联关系(即各字向量对应的编辑类型的关联关系)。这样当自然语言处理模型在后续应用在转换字向量矩阵的过程中,即可基于之前学习得到的编辑类型的关联关系,对特征映射矩阵对应的每个特征向量进行分类,以判定各特征向量所属的编辑类型。

应当理解的是,除替换操作和插入操作之外的编辑类型(即编辑操作的类型),即为无操作。

可选的,终端最终得到的字向量矩阵是q(m×n)是与所述目标语句和所述会话语句呈相关性的,即字向量矩阵q(m×n)的行列长度,分别是由会话语句对应的字向量的数量m,以及目标语句对应的字向量的数量n决定的。即可以理解为字向量矩阵由第一字向量xa=(x1,x2,…,xn)和第二字向量ca=(c1,c2,…,cm)组成,且矩阵中已提取并关联得到相应的局部信息(由编码层提取)和全局信息(由切分层提取)。

如步骤s60所述:在字向量矩阵中,每个编辑区域都可以看作一个矩形。

参照图3,以第一字向量xa=(x1,x2,x3,x4,x5,x6,x7,x8,…,xn),以及第二字向量ca=(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,…,cm)对应的字向量矩阵为例,在矩阵中,每一个行列构成的编辑区域都可以作为一个基本的矩形区域。

可选的,当终端得到字向量矩阵后,则可以采用连通域标记算法,查询并标记处字向量矩阵中的连通区域。其中,所述连通域标记算法可以是two-pass算法。

可选的,利用连通域标记算法对字向量矩阵进行两次传递。第一步是指定临时的簇标签,并按照从左到右和从上到下的顺序记录簇之间的等价性。具体地说,对于每个单元(即基本的矩形区域),如果其相邻单元已被分配了临时簇标签,则将其标记为最小的相邻标签。同时,它的邻近单元被记录为等价标签。否则,将为单元创建一个新的临时集群标签;第二步是合并记录为等价的临时簇标签;最后,具有相同标签的单元格形成一个连通区域。而且对于每个连通区域,使用其最小覆盖矩形作为模型的输出。

这样,即可利用连通域标记算法,将字向量矩阵中相关性相近的一些矩形区域查询出来,并标记为同一连通区域。需要说明的是,矩形区域之间的相关性,由之前学习得到的局部信息和全局信息决定。

可选的,在终端查询得到所有连通区域后,则确定其中对应的编辑类型为无操作的连通区域,并取消编辑类型为无操作的连通区域对应的标记,即忽略这些连通区域(当然,由于这些连通区域对应的编辑类型为无操作,因此即便不忽略这些连通区域,也不会影响后续操作,因为无需对这些连通区域执行具体的编辑操作)。如图4所示,最终只在字向量矩阵中查询并标记出编辑类型为替换操作的连通区域50,以及编辑类型为插入操作的连通区域60。

如步骤s70所述:当终端确定字向量矩阵中的连通区域后,则进一步确定每个连通区域关联的编辑类型。

可选的,当终端确定有连通区域关联的编辑类型为替换操作时,则将会话语句中与该连通区域关联的字向量作为第三字向量,以及将目标语句中与该连通区域关联的字向量作为第四字向量。然后终端执行替换操作,将目标语句中的第四字向量替换为该第四字向量关联的第三字向量(即两者是通过同一连通区域进行关联的)。

可选的,当终端确定有连通区域关联的编辑类型为插入操作时,则将会话语句中与该连通区域关联的字向量作为第五字向量,以及将目标语句中与该连通区域关联的字向量作为第六字向量,然后终端执行插入操作,将第五字向量插入到目标语句中,并且第五字向量插入的位置在第六字向量(该第六字向量需与插入的第五字向量关联)与第六字向量前一个字向量之间。

例如,参照图4,在一关联的编辑类型为替换操作的连通区域50中,会话语句与之关联的第三字向量为{c2,c3,c4},而目标语句与该连通区域50关联的第四字向量为{x2,x3};而在一关联的编辑类型为插入操作的连通区域60中,会话语句与之关联的第五字向量为{c6,c7},而目标语句与该连通区域60关联的第六字向量为{x7}。因此,在原目标语句对应的第一字向量xa=(x1,x2,x3,x4,x5,x6,x7,x8,…,xn)中,终端利用第三字向量{c2,c3,c4}替换其中的第四字向量{x2,x3},以及将第五字向量{c6,c7}插入到第六字向量{x7}与第六字向量前一个字向量{x6}之间,最终得到语句补全后的目标语句x=(x1,c2,c3,c4,x4,x5,x6,c6,c7,x7,x8,…,xn)。

应当理解的是,终端将经替换操作和/或插入操作修改后的第一字向量进行组合,即可得到语句补全后的目标语句。

进一步地,终端将语句补全后的目标语句作为语句补全结果,并输出该语句补全结果。

可选的,当会话语句有多个时,终端可以是利用自然语言处理模型,分别基于每个会话语句对目标语句进行语句补全,得到多个语句补全结果后,再取多个语句补全结果之间的并集后,再将该并集作为最终输出的语句补全结果。

例如,当a1为“北京今天天气如何”、b1为“北京今天是阴天”、a2为“为什么总是这样”,则终端将a2为目标语句,以及将a1和b1可以作为a2对应的会话语句时,在利用自然语言处理模型进行语句补全处理后,可以得到语句补全结果x为“北京为什么总是阴天”。

在一实施例中,将语句补全任务作为一种语义切分任务,并通过计算上下文信息及待补全语句之间的相似性确定编辑矩阵特征,充分捕捉上下文信息与待补全语句之间的关系,并在此基础上构建基于字级编辑的字向量矩阵,对当前需要进行语句补全的语句进行处理,可以得到高准确率的语句补全结果,而且通过实现并行地预测并编辑字向量矩阵,使得在语句补全的过程中可以并行执行各个所需执行的编辑操作进行语句补全,从而提高了进行语句补全的效率。

在一实施例中,在上述实施例基础上,所述基于所述特征向量获取全局信息,以将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵的步骤包括:

步骤s51、利用所述自然语言处理模型的切分层提取所述特征向量对应的全局信息,并基于所述全局信息,将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵。

本实施例中,参照图2和图5,所述自然语言处理模型还包括切分层30,所述切分层30包括自所述切分层30的输入端开始依次连接的两个下采样模块31、两个上采样模块32和全连接模块33。

进一步地,每个所述下采样模块31包括从每个下采样模块31的输入端开始依次连接的两个卷积单元300,以及全局池化单元310。

进一步地,每个所述上采样模块32包括从每个上采样模块32的输入端开始依次连接的两个卷积单元300,以及反卷积单元320。

进一步地,所述全连接模块33包括从所述全连接模块33的输入端开始依次连接的两个卷积单元300,以及前馈神经网络单元330。其中,所述全连接模块33的输出端即为切分层30的输出端;所述全连接模块33的作用可相当于机器学习模型中的全连接层的作用。

可选的,从切分层30的输入端输入的特征映射矩阵,会先进入切分层30中的第一个下采样模块,并依次经过第一个下采样模块中的两个卷积单元300进行连续两次的卷积操作后,再经全局池化单元310进行全局池化操作,得到通道数加倍的特征映射矩阵进行输出。同时,第一个下采样模块还会将从特征映射矩阵中裁剪出的特征映射作为残差连接(skipconnect)进行输出,并输出至第二个上采样模块中。

然后,经第一个下采样模块处理后的特征映射矩阵会进入第二个下采样模块,并依次经过第二个下采样模块中的两个卷积单元300进行连续两次的卷积操作后,再经全局池化单元310进行全局池化操作,得到通道数加倍的特征映射矩阵进行输出。同时,第二个下采样模块还会将从特征映射矩阵中裁剪出的特征映射作为残差连接(skipconnect)进行输出,并输出至第一个上采样模块中。

进一步地,依次经第一个下采样模块和第二个下采样模块处理后的特征映射矩阵,会进入第一个上采样模块,并依次经该上采样模块中的两个卷积单元300,以及一个反卷积单元320,进行连续两次的卷积操作,以及一次反卷积操作,从而将输入的特征映射矩阵对应的通道数减半后进行输出。而且第一个上采样模块还会将第二个下采样模块裁剪出的特征映射,与其处理完的特征映射矩阵重新连接起来,然后一并作为第一个上采样模块的输出。

进一步地,依次经第一个下采样模块、第二个下采样模块处理和第一个上采样模块处理后的特征映射矩阵,会进入第二个上采样模块,并依次经第二个上采样模块中的两个卷积单元300,以及一个反卷积单元320,进行连续两次的卷积操作,以及一次反卷积操作,从而将输入的特征映射矩阵对应的通道数减半后进行输出。而且第二个上采样模块还会将第一个下采样模块裁剪出的特征映射,与其处理完的特征映射矩阵重新连接起来,然后一并作为第二个上采样模块的输出。

进一步地,依次经第一个下采样模块、第二个下采样模块处理、第一个上采样模块和第二个上采样模块处理后的特征映射矩阵,会提取得到特征映射矩阵对应的全局信息,此时再将已进行全局信息提取后的特征映射矩阵,进一步输入到全连接模块33中,并经全连接模块33的两个卷积单元300,进行连续两次的卷积操作后,然后再由前馈神经网络单元330基于提取得到的全局信息,将处理后的特征映射矩阵对应的每个特征向量,分别映射到三种编辑类型中的一种,并基于生成同时与会话语句和目标语句相关的字向量矩阵q(m×n)。

这样,优选采用自所述切分层30的输入端开始依次连接的两个下采样模块31、两个上采样模块32和全连接模块33,提取特征映射矩阵对应的全局信息,并基于此将特征映射矩阵转换为字向量矩阵,提高了提取全局信息的准确性的同时,还提高了后续在此基础上进行语句补全处理的准确率。

在一实施例中,在上述实施例基础上,所述根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果的步骤包括:

步骤s71、根据所述会话语句中与每个所述连通区域关联的字向量,以及所述目标语句中与每个所述连通区域关联的字向量,确定每个所述连通区域对应的编辑操作,其中,所述编辑操作的类型包括替换操作和插入操作;

步骤s72、根据所述会话语句中与每个所述连通区域关联的字向量,以及每个所述连通区域对应的所述编辑操作,对所述目标语句进行语句补全处理,得到语句补全结果。

本实施例中,当终端确定字向量矩阵中的各个连通区域后,可以先其中的非规则矩形区域的连通区域(这些区域一般是无操作的连通区域)进行过滤或忽略,然后再进一步确定过滤后的每个连通区域关联的字向量。

其中,在每个连通区域中,将会话语句中与每个连通区域关联的字向量作为第七字向量,将目标语句中与每个连通区域关联的字向量作为第八字向量。

可选的,所述自然语言处理模型还可以包括基于bert(bidirectionalencoderrepresentationsfromtransformers,双向注意力神经网络)构建的语义分析模块。利用语义分析模块,终端可以分别对每个连通区域中关联的字向量,进行字义或词义分析,并比对同一连通区域中的第七字向量与第八字向量之间的字义(或词义)是否相同或相近。

应当理解的是,该语义分析模块可以利用现有的中文训练集训练,或者采用在其他现有技术中已训练完成的语义分析模块。

可选的,当终端检测到同一连通区域中的第七字向量与第八字向量之间的字义(或词义)相同或相近时,则确定该连通区域对应的编辑操作为替换操作,并将该第七字向量更新为第三字向量,以及将该第八字向量更新为第四字向量。进一步地,终端执行替换操作,将目标语句中的第四字向量替换为该第四字向量关联的第三字向量(即两者是通过同一连通区域进行关联的)。

可选的,当终端检测到同一连通区域中的第七字向量与第八字向量之间的字义(或词义)不同或不相近时,则确定该连通区域对应的编辑操作为插入操作,并将该第七字向量更新为第五字向量,以及将该第八字向量更新为第六字向量。进一步地,终端执行插入操作,将第五字向量插入到目标语句中,并且第五字向量插入的位置在第六字向量(该第六字向量需与插入的第五字向量关联)与第六字向量前一个字向量之间。

可选的,当终端分别针对每个连通区域,对目标语句执行每个连通区域对应的编辑操作后,即可得到语句补全后的目标语句作为语句补全结果进行输出。

这样,通过利用语义分析模块进行字义或词义分析,以此识别每个连通区域对应的编辑操作,与采用大量人工标注的训练样本,训练自然语言处理模型识别每个连通区域对应的编辑操作的方案相比,可以减少人工标注训练样本的成本,并提高训练用于进行语句补全的自然语言处理模型的效率。

在一实施例中,在上述实施例基础上,所述根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果的步骤之后,还包括:

步骤s80、确定所述语句补全结果对应的响应操作;

步骤s81、根据所述响应操作对所述目标语句对应的会话任务进行响应处理。

本实施例中,终端可以是线上业务处理系统(如一种线上金融服务平台),或者终端也可以是与线上业务处理系统建立有通信连接。其中,当用户在线上业务处理系统办理业务时,终端可以基于用户发起的语音信息或文字内容信息的会话任务中,与用户进行人机交互,并从中得到会话记录。

可选的,当终端检测到会话记录中,存在难以基于此识别用户意图的语句时,则可以获取该语句作为目标语句,并获取该语句对应的至少一条上文语句和/或下文语句作为相应的会话语句,然后再将会话语句和目标语句输入到训练完成的自然语言处理模型中,使得自然语言处理模型可以基于会话语句对目标语句进行语句补全处理。

可选的,终端预先建立有各种意图信息与意图信息对应的响应操作之间的映射关系,当终端语句补全结果后,可以对语句补全结果作进一步的意图分析,得到语句补全结果对应的意图信息后,则可以根据映射关系查询与分析得到的意图信息对应的响应操作。其中,所述响应操作可以基于相应的响应信息对目标语句进行回复,也可以是触发目标语句对应的会话任务所关联的业务处理任务。

进一步地,终端可以获取查询得到的响应操作,并根据该响应操作对基于目标语句触发的会话任务进行响应处理。例如,当a1为“北京今天天气如何”、b1为“北京今天是阴天”、a2为“为什么总是这样”,则终端将a2为目标语句,以及将a1和b1可以作为a2对应的会话语句时,在利用自然语言处理模型进行语句补全处理,得到语句补全结果x为“北京为什么总是阴天”后,终端查询该语句补全结果对应的响应操作时,例如可以获取北京相关的气候地理环境和/或近期的气候状况对应的信息作为响应,并在该目标语句对应的会话任务中,执行该响应操作,以在会话任务中向用户回复相关的响应信息。

这样,在提高了对目标语句进行语句补全的准确率的同时,基于高准确率的语句补全结果获取相应的响应操作对会话任务进行处理时,同样可以提高对会话任务作出响应的准确率。

在一实施例中,在上述实施例基础上,所述根据所述响应操作对所述目标语句对应的会话任务进行响应处理的步骤之后,还包括:

步骤s90、接收到所述响应处理对应的确定响应时,根据所述语句补全结果、所述目标语句和所述会话语句生成训练样本;

步骤s91、利用所述训练样本更新所述自然语言处理模型。

本实施例中,终端根据响应操作对目标语句所处的会话任务作出响应处理后,可以检测是否接收到响应处理对应的确认响应,以此判断该响应处理是否响应准确。其中,若终端能进一步接收到确定响应,则判定响应准确,否则则判定响应不准确。

可选的,当用户是以语音信息(或文字内容信息)发起业务询问时,则终端根据查询得到的响应信息以语音的形式(或文字显示的形式)作出应答响应之后,若检测到用户基于应答响应作出正向反馈后,则判定接收到所述响应处理对应的确定响应,否则则判定未接收到所述响应处理对应的确定响应(或者接收到所述响应处理对应的否定响应)。

可选的,当终端判定接收到所述响应处理对应的确定响应时,则根据语句补全结果,以及根据语句补全结果对应的目标语句和会话语句,生成自然语言处理模型的新的训练样本。

进一步地,当终端检测到自然语言处理模型处于空闲状态时,则可以利用新生成的训练样本对自然语言处理模型进行训练更新,以优化自然语言处理模型的模型参数,从而进一步提高终端基于自然语言处理模型进行语句补全的准确率。

在一实施例中,在上述实施例基础上,所述根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果的步骤之后,还包括:

步骤s100、将所述目标语句对应的会话记录中的所述目标语句,替换为所述语句补全结果,并更新所述会话记录;

步骤s110、将更新后的所述会话记录发送至存储服务端以块链式的账本进行存储。

本实施例中,终端与基于区块链技术构建的存储服务端建立有通信连接。

可选的,当终端得到语句补全结果后,可以查询所述目标语句在目标语句所处的会话记录中位置,并基于查询得到的位置,将该位置上的目标语句,替换为所述语句补全结果,然后更新所述会话记录。

进一步地,终端将更新后的会话记录发送至存储服务端。当存储服务端接收到终端发送的会话记录时,则将会话记录以块链式的账本存储到区块链网络中。账本(ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(key)值(value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。

需要说明的是,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

这样,提高了语句补全结果对应的会话记录进行存储的安全性,避免因信息泄露而导致用户相关利益受损。

参照图6,本申请实施例中还提供一种基于自然语言处理的语句补全装置100,包括:

获取模块101,用于获取待处理的目标语句和所述目标语句对应的会话语句,所述会话语句包括上文语句和/或下文语句;

切分模块102,用于利用自然语言处理模型将所述目标语句转换为第一词向量,以及将所述会话语句转换为第二词向量;

提取模块103,用于提取所述第一词向量对应的第一语境信息、所述第二词向量对应的第二语境信息,以及提取所述第一词向量和所述第二词向量之间的第三语境信息,并根据所述第一语境信息和所述第三语境信息生成第一隐藏状态,以及根据所述第二语境信息和所述第三语境信息生成第二隐藏状态;

生成模块104,用于根据所述第一隐藏状态和所述第二隐藏状态,生成与所述目标语句和所述会话语句相关的特征向量;

转换模块105,用于基于所述特征向量获取全局信息,以将所述特征向量转换为与所述目标语句和所述会话语句相关的字向量矩阵;

查询模块106,用于利用连通域标记算法查询所述字向量矩阵中的连通区域;

处理模块107,用于根据所述会话语句中与所述连通区域关联的字向量,对所述目标语句进行语句补全处理,得到语句补全结果。

参照图7,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于自然语言处理的语句补全方法的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于自然语言处理的语句补全方法。

本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的基于自然语言处理的语句补全方法的步骤。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。

综上所述,为本申请实施例中提供的基于自然语言处理的语句补全方法、基于自然语言处理的语句补全装置、计算机设备和存储介质,将语句补全任务作为一种语义切分任务,并通过计算上下文信息及待补全语句之间的相似性确定编辑矩阵特征,充分捕捉上下文信息与待补全语句之间的关系,并在此基础上构建基于字级编辑的字向量矩阵,对当前需要进行语句补全的语句进行处理,实现并行地预测并编辑字向量矩阵,得到语句补全后的语句,从而在保证得到高准确率的语句补全结果的同时,提高了语句补全的效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

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