首页 / 专利库 / 人工智能 / 相似性得分 / 文本相似性计算方法、装置、电子设备及可读存储介质

文本相似性计算方法、装置、电子设备及可读存储介质

阅读:420发布:2020-05-08

专利汇可以提供文本相似性计算方法、装置、电子设备及可读存储介质专利检索,专利查询,专利分析的服务。并且本公开的 实施例 提供了一种文本相似性计算方法、装置、 电子 设备及可读存储介质,所述方法包括:获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;根据所述相似度矩阵,计算所述第一文本和所述第二文本的 相似性得分 。本公开实施例可以提高文本相似度计算的精准度。,下面是文本相似性计算方法、装置、电子设备及可读存储介质专利的具体信息内容。

1.一种文本相似性计算方法,其特征在于,所述方法包括:
获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分
2.根据权利要求1所述的方法,其特征在于,所述深层网络语义模型包括至少三层网络,其中,前一层网络的输出结果与当前层网络的输出结果相连接作为下一层网络的输入参数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一语义向量、所述第二语义向量、以及相似度矩阵,计算所述第一文本和所述第二文本的相似性得分之后,所述方法还包括:
将所述相似性得分、所述第一输入向量、以及所述第二输入向量输入全连接层,以输出所述第一文本和所述第二文本的修正后的相似性得分。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一语义向量和所述第二语义向量构建相似度矩阵,包括:
确定所述第一输入向量的第一维度以及所述第二输入向量的第二维度;
根据所述第一维度和所述第二维度的平方值,确定参数个数;
根据所述第一输入向量、所述第二输入向量、以及所述参数个数,构建相似度矩阵。
5.根据权利要求1所述的方法,其特征在于,所述获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量,包括:
根据条件随机场算法,分别对所述第一文本和所述第二文本进行分词,得到所述第一文本对应的第一分词结果和所述第二文本对应的第二分词结果;
根据停用词表,分别对所述第一分词结果和所述第二分词结果进行过滤,得到过滤后的第一分词结果和过滤后的第二分词结果;
根据词向量模型,将所述第一分词结果转换为第一输入向量,以及将所述第二分词结果转换为第二输入向量。
6.根据权利要求1所述的方法,其特征在于,所述获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量,包括:
将所述第一文本输入所述深层网络语义模型的查询端,得到第一输入向量,以及将所述第二文本输入所述深层网络语义模型的文档端,得到第二输入向量;其中,所述深层网络语义模型省略单词哈希层。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
收集文本语料;
根据所述文本语料,训练深层网络语义模型,所述深层网络语义模型包括输入层、表示层和匹配层;其中,所述输入层省略单词哈希层,所述表示层中前一层网络的输出与下一层网络的输入相连,所述匹配层包括用于计算文本之间相似性得分的相似度矩阵。
8.一种文本相似性计算装置,其特征在于,所述装置包括:
输入向量获取模,用于获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
语义向量获取模块,用于分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
矩阵构建模块,用于根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
得分计算模块,用于根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
9.根据权利要求8所述的装置,其特征在于,所述深层网络语义模型包括至少三层网络,其中,前一层网络的输出结果与当前层网络的输出结果相连接作为下一层网络的输入参数。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
得分修正模块,用于将所述相似性得分、所述第一输入向量、以及所述第二输入向量输入全连接层,以输出所述第一文本和所述第二文本的修正后的相似性得分。
11.根据权利要求8所述的装置,其特征在于,所述矩阵构建模块,包括:
维度确定子模块,用于确定所述第一输入向量的第一维度以及所述第二输入向量的第二维度;
参数确定子模块,用于根据所述第一维度和所述第二维度的平方值,确定参数个数;
矩阵构建子模块,用于根据所述第一输入向量、所述第二输入向量、以及所述参数个数,构建相似度矩阵。
12.根据权利要求8所述的装置,其特征在于,所述输入向量获取模块,包括:
分词子模块,用于根据条件随机场算法,分别对所述第一文本和所述第二文本进行分词,得到所述第一文本对应的第一分词结果和所述第二文本对应的第二分词结果;
过滤子模块,用于根据停用词表,分别对所述第一分词结果和所述第二分词结果进行过滤,得到过滤后的第一分词结果和过滤后的第二分词结果;
转换子模块,用于根据词向量模型,将所述第一分词结果转换为第一输入向量,以及将所述第二分词结果转换为第二输入向量。
13.根据权利要求8所述的装置,其特征在于,所述输入向量获取模块,具体用于将所述第一文本输入所述深层网络语义模型的查询端,得到第一输入向量,以及将所述第二文本输入所述深层网络语义模型的文档端,得到第二输入向量;其中,所述深层网络语义模型省略单词哈希层。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
语料收集模块,用于收集文本语料;
模型训练模块,用于根据所述文本语料,训练深层网络语义模型,所述深层网络语义模型包括输入层、表示层和匹配层;其中,所述输入层省略单词哈希层,所述表示层中前一层网络的输出与下一层网络的输入相连,所述匹配层包括用于计算文本之间相似性得分的相似度矩阵。
15.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中一个或多个所述的文本相似性计算方法。
16.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7中一个或多个所述的文本相似性计算方法。

说明书全文

文本相似性计算方法、装置、电子设备及可读存储介质

技术领域

[0001] 本公开的实施例涉及计算机技术领域,尤其涉及一种文本相似性计算方法、装置、电子设备及可读存储介质。

背景技术

[0002] 文本相似性计算可以对输入的一对文本,给出一个分数来描述这对文本的相似程度。文本相似度计算应用广泛,可应用于搜索相似性、广告匹配等领域。如在搜索相似性领域,搜索引擎希望最后呈现给用户的页面与用户的查询词尽可能相关;在广告匹配领域,广告商希望触发的关键词与用户的查询词尽可能相关。
[0003] 目前,通常利用DSSM(Deep Structured Semantic Model,深层网络语义模型)进行文本相似性计算。具体地,可以采用词向量训练模型,得到文本的词向量,再将一对文本的词向量之间的余弦距离作为这对文本之间的相似度得分。
[0004] 但是,由于DSSM模型自身的结构限制,导致计算文本相似性的精准度较低。发明内容
[0005] 本公开的实施例提供一种文本相似性计算方法、装置、电子设备及可读存储介质,用以提高计算文本相似性的精准度。
[0006] 根据本公开的实施例的第一方面,提供了一种文本相似性计算方法,所述方法包括:
[0007] 获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
[0008] 分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
[0009] 根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
[0010] 根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分
[0011] 根据本公开的实施例的第二方面,提供了一种文本相似性计算装置,所述装置包括:
[0012] 输入向量获取模,用于获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
[0013] 语义向量获取模块,用于分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
[0014] 矩阵构建模块,用于根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
[0015] 得分计算模块,用于根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
[0016] 根据本公开的实施例的第三方面,提供了一种电子设备,包括:
[0017] 处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述文本相似性计算方法。
[0018] 根据本公开的实施例的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述文本相似性计算方法。
[0019] 本公开的实施例提供了一种文本相似性计算方法、装置、电子设备及可读存储介质,所述方法包括:
[0020] 获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
[0021] 分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
[0022] 根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
[0023] 根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
[0024] 本公开实施例采用构建相似度矩阵的方式替代现有的无参数的cosine距离计算方式,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定,以保证每个维度的语义向量都有对应参数来学习以及纠正。由此,使得匹配层也是有参数的,这样,即使前面的语义向量学偏了,通过相似度矩阵的参数调整,可以起到纠偏的作用,进而可以提高文本相似度计算的精准度。附图说明
[0025] 为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0026] 图1示出了本公开的一个实施例中的文本相似性计算方法的步骤流程图
[0027] 图2示出了本公开实施例的一种深层网络语义模型的网络结构示意图;
[0028] 图3示出了在本公开的一个实施例中的文本相似性计算装置的结构图;
[0029] 图4示出了本公开的一个实施例提供的电子设备的结构图。

具体实施方式

[0030] 下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。
[0031] 实施例一
[0032] 参照图1,其示出了本公开的一个实施例中的文本相似性计算方法的步骤流程图,包括:
[0033] 步骤101、获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
[0034] 步骤102、分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
[0035] 步骤103、根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
[0036] 步骤104、根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
[0037] 本公开实施例可应用于NLP(Natural Language Processing,自然语义处理)领域,NLP领域是人工智能的一个子领域。通过本公开实施例,可以计算两个文本之间的相似性,例如,可以计算搜索场景下Query(查询)和Doc(文档)的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。可选地,所述文本可以为短文本。
[0038] 在具体应用中,DSSM从下往上可以分为三层结构:输入层、表示层、匹配层。其中,输入层用于把句子映射到一个向量空间里并输入到DNN中,表示层包含有多个隐层的DNN,最终输出一个128维的低维语义向量,匹配层通过计算两个语义向量的cosine(余弦)距离来表示Query和Doc的语义相似性。
[0039] 然而,通过生成的两个语义向量直接计算cosine距离,如果语义向量学习的不够准确,将会导致计算cosine距离出现偏差。由于DSSM网络结构层次较浅且参数较为简单,容易导致模型的欠拟合或过拟合,使得Query和Doc的语义向量学偏,这样,直接对语义向量计算cosine距离将会导致计算结果也偏离正确的结果,进而影响计算Query和Doc相似性的精准度。
[0040] 为解决该问题,本公开实施例提出了一种文本相似性计算方法,首先,获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量。其中,第一文本可以对应Query,第二文本可以对应Doc。
[0041] 然后,分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量。其中,所述深层网络语义模型可以为本公开实施对现有的DSSM改进后的网络模型。当然,也可以将第一文本和第二文本分别输入深层网络语义模型,通过深层网络语义模型的输入层将第一文本转换为第一输入向量,以及将第二文本转换为第二输入向量。
[0042] 最后,本公开实施例在获取第一语义向量和第二语义向量之后,并不计算这两个语义向量的cosine距离,而是根据所述第一语义向量和所述第二语义向量构建相似度矩阵,并且根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
[0043] 其中,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定。本公开实施例采用构建相似度矩阵的方式替代现有的无参数的cosine距离计算方式,使得匹配层也是有参数的,这样,即使前面的语义向量学偏了,通过相似度矩阵的参数调整,可以起到纠偏的作用,进而可以提高文本相似度计算的精准度。
[0044] 在本公开的一种可选实施例中,所述根据所述第一语义向量和所述第二语义向量构建相似度矩阵,具体可以包括:
[0045] 步骤S11、确定所述第一输入向量的第一维度以及所述第二输入向量的第二维度;
[0046] 步骤S12、根据所述第一维度和所述第二维度的平方值,确定参数个数;
[0047] 步骤S13、根据所述第一输入向量、所述第二输入向量、以及所述参数个数,构建相似度矩阵。
[0048] 本公开实施例在构建相似度矩阵时,首先确定第一输入向量的第一维度以及所述第二输入向量的第二维度。其中,维度的确定可以从以下两个方面进行考虑:第一方面,第一输入向量是否可以充分表达第一文本,以及第二输入向量是否可以充分表达第二文本,具体可以通过大量实验选取合适的第一维度和第二维度。第二方面,第一输入向量和第二输入向量是否足够稠密,如果维度过高将导致向量里面包含很多零,造成向量过于稀疏,影响计算效率。
[0049] 在确定合适的第一维度和第二维度之后,可以根据第一维度和所述第二维度的平方值,确定参数个数,以保证每个维度都有对应参数来学习以及纠正。例如,可以分别对第一维度和第二维度求平方后再求和,得到参数个数,或者,分别对第一维度和第二维度求平方后再求和之后,再取均值,得到参数个数。可以理解,本公开实施例对根据所述第一维度和所述第二维度计算参数个数的具体方式不加以限制。
[0050] 在本公开实施例中,所述相似度矩阵与MLP(Multi-Layer Perception,多层感知器)相比,所需要的参数个数至少为其一半以上,且相似度矩阵的可解释性更强,根据离线实验的结果来看,相似度矩阵的计算效果比MLP更好。
[0051] 在本公开实施例中,构建的相似度矩阵可以采用类似如下公式:
[0052] A=QEQ-1   (1)
[0053] 其中,相似度矩阵相当于E特征向量集合,A相当于第一文本和第二文本的相似性得分。由此,在精确计算第一文本和第二文本的相似性得分的同时,可以通过对相似度矩阵的参数进行调整实现对计算的相似性得分进行一定的纠正。
[0054] 在本公开的一种可选实施例中,所述根据所述第一语义向量、所述第二语义向量、以及相似度矩阵,计算所述第一文本和所述第二文本的相似性得分之后,所述方法还可以包括:
[0055] 将所述相似性得分、所述第一输入向量、以及所述第二输入向量输入全连接层,以输出所述第一文本和所述第二文本的修正后的相似性得分。
[0056] 本公开实施例采用构建相似度矩阵的方式替代现有的无参数的cosine距离计算方式,通过相似度矩阵的参数调整,可以起到纠偏的作用,以保证相似度计算的精准度。
[0057] 然而,在深层神经网络中,网络在向后传递的过程中可能会丢失前层的部分信息,影响最终计算的精准度。因此,为了提高计算的精准度,本公开实施例在根据相似度矩阵计算所述第一文本和所述第二文本的相似性得分之后,还可以将所述相似性得分、所述第一输入向量、以及所述第二输入向量输入全连接层,以结合所述第一文本和所述第二文本的低层特征再次进行学习,对计算得到的相似性得分进行进一步修正,得到更加准确的相似性得分。
[0058] 在本公开的一种可选实施例中,所述深层网络语义模型包括至少三层网络,其中,前一层网络的输出结果与当前层网络的输出结果相连接作为下一层网络的输入参数。
[0059] 在实际应用中,DSSM的网络结构较为简单,在前向过程中,由于输入层在获取输入向量的时候,已经去除了很多的无效信息,因此,在网络层次较深的情况下,网络在向后传递的过程中会丢失更多的前层信息;而在网络层次较浅的情况下,传递信息的过程中虽然丢失的信息相对较少,但是浅层次的网络结构也会导致网络的精度下降。
[0060] 为了进一步提高深层网络语义模型的精准度,本公开实施例对现有的DSSM网络结构进行改进,将深层网络语义模型中包括至少三层网络,其中,前一层网络的输出结果与当前层网络的输出结果相连接作为下一层网络的输入参数。
[0061] 参照图2,示出了本公开实施例的一种深层网络语义模型的网络结构示意图。如图2所示,假设该深层网络语义模型包括:输入层、Layer1、Layer2、以及Layer3三层网络。其中,输入层用于接收文本,并且将文本转换为向量。Layer1、Layer2、以及Layer3三层网络用于对输入的向量进行特征提取,得到语义特征向量。
[0062] 具体地,本公开实施例可以将第一文本(Query)与第二文本(Doc)分别输入结构相同的神经网络,分别进行特征提取。假设Layer1输出的向量维度为400维,Layer2输出的向量维度为120维,Layer3输出的向量维度为100维,则将Layer1的输出结果与Layer2的输出结果相连接作为Layer3的输入参数。因此,Layer3的输入参数为400+120=520维,经过Layer3的处理后输出100维的输出结果。
[0063] 如图2所示,第一文本(Query)经过Layer3的处理后输出第一语义向量,第二文本(Doc)经过Layer3的处理后输出第二语义向量;根据所述第一语义向量和所述第二语义向量构建相似度矩阵,计算相似度得分;最后将所述相似性得分、所述第一输入向量、以及所述第二输入向量输入全连接层,对计算得到的相似性得分进行进一步修正,得到最终的相似性得分。
[0064] 需要说明的是,上述三层网络仅作为本公开实施例的一种应用示例,本公开实施例对所述深层网络语义模型的网络层数不加以限制。例如,如果所述深层网络语义模型包括Layer1、Layer2、Layer3、Layer4四层网络,则Layer1的输出结果为Layer2的输入参数,Layer1的输出结果和Layer2的输出结果相连接作为Layer3的输入参数,Layer1的输出结果、Layer2的输出结果、以及Layer3的输出结果相连接作为Layer4的输入参数。以此类推。
[0065] 由此,本公开实施例的深层网络语义模型在对输入向量进行特征提取的过程中,可以保留之前每一层网络中的特征信息,进而可以保证有用信息得到的充分学习,以提高网络在前向过程中的精准度。
[0066] 在本公开的一种可选实施例中,所述获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量,具体可以包括:
[0067] 步骤S21、根据条件随机场算法,分别对所述第一文本和所述第二文本进行分词,得到所述第一文本对应的第一分词结果和所述第二文本对应的第二分词结果;
[0068] 步骤S22、根据停用词表,分别对所述第一分词结果和所述第二分词结果进行过滤,得到过滤后的第一分词结果和过滤后的第二分词结果;
[0069] 步骤S23、根据词向量模型,将所述第一分词结果转换为第一输入向量,以及将所述第二分词结果转换为第二输入向量。
[0070] 具体地,本公开实施例可以通过CRF(Conditional Random Field Algorithm,条件随机场算法)分别对所述第一文本和所述第二文本进行分词,得到所述第一文本对应的第一分词结果和所述第二文本对应的第二分词结果。
[0071] 分词以后可以根据停用词表,分别对所述第一分词结果和所述第二分词结果进行过滤,得到过滤后的第一分词结果和过滤后的第二分词结果。其中,所述停用词表可以包括根据业务内容和词频确定的停用词以及低频词,由此可以过滤掉第一分词结果和第二分词结果中的停用词和低频词。
[0072] 最后可以根据词向量模型如word2vec或GloVe等将所述第一分词结果转换为第一输入向量,以及将所述第二分词结果转换为第二输入向量。
[0073] 在本公开的一种可选实施例中,所述获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量,具体可以包括:
[0074] 将所述第一文本输入所述深层网络语义模型的查询端,得到第一输入向量,以及将所述第二文本输入所述深层网络语义模型的文档端,得到第二输入向量;其中,所述深层网络语义模型省略单词哈希层。
[0075] 在本公开实施例中,还可以将第一文本和第二文本输入所述深层网络语义模型的输入层,以得到第一文本对应的第一输入向量以及第二文本对应的第二输入向量。
[0076] 具体地,本公开实施例可以将所述第一文本输入所述深层网络语义模型的查询(Query)端,得到第一输入向量,以及将所述第二文本输入所述深层网络语义模型的文档(Doc)端,得到第二输入向量。
[0077] 然而,现有的DSSM模型中有一层叫做WordHash(单词哈希)层,原理类似NLP技术中tri-grams(三词文法),在针对英文单词做字符拆分的时候,可以将英文单词的词表维度缩减;但是中文语句是由单字构成词组,由词组连接成句子,因此会出现很多无意义的词组比如:“重庆火”、“庆火锅”等,不仅没有缩减词表的维度,反而使得词表维度变大,导致计算效率较低。
[0078] 因此,针对中文文本相似性计算的应用场景,本公开实施例对现有的DSSM模型进行改进,省略DSSM模型输入层中的WordHash层。
[0079] 在省略WordHash层的情况下,可以利用Word Embedding(词嵌入)将一个单词转换成固定长度的向量表示,或者其他任意将文本转换为向量的计算方式。由此,本公开实施例通过省略WordHash层,可以极大地降低输入向量的维度,从而减少模型训练过程中的机器压以及训练时间。
[0080] 在本公开的一种可选实施例中,所述方法还可以包括:
[0081] 步骤S31、收集文本语料;
[0082] 步骤S32、根据所述文本语料,训练深层网络语义模型,所述深层网络语义模型包括输入层、表示层和匹配层;其中,所述输入层省略单词哈希层,所述表示层中前一层网络的输出与下一层网络的输入相连,所述匹配层包括用于计算文本之间相似性得分的相似度矩阵。
[0083] 本公开实施例对现有的DSSM模型进行改进,得到本公开实施例所述的深层网络语义模型,具体地,在所述深层网络语义模型的输入层,省略单词哈希(WordHash)层,在中文文本相似性计算的场景下,可以降低输入向量的维度,从而减少模型训练的机器压力以及训练时间。在所述深层网络语义模型的表示层,前一层网络的输出与下一层网络的输入相连,将所述深层网络语义模型中前一层网络的输出结果作为下一层网络的输入参数,输入下一层网络,以保留前一层网络中的信息,由此,使得有用信息可以得到充分的学习,保证网络在前向过程中的精准度。在所述深层网络语义模型的匹配层,采用构建相似度矩阵的方式替代无参数的cosine距离计算方式,通过相似度矩阵的参数调整,可以起到纠偏的作用,以保证相似度计算的精准度。
[0084] 在本公开实施例中,所述深层网络语义模型可以为根据大量的文本语料和机器学习方法,对现有的神经网络进行有监督或者无监督训练而得到的。所述深层网络语义模型可以融合多种神经网络。所述神经网络包括但不限于以下的至少一种或者至少两种的组合、叠加、嵌套:CNN(Convolutional Neural Network,卷积神经网络)、LSTM(Long Short-Term Memory,长短时记忆)网络、RNN(Simple Recurrent Neural Network,循环神经网络)、注意力神经网络等。可以理解,本公开实施例对所述深层网络语义模型的具体模型结构,以及模型的训练方法不加以限制。
[0085] 综上,本公开实施例首先获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;然后分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;最后,根据所述第一语义向量和所述第二语义向量构建相似度矩阵,并且根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
[0086] 其中,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定,以保证每个维度的语义向量都有对应参数来学习以及纠正。本公开实施例采用构建相似度矩阵的方式替代现有的无参数的cosine距离计算方式,使得匹配层也是有参数的,这样,即使前面的语义向量学偏了,通过相似度矩阵的参数调整,可以起到纠偏的作用,进而可以提高文本相似度计算的精准度。
[0087] 实施例二
[0088] 参照图3,其示出了在本公开的一个实施例中的文本相似性计算装置的结构图,具体如下。
[0089] 输入向量获取模块301,用于获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;
[0090] 语义向量获取模块302,用于分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;
[0091] 矩阵构建模块303,用于根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;
[0092] 得分计算模块304,用于根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。
[0093] 可选地,所述深层网络语义模型包括至少三层网络,其中,前一层网络的输出结果与当前层网络的输出结果相连接作为下一层网络的输入参数。
[0094] 可选地,所述装置还包括:
[0095] 得分修正模块,用于将所述相似性得分、所述第一输入向量、以及所述第二输入向量输入全连接层,以输出所述第一文本和所述第二文本的修正后的相似性得分。
[0096] 可选地,所述矩阵构建模块,包括:
[0097] 维度确定子模块,用于确定所述第一输入向量的第一维度以及所述第二输入向量的第二维度;
[0098] 参数确定子模块,用于根据所述第一维度和所述第二维度的平方值,确定参数个数;
[0099] 矩阵构建子模块,用于根据所述第一输入向量、所述第二输入向量、以及所述参数个数,构建相似度矩阵。
[0100] 可选地,所述输入向量获取模块,包括:
[0101] 分词子模块,用于根据条件随机场算法,分别对所述第一文本和所述第二文本进行分词,得到所述第一文本对应的第一分词结果和所述第二文本对应的第二分词结果;
[0102] 过滤子模块,用于根据停用词表,分别对所述第一分词结果和所述第二分词结果进行过滤,得到过滤后的第一分词结果和过滤后的第二分词结果;
[0103] 转换子模块,用于根据词向量模型,将所述第一分词结果转换为第一输入向量,以及将所述第二分词结果转换为第二输入向量。
[0104] 可选地,所述输入向量获取模块,具体用于将所述第一文本输入所述深层网络语义模型的查询端,得到第一输入向量,以及将所述第二文本输入所述深层网络语义模型的文档端,得到第二输入向量;其中,所述深层网络语义模型省略单词哈希层。
[0105] 可选地,所述装置还包括:
[0106] 语料收集模块,用于收集文本语料;
[0107] 模型训练模块,用于根据所述文本语料,训练深层网络语义模型,所述深层网络语义模型包括输入层、表示层和匹配层;其中,所述输入层省略单词哈希层,所述表示层中前一层网络的输出与下一层网络的输入相连,所述匹配层包括用于计算文本之间相似性得分的相似度矩阵。
[0108] 综上所述,本公开的实施例提供了一种文本相似性计算装置,所述装置包括:输入向量获取模块,用于获取第一文本对应的第一输入向量以及第二文本对应的第二输入向量;语义向量获取模块,用于分别将所述第一输入向量和所述第二输入向量输入深层网络语义模型,得到所述第一输入向量对应的第一语义向量,以及所述第二输入向量对应的第二语义向量;矩阵构建模块,用于根据所述第一语义向量和所述第二语义向量构建相似度矩阵,所述相似度矩阵的参数个数根据所述第一语义向量的第一维度和所述第二语义向量的第二维度所确定;得分计算模块,用于根据所述相似度矩阵,计算所述第一文本和所述第二文本的相似性得分。本公开实施例提供的文本相似性计算装置,能够提高文本相似度计算的精准度。
[0109] 本公开的实施例还提供了一种电子设备,参见图4,包括:处理器401、存储器402以及存储在所述存储器上并可在所述处理器上运行的计算机程序4021,所述处理器执行所述程序时实现前述实施例的文本相似性计算方法。
[0110] 本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的文本相似性计算方法。
[0111] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0112] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
[0113] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0114] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
[0115] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0116] 本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开的实施例的排序设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0117] 应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0118] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0119] 以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
[0120] 以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈