一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文本相似度的确定方法、装置、存储介质及电子装置与流程

2022-07-13 20:57:48 来源:中国专利 TAG:


1.本技术涉及文本处理领域,具体而言,涉及一种文本相似度的确定方法、装置、存储介质及电子装置。


背景技术:

2.在现如今的大数据时代,每天产生着海量的结构化和非结构化数据,其中文本数据在搜索领域,对话领域等呈几何式的增量增长。网络化时代算法逐渐改变着人们的生活和生活方式,其中在自然语言领域,文本相似度算法在当今海量文本的网络时代越来越重要,任何涉及到知识和信息的场景下都有可能用到文本相似度算法。当前最典型是在搜索引擎、推荐系统、论文鉴定、机器翻译、自动应答、拼写纠错等领域有着广泛的应用。传统的文本检索算法和相似度计算算法在大数据量场景下已经显得力不从心。


技术实现要素:

3.本发明实施例提供了一种文本相似度的确定方法、装置、存储介质及电子装置,以至少解决相关技术中对文本的匹配不准确的问题。
4.根据本发明的一个实施例,提供了一种文本相似度的确定方法,包括:将获取的目标文本输入至第一目标模型,得到上述第一目标模型输出的上述目标文本的目标向量;基于上述目标向量从预设数据库中获取n个向量,其中,上述n是大于或等于1的自然数;利用上述n个向量和上述目标向量,确定上述n个向量中每个向量对应的文本与上述目标文本之间的相似度。
5.根据本发明的另一个实施例,提供了一种文本相似度的确定装置,包括:第一输入模块,用于将获取的目标文本输入至第一目标模型,得到上述第一目标模型输出的上述目标文本的目标向量;第一获取模块,用于基于上述目标向量从预设数据库中获取n个向量,其中,上述n是大于或等于1的自然数;第一确定模块,用于利用上述n个向量和上述目标向量,确定上述n个向量中每个向量对应的文本与上述目标文本之间的相似度。
6.在一个示例性实施例中,上述第一输入模块,包括:第一提取单元,用于通过上述第一目标模型中的多头注意力网络提取上述目标文本的特征变量;第一转化单元,用于利用上述第一目标模型中的嵌入层embedding将上述特征变量转化为特征向量,得到上述目标文本的目标向量。
7.在一个示例性实施例中,上述第一获取模块,包括:第一确定单元,用于确定上述目标向量存储至上述预设数据库中的向量索引;第一计算单元,用于计算上述目标向量的向量索引与上述预设数据库中每个向量的向量索引之间的距离,确定m个距离,其中,上述m是大于或等于上述n的自然数;第二确定单元,用于将上述m个距离中大于预设阈值的距离所对应的向量,确定为上述n个向量。
8.在一个示例性实施例中,上述第一确定模块,包括:第三确定单元,用于确定上述n个向量中每个向量对应的文本,确定n个文本;第一输入单元,用于将上述目标文本和上述n
个文本输入至第二目标模型,得到上述第二目标模型输出的上述每个向量对应的文本与上述目标文本之间的相似结果。
9.在一个示例性实施例中,上述第一输入单元,包括:第一输入子单元,用于将上述目标文本和上述n个文本输入至上述第二目标模型中的实体结构中,得到上述目标文本的目标嵌入向量和上述n个文本的n个嵌入向量;第一计算子单元,用于计算上述目标嵌入向量和上述n个嵌入向量中每个嵌入向量之间的差值;第一拼接子单元,用于将上述目标嵌入向量、上述每个嵌入向量,以及上述目标嵌入向量和上述每个嵌入向量之间的差值进行拼接,确定n个拼接向量;第一输出子单元,用于基于上述n个拼接向量输出上述相似结果。
10.在一个示例性实施例中,上述第一输出子单元,包括:第一输入子模块,用于将上述每个拼接向量输入至上述第二目标模型中的全连接层,得到上述全连接层输出的对上述每个拼接向量进行二分类的概率值;第一输出子模块,用于基于上述概率值输出上述相似结果。
11.在一个示例性实施例中,通过以下方式基于上述概率值输出上述相似结果:将上述概率值与第二预设阈值进行比较;利用比较结果输出上述相似结果。
12.在一个示例性实施例中,上述装置还包括:第一提取模块,用于基于上述目标向量从预设数据库中获取n个向量之前,通过上述第一目标模型中的多头注意力网络提取m个文本的特征变量,其中,上述m是大于或等于上述n的自然数;第一转化模块,用于利用上述第一目标模型中的嵌入层将上述m个文本的特征变量转化为特征向量,得到上述m个向量;第一存储模块,用于按照上述m个文本的索引和向量化表征,将上述m个向量存储至上述预设数据库中。
13.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
14.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
15.通过本发明,通过将获取的目标文本输入至第一目标模型,得到第一目标模型输出的目标文本的目标向量;基于目标向量从预设数据库中获取n个向量,其中,n是大于或等于1的自然数;利用n个向量和目标向量,确定n个向量中每个向量对应的文本与目标文本之间的相似度。并不是通过提取关键词来进行海量文本中的召回计算。而是从文本层面进行匹配,实现了文本之间的精确匹配。因此,可以解决相关技术中对文本的匹配不准确的问题,达到提高文本匹配的准确度的效果。
附图说明
16.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1是根据本技术实施例的一种文本相似度的确定方法的硬件环境示意图;
19.图2是根据本发明实施例的文本相似度的确定方法的流程图;
20.图3是根据本发明实施例的文本相似度的确定方法的整体流程图;
21.图4是根据本发明实施例的文本相似度的确定装置的结构框图。
具体实施方式
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
23.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.根据本技术实施例的一个方面,提供了一种文本相似度的确定方法。该文本相似度的确定方法广泛应用于文本检索的场景中。可选地,在本实施例中,上述文本相似度的确定方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
25.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑等。
26.在本实施例中提供了一种文本相似度的确定方法,图2是根据本发明实施例的文本相似度的确定方法的流程图,如图2所示,该流程包括如下步骤:
27.步骤s202,将获取的目标文本输入至第一目标模型,得到第一目标模型输出的目标文本的目标向量;
28.例如,将获取的“人工智能科技”输入至第一目标模型中,得到第一目标模型输出的“0010100110”。
29.步骤s204,基于目标向量从预设数据库中获取n个向量,其中,n是大于或等于1的自然数;
30.例如,通过预设数据库中存储的向量索引,检索与“0010100110”匹配的向量。例如,通过faiss和hnswlib向量索引进行检索,可以达到百万短文本毫秒级的搜索效率。
31.步骤s206,利用n个向量和目标向量,确定n个向量中每个向量对应的文本与目标文本之间的相似度。
32.其中,上述步骤的执行主体可以为终端等,但不限于此。
33.通过上述步骤,通过将获取的目标文本输入至第一目标模型,得到第一目标模型输出的目标文本的目标向量;基于目标向量从预设数据库中获取n个向量,其中,n是大于或等于1的自然数;利用n个向量和目标向量,确定n个向量中每个向量对应的文本与目标文本之间的相似度。从文本层面进行匹配,实现了文本之间的精确匹配。因此,可以解决相关技术中对文本的匹配不准确的问题,达到提高文本匹配的准确度的效果。
34.在一个示例性实施例中,将获取的目标文本输入至第一目标模型,得到第一目标模型输出的目标文本的目标向量,包括:
35.s11,通过第一目标模型中的多头注意力网络提取目标文本的特征变量;
36.s12,利用第一目标模型中的嵌入层embedding将特征变量转化为特征向量,得到目标文本的目标向量。
37.例如,将目标文本传入至第一目标模型中,进行多头注意力网络的文本特征提取,输出嵌入embedding后的固定长度的向量化结果。
38.在一个示例性实施例中,基于目标向量从预设数据库中获取n个向量,包括:
39.s31,确定目标向量存储至预设数据库中的向量索引;
40.例如,在构建第一目标模型后,优化第一目标模型中的注意力机制attention部分。将海量历史文本传入到第一目标模型中,进行多头注意力网络的文本特征提取,输出embedding后的固定长度的向量化结果。将海量历史文本的索引作为关键字(key),向量化表征作为值(value)存入到列式存储数据库当中。
41.s32,计算目标向量的向量索引与预设数据库中每个向量的向量索引之间的距离,确定m个距离,其中,m是大于或等于n的自然数;
42.例如,通过向量索引,与列式数据库中的海量文本数据,进行向量间的欧氏距离计算,在计算和检索过程中通过faiss(facebook ai similarity search)开源库和hnswlib(使用分层可导航小世界图进行近似最近邻居搜索的java库)开源库进行向量索引的计算优化,可以达到百万短文本毫秒级的搜索效率。
43.s33,将m个距离中大于预设阈值的距离所对应的向量,确定为n个向量。
44.在一个示例性实施例中,利用n个向量和目标向量,确定n个向量中每个向量对应的文本与目标文本之间的相似度,包括:
45.s41,确定n个向量中每个向量对应的文本,确定n个文本;
46.s42,将目标文本和n个文本输入至第二目标模型,得到第二目标模型输出的每个向量对应的文本与目标文本之间的相似结果。
47.例如,将m个距离中大于预设阈值的距离所对应的向量,确定为n个向量。之后,对计算结果中达到预设阈值的相近文本进行召回匹配结果集进行输出,作为匹配度预测阶段的输入值。
48.在一个示例性实施例中,将目标文本和n个文本输入至第二目标模型,得到第二目标模型输出的每个向量对应的文本与目标文本之间的相似结果,包括:
49.s51,将目标文本和n个文本输入至第二目标模型中的实体结构中,得到目标文本
的目标嵌入向量和n个文本的n个嵌入向量;
50.s52,计算目标嵌入向量和n个嵌入向量中每个嵌入向量之间的差值;
51.s53,将目标嵌入向量、每个嵌入向量,以及目标嵌入向量和每个嵌入向量之间的差值进行拼接,确定n个拼接向量;
52.s54,基于n个拼接向量输出相似结果。
53.例如,将目标文本,结合n个文本中的每一个文本,分别传入带有实体结构的encoder结构中进行多头注意力网络的前向传播计算,最终得到实体级别的标记token输出,且两个嵌入向量和它们之间的差值进行拼接,向卷积层进行输入。
54.在一个示例性实施例中,基于n个拼接向量输出相似结果,包括:
55.s61,将每个拼接向量输入至第二目标模型中的全连接层,得到全连接层输出的对每个拼接向量进行二分类的概率值;
56.s62,基于概率值输出相似结果。
57.例如,在全连接层后接入softmax层网络结构,对输入的拼接后的嵌入向量进行二分类的概率值输出,即可得到两个句子的相似概率。
58.在一个示例性实施例中,基于概率值输出相似结果,包括:
59.s71,将概率值与第二预设阈值进行比较;
60.s72,利用比较结果输出相似结果。即根据设定的相似概率阈值来最终确定两个文本是否相似。
61.在一个示例性实施例中,基于目标向量从预设数据库中获取n个向量之前,方法还包括:
62.s81,通过第一目标模型中的多头注意力网络提取m个文本的特征变量,其中,m是大于或等于n的自然数;
63.s82,利用第一目标模型中的嵌入层将m个文本的特征变量转化为特征向量,得到m个向量;
64.s83,按照m个文本的索引和向量化表征,将m个向量存储至预设数据库中。
65.本实施例即利用向量存储方法对文本进行存储。
66.下面结合具体实施例对本发明进行说明:
67.如图3所示,本具体实施例包括以下具体步骤:
68.s301,构建预训练语言模型(对应于上述中的第一目标模型),优化attention部分。将海量历史文本传入到预训练语言模型中,进行多头注意力网络的文本特征提取,输出embedding后的固定长度的向量化结。
69.s302,将海量文本的索引作为key,向量化表征作为value存入到列式存储数据库当中。
70.s303,进行检索语句(对应于上述中的目标文本)的输入,按相同的处理流程传入到预训练语言模型中,进行多头注意力网络的文本特征提取,输出embedding后的固定长度的向量化结果。
71.s304,开始通过向量索引,与列式数据库(对应于上述中的预设数据库)中的海量文本数据,进行向量间的欧氏距离计算,在计算和检索过程中通过faiss和hnswlib向量索引的计算优化,可以达到百万短文本毫秒级的搜索效率。
72.s305,对最终的计算结果设定相似度阈值,达到阈值的相近文本进行召回匹配结果集进行输出,作为匹配度预测阶段的输入值。
73.s306-309,将原始输入语句,结合匹配结果集中的每一个文本,分别传入带有实体结构的encoder结构中进行多头注意力网络的前向传播计算,最终得到实体级别的token输出(s307),且两个嵌入向量和它们之间的差值进行拼接,向卷积层和全连接层(v)进行输入(s308-309)。
74.s310-s311,在全连接层后接入softmax层网络结构,对输入的拼接后的嵌入向量进行二分类的概率值输出,即可得到两个句子的相似概率,根据设定的相似概率阈值来最终确定两个文本是否相似(s311)。
75.综上所述,本实施例通过已优化的attention结构,同时经过海量短文本预训练的语言模型,来对短文本进行特征抽取,避免了哈希hash算法对文本转换时不考虑语义特征从而导致召回结果不具有语义层面的相似性;同时不需要进行关键词提取等,避免处理流程过多导致的准确性下降;在召回计算方面,采用先进的列式数据库进行向量的存储,同时使用向量索引框架进行海量文本下的超快速计算,在中央处理器cpu下就可以达到百万量级毫秒级别的召回响应。在文本相似匹配阶段,通过对训练模型的优化,引入知识结构加入到attention结构中,同时在attention结构中引入前向传播计算,来对输入语句进行了语义层面的嵌入向量构建,能够从根本上体现语义的特征含义。可以避免传统的距离计算,如欧氏距离,汉明距离等等,转而通过二分类的神经网络模型进行二分类输出实现高精准度,高效率的语义层面、海量文本场景下的文本相似匹配。
76.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
77.在本实施例中还提供了一种文本相似度的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
78.图4是根据本发明实施例的文本相似度的确定装置的结构框图,如图4所示,该装置包括:
79.第一输入模块42,用于将获取的目标文本输入至第一目标模型,得到第一目标模型输出的目标文本的目标向量;
80.第一获取模块44,用于基于目标向量从预设数据库中获取n个向量,其中,n是大于或等于1的自然数;
81.第一确定模块46,用于利用n个向量和目标向量,确定n个向量中每个向量对应的文本与目标文本之间的相似度。
82.在一个示例性实施例中,上述第一输入模块,包括:
83.第一提取单元,用于通过上述第一目标模型中的多头注意力网络提取上述目标文
本的特征变量;
84.第一转化单元,用于利用上述第一目标模型中的嵌入层embedding将上述特征变量转化为特征向量,得到上述目标文本的目标向量。
85.在一个示例性实施例中,上述第一获取模块,包括:
86.第一确定单元,用于确定上述目标向量存储至上述预设数据库中的向量索引;
87.第一计算单元,用于计算上述目标向量的向量索引与上述预设数据库中每个向量的向量索引之间的距离,确定m个距离,其中,上述m是大于或等于上述n的自然数;
88.第二确定单元,用于将上述m个距离中大于预设阈值的距离所对应的向量,确定为上述n个向量。
89.在一个示例性实施例中,上述第一确定模块,包括:
90.第三确定单元,用于确定上述n个向量中每个向量对应的文本,确定n个文本;
91.第一输入单元,用于将上述目标文本和上述n个文本输入至第二目标模型,得到上述第二目标模型输出的上述每个向量对应的文本与上述目标文本之间的相似结果。
92.在一个示例性实施例中,上述第一输入单元,包括:
93.第一输入子单元,用于将上述目标文本和上述n个文本输入至上述第二目标模型中的实体结构中,得到上述目标文本的目标嵌入向量和上述n个文本的n个嵌入向量;
94.第一计算子单元,用于计算上述目标嵌入向量和上述n个嵌入向量中每个嵌入向量之间的差值;
95.第一拼接子单元,用于将上述目标嵌入向量、上述每个嵌入向量,以及上述目标嵌入向量和上述每个嵌入向量之间的差值进行拼接,确定n个拼接向量;
96.第一输出子单元,用于基于上述n个拼接向量输出上述相似结果。
97.在一个示例性实施例中,上述第一输出子单元,包括:
98.第一输入子模块,用于将上述每个拼接向量输入至上述第二目标模型中的全连接层,得到上述全连接层输出的对上述每个拼接向量进行二分类的概率值;
99.第一输出子模块,用于基于上述概率值输出上述相似结果。
100.在一个示例性实施例中,通过以下方式基于上述概率值输出上述相似结果:将上述概率值与第二预设阈值进行比较;利用比较结果输出上述相似结果。
101.在一个示例性实施例中,上述装置还包括:
102.第一提取模块,用于基于上述目标向量从预设数据库中获取n个向量之前,通过上述第一目标模型中的多头注意力网络提取m个文本的特征变量,其中,上述m是大于或等于上述n的自然数;
103.第一转化模块,用于利用上述第一目标模型中的嵌入层将上述m个文本的特征变量转化为特征向量,得到上述m个向量;
104.第一存储模块,用于按照上述m个文本的索引和向量化表征,将上述m个向量存储至上述预设数据库中。
105.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
106.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述
存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
107.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
108.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献