一种通过深度卷积神经网络进行短文本间相似度计算的方法技术

技术编号:15541935 阅读:725 留言:0更新日期:2017-06-05 11:06
本发明专利技术公开了一种通过深度卷积神经网络进行短文本间相似度计算的方法,目的在于,利用短文本中出现的每一个词语计算短文本间的相似度,使相似度的值计算的更加准确,所采用的技术方案为:1)把若干短文本表示成若干个矩阵,用相应的词向量依次替换文本中的每个单词,得到一个有序的向量序列,视为一个矩阵;2)对两个表示目标短文本的矩阵生成其相似矩阵;通过对词向量之间的余弦相似度进行排列,得到其相似矩阵;3)把相似矩阵的行和列平铺成相同维度;4)把相似矩阵降维成一个值作为相似度;对于所有同维度的相似矩阵,通过深度卷积神经网络对相似矩阵进行训练降维,再通过多层感知机计算相似程度,来代表相似度的值。

A method for computing similarity between essays by depth convolution neural network

The invention discloses a method, through deep convolutional neural networks for short text similarity calculation is to calculate the similarity between this passage, the use of every word in the short text, the similarity calculation is more accurate, the technical proposal is as follows: 1) the number of short text representation a number of matrix, with the corresponding word vector in turn replaced each word in the text, to obtain an ordered sequence vector, as a matrix; 2) of the two target matrix representation of short text generating the similarity matrix; through the arrangement of the words to the cosine similarity between the amount, the similarity matrix is derived; 3) the similarity matrix of rows and columns of tile into the same dimension; 4) the similarity matrix reduction into a value as similarity; for all dimensions with similar matrix, through the depth of the convolutional neural network to The similarity matrix is trained to reduce the dimensionality, and then the similarity is calculated by the multilayer perceptron to represent the similarity values.

【技术实现步骤摘要】
一种通过深度卷积神经网络进行短文本间相似度计算的方法
本专利技术涉及对文本间相似度的计算方法,具体涉及一种通过深度卷积神经网络进行短文本间相似度计算的方法。
技术介绍
随着社区问答类网站的发展,大量不同类型的问题和回答在一起,让用户很难找到有用或感兴趣的内容。解决上述问题的方法之一是对社区问答系统的问题和回答进行分类,方便用户直接在自己感兴趣的话题中进行搜索和浏览。而人工对这些问题和回答进行分类,需要他们在知识领域具有很强的专业知识,同时会消耗相当大的时间和精力。而且随着社区问答系统的广泛应用,问题和回答出现的速度逐步加快,人工标注的速度无法适应问题和回答出现的速度。为此,针对社区问答类系统的大量碎片化知识,寻求一种有效的短文本表示方法并对文本间进行相似度计算是一个紧迫的任务。现有技术中公开的,专利号为CN201310661778.2的中国专利“基于语义的文本相似度计算方法”包括三个步骤:(1)对文本集进行预处理,提取出初始特征词,将其表示成由关键词和概念两部分组成的向量模型;(2)然后分别计算关键词部分的语义相似度和概念部分的语义相似度,通过对两部分进行求和最终得到文本的语义相似度。上述专利通过分别计算关键词部分的语义相似度和概念部分的语义相似度来计算文本之间的相似度,关键词和概念不能代替全部文本。因此,上述专利进行文本相似度计算的依据是不完整的,不能完全代表两段文本之间的相似度。
技术实现思路
为了解决现有技术中的问题,本专利技术提出一种通过深度卷积神经网络进行短文本间相似度计算的方法,能够利用短文本中出现的每一个词语计算短文本间的相似度,使相似度的值计算的更加准确。为了实现以上目的,本专利技术所采用的技术方案为:包括以下步骤:1)将若干个短文本表示成若干个矩阵:爬取Wikipedia上全部知识领域相关页面中出现的词语作为词表,对词表进行训练,每个词语得到一个词向量,用相应的词向量依次替换短文本中的每个单词,得到一个有序的向量序列,视为一个矩阵;2)对若干个短文本进行两两组合,并对每组的两个短文本的矩阵生成其相似矩阵:对于每组的两个短文本,取其相对应的两个矩阵,依次计算其词向量之间的余弦相似度,对余弦相似度进行排列,得到每组两个短文本的相似矩阵;3)将相似矩阵的行和列平铺成相同维度:统计已有所有相似矩阵的行数和列数,分别找到最大的行数和最多的列数,以最多的行数和列数作为基准,平铺所有的相似矩阵,使其具有相同的行数和相同的列数,称为同维度的相似矩阵;4)将相似矩阵降维成一个值作为相似度:对于所有同维度的相似矩阵,通过深度卷积神经网络对相似矩阵进行训练降维,再通过多层感知机计算相似程度,来代表相似度的值,完成短文本间相似度计算。所述步骤1)中采用Google在网上发布的word2vec的开源代码对词表进行训练。所述步骤1)中爬取Wikipedia上全部知识领域相关页面中出现的词语时消除重复出现的词语和字母与数字组合的词语。所述步骤1)中用词向量依次替换短文本中的单词前对短文本进行预处理:首先去除字母与数字组合的词语和标点符号,然后定义停用词,并消除停用词。所述步骤2)中对每组的两个短文本的矩阵生成其相似矩阵的具体步骤如下:2.1)从两个矩阵中各取一个词向量,两个向量分别为a、b,则余弦相似度的计算公式如下:其中,a·b表示向量a与向量b的点积;||a||和||b||分别表示向量a和向量b的模;2.2)对于两个矩阵的每一个行向量,依次计算其余弦相似度,并作为相似矩阵相应位置上面的值,计算公式如下:σij=cos(Qi,Wj)其中,Qi表示矩阵Q第i行的行向量,Wj表示矩阵W第j行的行向量,σij代表相似矩阵第i行、第j列上对应的值,所得的相似矩阵的行数与矩阵Q的行数相同,相似矩阵的列数与矩阵W的行数相同。所述步骤2.1)中词向量维度固定,则两个向量a、b的余弦相似度的计算公式为:其中,xk表示向量x中第k维所对应的值。所述步骤3)中将相似矩阵的行和列平铺成相同维度的具体过程如下:3.1)针对所有的相似矩阵,统计其行数和列数,找到最大的行数rowmax和最大的列数colmax;3.2)平铺矩阵时,把矩阵紧密排列,直到行数为rowmax,列数为colmax,若无法恰好得到需要的维度,则把多余的部分删除掉。所述步骤4)中将相似矩阵降维成一个值作为相似度的具体过程如下:4.1)利用深度卷积神经网络对所有同维度的相似矩阵进行训练,依次经过两个卷积层,两个池化层,以及一个全连接层之后,每个相似矩阵被降维成一个向量;4.2)用多层感知机处理经过深度卷积神经网络降维得到的向量,最后每个向量降维得到两个值,分别是相似程度和不相似程度,相似程度的值即代表了短文本之间相似度的值。与现有技术相比,本专利技术利用深度卷积神经网络计算短文本之间的相似度,通过训练把词语表示成向量形式,实现了文本的量化,通过词向量之间余弦相似度的计算构建了相似矩阵,平铺所有的相似矩阵使其具有相同维度,平铺过程中不会产生特征的丢失,最后采用深度卷积神经网络和多层感知机计算相似度。将若干个短文本表示成若干个矩阵,把不可量化表示的短文本表示成可量化的矩阵形式,方便对文本间的相似度进行计算。对若干个短文本进行两两组合,并对每组的两个短文本的矩阵生成其相似矩阵,通过依次计算词向量之间的余弦相似度来生成两段短文本之间的相似矩阵,余弦相似度计算简单,相似矩阵为计算相似度奠定基础。将相似矩阵的行和列平铺成相同维度使用平铺的方法把相似矩阵的行和列统一成相同维度,不会导致特征的丢失。将相似矩阵降维成一个值作为相似度通过深度卷积神经网络和多层感知机训练相似矩阵并计算相似度,使得计算文本相似度的模型可以很好的被训练出来,提高了相似度的值计算的准确度。附图说明图1是本专利技术的流程框图;图2是本专利技术中相似矩阵的生成模型图;图3是本专利技术矩阵的平铺方法图。具体实施方式下面结合具体的实施例和说明书附图对本专利技术作进一步的解释说明。本专利技术包括以下步骤:(1)把若干短文本表示成若干个矩阵:首先,选取Wikipedia上全部知识领域相关页面中出现的词语作为词表;然后,利用Google在网上发布的word2vec的开源代码对词表进行训练,每个词语都表示为一个向量;最后,用词表中相应的词向量依次替换文本中的每个单词,每个词向量占一行,得到一个有序的向量序列,可以把其看成一个矩阵,行数是单词数目;(2)对若干个短文本进行两两组合,并对每组的两个短文本的矩阵生成其相似矩阵:首先,对于两段文本,取其在步骤(1)中相对应的两个矩阵,从两个矩阵中各取一个向量,计算这两个向量的余弦值,就可以得到对应的两段文本在统计学方法中的相似度情况;其次,对于两个相似矩阵的每一个行向量之间都计算其余弦相似度,并作为相似矩阵相应位置上面的值;最后,得到一个完整填充的相似矩阵;(3)把相似矩阵的行和列平铺成相同维度:首先,统计步骤(2)中现有相似矩阵的行数和列数,找到最大的行数和最大的列数;其次,以最大的行数和最大的列数作为基准,平铺所有的相似矩阵,从而使相似矩阵具有相同的维度;(4)把相似矩阵降维成一个值作为相似度:对于所有步骤(3)中得到的同维度的相似矩阵,通过深度卷积神经网络对相似矩阵进行训练降维,再通过多层感知机计算相似程度本文档来自技高网...
一种通过深度卷积神经网络进行短文本间相似度计算的方法

【技术保护点】
一种通过深度卷积神经网络进行短文本间相似度计算的方法,其特征在于,包括以下步骤:1)将若干个短文本表示成若干个矩阵:爬取Wikipedia上全部知识领域相关页面中出现的词语作为词表,对词表进行训练,每个词语得到一个词向量,用相应的词向量依次替换短文本中的每个单词,得到一个有序的向量序列,视为一个矩阵;2)对若干个短文本进行两两组合,并对每组的两个短文本的矩阵生成其相似矩阵:对于每组的两个短文本,取其相对应的两个矩阵,依次计算其词向量之间的余弦相似度,对余弦相似度进行排列,得到每组两个短文本的相似矩阵;3)将相似矩阵的行和列平铺成相同维度:统计已有所有相似矩阵的行数和列数,分别找到最大的行数和最多的列数,以最多的行数和列数作为基准,平铺所有的相似矩阵,使其具有相同的行数和相同的列数,称为同维度的相似矩阵;4)将相似矩阵降维成一个值作为相似度:对于所有同维度的相似矩阵,通过深度卷积神经网络对相似矩阵进行训练降维,再通过多层感知机计算相似程度,来代表相似度的值,完成短文本间相似度计算。

【技术特征摘要】
1.一种通过深度卷积神经网络进行短文本间相似度计算的方法,其特征在于,包括以下步骤:1)将若干个短文本表示成若干个矩阵:爬取Wikipedia上全部知识领域相关页面中出现的词语作为词表,对词表进行训练,每个词语得到一个词向量,用相应的词向量依次替换短文本中的每个单词,得到一个有序的向量序列,视为一个矩阵;2)对若干个短文本进行两两组合,并对每组的两个短文本的矩阵生成其相似矩阵:对于每组的两个短文本,取其相对应的两个矩阵,依次计算其词向量之间的余弦相似度,对余弦相似度进行排列,得到每组两个短文本的相似矩阵;3)将相似矩阵的行和列平铺成相同维度:统计已有所有相似矩阵的行数和列数,分别找到最大的行数和最多的列数,以最多的行数和列数作为基准,平铺所有的相似矩阵,使其具有相同的行数和相同的列数,称为同维度的相似矩阵;4)将相似矩阵降维成一个值作为相似度:对于所有同维度的相似矩阵,通过深度卷积神经网络对相似矩阵进行训练降维,再通过多层感知机计算相似程度,来代表相似度的值,完成短文本间相似度计算。2.根据权利要求1所述的一种通过深度卷积神经网络进行短文本间相似度计算的方法,其特征在于,所述步骤1)中采用Google在网上发布的word2vec的开源代码对词表进行训练。3.根据权利要求2所述的一种通过深度卷积神经网络进行短文本间相似度计算的方法,其特征在于,所述步骤1)中爬取Wikipedia上全部知识领域相关页面中出现的词语时消除重复出现的词语和字母与数字组合的词语。4.根据权利要求3所述的一种通过深度卷积神经网络进行短文本间相似度计算的方法,其特征在于,所述步骤1)中用词向量依次替换短文本中的单词前对短文本进行预处理:首先去除字母与数字组合的词语和标点符号,然后定义停用词,并消除停用词。5.根据权利要求1所述的一种通过深度卷积神经网络进行短文本间相似度计算的方法,其特征在于,所述步骤2)中对每组的两个短文本的矩阵生成其相似矩阵的具体步骤如下:2.1)从两个矩阵中各取一个词向量,两个向量分别为a、b,则余弦相似度的计...

【专利技术属性】
技术研发人员:魏笔凡郭朝彤刘均郑庆华吴蓓郑元浩石磊吴科炜
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1