首页> 中国专利> 对象匹配方法、模型训练方法、产品匹配方法和存储介质

对象匹配方法、模型训练方法、产品匹配方法和存储介质

摘要

本申请公开了一种对象匹配方法、模型训练方法、产品匹配方法和存储介质。其中,该方法包括:获取对象搜索请求和目标对象的描述信息;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果。本申请在模型的训练过程中借助对抗训练提升模型对关键词堆叠文本冗余信息的抗干扰能力,而且,在对抗训练的过程中融合了对比学习增强模型对正负样本的区分,提升对象搜索请求和目标对象的描述信息的表征能力,从而可以达到提高语义匹配模型对细微语义的识别能力并提高鲁棒性,进而达到提高模型识别准确率的技术效果,解决了现有技术中语义匹配模型识别准确率较低的技术问题。

著录项

  • 公开/公告号CN114860874A

    专利类型发明专利

  • 公开/公告日2022-08-05

    原文格式PDF

  • 申请/专利权人 阿里巴巴(中国)有限公司;

    申请/专利号CN202210435314.9

  • 发明设计人 陈犇;金林波;蒋文;

    申请日2022-04-24

  • 分类号G06F16/33(2019.01);G06F16/36(2019.01);G06F40/166(2020.01);G06F40/295(2020.01);G06N3/08(2006.01);

  • 代理机构北京博浩百睿知识产权代理有限责任公司 11134;北京博浩百睿知识产权代理有限责任公司 11134;

  • 代理人谢湘宁;李静茹

  • 地址 311121 浙江省杭州市余杭区五常街道文一西路969号3幢5层554室

  • 入库时间 2023-06-19 16:17:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-23

    实质审查的生效 IPC(主分类):G06F16/33 专利申请号:2022104353149 申请日:20220424

    实质审查的生效

  • 2022-08-05

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及语义识别领域,具体而言,涉及一种对象匹配方法、模型训练方法、产品匹配方法和存储介质。

背景技术

语义匹配作为搜索领域的重要部分,可以使得每次用户的搜索结果与用户输入的搜索文本相关,为达到较好的用户搜索体验效果,通常采用基于Transformer(Transformer是一个基于注意力机制的模型)的预训练模型进行语义匹配。

但是,基于Transformer的预训练模型通常是在大规模通用预料上所训练得到的,不能很好的适配考虑细微语义差异的场景,例如,在线购物场景中,用户输入的搜索文本为“300ml健身水杯”的情况下,搜索结果会将各种容积的水杯排列在前,显示给用户,而并不关注水杯的容积是300ml。并且,用户输入的搜索文本通常并非完整的句子,而是关键词的叠加,一些语序的变化,可能会造成模型匹配出错误的结果。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种对象匹配方法、模型训练方法、产品匹配方法和存储介质,以至少解决相关技术中的语义匹配准确率低的技术问题。

根据本申请实施例的一个方面,提供了一种对象匹配方法,包括:获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

根据本申请实施例的另一方面,还提供了一种对象匹配方法,包括:云服务器接收客户端发送的对象搜索请求,其中,对象搜索请求由多个检索关键词叠加生成;云服务器基于对象搜索请求获取目标对象的描述信息;云服务器利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到;云服务器输出目标匹配结果至客户端。

根据本申请实施例的另一方面,还提供了一种产品匹配方法,包括:获取产品搜索请求和目标产品的标题信息,其中,产品搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和标题信息进行语义匹配,得到产品搜索请求与目标产品的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

根据本申请实施例的另一方面,还提供了一种模型训练方法,包括:获取训练样本,其中,训练样本包括:多个关键词叠加生成的搜索请求样本、目标对象的描述样本、以及搜索请求样本和目标对象的预设匹配结果;在训练样本上叠加噪声数据,生成对抗样本;分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃,得到第一匹配模型和第二匹配模型;利用第一匹配模型对训练样本进行处理,得到第一匹配结果,并利用第二匹配模型对对抗样本进行处理,得到第二匹配结果;基于第一匹配结果、第二匹配结果和预设匹配结果对预训练模型进行训练,得到语义匹配模型。

根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中任意一项的对象匹配方法,或产品匹配方法,或模型训练方法。

根据本申请实施例的另一方面,还提供了一种计算机终端,包括:存储器和处理器,处理器用于运行存储器中存储的程序,其中,程序运行时执行上述权利要求中任意一项的对象匹配方法,或产品匹配方法,或模型训练方法。

通过本申请上述实施例提供的方案获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,实现了语义匹配的目的。容易注意到的是,由于语义模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,而对抗样本通过在训练样本上叠加噪声数据生成,因此在模型的训练过程中借助了对抗训练提升模型对关键词堆叠文本冗余信息的抗干扰能力,而且,由于第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到,因此在对抗训练的过程中融合了对比学习增强模型对正负样本的区分,提升对象搜索请求和目标对象的描述信息的表征能力,从而可以达到提高语义匹配模型对细微语义的识别能力并提高鲁棒性,进而达到提高模型识别准确率的技术效果,解决了现有技术中语义匹配模型识别准确率较低的技术问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据现有技术的一种用于对象匹配方法的计算机终端(或移动设备)的硬件结构框图;

图2是根据本申请实施例的一种对象匹配方法的流程图;

图3是根据本申请另一个实施例的一种对象匹配方法的流程图;

图4A是根据本申请实施例中对抗训练的示意图

图4B是根据本申请实施例中对比学习的示意图;

图5是根据本申请实施例2的对象匹配方法的流程图;

图6是根据本申请实施例3的产品匹配方法的流程图;

图7是根据本申请实施例4的模型训练方法的流程图;

图8是根据本申请实施例5的对象匹配装置的结构示意图;

图9是根据本申请实施例6的对象匹配装置的结构示意图;

图10是根据本申请实施例7的产品匹配装置的结构示意图;

图11是根据本申请实施例8的模型训练装置的结构示意图;

图12是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

预训练模型:可以是以Transformer结构为基础的深度语义模型,使用大规模语料、文本自监督的方式进行预训练,能够对文本语义进行准确地建模,然后在下游任务上微调能够获取很好的分类、排序等效果。常见的开源预训练模型有BERT,RoBERT,DeBERT等。

NER:Named Entity Recognition,命名实体识别,是自然语言处理领域的重要基础工具,可以用于识别出文本中包含的实体、属性、功能类实体。如文本“red dress forwedding”,可以识别出red属性,dress主体,wedding用途。

对抗训练:Adversarial Training,在对抗训练的过程中,对每个token的embedding向量增加一定的扰动,用于提高分类器对小的近似最坏情况扰动的鲁棒性。

R-dropout:可以利用dropout两次的输出相似但不一致的特性来进行模型的训练,并没有改变模型。

KL散度:也称为相对熵,可以是一种量化两种概率分布P和Q之间差异的方式,可以用来度量一个分布近似另一个分布时所损失的信息量。

SimCSE:Simple Contrastive Learning of Sentence Embeddings,基于句子嵌入的简单对比学习,是一种简单有效的句向量对比学习方法。

SimCLF:A Simple Framework for Contrastive Learning of VisualRepresentations,视觉表征对比学习的简单框架,是一种监督学习方法。

在相关技术中,需要根据用户输入的文本query和商品的文本信息来确定最终展示给用户的商品排名,其中,商品的文本信息包括如下至少之一:title(标签信息)、keywords(关键词信息)以及用户输入的属性标签。在商品的文本信息为title的情况下,计算query和title的相关性可以通过关键词相关性或深度学习的语义相关性。

基于关键词相关性,通常采用计算query和title的词匹配数量,并确定词的相关性权重,虽然这种相关性匹配精确度较高,但不能处理近义词或错别词的情况,存在适用场景少的技术问题。

基于深度学习的语义相关性,通常将query与title表征成词向量,并通过计算两者的相似度确定最终的展示排名,可以通过如下两种方式确定两者的相似度,其一:分别将query和title表示成词向量,然后计算两者的余弦相似度;其二:将query和title进行切词后,输入到一个网络模型中,让模型自己学习并表征两者相似度程度的分值。但是,上述第一种计算相似度的方法虽然较为直观与简单,但准确率较低,第二种方式依赖于采用的深度模型的预训练模型的性性能,但预训练模型通常是在大规模通用预料上进行训练的,不能很好的适配考虑细微语义差异的场景,并且,query和title并未完整的句子,而是关键词的叠加,一些语义的变化,会导致预训练模型识别错误,此外,预训练模型对query和title中主体、属性、风格、功能等词区分能力较弱,因此,上述相关技术的技术方案存在准确率较低的技术问题。

实施例1

根据本申请实施例,还提供了一种对象匹配方法,或产品匹配方法,或模型训练方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器、云服务器或者类似的运算装置中执行。图1示出了一种用于实现对象匹配方法,或产品匹配方法,或模型训练方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。

存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的对象匹配方法,或产品匹配方法,或模型训练方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对象匹配方法,或产品匹配方法,或模型训练方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。

此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。

在上述运行环境下,本申请提供了如图2所示的对象匹配方法。图2是根据本申请实施例的一种对象匹配方法的流程图。如图2所示,该方法包括如下步骤:

步骤S202,获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成。

其中,上述步骤中的对象可以是用户希望搜索的目标,例如,可以是在线购物场景中的商品,也可以是社交场景中的其他用户等,但不仅限于此。

上述步骤中的对象搜索请求可以是用户意图对任意对象进行搜索所生成的请求,包括多个用于对需要搜索的对象进行描述的检索关键词,也即,对象搜索请求由多个检索关键词叠加生成。上述检索关键词全部可以是用户输入的,也可以是部分是用户输入的,剩余部分由用户在搜索平台中选取。例如,在线购物场景中,当用户意图购买一个防水蓝牙耳机时,用户可以直接输入检索关键词:防水蓝牙耳机,因此,可以生成响应的对象搜索请求“防水蓝牙耳机”。

上述步骤中的目标对象可以是在使用上述对象搜索请求进行搜索时,用户意图搜索到的对象,也可以是搜索平台中提供给用户进行搜索的任意一个对象,但是,该对象可能不是用户意图搜索到的对象。目标对象的描述信息可以是能够通过互联网获得的,对目标对象进行描述的文本,通过与获取到的对象搜索请求进行语义匹配,可以确定目标对象是否为用户意图搜索到的对象。例如,以在线购物场景为例,描述信息可以是商家针对商品所提供的商品的标题信息或商品详情信息;以社交场景为例,描述信息可以是用户针对自己所设定的描述文本或描述标签等,但不仅限于此。

需要说明的是,目标对象的描述信息可以由目标对象的多个属性词叠加生成。

在一个可选实施例中,为了方便用户对某个或某些对象进行搜索,客户端可以向用户提供一个交互操作界面,用户可以在该界面的输入框中输入需要搜索的对象的检索关键词,从而基于上述检索关键词叠加生成对象搜索请求,并发送给后台服务器(例如,云服务器)。后台服务器在接收到对象搜索请求之后,可以将对象搜索请求与数据库中每个目标对象的描述信息进行语义匹配,从而确定与对象搜索请求匹配成功的推送对象,也即,确定用户意图搜索到的对象。

在另一种可选的实施例中,为了方便用户对某个或某些对象进行搜索,移动设备可以向用户提供一个交互操作界面,用户可以在该界面的输入框中输入需要搜索的对象的检索关键词,从而基于上述检索关键词叠加生成对象搜索请求。移动设备在获取到对象搜索请求之后,可以将对象搜索请求与本地存储的每个目标对象的描述信息进行语义匹配,从而确定与对象搜索请求匹配成功的推送对象,也即,确定用户意图搜索到的对象。

例如,以在线购物场景为例进行说明,假设用户需要购买一个水杯,用户输入的对象搜索请求可以是“便携水壶带吸管”,目标对象的描述信息可以是“网红大容量高颜值可爱便携水壶带吸管”、“带茶漏大肚保温高颜值大容量网红2022最新款养生”等,根据对象搜索请求与描述信息进行语义匹配,可以向用户推送语义匹配成功的产品。

例如,以社交场景为例进行说明,假设用户需要在社交平台上搜索符合自己社交需求的其他用户,用户输入的对象搜索请求可以是“考试监督”,目标对象的描述信息可以是“男北京大学生喜欢吃鸡寻找开黑队友”、“上海寻找一起考证的小伙伴互相监督”、“美食做饭烘焙交流”等信息,根据对象搜索请求与描述信息进行语义匹配,可以向用户推送语义匹配成功的其他用户。假设用户需要在雇佣平台上搜索符合自己用工需求的其他用户,用户输入的对象搜索请求可以是“厨师川菜经验丰富有健康证”,目标对象的描述信息可以是“男10年经验擅长川菜所在地重庆”、“女20年工作经验擅长面食煲汤所在西安”等,根据对象搜索请求与描述信息进行语义匹配,可以向用户推送语义匹配成功的雇佣用户。

步骤S204,利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

在现有的语义匹配技术中,预训练模型通常是在大规模通用预料上进行训练的,不能很好的适配考虑细微语义差异的场景,尤其是在用户在搜索对象时,用户所输入的对象搜索请求通常是关键词的叠加,语序相较于句子会发生改变,因此,可能会造成模型匹配出错误的结果。例如,仍以在线购物场景为例进行说明,用户输入的对象搜索请求为“bmxframe and fork”,其中,bmx是BICYCLE MOTOCROSS(自行车越野),会出现“high end bmxbike full chromoly frame and fork customized bmx bicycle”,即“高端bmx自行车全彩色车架和钢叉定制bmx自行车”,即用户想搜索的是适用于自行车越野的自行车车架和钢叉,而检索出的结果是bmx自行车,出现检索结果与用户搜索意图不一致的情况,由此可见,常见的语义模型具有对于细粒度语义匹配、冗余信息的鲁棒性不强的缺点。因此,本申请提出了一种基于对比学习和对抗训练双模式的语义匹配优化方法。

传统的对比学习和对抗训练进行结合的方式,通常需要对模型先进行两次前向计算来实现对抗训练,再对对抗训练的结果分别进行两次前向计算来实现对比学习,导致至少需要四次前向计算。

为了解决上述问题,本申请可以在对抗训练两次前向计算中使用不同的dropout策略,然后基于两个前向损失的KL散度,以及语义匹配准确性来完成训练过程,可以在达到提高语义匹配模型的抗干扰能力的同时,提高模型对正负样本的区别能力。具体训练流程如下:首先采用一个丢弃率对预训练模型中的部分神经元进行丢弃,得到第一匹配模型,然后利用第一匹配模型对训练样本进行处理,从而得到第一匹配结果,然后通过预训练模型进行反向传播生成对抗样本,并采用另一个丢弃率对预训练模型中的部分神经元进行丢弃,得到第二匹配模型,然后利用第二匹配模型对对抗样本进行处理,从而得到第二匹配结果。

上述步骤中的预训练模型可以是基于Transformer的预训练模型,例如,可以是BERT(Bidirectional Encoder Representations from Transformer,基于Transformer的双向编码器)模型,但不仅限于此。

上述步骤中的训练样本可以来源于开源的数据集,也可以来源于互联网,还可以来源于搜索平台提供,但不仅限于此。

在一种可选的实施例中,服务器可以预先通过对抗训练和对比学习双模式的方式训练得到语义匹配模型,从而在接收到客户端发送的对象搜索请求之后,可以依次将数据库中目标对象的描述信息与对象搜索请求进行语义匹配,也即,将对象搜索请求和描述信息输入至语义匹配模型中,该模型的输出结果即为目标匹配结果,其中,如果对象搜索请求和描述信息匹配成功,则输出结果可以是1;如果对象搜索请求和描述信息匹配失败,则输出结果可以是0。

在另一种可选的实施例中,服务器可以预先通过对抗训练和对比学习双模式的方式训练得到语义匹配模型,并部署在客户端中。从而客户端在获取到生成的对象搜索请求之后,可以依次将本地存储的目标对象的描述信息与对象搜索请求进行语义匹配,也即,将对象搜索请求和描述信息输入至语义匹配模型中,该模型的输出结果即为目标匹配结果,其中,如果对象搜索请求和描述信息匹配成功,则输出结果可以是1;如果对象搜索请求和描述信息匹配失败,则输出结果可以是0。

例如,以语义匹配模型部署在服务端为例进行说明,用户可以在移动终端生成对象搜索请求,并将对象搜索请求发送至服务器,对象搜索请求可以是“考试监督”,从而服务器在接收到客户端发送的对象搜索请求之后,可以依次将数据库中目标对象的描述信息与对象搜索请求进行匹配,目标对象的描述信息包括但不限于“男北京大学生喜欢吃鸡寻找开黑队友”、“上海寻找一起学习的小伙伴互相监督”、“美食做饭烘焙交流”,“考试监督”与“男北京大学生喜欢吃鸡寻找开黑队友”匹配失败,输出结果可以为0,从而不会像用户推送此用户,“考试监督”与“上海寻找一起学习的小伙伴互相监督”匹配成功,输出结果可以是1,在将目标对象的描述信息全部一一匹配完成后,向客户端返回输出结果为1的相关用户,并由客户端将上述相关用户推送给客户。

以语义匹配模型部署在客户端为例进行说明,用户可以在移动终端生成对象搜索请求,对象搜索请求可以是“考试监督”,并基于对象搜索请求和目标对象的描述信息进行语义匹配,目标对象的描述信息可以是“男北京大学生喜欢吃鸡寻找开黑队友”、“上海寻找一起学习的小伙伴互相监督”、“美食做饭烘焙交流”,“考试监督”与“男北京大学生喜欢吃鸡寻找开黑队友”,“考试监督”与“男北京大学生喜欢吃鸡寻找开黑队友”匹配失败,输出结果可以为0,从而不会像用户推送此用户,“考试监督”与“上海寻找一起学习的小伙伴互相监督”匹配成功,输出结果可以是1,在将目标对象的描述信息全部一一匹配完成后,确定输出结果为1的相关用户,并由客户端将上述相关用户推送给客户。

通过本申请上述实施例提供的方案获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,实现了语义匹配的目的。容易注意到的是,由于语义模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,而对抗样本通过在训练样本上叠加噪声数据生成,因此在模型的训练过程中借助了对抗训练提升模型对关键词堆叠文本冗余信息的抗干扰能力,而且,由于第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到,因此在对抗训练的过程中融合了对比学习增强模型对正负样本的区分,提升对象搜索请求和目标对象的描述信息的表征能力,从而可以达到提高语义匹配模型对细微语义的识别能力并提高鲁棒性,进而达到提高模型识别准确率的技术效果,解决了现有技术中语义匹配模型识别准确率较低的技术问题。

在本申请上述实施例中,该方法还包括:获取训练样本的预设匹配结果;基于第二匹配结果和预设匹配结果,生成第一损失函数;基于第一匹配结果和第二匹配结果,生成第二损失函数;基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

上述步骤中的训练样本可以包括:对象搜索样本、对象描述样本和预设匹配结果,其中,预设匹配结果可以是预先针对对象搜索样本和对象描述样本的语义匹配结果,由人工标注的标注信息,例如,如果对象搜索样本和对象描述样本语义匹配成功,预设匹配结果可以是1,如果对象搜索样本和对象描述样本语义匹配失败,预设匹配结果可以是0。

在一个可选实施例中,假设在电商场景下,上述训练样本可以来源于电商系统中的历史数据,对象搜索样本可以是历史搜索记录,对象描述样本可以是历史商品信息,预设匹配结果可以是历史匹配结果。

在一个可选实施例中,假设在社交平台中,上述训练样本可以来自于社交平台中的历史检索记录,对象搜索样本可以是用户在该社交平台历史搜索文本,对象描述文本可以是其他用于的历史描述信息,例如,该用户的介绍信息和交友信息等,预设匹配结果可以是历史匹配结果。

为了确保语义匹配模型的语义匹配准确性,可以根据第一匹配结果和预设匹配结果构建损失函数,并未根据第二匹配结果和预设匹配结果构建损失函数。由于对抗样本是在训练样本上叠加噪声数据生成的,因此,在本申请实施例中,仅根据第二匹配结果和预设匹配结果构建的第一损失函数来表示语义匹配准确性。

为了确保语义匹配模型区分正负样本的性能,基于对比学习的原理,可以根据第一匹配结果和第二匹配结果的KL散度来构建第二损失函数。

在一种可选的实施例中,可以将第一损失函数和第二损失函数进行加权和,得到预训练模型的总损失函数,进而将总损失函数与预设阈值进行比较,如果总损失函数大于该预设阈值,则表明此时的预训练模型不满足训练需求,需要继续通过训练样本进行训练;如果总损失函数小于该预设阈值,则表明此时的预训练模型满足训练需求,无需继续训练,从而可以得到训练好的语义匹配模型。

例如,第一损失函数可以是min-logP(y|x+r

其中,r

在本申请上述实施例中,基于第一匹配结果和第二匹配结果,生成第二损失函数包括:获取第一匹配结果和第二匹配结果的相对熵;基于相对熵生成第二损失函数。

具体地,上述第二损失函数可以是基于上述第一匹配结果和第二匹配结果的KL散度所构成的。

在一种可选的实施例中,第二损失函数可以是直接由上述KL散度构成,也可以是在对上述KL散度进行处理后所生成的损失函数。

KL散度可以采用如下公式计算:

其中,x表征输入序列,P(x)可以是x的实际分布,Q(x)可以是x的理论分布。

例如,第二损失函数可以是

第二损失函数约束于:

其中,x是输入序列,y是输出序列,nω、ε是模型计算参数。

需要说明的是,约束任意两个子结构的KL散度都可以限制神经网络参数的自由度,因此,由上上述带约束的损失函数的问题等价于寻求一个能够以最小化各个参数自由度来寻求达到loss(损失)的模型,故而可以防止过拟合,并提高语义匹配模型的鲁棒性。

在一个可选实施例中对抗训练的范式可以使用SimCSE和SimCLR的方式。

在本申请上述实施例中,该方法还包括:获取预训练模型的目标梯度;基于目标梯度生成噪声数据。

上述训练步骤中的预训练模型的目标梯度可以是预训练模型损失函数关于输入的梯度,在确定该目标梯度后,可以根据目标梯度确定使得损失函数最大的扰动,然后根据该扰动生成噪声数据。

在一个可选实施例中,通过如下公式计算目标梯度g:

在本申请上述实施例中,利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果包括:将多个检索关键词和描述信息进行拼接,生成目标文本;利用语义匹配模型对目标文本进行处理,得到目标匹配结果。

在一个可选实施例中,在语义匹配模型对多个检关键词和描述信息进行匹配时,首先需要对多个检索关键字和描述信息进行拼接,生成目标文本,再利用语义匹配模型对目标文本进行处理,得到目标匹配结果。

在本申请上述实施例中,将多个检索关键词和描述信息进行拼接,生成目标文本包括:对多个检索关键词和描述信息进行拼接,得到原始文本;对原始文本目标文本进行分词处理,得到多个字段;对多个字段进行命名实体识别,得到多个字段对应的属性;获取多个字段中属性为预设属性的目标字段;将目标字段进行拼接,得到目标文本。

在一种可选的实施例中,首先对输入的目标文本进行分词处理,得到多个字段,再采用命名实体识别确定上述字段的属性。由于分词处理的局限性,可能会将一个整体的词组划分为多个字段,因此,可以对属性为预设属性的目标字段进行拼接,得到目标文本。

需要说明的是,本申请实施例中可以采用现有的分词技术进行分词处理,本申请对此不作具体限定。也可以通过人工提取的方式确定上述字段的属性。

使用NER提取六中关键属性后,使得模型对主题词、风格、功能等有不同的关注,并将处理后得到的目标文本作为语义匹配模型的一维输入,实现对属性词的关注,进而达到提高匹配精准性的技术效果。

例如,上述预设属性可以包括但不限于材质、功能、用户、规格尺寸、风格和产品核心词,并采用“matr”表征材质,并设置该属性的id为1,“func”表征功能,并设置该属性的id为2,“usg”表征用途并设置该属性的id为3、“spec”表征规格尺寸并设置该属性的id为4、“styl”表征风格“prd_c”表征核心产品词并设置该属性的id为5。假设原始文本为“animage of a fresh watermelon”经过切词处理后,变为“an”、“image”、“of”、“a”、“fresh”、“water”、“##melon”、,并且每个分词具有各自的Token_id,然后,再使用NER对上述分词进行识别,确定其相应的NER属性及相应的NER_id。例如,“image”的NER属性为“prd_c”,、“water”、“##melon”、NER属性也为“prd_c”,则将其合并,得到“watermelon”。并使得Token_id和NER_id对齐,即使得相应的分词的Token_id与分词的NER_id相对应,识别完成后,对于符合预设属性的文本进行拼接,得到目标文本“image watermelon”。

在本申请上述实施例中,目标对象包括至少一个原始对象,目标匹配结果包括至少一个原始对象的匹配结果,该方法还包括:获取至少一个原始对象中匹配结果大于预设结果的原始对象,得到推送对象;输出推送对象。

其中,上述原始对象可以是用户用于检索信息的数据库中所存储的对象,上述匹配结果可以是原始对象与对象检索请求之间的匹配度,上述预设结果可以是原始对象与对象检索请求之间的匹配度阈值,推送对象可以是用于向用户推送并显示的原始对象。基于原始对象相应的匹配度,确定匹配结果,并基于匹配结果确定推送对象,然后,向用户显示推送对象。

在一个优选实施例中,如图3所示,对象搜索请求Query为“waterproof blueboothheadset”,目标对象的描述信息Title为“xiaomi high-quality waterproof Bluetoothheadset”,然后采用NER对Title和Query进行处理后,得到目标文本,图中所示数字“0”用于表征此字段不属于预设属性,数字“1”用于表征对应的字段属于预设属性,响应于字段的属性为预设属性,对字段进行拼接,得到目标文本,图4A中输入训练样本(w

实施例2

本申请提供了如图5所示的对象匹配方法,图5是根据本申请实施例2的对象匹配方法的流程图,包括如下步骤:

步骤S502,云服务器接收客户端发送的对象搜索请求,其中,对象搜索请求由多个检索关键词叠加生成。

步骤S504,云服务器基于对象搜索请求获取目标对象的描述信息。

步骤S506,云服务器利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

步骤S508,云服务器输出目标匹配结果至客户端。

在本申请上述实施例中,该方法还包括:云服务器获取训练样本的预设匹配结果;云服务器基于第二匹配结果和预设匹配结果,生成第一损失函数;云服务器基于第一匹配结果和第二匹配结果,生成第二损失函数;云服务器基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,云服务器基于第一匹配结果和第二匹配结果,生成第二损失函数包括:云服务器获取第一匹配结果和第二匹配结果的相对熵;云服务器基于相对熵生成第二损失函数。

在本申请上述实施例中,该方法还包括:云服务器获取预训练模型的目标梯度;云服务器基于目标梯度生成噪声数据。

在本申请上述实施例中,云服务器将多个检索关键词和描述信息进行拼接,生成目标文本包括:云服务器对多个检索关键词和描述信息进行拼接,得到原始文本;云服务器对原始文本目标文本进行分词处理,得到多个字段;云服务器对多个字段进行命名实体识别,得到多个字段对应的属性;云服务器获取多个字段中属性为预设属性的目标字段;云服务器将目标字段进行拼接,得到目标文本。

在本申请上述实施例中,目标对象包括至少一个原始对象,目标匹配结果包括至少一个原始对象的匹配结果,该方法还包括:云服务器获取至少一个原始对象中匹配结果大于预设结果的原始对象,得到推送对象;云服务器输出推送对象。

实施例3

本申请提供了如图6所示的对象匹配方法,图6是根据本申请实施例3的产品匹配方法的流程图,包括如下步骤:

步骤S602,获取产品搜索请求和目标产品的标题信息,其中,产品搜索请求由多个检索关键词叠加生成。

步骤S604,利用语义匹配模型对多个检索关键词和标题信息进行语义匹配,得到产品搜索请求与目标产品的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

在本申请上述实施例中,该方法还包括:获取训练样本的预设匹配结果;基于第二匹配结果和预设匹配结果,生成第一损失函数;基于第一匹配结果和第二匹配结果,生成第二损失函数;基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,基于第一匹配结果和第二匹配结果,生成第二损失函数包括:获取第一匹配结果和第二匹配结果的相对熵;基于相对熵生成第二损失函数。

在本申请上述实施例中,该方法还包括:获取预训练模型的目标梯度;基于目标梯度生成噪声数据。

在本申请上述实施例中,将多个检索关键词和标题信息进行拼接,生成目标文本包括:对多个检索关键词和描述信息进行拼接,得到原始文本;对原始文本进行分词处理,得到多个字段;对多个字段进行命名实体识别,得到多个字段对应的属性;获取多个字段中属性为预设属性的目标字段;将目标字段进行拼接,得到目标文本。

在本申请上述实施例中,目标产品包括至少一个原始产品,目标匹配结果包括至少一个原始产品的匹配结果,该方法还包括:获取至少一个原始产品中匹配结果大于预设结果的原始产品,得到推送产品;输出推送产品。

实施例4

本申请提供了如图7所示的模型训练方法,图7是根据本申请实施例4的模型训练方法的流程图,包括如下步骤:

步骤S701,获取训练样本,其中,训练样本包括:多个关键词叠加生成的搜索请求样本、目标对象的描述样本、以及搜索请求样本和目标对象的预设匹配结果。

步骤S702,在训练样本上叠加噪声数据,生成对抗样本。

步骤S703,分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃,得到第一匹配模型和第二匹配模型。

步骤S704,利用第一匹配模型对训练样本进行处理,得到第一匹配结果,并利用第二匹配模型对对抗样本进行处理,得到第二匹配结果。

步骤S705,基于第一匹配结果、第二匹配结果和预设匹配结果对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,该方法还包括:获取训练样本的预设匹配结果;基于第二匹配结果和预设匹配结果,生成第一损失函数;基于第一匹配结果和第二匹配结果,生成第二损失函数;基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,基于第一匹配结果和第二匹配结果,生成第二损失函数包括:获取第一匹配结果和第二匹配结果的相对熵;基于相对熵生成第二损失函数。

在本申请上述实施例中,该方法还包括:获取预训练模型的目标梯度;基于目标梯度生成噪声数据。

实施例5

根据本申请实施例,还提供了一种用于实施上述对象匹配方法的对象匹配装置,如图8所示,该装置800包括:第一获取模块802和语义匹配模块804。

其中,第一获取模块802用于获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成。

语义匹配模块804用于利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

此处需要说明的是,上述第一获取模块802和语义匹配模块804对应于实施例1中的步骤S202至步骤S204,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。

在本申请上述实施例中,该装置还包括:第二获取模块,用于获取训练样本的预设匹配结果;第一生成模块,用于基于第二匹配结果和预设匹配结果,生成第一损失函数;第二生成模块,用于基于第一匹配结果和第二匹配结果,生成第二损失函数;训练模块,用于基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,第二生成模块包括:第一获取单元和第一生成单元,其中,第一获取单元用于获取第一匹配结果和第二匹配结果的相对熵;第一生成单元用于基于相对熵生成第二损失函数。

在本申请上述实施例中,该装置还包括第三获取模块和第三生成模块,其中,第三获取模块用于获取预训练模型的目标梯度;第三生成模块用于基于目标梯度生成噪声数据。

在本申请上述实施例中,语义匹配模块802包括第二生成单元和处理单元,其中,第二生成单元用于将多个检索关键词和描述信息进行拼接,生成目标文本;处理单元用于利用语义匹配模型对目标文本进行处理,得到目标匹配结果。

在申请上述实施例中,处理单元包括第一拼接子单元、分词子单元、识别子单元、获取子单元和第二拼接子单元,其中,第一拼接子单元用于对多个检索关键词和描述信息进行拼接,得到原始文本;分词子单元用于对目标文本进行分词处理,得到多个字段;识别子单元用于对多个字段进行命名实体识别,得到多个字段对应的属性;获取子单元用于获取多个字段中属性为预设属性的目标字段;第二拼接子单元用于将目标字段进行拼接,得到目标文本。

在本申请上述实施例中,目标对象包括至少一个原始对象,目标匹配结果包括至少一个原始对象的匹配结果,该装置还包括第四获取模块和输出模块,其中,第四获取模块用于获取至少一个原始对象中匹配结果大于预设结果的原始对象,得到推送对象;输出模块用于输出推送对象。

实施例6

根据本申请实施例,还提供了一种用于实施上述对象匹配方法的对象匹配装置,如图9所示,该装置900包括:接收模块902、第一获取模块904、语义匹配模块906和输出模块908。

其中,接收模块902应用于云服务器接收客户端发送的对象搜索请求,其中,对象搜索请求由多个检索关键词叠加生成。

第一获取模块904用于云服务器基于对象搜索请求获取目标对象的描述信息。

语义匹配模块906用于云服务器利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

输出模块908用于云服务器输出目标匹配结果至客户端。

此处需要说明的是,上述接收模块902、第一获取模块904、语义匹配模块906和输出模块908对应于实施例2中的步骤S502至步骤S508,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。

在本申请上述实施例中,该装置还包括:第二获取模块,用于云服务器获取训练样本的预设匹配结果;第一生成模块,用于云服务器基于第二匹配结果和预设匹配结果,生成第一损失函数;第二生成模块,用于云服务器基于第一匹配结果和第二匹配结果,生成第二损失函数;训练模块,用于云服务器基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,第二生成模块包括:第一获取单元和第一生成单元,其中,第一获取单元用于云服务器获取第一匹配结果和第二匹配结果的相对熵;第一生成单元用于云服务器基于相对熵生成第二损失函数。

在本申请上述实施例中,该装置还包括第三获取模块和第三生成模块,其中,第三获取模块用于云服务器获取预训练模型的目标梯度;第三生成模块用于云服务器基于目标梯度生成噪声数据。

在本申请上述实施例中,语义匹配模块904包括第二生成单元和处理单元,其中,第二生成单元用于云服务器将多个检索关键词和描述信息进行拼接,生成目标文本;处理单元用于云服务器利用语义匹配模型对目标文本进行处理,得到目标匹配结果。

在本申请上述实施例中,处理单元包括第一拼接子单元、分词子单元、识别子单元、获取子单元和第二拼接子单元,其中,第一拼接子单元用于对多个检索关键词和描述信息进行拼接,得到原始文本;分词子单元用于对原始文本进行分词处理,得到多个字段;识别子单元用于对多个字段进行命名实体识别,得到多个字段对应的属性;获取子单元用于获取多个字段中属性为预设属性的目标字段;拼接子单元用于将目标字段进行拼接,得到目标文本。

在本申请上述实施例中,目标对象包括至少一个原始对象,目标匹配结果包括至少一个原始对象的匹配结果,该装置还包括第四获取模块和输出模块,其中,第四获取模块用于获取至少一个原始对象中匹配结果大于预设结果的原始对象,得到推送对象;输出模块用于输出推送对象。

实施例7

根据本申请实施例,还提供了一种用于实施上述产品匹配方法的产品匹配装置,如图10所示,该装置1000包括:第一获取模块1002和语义匹配模块1004。

其中,第一获取模块1002用于获取产品搜索请求和目标产品的标题信息,其中,产品搜索请求由多个检索关键词叠加生成。

语义匹配模块1004用于利用语义匹配模型对多个检索关键词和标题信息进行语义匹配,得到产品搜索请求与目标产品的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

此处需要说明的是,上述第一获取模块1002和语义匹配模块1004对应于实施例3中的步骤S602至步骤604,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端12中。

在本申请上述实施例中,该装置还包括:第二获取模块,用于获取训练样本的预设匹配结果;第一生成模块,用于基于第二匹配结果和预设匹配结果,生成第一损失函数;第二生成模块,用于基于第一匹配结果和第二匹配结果,生成第二损失函数;训练模块,用于基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,第二生成模块包括:第一获取单元和第一生成单元,其中,第一获取单元用于获取第一匹配结果和第二匹配结果的相对熵;第一生成单元用于基于相对熵生成第二损失函数。

在本申请上述实施例中,该装置还包括第三获取模块和第三生成模块,其中,第三获取模块用于获取预训练模型的目标梯度;第三生成模块用于基于目标梯度生成噪声数据。

在本申请上述实施例中,语义匹配模块包括第二生成单元和处理单元,其中,第二生成单元用于将多个检索关键词和标题信息进行拼接,生成目标文本;处理单元用于利用语义匹配模型对目标文本进行处理,得到目标匹配结果。

在申请上述实施例中,处理单元包括第一拼接子单元、分词子单元、识别子单元、获取子单元和第二拼接子单元,其中,第一拼接子单元用于对多个检索关键词和描述信息进行拼接,得到原始文本;分词子单元用于对原始文本进行分词处理,得到多个字段;识别子单元用于对多个字段进行命名实体识别,得到多个字段对应的属性;获取子单元用于获取多个字段中属性为预设属性的目标字段;第二拼接子单元用于将目标字段进行拼接,得到目标文本。

在本申请上述实施例中,目标产品包括至少一个原始产品,目标匹配结果包括至少一个原始产品的匹配结果,该装置还包括第四获取模块和输出模块,其中,第四获取模块用于获取至少一个原始产品中匹配结果大于预设结果的原始产品,得到推送产品;输出模块用于输出推送产品。

实施例8

根据本申请实施例,还提供了一种用于实施上述模型训练方法的模型训练装置,如图11所示,该装置1100包括:第一获取模块1101、叠加模块1102、丢弃模块1103、处理模块1104和训练模块1105。

其中,第一获取模块1101用于获取训练样本,其中,训练样本包括:多个关键词叠加生成的搜索请求样本、目标对象的描述样本、以及搜索请求样本和目标对象的预设匹配结果。

叠加模块1102,用于在训练样本上叠加噪声数据,生成对抗样本。

丢弃模块1103,用于分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃,得到第一匹配模型和第二匹配模型。

处理模块1104,用于利用第一匹配模型对训练样本进行处理,得到第一匹配结果,并利用第二匹配模型对对抗样本进行处理,得到第二匹配结果。

训练模块1105,用于基于第一匹配结果、第二匹配结果和预设匹配结果对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,该装置还包括:第一获取模块,用于获取训练样本的预设匹配结果;第一生成模块,用于基于第二匹配结果和预设匹配结果,生成第一损失函数;第二生成模块,用于基于第一匹配结果和第二匹配结果,生成第二损失函数;训练模块,用于基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。

在本申请上述实施例中,第二生成模块包括:第一获取单元和第一生成单元,其中,第一获取单元用于获取第一匹配结果和第二匹配结果的相对熵;第一生成单元用于基于相对熵生成第二损失函数。

此处需要说明的是,上述第一获取模块1101、叠加模块1102、丢弃模块1103、处理模块1104和训练模块1105对应于实施例4中的步骤S701至步骤705,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。

实施例9

本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。在本申请上述实施例中,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

在本申请上述实施例中,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行对象匹配方法中以下步骤的程序代码:获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。在本申请上述实施例中,图12是根据本申请实施例的一种计算机终端的结构框图。如图12所示,该计算机终端1200可以包括:一个或多个(图中仅示出一个)处理器122、存储器124。

其中,存储器124可用于存储软件程序以及模块,如本申请实施例中的对象匹配方法和装置对应的程序指令/模块,处理器122通过运行存储在存储器124内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对象匹配方法。存储器124可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器124可进一步包括相对于处理器122远程设置的存储器,这些远程存储器可以通过网络连接至终端1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器122可以通过传输装置调用存储器124存储的信息及应用程序,以执行下述步骤:获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

可选的,上述处理器还可以执行如下步骤的程序代码:基于第二匹配结果和预设匹配结果,生成第一损失函数;基于第一匹配结果和第二匹配结果,生成第二损失函数;基于第一损失函数和第二损失函数,对预训练模型进行训练,得到语义匹配模型。可选的,上述处理器还可以执行如下步骤的程序代码:基于第一匹配结果和第二匹配结果,生成第二损失函数包括:获取第一匹配结果和第二匹配结果的相对熵;基于相对熵生成第二损失函数。

可选的,上述处理器还可以执行如下步骤的程序代码:获取预训练模型的目标梯度;基于目标梯度生成噪声数据。

可选的,上述处理器还可以执行如下步骤的程序代码:利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果包括:将多个检索关键词和描述信息进行拼接,生成目标文本;利用语义匹配模型对目标文本进行处理,得到目标匹配结果。

可选的,上述处理器还可以执行如下步骤的程序代码:对多个检索关键词和描述信息进行拼接,得到原始文本;对原始文本进行分词处理,得到多个字段;对多个字段进行命名实体识别,得到多个字段对应的属性;获取多个字段中属性为预设属性的目标字段;将目标字段进行拼接,得到目标文本。

可选的,上述处理器还可以执行如下步骤的程序代码:目标对象包括至少一个原始对象,目标匹配结果包括至少一个原始对象的匹配结果,方法还包括:获取至少一个原始对象中匹配结果大于预设结果的原始对象,得到推送对象;输出推送对象。

本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端12还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

实施例11

本申请的实施例还提供了一种存储介质。在本申请上述实施例中,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的对象匹配方法所执行的程序代码。

在本申请上述实施例中,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

在本申请上述实施例中,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取对象搜索请求和目标对象的描述信息,其中,对象搜索请求由多个检索关键词叠加生成;利用语义匹配模型对多个检索关键词和描述信息进行语义匹配,得到对象搜索请求与目标对象的目标匹配结果,其中,语义匹配模型通过训练样本的第一匹配结果和对抗样本的第二匹配结果对预训练模型进行训练得到,对抗样本通过在训练样本上叠加噪声数据生成,第一匹配结果通过第一匹配模型对训练样本进行处理所得到,第二匹配结果通过第二匹配模型对对抗样本进行处理所得到,第一匹配模型和第二匹配模型分别采用两个不同的丢弃率对预训练模型中的部分神经元进行丢弃所得到。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号