文本匹配方法、装置、存储介质和程序产品与流程

文档序号:29567280发布日期:2022-04-09 02:51阅读:68来源:国知局
文本匹配方法、装置、存储介质和程序产品与流程

1.本技术涉及人工智能技术领域,尤其涉及一种文本匹配方法、装置、存储介质和程序产品。


背景技术:

2.随着人工智能技术的发展,人工智能技术被广泛应用于信息推荐、信息检索、舆论分析和信息挖掘等场景,文本匹配是上述各种场景中最基础的任务之一。现有的文本匹配方法通常是先获取文本间的语义相似度,如向量空间距离或夹角等,然后根据语义相似度排序确定匹配的文本,或者利用预训练模型进行文本匹配。然而,通过语义相似度计算的方法进行文本匹配,表达能力非常局限,得到的相似度结果准确性差,且计算量较大,不适用于大规模文本匹配;预训练模型存在参数量庞大的自限性,导致其预测性能较差,同样不适合大规模文本匹配。因此,需要提供一种改进的文本匹配方案,以解决上述问题。


技术实现要素:

3.本技术提供了一种文本匹配方法、装置和存储介质,可以有效提高文本匹配的准确率和匹配效率,优化后续任务的应用效果。
4.一方面,本技术提供了一种文本匹配方法,所述方法包括:
5.获取目标矩阵结构和待匹配文本的待匹配文本特征;其中,所述目标矩阵结构包括多个具有相同节点数的矩阵层,单层矩阵层中包括多个节点,单个节点对应若干个候选文本;
6.针对所述目标矩阵结构中的各矩阵层,通过目标文本匹配模型对所述待匹配文本特征进行概率分布预测处理,得到所述各矩阵层对应的概率分布结果;所述概率分布结果表征所述待匹配文本特征针对单个矩阵层中各节点的概率分布;
7.基于所述概率分布结果分别对所述各矩阵层中的节点进行节点筛选处理,得到所述待匹配文本特征在所述各矩阵层中对应的目标节点;
8.将所述目标节点对应的候选文本确定为与所述待匹配文本匹配的目标文本;
9.其中,所述目标文本匹配模型是以候选文本作为训练样本,根据无监督学习方法对基于所述目标矩阵结构构建的初始预测模型,进行针对目标矩阵结构的各矩阵层的概率分布预测和所述候选文本的节点表示更新的迭代训练得到的。
10.另一方面提供了一种文本匹配装置,所述装置包括:
11.文本特征获取模块:用于获取目标矩阵结构和待匹配文本的待匹配文本特征;其中,所述目标矩阵结构包括多个具有相同节点数的矩阵层,单层矩阵层中包括多个节点,单个节点对应若干个候选文本;
12.概率分布预测模块:用于针对所述目标矩阵结构中的各矩阵层,通过目标文本匹配模型对所述待匹配文本特征进行概率分布预测处理,得到所述各矩阵层对应的概率分布结果;所述概率分布结果表征所述待匹配文本特征针对单个矩阵层中各节点的概率分布;
13.目标节点筛选模块:用于基于所述概率分布结果分别对所述各矩阵层中的节点进行节点筛选处理,得到所述待匹配文本特征在所述各矩阵层中对应的目标节点;
14.目标文本确定模块:用于将所述目标节点对应的候选文本确定为与所述待匹配文本匹配的目标文本;
15.其中,所述目标文本匹配模型是以候选文本作为训练样本,根据无监督学习方法对基于所述目标矩阵结构构建的初始预测模型,进行针对目标矩阵结构的各矩阵层的概率分布预测和所述候选文本的节点表示更新的迭代训练得到的。
16.另一方面提供了一种计算机设备,所述设备包括处理器和存储器,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的文本匹配方法。
17.另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的文本匹配方法。
18.另一方面提供了一种服务器,所述服务器包括处理器和存储器,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的文本匹配方法。
19.另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令被处理器执行时实现如上述的文本匹配方法。
20.本技术提供的文本匹配方法、装置、设备、存储介质、服务器和计算机程序产品,具有如下技术效果:
21.本技术的技术方案获取目标矩阵结构和待匹配文本的待匹配文本特征;其中,目标矩阵结构包括多个具有相同节点数的矩阵层,单层矩阵层中包括多个节点,单个节点对应若干个候选文本;并针对目标矩阵结构中的各矩阵层,通过目标文本匹配模型对待匹配文本特征进行概率分布预测处理,得到各矩阵层对应的概率分布结果;其中,概率分布结果表征待匹配文本特征针对单个矩阵层中各节点的概率分布;然后,基于概率分布结果分别对各矩阵层中的节点进行筛选处理,得到待匹配文本特征在各矩阵层中对应的目标节点;进而将目标节点对应的候选文本确定为与待匹配文本匹配的目标文本;通过引入矩阵结构和基于矩阵结构构建的文本匹配模型进行概率分布预测,来筛选节点和确定匹配文本,无需进行文本间的文本向量相似度计算,有效提高文本匹配的匹配效率和准确率,能够支持大规模海量文本的匹配任务。并且,引入矩阵结构能够支持多种类型的文本匹配模型,针对不同应用场景可以灵活配置模型种类,在文本匹配模型的训练过程中,是进行针对目标矩阵结构的各矩阵层的概率分布预测和候选文本的节点表示更新的迭代训练,同样无需计算文本向量相似度,有效提高模型训练效率。
附图说明
22.为了更清楚地说明本技术实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
23.图1是本技术实施例提供的一种应用环境的示意图;
24.图2是本技术实施例提供的一种文本匹配方法的流程示意图;
25.图3是本技术实施例提供的一个目标矩阵结构的示意图;
26.图4是基于图3中的目标矩阵结构和对应的目标文本匹配模型对待匹配文本特征embedding(x)的概率分布预测处理过程示意图;
27.图5是本技术实施例提供的一个目标矩阵结构的文本路径示意图;
28.图6是本技术实施例提供另一种文本匹配方法的流程示意图;
29.图7是本技术实施例提供的另一种文本匹配方法的流程示意图;
30.图8是本技术实施例提供一种文本匹配装置的框架示意图;
31.图9是本技术实施例提供的一种文本匹配方法的电子设备的硬件结构框图;
32.图10是本技术实施例提供的一个区块链系统的结构示意图。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或子模块的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或子模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或子模块。
35.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
36.beam search:greedy search的一种改进算法,相对于greedy search扩大了搜索空间,从树的根节点开始向下搜索,第一层选择概率最大的前k个节点作为候选,之后每一层根据上一层的k个候选挑选出所有组合中条件最大的k个节点作为候选节点,始终保持k个候选序列。
37.bert:bidirectional encoder representations from transformers,基于变换器的双向编码器表示技术,用于自然语言处理的预训练技术。
38.em算法:期望最大化算法。分两步,其中一个为期望步(e步),另一个为极大步(m步);其基本思想是:首先根据己经给出的观测数据,估计出模型参数的值;然后再依据上一步估计出的参数值估计缺失数据的值,再根据估计出的缺失数据加上之前己经观测到的数据重新再对参数值进行估计,然后反复迭代,直至最后收敛,迭代结束。
39.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解
智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
40.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
41.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
42.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
43.近年来,随着人工智能技术研究和进步,人工智能技术在多个领域得到广泛应用,本技术实施例提供的方案涉及人工智能的机器学习/深度学习和自然语言处理等技术,具体通过如下实施例进行说明。
44.请参阅图1,图1是本技术实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以至少包括服务器01和终端02。在实际应用中,终端01、服务器01以及终端02可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
45.本技术实施例中,服务器01可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
46.具体的,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。其中,人工智能云服务,一般也被称作是aiaas(ai as a service,中文为“ai即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说aiaas平台会把几类常见的ai服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个ai主题商城:所有的开发者都可以通过api接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的ai框架和ai基础设施来部署和运维自已专属的云人工智能服务。
47.具体地,上述涉及的服务器可以包括实体设备,可以具体包括有网络通信子模块、处理器和存储器等等,也可以包括运行于实体设备中的软体,可以具体包括有应用程序等。
48.本技术实施例中,终端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、智能语音交互设备、智能家电、智能可穿戴设备、车载终端设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。
49.本技术实施例中,服务器01可以用于提供文本匹配服务,以得到与待匹配文本匹配的目标文本;还可以提供基于目标文本的待匹配路径特征的后续任务应用服务,如基于待匹配路径特征的文本召回服务、文本分析服务和信息推荐服务等。具体的,服务器01还可以提供目标文本匹配模型的训练服务,以及还可以提供候选文本、训练数据和模型数据等的存储服务等。终端02可以用于获取待匹配文本,并将待匹配文本发送至服务器01,以使服务器01进行文本匹配。
50.此外,可以理解的是,图1所示的仅仅是一种文本匹配方法的应用环境,该应用环境可以包括更多或更少的节点,本技术在此不做限制。
51.本技术实施例涉及的应用环境,或应用环境中的终端02和服务器01等可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。分布式系统可以为区块链系统,该区块链系统可以提供文本匹配服务和模型训练服务等,还可以为上述各服务提供数据存储功能,例如存储候选文本、模型配置数据、模型参数数据、以及文本匹配过程中的行为数据和处理结果等。
52.参见图10,图10是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
53.其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新兴应用模式,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备
健康状态等。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
54.以下基于上述应用环境介绍本技术的一种文本匹配方法,应用于服务器端,本技术实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。请参考图2,图2是本技术实施例提供的一种文本匹配方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,方法可以包括下述步骤。
55.s201:获取目标矩阵结构和待匹配文本的待匹配文本特征。
56.本技术实施例中,目标矩阵结构包括多个具有相同节点数的矩阵层,单层矩阵层中包括多个节点,单个节点对应若干个候选文本。具体的,节点对应目标矩阵结构中的元素,目标矩阵结构包括的矩阵层数为目标矩阵结构的矩阵宽度。示例性的,请参考图3,图3示出了一个目标矩阵结构的结构示意图,图中目标矩阵结构的矩阵长度为k,矩阵宽度为d,共有d层矩阵层,单层矩阵层中包括k个节点,目标矩阵结构包括k*d个节点。具体的,目标矩阵结构的矩阵长度和矩阵宽度可以是预设的。
57.在实际应用中,待匹配文本可以是终端提交的针对文本召回、信息推荐或信息检索等任务的待匹配文本,文本形式可以包括但不限于标题文本、关键词文本或文章文本等,本技术不做具体限定。具体的,候选文本为预存的用于与待匹配文本进行匹配的文本,通常情况下,可以预存大量的候选文本,如几十万个等。在一些情况下,大量的候选文本可以基于类目分类,类目表征候选文本的类别属性,例如表征候选文本的类别属性为科技、人文、购物和娱乐等;每个类目还可以包括多级子类目,例如科技可以包括物理、化学、生物和计算机等一级子类目,计算机还可以包括人工智能、测试和图形界面等下一级子类目;每个候选文本可以具有多个类目标签或多个同级的子类目标签,即同时属于多个类目或多个同级的子类目,例如一个候选文本的类目标签可以同时包括物理、化学和生物等类目标签,或同时包括人工智能和测试等子类目标签。
58.在实际应用中,可以预先固定每个候选文本在目标矩阵结构的各矩阵层中的节点表示,即固定候选文本在目标矩阵结构中对应的节点,目标矩阵结构中的每个节点表征一簇候选文本,即可以代表一个包含若干候选文本的集合,每个节点对应的候选文本的数量为自然数;也就是说,将目标矩阵结构作为候选文本的索引结构。节点表示表征该候选文本与目标矩阵结构中节点间的映射关系。
59.在一些实施例中,每个候选文本在每层矩阵层中均固定有一个对应的节点,即一个节点表示c
i,d
,其中i表征该候选文本的文本标识,d∈[1,d],表征矩阵层的层标识,相应的,候选文本在目标矩阵结构中的候选文本路径表示为c(i)=c
i,1
,

,c
i,d
,对应的候选路径特征embedding(c(i))为[c
i,1
,

,c
i,d
],c(i)表示第i个候选文本的候选文本路径,c
i,1
表示文本在第一层矩阵层上对应的节点,例如可以为图3中的矩阵结构中的第1列第2行的节点

。也就是说,全部用于匹配的候选文本在每层矩阵层中均具有其各自对应的一个节点
表示,映射至一个节点,在每层矩阵层中具有唯一的节点索引。
[0060]
在实际应用中,获取待匹配文本的待匹配文本特征可以包括下述步骤。
[0061]
s2011:获取待匹配文本。
[0062]
s2012:对待匹配文本进行分词处理,得到对应的目标分词序列。
[0063]
s2013:调用预设的预训练模型对目标分词序列进行特征提取,得到待匹配文本特征。
[0064]
具体的,可以采用现有技术的分词方式以字粒度或词粒度对待匹配文本进行分词处理,得到目标分词序列,并将该目标分词序列输入预设的预训练模型,以进行特征提取,得到待匹配文本特征。分词方式可以包括但不限于word2vec等,预训练模型可以包括但不限于bert模型等,本技术在此不做具体限定。
[0065]
s203:针对目标矩阵结构中的各矩阵层,通过目标文本匹配模型对待匹配文本特征进行概率分布预测处理,得到各矩阵层对应的概率分布结果。
[0066]
其中,目标文本匹配模型是以候选文本作为训练样本,根据无监督学习方法对基于目标矩阵结构构建的初始预测模型,进行针对目标矩阵结构的各矩阵层的概率分布预测和候选文本的节点表示更新的迭代训练得到的。
[0067]
本技术实施例中,概率分布结果表征待匹配文本特征针对单个矩阵层中各节点的概率分布。具体的,通过目标文本匹配模型分别预测待匹配文本特征在每层矩阵层上的概率分布,得到各矩阵层各自对应的概率分布结果。
[0068]
在实际应用中,概率分布结果可以包括待匹配文本针对每层矩阵层的概率分布值和概率分布特征。目标文本匹配模型包括多个匹配子模型,匹配子模型与矩阵层一一对应,也就是说,每个矩阵层对应一个匹配子模型,各个匹配子模型间依次连接,如图3中,第1列对应匹配子模型1,第2列对应匹配子模型2,以此类推,第d列对应匹配子模型d,目标文本匹配模型包括d个匹配子模型。匹配子模型1至d沿矩阵宽度方向依次连接,匹配子模型1的输出可以作为匹配子模型2的输入,以此类推。具体的,目标文本匹配模型中各个匹配子模型的结构和模型设置相同。具体的,匹配子模型可以包括但不限于多层感知器mlp等深度模型。
[0069]
在实际应用中,概率分布结果可以包括概率分布值和概率分布特征,相应的,s203可以包括下述步骤。
[0070]
s2031:将待匹配文本特征作为目标矩阵结构的第一层矩阵层对应的匹配子模型的输入,以进行待匹配文本特征的概率分布预测处理,得到第一层矩阵层对应的概率分布值和概率分布特征。
[0071]
具体的,可以沿矩阵宽度对目标矩阵结构的各矩阵层进行标号,如图3中可以沿自左向右的方向将各矩阵层标号为1,2

,d,第一层矩阵层对应图3中的第1列,第二层矩阵层对应图3中的第2列,依次类推。
[0072]
具体的,在获取待匹配文本特征后,将待匹配文本特征输入第一层矩阵层对应的匹配子模型,如匹配子模型1,进行针对第一层矩阵层的概率分布预测处理,得到待匹配文本特征针对第一层矩阵层中每个节点的概率分布值和待匹配文本特征针对第一层矩阵层的概率分布特征。其中,单层矩阵层对应的概率分布特征为基于该层矩阵层中各节点的概率分布值生成的、维数为目标矩阵结构的矩阵长度的概率向量。
[0073]
以图3中的目标矩阵结构为例,每层矩阵层(每列)中包括k个节点,匹配子模型输出待匹配文本针对每层矩阵层中k个节点各自的概率分布值pi(c
dk
),c
dk
代表第d层矩阵层的第k个节点,k∈[1,k],示例性的,pi(c
12
)表征待匹配文本i在第一层矩阵层第2个节点的概率分布值。相应的,待匹配文本i在矩阵层的概率分布特征embedding(p(ck))i为[pi(c
d1
),pi(c
d2
),pi(c
d3
),pi(c
d4
)

,pi(c
dk
)],第一层矩阵层的概率分布特征embedding(p(c1))i为[pi(c
11
),pi(c
12
),pi(c
13
),pi(c
14
)

,pi(c
1k
)]。
[0074]
s2032:将第一层矩阵层对应的概率分布特征与待匹配文本特征进行拼接处理,得到第一拼接特征。
[0075]
具体的,将第一层矩阵层对应的概率分布特征和待匹配文本特征拼接为一个特征,得到第一拼接特征。具体的,相邻矩阵层对应的匹配子模型间相连接,可以通过第一层矩阵层的匹配子模型直接输出第一拼接特征,也可以在相邻矩阵层对应的匹配子模型间构建连接层,通过连接层对前一匹配子模型的输入特征和输出的概率分布特征进行拼接。
[0076]
s2033:以第一拼接特征作为第二层矩阵层对应的匹配子模型的输入,以进行第一拼接特征的概率分布预测处理,得到第二层矩阵层对应的概率分布值和概率分布特征。
[0077]
可以理解的,这里的概率分布预测处理与步骤s2032相类似,在此不做赘述。
[0078]
s2034:重复执行将输入当前层矩阵层对应的匹配子模型的拼接特征,与当前矩阵层对应的匹配子模型输出的概率分布特征进行拼接处理,得到更新的拼接特征,以及以更新的拼接特征作为下一层矩阵层对应的匹配子模型的输入,以进行更新的拼接特征的概率分布预测处理,得到下一层矩阵层对应的概率分布值和概率分布特征的步骤,至得到目标矩阵结构的最后一层矩阵层对应的概率分布值和概率分布特征。
[0079]
具体的,将第二层矩阵层对应的概率分布特征和第一拼接特征进行拼接处理,得到第二拼接特征,即第一拼接特征对应的更新的拼接特征,并将第二拼接特征输入第三层矩阵层对应的匹配子模型,得到第三层矩阵层对应的概率分布值和概率分布特征。依次类推,通过重复的依次执行上述拼接处理和概率分布预测处理的步骤,至得到最后一层矩阵层对应的概率分布值和概率分布特征。
[0080]
具体的,请参考图4,图4示出了基于图3中的目标矩阵结构和对应的目标文本匹配模型对待匹配文本特征embedding(x)的概率分布预测处理过程示意图,通过各匹配子模型的softmax层输出该层的概率分布特征。第一步将待匹配文本特征embeding(x)输入第一层匹配子模型,接softmax层输出概率分布值p(c
1k
),进而可以根据概率分布值高低确定先走第一层矩阵层的哪个节点。走到第r步(r∈[1,d])时,用前r-1步走过的所有节点的embedding(p(c
r-1
))和原始的检索文本特征embeding(x)拼接在一起,接softmax层判断第r步应该走到哪个节点。最终根据输出的目标矩阵结构整体的概率分布值选择top m个路径。这top m个路径经过的节点对应的候选文本即为与原始检索最相似的文本。
[0081]
可以理解的,若目标矩阵结构具有三层矩阵层,则第三层矩阵层对应的概率分布值和概率分布特征为最后一层矩阵层的输出结果。在得到各层矩阵层的概率分布结果后,即得到目标矩阵结构中每个节点的概率分布值和整体概率分布特征。
[0082]
s205:基于概率分布结果分别对各矩阵层中的节点进行节点筛选处理,得到待匹配文本特征在各矩阵层中对应的目标节点。
[0083]
本技术实施例中,基于每层矩阵层的概率分布结果中的概率分布值对每层矩阵层
中的节点进行筛选处理,得到每层矩阵层中与待匹配文本特征对应的目标节点。相应的,请参考图6,s205可以包括下述步骤。
[0084]
s2051:基于各矩阵层对应的概率分布值,分别对各矩阵层各自的节点进行节点概率排序。
[0085]
s2052:基于节点概率排序,分别从各矩阵层各自的节点中筛选出预设数量的节点,得到各矩阵层各自对应的目标节点。
[0086]
可以理解的,概率分布值越大的节点表示该节点与待匹配文本越相似,即该节点对应的候选文本与待匹配文本的相似度越高。相应的,基于任意一层矩阵层对应的节点概率排序,进行对应的节点筛选,具体的,可以筛选出概率分布值最高的预设数量的节点作为该层矩阵层的目标节点。在一些实施例中,预设数量可以为1,即每层矩阵层中概率分布值最高的节点即为目标节点。在另一些实施例中,预设数量可以为多个(m个),例如3个,即每层矩阵层中概率分布值最高的m个节点即为目标节点。
[0087]
s207:将目标节点对应的候选文本确定为与待匹配文本匹配的目标文本。
[0088]
本技术实施例中,目标矩阵结构中的每个节点对应若干个候选文本,在筛选出每层矩阵层中的目标节点后,将各个目标节点所对应的候选文本作为匹配的目标文本。
[0089]
综上,上述技术方案通过引入矩阵结构和基于矩阵结构构建的文本匹配模型进行概率分布预测,来筛选节点和确定匹配文本,无需进行文本间的文本向量相似度计算,有效提高文本匹配的匹配效率和准确率,能够支持大规模海量文本的匹配任务。并且,引入矩阵结构能够支持多种类型的文本匹配模型,针对不同应用场景可以灵活配置模型种类,在文本匹配模型的训练过程中,是进行针对目标矩阵结构的各矩阵层的概率分布预测和候选文本的节点表示更新的迭代训练,同样无需计算文本向量相似度,有效提高模型训练效率。
[0090]
基于上述部分或全部实施方式,本技术实施例中,在得到目标节点后,在s205之后,请参考图7,方法还可以包括下述步骤。
[0091]
s209:基于待匹配文本特征在各矩阵层中对应的目标节点,确定待匹配文本在目标矩阵结构中的待匹配文本路径。
[0092]
s211:获取待匹配文本路径的待匹配路径特征。
[0093]
在实际应用中,与前述的候选文本路径表示和候选路径特征相类似的,在确定待匹配文本特征在各矩阵层中对应的目标节点后,即确定目标节点表示后,能够得到待匹配文本的待匹配文本路径,以及根据各层的目标节点表示能够得到待匹配文本的待匹配文本路径表示和待匹配路径特征。
[0094]
具体的,在预设数量为1,即每层矩阵层中概率分布值最高的节点即为目标节点的情况下,待匹配文本在目标矩阵结构中能够匹配到一条待匹配文本路径,即存在一个待匹配文本路径表示c(t)=c
t,1
,

,c
t,d
,,基于该待匹配文本路径表示能够生成一个维数为矩阵宽度的待匹配路径特征embedding(c(t))为[c
t,1
,

,c
t,d
]。以图3为例,若d为3层,第一层的目标节点为节点

,第二层的目标节点为节点

,第三层的目标节点为节点

,请参考图5,待匹配文本路径表示为c(t)=c
2,1
,c
1,2
,c
5,3
,待匹配路径特征embedding(c(t))为[c
2,1
,c
1,2
,c
5,3
]。
[0095]
具体的,在预设数量为多个(m个),即每层矩阵层中概率分布值最高的m个节点即为目标节点的情况下,可以对各层矩阵层中的目标节点进行组合,得到多条待匹配文本路
径,和相应的多个待匹配文本路径表示及待匹配路径特征。需要说明的是,每条待匹配文本路径在每层矩阵层中只对应一个节点,并遍历各层矩阵层。具体的,可以将得到的目标节点对应的所有路径作为待匹配文本的待匹配文本路径,也可以基于beam search算法,选取概率最高的前h条路径作为待匹配文本路径,h的值可以基于实际需求设定。
[0096]
s213:对待匹配路径特征和目标矩阵结构对应的候选文本的候选路径特征进行相似度处理,得到与待匹配路径特征匹配的候选路径特征。
[0097]
在实际应用中,在得到一个或多个待匹配路径特征后,将该待匹配路径特征作为召回特征,与目标矩阵结构中各节点对应的候选文本的候选路径特征进行相似度处理,将相似度大于等于预设相似度的候选路径特征作为上述匹配的候选路径特征。具体的,这里的相似度处理包括但不限于余弦相似度或欧氏距离等,也可以为向量语义相似度计算等,或者为其它的向量相似度处理方法,本技术在此不做限定。
[0098]
s215:将匹配的候选路径特征对应的候选文本作为待匹配文本的目标召回文本。
[0099]
在一些情况下,将匹配的候选路径特征所表示的候选文本作为目标召回文本。在另一些情况下,可以确定匹配的候选路径特征对应的各候选文本路径,进而确定各候选文本路径在目标矩阵结构中所经过的节点,将所经过的所有节点对应的候选文本作为目标召回文本。
[0100]
综上,以待匹配路径特征作为召回特征,在文本召回任务中,无需计算大量候选文本与待匹配文本间的文本相似度,极大提高文本召回效率,同时有效提高文本召回的精确度和准确率。
[0101]
基于上述部分或全部实施方式,本技术实施例中,在进行文本匹配模型的模型训练之前,需要预先构建目标矩阵结构和对候选文本进行针对目标矩阵结构的节点表示,相应的,在s201之前,方法还可以包括下述步骤。
[0102]
s301:构建具有预设的矩阵长度和矩阵宽度的矩阵,得到目标矩阵结构;预设宽度为目标矩阵结构包括的矩阵层数。
[0103]
具体的,矩阵长度k可以与下述多个候选文本的数量相等,也可以小于候选文本的数量。示例性的,矩阵长度k可以为1000,矩阵宽度d即矩阵层数可以为3-5等。
[0104]
s303:获取多个候选文本。
[0105]
具体的,可以获取预存的所有候选文本作为多个候选文本,也可以随机抽取多个候选文本,在候选文本具有类目标签的情况下,还可以基于类目采样抽取多个候选文本,本技术在此不做限定。
[0106]
s305:初始化多个候选文本在目标矩阵结构的各矩阵层中的节点表示,得到多个候选文本中每个候选文本在各矩阵层中的节点表示。
[0107]
在实际应用中,在每层矩阵层中初始化多个候选文本中每个候选文本的节点表示,即在每层中确定每个候选文本对应的一个节点表示。
[0108]
在实际应用中,s305可以包括:针对目标矩阵结构的每层矩阵层,基于预设分配方式将多个候选文本分配至矩阵层中的各节点,得到多个候选文本中每个候选文本在各矩阵层中的节点表示。如前述的,候选文本在目标矩阵结构中的候选文本路径表示为c(i)=c
i,1
,

,c
i,d
,对应的候选路径特征embedding(c(i))为[c
i,1
,

,c
i,d
]。
[0109]
具体的,预设分配方式可以为上述的随机分配,也可以为基于预设的类目分配方
式。具体的,针对每层矩阵层,可以随机初始化每个候选文本的节点表示,也可以基于文本的类目初始化每个候选文本的节点表示,如将相同类目或相同子类目的候选文本优先分配至同一节点,或分配至相邻的节点。
[0110]
本技术实施例中,在进行文本匹配模型的模型训练之前,还需要预先构建用于迭代训练的初始预测模型,相应的,方法还可以包括下述步骤。
[0111]
s307:构建目标矩阵结构的各矩阵层各自对应的预测子模型。
[0112]
s309:建立各预测子模型间的连接关系,得到初始预测模型。
[0113]
具体的,预测子模型对应于目标文本匹配模型的匹配子模型,预测子模型与矩阵层一一对应,且相邻预测子模型间彼此连接,在完成初始预测模型的迭代训练后,各预测子模型形成匹配子模型,进而构成目标文本匹配模型。
[0114]
基于上述部分或全部实施方式,本技术实施例中,在步骤s203之前,还提供一种目标文本匹配模型的训练方法,具体的,方法可以包括下述步骤。
[0115]
s401:将多个参考候选文本各自的参考文本特征作为初始预测模型的输入,以分别对各参考文本特征进行针对目标矩阵结构的各矩阵层的概率分布预测处理,得到多个参考候选文本中的每个参考候选文本针对各矩阵层的参考概率分布结果。
[0116]
在实际应用中,参考候选文本为从多个候选文本中抽取的文本。在模型训练的过程中,一些情况下,可以利用多个候选文本,即目标矩阵结构对应的全部候选文本作为训练样本,分别作为初始预测模型的输入,相应的,抽取多个候选文本中的全部候选文本作为参考候选文本。另一些情况下,抽取多个候选文本中的部分文本作为参考候选文本,示例性的,可以分别从目标矩阵结构的每个节点中抽取一个或几个候选文本,也可以是从多个候选文本中随机抽取。相应的,在步骤s401之前,还可以包括:从多个候选文本中确定多个参考候选文本;获取多个参考候选文本各自对应的参考文本特征。参考文本特征的获取方式与前述的步骤s2011至s2013相类似,在此不做赘述。
[0117]
在实际应用中,针对每个参考文本特征,s401中初始预测模型的概率分布预测处理与前述步骤s203相类似,具体可以包括下述步骤。
[0118]
s4011:将参考文本特征作为目标矩阵结构的第一层矩阵层对应的预测子模型的输入,以进行参考文本特征的概率分布预测处理,得到第一层矩阵层对应的参考概率分布值和参考概率分布特征。
[0119]
s4012:将第一层矩阵层对应的参考概率分布特征与参考文本特征进行拼接处理,得到参考拼接特征。
[0120]
s4013:以参考拼接特征作为第二层矩阵层对应的预测子模型的输入,以进行参考拼接特征的概率分布预测处理,得到第二层矩阵层对应的参考概率分布值和参考概率分布特征。
[0121]
s4014:重复执行将输入当前层矩阵层对应的预测子模型的参考拼接特征,与当前矩阵层对应的预测子模型输出的参考概率分布特征进行拼接处理,得到更新的参考拼接特征,以及以更新的拼接特征作为下一层矩阵层对应的预测子模型的输入,以进行更新的参考拼接特征的概率分布预测处理,得到下一层矩阵层对应的参考概率分布值和参考概率分布特征的步骤,至得到目标矩阵结构的最后一层矩阵层对应的参考概率分布值和参考概率分布特征。
[0122]
具体的,对每个参考文本特征执行上述步骤s4011至s4014,得到每个参考文本特征针对目标矩阵结构的整体的参考概率分布值。
[0123]
s403:基于每个参考候选文本针对各矩阵层的参考概率分布结果,分别对各矩阵层中的节点进行节点筛选处理,得到每个参考候选文本在各矩阵层中对应的参考节点。
[0124]
在实际应用中,针对每个参考候选文本,s403中的节点筛选处理方式与前述s205中的节点筛选处理方式相类似,在此不再赘述。具体的,针对每个参考候选文本,可以从每层矩阵层中筛选出一个或多个(m个)参考节点。参考节点的m值与前述的目标节点的m值可以相同,也可以不同。示例性的,在m大于1的情况下,可以基于beam search算法进行参考节点的筛选。
[0125]
s405:基于每个参考候选文本针对各矩阵层的参考概率分布结果和每个参考候选文本在各矩阵层中对应的参考节点,利用预设损失函数进行初始预测模型的损失计算处理,得到损失计算结果;预设损失函数为基于各参考文本在所述各矩阵层中的节点表示构建的累加条件概率函数。
[0126]
在实际应用中,预设损失函数包括初始预测模型中的各预测子模型各自对应的损失函数,以及初始预测模型整体的全局损失函数;损失计算结果包括初始预测模型中每个预测子模型的损失,以及初始预测模型的全局损失。相应的,s405可以包括下述步骤。
[0127]
s4051:基于每个参考候选文本针对各矩阵层的参考概率分布结果,分别对初始预测模型中的各预测子模型进行损失计算处理,得到各预测子模型各自的模型损失。
[0128]
具体的,根据每个参考文本特征针对当前矩阵层的参考概率分布值,以及每个参考文本特征针对当前矩阵层之前所有矩阵层的参考概率分布值,利用当前矩阵层对应的预测子模型的损失函数进行损失计算,得到当前矩阵层对应的预测子模型的模型损失。
[0129]
具体的,根据每个参考文本特征针对第一层矩阵层的参考概率分布值,对第一层矩阵层对应的预测子模型进行损失计算;根据每个参考文本特征针对第一层矩阵层和第二层矩阵层的参考概率分布值,对第二层矩阵层对应的预测子模型进行损失计算;依次类推,完成各预测子模型的损失计算。
[0130]
s4052:基于每个参考候选文本针对各矩阵层的参考概率分布结果和每个参考候选文本在各矩阵层中对应的参考节点,对初始预测模型进行全局损失计算处理,得到初始预测模型的全局损失。
[0131]
具体的,针对每个参考候选文本i,可以从每层矩阵层中筛选出概率分布值最高的top m个参考节点,进而能够得到每个参考候选文本i在目标矩阵结构中的q个候选文本路径和对应的候选文本路径表示,例如可以基于beam search算法确定q个候选文本路径和对应的候选文本路径表示。根据每个参考候选文本i的q个候选文本路径表示和q个候选文本路径中的参考节点的概率分布值,利用全局损失函数进行初始预测模型的全局损失计算,得到该全局损失。具体的,在m的值为1的情况下,每个参考候选文本i在目标矩阵结构中存在1个候选文本路径。
[0132]
s407:根据得到的损失计算结果,基于无监督学习方法对初始预测模型进行训练,得到更新的初始预测模型。
[0133]
在实际应用中,对初始预测模型进行训练是指根据模型损失更新每个预测子模型的权重参数,以及根据全局损失更新初始预测模型的全局权重参数。
[0134]
s409:根据每个参考候选文本在各矩阵层中对应的参考节点,更新多个参考候选文本各自在各矩阵层中的节点表示。
[0135]
在实际应用中,在得到每个参考候选文本i在每层矩阵层中的top m个参考节点后,根据参考节点确定每个参考候选文本i在目标矩阵结构中的m个候选文本路径和对应的q个候选文本路径表示。基于q个候选文本路径表示更新每个在各矩阵层中的节点表示。在m的值为1的情况下,每一层中具有一个参考节点,将该参考节点作为参考候选文本i在该层的更新的节点表示,即将参考候选文本i分配至该参考节点上。在m的值大于等于1的情况下,参考候选文本i在每层矩阵层中具有m个更新的节点表示,即参考候选文本i在每层矩阵层中有m种节点更新选择。
[0136]
s411:循环执行上述的概率分布预测处理、节点筛选处理、损失计算处理、初始预测模型的训练和参考候选文本的节点表示更新的步骤,至满足迭代训练收敛条件,得到目标文本匹配模型,并确定目标矩阵结构中各节点各自对应的候选文本。
[0137]
在实际应用中,循环执行上述步骤s401至s409,以进行初始预测模型和参考候选文本的节点表示更新的迭代训练,将满足迭代训练收敛条件的初始预测子模型作为目标文本匹配模型,以及将满足迭代训练收敛条件的迭代轮次中更新的候选文本的节点表示作为最终的结果,以固定各候选文本与目标矩阵结构中节点间的映射关系,确定出目标矩阵结构中各节点各自对应的候选文本。
[0138]
在实际应用中,迭代训练收敛条件可以为迭代次数达到预设次数,或者也可以为相邻迭代轮次得到的模型损失间的差和全局损失间的差满足阈值条件,或者也可以为需更新节点表示的参考候选文本i的数量小于等于一定值,或相邻迭代轮次需更新节点表示的参考候选文本i的数量差小于等于一定值。
[0139]
在一个实施例中,初始预测模型可以包括d个mlp模型(预测子模型),以图3中的目标矩阵结构为例,每个候选文本在每一层矩阵层都有一个节点表示,c(i)表示第i个候选文本的候选文本路径,其中第i个候选文本对应的候选文本路径为:c(i)=c
i,1
,

,c
i,d
,其中,c
i,1
表示候选文本i在第一层上对应的节点。
[0140]
可以理解的,从矩阵的第1列到第d列每一列是一个深度模型mlp,输出每个节点的概率分布值,概率分布值越大的节点表示与输入的候选文本特征对应的候选文本越相似。
[0141]
在模型训练过程中,假设候选文本i的候选文本特征为embedding(x),输入第一层mlp模型,生成k维的概率分布特征embedding(1);第2步将embeddi ng(x)和第1步生成的embedding(1)拼接起来作为第二层mlp模型的输入,输出第二层的k维的概率分布特征embedding(2),后面每一层以此类推。第d层将之前d-1层的所有概率分布特征embedding和embedding(x)拼接起来,作为第d层模型的输入,得到最后一层输出的概率分布值。在一些情况下,最后输出的概率分布值是路径上所有概率分布值的乘积,表达式参考下述公式。
[0142]
其中,x为输入的候选文本特征,这里的θd表征第d层mlp模型的模型权重参数。
[0143][0144]
相应的,预测子模型的损失函数和初始预测模型的全局损失函数如下述公式所示。其中,n为输入初始预测模型的候选文本的数量。
[0145][0146]
在模型训练过程中,每层矩阵层对应mlp模型的输出的概率分布结果维度为k个,为了减少计算复杂度,对输出的概率分布结果只取概率分布值最大的top 1个节点。在一些情况下,为了防止出现过拟合导致某个路径的概率分布值过大,加入正则化参数f(c),来表示每条路径对应的节点总数相应的,预测子模型的损失函数和初始预测模型的全局损失函数如下述公式所示。其中,∑
c∈k*d
f(c)表示所有路径对应的节点总数,α为常数。
[0147][0148]
通过随机初始化模型参数,固定xi,c
i,1
,

,c
i,d
,来优化模型参数θd,实现模型的迭代训练。
[0149]
具体的,可以基于em方法分别优化mlp模型的参数和文本对应的embedding。
[0150]
首先执行e步:随机初始化每个候选文本的路径c(i)。
[0151]
再执行m步:根据损失函数优化每一层预测子模型的模型参数θd和全局模型参数。根据上一次迭代优化的模型,计算第i个文本在第d层概率最高的1个节点为c
id
,最终候选文本i在d层对应的所有节点分别为c
i,1
,

,c
i,d

[0152]
再执行e步:根据上一步重新计算的候选文本路径c(i),重新更新候选文本i在每一层矩阵层中对应的节点表示,得到候选文本i的更新的候选文本路径c(i)


[0153]
c(i)

=c
i,1
,

,c
i,d
[0154]
最终候选文本i的候选路径表示embedding即等于[c
i,1
,

,c
i,d
]。
[0155]
循环m步和e步直至收敛。
[0156]
综上,上述技术方案通过引入矩阵结构和基于矩阵结构构建的文本匹配模型进行概率分布预测,来筛选节点和确定匹配文本,无需进行文本间的文本向量相似度计算,有效提高文本匹配的匹配效率和准确率,能够支持大规模海量文本的匹配任务。并且,引入矩阵结构能够支持多种类型的文本匹配模型,针对不同应用场景可以灵活配置模型种类,在文本匹配模型的训练过程中,是进行针对目标矩阵结构的各矩阵层的概率分布预测和候选文本的节点表示更新的迭代训练,同样无需计算文本向量相似度,有效提高模型训练效率。
[0157]
本技术实施例还提供了一种文本匹配装置800,如图8所示,图8示出了本技术实施例提供的一种文本匹配装置的结构示意图,装置可以包括下述模块。
[0158]
文本特征获取模块10:用于获取目标矩阵结构和待匹配文本的待匹配文本特征。其中,目标矩阵结构包括多个具有相同节点数的矩阵层,单层矩阵层中包括多个节点,单个节点对应若干个候选文本。
[0159]
概率分布预测模块20:用于针对目标矩阵结构中的各矩阵层,通过目标文本匹配模型对待匹配文本特征进行概率分布预测处理,得到各矩阵层对应的概率分布结果。概率分布结果表征待匹配文本特征针对单个矩阵层中各节点的概率分布。
[0160]
目标节点筛选模块30:用于基于概率分布结果分别对各矩阵层中的节点进行节点筛选处理,得到待匹配文本特征在各矩阵层中对应的目标节点。
[0161]
目标文本确定模块40:用于将目标节点对应的候选文本确定为与待匹配文本匹配的目标文本。
[0162]
其中,目标文本匹配模型是以候选文本作为训练样本,根据无监督学习方法对基于目标矩阵结构构建的初始预测模型,进行针对目标矩阵结构的各矩阵层的概率分布预测和候选文本的节点表示更新的迭代训练得到的。
[0163]
在一些实施例中,目标文本匹配模型包括多个匹配子模型,匹配子模型与矩阵层一一对应。概率分布预测模块20包括:
[0164]
第一预测处理单元:用于将待匹配文本特征作为目标矩阵结构的第一层矩阵层对应的匹配子模型的输入,以进行待匹配文本特征的概率分布预测处理,得到第一层矩阵层对应的概率分布值和概率分布特征。
[0165]
拼接处理单元:用于将第一层矩阵层对应的概率分布特征与待匹配文本特征进行拼接处理,得到第一拼接特征。
[0166]
第二预测处理单元:用于以第一拼接特征作为第二层矩阵层对应的匹配子模型的输入,以进行第一拼接特征的概率分布预测处理,得到第二层矩阵层对应的概率分布值和概率分布特征。
[0167]
重复执行单元:用于重复执行将输入当前层矩阵层对应的匹配子模型的拼接特征,与当前矩阵层对应的匹配子模型输出的概率分布特征进行拼接处理,得到更新的拼接特征,以及以更新的拼接特征作为下一层矩阵层对应的匹配子模型的输入,以进行更新的拼接特征的概率分布预测处理,得到下一层矩阵层对应的概率分布值和概率分布特征的步骤,至得到目标矩阵结构的最后一层矩阵层对应的概率分布值和概率分布特征。
[0168]
在一些实施例中,目标节点筛选模块30包括:
[0169]
概率排序单元:用于基于各矩阵层对应的概率分布值,分别对各矩阵层各自的节点进行节点概率排序。
[0170]
节点筛选单元:用于基于节点概率排序,分别从各矩阵层各自的节点中筛选出预设数量的节点,得到各矩阵层各自对应的目标节点。
[0171]
在一些实施例中,装置还包括:
[0172]
矩阵构建模块:用于在获取目标矩阵结构和待匹配文本的待匹配文本特征之前,构建具有预设的矩阵长度和矩阵宽度的矩阵,得到目标矩阵结构。预设宽度为目标矩阵结构包括的矩阵层数。
[0173]
候选文本获取模块:用于获取多个候选文本。
[0174]
节点表示初始化模块:用于初始化多个候选文本在目标矩阵结构的各矩阵层中的节点表示,得到多个候选文本中每个候选文本在各矩阵层中的节点表示。
[0175]
在一些实施例中,节点表示初始化模块可以具体用于:针对目标矩阵结构的每层矩阵层,基于预设分配方式将多个候选文本分配至矩阵层中的各节点,得到多个候选文本中每个候选文本在在各矩阵层中的节点表示。
[0176]
在一些实施例中,装置还包括:
[0177]
预测子模型构建模块:用于构建目标矩阵结构的各矩阵层各自对应的预测子模型。
[0178]
连接关系建立模块:用于建立各预测子模型间的连接关系,得到初始预测模型。
[0179]
在一些实施例中,装置还包括:
[0180]
第三预测处理模块:用于将多个参考候选文本各自的参考文本特征作为初始预测
模型的输入,以分别对各参考文本特征进行针对目标矩阵结构的各矩阵层的概率分布预测处理,得到多个参考候选文本中的每个参考候选文本针对各矩阵层的参考概率分布结果;其中,参考候选文本为从多个候选文本中抽取的文本;
[0181]
参考节点筛选模块:用于基于每个参考候选文本针对各矩阵层的参考概率分布结果,分别对各矩阵层中的节点进行节点筛选处理,得到每个参考候选文本在各矩阵层中对应的参考节点。
[0182]
损失计算模块:用于基于每个参考候选文本针对各矩阵层的参考概率分布结果和每个参考候选文本在各矩阵层中对应的参考节点,利用预设损失函数进行初始预测模型的损失计算处理,得到损失计算结果;预设损失函数为基于各参考文本在所述各矩阵层中的节点表示构建的累加条件概率函数。
[0183]
初始预测模型更新模块:用于根据损失计算结果,基于无监督学习方法对初始预测模型进行训练,得到更新的初始预测模型。
[0184]
节点表示更新模块:用于根据每个参考候选文本在各矩阵层中对应的参考节点,更新多个参考候选文本各自在各矩阵层中的节点表示。
[0185]
迭代训练模块:用于循环执行上述的概率分布预测处理、节点筛选处理、损失计算处理、初始预测模型的训练和参考候选文本的节点表示更新的步骤,至满足迭代训练收敛条件,得到目标文本匹配模型,并确定目标矩阵结构中各节点各自对应的候选文本。
[0186]
在一些实施例中,装置还包括:
[0187]
待匹配文本路径确定模块:用于在将目标节点对应的候选文本确定为与待匹配文本匹配的目标文本之后,基于待匹配文本特征在各矩阵层中对应的目标节点,确定待匹配文本在目标矩阵结构中的待匹配文本路径。
[0188]
待匹配路径特征获取模块:用于获取待匹配文本路径的待匹配路径特征。
[0189]
相似度处理模块:用于对待匹配路径特征和目标矩阵结构对应的候选文本的候选路径特征进行相似度处理,得到与待匹配路径特征匹配的候选路径特征。
[0190]
文本召回模块:用于将匹配的候选路径特征对应的候选文本作为待匹配文本的目标召回文本。
[0191]
在一些实施例中,文本特征获取模块10包括:
[0192]
待匹配文本获取单元:用于获取待匹配文本。
[0193]
分词处理单元:用于对待匹配文本进行分词处理,得到对应的目标分词序列。
[0194]
特征提取单元:用于调用预设的预训练模型对目标分词序列进行特征提取,得到待匹配文本特征。
[0195]
需要说明的是,上述装置实施例与方法实施例基于相同的实施方式。
[0196]
本技术实施例提供了一种文本匹配设备,该识别设备可以为终端或服务器,该文本匹配设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的文本匹配方法。
[0197]
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据
设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
[0198]
本技术实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图9是本技术实施例提供的一种文本匹配方法的电子设备的硬件结构框图。如图9所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)910(处理器910可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如windows server
tm
,mac os x
tm
,unix
tm
,linuxtm,freebsdtm等等。
[0199]
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0200]
本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
[0201]
本技术的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种文本匹配方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的文本匹配方法。
[0202]
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0203]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
[0204]
由上述本技术提供的文本匹配方法、装置、设备、服务器、终端存储介质和程序产品的实施例可见,本技术的技术方案获取目标矩阵结构和待匹配文本的待匹配文本特征;其中,目标矩阵结构包括多个具有相同节点数的矩阵层,单层矩阵层中包括多个节点,单个
节点对应若干个候选文本;并针对目标矩阵结构中的各矩阵层,通过目标文本匹配模型对待匹配文本特征进行概率分布预测处理,得到各矩阵层对应的概率分布结果;其中,概率分布结果表征待匹配文本特征针对单个矩阵层中各节点的概率分布;然后,基于概率分布结果分别对各矩阵层中的节点进行筛选处理,得到待匹配文本特征在各矩阵层中对应的目标节点;进而将目标节点对应的候选文本确定为与待匹配文本匹配的目标文本;通过引入矩阵结构和基于矩阵结构构建的文本匹配模型进行概率分布预测,来筛选节点和确定匹配文本,无需进行文本间的文本向量相似度计算,有效提高文本匹配的匹配效率和准确率,能够支持大规模海量文本的匹配任务。并且,引入矩阵结构能够支持多种类型的文本匹配模型,针对不同应用场景可以灵活配置模型种类,在文本匹配模型的训练过程中,是进行针对目标矩阵结构的各矩阵层的概率分布预测和候选文本的节点表示更新的迭代训练,同样无需计算文本向量相似度,有效提高模型训练效率。
[0205]
需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0206]
本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0207]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0208]
以上仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1