基于Bert模型的文本相似度计算方法和装置与流程

文档序号:21363179发布日期:2020-07-04 04:37阅读:1238来源:国知局
基于Bert模型的文本相似度计算方法和装置与流程

【技术领域】

本发明涉及人工智能技术领域,尤其涉及一种基于bert模型的文本相似度计算方法和装置。



背景技术:

文本相似度计算是自然语言处理领域的分支之一。目前文本相似度预测、计算上仍存在语义识别能力较弱、字词与文本相关性不强等问题。文本相似度计算的准确度不能达到用户的期望。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于bert模型的文本相似度计算方法、装置、计算机设备及存储介质,用以解决目前文本相似度计算的准确度较低的问题。

第一方面,本发明实施例提供了一种基于bert模型的文本相似度计算方法,包括:

确定待比对文本句段;

采用词频词现率算法,基于所述待比对文本句段得到第一文本矩阵;

通过预先训练的bert模型,基于所述待比对文本句段得到第二文本矩阵;

将所述第一文本矩阵和所述第二文本矩阵进行拼接,得到拼接文本矩阵;

对所述拼接文本矩阵进行特征优化,得到目标文本矩阵;

采用预设的相似度算法,根据所述目标文本矩阵得到所述待比对文本句段间的文本相似度。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述采用词频词现率算法,基于所述待比对文本句段得到第一文本矩阵,包括:

根据所述待比对文本句段建立词袋,其中,所述词袋包括所述待比对文本句段中出现的字词;

根据所述词袋计算每个所述字词在所述待比对文本句段中的词频,采用公式表示为其中,t表示字词,d表示句段,tft,d表示字词t是否在句段d中出现,若出现则取1,若没有出现则gt,d取0,gt,d表示一个字词在一所述待比对文本句段中的占比;

根据所述词袋计算逆向文件频率,采用公式表示为其中,n表示文件总个数,所述文件是预先确定的,dft表示有n个文件含有字词t,所述n为大于或等于0的整数;

根据所述词频和所述逆向文件频率得到所述第一文本矩阵,所述第一文本矩阵中的元素采用公式计算得到。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述在通过预先训练的bert模型,基于所述待比对文本句段得到第二文本矩阵之前,还包括bert模型的训练过程,包括如下步骤:

获取原始语料;

将所述原始语料进行字符级的分割;

根据所述原始语料构建句子对,其中,所述句子对包括正样本句子对和负样本句子对,所述正样本句子对存在句子间的上下文关系,所述负样本句子对不存在句子间的上下文关系;

基于字符级分割后的所述原始语料连接所述句子对;

随机遮掩所述句子对中百分之十的字符,得到训练语料;

将所述训练语料输入到初始bert模型中进行训练,得到所述bert模型。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一文本矩阵和所述第二文本矩阵进行拼接,得到拼接文本矩阵,包括:

判断所述第一文本矩阵和所述第二文本矩阵的矩阵尺寸是否相同;

若相同,将所述第一文本矩阵和所述第二文本矩阵进行拼接,得到所述拼接文本矩阵;

若不相同,采用主成分分析法对所述第一文本矩阵进行降维,使所述第一文本矩阵的矩阵尺寸等于所述第二文本矩阵的矩阵尺寸,并在降维后拼接所述第一文件矩阵和所述第二文本矩阵,得到所述拼接文本矩阵。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述拼接文本矩阵进行特征优化,得到目标文本矩阵,包括:

基于主成分分析的方法,计算所述拼接文本矩阵的词向量vs,采用公式表示为其中,s为所述拼接文本矩阵,vt为字词t在所述拼接文本矩阵中的向量,α为预设的平滑参数,pt为字词在文件中出现的概率;

采用截断奇异值分解方法得到所述词向量vs的主成分u;

根据所述词向量vs和所述主成分u对所述词向量vs进行特征优化,得到更新后的所述词向量,采用公式表示为v′s=vs-u(ut)vs,其中,t表示转置矩阵运算;

根据更新后的所述词向量vs′得到所述目标文本矩阵。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述采用预设的相似度算法,根据所述目标文本矩阵得到所述待比对文本句段间的文本相似度,包括:

根据待比对文本句段中更新后的所述词向量vs′,从所述目标文本矩阵中得到与所述待比对文本句段对应的目标文本向量;

采用预先相似度算法计算所述目标文本向量之间的相似度,得到所述待比对文本句段间的相似度,采用公式表示为其中,q表示第一待比对文本句段的目标文本向量,c表示第二待比对文本句段的目标文本向量,所述待比对文本句段包括所述第一待比对文本句段和所述第二待比对文本句段。

第二方面,本发明实施例提供了一种基于bert模型的文本相似度计算装置,包括:

文本确定模块,用于确定待比对文本句段;

第一获取模块,用于采用词频词现率算法,基于所述待比对文本句段得到第一文本矩阵;

第二获取模块,用于通过预先训练的bert模型,基于所述待比对文本句段得到第二文本矩阵;

拼接文本矩阵获取模块,用于将所述第一文本矩阵和所述第二文本矩阵进行拼接,得到拼接文本矩阵;

目标文本矩阵获取模块,用于对所述拼接文本矩阵进行特征优化,得到目标文本矩阵;

文本相似度计算模块,用于采用预设的相似度算法,根据所述目标文本矩阵得到所述待比对文本句段间的文本相似度。

第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于bert模型的文本相似度计算方法的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,包括:计算机程序,所述计算机程序被处理器执行时实现上述基于bert模型的文本相似度计算方法的步骤。

在本发明实施例中,首先基于待比对文本句段,采用词频词现率算法以及通过预先训练的bert模型分别得到第一文本矩阵和第二文本矩阵,该第一文本矩阵能够体现待比对文本句段中词频和词现率,第二文本矩阵能够将待比对文本句段中的字词间关系、字词位置关系和句子间关系体现出来;接着,将第一文本矩阵和第二文本矩阵进行拼接得到拼接文本矩阵,将第一文本矩阵和第二文本矩阵所体现的特征进行结合,形成一个多方位体现特征的综合性矩阵,有助于后续提高文本相似度的准确度;然后将拼接文本矩阵进行特征优化,得到目标文本矩阵,使拼接矩阵能够通过特征优化去除一些噪音数据,提高目标文本矩阵的特征表达能力;最后采用预设的相似度算法,根据目标文本矩阵得到待比对文本句段间的文本相似度,基于目标文本矩阵体现的待比对文本句段中字词的词频和词现率,以及待比对文本句段中的字词之间关系、字词位置关系和句子之间关系等特征出发进行计算,能够有效提高文本相似度的准确度。

【附图说明】

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

图1是本发明一实施例中基于bert模型的文本相似度计算方法的一流程图;

图2是本发明一实施例中基于bert模型的文本相似度计算装置的原理框图;

图3是本发明一实施例中计算机设备的一示意图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的相同的字段,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

图1示出本实施例中基于bert模型的文本相似度计算方法的一流程图。该基于bert模型的文本相似度计算方法可应用在文本相似度计算系统上,在进行句子间的文本相似度计算时可采用该文本相似度计算系统实现。该文本相似度计算系统具体可应用在计算机设备上,其中,该计算机设备是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备。如图1所示,该基于bert模型的文本相似度计算方法包括:

s10:确定待比对文本句段。

其中,待比对文本句段表示用于进行文本相似度比对的句段,具体可以有多个,每次进行文本相似度比对时,从待比对文本句段中取两个句段进行比对。

可以理解地,若想对一本小说中的任意两句话进行比对,则待比对文本句段可以是一本小说中所包含的所有字段,此时小说中的句段都是待比对文本句段。

s20:采用词频词现率算法,基于待比对文本句段得到第一文本矩阵。

其中,词频词现率算法是一种计算字词出现频率和逆向文件频率(词现率)的算法,能够体现字词在句段中的重要程度。在一实施例中,采用该词频词现算法计算待比对文本句段中每个字词的词频和词现率,构建得到第一文本矩阵,通过矩阵的方式将这些字词的词频和词现率特征体现出来。

进一步地,在步骤s20中,采用词频词现率算法,基于待比对文本句段得到第一文本矩阵,具体包括:

s21:根据待比对文本句段建立词袋,其中,词袋包括待比对文本句段中出现的字词。

可以理解地,词袋是指字词组成的集合。

在一实施例中,建立待比对文本句段对应的词袋,可以对待比对文本句段中的字词进行词频、词现率的计算。

s22:根据词袋计算每个字词在待比对文本句段中的词频,采用公式表示为其中,t表示字词,d表示句段,tft,d表示字词t是否在句段d中出现,若出现则取1,若没有出现则gt,d取0,gt,d表示一个字词在一待比对文本句段中的占比。

在一实施例中,将通过词袋计算每个字词在待比对文本句段中的词频。具体地,如待比对文本句段a包括字词a、字词b、字词c和字词d,待比对文本句段b包括字词a、字词b、字词e和字词f,则有ga,a=1,ga,c=1,gb,a=1,gb,c=0。

本实施例中,通过计算每个字词在待比对文本句段中的词频,能够突出一个字词在一待比对文本句段中的占比情况。

s23:根据词袋计算逆向文件频率,采用公式表示为其中,n表示文件总个数,文件是预先确定的,dft表示有n个文件含有字词t,n为大于或等于0的整数。

其中,这里的文件是预先确定的,如小说的一个章节可以采用一个文件的方式进行存储。在一实施例中,根据词袋计算逆向文件频率,能够体现字词在文件维数上的占比情况。

s24:根据词频和逆向文件频率得到第一文本矩阵,第一文本矩阵中的元素采用公式计算得到。

具体地,第一文本矩阵可表示为公式wt,d计算的是第一文本矩阵中每个具体的元素,其中,vij表示第j个待比对文本句段中的第i个字词。

可以理解地,将词频和词现率(逆向文件频率)相乘可以计算得到第一文本矩阵中每个具体的元素。本实施例中,通过采用第一文本矩阵的方式将字词的重要程度通过词频和词现率体现出来。

其中,词频体现的是在句子中出现的频率,而词现率主要体现的是在文件中出现的频率,以防止某一字词在某一文件中大量出现确在其他文件中少量出现的情况。将词频和逆向文件频率相乘可以综合两者所体现出的字词特征,更准确地体现字词的重要程度(可理解为赋予字词不同的权重)。

在步骤s21-s24中,通过采用词频词现率算法,基于待比对文本句段得到第一文本矩阵,在第一文本矩阵中将待比对文本句段中字词的重要程度通过词频和词现率体现出来,有助于提高后续计算文本相似度的准确度。

s30:通过预先训练的bert模型,基于待比对文本句段得到第二文本矩阵。

在一实施例中,将待比对文本句段导入到预先训练的bert模型中,输出第二文本矩阵,该第二文本矩阵能够借助bert模型提取特征的特点,动态表达待比对文本句段中字词间关系、字词位置关系和句子间关系,从字词、句等多方面体现待比对文本句段的特征,能够提高后续计算文本相似度的准确度。

具体地,本实施例中使用的是一个24层训练网络层和1024个网络节点的初始bert模型,其中,训练网络层中包括trm,该trm为双向transformer编码器,对应于每个网络节点。进一步地,采用e1,e2…en作为该训练模型的输入层,t1,t2…tn作为该训练模型的输出层,其中,e1,e2…en与trm为全连接的连接关系。

可以看出,bert模型的结构本身并不复杂,而对bert模型训练关键点在于对语料库的预处理。

进一步地,在步骤s30之前,即在通过预先训练的bert模型,基于待比对文本句段得到第二文本矩阵之前,还包括bert模型的训练过程,该bert模型的训练过程具体包括如下步骤:

s31:获取原始语料。

其中,原始语料可以从开源的语料库中获取。

进一步地,原始语料可以包括开源的语料库中的语料,以及与开源的语料库中的语料数量相同的待比对文本句段,两者分别占原始语料的一半。采用这种获取原始语料的方式,可以让bert模型在具有对待比对文本句段有较强的特征提取能力时,同时保持一定的泛化能力,能够提高bert模型提取特征的准确度。

s32:将原始语料进行字符级的分割。

其中,字符级的分割包括对标点符号等字符进行分割。该字符级的分割主要用于后续连接句子对,以及将标点符号等非字词的字符去掉。

s33:根据原始语料构建句子对,其中,句子对包括正样本句子对和负样本句子对,正样本句子对存在句子间的上下文关系,负样本句子对不存在句子间的上下文关系。

其中,句子对是指一组句子。在本实施例中将根据句子间是否存在上下文关系构建正样本句子对和负样本句子对,以使训练初始bert模型时让初始bert模型学习句子间关系的能力,其中,初始bert模型是指采用初始化权重的bert模型。

s34:基于字符级分割后的原始语料连接句子对。

可以理解地,步骤s33构建的句子对正负样本用于确定句子对是否存在上下文关系。本实施例中,在进行句子对连接时是以字符为最小单位进行连接的,以使初始bert模型在训练过程能以字符为最小单位进行特征的学习。具体地,采用[sep]标签进行句子间的连接,句首采用[cls]作为标签,句末采用[sep]作为标签。该采用标签的形式对句子本身的位置、句子间的前后关系进行标记,能够帮助训练初始bert模型时让初始bert模型学习到这些特征。

s35:随机遮掩句子对中百分之十的字符,得到训练语料。

这里采用了bert模型训练的mask(遮掩)机制,其中,遮掩的字符具体可采用预训练的预测模型得到预测字符。采用该随机遮掩字符的方式,能够让模型在训练过程中进行判断的能力,使训练得到的模型具有更强的泛化能力,特征提取的能力更强。

s36:将训练语料输入到初始bert模型中进行训练,得到bert模型。

在步骤s31-s36中,提供了一种训练bert模型的具体实施例。可以看出,在本实施例中对bert模型训练关键点在于对语料库的预处理,将预处理得到的训练语料,输入到初始bert模型中进行训练,将对初始bert模型中的初始权重进行更新,从而得到bert模型。

s40:将第一文本矩阵和第二文本矩阵进行拼接,得到拼接文本矩阵。

其中,拼接是指矩阵拼接的操作。

在一实施例中,将第一文本矩阵和第二文本矩阵进行拼接得到的拼接文本矩阵,同时包含了第一文本矩阵和第二文本矩阵的特征,能够体现待比对文本句段中词频和词现率,待比对文本句段中的字词间关系、字词位置关系和句子间关系等特征。

进一步地,在步骤s40中,将第一文本矩阵和第二文本矩阵进行拼接,得到拼接文本矩阵,具体包括:

s41:判断第一文本矩阵和第二文本矩阵的矩阵尺寸是否相同。

s42:若相同,将第一文本矩阵和第二文本矩阵进行拼接,得到拼接文本矩阵。

s43:若不相同,采用主成分分析法对第一文本矩阵进行降维,使第一文本矩阵的矩阵尺寸等于第二文本矩阵的矩阵尺寸,并在降维后拼接第一文件矩阵和第二文本矩阵,得到拼接文本矩阵。

可以理解地,bert模型的输出可以根据任务需求设定不同的输出元素的维度。一般情况来说通过词频词现率算法生成的第一文本矩阵是稀疏矩阵,可以通过主成分分析的方法降维调整到与bert模型输出的第二文本矩阵同样的维度大小,其中,主成分分析的方法与步骤s51-s54中采用主成分分析进行特征优化的方法相同,可参考步骤s51-s54中采用的主成分分析的方法。

在步骤s41-s43中,可保证第一文本矩阵和第二文本矩阵在维度上的相同,便于计算机运算及后续的进一步处理。

s50:对拼接文本矩阵进行特征优化,得到目标文本矩阵。

在一实施例中,特征优化是指对拼接文本矩阵进行降维,以去除拼接文本矩阵中的噪音数据,有助于提高文本相似度计算的准确度。

进一步地,在步骤s50中,对拼接文本矩阵进行特征优化,得到目标文本矩阵,具体包括:

s51:基于主成分分析的方法,计算拼接文本矩阵的词向量vs,采用公式表示为其中,s为拼接文本矩阵,vt为字词t在拼接文本矩阵中的向量,α为预设的平滑参数,pt为字词在文件中出现的概率。

其中,α具体可以取0.0001。

s52:采用截断奇异值分解方法得到词向量vs的主成分u。

s53:根据词向量vs和主成分u对词向量vs进行特征优化,得到更新后的词向量,采用公式表示为vs′=vs-u(ut)vs,其中,t表示转置矩阵运算。

在一实施例中,特征优化采用的是主成分分析的方法,以去除拼词向量中的噪音数据。

s54:根据更新后的词向量vs′得到目标文本矩阵。

可以理解地,由得到的词向量vs′按照待比对文本句段、以及待比对文本句段中字段的索引编号构建目标文本矩阵。

在步骤s51-s54中,提供了一种得到目标文本矩阵的具体实施例,采用主成分分析的方法能够去除噪音数据,有助于提高文本相似度计算的准确度。

s60:采用预设的相似度算法,根据目标文本矩阵得到待比对文本句段间的文本相似度。

进一步地,在步骤s60中,采用预设的相似度算法,根据目标文本矩阵得到待比对文本句段间的文本相似度,具体包括:

s61:根据待比对文本句段中更新后的词向量vs′,从目标文本矩阵中得到与待比对文本句段对应的目标文本向量。

可以理解地,一个待比对文本句段中包括不同的字词,一个词向量vs′对应于一个字词,则需要根据待比对文本句段中包括的字词,根据更新后的词向量vs′,从目标文本矩阵中挑选与待比对文本句段相关的矩阵元素,得到与待比对文本句段对应的目标文本向量。

s62:采用预先相似度算法计算目标文本向量之间的相似度,得到待比对文本句段间的相似度,采用公式表示为其中,q表示第一待比对文本句段的目标文本向量,c表示第二待比对文本句段的目标文本向量,待比对文本句段包括第一待比对文本句段和第二待比对文本句段。

在一实施例中,相似度算法具体采用余弦相似度,能够从方向作为衡量相似度的重点,突出文本的相似度,提升文本相似度的准确度。

在本发明实施例中,首先基于待比对文本句段,采用词频词现率算法以及通过预先训练的bert模型分别得到第一文本矩阵和第二文本矩阵,该第一文本矩阵能够体现待比对文本句段中词频和词现率,第二文本矩阵能够将待比对文本句段中的字词间关系、字词位置关系和句子间关系体现出来;接着,将第一文本矩阵和第二文本矩阵进行拼接得到拼接文本矩阵,将第一文本矩阵和第二文本矩阵所体现的特征进行结合,形成一个多方位体现特征的综合性矩阵,有助于后续提高文本相似度的准确度;然后将拼接文本矩阵进行特征优化,得到目标文本矩阵,使拼接矩阵能够通过特征优化去除一些噪音数据,提高目标文本矩阵的特征表达能力;最后采用预设的相似度算法,根据目标文本矩阵得到待比对文本句段间的文本相似度,基于目标文本矩阵体现的待比对文本句段中字词的词频和词现率,以及待比对文本句段中的字词之间关系、字词位置关系和句子之间关系等特征出发进行计算,能够有效提高文本相似度的准确度。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

基于实施例中所提供的基于bert模型的文本相似度计算方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。

图2示出与实施例中基于bert模型的文本相似度计算方法一一对应的基于bert模型的文本相似度计算装置的原理框图。如图2所示,该基于bert模型的文本相似度计算装置包括文本确定模块10、第一获取模块20、第二获取模块30、拼接文本矩阵获取模块40、目标文本矩阵获取模块50和文本相似度计算模块60。其中,文本确定模块10、第一获取模块20、第二获取模块30、拼接文本矩阵获取模块40、目标文本矩阵获取模块50和文本相似度计算模块60的实现功能与实施例中基于bert模型的文本相似度计算方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。

文本确定模块10,用于确定待比对文本句段。

其中,待比对文本句段表示用于进行文本相似度比对的句段,具体可以有多个,每次进行文本相似度比对时,从待比对文本句段中取两个句段进行比对。

可以理解地,若想对一本小说中的任意两句话进行比对,则待比对文本句段可以是一本小说中所包含的所有字段,此时小说中的句段都是待比对文本句段。

第一获取模块20,用于采用词频词现率算法,基于待比对文本句段得到第一文本矩阵。

其中,词频词现率算法是一种计算字词出现频率和逆向文件频率(词现率)的算法,能够体现字词在句段中的重要程度。在一实施例中,采用该词频词现算法计算待比对文本句段中每个字词的词频和词现率,构建得到第一文本矩阵,通过矩阵的方式将这些字词的词频和词现率特征体现出来。

第二获取模块30,用于通过预先训练的bert模型,基于待比对文本句段得到第二文本矩阵。

在一实施例中,将待比对文本句段导入到预先训练的bert模型中,输出第二文本矩阵,该第二文本矩阵能够借助bert模型提取特征的特点,动态表达待比对文本句段中字词间关系、字词位置关系和句子间关系,从字词、句等多方面体现待比对文本句段的特征,能够提高后续计算文本相似度的准确度。

具体地,本实施例中使用的是一个24层训练网络层和1024个网络节点的初始bert模型,其中,训练网络层中包括trm,该trm表示双向transformer编码器,对应于每个网络节点。进一步地,采用e1,e2…en作为该训练模型的输入层,t1,t2…tn作为该训练模型的输出层,其中,e1,e2…en与trm为全连接的连接关系。

可以看出,bert模型的结构本身并不复杂,而对bert模型训练关键点在于对语料库的预处理。

拼接文本矩阵获取模块40,用于将第一文本矩阵和第二文本矩阵进行拼接,得到拼接文本矩阵。

其中,拼接是指矩阵拼接的操作。

在一实施例中,将第一文本矩阵和第二文本矩阵进行拼接得到的拼接文本矩阵,同时包含了第一文本矩阵和第二文本矩阵的特征,能够体现待比对文本句段中词频和词现率,待比对文本句段中的字词间关系、字词位置关系和句子间关系等特征。

目标文本矩阵获取模块50,用于对拼接文本矩阵进行特征优化,得到目标文本矩阵。

在一实施例中,特征优化具体可以是指对拼接文本矩阵进行降维,以去除拼接文本矩阵中的噪音数据,有助于提高文本相似度计算的准确度。

文本相似度计算模块60,用于采用预设的相似度算法,根据目标文本矩阵得到待比对文本句段间的文本相似度。

可选地,第一获取模块20,具体用于:

根据待比对文本句段建立词袋,其中,词袋包括待比对文本句段中出现的字词;

根据词袋计算每个字词在待比对文本句段中的词频,采用公式表示为其中,t表示字词,d表示句段,tft,d表示字词t是否在句段d中出现,若出现则取1,若没有出现则gt,d取0,gt,d表示一个字词在一待比对文本句段中的占比;

根据词袋计算逆向文件频率,采用公式表示为其中,n表示文件总个数,文件是预先确定的,dft表示有n个文件含有字词t,n为大于或等于0的整数;

根据词频和逆向文件频率得到第一文本矩阵,第一文本矩阵中的元素采用公式计算得到。

可选地,该基于bert模型的文本相似度计算装置还包括训练模块,用于:

获取原始语料;

将原始语料进行字符级的分割;

根据原始语料构建句子对,其中,句子对包括正样本句子对和负样本句子对,正样本句子对存在句子间的上下文关系,负样本句子对不存在句子间的上下文关系;

基于字符级分割后的原始语料连接句子对;

随机遮掩句子对中百分之十的字符,得到训练语料;

将训练语料输入到初始bert模型中进行训练,得到bert模型。

可选地,拼接文本矩阵获取模块40具体用于:

判断第一文本矩阵和第二文本矩阵的矩阵尺寸是否相同;

若相同,将第一文本矩阵和第二文本矩阵进行拼接,得到拼接文本矩阵;

若不相同,采用主成分分析法对第一文本矩阵进行降维,使第一文本矩阵的矩阵尺寸等于第二文本矩阵的矩阵尺寸,并在降维后拼接第一文件矩阵和第二文本矩阵,得到拼接文本矩阵。

可选地,目标文本矩阵获取模块50,具体用于:

基于主成分分析的方法,计算拼接文本矩阵的词向量vs,采用公式表示为其中,s为拼接文本矩阵,vt为字词t在拼接文本矩阵中的向量,α为预设的平滑参数,pt为字词在文件中出现的概率;

采用截断奇异值分解方法得到词向量vs的主成分u;

根据词向量vs和主成分u对词向量vs进行特征优化,得到更新后的词向量,采用公式表示为vs′=vs-u(ut)vs,其中,t表示转置矩阵运算;

根据更新后的词向量vs′得到目标文本矩阵。

可选地,文本相似度计算模块60,具体用于:

根据待比对文本句段中更新后的词向量vs′,从目标文本矩阵中得到与待比对文本句段对应的目标文本向量;

采用预先相似度算法计算目标文本向量之间的相似度,得到待比对文本句段间的相似度,采用公式表示为其中,q表示第一待比对文本句段的目标文本向量,c表示第二待比对文本句段的目标文本向量,待比对文本句段包括第一待比对文本句段和第二待比对文本句段。

在本发明实施例中,首先基于待比对文本句段,采用词频词现率算法以及通过预先训练的bert模型分别得到第一文本矩阵和第二文本矩阵,该第一文本矩阵能够体现待比对文本句段中词频和词现率,第二文本矩阵能够将待比对文本句段中的字词间关系、字词位置关系和句子间关系体现出来;接着,将第一文本矩阵和第二文本矩阵进行拼接得到拼接文本矩阵,将第一文本矩阵和第二文本矩阵所体现的特征进行结合,形成一个多方位体现特征的综合性矩阵,有助于后续提高文本相似度的准确度;然后将拼接文本矩阵进行特征优化,得到目标文本矩阵,使拼接矩阵能够通过特征优化去除一些噪音数据,提高目标文本矩阵的特征表达能力;最后采用预设的相似度算法,根据目标文本矩阵得到待比对文本句段间的文本相似度,基于目标文本矩阵体现的待比对文本句段中字词的词频和词现率,以及待比对文本句段中的字词之间关系、字词位置关系和句子之间关系等特征出发进行计算,能够有效提高文本相似度的准确度。

本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中基于bert模型的文本相似度计算方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中基于bert模型的文本相似度计算装置中各模块/单元的功能,为避免重复,此处不一一赘述。

图3是本发明一实施例提供的计算机设备的示意图。如图3所示,该实施例的计算机设备70包括:处理器71、存储器72以及存储在存储器72中并可在处理器71上运行的计算机程序73,该计算机程序73被处理器71执行时实现实施例中基于bert模型的文本相似度计算方法。或者,该计算机程序73被处理器71执行时实现实施例中与基于bert模型的文本相似度计算方法一一对应的基于bert模型的文本相似度计算装置中各模型/单元的功能。

计算机设备70可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备70可包括,但不仅限于,处理器71、存储器72。本领域技术人员可以理解,图3仅仅是计算机设备70的示例,并不构成对计算机设备70的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器71可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器72可以是计算机设备70的内部存储单元,例如计算机设备70的硬盘或内存。存储器72也可以是计算机设备70的外部存储设备,例如计算机设备70上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器72还可以既包括计算机设备70的内部存储单元也包括外部存储设备。存储器72用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器72还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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