CN111597430A - 数据处理方法及装置、电子设备、存储介质 - Google Patents
数据处理方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN111597430A CN111597430A CN201910129630.1A CN201910129630A CN111597430A CN 111597430 A CN111597430 A CN 111597430A CN 201910129630 A CN201910129630 A CN 201910129630A CN 111597430 A CN111597430 A CN 111597430A
- Authority
- CN
- China
- Prior art keywords
- data
- retrieval
- target
- learning model
- feature representation
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种数据处理方法及装置、电子设备、存储介质,涉及计算机技术领域,该方法包括:获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签;通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型;将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述多个目标备选数据的特征学习结果;根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。本公开能够提高模型训练效率和准确率,得到准确的检索结果。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种数据处理方法、数据处理装置、电子设备以及计算机可读存储介质。
背景技术
在用户通过电子商务平台或者是检索引擎进行检索时,系统会根据用户检索请求中的图像、语音或者是文字等信息,确定出符合用户检索请求的内容。
相关技术中,一般是通过训练好的深度特征表示学习模型来得到特征学习结果,例如通过增大同类数据特征表示向量间的相似度同时减小异类数据特征表示向量间的相似度来得到特征学习结果的。或者是用特征学习结果的Precision@k指标来评价特征学习结果,Precision@k指的是通过从所有候选数据中选择距离用户输入数据最相似的前k个数据中,选择正确的数据个数占k的比例。
但是,上述方式中的训练目标与评价标准不一致,导致模型的训练效率较低,限制最终系统性能;除此之外,训练目标与评价指标之间无直接关系,导致特征学习结果不准确,降低用户体验。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据处理方法、装置、电子设备、存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的不能准确得到检索结果的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种数据处理方法,包括:获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签;通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型;将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述目标备选数据的特征学习结果;根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
在本公开的一种示例性实施例中,通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型包括:以优化检索结果评价指标作为训练目标,根据所述检索数据、所述多个备选数据以及所述数据标签对所述特征表示学习模型进行训练。
在本公开的一种示例性实施例中,以优化所述检索结果评价指标作为训练目标,根据所述检索数据、所述多个备选数据以及所述数据标签对所述特征表示学习模型进行训练包括:根据所述检索结果评价指标确定所述特征表示学习模型的损失函数;通过所述损失函数对所述特征表示学习模型进行训练,得到训练好的特征表示学习模型。
在本公开的一种示例性实施例中,根据所述检索结果评价指标确定所述特征表示学习模型的损失函数包括:通过所述特征表示学习模型分别计算所述检索数据以及所述多个备选数据的特征表示向量;计算所述检索数据的特征表示向量与每个备选数据的特征表示向量之间的相似度;通过所述相似度以及所述检索数据和每个备选数据之间的实际相关性得到所述损失函数。
在本公开的一种示例性实施例中,通过所述损失函数对所述特征表示学习模型进行训练,得到训练好的特征表示学习模型包括:通过所述损失函数的数值计算所述特征表示学习模型的梯度;采用反向传播算法,根据所述梯度对所述特征表示学习模型进行训练,直至所述特征表示学习模型收敛为止,以得到所述训练好的特征表示学习模型。
在本公开的一种示例性实施例中,所述方法还包括:采用动态规划算法,根据所述损失函数的数值计算所述特征表示学习模型的所述梯度。
在本公开的一种示例性实施例中,所述损失函数为:
在本公开的一种示例性实施例中,根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果包括:对所述目标检索数据的特征表示向量以及所述多个目标备选数据对应的特征表示向量进行相似度计算,从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
根据本公开的一个方面,提供一种数据处理装置,包括:数据获取模块,用于获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签;模型训练模块,用于通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型;特征学习控制模块,用于将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述目标备选数据的特征学习结果;检索结果确定模块,用于根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的数据处理方法。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的数据处理方法。
本公开示例性实施例中提供的数据处理方法、装置、电子设备以及计算机可读存储介质中,一方面,通过检索数据以及多个备选数据、表示检索数据与备选数据是否对应的数据标签,对特征表示学习模型进行训练得到训练好的特征表示学习模型,能够使得特征表示学习模型中包含检索结果评价指标,因此能够将评价标准与训练过程相互结合,能够避免评价标准与训练目标不一致的情况,从而提高模型模型训练效率。另一方面,由于训练数据包括表示检索数据与备选数据对应关系的数据标签,因此特征表示学习模型也能够表明检索结果的评价指标,使得能够结合评价标准对模型进行训练,能够更准确地训练模型,进而提高特征学习结果的准确性,并且可以快速准确地得到检索结果,提高用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种实现数据处理方法的系统架构示意图。
图2示意性示出本公开示例性实施例中一种数据处理方法的流程图。
图3示意性示出本公开示例性实施例中得到特征学习结果的具体流程图。
图4示意性示出本公开示例性实施例中模型训练的流程图。
图5示意性示出本公开示例性实施例中确定损失函数的流程图。
图6示意性示出本公开示例性实施例中一种数据处理装置的框图。
图7示意性示出本公开示例性实施例中一种电子设备的框图。
图8示意性示出本公开示例性实施例中一种程序产品。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了一种用于实现数据处理的系统架构,参考图1所示,该系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送请求指令等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如图片处理应用、购物类应用、网页浏览器应用、检索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本申请实施例所提供的数据处理方法一般由服务器105执行,相应地,数据处理装置一般设置于终端设备101中。
基于图1中的系统架构,本示例实施方式中提供了一种数据处理方法,可以应用于在电子商务系统、检索引擎或者是其它能够进行检索的页面进行检索,以应用于预定的应用场景。预定的应用场景包括但不限于分类、回归、聚类、推荐、检索、匹配验证、多模态数据整合分析等等多种场景。
接下来,参考图2所示,对本示例性实施例中的数据处理方法进行具体说明。
在步骤S210中,获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签。
本示例性实施例中,以电子商务场景为例进行说明。检索数据指的是用户在终端的界面上输入的文字、语音或者是图像等等,本示例性实施例中以检索数据为图像为例进行说明。本示例性实施例中,检索数据指的是已经得知了或者是确定了检索结果的用户检索图,例如,已经得到的检索结果B对应的,用户在获取检索结果B时输入的待检索的数据A。备选数据指的是可供选择的与检索数据对应的相关或者是相似的数据。当检索数据为图像时,备选数据指的是可供用户选择的其他图像。需要说明的是,备选数据是系统随机确定的,因此备选数据可以与检索数据的类型相同,也可以与检索数据的类型不同,此处不作特殊限定。可例如,参考图3中所示,检索数据为手提包的图像,备选数据包括不同角度的相同款式的手提包的图像,也可以包括不同款式的包的图像等等。检索数据不同,备选数据可以相同,也可以不同。除此之外,还需要获取表示所述检索数据与所述备选数据对应关系的数据标签,数据标签的取值例如可以为0或1。当数据标签的值为0时,表明检索数据与备选数据不相关、无对应关系或者是属于不同类型的图像;当数据标签的值为1时,表明检索数据与备选数据相关、有对应关系或者是属于在不同角度拍摄的同一个物品。参考图3中所示,检索数据为q,检索数据对应的多个备选数据可以表示为z1,...zn,其中备选数据z2与检索数据的数据标签为1,备选数据zn与检索数据的数据标签为1,则表明该备选数据z2和zn均与检索数据相关或者是与检索数据属于同一个物品。
在步骤S220中,通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型。
本示例性实施例中,特征表示用于高效准确地表达输入的检索数据的语义特征或者是表示输入的检索数据间的语义距离,特征表示的表现形式一般为向量的形式。在输入一定格式的检索数据(包括但不仅限于各种类型的多媒体数据,图像、语音、文字等),可输出一个向量作为其特征表示。例如,在图像数据分析时,输出的特征表示的向量能反映图像的内容信息。当两张图像内容为同一类别时,这两张图像的特征表示的向量间的相似度应较大;反之,当两张图像内容为不同类别时,这两张图像的特征表示的向量间的相似度应该较小。
特征表示学习模型指的是用于得到检索数据和备选数据的特征表示向量的模型。此处的特征学习模型例如可以为卷积神经网络模型,也可以为其他合适的机器学习模型,例如支持向量机、逻辑回归模型等等。以通过卷积神经网络模型得到检索数据和备选数据的特征表示向量为例,卷积神经网络模型一般包括输入层、映射层以及输出层。本示例实施方式中,卷积神经网络模型的输入层的输入可以为检索数据、检索数据对应的备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签,例如0或1,卷积神经网络模型的输出层的输出可以为检索数据以及每个备选数据的特征表示向量。卷积神经网络模型的映射层可以通过一映射函数,将输入层映射至输出层,以使卷积神经网络模型输出检索数据和每个备选数据的特征表示向量。
特征表示学习模型可以包含检索结果评价指标,其具体实现方式为:在模型训练时,以优化检索结果评价指标作为训练目标,根据所述检索数据、所述多个备选数据以及所述数据标签对所述特征表示学习模型进行训练,从而能够使模型训练与检索结果结合起来。其中,检索结果评价指标指的是用于描述或评价检索结果是否准确的指标,具体可以为经典评价指标Precision@k。Precision@k的具体含义包括:通过一定的算法从备选数据的数据库中选择与用户检索数据相似度最大的前k个备选数据,其中与用户检索数据实际相关的备选数据的个数占k的比例。例如,在电商检索系统中,用户往往只关心首页结果前几项中,有多少与用户检索数据实际相关的内容,从而点击完成交易。用户并不会关心靠中后的页面中相关内容与不相关内容的相对顺序。所以Precision@k是与成交率,用户体验等最相关的检索系统评价标准之一。本示例性实施例中,直接将最大化Precision@k作为训练目标,对模型进行训练,能够使特征表示学习模型包含检索结果评价指标,从而使得模型训练、优化方向与评价标准一致。
通过检索数据以及每个备选数据对模型进行训练的过程中,主要是以优化所述检索结果评价指标作为训练目标,根据所述检索数据以及所述多个备选数据对所述特征表示学习模型进行训练。如此一来,可避免图像检索过程中,训练目标是把某张与用户检索图同类的备选图A排在某张与用户检索图异类的备选图B之前。但是实际检索结果中,备选图A和备选图B很可能都不排在检索结果的靠前若干项导致训练目标对检索结果的评价无相关性的问题。具体地,以优化检索结果评价指标为训练目标,对模型进行训练的过程如图4所示,具体包括步骤S401和步骤S402,其中:
在步骤S401中,根据所述检索结果评价指标确定所述特征表示学习模型的损失函数。
在本步骤中,损失函数指的是用来估量模型的预测值与真实值的不一致程度,它是一个非负实值函数,损失函数越小,模型的精准度就越好。因此模型训练过程中需对损失函数进行调整,以使模型的准确率更高,性能更优。
本示例性实施例中,可通过检索结果评价指标来确定特征表示学习模型的损失函数,检索结果评价指标可以包括通过模型计算的检索数据和备选数据的相似度、检索数据与备选数据的实际相关性。具体地,步骤S401中确定损失函数的过程具体包括图5中所示的步骤S501至步骤S503。
在步骤S501中,通过所述特征表示学习模型分别计算所述检索数据以及所述多个备选数据的特征表示向量。
在本步骤中,将检索数据输入初始的特征表示学习模型,得到检索数据对应的特征表示向量。同时可以将每一个备选数据输入初始的特征表示学习模型,得到每个备选数据对应的特征表示向量。参考图3中所示,每次取n+1个图像作为一批处理,其中一张作为用户的检索数据,另外n张作为备选数据,与q相关的图像个数m大于等于k张。用户输入的检索数据为图像q,检索数据对应的多个备选数据可以表示为z1,...zn。所有的n+1个图像通过CNN(Convolutional neural network,卷积神经网络模型)得到特征表示向量f,具体可以表示为fq以及f1,...fn。
在步骤S502中,计算所述检索数据的特征表示向量与每个备选数据的特征表示向量之间的相似度。
在本步骤中,相似度可以用距离来衡量,例如可用欧式距离来表示。具体地,相似度与欧式距离负相关,即欧式距离越大,相似度越小;欧式距离越小,相似度越大。相似度还可以为余弦相似度。相似度的值越小,说明两个向量不相似、属于不同类型或者是检索数据与备选数据之间的差异较大。相似度的值越大,说明两个特征表示向量相似,或者是检索数据与备选数据差异较小。
参考图3所示进行说明,si为根据特征表示向量计算的用户检索数据q与备选数据zi的相似度。例如检索数据与第一个备选数据之间的相似度可以用s(1)=<f(q),f(z1)>来表示,依次类推。
在此基础上,n+1张图像分别通过卷积神经网络模型输出n+1个特征表示向量,而后计算用户检索图的特征表示向量与n张备选图的特征表示向量的相似度s1,...sn,即组成一个n维相似度向量。
在步骤S503中,通过所述相似度以及所述检索数据和每个备选数据之间的实际相关性得到所述损失函数。
在步骤中,实际相关性指的是检索数据与备选数据的相关性的实际情况。参考图3中所示,用户检索数据q与备选数据zi的实际相关性可以用yi来表示,yi=1表示实际相关,yi=0表示实际不相关。例如检索数据为手提包,备选数据为双肩包,则二者不相关,yi=0;若检索数据为手提包,备选数据为在不同角度拍摄的同类型同款式的手提包的图像,则二者相关,yi=1。需要说明的是,实际相关性可通过人工手动确定。
在得到相似度和实际相关性之后,可通过相似度和实际相关性生成损失函数。损失函数是基于特征表示向量计算的相似度与实际相关性之间的差异计算的损失函数,本示例性实施例中泛指一切能优化Precision@k的损失函数。
在此基础上,得到的损失函数可以如公式(1)所示:
为了减少计算量,可采用动态规划算法来计算损失函数。具体过程如公式(2)至公式(10)所示:
第一步,计算第一项。首先通过公式(2)和公式(3)进行定义:
接下来,通过公式(4)和公式(5)计算:
计算公式(8)和公式(9):
第三步,通过公式(10)计算总的损失函数:
在步骤S402中,通过所述损失函数对所述特征表示学习模型进行训练,得到训练好的特征表示学习模型。
在本步骤中,在步骤S401的基础上,可通过损失函数对卷积神经网络模型的参数进行更新和调整,以得到训练好的特征表示学习模型。由于损失函数与检索结果评价指标直接相关,因此通过损失函数对模型进行训练,且以优化检索结果评价指标作为训练目标,能够提高模型训练效率和模型的准确性。
通过损失函数训练模型的具体步骤包括:第一步,通过所述损失函数的数值计算所述特征表示学习模型的梯度;第二步,采用反向传播算法,根据所述梯度对所述特征表示学习模型进行训练,直至所述特征表示学习模型收敛为止,以得到所述训练好的特征表示学习模型。
以最大化Precision@k为训练目标对特征表示学习模型进行训练时,由于Precision@k的不可导性,可能导致卷积神经网络无法获得梯度进行反向传播。为了解决这个问题,本示例性实施例中,通过平滑的损失函数来趋近Precision@k损失函数本身,保证了该损失函数构建的深度特征表示学习模型可以得到有效训练。
同时针对平滑后的损失函数在反向传播过程中,时间复杂度巨大的问题,本示例性实施例中提出了一种基于动态规划算法来计算梯度,把时间复杂度从指数级降到了多项式级,从而提高了计算效率和计算速度。
确定a2的具体过程包括:定义矩阵△k,n,其中第一行均为1,然后对元素δj,i进行如公式(11)的操作,直至将△k,n填满,取第k行,作为a2。
计算的第一个梯度如公式(12)所示:
grad1=a1a2 T⊙a3 (12)
确定b2的具体过程包括:定义矩阵△k,m,其中第一行均为1,然后对元素δj,i按照公式(13)进行操作,直至将△k,m填满,取第k行,作为b2。
计算的第二个梯度如公式(14)所示:
grad2temp=b1b2 T⊙b3 (14)
将grad2temp恢复为n维向量,新建n维向量grad2,将grad2temp中的元素依次放到对应y为1的序号的grad2中,其余位置填0。
第三步,根据公式(15)获得梯度grad:
grad=grad1-grad2 (15)
在得到梯度之后,可采用反向传播算法,根据梯度对特征表示学习模型进行训练,直至特征表示学习模型收敛为止,以得到训练好的特征表示学习模型。反向传播算法主要由两个环节(激励传播、权重更新)反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。每次迭代中的传播环节包含两步:将训练输入送入网络以获得激励响应;将激励响应同训练输入对应的目标输出求差,从而获得隐层和输出层的响应误差。对于每个突触上的权重,按照以下步骤进行更新:将输入激励和响应误差相乘,从而获得权重的梯度;将这个梯度乘上一个比例并取反后加到权重上。这个比例将会影响到训练过程的速度和效果,因此称为"训练因子"。梯度的方向指明了误差扩大的方向,因此在更新权重的时候需要对其取反,从而减小权重引起的误差。通过反向传播算法更新CNN网络参数,能够使得CNN网络性能更优。
在步骤S230中,将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述目标备选数据的特征学习结果。
本示例性实施例中,目标检索数据可以为没有或者是尚未确定检索结果的待检索数据,目标检索数据可以包括图像、语音、文字等类型的数据,例如可以为未得到检索结果的帽子的图像。目标备选数据指的是与目标检索数据较为相似的,由系统自动生成的多个备选数据,具体可以为与目标检索数据中的物品同类型但是存在少量差别的物品的图,例如目标备选数据可以为与目标检索数据中的帽子款式相同或者是不同的帽子的图像。特征学习结果指的是由训练好的特征表示学习模型输出的目标检索数据以及目标检索数据的目标备选数据的特征表示向量。将目标检索数据以及目标检索数据对应的目标备选数据输入步骤S220中训练好的特征表示学习模型中,由于训练好的特征表示学习模型能够结合检索结果评价指标,因此可准确得到目标检索数据以及目标备选数据对应的特征表示向量,避免检索结果与训练目标不一致的问题。
在步骤S240中,根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
本示例性实施例中,由于得到了准确的目标检索数据和目标备选数据的特征表示向量,因此可基于特征表示向量准确得到与目标检索数据对应的检索结果。具体地,可对所述目标检索数据的特征表示向量以及所述多个目标备选数据对应的特征表示向量进行相似度计算,从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。目标检索数据和多个目标备选数据的特征表示向量的相似度可根据余弦相似度来计算,进而可将相似度较大的目标备选数据作为目标检索数据对应的检索结果,从而提高检索结果的准确性。需要说明的是,检索结果可以为一个或者是多个。
在此基础上,当训练的目标是从所有候选图中选择距离用户输入图像最相似的前k个图像时,其检索结果为排在首页的k个图像中相似度最大的备选图像,避免了训练目标不符合实际情况的问题,提高了检索结果的准确性。如此一来,可通过拍照或者是通过输入图像实现精准购物或者是精准搜索图像或者是精准搜索其他数据的功能,提高了搜索效率,也提高了用户体验,同时提高了操作效率和便捷性。
本公开还提供了一种数据处理装置。参考图6所示,该数据处理装置600可以包括:
数据获取模块601,用于获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签;
模型训练模块602,用于通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型;
特征学习控制模块603,用于将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述多个目标备选数据的特征学习结果;
检索结果确定模块604,用于根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
在本公开的一种示例性实施例中,模型训练模块包括:训练控制模块,用于以优化检索结果评价指标作为训练目标,根据所述检索数据、所述多个备选数据以及所述数据标签对所述特征表示学习模型进行训练。
在本公开的一种示例性实施例中,训练控制模块包括:损失函数确定模块,用于根据所述检索结果评价指标确定所述特征表示学习模型的损失函数;训练模块,用于通过所述损失函数对所述特征表示学习模型进行训练,得到训练好的特征表示学习模型。
在本公开的一种示例性实施例中,损失函数确定模块包括:特征表示向量计算模块,用于通过所述特征表示学习模型分别计算所述检索数据以及所述多个备选数据的特征表示向量;相似度计算模块,用于计算所述检索数据的特征表示向量与每个备选数据的特征表示向量之间的相似度;损失函数计算模块,用于通过所述相似度以及所述检索数据和每个备选数据之间的实际相关性得到所述损失函数。
在本公开的一种示例性实施例中,训练模块包括:梯度计算模块,用于通过所述损失函数的数值计算所述特征表示学习模型的梯度;模型更新模块,用于采用反向传播算法,根据所述梯度对所述特征表示学习模型进行训练,直至所述特征表示学习模型收敛为止,以得到所述训练好的特征表示学习模型。
在本公开的一种示例性实施例中,所述装置还包括:梯度计算控制模块,用于采用动态规划算法,根据所述损失函数的数值计算所述特征表示学习模型的所述梯度。
在本公开的一种示例性实施例中,所述损失函数为:
在本公开的一种示例性实施例中,检索结果确定模块包括:结果选择模块,用于对所述目标检索数据的特征表示向量以及所述多个目标备选数据对应的特征表示向量进行相似度计算,从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
需要说明的是,上述数据处理装置中各功能模块的具体细节已经在对应的数据处理方法中进行了详细描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图2中所示的步骤。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
显示单元740可以为具有显示功能的显示器,以通过该显示器展示由处理单元710执行本示例性实施例中的方法而得到的处理结果。显示器包括但不限于液晶显示器或者是其它显示器。
电子设备700也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签;
通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型;
将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述多个目标备选数据的特征学习结果;
根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
2.根据权利要求1所述的数据处理方法,其特征在于,通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型包括:
以优化检索结果评价指标作为训练目标,根据所述检索数据、所述多个备选数据以及所述数据标签对所述特征表示学习模型进行训练。
3.根据权利要求2所述的数据处理方法,其特征在于,以优化所述检索结果评价指标作为训练目标,根据所述检索数据、所述多个备选数据以及所述数据标签对所述特征表示学习模型进行训练包括:
根据所述检索结果评价指标确定所述特征表示学习模型的损失函数;
通过所述损失函数对所述特征表示学习模型进行训练,得到训练好的特征表示学习模型。
4.根据权利要求3所述的数据处理方法,其特征在于,根据所述检索结果评价指标确定所述特征表示学习模型的损失函数包括:
通过所述特征表示学习模型分别计算所述检索数据以及所述多个备选数据的特征表示向量;
计算所述检索数据的特征表示向量与每个备选数据的特征表示向量之间的相似度;
通过所述相似度以及所述检索数据和每个备选数据之间的实际相关性得到所述损失函数。
5.根据权利要求3所述的数据处理方法,其特征在于,通过所述损失函数对所述特征表示学习模型进行训练,得到训练好的特征表示学习模型包括:
通过所述损失函数的数值计算所述特征表示学习模型的梯度;
采用反向传播算法,根据所述梯度对所述特征表示学习模型进行训练,直至所述特征表示学习模型收敛为止,以得到所述训练好的特征表示学习模型。
6.根据权利要求5所述的数据处理方法,其特征在于,所述方法还包括:
采用动态规划算法,根据所述损失函数的数值计算所述特征表示学习模型的所述梯度。
8.根据权利要求1-6任意一项所述的数据处理方法,其特征在于,根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果包括:
对所述目标检索数据的特征表示向量以及所述多个目标备选数据对应的特征表示向量进行相似度计算,从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
9.一种数据处理装置,其特征在于,包括:
数据获取模块,用于获取检索数据、所述检索数据对应的多个备选数据以及表示所述检索数据与所述备选数据对应关系的数据标签;
模型训练模块,用于通过所述检索数据、所述多个备选数据以及所述数据标签,对包含检索结果评价指标的特征表示学习模型进行训练,得到训练好的特征表示学习模型;
特征学习控制模块,用于将目标检索数据以及所述目标检索数据的多个目标备选数据输入训练好的特征表示学习模型,得到所述目标检索数据与所述多个目标备选数据的特征学习结果;
检索结果确定模块,用于根据所述特征学习结果从所述多个目标备选数据中得到所述目标检索数据对应的检索结果。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任意一项所述的数据处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910129630.1A CN111597430A (zh) | 2019-02-21 | 2019-02-21 | 数据处理方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910129630.1A CN111597430A (zh) | 2019-02-21 | 2019-02-21 | 数据处理方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111597430A true CN111597430A (zh) | 2020-08-28 |
Family
ID=72186790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910129630.1A Pending CN111597430A (zh) | 2019-02-21 | 2019-02-21 | 数据处理方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597430A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613451A (zh) * | 2020-12-29 | 2021-04-06 | 民生科技有限责任公司 | 一种跨模态文本图片检索模型的建模方法 |
CN113449132A (zh) * | 2021-08-26 | 2021-09-28 | 阿里云计算有限公司 | 一种向量检索方法及装置 |
-
2019
- 2019-02-21 CN CN201910129630.1A patent/CN111597430A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613451A (zh) * | 2020-12-29 | 2021-04-06 | 民生科技有限责任公司 | 一种跨模态文本图片检索模型的建模方法 |
CN113449132A (zh) * | 2021-08-26 | 2021-09-28 | 阿里云计算有限公司 | 一种向量检索方法及装置 |
CN113449132B (zh) * | 2021-08-26 | 2022-02-25 | 阿里云计算有限公司 | 一种向量检索方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11314806B2 (en) | Method for making music recommendations and related computing device, and medium thereof | |
WO2021047593A1 (zh) | 推荐模型的训练方法、预测选择概率的方法及装置 | |
CN108776787B (zh) | 图像处理方法及装置、电子设备、存储介质 | |
US11694109B2 (en) | Data processing apparatus for accessing shared memory in processing structured data for modifying a parameter vector data structure | |
US8838606B1 (en) | Systems and methods for classifying electronic information using advanced active learning techniques | |
CN111291765A (zh) | 用于确定相似图片的方法和装置 | |
CN111639247B (zh) | 用于评估评论的质量的方法、装置、设备以及计算机可读存储介质 | |
US11276099B2 (en) | Multi-perceptual similarity detection and resolution | |
US20120102018A1 (en) | Ranking Model Adaptation for Domain-Specific Search | |
CN112380331A (zh) | 信息推送的方法和装置 | |
US20210406993A1 (en) | Automated generation of titles and descriptions for electronic commerce products | |
US11526570B2 (en) | Page-based prediction of user intent | |
CN111754278A (zh) | 物品推荐方法、装置、计算机存储介质和电子设备 | |
CN112487283A (zh) | 训练模型的方法、装置、电子设备及可读存储介质 | |
CN111209351A (zh) | 对象关系预测、对象推荐方法及装置、电子设备、介质 | |
CN112732898A (zh) | 文献摘要生成方法、装置、计算机设备及存储介质 | |
CN111597430A (zh) | 数据处理方法及装置、电子设备、存储介质 | |
US11797281B2 (en) | Multi-language source code search engine | |
US20220019902A1 (en) | Methods and systems for training a decision-tree based machine learning algorithm (mla) | |
CN118043802A (zh) | 一种推荐模型训练方法及装置 | |
CN112784157A (zh) | 行为预测模型的训练方法、行为预测方法及装置、设备 | |
US20220405531A1 (en) | Blackbox optimization via model ensembling | |
CN113743973A (zh) | 分析市场热点趋势的方法和装置 | |
US12019671B2 (en) | Locally constrained self-attentive sequential recommendation | |
US20230116969A1 (en) | Locally Constrained Self-Attentive Sequential Recommendation |
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 |