[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN116523024A - 召回模型的训练方法、装置、设备及存储介质 - Google Patents

召回模型的训练方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116523024A
CN116523024A CN202310804526.4A CN202310804526A CN116523024A CN 116523024 A CN116523024 A CN 116523024A CN 202310804526 A CN202310804526 A CN 202310804526A CN 116523024 A CN116523024 A CN 116523024A
Authority
CN
China
Prior art keywords
query
information
query result
result
results
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310804526.4A
Other languages
English (en)
Other versions
CN116523024B (zh
Inventor
姚丽丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310804526.4A priority Critical patent/CN116523024B/zh
Publication of CN116523024A publication Critical patent/CN116523024A/zh
Application granted granted Critical
Publication of CN116523024B publication Critical patent/CN116523024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种召回模型的训练方法、装置、设备及存储介质,属于人工智能技术领域。方法包括:获取查询信息,以及查询信息对应的至少一个正例查询结果;采用第一特征提取网络,提取查询信息的特征向量;根据查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从各个候选的查询结果中选择与查询信息具有相似性的k个查询结果;从k个查询结果中,选择至少一个查询结果作为查询信息对应的负例查询结果;基于查询信息对应的正例查询结果和负例查询结果,对召回模型的参数进行调整,得到训练后的召回模型。通过这种方法实现了与查询信息具有重叠的困难负例查询结果的自动确定,有助于提升获取困难负例查询结果的效率。

Description

召回模型的训练方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,特别涉及一种召回模型的训练方法、装置、设备及存储介质。
背景技术
召回模型是一种在搜索召回领域广泛使机器学习模型,它能够从海量的查询结果中查找到与查询信息相匹配的至少一个查询结果。
相关技术中,在召回模型的训练过程需要使用与查询信息匹配的正例查询结果和与查询信息不匹配的负例查询结果;负例查询结果包括一类困难负例查询结果,困难负例查询结果与查询信息之间存在重叠,但是困难负例查询结果的内容并不满足查询信息,相比于简单负例查询结果可以直接根据点击次数等确定的要求直接生成,这类困难负例查询信息往往需要人工从海量候选的查询结果中标注得到。
然而这种方法获取困难负例查询结果的效率较低,困难负例查询结果的数量有限,使得召回模型的训练效果受限。
发明内容
本申请提供了一种召回模型的训练方法、装置、设备及存储介质。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种召回模型的训练方法,所述召回模型包括第一特征提取网络和第二特征提取网络;所述方法包括:
获取查询信息,以及所述查询信息对应的至少一个正例查询结果,所述正例查询结果是指与所述查询信息相匹配的查询结果;
采用所述第一特征提取网络,提取所述查询信息的特征向量;
根据所述查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从所述各个候选的查询结果中选择与所述查询信息具有相似性的k个查询结果;其中,所述候选的查询结果对应的特征向量是采用所述第二特征提取网络得到的,k为正整数;
从所述k个查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,所述负例查询结果是指与所述查询信息不匹配的查询结果;
基于所述查询信息对应的正例查询结果和负例查询结果,对所述召回模型的参数进行调整,得到训练后的召回模型。
根据本申请实施例的一个方面,提供了一种召回模型的训练装置,所述召回模型包括第一特征提取网络和第二特征提取网络;所述装置包括:
正例获取模块,用于获取查询信息,以及所述查询信息对应的至少一个正例查询结果,所述正例查询结果是指与所述查询信息相匹配的查询结果;
特征提取模块,用于采用所述第一特征提取网络,提取所述查询信息的特征向量;
结果确定模块,用于根据所述查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从所述各个候选的查询结果中选择与所述查询信息具有相似性的k个查询结果;其中,所述候选的查询结果对应的特征向量是采用所述第二特征提取网络得到的,k为正整数;
负例获取模块,用于从所述k个查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,所述负例查询结果是指与所述查询信息不匹配的查询结果;
模型训练模块,用于基于所述查询信息对应的正例查询结果和负例查询结果,对所述召回模型的参数进行调整,得到训练后的召回模型。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如上所述的召回模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上所述的召回模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现如上所述的召回模型的训练方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在召回模型的训练过程中,根据查询信息的特征向量与候选的查询结果的特征向量之间的相似性,确定查询信息对应的至少一个困难负例查询结果,相比于相关技术中,需要人工标注查询信息对应的困难负例查询结果,提升了困难负例查询结果的确定效率。有助于为召回模型的训练过程提供了更多的困难负例查询结果,从而帮助召回模型学习查询信息与负例查询结果之间差异,有助于提升召回模型对困难负例查询结果的辨识能力,有助于提升训练后的召回模型的召回准确度。
附图说明
图1是本申请一个示例性实施例提供的方案实施环境的示意图;
图2是本申请一个示例性实施例提供的召回模型的训练方法的流程图;
图3是本申请一个示例性实施例提供的搜索栏的示意图;
图4是本申请一个示例性实施例提供的查询结果选择的示意图;
图5是本申请一个示例性实施例提供的查询信息对应的查询结果的确定方法的示意图;
图6是本申请一个示例性实施例提供的召回模型的训练装置的框图;
图7是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language Processing,NLP):是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
基于Transformers的双向编码器表示(Bidirectional Encoder Representationfrom Transformers,BERT):是基于NLP的预训练技术,能够将输入的查询信息表示成一个具备上下文信息的特征向量,更好地用于下游任务的计算。BERT通常由多层transformer结构叠加组成,通过交叉注意力(cross attention)机制能够感知到上下文信息。
计算机视觉技术(Computer Vision,CV):是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频内容/行为识别、虚拟现实、增强现实等技术。
机器学习(Machine Learning,ML):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
向量召回:是指根据查询信息的特征向量,召回与查询信息的特征向量具有相似性的查询结果的过程。以搜索引擎中进行的向量召回为例:搜索引擎会提前确定并存储全部可显示的查询结果分别对应的特征向量,以便在用户在搜索框中输入查询信息,能快速计算查询信息的特征向量,并返回与该查询信息最相近的前Y个查询结果,Y为正整数。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如在向量召回领域,通过机器学习模型对查询信息和海量的现有查询结果之间的相似性进行衡量,找到与查询信息较为相似的查询结果,提升向量召回的召回效果。人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
正例查询结果:是指与查询信息向匹配的查询结果。通过可以根据某个查询信息对应的至少一个查询结果分别对应的点击情况确定。
简单负例:是指查询信息与查询结果完全不匹配,假设一个召回模型的训练轮次(batch)内包含n条训练样本,即<q1,t1>,<q2,t2>,…,<qn,tn>。由于每个查询信息与其他查询信息对应的正例查询结果不匹配,也即,其他查询信息对应的正例查询结果,可以作为该查询信息的负例查询结果,基于此可以构造出该查询信息对应的n-1个负例查询结果,例如对于查询信息q1,q1对应一个正例查询结果t1,对应n-1个负例查询结果:t2,t3,…,tn;其他查询信息对应的简单负例查询结果也可以通过这种方式得到,上述n-1个负例查询结果即为简单负例查询结果,简称“简单负例”。
召回准确度:用于表征召回模型根据查询信息确定出的查询结果,与查询信息之间的匹配程度。召回准确度也可以称为召回准确性。可选地,召回准确度可以根据用户对历史查询信息对应的多个历史查询结果的点击情况确定,若历史查询信息相似度较高的历史查询结果的点击次数较少;或者,用户在搜索栏中输入第一查询信息之后,短时间内在搜索栏中输入了与第一查询信息相似的第二查询信息,则说明第一查询信息对应的历史查询结果与第一查询信息的匹配程度较低。若在单位时间内,服务器统计确定出现历史查询结果的点击次数较少、大量用户出现短时间输入第一查询信息、第二查询信息的情况,则说明召回模型的召回准确度不佳,可能需要提升召回模型的召回准确度。
图1是本申请一个示例性实施例提供的方案实施环境的示意图。该方案实施环境可以包括:计算机设备10、终端设备20和服务器30。
计算机设备10包括但不限于个人计算机(Personal Computer,PC)、平板电脑、手机、可穿戴设备、智能家电、车载终端等具有运算和存储能力的电子设备。在一些实施例中,计算机设备用于对召回模型进行训练,得到训练后的召回模型。示例性地,召回模型至少包括以下两部分:第一特征提取网络和第二特征提取网络。在召回模型的训练过程中,第一特征提取网络用于对查询信息进行特征提取,生成查询信息的特征向量;第二特征提取网络用于对查询结果进行特征提取,得到生成查询结果的特征向量。
本方法中,召回模型的训练过程使用的负例样本对(负例样本对中包括一个查询信息以及该查询信息对应的负例样本)是训练过程中实时生成的,计算机设备10对召回模型进行至少一个轮次的训练,直到某个训练轮次后,召回模型的损失函数值趋于收敛,计算机设备10停止对召回模型进行训练,得到训练后的召回模型,有关召回模型训练过程的具体步骤请参考下文实施例。
终端设备20可以是诸如个人计算机、平板电脑、手机、可穿戴设备、智能家电、车载终端等电子设备。终端设备20上运行有目标应用程序的客户端。目标应用程序搜索召回功能(可以理解成查询功能)。搜索召回功能,用于获取用户输入的查询信息,并向用户反馈与查询信息对应的查询结果。例如,目标应用程序用于提供文章的搜索召回功能,目标应用程序用于根据查询信息,确定查询信息对应的文章,在确定搜索召回过程中需要使用上文计算机设备10得到的训练后的召回模型。训练后的召回模型用于确定与查询信息相似的至少一个查询结果。
此外,目标应用程序还可以是新闻类应用程序、购物类应用程序、社交类应用程序、互动娱乐类应用程序、浏览器应用程序、内容分享类应用程序、虚拟现实应用程序、增强现实类应用程序等,本申请实施例对此不作限定。另外,对于不同的应用程序来说,其处理的查询信息、查询结果的类型可以不同,且相应的功能也会有所不同,这都可以根据实际需求预先进行配置,本申请实施例对此不作限定。
服务器30用于为终端设备20中的目标应用程序的客户端提供后台服务。例如,服务器30可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务内容分发网络、(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。服务器30至少具有数据接收功能和计算功能。可选地,计算机设备10搭载在服务器30中,或者,计算机设备10为不同于服务器30的其他设备。
在一个示例中,计算机设备10将训练后的召回模型发送给服务器30,终端设备20向服务器30发送查询信息,服务器30基于训练后的召回模型根据查询信息,确定查询信息对应的查询结果。服务器30将查询信息对应的查询结果反馈给终端设备20。
图2是本申请一个示例性实施例提供的召回模型的训练方法的流程图。召回模型包括第一特征提取网络和第二特征提取网络;示例性地,该方法的执行主体可以是图1中的计算机设备10,下面将计算机设备作为执行主体,对召回模型的训练方法进行介绍说明。如图2所示,该方法可以包括如下几个步骤(210~250):
步骤210,获取查询信息,以及查询信息对应的至少一个正例查询结果,正例查询结果是指与查询信息相匹配的查询结果。
在一些实施例中,查询信息是指待查询内容。查询信息用于承载用户的搜索意图,查询信息可以理解成来自用户的提问。以搜索引擎对应的召回信息为例,查询信息是指用户输入到搜索引擎中的搜索栏中的信息,例如,搜索栏中的文字信息,或者向用户在信息输入界面中上传或者拍摄的图片等。
图3是本申请一个示例性实施例提供的搜索栏的示意图。图3中的搜索栏310能够接收用户输入的查询信息。
可选地,查询信息的形式包括以下至少之一:文本,图片,音频;其中,文本形式的查询信息通过语义表征用户的查询搜索目的,音频形式的查询信息包括用于表示查询搜索目的的语音。
在一些实施例中,查询结果是指基于查询信息进行搜索查询得到的结果。查询结果的形式包括以下至少之一:文本、图片、音频、视频等。查询结果的形式根据实际目标应用程序的功能进行设定,本申请在此不进行限定。在一些实施例中,查询结果的类型包括但不限于:文章、网页、视频、音频、商品页面、应用程序、社群等。可选地,目标应用程序支持在设定查询结果的类型。示例性地,目标应用程序的用户界面中包括查询结果类型选择选项。
图4是本申请一个示例性实施例提供的查询结果选择的示意图。图4中的文章选项420能够筛选查询结果的类型。
在查询结果为文字形式的情况下,查询结果对应有网页内容、文章等。可选地,查询结果为文章、网页内容中的关键信息。示例性地,以文章为例,关键信息的类型包括以下至少之一:文章标题(title)、文章中各个章节标题集合、文章的关键位置;其中,文章的关键位置包括:文章开头的段落、文章结尾的段落等。
将关键位置作为查询结果,减少了查询结果的数据量,有助于在召回模型的训练过程中,降低对查询结果的处理难度,有助于提升确定查询信息与海量的可选查询结果之间的相似度的速度,降低搜索召回过程的计算压力,提升召回速度。
与查询信息相匹配的查询结果是指查询结果的内容与查询信息的意图相关,与查询信息相匹配的查询结果可以理解成:查询结果能够解决查询信息的提问。可选地,查询信息对应的正例查询结果与查询信息之间的相似性较高。查询信息对应的正例查询结果之间相似性的度量指标包括但不限于以下至少之一:两者分别对应的特征向量之间的内积,空间分布中两者之间的距离。
在一些实施例中,在召回模型的训练过程中,通过查询信息和查询结果,构成训练数据,也即训练数据包括查询信息和查询信息对应的查询结果。可选地,召回模型训练过程中使用的训练数据属于二元组数据(Pairwise)。例如,对于查询信息(query),查询信息对应的查询结果(title),训练数据可以表示成为<query,title >。
可选地,训练数据分为正例训练数据和负例训练数据两类;其中,正例训练数据包括查询信息以及查询信息对应的正例查询结果,负例训练数据包括查询信息以及查询信息对应的负例查询结果,负例查询结果是指与查询信息不匹配的查询结果,有关负例查询结果的具体内容,请参考下文实施例。
对于某个查询信息,该查询信息对应的正例查询结果,与该查询信息对应的负例查询结果相比,正例查询结果与查询信息之间的相似性,高于,负例查询结果与查询信息之间的相似性。也即,正例查询结果与查询信息之间的匹配程度更好,负例查询结果与查询信息之间的匹配程度较差,或者,负例查询结果与查询信息不匹配。
在一些实施例中,对于本申请提供的召回模型的训练过程,查询信息对应的正例查询结果可以在召回模型训练开始之前预先成的,查询信息对应的负例查询结果可以在召回模型的训练过程中动态生成。可选地,不同训练轮次中,同一个查询信息对应不同的负例查询结果不完全相同。
负例查询结果的确定方法请参考下文实施例,下面先对正例查询结果的确定方法进行初步说明。
在一些实施例中,召回模型的训练过程所使用的查询信息是历史查询信息。历史查询信息可以理解成过去一段时间内目标应用程序的用户提出的查询信息。
可选地,在用户通过客户端向服务器发送历史查询信息之后,服务器获取历史查询信息,并根据历史查询信息进行搜索召回,得到历史查询信息对应的查询结果;服务器将从上述历史查询信息对应的历史查询结果返回给终端设备。
例如,服务器根据历史查询信息确定该历史查询信息对应的至少一个历史查询结果,服务器向终端设备反馈该历史查询信息对应的曝光列表,并根据曝光列表中至少一个历史查询结果的点击情况,生成点击日志;计算机设备根据历史查询信息、曝光列表和点击日志,确定在将至少一个历史查询信息作为训练过程使用的查询信息,以及,该查询信息对应的至少一个正例查询结果。
需要说明的是,服务器使用点击日志统计至少一个目标用户对历史查询结果的点击次数,点击日志中不包括目标用户信息。本申请使用的训练数据均是根据数据安全规定,在征得目标用户同意之后才进行收集、计数的。
示例性地,计算机设备根据单位时间内服务器接收到某一历史查询信息的频率,确定是否将该历史查询信息作为召回模型训练过程中使用的查询信息。若某一历史查询信息的出现频率高于频率阈值,则计算机设备将该历史查询信息作为召回模型训练过程中使用的查询信息;若该一历史查询信息的出现频率底低于频率阈值,则不选择该历史查询信息作为召回模型训练过程中使用的查询信息。例如频率阈值为每天出现100次,频率阈值根据实际需要进行设定。
在一些实施例中,曝光列表是指:响应于用户进行搜索查询行为,服务器向终端设备返回的结果展示列表,结果展示列表中包括至少一个历史查询信息对应的查询结果;点击日志用于记录同一个历史查询信息下,目标用户对至少一个历史查询结果的点击情况,该目标用户是指提出同一历史查询信息的用户。
可选地,点击情况通过以下至少之一表征:点击次数、点击率、点击频率;其中,点击次数是指至少一个目标用户对同一个历史查询结果的点击总数;点击率是指至少一个目标用户对某个历史查询结果的点击总数与历史查询信息对应的全部历史查询结果的点击总数之间的比例,点击频率用于表征同一个历史查询结果在相邻两次点击之间的最小时间间隔或者平均时间间隔。对于某一个历史查询数据,计算机设备将击情况大于或者等于第一阈值的历史查询结果,作为该历史查询数据的正例查询结果,第一阈值为正整数,第一阈值的取值根据实际结果确定,本申请在此不进行限定。
在一些实施例中,查询信息对应多个正例查询结果,每一个正例查询结果与查询信息均可组成一个正例训练数据。例如,查询信息q1对应正例查询结果t1、t2、和t3,则包括该查询信息q1的正例训练数据包括<q1,t1>、<q1,t2>和< q1,t3>,查询信息q2对应正例查询结果t4、t5,则包括该查询信息q2的正例训练数据包括<q2,t4>和<q2,t5>,q1与q2不同。
在一些实施例中,召回模型属于双塔模型,第一特征提取网络用于对查询信息进行特征提取、第二特征提取网络分别用于对查询结果进行特征提取。可选地,第一特征提取网络和第二特征提取网络的网络结构相似,第一特征提取网络和第二特征提取网络的网络参数不同。
示例性地,第一特征提取网络和第二特征提取网络均为基于注意力机制设计的BERT网络、Transformer网络。
可选地,在进行本申请提供的召回模型的训练方法之前,召回模型为目标应用程序中正在使用的召回模型,召回模型中的第一特征提取网络和第二特征提取网络具有进行特征提取的能力,本方法中对召回模型进行训练的目的是对上一个版本的召回模型进行优化,以期望提升召回模型的召回准确率。
步骤220,采用第一特征提取网络,提取查询信息的特征向量。
下面以文字形式的查询信息为例,对查询信息的特征向量的确定过程进行介绍说明。可选地,对于文字形式的查询信息,查询信息的特征向量用于表征查询信息的语义特征。
在一些实施例中,计算机设备采用第一特征提取网络,提取查询信息的特征向量,包括:对查询信息进行分词处理得到至少一个分词单元;根据至少一个分词单元分别对应的嵌入表征,生成查询信息的嵌入表征;将查询信息的嵌入表征输入第一特征提取网络;通过第一特征提取网络对查询信息的嵌入表征进行特征提取,将第一特征提取网络的最后一个网络层的第一个向量,作为查询信息的特征向量。
分词单元是指具有查询信息中具有独立语义的单元。分词单元包括至少一个字符,如分词单元为一个字,或者分词单元是一个词。可选地,计算机设备可以使用现有的分词工具确定查询信息包括分词单元。示例性地,分词工具可以是基于词向量(wordembeddings,word2vec)设计的。
在一些实施例中,分词单元对应的嵌入表征是指用于表征分词单元的嵌入向量。分词单元对应的嵌入表征可以是预设定的,也可以通过机器学习模型对分词单元进行处理得到,分词单元对应的嵌入表征可以使用现有技术中的任一种嵌入表征的生成方法获取,本申请在此不进行设定。
在一些实施例中,计算机设备根据至少一个分词单元分别对应的嵌入表征,生成查询信息的嵌入表征,包括:计算机设备根据至少一个分词单元在查询信息中的排列顺序,对至少一个分词单元分别对应的嵌入表征进行排列,得到嵌入表征序列;计算机设备将分类表征放置于嵌入表征序列之前,得到查询信息的嵌入表征;其中,分类表征用于聚集各个嵌入表征。在第一特征提取网络层中的不同网络层中,分类表征的具体数值会发生变化。
可选地,查询信息的特征向量是指第一特征提取网络中最后一个网络层中的分类表征,分类表征为向量形式,可以使用CLS[]表示。
在召回模型的训练过程包括至少一个训练轮次,对于至少一个训练轮次中的任一个训练轮次,计算机设备进行步骤210获取到的K个查询信息,以及K个查询信息分别对应的至少一个正例查询结果;计算机设备使用步骤220中的方法分别计算K个查询信息对应的特征向量,以便找到K个查询信息分别对应的负例查询结果。
可选地,在不同轮次中,计算机设备选择的K个查询信息不完全相同。例如,K=3,第x个训练轮次中,计算机设备选择查询信息1、查询信息2和查询信息3;在第x+1个训练轮次中,计算机设备选择查询信息1、查询信息5和查询信息6。示例性地,在每一个训练轮次中,计算机设备从多个查询信息中,随机选择K个查询信息,将该K个查询信息和各个查询信息分别对应的查询结果(查询结果包括正例查询结果和负例查询结果)作为该训练轮次中使用的训练数据。
步骤230,根据查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从各个候选的查询结果中选择与查询信息具有相似性的k个查询结果;其中,候选的查询结果对应的特征向量是采用第二特征提取网络得到的,k为正整数。
在一些实施例中,候选的查询结果对应的特征向量称为候选的查询结果的特征向量,候选的查询结果的特征向量用于表征候选的查询结果的内容特征。例如,对于文字形式的候选查询结果,候选的查询结果的特征向量用于表征候选的查询结果的语义特征。
可续地,查询信息的特征向量的维度,与候选的查询结果的特征向量的维度相同,也即查询信息、候选的查询结果通过召回模型映射在同一向量空间中。
候选的查询结果包括历史查询结果。可选地,目标应用程序的搜索召回功能对应查询结果库,查询结果库中包括至少一个查询结果,候选的查询结果属于该查询结果库,查询结果库中包括的查询结果可以更新或者删除,以便适应目标应用程序的搜索召回场景变化。
可选地,至少一个候选的查询结果分别对应的特征向量在召回模型的训练过程开始之前预生成。在确定至少一个候选的查询结果分别对应的特征向量之后,计算机设备存储至少一个候选的查询结果的特征向量。用于存储至少一个候选的查询结果的特征向量的存储空间可以称为语料库(coupus)。
在需要使用候选的查询结果的特征向量的过程中,计算机设备可以直接从存储空间中读取候选的查询结果的特征向量。通过这种方法有助于避免对候选的查询结果的特征向量进行重复计算,降低计算机设备的计算压力,还有助于提升召回模型的训练速度。
示例性地,计算机设备根据至少一个候选的查询结果分别对应的特征向量,确定各个候选的查询结果分别对应的特征向量的索引位置,该索引位置可以为硬盘索引,或者,显卡索引;计算机设备能够根据某个索引位置,快速从存储空间中读取该索引位置中存储的候选的查询结果的特征向量。
例如,在索引位置为显卡索引的情况下,由于召回模型的训练过程在显卡中进行,在显卡索引的指示下,计算机设备直接确定候选的查询结果的特征信息,无需进行不同存储介质之间的数据读写操作,有助于减少召回模型训练过程中进行数据读写的耗时,有助于缩短召回模型训练过程的耗时。
可选地,至少一个候选的查询结果分别对应的特征向量也可以在召回模型的训练过程中生成。例如,在召回模型的训练过程中的第一训练轮次,计算机设备通过第二特征提取网络确定至少一个候选的查询结果分别对应的特征向量。可选地,候选的查询结果分别对应的特征向量组成语料库。
可选地,至少一个候选的查询结果分别对应的特征向量由除第二特征提取网络之外其他特征提取网络进行确定,该其他特征提取网络可以是第一特征提取网络,也可以是除了待训练的召回模型之外,其他召现有的回模型中的特征提取网络,本申请在此不进行限定。例如,在召回模型的训练过程开始之前,计算机设备使用第一特征提取网络,分别确定至少一个候选的查询结果分别对应的特征向量。
候选的查询结果的特征向量的确定方法与查询信息的特征向量的确定方法相同,具体请参考上文实施例,在此不进行赘述。
在一些实施例中,计算机设备根据查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从各个候选的查询结果中选择与查询信息具有相似性的k个查询结果,包括:计算机设备将各个候选的查询结果与查询信息最相似的前k个查询结果作为k个查询结果,k为正整数。有关确定k个查询结果的具体过程请参考下文实施例。
可选地,某个候选的查询结果与候选的查询信息之间的相似性,根据第一度量指标确定。第一度量指标包括以下至少之一:查询信息的特征向量和候选的查询结果的特征向量之间几何距离、查询信息的特征向量和候选的查询结果的特征向量之间的夹角余弦。
示例性的,计算机设备根据某个候选的查询结果的特征向量和查询信息的特征向量,确定该候选的查询结果的第一度量值,第一度量值用于衡量候选的查询结果的特征向量和查询信息的特征向量之间的相似性。
在一个示例中,第一度量值与相似度成正比,对于某个候选的查询结果,该候选的查询结果与查询信息之间的第一度量值越大,则表示该候选的查询结果与查询信息之间的相似程度越大;该候选的查询结果与查询信息之间的第一度量值越小,则表示该候选的查询结果与查询信息之间的相似程度越小。
在一个示例中,第一度量值与相似度成反比,对于某个候选的查询结果,该候选的查询结果与查询信息之间的第一度量值越小,则表示该候选的查询结果与查询信息之间的相似程度越大;该候选的查询结果与查询信息之间的第一度量值越大,则表示该候选的查询结果与查询信息之间的相似程度越小。
可选地,对于一个训练轮次中不同的查询信息,任一个查询信息分别对应的k个查询结果数量可以相同,也可以不相同,本申请在此不进行设定。
步骤240,从k个查询结果中,选择至少一个查询结果作为查询信息对应的负例查询结果,负例查询结果是指与查询信息不匹配的查询结果。
在一些实施例中,查询信息对应的负例查询结果是指与查询信息不匹配的查询结果。负例查询结果可以分为简单负例和困难负例;其中,简单负例是指与查询信息在内容上完全不相关的负例查询结果,困难负例是指与查询信息具有部分重叠,但是内容上不同的负例查询结果。
可选地,对于文字形式的查询信息和查询结果,困难负例和查询信息在句式结构上具有至少一个相同的功能词,功能词包括以下至少之一:主语、宾语、动词、从句等。例如,某个查询信息为“xxx评价通知”,存在一个候选的查询结果“冲上热搜!xxx紧急致歉”,虽然查询信息与候选的查询结果都包括“xxx”,但是查询信息的需求和该候选的查询结果的内容是不一致的,在搜索召回过程中剔除这种查询结果比较困难,因此,该候选的查询结果为查询信息的困难负例。困难负例查询结果也称为难负例。
可选地,对于图片形式的困难负例和查询信息,困难负例和查询信息具有相似的局部画面,局部相似画面包括图片中心区域的内容、画面中包括的对象等。
可选地,步骤240确定出的负例查询结果属于困难负例查询结果。
步骤250,基于查询信息对应的正例查询结果和负例查询结果,对召回模型的参数进行调整,得到训练后的召回模型。
在一些实施例中,召回模型的参数包括:第一特征提取网络的参数和第二特征提取网络的参数。可选地,计算机设备对召回模型的参数进行调整,包括:固定第二特征提取网络的参数,对第一特征网络的参数进行调整。
可选地,召回模型还包括分类预测层,分类预测层用于基于查询信息的特征向量和查询结果的特征向量,预测查询信息与查询结果之间的相似性。在这种情况下,计算机设备根据基于查询信息对应的正例查询结果和负例查询结果,对召回模型中的第一特征提取网络的参数和分类预测层的参数进行调整,得到训练后的召回模型。
在一个示例中,召回模型的训练过程包括至少一个训练轮次,至少一个训练轮次中的每一个训练轮次,计算机设备选择K个查询信息,使用该训练轮次中的第一特征提取模型,计算K个查询信息分别对应的特征向量,对于K个查询信息中的任一个查询信息,计算机设备采用该训练轮次中的第一特征提取模型对查询信息进行特征提取,得到查询信息的特征向量;计算机设备根据查询信息的特征向量,以及至少一个候选的查询结果分别对应的特征向量,选择k个查询结果,并从该k个查询结果中选择该查询信息对应的至少一个负例查询结果。
计算机设备根据查询信息的特征向量、查询结果的特征向量计算召回模型的损失函数值。在损失函数值没有收敛的情况下,计算机设备调整召回模型的参数,得到训练后的召回模型,并对该训练后的召回模型进行下一个训练轮次;在损失函数值收敛的情况下,计算机设备调整召回模型的参数,得到训练后的召回模型,结束召回模型的训练过程。
综上所述,在召回模型的训练过程中,根据查询信息的特征向量与候选的查询结果的特征向量之间的相似性,确定查询信息对应的至少一个困难负例查询结果,相比于相关技术中,需要人工标注查询信息对应的困难负例查询结果,提升了困难负例查询结果的确定效率。有助于为召回模型的训练过程提供了更多的困难负例查询结果,从而帮助召回模型学习查询信息与负例查询结果之间差异,有助于提升召回模型对困难负例查询结果的辨识能力,有助于提升训练后的召回模型的召回准确度。
下面通过几个实施例对负例查询结果的确定过程进行介绍说明。
在一些实施例中,计算机设备从k个查询结果中,选择至少一个查询结果作为查询信息对应的负例查询结果,包括:计算机设备从k个查询结果包括的除至少一个正例查询结果之外的查询结果中,选择至少一个查询结果作为查询信息对应的负例查询结果。
由上文内容可知,k个查询结果是至少一个候选的查询结果中,与查询信息之间的相似度最高的前k个查询结果,该k个查询结果中可能包含查询信息相匹配的正例查询结果。计算机设备需要从k个查询结果中去除查询信息对应的正例查询结果,以避免错误将正例查询结果认定为负例查询结果,使得正例训练数据和负例训练数据相同,在召回模型的训练过程引入由于训练数据导致干扰,有助于加快召回模型在训练过程中的收敛速度,减少对影响训练后的召回模型的召回效果。
假设k等于5,对于某个查询信息A,k个查询结果包括:查询结果a、查询结果b、查询结果c、查询结果d和查询结果e;其中,查询结果a为查询信息A的正例查询结果,则计算机设备从查询结果b、查询结果c、查询结果d和查询结果e中,确定至少一个查询结果作为查询信息A对应的负例查询结果。
可选地,计算机设备存储正例查询结果(或者正例查询结果的特征向量)时,同步存储正例查询结果对应的查询信息标识,查询信息标识用于唯一标识查询信息。在确定出某个查询信息对应的k个查询结果后,计算机设备分别判断k个查询结果对应的查询信息标识是否为该查询信息的查询信息标识;若在k个查询结果中,某个查询结果对应的查询标识信息与该查询信息的查询信息标识相同,则说明该查询结果为该查询信息对应的正例查询结果,计算机设备从k个查询结果中去除该查询结果;若在k个查询结果中,某个查询结果对应的查询标识信息与该查询信息的查询信息标识不同,则说明该查询结果不是该查询信息对应的正例查询结果,则在k个查询结果中保留该查询结果。
在一些实施例中,计算机设备在从k个查询结果包括的除至少一个正例查询结果之外的查询结果中,随机选择至少一个查询结果作为查询信息对应的负例查询结果。例如,计算机设备从k个查询结果包括的除至少一个正例查询结果之外的查询结果中,随机选择10个查询结果作为查询信息对应的负例查询结果。可选地,不用的查询信息分别对应的负例查询结果数量可以相同,可以不同。
示例性地,在同一个训练轮次中任一个查询信息对应的负例查询结果的数量相同。也即,计算机设备从“查询信息1”对应的k个查询结果中确定y个负例查询结果,计算机设备从“查询信息2”对应的k个查询结果中确定y个负例查询结果,y为小于k的正整数。
通过保持不同查询信息对应的负例查询结果的数量一致,使得在进行召回模型训练过程中,各个查询信息在确定损失函数值过程中的贡献程度相同,有助于提升训练后的召回模型对不同的查询信息的应对能力,有助于提升训练后的召回模型的鲁棒性。
图5是本申请一个示例性实施例提供的查询信息对应的查询结果的确定方法的示意图。
计算机设备采用第一特征提取网络确定查询信息的特征向量,根据该查询信息的特征向量与语料库包括的至少一个候选的查询结果的特征向量,选择k个查询结果,通过去除k个查询结果中的正例查询结果,以及伪负例查询结果,能够得到查询信息对应的多个负例查询结果,使用查询信息对应的一个正例查询结果和多个负例查询结果,对召回模型的模型参数进行调整,得到调整后的模型参数。
从k个查询结果包括的除至少一个正例查询结果之外的查询结果中,选择负例查询结果,有助于避免将正例查询结果确定为负例查询结果,有助于提升负例训练数据的可靠性。
下面通过几个实施例对确定负例查询结果的两种方法进行介绍说明。
由于在确定查询信息对应的正例查询结果的过程中,查询信息对应的正例查询结果数量存在最大数量限制(该最大数量限制可以是根据召回模型的召回准确性、计算机设备的处理压力等因素人为设定的),而且,对于不同的查询信息,与查询信息相匹配的查询结果的数量可能不相同,因此无法将与查询信息相匹配的全部历史查询结果均作为该查询信息对应的正例查询结果。
在这种情况下,候选的查询结果中可能存在一些伪负例查询结果,伪负例查询结果是指能够与查询信息相匹配,但是由于上述限制因素未能被确定成正例查询结果的查询结果。
例如,对于某个查询信息,该查询信息与历史查询结果1之间的相似性为0.935、该查询信息与历史查询结果2之间的相似性等于0.935、该查询信息与历史查询结果3之间的相似性等于0.945,该查询信息与历史查询结果4之间的相似性等于0.92;假设,在召回模型的训练过程中受到数据存储、训练耗时等方面的限制,每个查询信息最多对应两个正例查询结果,计算机设备将历史查询结果1和历史查询结果3,作为该查询信息的正例查询结果。
在这种情况下,虽然历史查询结果2、4均与查询信息之间具有较高的相似性,但是历史查询结果2、4未被选择成为正例查询结果,也即历史查询结果2、4属于该查询信息对应的伪负例查询结果。
为了提升确定出的负例查询结果的置信度,计算机设备需要对k个查询结果包括的除至少一个正例查询结果之外的查询结果进行筛选,去除伪负例查询结果,得到查询信息对应的负例查询结果。具体可以包括下面两种示例:
示例1
在一些实施例中,计算机设备从k个查询结果包括的除至少一个正例查询结果之外的查询结果中,选择至少一个查询结果作为查询信息对应的负例查询结果,包括:计算机设备从k个查询结果中去除至少一个正例查询结果,得到至少一个剩余的查询结果;计算机设备根据查询信息与各个剩余的查询结果之间的相似性,确定与查询信息之间相似性最小的至少一个查询结果;计算机设备将相似性最小的至少一个查询结果,确定为查询信息对应的负例查询结果。
在一些实施例中,相似性最小的查询结果是指:剩余的查询结果中,与查询信息的匹配程度最低的至少一个查询结果。也即,对于任一个负例查询结果,负例查询结果的特征向量与查询信息的特征向量之间的相似性,小于或者等于,其他查询结果的特征向量与查询信息的特征向量之间的相似性,其他查询结果是指:剩余的查询结果中未被选择的任一个查询结果。
可选地,步骤230中,计算机设备确定出k个查询结果之后,计算机设备根据k个查询结果与查询信息之间的相似性,对k个查询结果进行排序,得到查询结果序列。
示例性地,计算机设备按照相似性从大到小的顺序,对k个查询结果进行排序,查询结果序列中位置越靠前的查询结果与查询信息越相似。在这种情况下,从k个查询结果中去除至少一个正例查询结果之后(相当于从查询结果序列中删除上述至少一个正例查询结果),计算机设备将查询结果序列倒数y个查询结果,作为该查询信息对应的负例查询结果,y为小于k的正整数。
示例性地,计算机设备按照相似性从小到大的顺序,对k个查询结果进行排序,查询结果序列中位置越靠前的查询结果与查询信息之间偏差越大。在这种情况下,在从k个查询结果中去除至少一个正例查询结果之后,计算机设备将查询结果序列的前y个查询结果作为该查询信息的负例查询结果。
通过选择与查询信息具有相似性,且相似性不高的查询结果作为负例查询结果,能够避免将选择伪负例查询结果参与召回模型的训练过程,有助于提升确定出的负例查询结果的置信度,提升训练数据的可靠性,使得正例查询结果和负例查询结果之间的界限更加清晰;通过这种方法有助于帮助召回模型学习识别正例查询结果和难负例查询结果,有助于提升召回模型在训练过程中收敛速度。
示例2
在一些实施例中,计算机设备从k个查询结果包括的除至少一个正例查询结果之外的查询结果中,选择至少一个查询结果作为查询信息对应的负例查询结果,包括:计算机设备根据查询信息与各个剩余的查询结果之间的相似性,确定与查询信息之间相似性最小的n个查询结果,n为小于k的正整数;计算机设备从n个查询结果中去除至少一个正例查询结果,将剩余的查询结果确定为查询信息对应的负例查询结果。
可选地,在计算机设备确定k个查询结果之后能够获得查询结果序列(有关查询序列具体内容与上一个实施例相同,在此不进行赘述)。
示例性地,计算机设备按照相似性从大到小的顺序,对k个查询结果进行排序,得到查询结果序列;计算机设备确定查询结果序列中倒数n个查询结果为与查询信息之间相似性最小的n个查询结果;计算机设备从n个查询结果中去除正例查询结果,得到至少一个负例查询结果(有关去除正例查询结果的方法具体请参考上文实施例,在此不进行赘述)。
例如,k等于100,n等于50,计算机设备将查询结果序列中第51-100个查询结果作为n个查询结果,将第51-100个查询结果中包括的正例查询结果去除,得到至少一个负例查询结果。
示例性地,计算机设备按照相似性从小到大的顺序,对k个查询结果进行排序,得到查询结果序列,计算机设备确定查询结果序列中前n个查询结果为与查询信息之间相似性最小的n个查询结果,并执行后续步骤,在此进行赘述。
通过上述方法,先选择相似性最小的n个查询结果,再去除从n个查询结果中去除正例查询结果,有助于减少需要去除的正例查询结果的数量,降低计算机设备的需要检测是否为正例查询结果的次数,有助于提升负例查询结果的确定效率。还有助于避免伪负例查询结果参与召回模型的训练过程,通过这种方法有助于提升负例查询结果的质量,优化召回模型的训练效果。
下面通过几个实施例对召回模型的训练过程进行介绍说明。
在一些实施例中,步骤250:计算机设备基于查询信息对应的正例查询结果和负例查询结果,对召回模型的参数进行调整,得到训练后的召回模型,包括以下几个子步骤(说明书附图中未示出)。
子步骤252:计算机设备根据查询信息对应的正例查询结果和负例查询结果,确定召回模型的损失函数值,损失函数值用于表征召回模型对查询结果是正例或负例的预测准确性。
在一些实施例中,损失函数值基于交叉熵损失(Cross entropy loss)进行计算。交叉熵损失是一种用于量化两个概率分布之间差异的损失函数行调整。
可选地,子步骤252包括以下步骤:对于目标查询结果,计算机设备根据查询信息的特征向量和目标查询结果的特征向量之间的相似性,以及目标查询结果的标签信息,确定召回模型的损失函数值;其中,目标查询结果是查询信息对应的任意一个正例查询结果或任意一个负例查询结果,标签信息用于表征目标查询结果属于正例查询结果或属于负例查询结果。
在一些实施例中,对于某个查询信息,该查询信息对应的查询结果包括一个正例查询结果,以及至少一个负例查询结果。目标查询结果是指该正例查询结果,或者至少一个负例查询结果中的任意一个。
例如,对于一个训练轮次中的任一个查询信息,该查询信息对应1个正例查询结果和49个负例查询结果,也即总共有50个与该查询信息有关的查询结果参与损失函数值的确定过程。
可选地,上述一个正例查询结果是指至少一个正例查询结果中,与查询信息之间的相似性最低的正例查询结果。也就是说,在一个训练轮次中,对于任一个查询信息,计算机设备从该查询信息对应的至少一个正例查询结果中,选择出一个正例查询结果,该被选择的正例查询结果参与到该训练轮次,查询信息对应的其他正例查询结果不参与该训练轮次。通过选择至少一个正例查询结果中,与查询信息之间的相似性最低的正例查询结果,有助于提升召回模型辨别困难负例的能力,有助于提升训练后的召回模型的召回准确度。
在每一个训练轮次中,计算机设备从查询信息对应的至少一个正例查询结果,选择一个正例查询结果,并使用该正例查询结果参与损失函数值计算,至少一个正例查询结果除该正例查询结果之外的其他正例查询结果不参与该轮次训练过程中,损失函数值计算。
在一些实施中,计算机设备使用第二度量指标,确定查询信息的特征向量和目标查询结果的特征向量之间的相似性。可选地,第二度量指标包括:查询信息的特征向量和目标查询结果的特征向量之间的向量内积。
在一些实施例中,标签信息用于表征目标查询结果的实际属性。可选地,若目标查询结果为正例查询结果,则目标查询结果的标签信息等于1,也即目标查询结果属于正例查询结果的实际概率等于1,目标查询结果属于负例查询结果的实际概率等于0;若目标查询结果为负例查询结果,则目标查询结果的标签信息等于0,也即目标查询结果属于正例查询结果的实际概率等于0,目标查询结果属于负例查询结果(包括困难负例和简单负例)的实际概率等于1。
可选地,交叉熵的计算公式可以表示成下面一个公式。
其中,N表示训练样本个数,M表示一个训练轮次中查询信息总数量,为符号函 数(的取值为0或1),对于正例训练样本,对于负例训练样本取表示召 回模型预测某个查询结果属于正例查询结果或者属于负例查询结果的概率。
子步骤255:计算机设备根据损失函数值,对第一特征提取网络的参数进行调整,得到训练后的召回模型;其中,第二特征提取网络的参数不进行调整。
在一些实施例中,计算机设备根据损失函数值,对第一特征提取网络的参数进行调整,包括:计算机设备根据损失函数值计算第一特征提取网络的参数的梯度,并通过反向传播的方式更新第一特征提取网络的参数。
在召回模型的训练过程中,仅对第一特征提取网络进行调整,第二特征提取网络的网络参数不变,也就是说,在召回模型的任一个训练轮次中,同一个查询结果的特征向量不发生改变,基于这种训练方法无需在训练过程中对至少一个候选的查询结果的特征向量进行更新,只需确定一次候选的查询结果的特征向量,有助于减轻召回模型训练过程中的计算压力,有助于加快召回模型的收敛速度,有助于缩短召回模型的训练耗时。
在一些实施例中,计算机设备根据损失函数值,对第一特征提取网络的参数进行调整,得到训练后的召回模型之后,还包括:若召回模型未满足停止训练的条件,则计算机设备对训练后的召回模型进行下一轮次的训练,再次从获取查询信息的步骤开始执行;其中,对于同一个查询信息,查询信息的特征向量在不同轮次的训练过程中是不同的,查询信息对应的负例查询结果在不同轮次的训练过程中是不同的。
在一些实施例中,停止训练的条件用于确定在当前轮次的训练结束后,是否需要进行下一轮次的训练过程。可选地,停止训练的条件为损失函数值是否收敛。若损失函数值收敛,则计算机设备停止对训练后的召回模型进行训练;若损失函数值未收敛,则计算机设备对训练后的召回模型进行下一个轮次的训练;其中,损失函数值收敛是指损失函数值在至少一个连续的训练轮次中趋于稳定。
下面通过一个示例对召回模型的训练流程进行介绍说明。
对于某个召回模型的训练过程A,包括如下几个步骤。
步骤A10,获取查询信息,以及查询信息对应的至少一个正例查询结果,正例查询结果是指与查询信息相匹配的查询结果。可选地,计算机设备获取多个查询信息以及各个查询信息分别对应的至少一个正例查询记结果;其中多个查询信息中存在至少两个查询信息的查询需求不同。
例如,计算机设备获取60000个查询信息,以及该60000个查询信息中每一个查询信息分别对应的正例查询结果。
对于第p个训练轮次(也即第p轮训练),p为正整数;计算机设备从步骤A10中获取到的多个查询信息中选择x个查询信息,x为正整数。可选地,计算机设备将多个查询信息打乱顺序,并从多个查询信息中随机选择x个查询信息。计算机设备基于上述x个查询信息进行p轮训练。
例如,对于第2个训练轮次,计算机设备多个查询信息中选择1024个查询信息,使用被选择的1024个查询信息对召回模型进行第2轮次训练。
可选地,召回模型的训练过程中,存在至少两个训练轮次,该至少两个训练轮次具有q个相同的查询信息,q为正整数。
步骤A20,对于x个查询信息中的任一个查询信息,计算机设备采用第一特征提取网络,提取查询信息的特征向量。
对于x个查询信息中的查询信息I,计算机设备采用第一特征提取网络,提取查询信息I的特征向量。有关该过程的具体内容请参考上文实施例。
步骤A30,计算机设备根据查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从各个候选的查询结果中选择与查询信息具有相似性的k个查询结果。
例如,计算机设备将与查询信息之间相似性最高的k个候选的查询结果,作为k个查询结果。有关该部分的具体内容请参考上文实施例。
步骤A40,计算机设备从k个查询结果中去除至少一个正例查询结果,得到至少一个剩余的查询结果;计算机设备根据查询信息与各个剩余的查询结果之间的相似性,确定与查询信息之间相似性最小的至少一个查询结果;将相似性最小的至少一个查询结果,确定为查询信息对应的负例查询结果。有关该步骤的具体过程请参考上文实施例,在此不进行赘述。
步骤A50,对于目标查询结果,根据查询信息的特征向量和目标查询结果的特征向量之间的相似性,以及目标查询结果的标签信息,确定召回模型的损失函数值。可选地,计算机设备使用交叉熵损失函数计算第p轮训练过程中,召回模型的损失函数值。
可选地,计算机设备根据查询信息的特征向量和目标查询结果的特征向量的向量内积,确定查询信息与目标查询结果之间的相似性。
步骤A60,根据损失函数值,对第一特征提取网络的参数进行调整,得到训练后的召回模型。可选地,对于任一个训练轮次,计算机设备仅对第一特征提取网络的参数进行修改,而不对第二特征提取网络的参数进行修改。
步骤A70,计算机设备判断召回模型是否满足停止训练的条件。
可选地,若召回模型的损失函数值未收敛,则召回模型不满足停止训练的条件,计算机设备对步骤A60得到的训练后的召回模型进行下一轮次的训练;具体地,计算机设备再次步骤A10开始进行第p+1个训练轮次;若召回模型的损失函数值已收敛,则召回模型满足停止训练的条件,即得到步骤A60中训练后召回模型。
在召回模型的训练过程中,第一特征提取网络的网络参数发生改变,使得不同训练轮次中,同一个查询信息的特征向量发生变化,由于第二特征提取网络的参数不变,使得候选的查询结果的特征向量不变,而第一特征提查询信息的特征向量发生变化,导致在不同训练轮次中,根据查询信息的特征向量和候选的查询结果的特征向量,确定出的查询信息与候选的查询结果之间的相似性可能会发生变化,使得在不同训练轮次中,同一个查询信息分别对应的负例查询结果不完全相同。
通过上述方法能够在训练过程中自动生成负例查询结果,无需预先生成查询信息对应的负例查询结果。而且在不同的训练轮次中,查询信息对应的负例查询结果会动态变化,提升训练过程中查询信息对应的负例查询结果的丰富性。
下面,通过几个实施例对从候选的查询结果中查找k个查询结果的过程进行介绍说明。
在一些实施例中,步骤230根据查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从各个候选的查询结果中选择与查询信息具有相似性的k个查询结果。
可选地,为了快速从数量庞大的候选的查询结果中查找k个查询结果,计算机设备使用索引信息确定与查询信息显示的k个查询结果。也即,在语料库中,按照一定的存储结构对至少一个候选的查询结果分别对应的特征向量进行存储,任意两个候选的查询结果的特征向量,对应不同的索引信息;其中,索引信息用于:在语料库中快速找到其对应的候选的查询结果的特征向量,在计算机设备中的存储位置,或者用于直接得到索引信息对应的候选的查询结果的特征向量。
示例性地,索引信息与至少一个其他索引信息(也称为友点索引)存在关联,通过索引信息能够直接确定与其具有关联的其他索引信息。例如,候选的查询结果s的特征向量所对应的索引信息,与候选的查询结果t的特征向量对应的索引信息之间存在关联,且候选的查询结果s与候选的查询结果之间的相似性,高于,候选的查询结果s与其他候选查询结果之间的相似性。
若查询信息与候选的查询结果s之间的相似性较高,则可能查询信息与候选的查询结果t之间的相似性也较高。继而,计算机设备在判断查询信息与候选的查询结果s之间的相似性之后,可以优先判断查询信息与候选的查询结果t之间的相似性,而不是优先判断查询信息与其他候选的查询结果之间的相似性。
通过索引信息查找k个查询结果,有助于避免在查找k个查询信息的过程中对全部候选的查询结果进行遍历,能够加快查找得到k个查询结果的速度。
可选地,步骤230可以包括如下几个子步骤(说明书附图中未示出):
子步骤231,计算机设备根据索引结构顶层的候选的查询结果的特征向量,生成动态结果列表,索引结构用于根据至少一个候选的查询结果之间的相似性,存储至少一个候选的查询结果分别对应的特征向量,动态结果列表用于动态记录查询结果选择过程中,与查询信息具有相似性的候选的查询结果在索引结构中的索引信息。
可选地,索引结构顶层的候选的查询结果的特征向量,是指索引结构中第一个与查询信息计算相似性的特征向量。对于任一个查询信息,在确定k个查询结果的过程中,都需要与该索引结构顶层的候选的查询结果计算相似性。
例如,子步骤231中的动态结果列表包括:索引结构顶层的候选的查询结果的索引信息index1,以及,在索引结构中与索引信息index1相关联的至少一个索引信息(index2,index3),index2,index3分别为index1的友点索引。
此时,动态结果列表中包括:index1、index2、index3。
子步骤233中,对于动态结果列表中包括的第i个索引信息,计算机设备将第i个索引信息在索引结构中相关联的至少一个友点索引加入动态结果列表,友点索引对应的候选的查询结果的特征向量,与第i个索引信息对应的候选的查询结果的特征向量相邻,i为正整数。
假设,index2的友点索引为index4、index6,index3的友点索引为index5、index6。则在子步骤233中,动态结果列表中包括:index1、index2、index3、index4、index5、index6。
子步骤235,从动态结果列表中选择k个邻近索引,计算机设备得到更新后的动态结果列表;邻近索引对应的候选的查询结果的特征向量,与查询信息的特征向量之间的相似性,高于动态结果列表中未被选择的其他索引信息对应的候选的查询结果的特征向量与查询信息的特征向量之间的相似性。
可选地,计算机设备计算index1、index2、index3、index4、index5、index6分别对应的候选的查询结果的特征向量与查询信息的特征向量之间的相似性。可选地,计算机设备使用第一度量指标确定索引信息分别对应的候选的查询结果的特征向量,与查询信息的特征向量之间的相似性。第一度量指标包括:特征向量在特征空间中的距离(如欧式距离),特征向量的内积,特征向量之间的夹角余弦等。
计算机设备按照相似性从高到低对上述六个索引信息进行排序,得到index1、index3、index2、index4、index6、index5。假设k等于4,则计算机设备选择index1、index3、index2、index4。此时,更新后的动态结果列表包括index1、index3、index2、index4。
子步骤237,计算机设备再次从将第i个索引信息在索引结构中相关联的至少一个友点索引加入动态结果列表的步骤开始,执行下一轮选择过程。
在这个例子中,由于index1、index2、index3一直存在于动态结果列表,因此,只需要将index4的友点索引加入到动态结果列表。假设,index4的友点索引为index1、index7,则动态结果列表包括:index1、index2、index3、index4和index7。
子步骤239,若更新后的动态结果列表与下一轮选择过程得到的更新后的动态结果列表相同,计算机设备则将更新后的动态结果列表包括的k个索引信息分别对应的候选的查询结果,作为k个查询结果。
可选地,若更新后的动态结果列表与下一轮选择过程得到的更新后的动态结果列表不同,则计算机设备在此从子步骤233开始执行,直到相邻两轮的选择过程分别得到的更新后的动态结果列表中包括的索引信息完全相同。
继续上述例子,计算机设备对动态结果列表包括:index1、index2、index3、index4和index7重新执行子步骤235,进行下一轮的选择过程,计算机设备按照相似性从高到低对上述5个索引信息进行排序,得到index1、index3、index2、index4、index7。k等于4,则计算机设备选择index1、index3、index2、index4。此时,下一轮的更新后的动态结果列表包括index1、index3、index2、index4,也即更新后的动态结果列表(也就是说,第z轮选择过程得到的更新后的动态结果列表,z为正整数)与下一轮选择过程得到的更新后的动态结果列表(第z+1轮选择过程得到的更新后的动态结果列表)相同,计算机设备将index1、index2、index3、index4分别对应的候选的查询结果,作为k个查询结果。
在一些实施例中,为了避免同一个训练轮次中,计算机设备多次计算同一个候选的查询结果的特征向量与查询信息的特征向量之间的相似性,在执行子步骤235时,还包括:对于动态结果列表中包括的任一个索引信息,计算机设备判断该索引信息的友点索引是否曾经加入动态结果列表或者该友点索引正位于动态列表中。
若该索引信息的某个友点索引曾经加入动态结果列表,则不将该某个友点索引在此加入动态结果列表;若该索引信息的某个友点索引正位于动态结果列表,则不将该某个友点索引在此加入动态结果列表;若该索引信息的某个友点索引没有加入过动态结果列表,且动态结果列表目前不包括该友点索引,则将该友点索引加入到动态结果列表。
通过这种方法有助于将避免某个索引信息多次加入到动态结果列表造成的重复计算,降低了确定k个查询结果过程的计算量,有助于提升确定k个查询结果的速度。
在一些实施例中,计算机设备确定索引信息对应的候选的查询结果的特征向量,包括:根据索引信息和显卡索引之间的映射关系,确定索引信息对应的显卡索引;计算机设备根据显卡索引,从显卡获取候选的查询结果的特征向量。显卡索引用于指示候选的查询结果的特征向量在显卡中的存储位置。
由于召回模型的训练过程在显卡中完成,通过将候选的查询结果的特征向量存储在显卡中,减少了确定候选的查询结果的特征向量过程中,计算机设备的硬件之间的数据读写次数,有助于降低计算机设备的读写压力。
下面通过一个示例性实施例对索引结构的建立方法进行介绍说明。
在一些实施例中,召回模型的训练方法还包括:对于至少一个候选的查询结果中的任意一个候选的查询结果,计算机设备将候选的查询结果作为待存储的查询结果;计算机设备采用第二特征提取网络,确定待存储的查询结果的特征向量;计算机设备根据待存储的查询结果的特征向量与索引结构中已存储的查询结果的特征向量,确定待存储的查询结果的特征向量在索引结构中的第一索引信息,已存储的查询结果属于候选的查询结果;计算机设备确定与待存储的查询结果相似性最高的m个已存储的查询结果,将m个已存储的查询结果分别对应的索引信息,作为与第一索引信息相关联的友点索引,m为正整数。
可选地,计算机设备在召回模型训练开始之前,建立索引结构。通过特征向量之间相似性,将特征向量加入到索引结构。
需要说明的是,上述根据至少一个候选的查询结构的特征向量构建索引结果,以及索引结果中确定k个查询结果,可以由工作人员编写的程序实现,也可以通过向量索引工具实现,在使用向量索引工具构建索引结构时,计算机设备将至少一个候选的查询结构的特征向量传输给向量索引工具,由索引工具执行上述索引结构构建过程,在选择k个查询结果时,计算机设备将查询信息的特征向量传输给向量索引工具,由向量索引工具执行上述查找k个查询结果的过程。
通过这种方法有助于减少在选择查询信息对应的k个查询结果的过程中,计算候选的查询结果的特征向量与查询信息的特征向量之间的相似性的次数。
下面通过几个实施例对正例查询结果的获取方法进行介绍说明。
计算机设备获取查询信息,以及查询信息对应的至少一个正例查询结果,包括:计算机设备获取查询信息,以及查询信息对应的多个历史查询结果;计算机设备从多个历史查询结果中筛选出点击次数大于或等于第一阈值的至少一个历史查询结果,作为查询信息对应的至少一个正例查询结果。
在一些实施例中,计算机设备根据点击日志,确定查询信息对应的至少一个历史查询结果,以及各个历史查询结果分别对应的点击情况。
在一些实施例中,计算机设备从多个历史查询结果中筛选出点击情况大于或等于第一阈值的至少一个历史查询结果。可选地,第一阈值为预设置的。
在一些实施例中,点击情况用于表征在基于该查询信息进行搜索召回时,用户们对各个历史查询结果的接受情况。可选地,点击情况包括以下至少之一:点击次数、点击率、点击频率。有关点击情况的具体介绍请参考上文实施例在此不进行赘述。
在一些实施例中,计算机设备从多个历史查询结果中筛选出点击次数大于或等于第一阈值的至少一个历史查询结果,作为查询信息对应的至少一个正例查询结果,包括:计算机设备从多个历史查询结果中筛选出点击次数大于或等于第一阈值的至少一个历史查询结果;计算机设备根据至少一个历史查询结果分别对应的质量信息,从至少一个历史查询结果选择查询信息对应的至少一个正例查询结果。
可选地,质量信息包括历史查询结果的质量、历史查询结果的档位。可选地,质量信息可以由人工标注,也可以根据历史查询结果的浏览次数、用户推荐次数、点赞次数、收藏次数等方面进行确定。
通过点击情况对历史查询信息进行筛选,确定查询信息对应的至少一个正例查询结果,相当于利用用户对历史查询信息的接受情况,实现了初步的人工筛选,通过这种方法有助于降低从海量的历史查询结果中筛选正例查询结果的人力消耗,有助于降低标注正例查询结果的成本。
下面,通过一个示例对本申请提供的召回模型的训练过程进行介绍说明。以查询结果为文章标题(title)为例(为了叙述方便将该召回模型的训练过程简单表示为过程B)可以包括以下几个步骤。
步骤B10,计算机设备获取训练过程中使用的查询信息,对于每一个查询信息,计算机设备从多个历史title中筛选出点击次数大于或等于第一阈值的至少一个title;计算机设备根据至少一个历史title分别对应的质量信息,从至少一个历史title选择查询信息对应的至少一个正例title。
步骤B20,计算机设备使用第二特征提取网络,确定至少一个候选的title的特征向量;计算机设备基于候选的title的特征向量与其他的候选的title的特征向量之间距离,确定候选的title在索引结构中的索引信息,以及与该索引信息具有关联的友点索引。
随后开始召回模型的训练:步骤B30,在任一个训练轮次中,计算机设备从训练过程中使用的查询信息中,随机选择该训练轮次使用的多个查询信息。计算机设备采用第一特征提取网络,提取多个查询信息分别对应的特征向量。
步骤B40,对于多个查询信息中的任意一个查询信息,计算机设备根据该查询信息的特征向量,从索引结构中选择与该查询信息具有相似性的k个title。有关该过程的具体内容请参考上文实施例,在此不进行赘述。
可选地,计算机设备在同一时段中对不同的查询信息分别执行步骤B30和步骤B40。例如,在确定第i个查询信息的特征向量时,计算机设备在索引结构中查找第f个查询信息对应的k个title,i为正整数,f为小于i的正整数,不同并行步骤B30、步骤B40,有助于缩短确定训练轮次中使用的各个查询信息分别对应的负例查询结果的耗时。
步骤B50,计算机设备从k个title包括的除至少一个正例title之外的查询结果中,选择至少一个查询结果作为查询信息对应的负例title。
步骤B60,计算机设备根据查询信息对应的正例title和负例title,确定召回模型的损失函数值,损失函数值用于表征召回模型对title是正例或负例的预测准确性。
步骤B70,根据损失函数值,对第一特征提取网络的参数进行调整,得到训练后的召回模型。
步骤B80,若召回模型未满足停止训练的条件,则对训练后的召回模型进行下一轮次的训练,再次步骤B30开始执行。
通过上述方法在对召回模型进行训练的过程中无需预先确定负例查询结果,有助于降低召回模型的训练数据的准备时间。而且,在训练过程中,同一个查询信息在不同的训练轮次中分别对应的负例数据不完全相同,为召回模型提供了更加丰富的负例查询结果,有助于帮助召回模型对困难负例查询结果的识别能力。提升训练后的召回模型对与查询信息相关的查询结果的召回能力。
而且,在上述召回模型的训练过程中,仅对第一特征提取网络的参数进行调整,这使得无需重复生成海量候选的查询结果分别对应的特征向量,有助于缩短召回模型训练过程的推理速度,提升线下进行召回模型的训练过后,对训练后的召回模型的上线速度。
本申请提供的召回模型的训练方法适用于视频召回模型、文章召回模型、音频召回模型、商品召回模型、应用程序召回模型等。例如,在视频召回模型中:查询信息为用户在搜索栏输入的文字信息,查询结果为视频标题。又例如,在文章召回模型中:查询信息为用户在搜索栏输入的文字信息,查询结果为文章标题、或者文章中关键段落。又例如,在商品召回模型中:查询信息为用户在搜索栏输入的文字信息、或者用户上传的图片,查询结果为商品标题、商品网页等。又例如,在应用程序召回模型中:查询信息为用户在搜索栏输入的文字信息,查询结果为目标应用程序的功能介绍、名称或者下载链接等。
不同的召回模型分别对应的特征提取网络(包括第一特征提取网络、第二特征提取网络)进行特征处理的机制相似,先确定文字、图片或者音频等形式的查询信息的嵌入表征,再使用特征提取网络基于嵌入表征确定查询信息对应的特征向量。可选地,特征提取网络是基于注意力机制进行设计的,本申请对特征提取网络的具体网络结构不进行限定。
在一些实施例中,本申请提供的召回模型训练方法可以在对原始召回模型进行微调之后进行;其中,原始召回模型可以是互联网中现有的召回模型,也可以是指召回准确性较低的召回模型。
在微调过程中,计算机设备使用查询信息、查询信息对应的正例查询结果、查询信息对应的负例查询结果(主要为简单负例,也可以包括人工标注困难负例)对原始召回模型进行训练。
在微调过程的每一个训练轮次中,计算机设备采用第一特征提取网络对查询信息进行特征提取,得到查询信息的特征向量,并采用第二征提取网络对查询结果进行特征提取,得到查询结果的特征向量;计算机设备根据查询信息的特征向量和查询结果的特征向量,计算微调过程中召回模型的损失函数值,并使用该损失函数值对第一特征提取网络的参数和第二特征提取网络的参数进行调整。可选地,有关特征向量、损失函数值的计算方法与本申请提供的召回模型的训练方法相似,在此不进行赘述。
在微调结束后,计算机设备采用本申请提供的召回模型的训练方法对微调结束后的召回模型进行训练,以便提升召回模型对困难负例查询结果的识别能力,进一步提升实际应用过程中由召回模型确定出的查询结果,与查询信息之间匹配程度。
在一些实施例中,为了保持召回模型的性能,目标应用程序中的召回模型需要每隔一段时间进行训练更新,得到新版本的召回模型。可选地,上述微调的训练方式与本申请提供的召回模型的训练方法可以在训练更新过程中交替进行。
例如,第h次训练更新过程,采用微调的方式调整第h-1次训练更新后的召回模型的参数进行调整;第h+g次训练更新过程,采用本申请提供的召回模型训练方式对h+g-1次训练更新后的第一特征提取网络的参数进行调整,h、g为正整数。g的取值可以根据实际需要进行设置,例如g等于1。
可选地,在某次训练更新过程,先使用微调的方式对召回模型进行训练得到第一召回模型,再使用本申请提供的召回模型的训练方法对第一召回模型中的第一特征提取网络的参数进行调整;或者,先使用本申请提供的召回模型训练方式对召回模型中的第一特征提取网络的参数进行调整,得到第二召回模型;再使用微调的方式对第二召回模型的参数进行调整。
示例性地,某次训练更新过程使用的训练方法与当前召回模型的性能有关,例如,召回模型的召回准确性低于准确性阈值,则使用微调的方式对当前召回模型进行训练;若召回模型确定出的查询结果中,包括大量的负例查询结果,则使用本申请提供的召回模型的训练方法进行训练。准确性阈值根据实际需要进行设定,召回准确性用于表征实际使用过程中,召回模型确定的查询结果与查询信息之间的匹配程度。
下面对训练后的召回模型的实际应用过程进行介绍说明。
由于在本申请提供的召回模型的训练过程中,只需要更新第一特征提取网络中的参数,第二特征提取网络中的参数在召回模型的训练过程中保持不变,因此在将训练后的召回模型进行应用的过程中,只需要对目标应用程序对应的召回模型中的第一特征提取网络中的参数进行更新,有助于缩短上线流程,也无需改变查询结果分别对应的特征向量。
在完成对召回模型的上线过程之后,服务器获取终端设备发送的待查询信息,服务器使用第一特征提取网络对查询信息进行特征提取,得到待查询信息的特征向量,在第一特征提取网络为BERT结构的情况下,该特征向量也称为[cls]向量。
服务器根据待查询信息的特征向量,确定待查询信息的特征向量最接近的W个类簇,同一个类簇用包括同一类型的查询结果,W为正整数。例如,W等于50。
可选地,服务器根据待查询信息的特征向量与类簇的中心点,确定待查询信息与类簇的接近程度。类簇的中心点是指在多维特征空间中,类簇中包括的各个查询结果的特征向量的中心。可选地,该类簇的中心点到各个查询结果的特征向量的距离之和最小。
服务器根据召回模型计算W个类簇分别包括的所有查询结果与待查询信息之间相似性。
服务器从W个类簇包括的所有查询结果中,选择与待查询信息相似度最高的前Y查询结果,并对Y个查询结果进行排序,将排序后的Y个查询结果以曝光列表的形式返回终端设备。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6示出了本申请一个示例性实施例提供的召回模型的训练装置的框图。所述召回模型包括第一特征提取网络和第二特征提取网络,该装置600可以包括:正例获取模块610、特征提取模块620、结果确定模块630、负例获取模块640和模型训练模块650。
正例获取模块610,用于获取查询信息,以及所述查询信息对应的至少一个正例查询结果,所述正例查询结果是指与所述查询信息相匹配的查询结果。
特征提取模块620,用于采用所述第一特征提取网络,提取所述查询信息的特征向量。
结果确定模块630,用于根据所述查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从所述各个候选的查询结果中选择与所述查询信息具有相似性的k个查询结果;其中,所述候选的查询结果对应的特征向量是采用所述第二特征提取网络得到的,k为正整数。
负例获取模块640,用于从所述k个查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,所述负例查询结果是指与所述查询信息不匹配的查询结果。
模型训练模块650,用于基于所述查询信息对应的正例查询结果和负例查询结果,对所述召回模型的参数进行调整,得到训练后的召回模型。
在一些实施例中,所述负例获取模块640,包括:结果选择单元,用于:从所述k个查询结果包括的除所述至少一个正例查询结果之外的查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果。
在一些实施例中,所述结果选择单元,用于从所述k个查询结果中去除所述至少一个正例查询结果,得到至少一个剩余的查询结果;根据所述查询信息与各个所述剩余的查询结果之间的相似性,确定与所述查询信息之间相似性最小的至少一个查询结果;将所述相似性最小的至少一个查询结果,确定为所述查询信息对应的负例查询结果;或者,根据所述查询信息与各个所述剩余的查询结果之间的相似性,确定与所述查询信息之间相似性最小的n个查询结果,n为小于k的正整数;从所述n个查询结果中去除所述至少一个正例查询结果,将剩余的查询结果确定为所述查询信息对应的负例查询结果。
在一些实施例中,所述模型训练模块650,包括:损失计算单元,用于根据所述查询信息对应的正例查询结果和负例查询结果,确定所述召回模型的损失函数值,所述损失函数值用于表征所述召回模型对查询结果是正例或负例的预测准确性;参数调整模块,用于根据所述损失函数值,对所述第一特征提取网络的参数进行调整,得到所述训练后的召回模型;其中,所述第二特征提取网络的参数不进行调整。
在一些实施例中,所述损失计算单元,用于对于目标查询结果,根据所述查询信息的特征向量和所述目标查询结果的特征向量之间的相似性,以及所述目标查询结果的标签信息,确定所述召回模型的损失函数值;其中,所述目标查询结果是所述查询信息对应的任意一个正例查询结果或任意一个负例查询结果,所述标签信息用于表征所述目标查询结果属于所述正例查询结果或属于所述负例查询结果。
在一些实施例中,所述装置600还包括:轮次循环模块,用于在所述召回模型未满足停止训练的条件的情况下,对所述训练后的召回模型进行下一轮次的训练,再次从所述获取查询信息的步骤开始执行;其中,对于同一个所述查询信息,所述查询信息的特征向量在不同轮次的训练过程中是不同的,所述查询信息对应的负例查询结果在不同轮次的训练过程中是不同的。
在一些实施例中,所述结果确定模块630,用于根据索引结构顶层的候选的查询结果的特征向量,生成动态结果列表,所述索引结构用于根据所述至少一个候选的查询结果之间的相似性,存储所述至少一个候选的查询结果分别对应的特征向量,所述动态结果列表用于动态记录查询结果选择过程中,与所述查询信息具有相似性的候选的查询结果在所述索引结构中的索引信息;对于所述动态结果列表中包括的第i个索引信息,将所述第i个索引信息在所述索引结构中相关联的至少一个友点索引加入所述动态结果列表,所述友点索引对应的候选的查询结果的特征向量,与所述第i个索引信息对应的候选的查询结果的特征向量相邻,i为正整数;从所述动态结果列表中选择k个邻近索引,得到更新后的动态结果列表;所述邻近索引对应的候选的查询结果的特征向量,与所述查询信息的特征向量之间的相似性,高于所述动态结果列表中未被选择的其他索引信息对应的候选的查询结果的特征向量与所述查询信息的特征向量之间的相似性;再次从所述将所述第i个索引信息在所述索引结构中相关联的至少一个友点索引加入所述动态结果列表的步骤开始,执行下一轮选择过程;若所述更新后的动态结果列表与所述下一轮选择过程得到的更新后的动态结果选择列表相同,则将所述更新后的动态结果列表包括的k个索引信息分别对应的候选的查询结果,作为所述k个查询结果。
在一些实施例中,所述装置600还包括:索引建立模块,用于对于所述至少一个候选的查询结果中的任意一个候选的查询结果,将所述候选的查询结果作为待存储的查询结果;采用所述第二特征提取网络,确定所述待存储的查询结果的特征向量;根据所述待存储的查询结果的特征向量与所述索引结构中已存储的查询结果的特征向量,确定所述待存储的查询结果的特征向量在所述索引结构中的第一索引信息,所述已存储的查询结果属于所述候选的查询结果;确定与所述待存储的查询结果相似性最高的m个已存储的查询结果,将所述m个已存储的查询结果分别对应的索引信息,作为与所述第一索引信息相关联的友点索引,m为正整数。
在一些实施例中,所述正例获取模块610,用于获取查询信息,以及所述查询信息对应的多个历史查询结果;从所述多个历史查询结果中筛选出点击次数大于或等于第一阈值的至少一个历史查询结果,作为所述查询信息对应的至少一个正例查询结果。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。上述实施例提供的装置的有益效果请参考方法侧实施例的描述,这里也不再赘述。
图7示出了本申请一个示例性实施例提供的计算机设备的结构框图。该召回模型的训练设备700可以是上文介绍计算机设备。
通常,计算机设备700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、7核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(FieldProgrammable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图片处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器701加载并执行以实现上述各方法实施例提供的召回模型的训练方法。
本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述各方法实施例提供的召回模型的训练方法。
该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储技术、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现上述各方法实施例提供的召回模型的训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集查询信息、查询结果的点击次数,不会记录其来自于哪个用户,而且,处理严格根据相关国家法律法规的要求,获取个人信息主体的知情同意或单独同意都是在用户同意并授权的情况下进行采集的,并在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为且相关用户数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同切换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种召回模型的训练方法,其特征在于,所述召回模型包括第一特征提取网络和第二特征提取网络;所述方法包括:
获取查询信息,以及所述查询信息对应的至少一个正例查询结果,所述正例查询结果是指与所述查询信息相匹配的查询结果;
采用所述第一特征提取网络,提取所述查询信息的特征向量;
根据所述查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从所述各个候选的查询结果中选择与所述查询信息具有相似性的k个查询结果;其中,所述候选的查询结果对应的特征向量是采用所述第二特征提取网络得到的,k为正整数;
从所述k个查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,所述负例查询结果是指与所述查询信息不匹配的查询结果;
基于所述查询信息对应的正例查询结果和负例查询结果,对所述召回模型的参数进行调整,得到训练后的召回模型。
2.根据权利要求1所述的方法,其特征在于,所述从所述k个查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,包括:
从所述k个查询结果包括的除所述至少一个正例查询结果之外的查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果。
3.根据权利要求2所述的方法,其特征在于,所述从所述k个查询结果包括的除所述至少一个正例查询结果之外的查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,包括:
从所述k个查询结果中去除所述至少一个正例查询结果,得到至少一个剩余的查询结果;根据所述查询信息与各个所述剩余的查询结果之间的相似性,确定与所述查询信息之间相似性最小的至少一个查询结果;将所述相似性最小的至少一个查询结果,确定为所述查询信息对应的负例查询结果;
或者,
根据所述查询信息与各个所述剩余的查询结果之间的相似性,确定与所述查询信息之间相似性最小的n个查询结果,n为小于k的正整数;从所述n个查询结果中去除所述至少一个正例查询结果,将剩余的查询结果确定为所述查询信息对应的负例查询结果。
4.根据权利要求1所述的方法,其特征在于,所述基于所述查询信息对应的正例查询结果和负例查询结果,对所述召回模型的参数进行调整,得到训练后的召回模型,包括:
根据所述查询信息对应的正例查询结果和负例查询结果,确定所述召回模型的损失函数值,所述损失函数值用于表征所述召回模型对查询结果是正例或负例的预测准确性;
根据所述损失函数值,对所述第一特征提取网络的参数进行调整,得到所述训练后的召回模型;其中,所述第二特征提取网络的参数不进行调整。
5.根据权利要求4所述的方法,其特征在于,所述根据所述查询信息对应的正例查询结果和负例查询结果,确定所述召回模型的损失函数值,包括:
对于目标查询结果,根据所述查询信息的特征向量和所述目标查询结果的特征向量之间的相似性,以及所述目标查询结果的标签信息,确定所述召回模型的损失函数值;
其中,所述目标查询结果是所述查询信息对应的任意一个正例查询结果或任意一个负例查询结果,所述标签信息用于表征所述目标查询结果属于所述正例查询结果或属于所述负例查询结果。
6.根据权利要求4所述的方法,其特征在于,所述根据所述损失函数值,对所述第一特征提取网络的参数进行调整,得到所述训练后的召回模型之后,还包括:
若所述召回模型未满足停止训练的条件,则对所述训练后的召回模型进行下一轮次的训练,再次从所述获取查询信息的步骤开始执行;
其中,对于同一个所述查询信息,所述查询信息的特征向量在不同轮次的训练过程中是不同的,所述查询信息对应的负例查询结果在不同轮次的训练过程中是不同的。
7.根据权利要求1所述的方法,其特征在于,所述根据所述查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从所述各个候选的查询结果中选择与所述查询信息具有相似性的k个查询结果,包括:
根据索引结构顶层的候选的查询结果的特征向量,生成动态结果列表,所述索引结构用于根据所述至少一个候选的查询结果之间的相似性,存储所述至少一个候选的查询结果分别对应的特征向量,所述动态结果列表用于动态记录查询结果选择过程中,与所述查询信息具有相似性的候选的查询结果在所述索引结构中的索引信息;
对于所述动态结果列表中包括的第i个索引信息,将所述第i个索引信息在所述索引结构中相关联的至少一个友点索引加入所述动态结果列表,所述友点索引对应的候选的查询结果的特征向量,与所述第i个索引信息对应的候选的查询结果的特征向量相邻,i为正整数;
从所述动态结果列表中选择k个邻近索引,得到更新后的动态结果列表;所述邻近索引对应的候选的查询结果的特征向量,与所述查询信息的特征向量之间的相似性,高于所述动态结果列表中未被选择的其他索引信息对应的候选的查询结果的特征向量与所述查询信息的特征向量之间的相似性;
再次从所述将所述第i个索引信息在所述索引结构中相关联的至少一个友点索引加入所述动态结果列表的步骤开始,执行下一轮选择过程;
若所述更新后的动态结果列表与所述下一轮选择过程得到的更新后的动态结果列表相同,则将所述更新后的动态结果列表包括的k个索引信息分别对应的候选的查询结果,作为所述k个查询结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
对于所述至少一个候选的查询结果中的任意一个候选的查询结果,将所述候选的查询结果作为待存储的查询结果;
采用所述第二特征提取网络,确定所述待存储的查询结果的特征向量;
根据所述待存储的查询结果的特征向量与所述索引结构中已存储的查询结果的特征向量,确定所述待存储的查询结果的特征向量在所述索引结构中的第一索引信息,所述已存储的查询结果属于所述候选的查询结果;
确定与所述待存储的查询结果相似性最高的m个已存储的查询结果,将所述m个已存储的查询结果分别对应的索引信息,作为与所述第一索引信息相关联的友点索引,m为正整数。
9.根据权利要求1所述的方法,其特征在于,所述获取查询信息,以及所述查询信息对应的至少一个正例查询结果,包括:
获取查询信息,以及所述查询信息对应的多个历史查询结果;
从所述多个历史查询结果中筛选出点击次数大于或等于第一阈值的至少一个历史查询结果,作为所述查询信息对应的至少一个正例查询结果。
10.一种召回模型的训练装置,其特征在于,所述召回模型包括第一特征提取网络和第二特征提取网络;所述装置包括:
正例获取模块,用于获取查询信息,以及所述查询信息对应的至少一个正例查询结果,所述正例查询结果是指与所述查询信息相匹配的查询结果;
特征提取模块,用于采用所述第一特征提取网络,提取所述查询信息的特征向量;
结果确定模块,用于根据所述查询信息的特征向量,以及各个候选的查询结果分别对应的特征向量,从所述各个候选的查询结果中选择与所述查询信息具有相似性的k个查询结果;其中,所述候选的查询结果对应的特征向量是采用所述第二特征提取网络得到的,k为正整数;
负例获取模块,用于从所述k个查询结果中,选择至少一个查询结果作为所述查询信息对应的负例查询结果,所述负例查询结果是指与所述查询信息不匹配的查询结果;
模型训练模块,用于基于所述查询信息对应的正例查询结果和负例查询结果,对所述召回模型的参数进行调整,得到训练后的召回模型。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至9任一项所述的召回模型的训练方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行,以实现如权利要求1至9任一项所述的召回模型的训练方法。
CN202310804526.4A 2023-07-03 2023-07-03 召回模型的训练方法、装置、设备及存储介质 Active CN116523024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310804526.4A CN116523024B (zh) 2023-07-03 2023-07-03 召回模型的训练方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310804526.4A CN116523024B (zh) 2023-07-03 2023-07-03 召回模型的训练方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116523024A true CN116523024A (zh) 2023-08-01
CN116523024B CN116523024B (zh) 2023-10-13

Family

ID=87408578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310804526.4A Active CN116523024B (zh) 2023-07-03 2023-07-03 召回模型的训练方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116523024B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626713A (zh) * 2021-08-19 2021-11-09 北京齐尔布莱特科技有限公司 搜索方法、装置、设备及存储介质
CN113761105A (zh) * 2021-05-24 2021-12-07 腾讯科技(深圳)有限公司 文本数据处理方法、装置、设备以及介质
US20220083874A1 (en) * 2020-11-24 2022-03-17 Beijing Baidu Netcom Science Technology Co., Ltd. Method and device for training search model, method for searching for target object, and storage medium
CN114218292A (zh) * 2021-11-08 2022-03-22 中国人民解放军国防科技大学 一种多元时间序列相似性检索方法
CN114416929A (zh) * 2022-01-27 2022-04-29 腾讯科技(深圳)有限公司 实体召回模型的样本生成方法、装置、设备及存储介质
WO2023065617A1 (zh) * 2021-10-21 2023-04-27 北京邮电大学 基于预训练模型和召回排序的跨模态检索系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220083874A1 (en) * 2020-11-24 2022-03-17 Beijing Baidu Netcom Science Technology Co., Ltd. Method and device for training search model, method for searching for target object, and storage medium
CN113761105A (zh) * 2021-05-24 2021-12-07 腾讯科技(深圳)有限公司 文本数据处理方法、装置、设备以及介质
CN113626713A (zh) * 2021-08-19 2021-11-09 北京齐尔布莱特科技有限公司 搜索方法、装置、设备及存储介质
WO2023065617A1 (zh) * 2021-10-21 2023-04-27 北京邮电大学 基于预训练模型和召回排序的跨模态检索系统及方法
CN114218292A (zh) * 2021-11-08 2022-03-22 中国人民解放军国防科技大学 一种多元时间序列相似性检索方法
CN114416929A (zh) * 2022-01-27 2022-04-29 腾讯科技(深圳)有限公司 实体召回模型的样本生成方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HONGLIANG FEI 等: "Sample Optimization For Display Advertising", 《CIKM \'20》, pages 2017 - 2020 *

Also Published As

Publication number Publication date
CN116523024B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
CN111444428B (zh) 基于人工智能的信息推荐方法、装置、电子设备及存储介质
CN108829822B (zh) 媒体内容的推荐方法和装置、存储介质、电子装置
CN112131350B (zh) 文本标签确定方法、装置、终端及可读存储介质
CN110069709B (zh) 意图识别方法、装置、计算机可读介质及电子设备
CN112883734B (zh) 区块链安全事件舆情监测方法及系统
CN105426550B (zh) 一种基于用户质量模型的协同过滤标签推荐方法及系统
CN112015928B (zh) 多媒体资源的信息提取方法、装置、电子设备及存储介质
CN110956037B (zh) 多媒体内容重复判断方法及装置
CN117972206A (zh) 一种基于人工智能的内容推荐系统、电子设备及存储介质
KR101450453B1 (ko) 컨텐츠 추천 방법 및 장치
CN116150306A (zh) 问答机器人的训练方法、问答方法及装置
CN114626386A (zh) 问答系统中的问题推荐方法、装置、电子设备及存储介质
CN112163415A (zh) 针对反馈内容的用户意图识别方法、装置及电子设备
CN116523024B (zh) 召回模型的训练方法、装置、设备及存储介质
CN116956183A (zh) 多媒体资源推荐方法、模型训练方法、装置及存储介质
CN117216361A (zh) 推荐方法、装置、电子设备及计算机可读存储介质
CN115269961A (zh) 内容搜索方法以及相关设备
CN115617944A (zh) 内容推荐方法、装置、存储介质及电子设备
CN117708308B (zh) 一种基于rag自然语言智能知识库管理的方法和系统
CN110727770A (zh) 请求的智能筛选方法、装置、计算机设备和存储介质
CN118227910B (zh) 一种媒体资源聚合方法、装置、设备及存储介质
CN116992111B (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN118132818B (zh) 基于意象差异的旅游区域资源评估方法
CN116150428B (zh) 视频标签获取方法、装置、电子设备及存储介质
CN118657222A (zh) 数据问答方法、数据问答模型训练方法、装置和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40091475

Country of ref document: HK