英文句子相似度的计算方法及装置与流程

文档序号:14255127阅读:341来源:国知局
本发明涉及文本处理
技术领域
,特别涉及一种英文句子相似度的计算方法及装置。
背景技术
:与句子相似度问题相关的基于词向量的神经网络模型大致有三种。一种是以lstm(longshort-termmemory,长短期记忆网络)网络为主体的模型来处理句子相似度,首先,将句子中的单词由对应的词向量来表示;然后,将词向量依次输入到lstm网络中进行进一步处理,最后得到句子的相似度。一种是用cnn(convolutionalneuralnetwork,卷积神经网络)网络来对句子进行分类。处理句子分类问题,需要为句子设定类别,并利用进行标注的句子来对模型进行训练。词向量依据对应单词在句子中的位置逐个连接成的二维矩阵,cnn以这个二维矩阵作为输入,在输出处得到句子的预测分类。本质上,句子分类是一个分类问题,cnn也被用作分类模型来处理问题,而句子相似度的测量是一个回归问题,两种问题的建模方式并不完全相同,不过句子分类模型中的很多做法值得计算句子相似度的模型去借鉴。还有一种模型是使用lstm和cnn的混合模型来处理句子相似度的问题,集lstm模型和cnn网络之所长,由于lstm考虑前后输入信息之间的关联性,被用来对句子整体建模,句子建模后,将句子对{s1,s2}同时放入cnn网络用来进行相似度评估。然而,现有的用于处理句子相似度的模型,无论是lstm模型还是lstm和cnn的混合模型,都是一种深度的神经网络,参数庞大,训练时间慢,模型复杂是他们通有的缺点。复杂而规模庞大的网络也许会达到很好的效果,但是其复杂程度直接制约着这类模型的实际应用。技术实现要素:本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种英文句子相似度的计算方法,该方法可以有效简化训练模型,缩短训练时间,测试效果好。本发明的另一个目的在于提出一种英文句子相似度的计算装置。为达到上述目的,本发明一方面实施例提出了一种英文句子相似度的计算方法,包括以下步骤:获取英文句子;根据所述英文句子获取词向量序列,并对所述词向量序列进行扩维,以得到三维张量的句子特征模型;将所述句子特征模型的三维张量作为多通道的图像数据输入至卷积神经网络模型,以提取特征向量组;根据所述特征向量组的余弦距离计算英文句子对的相似度。本发明实施例的英文句子相似度的计算方法,可以通过句子特征模型三维张量作为多通道的图像数据输入至卷积神经网络模型,提取特征向量组,并计算英文句子对的相似度,从而可以有效简化训练模型,缩短训练时间,测试效果好。另外,根据本发明上述实施例的英文句子相似度的计算方法还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,上述方法还包括:去掉卷积神经网络的全连接层,使得所述卷积神经网络输出为多个向量。进一步地,在本发明的一个实施例中,所述对所述词向量序列进行扩维,进一步包括:通过词向量的均值表示词组和短语,以将所述英文句子表示为图像的数据格式,使得具有长、宽、高的所述三维张量。进一步地,在本发明的一个实施例中,通过k-max池化提取主要特征并处理长度不等的句子。进一步地,在本发明的一个实施例中,所述相似度的相对值计算公式为:其中,vs为句子向量,u1,u2,...,uk为cnn的输出的k个向量。为达到上述目的,本发明另一方面实施例提出了一种英文句子相似度的计算装置,包括:获取模块,用于获取英文句子;建模模块,用于根据所述英文句子获取词向量序列,并对所述词向量序列进行扩维,以得到三维张量的句子特征模型;提取模块,用于将所述句子特征模型的三维张量作为多通道的图像数据输入至卷积神经网络模型,以提取特征向量组;计算模块,用于根据所述特征向量组的余弦距离计算英文句子对的相似度。本发明实施例的英文句子相似度的计算装置,可以通过句子特征模型三维张量作为多通道的图像数据输入至卷积神经网络模型,提取特征向量组,并计算英文句子对的相似度,从而可以有效简化训练模型,缩短训练时间,测试效果好。另外,根据本发明上述实施例的英文句子相似度的计算装置还可以具有以下附加的技术特征:进一步地,在本发明的一个实施例中,上述装置还包括:处理模块,用于去掉卷积神经网络的全连接层,使得所述卷积神经网络输出为多个向量。进一步地,在本发明的一个实施例中,所述建模模块还用于通过词向量的均值表示词组和短语,以将所述英文句子表示为图像的数据格式,使得具有长、宽、高的所述三维张量。进一步地,在本发明的一个实施例中,通过k-max池化提取主要特征并处理长度不等的句子。进一步地,在本发明的一个实施例中,所述相似度的相对值计算公式为:其中,vs为句子向量,u1,u2,...,uk为cnn的输出的k个向量。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本发明一个实施例的英文句子相似度的计算方法的流程图;图2为根据本发明一个实施例的基于词向量和卷积神经网络的计算句子相似度的模型的示意图;图3为根据本发明一个实施例的句子模型,cnn网络的输入层的示意图;图4为根据本发明一个实施例的卷积网络,k-max池化的示意图;图5为根据本发明一个实施例的选择kl损失函数,mse损失函数的模型在测试集上的均方误差随着训练step变化曲线图;图6为根据本发明一个实施例的选择kl损失函数,mse损失函数测试集上pearson相关系数随着训练step变化曲线图;图7为根据本发明一个实施例的英文句子相似度的计算装置的结构示意图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。在介绍英文句子相似度的计算方法及装置之前,先简单介绍一下句子相似度计算的重要性。在问答系统、信息检索、抄袭检测、语音识别等语言处理和研究中,句子相似度计算是一项基础而且核心的工作。目前,随着神经网络的兴起,大量的基于循环神经网络和卷积神经网络的方法被应用于自然语言处理的研究和应用中。所谓句子相似度,即给定句子对{s1,s2},通过某种方式来给出句子s1,句子s2的相似性sim{s1,s2}的评估分数。正是基于上述原因,本发明实施例提出了一种英文句子相似度的计算方法及装置。下面参照附图描述根据本发明实施例提出的英文句子相似度的计算方法及装置,首先将参照附图描述根据本发明实施例提出的英文句子相似度的计算方法。图1是本发明一个实施例的英文句子相似度的计算方法的流程图。如图1所示,该英文句子相似度的计算方法包括以下步骤:在步骤s101中,获取英文句子。可以理解的是,本发明实施例首先获取获取要进行处理的英文句子。在步骤s102中,根据英文句子获取词向量序列,并对词向量序列进行扩维,以得到三维张量的句子特征模型。可以理解的是,如图2所示,相比于常见的词向量对句子进行建模的方法,为了表达相距较远的词语间的语义特征,本发明实施例可以对词向量序列进行了扩维,使得句子特征模型由二维张量变成了三维张量其中,词向量,即一种由向量来表示词的方法,常见的有one-hot词向量和分布式的词向量。对于one-hot词向量而言,其向量维度与整个词料库相同,每一个维度代表一个单词。对于one-hot向量而言,只有一个维度值为1,其他维度全为0,由此来表示对应的词。one-hot向量有两点不足:一、词向量的维度与词料库相同,维度太大,向量太稀疏。二、one-hot向量并不包含额外的语义信息,使得它不好进一步处理。针对one-hot向量的缺点,分布式的词向量被提出。分布式向量的维度远远低于one-hot向量,每个维度的数值都是一个实数,而且,分布式词向量包含语义信息,通过对分布式词向量的运算(比如求两个向量的余弦距离)可以求得词语之间的相关性。进一步地,在本发明的一个实施例中,对词向量序列进行扩维,进一步包括:通过词向量的均值表示词组和短语,以将英文句子表示为图像的数据格式,使得具有长、宽、高的三维张量。具体而言,单词是对句子进行建模的第一步。单词之间的联系可以是非常紧密的,例如词组,短语使用多个单词来表示一种含义。受到词向量取均值得到句向量的启发,可以使用词向量的均值来表示词组和短语。为了充分地利用到cnn网络模型的长处,考虑把句子表示成图像的数据格式,即表示成具有长,宽,通道(channel)三个维度的张量的形式。词向量的d个维度恰好可以视作图像数据的d个通道。从简单的角度考虑,可以将句子视作长为1,宽度为n的,通道为d的图片数据。其缺点是由于卷积核大小的限制,并不能考虑句子中相距较远的单词之间的联系,为此提出“词集向量”的想法,依上,设w=(w1,w2,...,wd)为一个d维的词向量,给出j个词向量组成的词集向量w的表达式:其中序列{l1,l2,...lj}为序列{1,2,...,n}的某个子序列。λ为各个词向量的权重虽然词集本意不包含位置的概念,而本文中所谓“词集向量”是有顺序的,权重λ用于区别位于不同位置的词向量。依公式1可见,本发明实施例的词集不但可以是在句子中相连的词组成的词组,也可以是句子中互不相连但组合起来可以表示某种含义的词的集合(如词语不相连的短语)。将包含j个词向量的词集向量称为j-gram词集向量,当j=1时,词集是单个单词。使用词集向量来代替词向量,长度为n的句子有nj个j-gram词集向量,完全可以对上述长度为1的“图片数据”进行扩维。尽管词集向量在理论上完全可行,实际应用中选取有意义的词集向量以及其中的权重需要额外的手段。为简单起见,将句子表达模型简化。提出使用n×n×d维度的张量来表达句子。其中d仍是词集向量的维度,不过,此处提出了一种简化版的词集向量其中l1,l2∈{1,2,...,n},λ1+λ2=1,λ1,λ2>0。以上简化的词向量中包含的单词数不大于2,当l1=l2时,就回归为单个词向量。权重λi简化成为所有词集向量共享的权重λ1和λ2,权重的取值并非人为的定义,而是由训练得到。经这一系列过程的处理,对于单词个数为n的句子,其简化版的词集向量的个数恰好为n×n的规模,如图3所示。把句子的表示从二维矩阵扩充成为三维的张量,如此句子的模型可视作为具有n×n个像素点和d个通道的图像数据。在步骤s103中,将句子特征模型的三维张量作为多通道的图像数据输入至卷积神经网络模型,以提取特征向量组。可以理解的是,如图2所示,本发明实施例可以把表达句子特征的三维张量看作是多通道的图像数据输入到cnn模型中来提取特征向量组。其中,卷积神经网络是近年来机器学习的热点内容之一,它在图像识别、自然语言处理领域发挥了出色的效果。最近有很多论文在讨论卷积神经网络在句子的情感分类、抄袭检测等相关方向的应用。卷积神经网络主要有三大特点:一是局部感知,二是参数共享,三是池化。局部感知意味着并不需要考虑整个网络的神经元,而只是局部紧密联系的神经元;参数共享说的是为了减少网络中参数的个数而在同一个网络层中共享卷积核;池化用来摒弃对于网络无用的信息而减少输出规模进一步地,在本发明得一个实施例中,本发明实施例的方法还包括:去掉卷积神经网络的全连接层,使得卷积神经网络输出为多个向量。具体而言,如图4所示,图4(a)为一3×3卷积核,2×2池化窗口的卷积神经网络,其中每一个卷积操作都跟随着一个池化操作,多个这样的结构再接上若干个全连接层构成多层卷积神经网络。图中卷积用了零填充的方式,经过卷积后featuremap规模不发生变化。以2×2池化窗口的多层卷积网络为例,每经过一次池化处理,featuremap的长和宽都会减小一半。对于输入层大小确定的多层网络而言,在经过了多层的池化后,会得到固定规模的featuremap。进一步地,在本发明的一个实施例中,本发买那个实施例可以通过k-max池化提取主要特征并处理长度不等的句子。也就是说,在cnn模型中,本发明实施例可使用到k-max池化来提取主要特征,以及处理长度不等的句子。可选地,在本发明的一个实施例中,相似度的相对值计算公式为:其中,vs为句子向量,u1,u2,...,uk为cnn的输出的k个向量。具体而言,句子的长度可变使得卷积神经网络的输入层的规模必须变化,为了最终得到的特征图(featuremap)的规模一致,使用了k-max池化来代替网络中最后一次池化操作。图4(b)展示了一次k=3对于整个输入特征图的k-max池化过程。图4(b)对于任何n≥2且大小为n×n×d的特征图的k-max操作会得到3个d维的向量。举例而言,以句子thecatsitsonthemat为例,其主语、谓语、宾语分别为cat,sits,mat这几个词可以用来代表整个句子的含义。类似地,k-max池化希望句子经过卷积神经网络后能够“提取”出k个能够用来代表句子含义的词或词组。称这k个向量的集合为句子的向量组表达。另外,本发明实施例的网络模型并没有使用全连接层,全连接层的工作由计算余弦距离来代替,在得到k个向量后,使用公式3来得到句子向量,对句子向量求余弦距离即得到相似度的相对值。其中vs为句子向量,u1,u2,...,uk为cnn的输出的k个向量。在步骤s104中,根据特征向量组的余弦距离计算英文句子对的相似度。也就是说,本发明实施例可以使用特征向量组的余弦距离来衡量句子的相似度。在本发明的一个具体实施例中,首先进行训练,下面介绍训练的具体过程。训练选用的word2vec是来自于stanford的glovewordembedding(词向量在wikipedia2014+gigaword5上训练)。为了更好的结果,在训练中采用了300维的词向量并对词向量进行了fine-tuning(微调)。并且由于池化层和k-max的限制,实际训练中,句子有一个最短长度的约束,即句子长度满足:lengths≥(fw)l-1k,(4)式中,fw为池化窗口大小,k为k-max参数,l为网络层数。另一方面,输入层的维度与词向量的维度(维度不小于50维)相同,过多的层数会使得模型训练参数大大增加,也会降低训练模型的速度。因此,所选取的层数l不易过大,1到2层为宜。cnn网络中所有的激活函数都选择为relu函数,尽管选择这一函数的效果不如sigmoid类型的激活函数,但好处是训练时收敛速度快。除了网络中的参数,词集向量的参数λ1和λ2也需要训练,为了保证λ1+λ2=1,λ1,λ2>0,实际中取:训练时,为保证同一批次(batch)的输入层具有相同的大小,以该批次最大规模的输入层作为标准大小,使用零值填充成为相同大小。模型训练的目标是最小化mse(meansquarederror,均方误差)的损失函数:式中simp为模型预测相似度,siml为人工标记的相似度,m为训练集大小。还可采用另一种kldivergence损失函数(下面称kl损失函数):式中p是归一化的simp,l是归一化的siml,为避免训练过程分母存在零的情况,实际使用时进行了拉普拉斯平滑处理。下训练完之后进行测试,下面介绍测试的具体过程。测试使用的数据集为经过标记的semeval-2014,sentencesinvolvingcompositionalknowledge(sick)数据集,其中包含训练集(4500个句子对),验证集(500个句子对),测试集(4927个句子对)。句子相似度由进行标记,1表示句子不相似,5表示最高的相似度。为了用于sick数据集,模型的输出结果是在余弦距离的基础上乘以5(词向量各维数据均非负)。经多次实验测试,设定cnn网络为仅包含一个卷积和k-max的单层网络,选取k=3,卷积核为3×3,特征图(featuremaps)个数为600个,此时输出的句向量维度等同于maps个数也为600。单次训练批次为50,训练批次step为3600。参数这一列代表全模型待训练参数(词向量维度,输出句向量维度),r为pearson相关系数,ρ为spearman相关系数,mse为均方误差,t为训练所花时间(单位:秒,训练step均为1000,一个训练批次为50)。参数与测试结果和训练时间的关系如表1所示,其中,表1为参数与测试结果和训练时间的关系表。表1参数rρmse训练时间1620002(300,600)0.80690.74330.38974731720002(200,400)0.79300.73080.42692197270002(100,300)0.76790.70520.441981990002(50,200)0.76230.69990.5076495从表1可以看出,包含162万个参数的单层网络在sick训练集只需经过约80分钟训练。减少一半的参数,在同等训练step的情况下,测试显示效果并不会相差太多,pearson相关系数仍然能够达到0.793,而运行时间减少一半多,在37分钟内可完成训练。尽管100维度词向量和300维度的句向量经step=3600的训练并无太好的表现,试验表明在step=4000时,其pearson相关系数可达0.7868左右,均方误差可达0.3878左右,而全模型的参数只有表1中第二种情况的3/8。对于潜在的追求训练和测试时间的应用场合,表2中的第三种参数设置是很好的选择。从图5和图6可以看出,本文提出的两种损失函数对测试结果没有显着的影响;随着step逐渐增大,最后测试结果收敛到一个确定的数值附近。根据本发明实施例提出的英文句子相似度的计算方法,可以通过句子特征模型三维张量作为多通道的图像数据输入至卷积神经网络模型,提取特征向量组,并计算英文句子对的相似度,从而可以有效简化训练模型,缩短训练时间,测试效果好。其次参照附图描述根据本发明实施例提出的英文句子相似度的计算装置。图7是本发明一个实施例的英文句子相似度的计算装置的结构示意图。如图7所示,该英文句子相似度的计算装置10包括:获取模块100、建模模块200、提取模块300和提取模块400。其中,获取模块100用于获取英文句子。建模模块200用于根据英文句子获取词向量序列,并对词向量序列进行扩维,以得到三维张量的句子特征模型。提取模块300用于将句子特征模型的三维张量作为多通道的图像数据输入至卷积神经网络模型,以提取特征向量组。提取模块400用于根据特征向量组的余弦距离计算英文句子对的相似度。本发明实施例的装置10可以通过模型结构简单,训练时间短,收敛好的神经网络模型来计算句子相似度,从而可以有效简化训练模型,缩短训练时间,测试效果好。进一步地,在本发明的一个实施例中,本发明实施例的装置10还包括:处理模块。其中,处理模块用于去掉卷积神经网络的全连接层,使得卷积神经网络输出为多个向量。进一步地,在本发明的一个实施例中,建模模块200还用于通过词向量的均值表示词组和短语,以将英文句子表示为图像的数据格式,使得具有长、宽、高的三维张量。进一步地,在本发明的一个实施例中,通过k-max池化提取主要特征并处理长度不等的句子。进一步地,在本发明的一个实施例中,相似度的相对值计算公式为:其中,vs为句子向量,u1,u2,...,uk为cnn的输出的k个向量。需要说明的是,前述对英文句子相似度的计算方法实施例的解释说明也适用于该实施例的英文句子相似度的计算装置,此处不再赘述。根据本发明实施例提出的英文句子相似度的计算装置,可以通过句子特征模型三维张量作为多通道的图像数据输入至卷积神经网络模型,提取特征向量组,并计算英文句子对的相似度,从而可以有效简化训练模型,缩短训练时间,测试效果好。在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1