CN112182359A - 推荐模型的特征管理方法及系统 - Google Patents
推荐模型的特征管理方法及系统 Download PDFInfo
- Publication number
- CN112182359A CN112182359A CN201910606587.3A CN201910606587A CN112182359A CN 112182359 A CN112182359 A CN 112182359A CN 201910606587 A CN201910606587 A CN 201910606587A CN 112182359 A CN112182359 A CN 112182359A
- Authority
- CN
- China
- Prior art keywords
- feature
- features
- user
- log
- recommendation model
- 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
Links
- 238000007726 management method Methods 0.000 title description 151
- 238000012549 training Methods 0.000 claims abstract description 117
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000010801 machine learning Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000001914 filtration Methods 0.000 claims description 15
- 230000006399 behavior Effects 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 10
- 238000003672 processing method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 34
- 230000015654 memory Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 12
- 239000000284 extract Substances 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 235000019580 granularity Nutrition 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Economics (AREA)
- Marketing (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种推荐模型的特征管理方法、系统及存储介质;方法包括:在推荐模型的机器学习框架中植入特征管理实例;在推荐模型的离线训练阶段,从日志系统获取推荐模型在线预测阶段的推荐日志,通过特征管理实例中配置的特征处理方式,从推荐日志中提取离线特征,以及基于离线特征形成训练样本,以用于推荐模型的离线训练;在推荐模型的在线预测阶段,通过特征处理方式从用户请求和候选对象的信息中提取在线特征,以用于推荐模型的在线预测,以及利用用户的特征和在线预测所推荐的对象的特征,更新日志系统。通过本发明,能够优化特征处理以提升训练推荐模型的效率以及推荐模型预测的精度。
Description
技术领域
本发明涉及人工智能技术,尤其涉及一种推荐模型的特征管理方法、系统及存储介质。
背景技术
基于人工智能的推荐技术得到广泛应用,例如在物品推荐、广告搜索等领域,借助于推荐模型,能够从海量的物品和广告中,挖掘出用户感兴趣的物品和广告,从而实现智能化的推荐,提升了用户获取有价值信息的便利性和效率。
对于提升推荐模型的性能,相关技术的焦点集中在提出更有效的模型结构,以及提升效率和精度更高的训练算法。
然而,对于如何从特征工程的角度来提升训练推荐模型的效率、以及推荐模型预测的精度,相关技术尚无有效解决方案。
发明内容
本发明实施例提供一种推荐模型的特征管理方法、系统及存储介质,能够优化特征处理以提升训练推荐模型的效率以及推荐模型预测的精度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种推荐模型的特征管理方法,包括:
在推荐模型的机器学习框架中植入特征管理实例;
在所述推荐模型的离线训练阶段,从日志系统获取所述推荐模型在线预测阶段的推荐日志,
通过特征管理实例中配置的特征处理方式,从所述推荐日志中提取离线特征,以及
基于所述离线特征形成训练样本,以用于所述推荐模型的离线训练;
在所述推荐模型的在线预测阶段,通过所述特征处理方式从用户请求和候选对象的信息中提取在线特征,以用于所述推荐模型的在线预测,以及
利用用户的特征和所述在线预测所推荐的对象的特征,更新所述日志系统。
本发明实施例提供一种特征管理系统,包括:
代码生成模块,用于在推荐模型的机器学习框架中植入特征管理实例;
特征排序模块,用于在所述推荐模型的离线训练阶段,从日志系统获取所述推荐模型在线预测阶段的推荐日志,
通过特征管理实例中配置的特征处理方式,从所述推荐日志中提取离线特征,以及
基于所述离线特征形成训练样本,以用于所述推荐模型的离线训练;
所述特征排序模块,用于在所述推荐模型的在线预测阶段,通过所述特征处理方式从用户请求和候选对象的信息中提取在线特征,以用于所述推荐模型的在线预测;
特征搜索模块,用于将用户的特征和所述在线预测所推荐的对象的特征,更新所述日志系统。
上述方案中,所述代码生成模块,还用于:
向所述机器学习框架提供动态库链接库的调用,以在所述机器学习框架中实例化特征管理代码而形成特征管理实例,或者,
向所述机器学习框架发送包括特征管理代码的可执行程序,以在所述机器学习框架中运行所述可执行程序而形成所述特征管理实例。
上述方案中,所述代码生成模块,还用于:
从特征配置文件中获取在所述推荐模型被配置使用的特征;
对代码模板中对应所述特征的代码进行更新,得到所述特征管理代码。
上述方案中,所述特征排序模块,还用于:
从所述推荐日志中获取用户的特征对应的字节序列、以及向所述用户推荐的对象的特征对应的字节序列,
通过所述特征管理实例中配置的特征反序列化方式,将所述字节序列转换为成员变量,以及
通过所述特征管理实例中配置的特征处理方式,将所述字节序列转换为向量形式的离线特征。
上述方案中,所述特征排序模块,还用于:
从用户的曝光日志和/或播放日志中,提取所述用户的行为数据;
根据所述用户的行为数据,确定所述用户是否偏好所述向所述用户推荐的对象,并根据是否偏好分配正样本或负样本的标签信息;
结合所述离线特征和所述标签信息形成训练样本。
上述方案中,所述特征排序模块,还用于:
对所述训练样本中的离线特征进行离散化;
对所述训练样本中的离线特征再变换;
对所述训练样本中的离线特征进行交叉。
上述方案中,所述特征管理系统还包括:
样本过滤加权模块,用于针对所述形成的训练样本,执行特征配置文件中配置的以下操作至少之一:
过滤掉虚假用户对应的训练样本;
根据所述训练样本包括的行为数据的取值,为所述训练样本分配或转换对应的权重。
上述方案中,所述特征排序模块,还用于:
从所述用户请求和候选对象的信息中,提取与数据结构或对象的成员变量对应的取值,并填充为相应的成员变量的取值;
通过所述特征管理实体中配置的特征处理方式,将所述成员变量转换为向量形式的在线特征。
上述方案中,所述特征排序模块,还用于:
根据所述特征管理实例中配置的特征序列化方式,将所述用户的特征包括的成员变量、以及向所述用户推荐的对象的特征包括的成员变量,转换为字节序列;
将所述字节序列存储到所述日志系统对应所述用户的日志中;
其中,所述向所述用户推荐的对象,是根据所述推荐模型的点击通过率的排序结果被重排序后得到。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令,实现本发明实施例提供的特征管理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的特征管理方法。
本发明实施例具有以下有益效果:
在线预测阶段中,特征管理实例将推荐模型线上预测所使用的特征以在线特征的形式同步到日志系统,在离线训练阶段中,特征管理实例从日志系统提取用于离线训练阶段训练推荐模型的特征(即离线特征),由于在线特征和离线特征都是采用使用相同的特征处理方式来约束的,因此离线特征和在线特征的一致性得到保证,从而形成的训练数据的准确性得到保证,进而提升推荐模型的离线训练的效率和在线预测的精度。
附图说明
图1是本发明实施例提供特征管理系统的一个可选的应用场景示意图;
图2是本发明实施例提供的电子设备的结构示意图;
图3是本发明实施例提供的特征管理方法的一个可选的流程示意图;
图4是本发明实施例提供的特征管理方法的一个可选的流程示意图;
图5是本发明实施例提供的特征管理方法的一个可选的流程示意图;
图6是本发明实施例提供的在APP中进行推荐的一个可选的显示意图;
图7是发明实施例提供的特征管理系统的一个可选的架构示意图;
图8是本发明实施例提供的推荐模型进行排序和重排序的过程中进行特征搜集的原理示意图;
图9是本发明实施例提供的向日志系统上报日志的一个可选的结构示意图;
图10是本发明实施例提供的对在线预测阶段搜集的特征的序列化的示意图;
图11是本发明实施例提供的特征管理系统中定义的四种标准的特征组件的示意图;
图12A是相关技术提供的特征类实现方式示意图;
图12B是本发明实施例提供的特征组件化的实现方式示意图;
图13A是本发明实施例提供的通过继承和指针偏移索引特征的代码示意图;
图13B是本发明实施例提供的不同类型特征的组件化的原理示意图;
图14A是本发明实施例的特征配置文件中可配置选项的示意图;
图14B是本发明实施例提供的根据特征配置文件生成的特征管理代码的示意图;
图15是本发明实施例提供的特征管理系统嵌入特征管理代码到各种机器学习框架的示意图;
图16是本发明实施例提供的设置样本标签和权重的原理示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)对象,推荐系统能够向用户推荐的各种实物产品、虚拟产品(例如游戏道具、电子红包和折价券)和信息(例如广告和新闻等)。
2)序列化和反序列化,将机器学习框架的内存中的数据结构或者对象编码,转换成二进制的字节序列的过程,字节序列从而能够以文件(如日志)的形式存储;反序列化则是将二进制的字节序列解码,以转换成机器学习框架的内存中数据结构或对象的过程。
3)用户的特征,简称为用户特征,是对用户的不同维度的特征的向量化表示,对象特征是对对象的不同维度的特征(例如年龄、性别和地域)的向量化表示。
4)对象的特征,是对于对象的不同维度的特征(例如类别、价格和产地)的向量化表示。
5)特征交叉和特征离散,是基于已有的特征形成新的特征的方式,特征交叉是通过特征组合的方式增加特征的维度,特征离散是将特征的连续性的取值变为离散性的取值,例如将10-20区间的特征值作为一个区间而分配相同的取值1,将20-30区间的特征值作为一个区间而分配相同的取值2。
6)代码模板,用于实现特征管理的模块化的代码,例如C++代码。
7)特征配置文件,对特征管理系统使用的特征、以及对特征进行处理进行配置的文件,配置的内容示例性地包括:推荐模型使用的特征(的类型);特征的成员变量的名称和类型;特征在日志的位置;对特征进行的离散化处理的方式,对特征进行交叉处理的方式等。
8)机器学习框架,辅助开发者进行推荐模型的构建、离线训练和线上预测等各种任务的平台式系统,例如Tensorflow和Keras等。
9)离线训练,基于特定训练集训练推荐模型的过程,训练推荐模型完成后才在线上应用推荐模型。
10)在线预测,基于离线训练的推荐模型,根据实时的用户请求,对候选集中的候选对象进行点击通过率预测,根据点击通过率进行初步的排序。
首先说明实现本发明实施例的特征管理系统的示例性应用。
参见图1,图1是本发明实施例提供特征管理系统的一个可选的应用场景示意图,涉及特征管理系统100、机器学习框架200、日志系统300和用户终端400,下面分别说明。
特征管理系统100,其中的代码生成模块110用于根据代码模板和特征配置文件生成特征管理代码,实例化特征管理代码形成特征管理实例,特征管理实例性地包括如下服务模块:特征排序(RankingFeature)模块120、特征搜集模块130和样本过滤加权模块140。代码生成模块120将特征管理实例被植入到推荐模型的机器学习框架200中,以使上述服务模块在机器学习框架200的离线训练阶段和在线预测阶段,分别完成相应的特征工程。
例如,在机器学习框架中针对推荐模型的离线训练阶段,特征排序模块120从日志系统200的日志获取日志进行特征反序列化处理以形成离线特征(例如,包括用户特征和对象特征),结合离线特征和标签信息(表示用户是否偏好对象)来构造训练样本,样本过滤加权模块140对训练样本根据过滤、权重分配/更新,得到的训练样本被机器学习框架用于推荐模型的离线训练,离线训练后的推荐模型将被机器学习框架用于在线预测。
例如,在机器学习框架针对推荐模型的在线预测阶段,特征排序模块120根据所配置的特征处理方式,从用户请求中提取的用户特征以及从候选对象的信息中提取的对象特征,以形成在线特征(即线上预测阶段用于供推荐模型预测点击通过率的所使用的特征),以供机器学习框架300基于推荐模型预测点击通过率,根据候选集中的对象的点击通过率的初步排序结果,进行重排序以进一步筛选对象,最终得到可以向用户推荐的对象。特征搜集模块130将收集在线预测阶段所使用的在线特征,结合用户信息进行特征序列化形成字节序列形式的特征日志,以更新日志系统中相应用户的日志的特征日志字段,从而能够在离线训练阶段构造新的训练样本,以供机器学习框架在离线训练阶段来进一步训练推荐模型。
机器学习框架200用于进行推荐模型的离线训练和在线预测。
例如,在推荐模型的离线训练阶段,结合特征管理系统100构造的训练样本来训练推荐模型;在推荐模型的在线预测阶段,当终端400发送用户请求时,使用特征管理系统300从终端400的用户请求和候选对象的信息中提取在线特征,基于推荐模型预测用户针对候选对象的点击通过率,对候选对象进行点击他通过率的初步排序,并对初步排序进行重排序以进一步筛选,从而得到需要向用户推荐的对象,发送到终端400的图形界面410中展示。
日志系统300用于存储特征管理系统100在在线预测阶段搜集收集的特征日志以及终端400上报的与被推荐的对象相关的曝光日志和播放日志(也称为在线日志)。
例如,特征管理系统100运行的特征管理实例收集在线预测阶段的包括:上报时间、用户设备信息、用户标识、推荐时间和在线特征(也称为特征日志或在线日志),包括用户特征和向用户推荐的对象的特征。
下面说明实现本发明实施例上述的特征管理系统的电子设备,运行特征管理系统的电子设备可以是台式机电脑、笔记本电脑等终端,也可以是服务器或服务器的集群,当然,特征管理系统也可以分布地运行于终端和服务器中。
参见图2,图2是本发明实施例提供的电子设备500的结构示意图,图2所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器和光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的特征管理系统可以采用软件方式实现,图2示出了存储在存储器550中的特征管理系统200,其可以是程序和插件等形式的软件,包括以下软件模块:代码生成模块110、特征排序模块120和样本过滤加权模块130。这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
将结合上文所说明的特征管理系统的示例性应用和实施,说明本发明实施例提供的特征管理方法。
参见图3,图3是本发明实施例提供的特征管理方法的一个可选的流程示意图,以在推荐模型的机器学习框架中植入特征管理实例,将结合图3示出的步骤进行说明。
在步骤101中,特征管理系统提供图形化配置界面,接收特征配置文件。
在步骤102中,特征管理系统从特征配置文件中获取推荐模型配置使用的特征。
在步骤103中,特征管理系统对代码模板中对应特征的代码进行更新,得到用于特征管理的代码。
在步骤104A中,特征管理实例的功能实现为动态库链接库的方式,通过向机器学习框架提供动态库链接库,由机器学习框架进行调用动态链接库的方式来运行特征管理代码,从而在机器学习框架中运行特征管理实例。
作为步骤104B的可替换的步骤,在步骤104B中,向机器学习框架中发送运行包括特征管理代码的可执行程序,由机器学习框架运行可执行程序,从而形成在机器学习框架中的特征管理实例。
参见图4,图4是本发明实施例提供的特征管理方法的一个可选的流程示意图,以在推荐模型的离线训练阶段的特征工程为例,将结合图4示出的步骤进行说明。
在步骤201中,特征管理系统的特征管理实例从日志系统获取推荐模型在线预测阶段的推荐日志。
以图1为例,特征管理系统的特征排序模块120从日志系统获取推荐日志,在推荐日志中以字节序列的形式记录了用户特征、以及向用户推荐的对象(例)的特征。
在步骤202中,特征管理系统的特征管理实例通过特征管理实例中配置的特征处理方式,从推荐日志中提取离线特征。
在一些实施例中,步骤202通过以下方式实现:从推荐日志中获取用户的特征对应的字节序列、以及向用户推荐的对象的特征对应的字节序列(步骤2021),通过特征管理实例中配置的特征反序列化方式,将字节序列转换为成员变量(步骤2022),例如当特征管理代码采用C++语言实现时,则转换为符合C++语言规范的成员变量,以及通过特征管理实例中配置的特征处理方式,将成员变脸转换为向量形式的离线特征(步骤2023)。
例如,特征管理实例中以针对不同类型(例如整型和字符串)的特征)设置有组件,组件中包括用于对相应类型的特征进行操作的方法,包括序列化函数(即,将成员变量转换为字节序列的函数,记为member2str())、反序列化函数(即,将字节序列转换为成员变量的方法,记为str2member())、特征离散化函数、生成特征的函数(即,将成员变量转换为特征向量的方法,记为member2feature());仍以图1为例,上述步骤可以由特征管理实例中的特征排序模块120通过调用相应类型组件的方法,来对相应类型的特征进行操作。
在步骤203中,特征管理系统的特征管理实例基于离线特征形成训练样本。
在一些实施例中,从用户针对在线预测的对象(例如根据重排序而确定向用户推荐的对象)的曝光日志和/或播放日志中,提取用户的行为数据;根据行为数据,确定用户是否偏好推荐日志中向用户推荐的对象,并根据是否偏好分配正样本或负样本的标签信息,例如当展示对象相关的信息时,用户点击则表示偏好,否则不偏好;结合离线特征和标签信息形成训练样本。
在一些实施例中,针对特征管理实例形成的训练样本,特征管理系统的特征管理实例还可以在步骤203中形成训练样本之后,执行特征配置文件中配置的以下操作至少之一:过滤掉虚假用户对应的训练样本;根据训练样本包括的行为数据的取值,为训练样本分配或转换对应的权重。
以图1为例,特征管理实例中的样本过滤鉴权模块140可以执行上述的过滤和权重分配/转换的操作。
在一些实施例中,特征管理系统的特征管理实例还可以在步骤203中形成训练样本之后,特针对所述形成的训练样本,执行特征配置文件中配置的以下操作至少之一:对训练样本中的离线特征进行离散化;对训练样本中的离线特征再变换;对训练样本中的离线特征进行交叉。
以图1为例,特征管理实例中的特征排序模块可以执行上述的过滤和权重分配/转换的操作。
在步骤204中,特征管理系统的特征管理实例将训练样本发送到机器学习框架。
在步骤205中,机器学习框架基于训练样本进行推荐模型的离线训练。
继续说明推荐模型的在线预测阶段的特征工程的实现过程。
参见图5,图5是本发明实施例提供的特征管理方法的一个可选的流程示意图,以在推荐模型的在线预测阶段的特征工程为例,将结合图5示出的步骤进行说明。
在步骤301中,特征管理系统的特征管理实例通过所配置特征处理方式,从用户请求和候选对象的信息中提取在线特征。
在一些实施例中,从用户请求和候选对象的信息中提取与(配置使用的特征的)数据结构或对象的成员变量对应的取值(步骤3011),并填充为相应的成员变量的取值(步骤3012);通过特征管理实体中配置的特征处理方式,将填充取值的成员变量转换为向量形式的在线特征(步骤3013)。
以图1为例,特征管理实例中的特征排序模块120,从用户请求和候选对象的信息中提取与数据结构或对象的成员变量对应的取值,并填充为相应的成员变量的取值后,通过调用与特征的类型相应的组件中的member2feature()函数,将成员变量转换为用于推荐模型的在线预测的特征向量,即在线特征。
在步骤302中,特征管理系统的特征管理实例将提取的在线特征发送到机器学习框架。
在步骤303中,机器学习框架基于在线特征进行推荐模型的在线预测。
机器学习框架结合在线特征(包括用户特征和候选对象的特征),利用推荐模型预测用户针对候选对象的点击通过率,根据点击通过率进行初步的排序,然后初步的排序结果利用重排序模型进行重排序,以筛选初步排序中的候选对象,最终得到可以向用户推荐的对象。
在步骤304中,特征管理系统的特征管理实例将用户的特征和在线预测所推荐的对象的特征,更新日志系统。
在一些实施例中,根据特征管理实例中配置的特征序列化方式,将用户的特征包括的成员变量、以及向用户推荐的对象的特征包括的成员变量,转换为字节序列(步骤3041);将字节序列存储到日志系统对应用户的日志中(步骤3042)。
特别地,向用户推荐的对象,可以是在线预测阶段中,由推荐模型的预测的点击通过率排序而确定的对象,例如排序在前的设定数量或比例的对象,被预测的点击通过率高于点击通过率阈值的对象;也可以是对“根据推荐模型的点击通过率排序而确定的候选对象”进行重排序后得到的对象,此时对象的数量级降低,可以降低日志系统的存储压力。
以图1为例,特征管理实例中的特征搜集模块130搜集推荐模型的在线预测阶段使用的特征(即在线特征),包括用户特征和向用户推荐的对象的特征,结合用户信息进行特征序列化形成字节序列形式的特征日志,例如,调用特征类型相应的组件中的member2srt()函数,将在线特征序列化为特征日志,以更新日志系统中相应用户的日志的特征日志字段,从而能够在离线训练阶段构造新的训练样本,以供机器学习框架在离线训练阶段来进一步训练推荐模型。
在一些实施例中,特征管理实例中还可以针对每种类型的特征对应设置相应的监控函数,以用于实现不同粒度的特征的监控。
在一些实施例中,当特征管理实例的维护的特征的版本更新时,将在特征配置文件中配置新增类型的特征,在日志系统中用户的特征和在线预测所推荐的对象的特征时,将更新的特征追加到日志系统中原特征的尾部,以实现对旧版本的特征管理实例的兼容。
下面继续说明本发明实施例提供的特征管理系统的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器540的特征管理系统100的软件模块可以包括代码生成模块110、特征排序模块120和样本过滤加权模块130,下面分别进行说明。
代码生成模块110,用于在推荐模型的机器学习框架中植入特征管理实例;特征排序模块120,用于在推荐模型的离线训练阶段,从日志系统获取推荐模型在线预测阶段的推荐日志,通过特征管理实例中配置的特征处理方式,从推荐日志中提取离线特征,以及基于离线特征形成训练样本,以用于推荐模型的离线训练;特征排序模块120,用于在推荐模型的在线预测阶段,通过特征处理方式从用户请求和候选对象的信息中提取在线特征,以用于推荐模型的在线预测;特征搜索模块130,用于将用户的特征和在线预测所推荐的对象的特征,更新日志系统。
在一些实施例中,代码生成模块110,还用于:向机器学习框架提供动态库链接库的调用,以在机器学习框架中实例化特征管理代码而形成特征管理实例,或者,向机器学习框架发送包括特征管理代码的可执行程序,以在机器学习框架中运行可执行程序而形成特征管理实例。
在一些实施例中,代码生成模块110,还用于:从特征配置文件中获取在推荐模型被配置使用的特征;对代码模板中对应特征的代码进行更新,得到特征管理代码。
在一些实施例中,特征排序模块120,还用于:从推荐日志中获取用户的特征对应的字节序列、以及向用户推荐的对象的特征对应的字节序列,通过特征管理实例中配置的特征反序列化方式,将字节序列转换为成员变量,以及通过特征管理实例中配置的特征处理方式,将字节序列转换为向量形式的离线特征。
在一些实施例中,特征排序模块120,还用于:从用户的曝光日志和/或播放日志中,提取用户的行为数据;根据用户的行为数据,确定用户是否偏好向用户推荐的对象,并根据是否偏好分配正样本或负样本的标签信息;结合离线特征和标签信息形成训练样本。
在一些实施例中,特征排序模块120,还用于:对训练样本中的离线特征进行离散化;对训练样本中的离线特征再变换;对训练样本中的离线特征进行交叉。
在一些实施例中,特征管理系统还包括:样本过滤加权模块130,用于针对形成的训练样本,执行特征配置文件中配置的以下操作至少之一:过滤掉虚假用户对应的训练样本;根据训练样本包括的行为数据的取值,为训练样本分配或转换对应的权重。
在一些实施例中,特征排序模块120,还用于:从用户请求和候选对象的信息中,提取与数据结构或对象的成员变量对应的取值,并填充为相应的成员变量的取值;通过特征管理实体中配置的特征处理方式,将成员变量转换为向量形式的在线特征。
在一些实施例中,特征排序模块120,还用于:根据特征管理实例中配置的特征序列化方式,将用户的特征包括的成员变量、以及向用户推荐的对象的特征包括的成员变量,转换为字节序列;将字节序列存储到日志系统对应用户的日志中;其中,向用户推荐的对象,是根据推荐模型的点击通过率的排序结果被重排序后得到。
下面以物品推荐的应用场景中,以推荐模型预测用户对物品点击通过率并进行排序(Ranking),得到物品的初步筛选结果,并对筛选结果进行重排序以进行二次的筛选,进而得到最终向用户推荐的物品为例,说明本发明实施例提供的特征管理方案。
相关技术提供中,推荐在线部分一般使用基本类型存储特征(比如年龄以整型int进行存储),特征的处理过程显式的写在代码中,不利于特征处理过程的调试,也不利于版本迭代(例如增加新特征)。此外,将特征的处理过程显式的写在代码中,不利于特征的管理,例如,其对特征的处理过程不标准,不易于维护。
在搜索广告、推荐系统等场景中,排序模型点击通过率预估的作用至关重要。相关技术中关注的技术焦点集中在模型结构和训练算法的改进。然而,发明人在实施本发明的过程中发现,如果没有准确的训练数据,模型训练的效果无法保证。
本发明实施例中,将推荐模型的离线训练和线上预测复用同一套用于特征处理的C++代码,从而保证了在线预测和模型训练阶段特征完全一致。解决了需人工校验在线特征和离线特征一致性的问题,以及离线训练阶段连接(join)用户特征和物品特征可能导致的信息泄露问题。此外,本发明实施例提供的特征管理系统还支持由特征配置文件和代码模板来自动生成对应C++代码,实现了特征的灵活配置。
参见图6,图6是本发明实施例提供的在APP中进行推荐的一个可选的显示意图,本发明实施例提供的特征管理系统可以已成功应用于APP中的显示界面410中的视频推荐(例如视频4101至视频4106)、短视频推荐、APP首页新用户推荐等场景。通过使用该系统,可以在短时间对进行版本的快速的部分和全量的迭代,以增加新的特征,提升推荐模型针对点击通过率的预测精度,从而提升用户的留存率和使用APP的时长。
参见图7,图7是发明实施例提供的特征管理系统的一个可选的架构示意图,下面结合图7说明本发明实施例提供的特征管理系统,
本发明实施例提供的特征管理系统用于保证推荐模型的在线预测使用的在线特征和离线训练使用的离线特征的一致性,体现在以下两个方面:1、特征的一致性;2、特征处理方式的一致性。
为了保证特征的一致性,特征处理系统中可以设置有用于在在线预测阶段所使用的特征进行搜集的特征搜集模块,其对搜集到的在线预测阶段使用的特征(即在线特征)进行序列化,以存储到日志系统,供离线阶段训练推荐模型使用。为了保证数据处理方式完全一致,特征处理系统在推荐模型的在线预测阶段、离线训练阶段使用相同的C++代码进行特征处理,且C++代码可以根据特征配置文件自动生成,降低了人为引入漏洞的可能性。
特征搜集模块直接将搜集到的特征上报到日志系统,相较于将特征字符串下发到客户端(例如手机),再通过客户连同物品的曝光、播放日志一起上传到日志系统,会显著节省网络流量,也更有利于特征版本的迭代(因为在线特征的Ranking服务和特征搜集服务是解耦的)。
本发明实施例为了保证在线特征和离线特征的一致性,由特征管理系统(具体可以有特征搜集模块)将搜集(例如,可以使用在特征管理系统中实现的特征搜集模块进行搜集)在线预测阶段使用的特征(包括用户特征和物品特征)进行序列化处理,也就是,将内存中的数据结构或对象形式的特征,转换为字节序列(即通过编码降低数据长度),从而将字节序列以文件的形式存储为日志系统中的在线日志(也称为特征日志)。在推荐模型的离线训练阶段,特征管理系统从日志系统中获取字节序列形式的特征并进行特征反序列化,还原为机器学习框架的内存中数据结构或对象方式的特征。
参见图8,图8是本发明实施例提供的推荐模型进行排序和重排序的过程中进行特征搜集的原理示意图,由于推荐模型在排序阶段需要根据用户画像对大量(例如数千个)物品进行点击通过率(CTR,Click-Through-Rate)的排序,排序得到的物品的数量基数比较大,往往是数千个,如果针对排序结果上报所有物品的特征到日志系统,日志量就显得过于庞大,从而,序列化的特征会非常庞大。
针对这种情况,特征管理系统在机器学习框架的重排序模块后实现特征搜集模块,由于在重排序后,需要展示给用户的物品已经确定(一般在1~50条内)。此时,展示的物品的特征所需的日志量比排序阶段的物品的特征小了约2个数量级,完全可以满足日志系统对日志长度的限制,从而可以降低日志系统开销。
由于特征排序模块和特征搜集模块的请求格式完全相同,因而,只要使用在线预测阶段和离线预测阶段使用相同的特征生成代码,就可以使得特征搜集模块搜集到的特征和重排序模块使用的特征完全相同。
特征管理系统要将在线特征进行上报日志系统时,需要将特征序列化。相关技术提供的序列化一般有两种方式:明文和二进制。例如明文序列化方式有基于表格的方式(如TDW的Table)和基于JS对象简谱JSON(JSON,JavaScript Object Notation)的方式。二进制序列化方法有协议缓存(Protocol Buffers)。基于JSON的方式简单灵活(可以随意增加字段),但编码后的字符串冗余信息太多。基于Protocol Buffers的方式编码短,但由于是二进制编码,不利于调试,也存在日志系统不支持的该格式的风险。
针对上述问题,本发明实施例提供的特征管理系统基于表格的形式进行日志上报,并以明文编码的方式将特征日志存放于日志中的一个字段中(称为后台日志)。参见图9,图9是本发明实施例提供的向日志系统上报日志的一个可选的结构示意图,对于重排序确定需要用户推荐的物品时,形成相应的日志,包括上报时间、日志版本、用户标识、用户设备ID和特征日志,其中特征日志可以存放于日志的一个独立的字段中,有利于在特征管理系统的特征版本迭代时灵活地增加特征。
参见图10,图10是本发明实施例提供的对在线预测阶段搜集的特征的序列化的示意图,为了减小在线预测阶段针对搜集的特征而上报的日志的长度,对在线日志不以字段信息的方式存储,而是图10所示形式进行编码以实现序列化,例如通过配置文件生成一个C++类的代码,以实现特征的序列化和反序列化。此外,为了能够灵活地调整特征配置,特征管理系统的特征搜集模块向日志系统上报的是所搜集到的原始的特征,对于推荐模型的离线训练阶段具体使用的特征、以及如何对特征进行离散化等特征处理方式,可以人工方式在配置文件中配置,从而,在离线训练阶段,特征管理系统可以从日志系统中读取特原始特征,并通过运行特征处理代码(根据配置文件配置的需要使用的特征,对代码模块进行更新得到)以提取被配置使用的用户特征和物品特征,进而结合标签信息(表示用户是否偏好相应的物品)构造训练样本。
本发明实施例通过在特征管理系统中实现特征组件化来在线特征和离线特征处理流程一致,从而便于通过监控函数来对不同粒度的特征进行监控。
相关技术提供的特征序列化和特征反序列化的方案,例如Protocol Buffers,其无法描述如何对特征离散化,如何进行特征交叉等功能。为了将序列化、反序列化、特征处理过程、特征交叉等功能集成于一套代码中,本发明实施例面向对象编程(objectoriented programming)的技术,对特征进行了组件化。
参见图11,图11是本发明实施例提供的特征管理系统中定义的四种标准的特征组件的示意图,包括整型变量、整型数据、字符串和字符串数据,每个类型的特征可以配置有权重项,如果特征权重为1,在序列化时会被省略,以降低序列化后日志的长度。
参见图12A,图12A是相关技术提供的特征类实现方式示意图,其中的userAge为int类型,需要人工编写离散化处理的代码。
参见图12B,图12B是本发明实施例提供的特征组件化的实现方式示意图,userAge为FeatureInteger类型,该类型的配置项中包含了对userAge进行离散化的方法。通过调用离散化的方法可以对特征进行离散化处理。
此外,将特征的类型进行组件化,还可以方便对从日志系统读取到内存中的特征进行遍历。参见图13A,图13A是本发明实施例提供的通过继承和指针偏移索引特征的代码示意图,图13B是本发明实施例提供的不同类型特征的组件化的原理示意图,图13B中示出的不同特征类型的特征(图13B中示出了userAge和itemTags两个类型)的组件均继承自特征(Feature)类,Feature类包含了特征离散化、序列化和反序列化等虚函数。特征管理系统通过特征实例的指针,就可以通过调用相应的虚函数来对相应类型的特征进行处理。
在图13A中,作为获取指针的示例,对于每个排序特征(RankingFeature)类的实例,其内存布局是完全一致的,因而,可以通过存储userAge、itemTags等特征变量相对于Feature实例的地址偏移量,从而实现根据this指针和各个特征的地址偏移量,遍历并处理各个特征的目的。
通过特征的标准化,特征的处理流程(对应于member2feature函数)得以保准化。其中特征处理流程可以包括:特征值的离散化(比如string转int),特征权重的转换(比如兴趣分为0.5,通过线性变换变为1+0.5=1.5),特征向量再变换(比如求兴趣的数量)三个过程。
除了能够保证在线特征、离线特征一致外,通过特征的组件化还标准化了特征的形式(见下文所述的4种特征类型),处理流程(对应于member2feature函数)和输出形式(例如下文所述的libsvm和tensorflow输入)。此外,特征管理系统中还可以针对每种特征类型增加了标准的监控函数,实现了特征的不同的粒度监控。
上述的特征处理流程相较于采用通用的计算图(如tensorflow中的计算图)的方案,克服了完全使用计算图描述不利于管理(不易于阅读,并且由于处理过程不标准,导致后续开发人员很难对特征的处理流程有详尽的掌控)的缺陷。
继续说明特征管理代码的生成过程。
特征管理系统所生成的特征可以根据特征配置文件生成,参见图14A和图14B,图14A是本发明实施例的特征配置文件中可配置选项的示意图,图14B是本发明实施例提供的根据特征配置文件生成的特征管理代码的示意图。
在图14A中,示出了的特征配置文件的部分选项,其中volatile为true表示该特征为物品特征,index_in_log选项表示了该特征在日志中的位置。离散化相关的选项用于标识如何处理特征;is_using则表示在训练中是否使用特征(该选项对特征搜集模块不产生影响)。此外,特征配置文件中还支持通过“特征1-特征2”的方式自动对特征进行交叉(支持任意数量的特征的交叉)。
根据特征配置文件配置使用的特征,特征管理系统可以利用python脚本对代码模板中的相应代码进行替换,从而实现快速配置特征的目的。在图14B中,跟根据图14A示出的配置文件自动生成的变量定义部分的代码。该块代码以“#StartOf featureDefinition”开头,以“#EndOf featureDefinition”结尾,因而配置文件处理程序能够识别出代码模板文件中需要替换的代码区域。
由于日志中存储的是原始特征,如果只是要更改特征的离散化方法,或是要禁用某些特征,完全可以复用当前版本的日志,但离线训练和在线预测需使用同一配置文件生成的排序特征(RankingFeature)类。
此外,特征管理系统支持在日志的用户特征和物品特征的尾部增加新的特征。离线训练阶段时,如果旧版本的RankingFeature类并没有与新特征相应的成员变量,因而,也就能自动忽略日志中新增的特征(新增特征在日志中的index大于老版本特征,不会被取到),从而保持基于旧版本RankingFeature类的训练的正确性。而如果要使用新增的特征训练推荐模型,只需生成新版本的RankingFeature类,并结合使用新版本的日志生成训练样本即可。
继续说明离线训练阶段。
参见图15,图15是本发明实施例提供的特征管理系统嵌入特征管理代码到各种机器学习框架的示意图,本发明实施例提供的特征管理系统支持多种机器学习的框架,由于多数语言都有C++接口,特征管理系统可以通过Java本地接口(Native Interface)、Tensorflow自定义算子等方式,将实现特征管理的C++程序代码嵌入到spark on angel、Tensorflow等机器学习框架中运行。从而实现了线上、线下的特征生成部分复用相同的代码,从而保证了在线特征和离线特征的一致性。
本发明实施例提供的特征管理系统可以对训练样本进行样本过滤和样本加权,参见图16,图16是本发明实施例提供的设置样本标签和权重的原理示意图,特征管理系统中的特征搜集模块将从日志系统搜集的日志中提取离线特征(包括用户特征和物品特征)和播放、曝光数据连接后,即可得到完整的训练样本。还可以统计用户在一段时间(如1天)内的浏览行为(曝光次数、点击次数、消费时长),从而过滤掉一些虚假用户(如曝光次数>5000次),以及对点击通过率过高的用户降低样本权重。还可以统计单个用户对单个物品的浏览行为(曝光次数、点击次数和消费时长),从而用户对应的训练样本进行过滤或加权。
发明人在实际应用中部署上述特征管理系统,在短短的半年时间里,某新闻聚合类应用的首页新用户推荐场景的RankingFeature类已经快速迭代优化了10多个版本,全量3次,推荐模型使用的独立特征数量从20个,增加到200余个,纯新用户次日留存率从33.8%增加到38.1%,人均APP时长从635秒增加到933秒。可见对于推荐模型的训练效率和预测精度产生了积极的促进作用。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图3示出的特征管理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本发明实施例提供的特征管理系统相较于相关技术进行了以下方面的改进和有益效果:
1)提出了新增特征搜集模块,降低了日志系统的开销;
2)通过特征配置文件实现了灵活的特征管理(增加特征、具体使用哪些特征),
3)对特征的输入形式、处理流程和输出形式进行了组件的标准化(处理步骤一致),通过调用组件中的各种方法能够方便会特征进行各种处理;
4)采用配置文件和代码模板生成特征定义及处理流程,灵活高效;
5)离线训练、在线预测中特征处理的流程代码一致,保证了在线预测和离线训练的良好融合;
6)通过特征监控函数能够完善的特征监控体系,对特征进行不同粒度的监控;
7)提出了标准化的样本过滤加权模块,方便对样本进行过滤以及权重的调整。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种推荐模型的特征管理方法,其特征在于,包括:
在推荐模型的机器学习框架中植入特征管理实例;
在所述推荐模型的离线训练阶段,从日志系统获取所述推荐模型在线预测阶段的推荐日志,
通过特征管理实例中配置的特征处理方式,从所述推荐日志中提取离线特征,以及
基于所述离线特征形成训练样本,以用于所述推荐模型的离线训练;
在所述推荐模型的在线预测阶段,通过所述特征处理方式从用户请求和候选对象的信息中提取在线特征,以用于所述推荐模型的在线预测,以及
利用用户的特征和所述在线预测所推荐的对象的特征,更新所述日志系统。
2.根据权利要求1所述的方法,其特征在于,所述在推荐模型的机器学习框架中植入特征管理实例,包括:
向所述机器学习框架提供动态库链接库的调用,以在所述机器学习框架中实例化特征管理代码而形成特征管理实例,或者,
向所述机器学习框架发送包括特征管理代码的可执行程序,以在所述机器学习框架中运行所述可执行程序而形成特征管理实例。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
从特征配置文件中获取在所述推荐模型中被配置使用的特征;
对代码模板中对应所述特征的代码进行更新,得到所述特征管理代码。
4.根据权利要求1所述的方法,其特征在于,所述通过特征管理实例中配置的特征处理方式,从所述推荐日志中提取离线特征,包括:
从所述推荐日志中获取用户的特征对应的字节序列、以及向所述用户推荐的对象的特征对应的字节序列,
通过所述特征管理实例中配置的特征反序列化方式,将所述字节序列转换为成员变量,以及
通过所述特征管理实例中配置的特征处理方式,将所述成员变量转换为向量形式的离线特征。
5.根据权利要求1所述的方法,其特征在于,所述基于离线特征形成训练样本,包括:
从用户的曝光日志和/或播放日志中,提取用户的行为数据;
根据所述用户的行为数据,确定所述用户是否偏好向所述用户推荐的对象,并根据是否偏好分配正样本或负样本的标签信息;
结合所述离线特征和所述标签信息形成训练样本。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
针对所述形成的训练样本,执行所述特征配置文件中配置的以下操作至少之一:
对所述训练样本中的离线特征进行离散化;
对所述训练样本中的离线特征再变换;
对所述训练样本中的离线特征进行交叉。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
针对所述形成的训练样本,执行特征配置文件中配置的以下操作至少之一:
过滤掉虚假用户对应的训练样本;
根据所述训练样本包括的行为数据的取值,为所述训练样本分配或转换对应的权重。
8.根据权利要求1所述的方法,其特征在于,所述通过所述特征处理方式从用户请求和候选对象的信息中提取在线特征,包括:
从所述用户请求和候选对象的信息中,提取与数据结构或对象的成员变量对应的取值,并填充为相应的成员变量的取值;
通过所述特征管理实体中配置的特征处理方式,将所述成员变量转换为向量形式的在线特征。
9.根据权利要求1所述的方法,其特征在于,所述利用用户的特征和所述在线预测所推荐的对象的特征,更新所述日志系统,包括:
根据所述特征管理实例中配置的特征序列化方式,将所述用户的特征包括的成员变量、以及向所述用户推荐的对象的特征包括的成员变量,转换为字节序列;
将所述字节序列存储到所述日志系统对应所述用户的日志中;
其中,所述向所述用户推荐的对象,是根据所述推荐模型的点击通过率的排序结果被重排序后得到。
10.一种特征管理系统,其特征在于,包括:
代码生成模块,用于在推荐模型的机器学习框架中植入特征管理实例;
特征排序模块,用于在所述推荐模型的离线训练阶段,从日志系统获取所述推荐模型在线预测阶段的推荐日志,
通过特征管理实例中配置的特征处理方式,从所述推荐日志中提取离线特征,以及
基于所述离线特征形成训练样本,以用于所述推荐模型的离线训练;
所述特征排序模块,用于在所述推荐模型的在线预测阶段,通过所述特征处理方式从用户请求和候选对象的信息中提取在线特征,以用于所述推荐模型的在线预测;
特征搜索模块,用于利用用户的特征和所述在线预测所推荐的对象的特征,更新所述日志系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606587.3A CN112182359B (zh) | 2019-07-05 | 2019-07-05 | 推荐模型的特征管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606587.3A CN112182359B (zh) | 2019-07-05 | 2019-07-05 | 推荐模型的特征管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182359A true CN112182359A (zh) | 2021-01-05 |
CN112182359B CN112182359B (zh) | 2024-03-15 |
Family
ID=73919684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910606587.3A Active CN112182359B (zh) | 2019-07-05 | 2019-07-05 | 推荐模型的特征管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182359B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883280A (zh) * | 2021-03-25 | 2021-06-01 | 贵阳货车帮科技有限公司 | 用户推荐内容的处理系统以及方法 |
CN112947853A (zh) * | 2021-01-28 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 数据存储方法、装置、服务器、介质及程序产品 |
CN113342862A (zh) * | 2021-04-19 | 2021-09-03 | 北京房江湖科技有限公司 | 查询推荐方法、装置、电子设备及可读存储介质 |
CN113486982A (zh) * | 2021-07-30 | 2021-10-08 | 北京字节跳动网络技术有限公司 | 模型训练方法、装置和电子设备 |
CN113590953A (zh) * | 2021-07-30 | 2021-11-02 | 郑州轻工业大学 | 一种基于深度学习的推荐算法库 |
CN116611896A (zh) * | 2023-07-19 | 2023-08-18 | 山东省人工智能研究院 | 基于属性驱动解耦表征学习的多模态推荐方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203518A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 在线系统个性化推荐的方法、系统以及装置、电子设备 |
CN108108821A (zh) * | 2017-12-29 | 2018-06-01 | 广东欧珀移动通信有限公司 | 模型训练方法及装置 |
CN108416625A (zh) * | 2018-02-28 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 营销产品的推荐方法和装置 |
US20180247362A1 (en) * | 2017-02-24 | 2018-08-30 | Sap Se | Optimized recommendation engine |
-
2019
- 2019-07-05 CN CN201910606587.3A patent/CN112182359B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203518A (zh) * | 2016-03-16 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 在线系统个性化推荐的方法、系统以及装置、电子设备 |
US20180247362A1 (en) * | 2017-02-24 | 2018-08-30 | Sap Se | Optimized recommendation engine |
CN108108821A (zh) * | 2017-12-29 | 2018-06-01 | 广东欧珀移动通信有限公司 | 模型训练方法及装置 |
CN108416625A (zh) * | 2018-02-28 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 营销产品的推荐方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947853A (zh) * | 2021-01-28 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 数据存储方法、装置、服务器、介质及程序产品 |
CN112947853B (zh) * | 2021-01-28 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 数据存储方法、装置、服务器、介质及程序产品 |
CN112883280A (zh) * | 2021-03-25 | 2021-06-01 | 贵阳货车帮科技有限公司 | 用户推荐内容的处理系统以及方法 |
CN112883280B (zh) * | 2021-03-25 | 2023-08-04 | 贵阳货车帮科技有限公司 | 用户推荐内容的处理系统以及方法 |
CN113342862A (zh) * | 2021-04-19 | 2021-09-03 | 北京房江湖科技有限公司 | 查询推荐方法、装置、电子设备及可读存储介质 |
CN113342862B (zh) * | 2021-04-19 | 2024-05-07 | 贝壳找房(北京)科技有限公司 | 查询推荐方法、装置、电子设备及可读存储介质 |
CN113486982A (zh) * | 2021-07-30 | 2021-10-08 | 北京字节跳动网络技术有限公司 | 模型训练方法、装置和电子设备 |
CN113590953A (zh) * | 2021-07-30 | 2021-11-02 | 郑州轻工业大学 | 一种基于深度学习的推荐算法库 |
CN113590953B (zh) * | 2021-07-30 | 2023-07-18 | 郑州轻工业大学 | 一种基于深度学习的推荐算法系统 |
CN116611896A (zh) * | 2023-07-19 | 2023-08-18 | 山东省人工智能研究院 | 基于属性驱动解耦表征学习的多模态推荐方法 |
CN116611896B (zh) * | 2023-07-19 | 2023-10-24 | 山东省人工智能研究院 | 基于属性驱动解耦表征学习的多模态推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112182359B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182359B (zh) | 推荐模型的特征管理方法及系统 | |
US11068323B2 (en) | Automatic registration of empty pointers | |
US8756593B2 (en) | Map generator for representing interrelationships between app features forged by dynamic pointers | |
US8589876B1 (en) | Detection of central-registry events influencing dynamic pointers and app feature dependencies | |
CN111444181A (zh) | 知识图谱更新方法、装置及电子设备 | |
CN112115113B (zh) | 数据存储系统、方法、装置、设备以及存储介质 | |
CN114036439A (zh) | 网站搭建方法、装置、介质及电子设备 | |
CN115329131A (zh) | 素材标签推荐方法、装置、电子设备及存储介质 | |
CN109063059B (zh) | 行为日志处理方法、装置及电子设备 | |
CN116910567B (zh) | 推荐业务的在线训练样本构建方法及相关装置 | |
CN116450723A (zh) | 数据提取方法、装置、计算机设备及存储介质 | |
CN116304236A (zh) | 一种用户画像生成方法、装置、电子设备和存储介质 | |
CN113220297A (zh) | 网页样式动态生成方法及装置、存储介质及电子设备 | |
CN111191142B (zh) | 一种电子资源推荐方法、装置和可读介质 | |
CN114860133B (zh) | 问卷处理方法、装置、电子设备、介质及产品 | |
CN113704593B (zh) | 一种运营数据处理方法及相关装置 | |
US11762928B2 (en) | Feature recommendation based on user-generated content | |
CN115757996A (zh) | 浏览器页面更新方法和装置 | |
CN113706209A (zh) | 运营数据处理方法及相关装置 | |
CN117273782A (zh) | 人群圈选方法、装置和计算设备 | |
CN114327465A (zh) | 页面组件生成方法及装置、电子设备和存储介质 | |
CN113268240A (zh) | 网页加速方法及装置、存储介质及电子设备 | |
CN114860133A (zh) | 问卷处理方法、装置、电子设备、介质及产品 | |
CN113806626A (zh) | 一种推送消息的发送方法及系统 | |
CN115239388A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221116 Address after: 1402, Floor 14, Block A, Haina Baichuan Headquarters Building, No. 6, Baoxing Road, Haibin Community, Xin'an Street, Bao'an District, Shenzhen, Guangdong 518133 Applicant after: Shenzhen Yayue Technology Co.,Ltd. Address before: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Applicant before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |