CN112749325A - 搜索排序模型的训练方法、装置、电子设备及计算机介质 - Google Patents

搜索排序模型的训练方法、装置、电子设备及计算机介质 Download PDF

Info

Publication number
CN112749325A
CN112749325A CN201911054734.7A CN201911054734A CN112749325A CN 112749325 A CN112749325 A CN 112749325A CN 201911054734 A CN201911054734 A CN 201911054734A CN 112749325 A CN112749325 A CN 112749325A
Authority
CN
China
Prior art keywords
data
feature
training
ranking model
characteristic
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
Application number
CN201911054734.7A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201911054734.7A priority Critical patent/CN112749325A/zh
Publication of CN112749325A publication Critical patent/CN112749325A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种搜索排序模型的训练方法、装置、电子设备及计算机可读介质,属于深度学习技术领域。该方法包括:获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据;根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,根据所述特征数据生成特征矩阵;从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并;根据所述特征数据列表构建初始搜索排序模型,并利用所述样本数据训练所述初始搜索排序模型。本公开通过使用特征矩阵提取特征并进行关联特征的合并,可以减少特征提取的时间,从而有效地提高机器学习效率。

Description

搜索排序模型的训练方法、装置、电子设备及计算机介质
技术领域
本公开涉及深度学习技术领域,具体而言,涉及一种搜索排序模型的训练方法、搜索排序模型的训练装置、电子设备及计算机可读介质。
背景技术
搜索排序在电商平台中占据着非常重要的地位,是连接消费者和商家的重要途径。因为深度学习的拟合能力强、对特征工程要求低,因此在搜索排序领域已经有很多应用。
神经网络很早就被用来做排序模型,比如,2005年微软研究院提出的RankNet使用神经网络做Pairwise学习;2012年谷歌介绍了用深度学习做CTR的方法等。
然而,现有技术中使用深度学习算法训练搜索排序模型的学习效率都比较低,需要一种能够有效提高机器学习效率的搜索排序模型的训练方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种搜索排序模型的训练方法、搜索排序模型的训练装置、电子设备及计算机可读介质,进而至少在一定程度上克服由于传统搜索排序模型的训练方法的限制而导致的机器学习效率较低等问题。
根据本公开的第一个方面,提供一种搜索排序模型的训练方法,包括:
获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据;
根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,根据所述特征数据生成特征矩阵;
从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并;
根据所述特征数据列表构建初始搜索排序模型,并利用所述样本数据训练所述初始搜索排序模型,得到所述搜索排序模型。
在本公开的一种示例性实施例中,所述获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据,包括:
获取与搜索对象相关的原始数据,并根据预设的多个标签对所述原始数据中的字段内容进行筛选;
判断筛选后的所述原始数据中的字段内容是否符合预设规则,并将所述字段内容不符合预设规则的所述原始数据删除;
若筛选后的所述原始数据中的字段内容符合所述预设规则,则对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据。
在本公开的一种示例性实施例中,所述样本数据包括第一标签对应的字段内容和第二标签对应的字段内容,所述特征包括基础特征,动态特征和第三方特征;所述根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,包括:
根据所述第一标签得到所述基础特征,并根据所述第一标签对应的字段内容得到具有所述基础特征的基础特征数据;
根据所述第二标签得到所述动态特征,并根据所述第二标签对应的字段内容得到具有所述动态特征的动态特征数据;
根据第三方数据库中的样本数据得到具有所述第三方特征的第三方特征数据。
在本公开的一种示例性实施例中,所述根据所述特征数据生成特征矩阵包括:
将每个所述特征对应的所述特征数据作为矩阵的一个维度,生成所述特征矩阵。
在本公开的一种示例性实施例中,所述从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并,包括:
从所述特征矩阵中依次抽取所述特征数据,并判断所述特征数据列表中是否存在与所述特征数据具有关联关系的关联特征数据;
若所述特征数据列表中不存在所述关联特征数据,则将所述特征数据存放至所述特征数据列表;
若所述特征数据列表中存在所述关联特征数据,则将所述特征数据与所述关联特征数据进行合并,并将合并后的特征数据存放至所述关联特征数据所在的位置。
在本公开的一种示例性实施例中,所述利用所述样本数据训练所述初始搜索排序模型,包括:
创建并行的读取数据线程和训练数据线程;
通过所述读取数据线程读取样本数据;
通过所述训练数据线程利用所述样本数据训练所述初始搜索排序模型。
在本公开的一种示例性实施例中,所述通过所述读取数据线程读取样本数据包括:
确定所述训练数据线程的训练数据批尺寸以及与所述训练数据批尺寸相关的数据量阈值;
若所述训练数据批尺寸小于所述数据量阈值,则通过所述读取数据线程调用第一接口函数读取样本数据;
若所述训练数据批尺寸大于或者等于所述数据量阈值,则通过所述读取数据线程调用第二接口函数读取样本数据。
根据本公开的第二方面,提供一种搜索排序模型的训练装置,包括:
原始数据标注模块,用于获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据;
特征矩阵生成模块,用于根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,根据所述特征数据生成特征矩阵;
特征数据合并模块,用于从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并;
搜索排序模型训练模块,用于根据所述特征数据列表构建初始搜索排序模型,并利用所述样本数据训练所述初始搜索排序模型,得到所述搜索排序模型。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的搜索排序模型的训练方法。
根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的搜索排序模型的训练方法。
本公开示例性实施例可以具有以下有益效果:
本公开示例实施方式的搜索排序模型的训练方法中,通过生成特征矩阵,从特征矩阵中提取特征并进行关联特征的融合,一方面,使用特征矩阵可以减少特征提取的时间,可以更快速地构建模型,从而有效地提高机器学习的效率。另一方面,搜索排序的优化能够帮助用户更便捷地找到满足其需求的商家和团购商品,改进用户体验,提升订单的转化效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开示例实施方式的搜索排序模型的训练方法的流程示意图;
图2示出了本公开示例实施方式的获取带标签的样本数据的流程示意图;
图3示意性示出了本公开示例实施方式的对数据内容进行标注的示意图;
图4示出了本公开示例实施方式的根据样本数据得到特征数据的流程示意图;
图5示出了本公开示例实施方式的合并关联特征数据的流程示意图;
图6示意性示出了本公开示例实施方式的特征提取方法的示意图;
图7示出了本公开示例实施方式的初始搜索排序模型的训练方法的流程示意图;
图8示出了本公开示例实施方式的通过读取数据线程读取样本数据的流程示意图;
图9示出了本公开示例实施方式的搜索排序模型的训练装置的框图;
图10示出了适于用来实现本公开实施方式的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式使用TensorFlow提供一种优化的搜索排序模型的训练方法。TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在数据流图中表示数学操作,数据流图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。数据流图用节点(Nodes)和线(edges)的有向图来描述数学计算,张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。
TensorFlow可以用于各种感知和语言理解任务的机器学习,其轻便,灵活,性能最优等特点可以有效地提高学习效率。因此,一种基于TensorFlow的优化搜索排序方法比原始的排序系统更为轻便和快捷。
本示例实施方式首先提供了一种搜索排序模型的训练方法。参考图1所示,上述搜索排序模型的训练方法可以包括以下步骤:
步骤S110.获取与搜索对象相关的原始数据,并对原始数据中的字段内容添加不同的标签,得到带有多个标签的样本数据。
搜索对象包括商家或店铺、商品以及团购等。原始数据的内容从数据库中读取,是从用户的订单记录、搜索记录、点击搜索提示记录和浏览记录等数据中提取出的详细信息,包括如城市、地理位置、筛选条件、点击时间、下单时间、下单金额等信息。
对原始数据中的字段内容进行筛选后添加不同的标签,将不同的字段内容进行标注,即增加标签(例如:城市,地理位置,点击时间等条件不同的标注项)后进行存储,得到带有多个标签的样本数据。
数据清洗,就是上述数据筛选、标注和存储的过程,主要是为特征提取和模型构建准备样本数据,同时清洗掉不合法的数据。通过数据清洗,将样本数据中不同的内容标注为不同的类型以供特征提取和模型构建时使用。
步骤S120.根据多个标签得到多个特征,并根据样本数据得到具有多个特征的特征数据,根据特征数据生成特征矩阵。
将可拆分为多个特征的标签及其所对应的样本数据的内容进行拆分,或根据多个不同标签对应的样本数据内容计算得到具有多个特征的特征数据。
在提取特征之前,先根据特征数据生成特征矩阵,即将每个特征对应的一组特征数据的内容作为特征矩阵的一个维度得到特征矩阵。使用特征矩阵来提取特征,可以大大减少特征提取的时间,也可以更快速地构建模型。
步骤S130.从特征矩阵中抽取特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并。
从特征矩阵中抽取特征数据后,判断特征数据是否能够合并,即进行特征融合。不能合并的一部分进行单属性直接调用,能够合并的一部分则进行特征属性融合,即特征属性调研积累后进行调用。特征融合用于调研特征矩阵中存在的特征数据内容,即具有多个特征的特征数据。特征融合的目的在于将待调研的新特征通过某一个关键词合并到已知的特征数据列表中,从而在模型训练中使用该特征。
步骤S140.根据特征数据列表构建初始搜索排序模型,并利用样本数据训练初始搜索排序模型,得到搜索排序模型。
特征矩阵的构建是为了更快速的构建模型。对原始数据如城市,点击时间,金额等行为来进行统计,对不同的维度进行权重适配,即对应的样本数据会根据其内容量赋予不断增大的权重。对模型的构建可遵从GBDT(迭代决策树),GBDT是LTR(学习排序)中应用较多也是性能最好的非线性模型。也可以使用其他模型构建初始搜索排序模型,在本实施例中不做具体限定。
TensorFlow模型训练支持多种模型的训练。以样本数据作为训练数据,并将训练数据格式化为模型需要的输入格式。修改模型训练的配置文件,就可以使用TensorFlow的框架训练该模型。
下面,结合图2至图8对本示例实施方式的上述步骤进行更加详细的说明。
在步骤S110中,如图2所示,获取与搜索对象相关的原始数据,并对原始数据中的字段内容添加不同的标签,得到带有多个标签的样本数据具体可以包括以下几个步骤:
步骤S210.获取与搜索对象相关的原始数据,并根据预设的多个标签对原始数据中的字段内容进行筛选。
原始数据的内容从数据库中读取,是从用户的订单记录、搜索记录、点击搜索提示记录和浏览记录等数据中提取出的详细信息,包括如城市、地理位置、筛选条件、点击时间、下单时间、下单金额等信息。
根据预设的多个标签对原始数据中的字段内容进行筛选,即判断原始数据中的字段内容是否正确,例如城市对应的内容是否为正确的城市名称,筛选条件对应的内容是否为正确的关键词语,根据该内容进行搜索能否得到相关的商品信息等。
对于不合法的数据则将其进行清洗,并对筛选后的原始数据中的字段内容进行序列化存储。
步骤S220.判断筛选后的原始数据中的字段内容是否符合预设规则,并将字段内容不符合预设规则的原始数据删除。
序列化过程中,如果字段内容与标签不匹配或者内容超过初始设定值,例如下单时间为0~24小时,若出现25小时,则清洗相关数据,避免数据对特征提取和模型构建造成影响。
步骤S230.若筛选后的原始数据中的字段内容符合预设规则,则对原始数据中的字段内容添加不同的标签,得到带有多个标签的样本数据。
对原始数据中的字段内容进行筛选后添加不同的标签,将不同的字段内容进行标注,即增加标签(例如:城市,地理位置,点击时间等条件不同的标注项)后进行存储,得到带有多个标签的样本数据。
使用样本数据的过程中对不同的标签先遍历其标注的内容,然后取出具体内容,若该标签对应的标注项为空,则放弃此项内容。
例如,如图3所示,原始数据的内容包括城市301、地理位置302、筛选条件303、点击时间304、下单金额305和一些其他的内容,原始数据通过筛选,仅保留与所设标签相关的内容,将其他无关内容清洗后对原始数据进行序列化306,数据序列化之后按照不同的标签对不同的内容进行标注,得到带有多个标签的样本数据,即标注城市307、标注地理位置308、标注筛选条件309、标注点击时间310和标注下单金额311。
在步骤S120中,样本数据包括第一标签对应的字段内容和第二标签对应的字段内容,特征包括基础特征,动态特征和第三方特征;如图4所示,根据多个标签得到多个特征,并根据样本数据得到具有多个特征的特征数据具体可以包括以下几个步骤:
步骤S410.根据第一标签得到基础特征,并根据第一标签对应的字段内容得到具有基础特征的基础特征数据。
特征数据按照来源可分为三部分:基础特征数据,动态特征数据和第三方特征数据,标签可分为第一标签和第二标签,其中,第一标签可以拆分为多个特征,而第一标签对应的样本数据中的字段内容可拆分为对应于多个特征的基础特征数据。
对于基础特征数据,可以存储在Hive(基于Hadoop的数据仓库工具)表中,如POI(point of interest,兴趣点)的名字、品类、团购数等,这些特征是通过筛选条件的标签拆分得来的。
步骤S420.根据第二标签得到动态特征,并根据第二标签对应的字段内容得到具有动态特征的动态特征数据。
动态特征数据可以根据第二标签所对应的样本数据内容计算得到,是需要积累一段时间后才能统计和计算的特征数据,如POI的点击率、销量等,这部分通过积累第二标签所对应的样本数据,然后对其处理后得到。
步骤S430.根据第三方数据库中的样本数据得到具有第三方特征的第三方特征数据。
特征数据也可能融合第三方服务的特征,例如其他电商平台的数据库中存储的样本数据。一般第三方服务会将产生的特征数据按照约定的格式存储在HDFS(Hadoop分布式文件系统)上。
得到所有的特征数据之后,将每个特征对应的特征数据作为矩阵的一个维度,生成特征矩阵。
在步骤S130中,如图5所示,从特征矩阵中抽取特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并具体可以包括以下几个步骤:
步骤S510.从特征矩阵中依次抽取特征数据,并判断特征数据列表中是否存在与特征数据具有关联关系的关联特征数据。
从特征矩阵中依次抽取特征数据后,判断特征数据列表中是否存在与特征数据具有关联关系的关联特征数据,即判断是否能够与之前抽取并存放在特征数据列表中的特征数据融合。
特征抽取的流程图如图6所示,可以包括如下几个步骤:
步骤S610.特征矩阵601通过使用特征配置文件602进行特征抽取。
步骤S620.进行特征抽取后可以直接进行特征存储。
步骤S630.进行特征抽取后也可以进行特征融合,即特征属性调研积累。
步骤S640.特征调用,可以是单属性特征调用,也可以是进行特征融合后的融合特征调用。
步骤S520.若特征数据列表中不存在关联特征数据,则将特征数据存放至特征数据列表。
如果特征数据列表中不存在与特征数据具有关联关系的关联特征数据,即特征数据不能与之前抽取并存放在特征数据列表中的各个特征数据融合,则将抽取的特征数据按顺序直接存放于特征数据列表中。
步骤S530.若特征数据列表中存在关联特征数据,则将特征数据与关联特征数据进行合并,并将合并后的特征数据存放至关联特征数据所在的位置。
如果特征数据列表中存在与特征数据具有关联关系的关联特征数据,即特征数据能够与之前抽取并存放在特征数据列表中的某个特征数据融合,则将抽取的特征数据与其对应的关联特征数据融合后,存放于特征数据列表中该关联特征数据所在的位置。
在步骤S140中,如图7所示,利用样本数据训练初始搜索排序模型具体可以包括以下几个步骤:
步骤S710.创建并行的读取数据线程和训练数据线程。
理想情况下队列总是充满数据的,训练数据线程完成一轮训练后立即读取下一批数据。如果队列为不满状态,训练数据线程不得不阻塞,等待读取数据线程的执行。
本示例实施方式中,TensorFlow支持以流水线(Pipeline)的方式输入训练数据。Pipeline这种多线程、多队列的设计可以使读取数据线程和训练数据线程并行。
步骤S720.通过读取数据线程读取样本数据。
由于TensorFlow基于Python实现,Pipeline多线程受制于全局锁(GIL),读取数据线程在训练时没有获得足够的调度执行,这里可以使用接口tf.data.Dataset进行改造。该接口不再使用Python线程读取样本数据,而是用C++线程实现,避免了Python中的GIL问题。优化TensorFlow对读取数据线程在模型训练中的线程阻塞问题,可以提高样本数据的读写速度。
步骤S730.通过训练数据线程利用样本数据训练初始搜索排序模型。
以样本数据作为训练数据,通过读取数据线程和训练数据线程并行的方式训练初始搜索排序模型,得到训练完成后的搜索排序模型。
通过搜索排序模型训练出的排序结果可以通过AUC(Area Under the ROC Curve,ROA曲线下面积,一种模型评估指标)和MAP(Mean Average Precision,平均精度均值)来评价模型,并通过订单转化率和实际搜索内容统计进行算法的迭代和更新。其中,模型评估框架AUC和MAP可替换为其他模型评估方法,在本示例实施方式中不做具体限定。
在步骤S720中,如图8所示,通过读取数据线程读取样本数据具体可以包括以下几个步骤:
步骤S810.确定训练数据线程的训练数据批尺寸以及与训练数据批尺寸相关的数据量阈值。
默认的接口函数TFRecordReader.read函数每次只读入一条数据,如果数据的批尺寸(Batch Size)比较大,读入一个批次(Batch)的数据需要频繁调用该接口,系统开销很大。
因此,在通过读取数据线程读取样本数据之前,先设定一个批次的数据数据量阈值,并判断数据的批尺寸是否大于等于该数据量阈值。
步骤S820.若训练数据批尺寸小于数据量阈值,则通过读取数据线程调用第一接口函数读取样本数据。
若训练数据批尺寸小于数据量阈值,则通过读取数据线程调用第一接口函数,即默认的接口函数TFRecordReader.read读取样本数据。
步骤S830.若训练数据批尺寸大于或者等于数据量阈值,则通过读取数据线程调用第二接口函数读取样本数据。
若训练数据批尺寸大于或者等于数据量阈值,则通过读取数据线程调用第二接口函数,即接口TFRecordReader.read_up_to读取样本数据。其中,接口TFRecordReader.read_up_to能够指定每次读数据的数量,可以通过手动设置训练内容读入的数量。训练数据的批尺寸较大的情况下,可以有效地增加数据读取的效率。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本公开还提供了一种搜索排序模型的训练装置。参考图9所示,该搜索排序模型的训练装置可以包括原始数据标注模块910、特征矩阵生成模块920、特征数据合并模块930以及搜索排序模型训练模块940。
其中:
原始数据标注模块910可以用于获取与搜索对象相关的原始数据,并对原始数据中的字段内容添加不同的标签,得到带有多个标签的样本数据;
特征矩阵生成模块920可以用于根据多个标签得到多个特征,并根据样本数据得到具有多个特征的特征数据,根据特征数据生成特征矩阵;
特征数据合并模块930可以用于从特征矩阵中抽取特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并;
搜索排序模型训练模块940可以用于根据特征数据列表构建初始搜索排序模型,并利用样本数据训练初始搜索排序模型,得到搜索排序模型。
在本公开的一些示例性实施例中,原始数据标注模块910可以包括单元、单元以及单元。其中:
原始数据筛选单元可以用于获取与搜索对象相关的原始数据,并根据预设的多个标签对原始数据中的字段内容进行筛选;
预设规则判断单元可以用于判断筛选后的原始数据中的字段内容是否符合预设规则,并将字段内容不符合预设规则的原始数据删除;
原始数据标注单元可以用于若筛选后的原始数据中的字段内容符合预设规则,则对原始数据中的字段内容添加不同的标签,得到带有多个标签的样本数据。
在本公开的一些示例性实施例中,特征矩阵生成模块920可以包括单元、单元以及单元。其中:
基础特征确定单元可以用于根据第一标签得到基础特征,并根据第一标签对应的字段内容得到具有基础特征的基础特征数据;
动态特征确定单元可以用于根据第二标签得到动态特征,并根据第二标签对应的字段内容得到具有动态特征的动态特征数据;
第三方特征确定单元可以用于根据第三方数据库中的样本数据得到具有第三方特征的第三方特征数据。
在本公开的一些示例性实施例中,特征数据合并模块930可以包括关联特征判断单元、特征数据提取单元以及特征数据合并单元。其中:
关联特征判断单元可以用于从特征矩阵中依次抽取特征数据,并判断特征数据列表中是否存在与特征数据具有关联关系的关联特征数据;
特征数据提取单元可以用于若特征数据列表中不存在关联特征数据,则将特征数据存放至特征数据列表;
特征数据合并单元可以用于若特征数据列表中存在关联特征数据,则将特征数据与关联特征数据进行合并,并将合并后的特征数据存放至关联特征数据所在的位置。
在本公开的一些示例性实施例中,搜索排序模型训练模块940可以包括线程创建单元、数据读取单元以及模型训练单元。其中:
线程创建单元可以用于创建并行的读取数据线程和训练数据线程;
数据读取单元可以用于通过读取数据线程读取样本数据;
模型训练单元可以用于通过训练数据线程利用样本数据训练初始搜索排序模型。
在本公开的一些示例性实施例中,数据读取单元可以包括阈值确定单元、第一数据读取单元以及第二数据读取单元。其中:
阈值确定单元可以用于确定训练数据线程的训练数据批尺寸以及与训练数据批尺寸相关的数据量阈值;
第一数据读取单元可以用于若训练数据批尺寸小于数据量阈值,则通过读取数据线程调用第一接口函数读取样本数据;
第二数据读取单元可以用于若训练数据批尺寸大于或者等于数据量阈值,则通过读取数据线程调用第二接口函数读取样本数据。
上述搜索排序模型的训练装置中各模块/单元的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
图10示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图1所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种搜索排序模型的训练方法,其特征在于,包括:
获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据;
根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,根据所述特征数据生成特征矩阵;
从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并;
根据所述特征数据列表构建初始搜索排序模型,并利用所述样本数据训练所述初始搜索排序模型,得到所述搜索排序模型。
2.根据权利要求1所述的搜索排序模型的训练方法,其特征在于,所述获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据,包括:
获取与搜索对象相关的原始数据,并根据预设的多个标签对所述原始数据中的字段内容进行筛选;
判断筛选后的所述原始数据中的字段内容是否符合预设规则,并将所述字段内容不符合预设规则的所述原始数据删除;
若筛选后的所述原始数据中的字段内容符合所述预设规则,则对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据。
3.根据权利要求1所述的搜索排序模型的训练方法,其特征在于,所述样本数据包括第一标签对应的字段内容和第二标签对应的字段内容,所述特征包括基础特征,动态特征和第三方特征;所述根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,包括:
根据所述第一标签得到所述基础特征,并根据所述第一标签对应的字段内容得到具有所述基础特征的基础特征数据;
根据所述第二标签得到所述动态特征,并根据所述第二标签对应的字段内容得到具有所述动态特征的动态特征数据;
根据第三方数据库中的样本数据得到具有所述第三方特征的第三方特征数据。
4.根据权利要求1所述的搜索排序模型的训练方法,其特征在于,所述根据所述特征数据生成特征矩阵包括:
将每个所述特征对应的所述特征数据作为矩阵的一个维度,生成所述特征矩阵。
5.根据权利要求1所述的搜索排序模型的训练方法,其特征在于,所述从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并,包括:
从所述特征矩阵中依次抽取所述特征数据,并判断所述特征数据列表中是否存在与所述特征数据具有关联关系的关联特征数据;
若所述特征数据列表中不存在所述关联特征数据,则将所述特征数据存放至所述特征数据列表;
若所述特征数据列表中存在所述关联特征数据,则将所述特征数据与所述关联特征数据进行合并,并将合并后的特征数据存放至所述关联特征数据所在的位置。
6.根据权利要求1所述的搜索排序模型的训练方法,其特征在于,所述利用所述样本数据训练所述初始搜索排序模型,包括:
创建并行的读取数据线程和训练数据线程;
通过所述读取数据线程读取样本数据;
通过所述训练数据线程利用所述样本数据训练所述初始搜索排序模型。
7.根据权利要求6所述的搜索排序模型的训练方法,其特征在于,所述通过所述读取数据线程读取样本数据包括:
确定所述训练数据线程的训练数据批尺寸以及与所述训练数据批尺寸相关的数据量阈值;
若所述训练数据批尺寸小于所述数据量阈值,则通过所述读取数据线程调用第一接口函数读取样本数据;
若所述训练数据批尺寸大于或者等于所述数据量阈值,则通过所述读取数据线程调用第二接口函数读取样本数据。
8.一种搜索排序模型的训练装置,其特征在于,包括:
原始数据标注模块,用于获取与搜索对象相关的原始数据,并对所述原始数据中的字段内容添加不同的标签,得到带有多个所述标签的样本数据;
特征矩阵生成模块,用于根据多个所述标签得到多个特征,并根据所述样本数据得到具有多个所述特征的特征数据,根据所述特征数据生成特征矩阵;
特征数据合并模块,用于从所述特征矩阵中抽取所述特征数据存放至特征数据列表,并将其中相关联的特征数据进行合并;
搜索排序模型训练模块,用于根据所述特征数据列表构建初始搜索排序模型,并利用所述样本数据训练所述初始搜索排序模型,得到所述搜索排序模型。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的搜索排序模型的训练方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的搜索排序模型的训练方法。
CN201911054734.7A 2019-10-31 2019-10-31 搜索排序模型的训练方法、装置、电子设备及计算机介质 Pending CN112749325A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911054734.7A CN112749325A (zh) 2019-10-31 2019-10-31 搜索排序模型的训练方法、装置、电子设备及计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911054734.7A CN112749325A (zh) 2019-10-31 2019-10-31 搜索排序模型的训练方法、装置、电子设备及计算机介质

Publications (1)

Publication Number Publication Date
CN112749325A true CN112749325A (zh) 2021-05-04

Family

ID=75645513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911054734.7A Pending CN112749325A (zh) 2019-10-31 2019-10-31 搜索排序模型的训练方法、装置、电子设备及计算机介质

Country Status (1)

Country Link
CN (1) CN112749325A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344074A (zh) * 2021-06-02 2021-09-03 北京百度网讯科技有限公司 模型训练方法、装置、设备及存储介质
CN115130008A (zh) * 2022-08-31 2022-09-30 喀斯玛(北京)科技有限公司 一种基于机器学习模型算法的搜索排序方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344074A (zh) * 2021-06-02 2021-09-03 北京百度网讯科技有限公司 模型训练方法、装置、设备及存储介质
CN113344074B (zh) * 2021-06-02 2023-09-05 北京百度网讯科技有限公司 模型训练方法、装置、设备及存储介质
CN115130008A (zh) * 2022-08-31 2022-09-30 喀斯玛(北京)科技有限公司 一种基于机器学习模型算法的搜索排序方法
CN115130008B (zh) * 2022-08-31 2022-11-25 喀斯玛(北京)科技有限公司 一种基于机器学习模型算法的搜索排序方法

Similar Documents

Publication Publication Date Title
JP7030707B2 (ja) アプリケーションプログラミングインターフェイスのメタデータ駆動型外部インターフェイス生成ためのシステムおよび方法
CN107330445B (zh) 用户属性的预测方法和装置
US11682093B2 (en) Document term recognition and analytics
US8538915B2 (en) Unified numerical and semantic analytics system for decision support
CN109034203B (zh) 表情推荐模型的训练、表情推荐方法、装置、设备及介质
CN109933514B (zh) 一种数据测试方法和装置
CN108984554B (zh) 用于确定关键词的方法和装置
CN108932625B (zh) 用户行为数据的分析方法、装置、介质和电子设备
US11334750B2 (en) Using attributes for predicting imagery performance
CN114579104A (zh) 数据分析场景的生成方法、装置、设备及存储介质
CN112925664A (zh) 目标用户的确定方法、装置、电子设备及存储介质
CN112749325A (zh) 搜索排序模型的训练方法、装置、电子设备及计算机介质
CN110795613A (zh) 商品搜索方法、装置、系统及电子设备
Kiziltan et al. Constraint detection in natural language problem descriptions
Li et al. Research on the application of multimedia entropy method in data mining of retail business
CN116738081A (zh) 一种前端组件绑定方法、装置及存储介质
US10585926B2 (en) Managing structuring of large sets of unstructured data
CN108875014B (zh) 基于大数据与人工智能的精准项目推荐方法和机器人系统
CN111782850A (zh) 一种基于手绘图的物品搜索方法和装置
US20200175072A1 (en) Complex modeling computational engine optimized to reduce redundant calculations
CN113742450B (zh) 用户数据等级落标的方法、装置、电子设备和存储介质
CN115017385A (zh) 一种物品搜索方法、装置、设备和存储介质
CN112328899B (zh) 信息处理方法、信息处理装置、存储介质与电子设备
CN108921431A (zh) 政企客户聚类方法及装置
CN110781283B (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