一种文本处理方法及相关装置与流程

文档序号:24041358发布日期:2021-02-23 16:54阅读:44来源:国知局
一种文本处理方法及相关装置与流程

[0001]
本申请涉及计算机技术领域,尤其涉及一种文本处理方法及相关装置。


背景技术:

[0002]
自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。自然语言处理的任务中包括计算文本相似度。
[0003]
目前,通常使用bert模型计算文本相似度。但是使用bert模型计算文本相似度时,需要将两个待比较的文本同时输入两个bert模型中进行处理,得到待比较文本对应的句向量,根据句向量确定文本相似度,这样会造成较大的计算开销,效率较低。并且,使用bert模型生成句向量时,通常会丢失文本中的部分较为重要的信息,在确定文本相似度时,准确率较低。


技术实现要素:

[0004]
本申请提供了一种文本处理方法及相关装置,能够提高计算文本相似度的效率和准确率。
[0005]
本申请第一方面提供了一种文本处理方法,包括:
[0006]
将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量;
[0007]
对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量;
[0008]
对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量;
[0009]
根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0010]
本申请第二方面提供了一种文本处理装置,包括:
[0011]
输入模块,用于将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量;
[0012]
提取模块,用于对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量;
[0013]
降维模块,用于对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量;
[0014]
确定模块,用于根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0015]
本申请第三方面提供了一种电子设备,所述电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请第一方面任一方法中的步骤的指令。
[0016]
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现本申请第一方面任一方法中所描述的部分或全部步骤。
[0017]
可以看到,通过本申请提出的文本处理方法及相关装置,首先将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量。其次,对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量。然后,对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量。最后,根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。这样,在计算文本相似度时,不需要分别将第一文本和第二文本输入两个模型中进行处理,通过孪生网络结构的句向量生成模型同时对第一文本和第二文本进行处理,节省了计算开销,提高了效率。并且,在生成句向量时,对第一特征向量和第二特征向量分别进行强特征提取处理,这样可以保留文本中的重要信息,后续计算文本相似度时,准确率更高。
附图说明
[0018]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]
图1为本申请实施例提供的一种文本处理方法的网络架构图;
[0020]
图2为本申请实施例提供的一种文本处理方法的流程示意图;
[0021]
图3为本申请实施例提供的另一种文本处理方法的流程示意图;
[0022]
图4为本申请实施例提供的提取强特征向量的示意图;
[0023]
图5为本申请实施例提供的一种文本处理装置的示意图;
[0024]
图6为本申请实施例涉及的硬件运行环境的电子设备结构示意图。
具体实施方式
[0025]
本申请实施例提供的文本处理方法及相关装置,能够提高计算文本相似度的效率和准确率。
[0026]
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0027]
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028]
下面对本申请实施例进行详细介绍。
[0029]
首先参见图1,图1为本申请实施例提供的一种文本处理方法的网络架构图。如图1所示,计算文本相似度时,首先,将第一文本和第二文本输入孪生网络结构的句向量生成模型,其中,孪生网络结构的句向量生成模型包括第一子模型和第二子模型,所述第一子模型和所述第二子模型的网络结构相同,并且,所述第一子模型和所述第二子模型中的权重共享。具体的,将第一文本输入第一子模型,得到所述第一文本对应的第一特征向量。将第二文本输入第二子模型,得到所述第二文本对应的第二特征向量。处理过程中,由于第一子模型和第二子模型的权重共享,所以可以节省计算开销,从而提高效率。
[0030]
得到第一特征向量和第二特征向量后,对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量。这样,可以保留第一文本和第二文本中的重要信息,后续计算文本相似度时,准确率更高。
[0031]
得到第一句向量和第二句向量后,由于第一句向量和第二句向量的维度较大,计算时需要耗费较多时间,所以对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量。降维处理后,得到的第一输出向量和第二输出向量的维度较小,后续处理时也可以节省计算开销,满足性能要求,从而也可以提高效率。
[0032]
得到第一输出向量和第二输出向量后,根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0033]
可以看出,通过本申请实施例提供的文本处理方法,在计算文本相似度时,不需要分别将第一文本和第二文本输入两个模型中进行处理,通过孪生网络结构的句向量生成模型同时对第一文本和第二文本进行处理,节省了计算开销,提高了效率。并且,在生成句向量时,对第一特征向量和第二特征向量分别进行强特征提取处理,这样可以保留文本中的重要信息,后续计算文本相似度时,准确率更高。
[0034]
参见图2,图2为本申请实施例提供的一种文本处理方法的流程示意图。其中,如图2所示,本申请实施例提供的一种文本处理方法可以包括:
[0035]
201、将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量。
[0036]
在计算文本相似度时,首先获取待比较的第一文本和第二文本。
[0037]
可选的,所述孪生网络结构的句向量生成模型包括第一子模型和第二子模型,所述第一子模型和所述第二子模型的网络结构相同,所述第一子模型和所述第二子模型中的权重共享。
[0038]
在一种可能的实施方式中,所述将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量的方法可以是:将所述第一文本输入所述第一子模型,以得到所述第一文本对应的所述第一特征向量;将所述第二文本输入所述第二子模型,以得到所述第二文本对应的所述第二特征向量。
[0039]
202、对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量。
[0040]
可选的,所述对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量的方法可以是:对所述第一特征向量和所述第二特征向量分别进行分段,以得到所述第一特征向量对应的至少一段特征向量和所述第二特征向量对应的至少一段特征向量;在所述第一特征向量对应的至少一段特征向量中,提取每段特征向量中的强特征向量,以得到所述第一句向量;在所述第二特征向量对应的至少一段特征向量中,提取每段特征向量中的强特征向量,以得到所述第二句向量。
[0041]
在一种可能的实施方式中,所述对所述第一特征向量和所述第二特征向量分别进行分段的方法可以是:根据预设段数,对所述第一特征向量和所述第二特征向量分别进行分段;或者,根据所述第一特征向量的长度对所述第一特征向量进行分段,以及根据所述第二特征向量的长度对所述第二特征向量进行分段。
[0042]
在一种可能的实施方式中,所述在所述第一特征向量对应的至少一段特征向量中,提取每段特征向量中的强特征向量,以得到所述第一句向量的方法可以是:在所述第一特征向量对应的至少一段特征向量中,获取每段特征向量中每个特征向量的强度值;确定所述每段特征向量中强度值最大的特征向量为所述每段特征向量中的强特征向量;根据所述每段特征向量在所述第一特征向量对应的至少一段特征向量中的位置信息,对所述每段特征向量中的强特征向量进行排序,以得到所述第一句向量。
[0043]
203、对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量。
[0044]
可选的,通过多层感知机(multilayer perceptron,mlp)对第一句向量和第二句向量分别进行降维处理。
[0045]
204、根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0046]
可选的,所述根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度的方法可以是:计算所述第一输出向量和所述第二输出向量的夹角余弦值;根据所述第一输出向量和所述第二输出向量的夹角余弦值,确定所述第一文本和所述第二文本的相似度。
[0047]
可以看出,通过本申请实施例提出的文本处理方法,首先将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量。其次,对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量。然后,对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量。最后,根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。这样,在计算文本相似度时,不需要分别将第一文本和第二文本输入两个模型中进行处理,通过孪生网络结构的句向量生成模型同时对第一文本和第二文本进行处理,节省了计算开销,提高了效率。并且,在生成句向量时,对第一特征向量和第二特征向量分别进行强特征提取处理,这样可以保留文本中的重要信息,后续计算文本相似度时,准确率更高。
[0048]
参见图3,图3为本申请实施例提供的另一种文本处理方法的流程示意图。其中,如
图3所示,本申请实施例提供的另一种文本处理方法可以包括:
[0049]
301、将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到第一文本对应的第一特征向量和第二文本对应的第二特征向量。
[0050]
可选的,孪生网络结构的句向量生成模型包括第一子模型和第二子模型,第一子模型和第二子模型的网络结构相同,并且,第一子模型和第二子模型中的权重共享。
[0051]
具体的,在计算文本相似度时,首先获取待比较的第一文本和第二文本。然后将第一文本和第二文本输入孪生网络(siamese network)结构的句向量生成模型。其中,孪生网络是一种神经网络的框架,在孪生网络结构中,编码器部分包括了两个相同的子神经网络,在训练和测试过程中,子神经网络的权重是共享的。
[0052]
可选的,句向量生成模型包括的第一子模型和第二子模型都为albert模型结构、tinyert模型结构或者distilbert模型结构。
[0053]
在本申请实施例提供的文本处理方法中,用孪生网络结构对句向量生成模型进行改进,将句向量生成模型作为孪生网络结构中的编码器,编码器部分包括两个子模型,分别为第一子模型和第二子模型,并且,两个子模型的权重是共享的。在计算文本相似度时,将第一文本输入第一子模型,以得到第一文本对应的第一特征向量。将第二文本输入第二子模型,以得到第二文本对应的第二特征向量。
[0054]
302、对第一特征向量进行分段,以得到第一特征向量对应的至少一段特征向量。
[0055]
可选的,根据预设段数,对第一特征向量进行分段,或者,根据第一特征向量的长度对第一特征向量进行分段。
[0056]
303、对第二特征向量进行分段,以得到第二特征向量对应的至少一段特征向量。
[0057]
可选的,根据预设段数,对第二特征向量进行分段,或者,根据第二特征向量的长度对第二特征向量进行分段。
[0058]
304、在第一特征向量对应的至少一段特征向量中,提取每段特征向量中的强特征向量,以得到第一句向量。
[0059]
得到第一特征向量后,第一特征向量中,特征的位置信息是重要信息,比如主语出现位置一般在句头,宾语出现位置一般在句尾等。在生成句向量时,需要保留特征的位置信息,这样后续计算文本相似度时,准确率更高。
[0060]
具体的,在第一特征向量对应的至少一段特征向量中,获取每段特征向量中每个特征向量的强度值。然后,确定每段特征向量中强度值最大的特征向量为每段特征向量中的强特征向量。最后,根据每段特征向量在第一特征向量对应的至少一段特征向量中的位置信息,对每段特征向量中的强特征向量进行排序,以得到第一句向量。
[0061]
举例来说,参见图4,图4为本申请实施例提的提取强特征向量的示意图。如图4所示,对第一特征向量进行分段,分段后得到3段特征向量,分别对应图4中的段1、段2和段3。获取每段特征向量中每个特征向量的强度值,其中,段1中特征向量的强度值分别为4和2,段2中特征向量的强度值分别为5和6,段3中特征向量的强度值分别为8和4。其次,确定每段特征向量中强度值最大的特征向量为每段特征向量中的强特征向量。段1中强度值为4的特征向量为段1中的强特征向量,段2中强度值为6的特征向量为段2中的强特征向量,段3中强度值为8的特征向量为段3中的强特征向量。最后,第一特征向量中分段的顺序为:段1、段2、段3,因此,对每段特征向量中的强特征向量进行排序为:强度值为4的特征向量、强度值为6
的特征向量、强度值为8的特征向量,排序后得到第一句向量。
[0062]
最后输出的第一句向量保留了多个分段中的强特征向量的相对顺序信息,也即保留了关键特征的位置信息,这样后续计算文本相似度时,准确率更高。
[0063]
305、在第二特征向量对应的至少一段特征向量中,提取每段特征向量中的强特征向量,以得到第二句向量。
[0064]
得到第二特征向量后,第二特征向量中,特征的位置信息也是重要信息。在生成句向量时,需要保留特征的位置信息,这样后续计算文本相似度时,准确率更高。
[0065]
同理,在第二特征向量对应的至少一段特征向量中,获取每段特征向量中每个特征向量的强度值。然后,确定每段特征向量中强度值最大的特征向量为每段特征向量中的强特征向量。最后,根据每段特征向量在第二特征向量对应的至少一段特征向量中的位置信息,对每段特征向量中的强特征向量进行排序,以得到第二句向量。
[0066]
举例来说,对第二特征向量进行分段,分段后得到3段特征向量,分别为段4、段5和段6。获取每段特征向量中每个特征向量的强度值,其中,段4中特征向量的强度值分别为3和5,段5中特征向量的强度值分别为7和2,段6中特征向量的强度值分别为8和9。其次,确定每段特征向量中强度值最大的特征向量为每段特征向量中的强特征向量。段4中强度值为5的特征向量为段4中的强特征向量,段5中强度值为7的特征向量为段5中的强特征向量,段6中强度值为9的特征向量为段6中的强特征向量。最后,第二特征向量中分段的顺序为:段4、段5、段6,因此,对每段特征向量中的强特征向量进行排序为:强度值为5的特征向量、强度值为7的特征向量、强度值为9的特征向量,排序后得到第二句向量。
[0067]
最后输出的第二句向量保留了多个分段中的强特征向量的相对顺序信息,也即保留了关键特征的位置信息,这样后续计算文本相似度时,准确率更高。
[0068]
306、对第一句向量和第二句向量分别进行降维处理,得到第一文本对应的第一输出向量和第二文本对应的第二输出向量。
[0069]
由于albert模型默认的输出向量通常为512维度,后续计算时需要耗费较多时间,计算开销较大,不满足线上性能要求。为了节省计算开销,提高效率,本申请实施例提供的文本处理方法中,通过多层感知机(multilayer perceptron,mlp)对第一句向量和第二句向量分别进行降维处理。在一种可能的实施方式中,可以将第一句向量和第二句向量都降为64维度,此时系统的性能较好。
[0070]
307、计算第一输出向量和第二输出向量的夹角余弦值。
[0071]
308、根据第一输出向量和第二输出向量的夹角余弦值,确定第一文本和第二文本的相似度。
[0072]
可以看出,通过本申请实施例提出的文本处理方法,在计算文本相似度时,不需要分别将第一文本和第二文本输入两个模型中进行处理,通过孪生网络结构的句向量生成模型同时对第一文本和第二文本进行处理,节省了计算开销,提高了效率。并且,在生成句向量时,对第一特征向量和第二特征向量分别进行强特征提取处理,这样可以保留文本中的重要信息,后续计算文本相似度时,准确率更高
[0073]
参见图5,图5为本申请实施例提供的一种文本处理装置的示意图。其中,如图5所示,本申请实施例提供的一种文本处理装置可以包括:
[0074]
输入模块501,用于将第一文本和第二文本输入孪生网络结构的句向量生成模型,
得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量;
[0075]
提取模块502,用于对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量;
[0076]
降维模块503,用于对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量;
[0077]
确定模块504,用于根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0078]
本申请实施例中文本处理装置的具体实施可参见上述文本处理方法的各实施例,在此不做赘述。
[0079]
参见图6,图6为本申请的实施例涉及的硬件运行环境的电子设备结构示意图。其中,如图6所示,本申请的实施例涉及的硬件运行环境的电子设备可以包括:
[0080]
处理器601,例如cpu。
[0081]
存储器602,可选的,存储器可以为高速ram存储器,也可以是稳定的存储器,例如磁盘存储器。
[0082]
通信接口603,用于实现处理器601和存储器602之间的连接通信。
[0083]
本领域技术人员可以理解,图6中示出的电子设备的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0084]
如图6所示,存储器602中可以包括操作系统、网络通信模块以及文本处理程序。操作系统是管理和控制电子设备硬件和软件资源的程序,支持文本处理程序以及其他软件或程序的运行。网络通信模块用于实现存储器602内部各组件之间的通信,以及与电子设备中其他硬件和软件之间通信。
[0085]
在图6所示的电子设备中,处理器601用于执行存储器602中存储的文本处理程序,实现以下步骤:
[0086]
将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量;
[0087]
对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量;
[0088]
对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量;
[0089]
根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0090]
本申请实施例中电子设备的具体实施可参见上述文本处理方法的各实施例,在此不做赘述。
[0091]
本申请的另一个实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行以实现以下步骤:
[0092]
将第一文本和第二文本输入孪生网络结构的句向量生成模型,得到所述第一文本对应的第一特征向量和所述第二文本对应的第二特征向量;
[0093]
对所述第一特征向量和所述第二特征向量分别进行强特征提取处理,得到所述第一文本对应的第一句向量和所述第二文本对应的第二句向量;
[0094]
对所述第一句向量和所述第二句向量分别进行降维处理,得到所述第一文本对应的第一输出向量和所述第二文本对应的第二输出向量;
[0095]
根据所述第一输出向量和所述第二输出向量,确定所述第一文本和所述第二文本的相似度。
[0096]
本申请实施例中计算机可读存储介质的具体实施可参见上述文本处理方法的各实施例,在此不做赘述。
[0097]
还需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0098]
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1