一种基于深度学习的非对称文本哈希方法与流程

文档序号:12464635阅读:385来源:国知局

本发明涉及文本信息检索领域与深度学习领域,更具体地,涉及一种基于深度学习的非对称文本哈希方法。



背景技术:

随着互联网的发展,各类网站层出不穷。搜索引擎作为通用的文本检索工具成为了链接用户和网站的重要入口。在传统搜索引擎中,用户需要输入一些关键词,搜索引擎根据这些关键词使用索引技术检索出与用户请求相关度较高的文章。近几年来,随着自然语言处理技术的进步,和社交网络以及多媒体技术的发展,出现了更加丰富的文本检索的需求,例如:问答系统、语音助手、推荐系统等。这些需求使得基于关键字匹配的文本检索方法开始遇到瓶颈。

语义哈希学习办法是解决海量文本数据的快速相似查询问题的一类有效的办法。这些办法可以从训练文本数据学习,得到将文本特征映射到二进制编码的哈希函数。该二进制编码具有相似信息保存性,即是二进制编码相似的文本语义相似,二进制编码不相似的文本语义不相似。我们能够使用文本计算出的二进制编码快速检索语义相近的其他文本。

文本特征的表示方法有TF-IDF、主题模型等。近几年来,以深度学习为代表的机器学习方法在文本分类、语言模型、语法解析等领域都有突破性的成果。相比于传统的文本特征的模型,深度学习有着强大的学习能力和灵活的表示能力,能够很好地处理各种文本建模任务,成为自然语言处理领域的研究热点。

一般来说,文本哈希学习有以下几个主要部分构成:

将文本映射成为二进制编码的哈希函数。哈希函数能够从文本序列中提取出语义信息并将语义信息表示成合适的二进制哈希编码。

优化哈希函数的学习过程。将哈希函数的学习转化为哈希编码的相似度和语义相似度之间的优化问题进行求解,得到适合特定文本检索任务的哈希函数。

然而目前文本哈希学习方法只使用单一哈希函数同时对检索和被检索的文本进行建模,然而,往往现实应用中,检索的文本和被检索的文本的表述方式有着很大的不同。这导致了这些哈希办法不能准确地检索出有效信息。



技术实现要素:

本发明提供一种提高文本哈希学习的效率的基于深度学习的非对称文本哈希方法。

为了达到上述技术效果,本发明的技术方案如下:

一种基于深度学习的非对称文本哈希方法,包括以下步骤:

S1:提取训练集文本语义标签,计算样本之间的语义相似度;

S2:根据训练集样本语义标签和语义相似度计算训练集文本的二进制哈希编码,该二进制哈希编码具有保证保持在训练集上有最佳的语义保持的性能,即期望哈希编码;

S3:将训练集文本输入到神经网络中,计算出文本对应的哈希编码;

S4:计算神经网络输出的哈希编码和S2中得到的期望哈希编码的偏差,并通过反向传播算法训练神经网络参数。

进一步地,所述步骤S1中计算计算样本之间的语义相似度的过程如下:

根据训练文本中的文档分类类别,如果文档类别相同,那么语义相似度为1,如果文档类别不同,那么语义相似度为-1。

进一步地,所述步骤S2的过程如下:

随机化初始化训练集文本中各个样本的哈希编码,计算哈希编码的相似度和语义相似度的差值,使用梯度下降的方法,优化哈希值各个比特位的取值,最终收敛到稳定的哈希编码值。

进一步地,所述步骤S3的过程如下:

对于训练集文本,文本先经过分词和去停词转化为词语序列,通过查表的方法,查询各个词语的向量值,将检索文本和被检索文本输入到不同神经网络,分别得到对应的固定长度为L在[-1,1]区间的哈希值向量。

进一步地,所述步骤S4的过程如下:

以S3中得到的哈希值和期望哈希值的差值来计算所产生的损失,利用反向传播算法更新对应神经网络的参数。

与现有技术相比,本发明技术方案的有益效果是:

本发明方法使用了最小化文本之间语义相似度和二进制哈希编码相似度之间的差值保持哈希编码的语义一致性,使得二进制编码具有相似信息保存性;采用异构的神经网络分别对检索文本和被检索文本进行哈希学习,能够提高文本哈希学习的效率。

附图说明

图1为本发明方法流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,一种基于深度学习的非对称文本哈希方法,包括以下步骤

A、预处理:提取训练集文本语义标签,计算样本之间的语义相似度;

B、计算期望哈希编码:根据训练集样本语义标签,计算训练集样本的二进制哈希编码,该二进制编码保证保持在训练集上有最佳的语义保持的性能;

C、计算文本哈希编码:将文本输入到对应的神经网络中,计算出文本对应的哈希编码;

D、优化神经网络参数:计算神经网络输出的哈希编码和期望哈希编码的偏差,并通过反向传播算法训练神经网络参数。

上述步骤具体为:

步骤A:提取训练集文本语义标签,计算样本之间的语义相似度。假设训练文本存在K中不同的语义标签类别,所有的文本都被归类为其中一种分类。实际情况下,训练文本集合中的样本可以达到百万量级,因此在确定的硬件条件下无法载入所有样本之间的语义相似度。在本实施例中,将使用批处理的方式优化哈希编码,具体方式如下:每次随机抽取N个检索文本样本和M个被检索文本样本,计算样本之间的相似度矩阵S。利用这样的方式,可以在有限的硬件条件下分批训练。但相似度矩阵的计算不局限于此。

步骤B:计算期望哈希编码。期望哈希编码是用于作为神经网络的监督信号的中间结果。本实施方案能够最终实现的将任意文本作为输入,通过神经网络最终输出与具有语义保持性的二进制哈希编码。本实施例中,将使用梯度下降的方式来求解期望哈希编码,具体方式如下:每个样本预先随机初始化长度为L取值在[-1,1]之间的随机向量。对于检索样本的哈希编码组成的矩阵X和被检索样本组成的矩阵Y,其实际哈希编码的相似度矩阵为XYT,损失函数为||S-XYT||2。通过梯度下降的算法最小化损失函数。当损失函数收敛后,将各个维度的取值根据最近原则映射到-1或1取值上。

步骤C:在本实施方案中,神经网络的输入为文本词语向量矩阵,输出为文本的二进制哈希编码。对于输入数据,文本先经过分词和去停词转化为词语序列,通过查表的方法,查询各个词语的向量值。将检索文本和被检索文本输入到不同神经网络,分别得到对应的固定长度为L在[-1,1]区间的哈希值向量。

步骤D:在本实施方案中,每次输入一批文本,都会产生输出值和预期值之间的差值。通过后向传播(back propagation)算法,将差值传播到神经网络的每一个层中,即可实现神经网络的训练。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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