对话内容的处理方法、装置及相关设备与流程

文档序号:26050672发布日期:2021-07-27 15:25阅读:156来源:国知局
对话内容的处理方法、装置及相关设备与流程

本申请涉及神经网络模型领域,尤其涉及一种对话内容的处理方法、装置及相关设备。



背景技术:

现有的人机对话技术方案是根据用户输入的句子,在模板库中找到匹配的问句模板,然后按照对应的应答模板生成答案。但是,该问句模板是基于人工方式生成的,由于人工方式的局限性导致得到的的答案准确率较低。



技术实现要素:

本申请实施例提供一种对话内容的处理方法、装置及相关设备,以解决现有基于人工模板的方式得到的答案准确率较低的问题。

为解决上述技术问题,本申请是这样实现的:

第一方面,本申请提供了一种对话内容的处理方法,包括:对第一对话内容进行检索得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,其中,所述m个目标文本向量与所述第一对话内容中的文本对应,所述n个目标图片向量与所述第一对话内容中的图片对应;所述第一对话内容包括提问型内容;对所述第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案;其中,所述l个文本编码向量由所述第一对话内容中的文本编码得到,所述y个图片编码向量由所述第一对话内容中的图片编码得到;将所述第一对话内容、所述第一答案和所述第二答案输入目标网络模型,输出与所述第一对话内容匹配的目标答案,其中,所述目标答案为所述第一答案和所述第二答案中的答案,m、n、l、y均为正整数。

第二方面,本申请提供了一种对话内容的处理装置,包括:第一处理模块,用于对第一对话内容进行检索得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,其中,所述m个目标文本向量与所述第一对话内容中的文本对应,所述n个目标图片向量与所述第一对话内容中的图片对应;所述第一对话内容包括提问型内容;第二处理模块,用于对所述第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案;其中,所述l个文本编码向量由所述第一对话内容中的文本编码得到,所述y个图片编码向量由所述第一对话内容中的图片编码得到;第三处理模块,用于将所述第一对话内容、所述第一答案和所述第二答案输入目标网络模型,输出与所述第一对话内容匹配的目标答案,其中,所述目标答案为所述第一答案和所述第二答案中的答案,m、n、l、y均为正整数。

第三方面,本申请提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现第一方面所述的方法步骤。

第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。

在本申请中,可以通过检索的方式得到与第一对话内容中的文本和图片对应的m个目标文本向量与n个目标图片向量组合,进而可以得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,以及通过编码的方式对第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案,即通过两种方式对第一对话内容中的文本和图片进行了融合,考虑到了第一对话内容各文本与图片的各种组合可能,从而提升了生成答案的准确性,即从第一答案和第二答案中得到的目标答案更加准确,从而解决了现有技术中基于人工模板的方式得到的答案准确率较低的问题。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的对话内容的处理方法的流程图;

图2是本申请实施例提供的图文编码模型对对话内容进行编码的示意图;

图3是本申请实施例提供的图片和文本知识库的创建流程示意图;

图4是本申请实施例提供的文本向量库的创建流程示意图;

图5是本申请实施例提供的图片向量库的创建流程示意图;

图6是本申请实施例提供的多轮对话获取答案的流程示意图;

图7是本申请实施例提供的图文编码示意图;

图8是本申请实施例提供的对话内容的处理装置的结构示意图;

图9是本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例中,提出了一种对话内容的处理方法,参见图1,图1是本申请实施例提供的对话内容的处理方法的流程图,用于终端设备,如图1所示,所述方法包括以下步骤:

步骤102,对第一对话内容进行检索得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,其中,m个目标文本向量与第一对话内容中的文本对应,n个目标图片向量与第一对话内容中的图片对应;第一对话内容包括提问型内容;

需要说明的是,本申请实施例中的提问型内容包括以下至少一项:提问内容、应答内容。

步骤104,对第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案;其中,l个文本编码向量由第一对话内容中的文本编码得到,y个图片编码向量由第一对话内容中的图片编码得到;

步骤106,将第一对话内容、第一答案和第二答案输入目标网络模型输出与第一对话内容匹配的目标答案,其中,目标答案为第一答案和第二答案中的答案,m、n、l、y均为正整数。

通过上述步骤102至步骤106,可以通过检索的方式得到与第一对话内容中的文本和图片对应的m个目标文本向量与n个目标图片向量组合,进而可以得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,以及通过编码的方式对第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案,即通过两种方式对第一对话内容中的文本和图片进行了融合,考虑到了第一对话内容各文本与图片的各种组合可能,从而提升了生成答案的准确性,即从第一答案和第二答案中得到的目标答案更加准确,从而解决了现有技术中基于人工模板的方式得到的答案准确率较低的问题。

需要说明的是,本申请中的m、n、l、y的取值根据第一对话内容确定,例如,第一对话内容中包括8个词组和2个图片,则m和l的取值小于或等于8,n和y的取值小于或等于2。例如,m的取值为8,n的取值为2;由于对于文本的编码并不一定是词组进行单个词组进行编码,所以l的取值可以是6,y的取值为2。上述仅仅是举例说明,具体的m、n、l、y的取值需要根据实际情况确定。

需要说明的是,本申请实施例中的执行主体可以终端或其他设备,该终端或其他设备中内置有目标神经网络模型。

在本申请实施例的可选实施方式中,对于本申请步骤102中涉及到的对第一对话内容进行检索得到由m个目标文本向量与n个目标图片向量组合得到的第一答案的方式,进一步可以包括:

步骤102-11,从第一对话内容中识别出m个文本向量和n个图片向量;

步骤102-12,确定m个文本向量对应的第一业务类型,并确定n个图片向量对应的第二业务类型;

步骤102-13,根据第一业务类型与第一映射关系确定第一索引,并根据第二业务类型与第二映射关系确定第二索引,其中,第一映射关系用于指示文本向量的业务类型与索引之间的关系,第二映射关系用于指示图片向量的业务类型与索引之间的关系;

步骤102-14,根据第一索引从文本向量库中确定m个目标文本向量,并根据第二索引从图片向量库中确定n个目标图片向量,其中,文本向量与每一个目标文本向量的相似度低于第一阈值,图片向量与每一个目标图片向量的相似度低于第二阈值;

步骤102-15,基于m个目标文本向量与n个目标图片向量的组合得到第一答案。

对于上述步骤102-11中涉及到的文本向量,在具体应用场景中可以采用p-means句向量表示法,其中,p-means定义为:

(公式1)

其中,w是一个句子的词向量,假设有n个词。显然,当p等于1时,它就是取平均的操作。另外,当p等于正无穷时,它是取最大(max)的操作,当p等于负无穷时,它是取最小值(min)的操作。这样定义一个问题的文本向量可以表示为:

(公式2)

这里是连接符,表示向量拼接,p值分别取1,正无穷和负无穷。文本向量索引可以基于hnsw向量索引库进行创建。

另外,本申请实施例中涉及到的图片向量可以通过预训练残差网络(resnet18)模型提取问题图片的特征,进而生成图片向量,图片向量索引可以基于hnsw向量索引库进行创建。

此外,在确定第一对话内容的文本向量和图片向量之后,还需要确定文本向量和图片向量的业务类型,由于同一提问在不同的业务场景中可以有不同的答案,因此,先确定业务类型再确定答案以使确定的答案更加准确。在本申请中业务类型和索引之间是存在映射关系的,即确定业务类型之后,再有针对性的通过索引确定对应的图片向量库或文本向量库。

需要说明的是,本申请实施例中的相似度可以根据具体情况进行相应的设置,如果想要得到更多的候选答案则可以将相似度的取值设低一点,如果说不想要得到很多的候选答案,则可以将相似度的取值设高一点。

在本申请实施例的另一个可选实施方式中,本申请步骤104中涉及到的对第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案的方式,进一步可以包括:

步骤104-11,对第一对话内容中的文本进行编码得到l个文本编码向量;

步骤104-12,对第一对话内容中的图片进行编码得到y个图片编码向量;

步骤104-13,对l个文本编码向量和y个图片编码向量进行融合得到第二答案。

对于上述步骤104-11至步骤104-13,在具体应用场景中,如图2所示,基于图文编码模型对第一对话内容进行编码,具体可以是通过预训练的word2vec词向量模型对文本进行编码;每条句子中的图片使用图片编码器resnet进行编码,加上一层额外的全连接层,进而将文本中各个词语特征编码与图片特征编码进行一个组合,充分考虑到了图片与文本之间的相关性,其计算公式如下:

(公式3)

其中,表示词语编码向量,表示图片编码向量。最终结果将文本编码中各个词语编码向量分别与图片编码向量进行叠加融合,然后将融合后得到的多模态(文本+图片)编码输送到编码层。编码层采用卷积神经网络(cnn)进行编码,将得到的语义编码输送到解码层,解码层采用双向的长短时记忆神经网络(bilstm)进行解码。种基于改进的图文编码器模型,与之前直接拼接文本编码和图片编码不同的是,该方法充分考虑到了图片与文字之间的相关性,把图片向量编码融合到每个文本向量编码中,使得生成的答案更加准确。

在本申请实施例的可选实施方式中,在步骤106中涉及到的对第一对话内容进行检索得到由m个目标文本向量与n个目标图片向量组合得到的第一答案之前,本申请实施例的方法还包括:

步骤11,获取历史问答内容,其中,历史问答内容包括提问型内容;

步骤12,将历史问答内容划分为文本内容和图片;

步骤13,确定文本内容和图片的业务类型;

步骤14,根据业务类型将文本内容存储在对应的文本知识库中,以及将图片存储在对应的图片知识库中。

通过上述步骤11至步骤14,需要从历史文本内容,即历史数据中对提问型内容中的提问内容和应答内容中的文本和图片进行划分,而且还需要确定对应的业务类型,以便后续对初始神经网络进行训练。

在具体应用场景中如图3所示,将历史人工问答记录作为原始的对话语料,将用户的多模态消息(包括文本和图片的消息)当作问题,将回复消息当作当前问题的应答。将用户的多模态对话语料分成文本语料和图文语料,若是文本语料,则通过文本业务模型判断该文本问题及其前文属于哪一个业务场景的问题,将该问题及其应答保存在相应业务场景的文本知识库中;若是图文语料,则通过图片业务模型判断该图片问题属于哪一个业务场景的问题,将该图片信息及其应答保存在相应业务场景的图文知识库中。

其中,文本业务分类模型,为基于卷积神经网络(textcnn)实现的文本分类模型,通过模型可以输出当前用户文本问题为哪一业务场景的问题;图片业务模型,为基于残差网络(resnet)实现的图片分类模型,通过模型可以输出当前用户图片问题属于哪一业务场景的问题。

在本申请实施例的可选实施方式中,本申请实施例的方法还可以包括:

步骤21,将文本知识库中的文本内容生成对应的文本向量,以及将图片知识库中的图片生成对应的图片向量;

步骤22,创建文本向量的索引,以及创建图片向量的索引;

步骤23,将创建索引后的文本向量存储入文本向量库,并将创建索引后的图片向量存储入图片向量库。

在具体应用场景中,可以基于上述公式1和公式2将文本内容生成文本向量以及将图片生成图片向量,进而还需要创建文本向量和图片向量的索引,该索引是与业务类型对应的。具体过程如图4和图5所示,将文本知识库和图文知识库中的问题分别表示为文本向量和图片向量,然后创建索引,生成文本向量索引和图片向量库。

进一步地,在本申请实施例中在将第一对话内容、第一答案和第二答案输入目标网络模型输出与第一对话内容匹配的目标答案之前,本申请实施例的方法步骤还可以包括:

步骤31,对文本向量库和图片向量库中的应答内容对应的答案进行编码得到标识符,其中,标识符用于指示答案的答案类型,答案类型包括基于编码向量得到的答案和基于向量得到的答案;

步骤32,通过目标训练集对初始网络模型进行训练得到目标网络模型,其中,目标训练集包括文本向量库中的文本、图片向量库中的图片和标识符。

通过上述步骤31和步骤32,在本申请实施例中对于不同类型的答案进行了编码,即可以通过编码能够区分输出的答案的类型。

也就是说,本申请实施例的方法还可以包括:

步骤108,将第一对话内容、第一答案和第二答案输入目标网络模型输出与目标答案对应的标识符。

下面结合本申请实施例的具体实施方式对本申请进行举例说明,基于图6所示的多轮对话获取答案的示意图,本具体实施方式中的多轮对话流程包括:

步骤a,通过检索方法召回答案;

其中,地分为文本索引和图片索引,分别通过文本业务模型和图片业务模型进行分类,文本向量采用p-means方法获得,图片向量采用预训练resnet18模型获得。通过向量之间的相似性,分别从文本向量和图片向量索引库中,得到m个文本相似向量和n个图片相似向量,并得到索引前的m个文本候选答案和n个图片候选答案。最后将m个文本答案和n个图片答案,进行排列组合,得到排列组合后m*n个答案。由于相同问题和图片在不同业务场景中的回答可能不同,引入文本和图片的业务分类模型,提高了索引答案的准确率。

步骤b,生成答案;

其中,基于图2中的图文编码器模型,召回了t个候选答案。该方法与之前直接拼接文本编码和图片编码不同的是,把图片向量编码融合到每个词语向量编码中,有效融合了文本及图片的特征,充分考虑了文本与图片的相关性,提升了生成模型召回答案的质量。

步骤c,获取最终的优选答案;

其中,如图7所示,基于图文匹配模型对候选答案进行排序,把用户问题和通过基于检索方法召回的m*n个候选答案,基于改进的图文编码器模型召回的t个候选答案,输入到训练好的图文匹配模型中,得到最优答案作为用户问题的回答。

其中,该图文匹配模型将问题和答案分别通过embedding层进行向量化,然后拼接这些向量,通过cnn层进行一个匹配输出。这个网络模型结构最大的特点就是在answers的embedding层中对待匹配的答案进行了一个预处理,引入了answersencoding优化策略,对答案序列的类型(检索型或生成型)进行了编码,例如将检索型答案编码为1,生成型答案编码为0,拼接到answersembedding后面,作为一个答案类型的标识符,来区分待匹配答案的类型,再把优化过的embedding向量输入到cnn中,进行问题-答案匹配输出。由于基于检索方法召回的答案在准确率上会优于基于生成方法召回的答案,引入answersencoding可以让模型来分辨待匹配的答案是检索型还是生成型的,这样通过训练的模型就可以捕捉到答案的类型信息,从而通过这个模型匹配得出的结果会更偏好于基于检索方法召回的答案。

如图8所示,本申请实施例还提供了一种对话内容的处理装置,该装置包括:

第一处理模块82,用于对第一对话内容进行检索得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,其中,m个目标文本向量与第一对话内容中的文本对应,n个目标图片向量与第一对话内容中的图片对应;第一对话内容包括提问型内容;

第二处理模块84,用于对第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案;其中,l个文本编码向量由第一对话内容中的文本编码得到,y个图片编码向量由第一对话内容中的图片编码得到;

第三处理模块86,用于将第一对话内容、第一答案和第二答案输入目标网络模型,输出与第一对话内容匹配的目标答案,其中,目标答案为第一答案和第二答案中的答案,m、n、l、y均为正整数。

通过本申请的装置,可以通过检索的方式得到与第一对话内容中的文本和图片对应的m个目标文本向量与n个目标图片向量组合,进而可以得到由m个目标文本向量与n个目标图片向量组合得到的第一答案,以及通过编码的方式对第一对话内容进行编码得到由l个文本编码向量与y个图片编码向量组合得到的第二答案,即通过两种方式对第一对话内容中的文本和图片进行了融合,考虑到了第一对话内容各文本与图片的各种组合可能,从而提升了生成答案的准确性,即从第一答案和第二答案中得到的目标答案更加准确,从而解决了现有技术中基于人工模板的方式得到的答案准确率较低的问题。

可选地,本申请实施例中的第一处理模块82进一步可以包括:识别单元,用于从第一对话内容中识别m个文本向量和n个图片向量;第一确定单元,用于确定m个文本向量对应的第一业务类型,并确定n个图片向量对应的第二业务类型;第二确定单元,用于根据第一业务类型与第一映射关系确定第一索引,并根据第二业务类型与第二映射关系确定第二索引,其中,第一映射关系用于指示文本向量的业务类型与索引之间的关系,第二映射关系用于指示图片向量的业务类型与索引之间的关系;第三确定单元,用于根据第一索引从文本向量库中确定m个目标文本向量,并根据第二索引从图片向量库中确定n个目标图片向量,其中,文本向量与每一个目标文本向量的相似度低于第一阈值,图片向量与每一个目标图片向量的相似度低于第二阈值;第一处理单元,用于基于m个目标文本向量与n个目标图片向量的组合得到第一答案。

可选地,本申请实施例中的第二处理模块84进一步可以包括:第一编码单元,用于对第一对话内容中的文本进行编码得到l个文本编码向量;第二编码单元,用于对第一对话内容中的图片进行编码得到y个图片编码向量;第二处理单元,用于对l个文本编码向量和y个图片编码向量进行融合得到第二答案。

可选地,本申请实施例中的装置还可以包括:获取模块,用于在对第一对话内容进行检索得到由m个候选文本答案与n个候选图片答案组合得到的第一答案之前,获取历史问答内容,其中,历史问答内容包括提问内容和应答内容;划分模块,用于将历史问答内容划分为文本内容和图片;确定模块,用于确定文本内容和图片的业务类型;第一存储模块,用于根据业务类型将文本内容存储在对应的文本知识库中,以及将图片存储在对应的图片知识库中。

可选地,本申请实施例中的装置还可以包括:识别模块,用于将文本知识库中的文本内容生成对应的文本向量,以及将图片知识库中的图片生成对应的图片向量;创建模块,用于创建文本向量的索引,以及创建图片向量的索引;第二存储模块,用于将创建索引后的文本向量存储入文本向量库,并将创建索引后的图片向量存储入图片向量库。

可选地,本申请实施例中的装置还可以包括:编码模块,用于在将第一对话内容、第一答案和第二答案输入目标网络模型输出与第一对话内容匹配的目标答案之前,对文本向量库和图片向量库中的应答内容对应的答案进行编码得到标识符,其中,标识符用于指示答案的答案类型,答案类型包括基于编码向量得到的答案和基于向量得到的答案;训练模块,用于通过目标训练集对初始网络模型进行训练得到目标网络模型,其中,目标训练集包括文本向量库中的文本、图片向量库中的图片和标识符。

可选地,本申请实施例中的装置还可以包括:第四处理模块,用于将第一对话内容、第一答案和第二答案输入目标网络模型,输出与目标答案对应的标识符。

本申请实施例还提供了一种电子设备,如图9所示,电子设备包括:处理器901、存储器902及存储在所述存储器902上并可在所述处理器上运行的程序9021,所述程序被所述处理器执行时实现上述对话内容的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

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

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

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