文本相似度的确定方法及装置与流程

文档序号:20278325发布日期:2020-04-07 14:50阅读:323来源:国知局
文本相似度的确定方法及装置与流程

本发明涉及文本匹配技术领域,具体而言,涉及一种文本相似度的确定方法及装置。



背景技术:

在相关技术中,对于文本之间的相似度匹配,往往是比较字面上的词语含义,或者是通过简单的观点匹配来确认文本的相似度。随着当前电子政务及电子办公系统的普及,数据量也在急速上升,大量相似观点的存在对后期数据分析形成了较大困难,因此,需要对文本之间的相似度进行有效确认,以减少相似文本的工作量。当前对于相似度的计算,主要分为两类,一类是基于统计的方法,主要用于句子及段落级别的相似度计算,即对文本中的句子含义和段落含义进行识别,以确认文本之间的相似度。而另一类是基于语义的方法,主要用于词语和句子级别的相似度计算,即分别比较文本中的词语的词义,进而确认词语和句子之间的相似度,以综合比较文本的相似度。

但是上述两种计算文本相似度的方式,只能解决词汇层面的匹配问题,在一些情况下,直接通过字面距离并不能正确地进行相似度匹配,比如由于语言的同义性、多义性的存在,导致语义上相似的文本相似度低,而字面相同但含义完全不同的文本却相似度高,比如同义词“客人”与“顾客”都是指的客户,多义词如“阳光”和日产汽车“阳光”不同。另外,组合结构的不同也会造成语义不同,进而出现文本相似度虽然高,但是实际内容截然相反的情况,比如文本“柜员取钱给客户”和“客户取钱给柜员”,显然由于词语序列不同,含义也截然相反,但是由于字面上词语重合度高被判定为相似度高,这样都会给文本的相似度判别造成困难。即当前计算文本相似度时,很容易出现在词汇字面上进行相似度计算,对同义词,近义词等词语无法很好处理。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种文本相似度的确定方法及装置,以至少解决相关技术中由于语义不同导致文本相似度判别困难的技术问题。

根据本发明实施例的一个方面,提供了一种文本相似度的确定方法,包括:获取至少两个文本的词序列;将所述至少两个文本的词序列转换成多维数字向量;通过预先训练的匹配模型对所述多维数字向量进行语义组合,以确定文本向量;通过所述匹配模型对所述文本向量进行向量比对,并对所述至少两个文本的文本语义进行解析,确定所述至少两个文本的文本相似度。

进一步地,通过预先训练的匹配模型对所述多维数字向量进行语义组合,以确定文本向量的步骤,包括:获取所述多维数字向量;依据所述多维数字向量,计算低维语义向量,其中,所述低维语义向量表示词语所在的句子的语义信息;对所述低维语义向量进行组合,确定多个单维句子向量,其中,所述单维句子向量表示句子所在文本的文本信息;通过所述多个单维句子向量,计算所述至少两个文本的文本向量。

进一步地,依据所述多维数字向量,计算低维语义向量包括:将所述多维数字向量中的每维数字向量转换为表示词语所在句子的词语向量;组合词语向量中词义的相似度在预设范围内的词语,以得到所述低维语义向量。

进一步地,通过所述匹配模型对所述文本向量进行向量比对,并对所述至少两个文本的文本语义进行解析,确定所述至少两个文本的文本相似度的步骤,包括:依据所述文本向量,确定每个文本的文本中心语句;依据所述文本中心语句,确定每个所述文本的文章中心语义;根据所述至少两个文本中每个文本的所述文章中心语义和所述匹配模型,计算所述至少两个文本的文本相似度。

进一步地,通过所述匹配模型对所述文本向量进行向量比对,并对所述至少两个文本的文本语义进行解析,确定所述至少两个文本的文本相似度还包括:依据所述每个文本的所述文章中心语义,对所述至少两个文本进行交互计算,以确定多组二维矩阵;根据所述多组二维矩阵,建立与所述至少两个文本的局部语句信息对应的高阶矩阵,其中,所述高阶矩阵中包括所述至少两个文本的文本匹配特征;使用卷积网络来提取所述至少两个文本的文本匹配特征,得到多层次文本匹配特征;对所述多层次文本匹配特征进行池化分析,确定所述至少两个文本的文本相似度。

进一步地,在通过多获取至少两个文本的词序列之前,包括:获取预设训练文本中的多组训练数据;通过所述多组训练数据得到所述匹配模型。

进一步地,通过多组训练数据得到所述匹配模型包括:获取对所述预设训练文本进行标注的文本标注信息,其中,所述文本标注信息至少包括文本标签;对所述预设训练文本进行分词,并建立与每个词语对应的数字向量;依据所述每个词语对应的数字向量,训练得到所述匹配模型,其中,在训练所述匹配模型时,通过多组训练数据对所述匹配模型进行训练,每组所述训练数据至少包括:词语分类结果、文本训练结果、文本相似度,所述词语分类结果为下述之一:相似词和非相似词,所述文本训练结果为下述之一:相似文本对和非相似文本对。

根据本发明实施例的另一方面,还提供了一种文本相似度的确定装置,包括:获取单元,用于获取至少两个文本的词序列;转换单元,用于将所述至少两个文本的词序列转换成多维数字向量;组合单元,用于通过预先训练的匹配模型对所述多维数字向量进行语义组合,以确定文本向量;确定单元,用于通过所述匹配模型对所述文本向量进行向量比对,并对所述至少两个文本的文本语义进行解析,确定所述至少两个文本的文本相似度。

进一步地,所述组合单元包括:第一获取模块,用于获取所述多维数字向量;第一计算模块,用于依据所述多维数字向量,计算低维语义向量,其中,所述低维语义向量表示词语所在的句子的语义信息;第一组合模块,用于对所述低维语义向量进行组合,确定多个单维句子向量,其中,所述单维句子向量表示句子所在文本的文本信息;第二计算模块,用于通过所述多个单维句子向量,计算所述至少两个文本的文本向量。

进一步地,所述第一计算模块包括:第一转换模块,用于将所述多维数字向量中的每维数字向量转换为表示词语所在句子的词语向量;第二组合模块,用于组合词语向量中词义的相似度在预设范围内的词语,以得到所述低维语义向量。

进一步地,所述确定单元包括:第一确定模块,用于依据所述文本向量,确定每个文本的文本中心语句;第二确定模块,用于依据所述文本中心语句,确定每个所述文本的文章中心语义;第三计算模块,用于根据所述至少两个文本中每个文本的所述文章中心语义和所述匹配模型,计算所述至少两个文本的文本相似度。

进一步地,所述确定单元还包括:第四计算模块,用于依据所述每个文本的所述文章中心语义,对所述至少两个文本进行交互计算,以确定多组二维矩阵;第一建立模块,用于根据所述多组二维矩阵,建立与所述至少两个文本的局部语句信息对应的高阶矩阵,其中,所述高阶矩阵中包括所述至少两个文本的文本匹配特征;提取模块,用于使用卷积网络来提取所述至少两个文本的文本匹配特征,得到多层次文本匹配特征;第三确定模块,用于对所述多层次文本匹配特征进行池化分析,确定所述至少两个文本的文本相似度。

进一步地,上述文本相似度的确定装置还包括:第三获取单元,用于在通过多获取至少两个文本的词序列之前,获取预设训练文本中的多组训练数据;训练单元,用于通过所述多组训练数据得到所述匹配模型。

进一步地,所述训练单元包括:第二获取模块,用于获取对所述预设训练文本进行标注的文本标注信息,其中,所述文本标注信息至少包括文本标签;第二建立模块,用于对所述预设训练文本进行分词,并建立与每个词语对应的数字向量;训练模块,用于依据所述每个词语对应的数字向量,训练得到所述匹配模型,其中,在训练所述匹配模型时,通过多组训练数据对所述匹配模型进行训练,每组所述训练数据至少包括:词语分类结果、文本训练结果、文本相似度,所述词语分类结果为下述之一:相似词和非相似词,所述文本训练结果为下述之一:相似文本对和非相似文本对。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质用于存储程序,其中,所述程序在被处理器执行时控制所述存储介质所在设备执行上述任意一项所述的文本相似度的确定方法。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的文本相似度的确定方法。

在本发明实施例中,获取至少两个文本的词序列,将至少两个文本的词序列转换成多维数字向量,通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量,通过匹配模型对所述文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。本发明中可以通过匹配模型对多维数字向量进行语义组合,以确定文本向量,然后利用文本向量和解析的文本语义来确定文本之间的相似度,这样就可以通过匹配模型解决同义性问题,提升文本相似度计算的精度,在交互计算过程中可以获取更多的文本向量信息,然后可以采用网络结构,获取句子及文章中心信息,有效捕获句子中心及文章中心,多个角度比较文本之间的相似度,从而解决相关技术中由于语义不同导致文本相似度判别困难的技术问题。

附图说明

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

图1是根据本发明实施例的一种可选的匹配模型的示意图;

图2是根据本发明实施例的一种文本相似度的确定方法的流程图;

图3是根据本发明实施例的一种可选的训练匹配模型的方法流程图;

图4是根据本发明实施例的一种文本相似度的确定装置的示意图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于用户理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:

rnn,多层反馈,recurrentneuralnetwork,神经网络是一种节点定向连接成环的人工神经网络,这种网络的内部状态可以展示动态的时序行为,利用内部的记忆来处理任意时序的输入序列。在本申请中,针对表示层,通过添加词语到句子的表示层,采用双向rnn得到文本中间位置表示。

cnn,卷积神经网络,convolutionalneuralnetwork,在卷积神经网络中会包括多层神经网络,其至少包括:输入层、卷积层、激励层、池化层、全连接层、输出层,每层神经网络中的神经元之间会互相连接,卷积层的神经元只与前一层的部分神经元节点连接,且同一层中神经元之间的连接的权重和偏移量是共享的,其中,输入层用于数据的输入,卷积层利用卷积核进行特征提取和特征映射,激励层会增加非线性映射,池化层进行采样,并对特征图稀疏处理,减少数据运算量,全连接层通常在cnn的尾部进行重新拟合,减少特征信息的损失,输出层用于输出结果。本申请可以利用该卷积神经网络引入文本上多维度信息,通过卷积层提取文本中高级的多层次匹配特征,并利用池化层和全连接层对文本进行处理,从而确定文本之间相似度。

embedding,即将文本中的字词用向量表示出来,相当于对字词做数字化处理。

matchmatrix,匹配矩阵,可以指示简单的二维矩阵。

tensor,高阶矩阵,可以指示三维矩阵或四维矩阵等。

本发明下述实施例可以应用于各种需要确认文本之间相似度的数据比较中,相对于当前在词汇字面上进行相似度计算,对同义词,近义词等词语无法很好处理,本发明中可以对一步步从词语到句子到文章建立一层层数字向量,将相似度较大的词语、句子组合起来,一步步简化维度向量,减少同义词、近义词的影响,进而进行文本相似度比较,准确度更高;而对于相关技术中无法有效利用语序信息,对实际观点相似把握不准,本发明中可以对提取句子和文章的中心观点,对文章整体进行把握,提高重要句子的权重,将文本之间重要的句子进行区分,提高相似度计算的准确率。下面结合各个实施例对本发明进行详细说明。

实施例一

根据本发明实施例,提供了一种文本相似度的确定方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

首先,先对本发明实施例中使用的匹配模型进行简要说明。

图1是根据本发明实施例的一种可选的匹配模型的示意图,该匹配模型可以对应于语义匹配框架,通过该匹配模型可以计算文本之间的文本相似度。如图1所示,该匹配模型至少包括:输入层(包括输入层a和输入层b)、词语表示层(包括词语表示层a和词语表示层b)、句子表示层(包括句子表示层a和句子表示层b)、文章表示层(包括文章表示层a和文章表示层b)、匹配层和输出层,其中,词语表示层、句子表示层、文章表示层都属于表示层,即对文本进行向量表示的处理。

下面对上述各个层次进行说明,其中,输入层作为模型的输入接口,目的是将待输入的文本词序列表示为计算机可以理解的数学符号,在本示例性实施例中,可以使用embedding模型将待输入的文本转化成词语的多维数字向量。例如,在将一个文本拆分后,可以得到200个词语,这时可以对每一个词语建立数字向量,得到100*2维的数字向量矩阵,该矩阵中宽度为100。

可选的,词语表示层完成输入文本从词到句的表示构建,即将词语序列里孤立的词语的数字向量表示转换成一个或多个具有全局信息的低维稠密的语义向量,该语义向量可以表示句子中的语义信息。例如,可以将近义词、同义词等词语意义接近的词语向量放置在一起,压缩语义较为接近的词语向量,减少词语向量的维度,并且还可以减少这些含义较为接近的词语向量,例如,“老师”、“教授”都可以只是“教师”,则可以将这两个词语向量表示为教师,实现词语组合,建立低维稠密的语义向量,每一个语义向量表示了句子中的语义信息。

在本发明一可选的示例中,句子表示层,可以在词语表示的基础上引入句子表示模型,能够有效利用词语组合得到包含句子语义信息的表示。即本发明实施例中,可以对每一个句子中的词语进行组合,减少语义接近的句子,利用句子表示模型可以得到包含句子语义信息的表示。可选的,在进行句子表示时,可以通过rnn网络来实现句子向量的表示,在本发明实施例中并不限于rnn网络,也可以是autoencoder,lstm,cnn等网络结构。

在本发明另一可选的示例中,文章表示层,可以通过句子到篇章的篇章表示方案,有效利用句子权重信息,抓住文章中心,获取最有效的文章表示方式。即本发明实施例中可以通过对多个句子的句子含义进行识别,以确定出整个文章的中心含义,确定出每一篇文章想要表达的含义,这样就可以对文本之间的相似度进行区别。可选的在本发明实施例中可以使用cnn模型,但是同样不限于该cnn模型。

匹配层是匹配模型的核心,其可以实现多语义融合,得到文本之间的相似度。在本层中,我们通过多种文本的表示向量进行交互计算来进行文本相似程度的度量,而不是通过表示层将文本表示成唯一的一个整体向量通过各种固定的度量函数来进行文本相似度计算。在本方案中,利用文章表示层输出结果,对两段文本进行交互,构成两段文本之间的多组matchmatrix(可以理解为二维矩阵),形成tensor(可以理解为高阶矩阵,如三维矩阵),这样可以包括更细致更局部的文本交互信息。然后基于该局部匹配特征tensor,进一步使用卷积来提取高级的多层次匹配特征,再经过池化(pooling)和全连接层得到最终匹配得分。

输出层,可以输出文本之间的文本相似度。

在使用上述的匹配模型之前,可以先训练得到匹配模型。

下面对本发明的文本相似度的确定方法进行详细说明。下述介绍的方法中可以使用上述的匹配模型的各个层次。即下述文本相似度的确定方法可以应用于预先建立的匹配模型中。

图2是根据本发明实施例的一种文本相似度的确定方法的流程图,如图2所示,该方法包括如下步骤:

步骤s202,获取至少两个文本的词序列;

步骤s204,将至少两个文本的词序列转换成多维数字向量;

步骤s206,通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量;

步骤s208,通过所述匹配模型对所述文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。

通过上述步骤,可以获取至少两个文本的词序列,将至少两个文本的词序列转换成多维数字向量,通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量,通过所述匹配模型对所述文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。在该实施例中,可以通过匹配模型对多维数字向量进行语义组合,以确定文本向量,然后利用文本向量和解析的文本语义来确定文本之间的相似度,这样就可以通过匹配模型解决同义性问题,提升文本相似度计算的精度,具体地,可以通过一步步得到含义较为接近的向量维度,提高计算文本相似度的准确度,从而解决相关技术中由于语义不同导致文本相似度判别困难的技术问题。

下面对上述各个步骤进行详细说明。

步骤s202,获取至少两个文本的词序列。

优选的,在确定文本之间的文本相似度时,选择每两个文本之间进行比较,在确认要比较文本相似度的两个文本后,可以分别将文本内容输入至匹配模型的输入层。

步骤s204,将至少两个文本的词序列转换成多维数字向量。

即可以在获取至少两个文本的词序列之后,将至少两个文本的词序列转换成多维数字向量,其中,多维数字向量对应于多个词序列。本发明可以将输入的文本的词序列转换成计算机可以理解的数字符号,如“老师”表示为0001,“教授”表示为0002。对于具体地向量表示方式,在本申请中不做具体限定,通过将文本中的词序列转换成数字向量,每个数字向量都会对应一个词序列,这样可以为后续分析做准确。

步骤s206,通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量。

本发明实施例中,对多维数字向量进行语义组合可以是在匹配模型的表示层中操作,可选的,表示层可以包括下述至少之一:词语表示层、句子表示层、文章表示层。

作为本发明一可选的示例,通过预先训练的匹配模型对所述多维数字向量进行语义组合,以确定文本向量的步骤,包括:获取所述多维数字向量;依据所述多维数字向量,计算低维语义向量,其中,所述低维语义向量表示词语所在的句子的语义信息;对所述低维语义向量进行组合,确定多个单维句子向量,其中,所述单维句子向量表示句子所在文本的文本信息;通过所述多个单维句子向量,计算所述至少两个文本的文本向量。

其中,可以通过词语表示层,依据多维数字向量,计算低维语义向量,其中,低维语义向量表示词语所在的句子的语义信息。然后可以通过句子表示出,对低维语义向量进行组合,确定多个单维句子向量,其中,单维句子向量表示句子所在文本的文本信息。最后可以通过文章表示层,通过多个单维句子向量,计算至少两个文本的文本向量。

对于上述实施方式中,依据多维数字向量,计算低维语义向量包括:将多维数字向量中的每维数字向量转换为表示词语所在句子的词语向量;组合词语向量中词义的相似度在预设范围内的词语,以得到低维语义向量。

通过上述实施方式,可以将词语向量中词义的相似度在预设范围内的词语进行组合,以降低词语的词语向量维度,得到更接近句子的句子含义的词语向量。

通过上述的词语表示层,可以将序列里的孤立的词语的向量表示转换成一个或多个具有全局信息的地位稠密的语义向量,如在第一步中输入的词语为200个,则可以建立200维的数字向量,每一个数字向量对应了一个词语,这时通过词语表示层可以将词语含义较为接近的同义词、近义词进行组合,从而得到维度较低的低维稠密的语义向量,如得到50维的语义向量。可选的,本发明实施例的语义向量可以表示其所在句子的语义信息。

而通过上述的句子表示层对低维语义向量进行组合,确定多个单维句子向量,可以是指对句子向量进行组合,使得一个句子只有一个句子向量,例如,输入10*n的词语矩阵,词语矩阵会包括多个词语向量,这样在映射后会得到只有一维的句子映射向量空间,一维向量中包括多个词,即可以将10*n组合为1&n的句子向量。在进行句子组合时,可以通过句子表示层来进行组合,将句子含义较为接近的句子进行组合,具体地,可以使用双向rnn、cnn等网络来实现句子向量组合,得到多个单维句子向量。

另外,对于文章表示层通过多个单维句子向量,计算至少两个文本的文本向量,可以是指对多个句子向量的组合,得到体现文章中心的句子。可选的,可以对文章中心较为接近的句子进行权重加分,如两篇文章中各自有10个句子,其中,有8个句子含义基本相同,而只有两个句子含义不同,这时就需要根据这些句子的内容设置权重,如果这两个不同的句子表示文章之间的区别,则可以加重这两个句子的权重,以快速得到文章中心。可选的,本发明实施例中可以通过cnn模型来抓取文章中心。

步骤s208,通过匹配模型对文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。

可选的,上述步骤可以是通过匹配模型中的匹配层实现的。

在本示例性实施例中,通过匹配模型对文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度的步骤,包括:依据文本向量,确定每个文本的文本中心语句;依据文本中心语句,确定每个文本的文章中心语义;根据至少两个文本中每个文本的文章中心语义和匹配模型,计算至少两个文本的文本相似度。

上述实施方式,指示了可以通过对每个文本的文本中心语句进行识别,从而依据理解的文章中心语义对文本相似度进行计算。

在本发明另一可选地示例中,通过匹配模型对文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度还包括:依据每个文本的文章中心语义,对至少两个文本进行交互计算,以确定多组二维矩阵;根据多组二维矩阵,建立与至少两个文本的局部语句信息对应的高阶矩阵,其中,高阶矩阵中包括至少两个文本的文本匹配特征;使用卷积网络来提取至少两个文本的文本匹配特征,得到多层次文本匹配特征;对多层次文本匹配特征进行池化分析,确定至少两个文本的文本相似度。

上述实施方式,指示了可以通过文本向量进行交互计算来确定文本之间的相似度,与现有技术中仅仅将文本表示为一个整体向量通过各种固定的度量函数计算文本相似度相比较,本申请可以利用文章表示层的输出结果,对各个文本向量进行交互计算,构成多组二维矩阵,进而依据多组二维矩阵,形成高阶矩阵,这样就可以得到文本中更为详细的文本交互信息。然后可以依据高阶矩阵中含有的文本局部匹配特征对文本相似度进行计算。

可选地,上述的池化分析可知是指卷积网络中池化层进行池化分析,而对文本进行高级的多层次匹配特征,可以是指利用卷积网络中的卷积层做文本多层次匹配。通过池化分析后,可以利用卷积网络中的全连接层得到相似度。

在使用上述的匹配模型之前,可以预先训练得到匹配模型。

在通过多获取至少两个文本的词序列之前,包括:获取预设训练文本中的多组训练数据;通过多组训练数据得到匹配模型。

对于训练匹配模型,可以通过多组训练数据得到所述匹配模型,在通过多组训练数据得到匹配模型包括:获取对预设训练文本进行标注的文本标注信息,其中,文本标注信息至少包括文本标签;对预设训练文本进行分词,并建立与每个词语对应的数字向量;依据每个词语对应的数字向量,训练得到匹配模型,其中,在训练匹配模型时,通过多组训练数据对匹配模型进行训练,每组训练数据至少包括:词语分类结果、文本训练结果、文本相似度,词语分类结果为下述之一:相似词和非相似词,文本训练结果为下述之一:相似文本对和非相似文本对。

上述实施方式,指示了在使用匹配模型之前,可以先训练并建立匹配模型,首先可以对训练文本进行标注,将相似文本打上相同的标签,文本标签会指示训练的文本相似文本还是非相似文本。然后对训练文本中的词语进行分词处理,并且可以将词语对应的数字向量输入到匹配模型中。这里可以是指对文本进行分词并进行embeddingsmodel训练。

可选的,对于上述词语分类,可以指示对词语进行相似词语和非相似词语分类,即可以将含义较为接近的同义词、近义词等分类为相似词,而对含义差别较大的词语可以分类为非相似词,这样就可以为后续训练模型做准备了。这里可以是指将标注的文本生成相似文本对和不相似文本对。在分类完成后,可以将相似文本和非相似文本分别输入至匹配模型,以对匹配模型进行训练。

在本发明实施例中,可以使用上一步训练出来的模型来预测输入的两个文本是否形似,并输出相似度的数值。

图3是根据本发明实施例的一种可选的训练匹配模型的方法流程图,如图3所示,该方法包括:

步骤s301,文本标注,将相似文本打上相同的标签。

需要给文本打上不同的标签来区分文本是否相似,我们打的标签要保证相似文本具有相同的标签,不相似的文本具有不同标签。

步骤s302,对文本进行分词并进行词语向量训练。

即可以对分词后的文本词语进行训练,通过数字向量化表示,类似于向一个盒子输入文本分词,进而进行文本训练。在这个过程,可以先文本进行分词,比如文本“柜员取钱给客户”分词后为[“柜员”,“取钱”,“给”,“客户”]。然后在大规模语料上训练一个词向量(wordembeddings)模型,主要用于词语的向量化表示。

步骤s303,将标注的文本生成文本相似对及文本非相似对。

可选的,可以通过随机采样的方法,获取标注语料集合中的一条数据,并在该语料相似集合以及不相似集合中采样不同的文本形式,构成多条该数据的相似pair对和不相似pair对。通过多次采样形式,为语料集合中数据生成pair对。即可以对语料进行相似对文本和非相似对文本进行区分,从而得到分词文本。

步骤s304,训练模型。

在本发明实施例中,可以将上一步中得到的pair对输入到模型中进行训练,得到模型中的参数,并将训练出的模型保存到本地。在模型优化上,我们不限于某种优化方法。

可选的,在训练好模型可以预测输入的两个文本是否形似,并输出相似程度。

可选的,将新的文本和已有历史数据构成的pair对输入到上一步训练出的模型中去,得到它们之间的相似度,最终获取新文本的相似度评分。

通过上述实施例,可以通过使用匹配模型中的表示层,对词序列的数字向量进行连续分布的组合表示,通过逐步建立低维稠密和与文本中心含义接近的向量,来提升文本相似度计算的精度,通过添加词语到句子的表示层,来保留句子结构等信息,以使在交互计算过程中可以获取更多的维度信息,并且还可以采用网络结构,获取句子及文章中心信息,有效捕获句子中心及文章中心,从而多个角度比较文本之间的相似度,即在该实施例中可以使用深度学习框架,优化相似度计算参数,通过cnn等方法可以将文本在更多维度上的信息引入到相似度计算过程中,使得计算出的文本相似度准确度更高,且计算方式更加多样性,通过多层的文章表示模型,捕获有效的文章中心,引入了文本更多维度的信息来计算文本之间的相似性,并通过优化文本交互参数,提升了相似度计算的精度。

下面结合另一种实施例来对本发明进行说明。

实施例二

下述实施例中涉及到文本相似度的确定装置,该装置中可以包括多个单元,每个单元对应于上述实施例一中的各个实施步骤s202至步骤s208。

可选的,下述文本相似度的确定装置可以应用于预先建立的匹配模型中。

图4是根据本发明实施例的一种文本相似度的确定装置的示意图,如图4所示,该装置可以包括:获取单元41、转换单元43、组合单元45、确定单元47,其中,

获取单元41,用于获取至少两个文本的词序列;

转换单元43,用于将至少两个文本的词序列转换成多维数字向量;

组合单元45,用于通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量;

确定单元47,用于通过匹配模型对文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。

上述文本相似度的确定装置,通过获取单元41获取至少两个文本的词序列,利用转换单元43将至少两个文本的词序列转换成多维数字向量,利用组合单元45通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量,利用确定单元47通过匹配模型对文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。在该实施例中,可以通过匹配模型对多维数字向量进行语义组合,以确定文本向量,然后利用文本向量和解析的文本语义来确定文本之间的相似度,这样就可以通过匹配模型解决同义性问题,提升文本相似度计算的精度,具体地,可以通过一步步得到含义较为接近的向量维度,提高计算文本相似度的准确度,从而解决相关技术中由于语义不同导致文本相似度判别困难的技术问题。

可选地,组合单元包括:第一获取模块,用于获取多维数字向量;第一计算模块,用于依据多维数字向量,计算低维语义向量,其中,低维语义向量表示词语所在的句子的语义信息;第一组合模块,用于对低维语义向量进行组合,确定多个单维句子向量,其中,单维句子向量表示句子所在文本的文本信息;第二计算模块,用于通过多个单维句子向量,计算至少两个文本的文本向量。

在本发明实施例中,第一计算模块包括:第一转换模块,用于将多维数字向量中的每维数字向量转换为表示词语所在句子的词语向量;第二组合模块,用于组合词语向量中词义的相似度在预设范围内的词语,以得到低维语义向量。

另一种可选的,确定单元包括:第一确定模块,用于依据文本向量,确定每个文本的文本中心语句;第二确定模块,用于依据文本中心语句,确定每个文本的文章中心语义;第三计算模块,用于根据至少两个文本中每个文本的文章中心语义和匹配模型,计算至少两个文本的文本相似度。

作为本发明一可选的示例,确定单元还包括:第四计算模块,用于依据每个文本的文章中心语义,对至少两个文本进行交互计算,以确定多组二维矩阵;第一建立模块,用于根据多组二维矩阵,建立与至少两个文本的局部语句信息对应的高阶矩阵,其中,高阶矩阵中包括至少两个文本的文本匹配特征;提取模块,用于使用卷积网络来提取至少两个文本的文本匹配特征,得到多层次文本匹配特征;第三确定模块,用于对多层次文本匹配特征进行池化分析,确定至少两个文本的文本相似度。

上述文本相似度的确定装置还包括:第三获取单元,用于在通过多获取至少两个文本的词序列之前,获取预设训练文本中的多组训练数据;训练单元,用于通过多组训练数据得到匹配模型。

在本发明另一可选的示例中,训练单元包括:第二获取模块,用于获取对预设训练文本进行标注的文本标注信息,其中,文本标注信息至少包括文本标签;第二建立模块,用于对预设训练文本进行分词,并建立与每个词语对应的数字向量;训练模块,用于依据每个词语对应的数字向量,训练得到匹配模型,其中,在训练匹配模型时,通过多组训练数据对匹配模型进行训练,每组训练数据至少包括:词语分类结果、文本训练结果、文本相似度,词语分类结果为下述之一:相似词和非相似词,文本训练结果为下述之一:相似文本对和非相似文本对。

上述的文本相似度的确定装置还可以包括处理器和存储器,上述获取单元41、转换单元43、组合单元45、确定单元47等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来输出文本的文本相似度。

上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质用于存储程序,其中,程序在被处理器执行时控制存储介质所在设备执行上述任意一项的文本相似度的确定方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的文本相似度的确定方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取至少两个文本的词序列;将至少两个文本的词序列转换成多维数字向量;通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量;通过所述匹配模型对所述文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。

可选的,上述处理器在执行程序时,还可以实现以下步骤:获取所述多维数字向量;依据所述多维数字向量,计算低维语义向量,其中,所述低维语义向量表示词语所在的句子的语义信息;对所述低维语义向量进行组合,确定多个单维句子向量,其中,所述单维句子向量表示句子所在文本的文本信息;通过所述多个单维句子向量,计算所述至少两个文本的文本向量。

可选的,上述处理器在执行程序时,还可以实现以下步骤:将所述多维数字向量中的每维数字向量转换为表示词语所在句子的词语向量;组合词语向量中词义的相似度在预设范围内的词语,以得到所述低维语义向量。

可选的,上述处理器在执行程序时,还可以实现以下步骤:依据所述文本向量,确定每个文本的文本中心语句;依据所述文本中心语句,确定每个所述文本的文章中心语义;根据所述至少两个文本中每个文本的所述文章中心语义和所述匹配模型,计算所述至少两个文本的文本相似度。

可选的,上述处理器在执行程序时,还可以实现以下步骤:依据所述每个文本的所述文章中心语义,对所述至少两个文本进行交互计算,以确定多组二维矩阵;根据所述多组二维矩阵,建立与所述至少两个文本的局部语句信息对应的高阶矩阵,其中,所述高阶矩阵中包括所述至少两个文本的文本匹配特征;使用卷积网络来提取所述至少两个文本的文本匹配特征,得到多层次文本匹配特征;对所述多层次文本匹配特征进行池化分析,确定所述至少两个文本的文本相似度。

可选的,上述处理器在执行程序时,还可以实现以下步骤:在通过多获取至少两个文本的词序列之前,获取预设训练文本中的多组训练数据;通过所述多组训练数据得到所述匹配模型。

可选的,上述处理器在执行程序时,还可以实现以下步骤:获取对所述预设训练文本进行标注的文本标注信息,其中,所述文本标注信息至少包括文本标签;对所述预设训练文本进行分词,并建立与每个词语对应的数字向量;依据所述每个词语对应的数字向量,训练得到所述匹配模型,其中,在训练所述匹配模型时,通过多组训练数据对所述匹配模型进行训练,每组所述训练数据至少包括:词语分类结果、文本训练结果、文本相似度,所述词语分类结果为下述之一:相似词和非相似词,所述文本训练结果为下述之一:相似文本对和非相似文本对。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取至少两个文本的词序列;将至少两个文本的词序列转换成多维数字向量;通过预先训练的匹配模型对多维数字向量进行语义组合,以确定文本向量;通过所述匹配模型对所述文本向量进行向量比对,并对至少两个文本的文本语义进行解析,确定至少两个文本的文本相似度。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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