广告推荐的方法和系统与流程
未命名
08-22
阅读:104
评论:0
1.本技术实施例涉及数据处理技术领域,尤其涉及一种广告推荐的方法、系统、计算机设备及计算机可读存储介质。
背景技术:
2.视频平台通常拥有庞大年轻用户群体和多元化内容资源,为广告主提供了丰富的投放场景。平台为了实现更精准的广告投放,通过深入挖掘用户、物料、场景等多方面的数据特征,并构建精细化的目标受众画像,这些数据在经过特征计算后作为模型训练所需的训练样本,通过模型训练得到能够对广告创意进行点击率、转化率预估的深度学习模型。当用户进行访问时,作为广告检索引擎的一部分,在线ctr预估服务会使用深度学习模型,对候选集内的广告创意逐个进行点击率、转化率预估,这些数值会在精选阶段用来挑选出价值最高的广告创意返回给用户。模型推理的准确性直接决定了广告检索引擎的效果,为了确保模型训练和模型推理阶段所使用的样本数据的一致性,提供一个全面、稳定、高效的广告特征平台显得尤为重要。
3.然而,经过深入研究现有的广告推荐系统,发现目前的广告推荐系统存在如下问题:数据源分散,拼接成本较高;训练时数据和预估时数据的产出分别来自于两组任务,任务间数据处理方式存在差异,产出数据的版本也不统一;在离线训练、实时训练、在线预估三个流程的特征计算阶段,分别需要使用python、java、c++等多种不同的语言进行实现,计算过程的代码逻辑难以完全一致;当需要排查模型训练和模型推理阶段的数据一致性问题时,离线无法获取模型推理阶段使用的完整特征数据,难以快速准确定位问题,导致排查问题成本较高。
技术实现要素:
4.本技术实施例的目的是提供一种广告推荐的方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:如何确保模型训练和模型推理阶段所使用的样本数据的一致性,提高排查数据一致性问题的效率。
5.本技术实施例的一个方面提供了一种广告推荐的方法,应用于广告推荐的系统,所述广告推荐的系统包括广告检索引擎模块、ctr预估服务模块和特征上报服务模块,所述方法包括:
6.通过所述广告检索引擎模块获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;
7.通过所述ctr预估服务模块获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;
8.通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,其中,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。
9.可选地,所述基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值,包括:
10.基于预设的特征计算库对所述第一拼接数据进行特征处理,得到推理样本数据;
11.将所述推理样本数据输入至所述预置的预估模型中进行模型推理得到广告的质量评估值。
12.可选地,所述方法还包括:
13.通过所述预设的特征计算库,对所述第一拼接数据进行序列化处理操作和反序列化处理操作;
14.确定所述预设的特征计算库中包含的对第三方库的依赖资源,并减少所述对第三方库的依赖资源。
15.可选地,所述方法还包括:
16.通过所述广告检索引擎模块将所述目标广告素材推荐至用户端。
17.可选地,所述通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,包括:
18.通过所述特征上报服务模块获取与所述目标广告素材相关的在线词表数据,并根据所述目标广告素材相关的用户特征数据、广告素材数据和在线词表数据,生成特征上报日志。
19.可选地,所述预置的预估模型通过以下方式生成:
20.获取所述特征上报日志和用户行为日志,并对所述特征上报日志和用户行为日志进行拼接处理,生成第二拼接数据;
21.根据所述第二拼接数据进行特征处理得到训练样本数据;根据所述训练样本数据进行模型训练,以得到所述预置的预估模型。
22.可选地,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:
23.将所述第二拼接数据写入消息队列得到实时视图;
24.使用flink流处理框架读取所述实时视图中的所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。
25.可选地,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:
26.将所述第二拼接数据写入hive表得到离线视图;
27.使用flink-batch的方式从所述离线视图中获取所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。
28.可选地,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:
29.通过udf调用预设的特征计算库,根据所述第二拼接数据进行特征处理,得到训练样本数据。
30.本技术实施例的一个方面又提供了一种广告推荐的系统,所述广告推荐的系统包括广告检索引擎模块、ctr预估服务模块和特征上报服务模块,其中,
31.所述广告检索引擎模块,用于获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;
32.所述ctr预估服务模块,用于获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第
一拼接数据进行模型推理得到广告的质量评估值;
33.所述特征上报服务模块,用于根据所述用户特征数据和广告素材数据生成特征上报日志,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。
34.本技术实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的广告推荐的方法的步骤。
35.本技术实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的广告推荐的方法的步骤。
36.本技术实施例提供的广告推荐的方法、系统、设备及计算机可读存储介质,通过提供一个涵盖模型训练过程和模型推理过程的广告推荐的平台,确保模型训练时和推理时样本数据的一致性,从而提升模型预估的效果,同时考虑到模型训练过程中,数据拼接阶段的资源开销,通过模型预估时提供一个特征上报服务模块的方式,利用特征上报服务模块上报特征上报日志给模型训练阶段使用,大幅简化了模型训练过程中的数据拼接工作。
附图说明
37.图1示意性示出了现有技术中模型训练阶段的数据处理流程框图;
38.图2示意性示出了现有技术中模型推理阶段的数据处理流程框图;
39.图3示意性示出了根据本技术实施例的广告推荐的方法的应用环境图;
40.图4示意性示出了根据本技术实施例一的广告推荐的方法的流程图;
41.图5示意性示出了根据本技术实施例一的广告推荐的方法的数据处理流程框图;
42.图6示意性示出了根据本技术实施例二的广告推荐的系统的框图;及
43.图7示意性示出了根据本技术实施例三的适于实现广告推荐的方法的计算机设备的硬件架构示意图。
具体实施方式
44.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.需要说明的是,在本技术实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
46.现有技术中,广告检索引擎的计算过程主要包括模型训练和模型推理两个阶段。具体如下:
47.一、模型训练阶段
48.模型训练阶段分为离线训练和实时训练两部分,模型训练阶段的主要流程如图1所示,其中,离线训练部分主要用于训练以天为单位的数据的模型,通过处理前一天的日志数据得到训练样本,分为数据拼接、样本生成、模型训练三个阶段:
49.1)数据拼接
50.将广告引擎日志和用户行为日志进行拼接,写入日志消息队列,进一步和离线hive表和离线redis库中的预处理数据进行拼接,生成离线hive表作为离线视图,最后将数据文件存储至hdfs。
51.2)样本生成
52.使用mapreduce框架读取并处理hdfs上的数据文件,使用python脚本进行特征计算,将生成的训练样本文件存储至hdfs。
53.3)模型训练
54.模型训练框架从hdfs读取样本文件,执行模型训练任务。
55.实时训练部分主要用于训练以小时为单位的数据的模型,通过处理前一个小时的日志数据得到训练样本,由于处理的数据量较小且时效性更高,实时训练能够得到更好的效果,包括数据拼接、样本生成和模型训练三个阶段:
56.1)数据拼接
57.与离线训练阶段有所不同,实时训练阶段在日志消息与离线数据进行拼接后,将消息写入新的消息队列作为实时视图。
58.2)样本生成
59.使用flink流处理框架读取消息队列,使用java实现的udf来进行特征计算,将生成的训练样本文件存储至hdfs。
60.3)模型训练
61.模型训练框架从hdfs读取样本文件,执行模型训练任务。
62.二、模型推理阶段
63.在线ctr预估服务,将使用深度学习模型对候选集中的广告创意进行点击率、转化率预估,其中特征处理的主要流程如下图2所示:
64.在线ctr预估服务部分,ctr预估服务会将请求侧数据和广告侧数据进行拼接,处理后生成预估阶段的样本,与模型训练阶段类似,也分成数据拼接、样本生成、模型推理三个阶段:
65.1)数据拼接
66.广告检索引擎将请求侧数据和从bs服务召回的广告侧数据发送至ctr预估服务,ctr预估服务与在线词表和在线redis进行拼接。
67.2)样本生成
68.ctr预估服务使用c++实现的特征计算算子完成特征处理,生成训练样本。
69.3)模型推理
70.ctr预估服务使用深度学习模型对样本进行预估,计算得到广告创意的点击率、转化率预估值。
71.结合上述模型训练和模型推理的执行流程,可以发现现有的广告推荐系统存在以下问题:
72.1)数据源分散
73.训练时数据源来自于多个预处理结果,拼接成本较高。
74.2)数据不一致
75.训练时数据和预估时数据的产出分别来自于两组任务,任务间数据处理方式存在差异,产出版本也不统一。
76.3)计算不一致
77.在离线训练、实时训练、在线预估三个流程的特征计算阶段,分别需要使用python、java、c++三种不同的语言进行实现,代码逻辑难以完全一致。
78.4)排查问题成本较高
79.当需要排查模型训练和模型推理的数据一致性问题时,离线无法获取模型推理阶段使用的完整特征数据,难以快速准确定位问题。
80.有鉴于此,本技术旨在提出一种广告推荐的方法,包括:通过所述广告检索引擎模块获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;通过所述ctr预估服务模块获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,其中,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。从而通过提供一个涵盖模型训练过程和模型推理过程的广告推荐的平台,确保模型训练时和推理时样本数据的一致性,从而提升模型预估的效果,同时考虑到模型训练过程中,数据拼接阶段的资源开销,通过模型预估时提供一个特征上报服务模块的方式,利用特征上报服务模块上报特征上报日志,大幅简化了模型训练过程中的数据拼接工作,克服了数据源分散、数据不一致、计算不一致以及排查问题成本较高等诸多挑战,通过为离线训练和实时训练提供了一套统一的数据处理和特征计算方案,简化了数据拼接流程,提升了模型预估的准确性,并降低了训练成本。
81.本技术提供了多个实施例进一步介绍广告推荐的方案,具体参照下文。
82.在本技术的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本技术及区别每一步骤,因此不能理解为对本技术的限制。
83.以下为本技术的术语解释:
84.ctr:(click-through-rate)即点击通过率,是互联网广告常用的术语,指网络广告(图片广告/文字广告/关键词广告/排名广告/视频广告等)的点击到达率,即该广告的实际点击次数(严格的来说,可以是到达目标页面的数量)除以广告的展现量(show content)。ctr是衡量互联网广告效果的一项重要指标。
85.hdfs:hadoop distributed file system,hadoop分布式文件系统是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(distributed file system)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。hdfs是一个高度容错性的系统,适合部署在廉价的机器上。hdfs能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
86.hive:是基于hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一
种可以存储、查询和分析存储在hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供sql查询功能,能将sql语句转变成mapreduce任务来执行。hive的优点是学习成本低,可以通过类似sql语句实现快速mapreduce统计,使mapreduce变得更加简单,而不必开发专门的mapreduce应用程序。
87.fink:是一个框架和分布式引擎,用于对无界和有界流数据进行有状态计算,并且fink提供了数据分布、容错机制以及资源管理等核心功能。
88.图3示意性示出了根据本技术实施例的环境应用示意图。如图3所示:
89.计算机设备10000可以通过网络20000连接客户端30000。
90.计算机设备10000可以提供服务,如进行网络调试,或返回广告推荐的结果数据给客户端30000等。
91.计算机设备10000可以位于诸如单个场所之类的数据中心,或者分布在不同的地理位置(例如,在多个场所)中。计算机设备10000可以经由一个或多个网络20000提供服务。网络20000包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。网络20000可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络20000可以包括无线链路,诸如蜂窝链路,卫星链路,wi-fi链路等。
92.计算机设备10000可以由一个或多个计算节点实现。一个或多个计算节点可以包括虚拟化的计算实例。虚拟化的计算实例可以包括虚拟机,例如计算机系统,操作系统,服务器等的仿真。计算节点可以基于虚拟映像和/或定义用于仿真的特定软件(例如,操作系统,专用应用程序,服务器)的其他数据,由计算节点加载虚拟机。随着对不同类型的处理服务的需求改变,可以在一个或多个计算节点上加载和/或终止不同的虚拟机。可以实现管理程序来管理同一计算节点上不同虚拟机的使用。
93.客户端30000可以被配置为访问计算机设备10000的内容和服务。客户端30000可以包括任何类型的电子设备,诸如移动设备、平板设备、膝上型计算机、工作站、虚拟现实设备,游戏设备、机顶盒、数字流媒体设备、车辆终端、智能电视、机顶盒等。
94.客户端30000可以将广告推荐的结果数据等输出(例如,显示、渲染、呈现)给用户。
95.以下将通过多个实施例介绍网络调试方案。该方案可以通过计算机设备10000实施。
96.实施例一
97.图4示意性示出了根据本技术实施例一的广告推荐的方法的流程图。应用于广告推荐的系统,所述广告推荐的系统包括广告检索引擎模块、ctr预估服务模块和特征上报服务模块,所述方法包括步骤s402-s406,其中,
98.步骤s402,通过所述广告检索引擎模块获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;
99.在本实施例中,用户特征数据即为在线数据中的redis数据,包含多种用户特征数据。广告素材数据为bs召回服务提供的多个广告创意素材。通过广告检索引擎模块接收用户请求,并根据该用户请求获取与该用户相关的redis数据,以及获取bs召回服务提供的广告素材数据,作为候选的广告素材集,以按照用户特征数据进行用户画像,并基于用户画像
从候选的广告素材集中选择目标素材推荐给用户。
100.步骤s404,通过所述ctr预估服务模块获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;
101.其中,预置的预估模型为预先训练完成的深度学习模型,用于对候选集中的广告素材进行点击率、转化率的预估,得到对应广告素材的质量评估值。通过将预置的预估模型部署在ctr预估服务模块中,ctr预估服务模块可以利用该预置的预估模型进行模型推理。
102.步骤s406,通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,其中,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。
103.在本实施例中,通过提供特征上报服务模块,可以根据模型推理阶段的用户特征数据和广告素材数据,生成特征上报日志,以便于在模型训练时可以直接使用该特征上报日志进行模型训练,确保了模型推理阶段和模型训练阶段所使用的用户特征数据一致,提高排查数据一致性问题的效率。
104.以下提供几个可选地实施例,以进行优化所述广告推荐的方法,具体如下:
105.在本技术的一种优选实施例中,所述基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值,包括:
106.基于预设的特征计算库对所述第一拼接数据进行特征处理,得到推理样本数据;
107.将所述推理样本数据输入至所述预置的预估模型中进行模型推理得到广告的质量评估值。
108.其中,预设的特征计算库为预先对ctr预估服务模块中的特征计算模型进行升级得到的库文件,用于进行特征计算。在一种示例中,预设的特征计算库可以使用c++语言来实现。
109.在本技术的一种优选实施例中,所述方法还包括:
110.通过所述预设的特征计算库,对所述第一拼接数据进行序列化处理操作和反序列化处理操作;
111.确定所述预设的特征计算库中包含的对第三方库的依赖资源,并减少所述对第三方库的依赖资源。
112.在本实施例中,通过新增序列化和反序列化操作,能够对拼接后的用户特征数据和广告素材数据进行序列化和反序列化操作;以及,通过移除/简化对第三方库的依赖资源,尽可能降低jni调用过程中的额外的资源依赖,便于模型训练阶段调用该预设的特征计算库进行特征计算。
113.在本技术的一种优选实施例中,所述方法还包括:
114.通过所述广告检索引擎模块将所述目标广告素材推荐至用户端。
115.在本技术的一种优选实施例中,所述通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,包括:
116.通过所述特征上报服务模块获取与所述目标广告素材相关的在线词表数据,并根据所述目标广告素材相关的用户特征数据、广告素材数据和在线词表数据,生成特征上报日志。
117.在本实施例中,特征上报服务模块与ctr预估服务模块可以使用相同的代码实现,
并且加载了相同的在线词表数据,在经过数据拼接阶段后会生成特征上报日志,将拼接完成的信息作为一条文本消息上报至消息队列,其中,上报的消息中包含了特征计算阶段所需的全部字段。
118.在本技术的一种优选实施例中,所述预置的预估模型通过以下方式生成:
119.获取所述特征上报日志和用户行为日志,并对所述特征上报日志和用户行为日志进行拼接处理,生成第二拼接数据;
120.根据所述第二拼接数据进行特征处理得到训练样本数据;根据所述训练样本数据进行模型训练,以得到所述预置的预估模型。
121.在本实施例中,模型训练时可以直接获取特征上报日志和用户行为日志,通过数据拼接后作为训练样本,以采用该训练样本进行模型训练得到预置的预估模型。
122.需要说明的是,现有技术中,模型训练时拼接的数据包含用户行为日志,广告检索引擎日志,redis和hive数据,其中,广告检索引擎日志对应本实施例的广告素材数据,redis数据对应本实施例的用户特征数据,hive数据对应本实施例的在线词表数据,由于特征上报日志中包含广告素材数据,用户特征数据和在线词表数据,因此,本实施例中模型训练阶段只需要拼接特征上报日志和用户行为日志,简化了数据拼接流程。
123.在本技术的一种优选实施例中,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:
124.将所述第二拼接数据写入消息队列得到实时视图;
125.使用flink流处理框架读取所述实时视图中的所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。
126.在本实施例中,在实时训练阶段时,则可以将第二拼接数据写入消息队列得到实时视图,flink流处理框架读取所述实时视图中的第二拼接数据,并根据该第二拼接数据进行特征处理,得到训练样本数据。在生成训练样本数据之后,还可以将训练样本数据存储至hdfs。
127.在本技术的一种优选实施例中,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:
128.将所述第二拼接数据写入hive表得到离线视图;
129.使用flink-batch的方式从所述离线视图中获取所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。
130.在本实施例中,在离线训练阶段时,则可以将第二拼接数据写入hive表得到离线视图;使用flink-batch的方式从离线视图中获取第二拼接数据,并根据第二拼接数据进行特征处理,得到训练样本数据。在生成训练样本数据之后,还可以将训练样本数据存储至hdfs。
131.在本技术的一种优选实施例中,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:
132.通过udf调用预设的特征计算库,根据所述第二拼接数据进行特征处理,得到训练样本数据。
133.在本实施例中,模型训练阶段基于java语言是实现,而预设的特征计算库基于c++语言实现,通过使用jni技术实现了在flink流处理框架中,通过udf调用预设的特征计算库
进行处理,统一了特征计算的代码实现。
134.为了进一步描述本技术实施例一,如图5示出了一种广告推荐的方法的数据处理流程框图,包括数据拼接,样本生成,模型推理或模型训练三个阶段。
135.其中,
136.一、模型推理阶段
137.与图2中现有技术的模型推理阶段的处理数据的流程相比,图5的模型推理侧的升级点主要是提供了竞胜广告的特征数据上报能力,具体包括了:
138.1)获取实时redis数据上移至广告检索引擎
139.redis中主要存储了实时的用户特征数据,将获取redis数据的操作上移至广告检索引擎后,确保了发送至ctr预估服务和特征上报服务的用户特征数据是一致的。
140.2)新增特征上报服务
141.在线服务侧新增了特征上报服务,广告检索引擎在向用户端返回竞胜的广告素材(即目标广告素材)前,会将该广告侧数据和请求侧数据一起发送至特征上报服务。特征上报服务与ctr预估服务使用相同的代码实现,并且加载了相同的在线词表,在经过数据拼接阶段后,会将拼接完成的信息作为一条文本消息上报至消息队列,其中包含了特征计算阶段所需的全部字段。
142.3)升级c++特征计算库
143.通过进一步优化,将ctr预估服务中的特征计算模块升级成了特征计算库,主要进行了如下修改:
144.a.新增序列化/反序列化功能,能够对拼接后的用户侧和广告侧数据进行序列化/反序列化操作。
145.b.移除/简化第三方库的依赖,尽可能降低jni调用过程中的额外依赖。
146.二、模型训练阶段
147.与图1中现有技术的模型训练阶段的处理数据的流程相比,模型训练侧的升级点主要是简化了数据拼接,并且统一了模型训练和模型推理的特征计算实现,具体包括了:
148.1)简化数据拼接
149.由于特征上报日志中已经包含了特征计算的全部字段,因此新方案只需要拼接用户行为日志和特征上报日志,将结果写入消息队列即可得到实时视图,将结果写入hive表即可得到离线视图。
150.2)统一离线训练和实时训练
151.在离线训练的过程中,使用flink-batch的方式从离线视图中获取数据,后续操作与实时训练相同,使用udf生成训练样本,并将样本数据写至hdfs。
152.3)使用jni调用特征计算库
153.使用jni技术实现了在flink流处理框架中,通过udf调用c++特征计算库进行处理,统一了特征计算的代码实现。本技术实施例通过提供一个涵盖模型训练过程和模型推理过程的广告推荐平台,确保模型训练时和推理时样本数据的一致性,从而提升模型预估的效果。同时考虑到模型训练过程中,数据拼接阶段的资源开销,通过在线服务侧上报特征数据的方式,大幅简化了模型训练过程中的数据拼接工作,克服了数据源分散、数据不一致、计算不一致以及排查问题成本较高等诸多挑战,通过为离线训练和实时训练提供了一
套统一的数据处理和特征计算方案,简化了数据拼接流程,提升了模型预估的准确性,并降低了训练成本。
154.在模型效果方面,修复了多项特征一致性问题,从而提高了模型预估的准确性,提高了广告的点击率和转化率。在训练成本方面,大幅简化了离线训练和实时训练过程中的数据拼接,降低了flink硬件资源需求,降低模型训练的flink任务并发量。此外,通过对视图模块的重构,训练任务流程变得更加清晰简洁,进一步降低了模型迭代和问题排查的成本。
155.实施例二
156.图6示意性示出了根据本技术实施例二的广告推荐的系统的框图,该广告推荐的系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本技术实施例。本技术实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本技术实施例中各程序模块的功能。
157.如图6所示,所述广告推荐的系统600可以包括广告检索引擎模块610、ctr预估服务模块620和特征上报服务模块630,其中,
158.所述广告检索引擎模块610,用于获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;
159.所述ctr预估服务模块620,用于获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;
160.所述特征上报服务模块630,用于根据所述用户特征数据和广告素材数据生成特征上报日志,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。
161.在本技术的一种优选实施例中,所述ctr预估服务模块620,具体用于:
162.基于预设的特征计算库对所述第一拼接数据进行特征处理,得到推理样本数据;
163.将所述推理样本数据输入至所述预置的预估模型中进行模型推理得到广告的质量评估值。
164.在本技术的一种优选实施例中,所述ctr预估服务模块620还用于:
165.通过所述预设的特征计算库,对所述第一拼接数据进行序列化处理操作和反序列化处理操作;
166.确定所述预设的特征计算库中包含的对第三方库的依赖资源,并减少所述对第三方库的依赖资源。
167.在本技术的一种优选实施例中,所述广告检索引擎模块610还用于:
168.将所述目标广告素材推荐至用户端。
169.在本技术的一种优选实施例中,所述特征上报服务模块630,具体用于:
170.通过所述特征上报服务模块获取与所述目标广告素材相关的在线词表数据,并根据所述目标广告素材相关的用户特征数据、广告素材数据和在线词表数据,生成特征上报日志。
171.在本技术的一种优选实施例中,所述广告推荐的系统600还包括模型训练装置,所述模型训练装置包括如下模块:
172.数据拼接模块,用于获取所述特征上报日志和用户行为日志,并对所述特征上报日志和用户行为日志进行拼接处理,生成第二拼接数据;
173.模型训练模块,用于根据所述第二拼接数据进行特征处理得到训练样本数据;根据所述训练样本数据进行模型训练,以得到所述预置的预估模型。
174.在本技术的一种优选实施例中,所述模型训练模块,具体用于:
175.将所述第二拼接数据写入消息队列得到实时视图;
176.使用flink流处理框架读取所述实时视图中的所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。
177.在本技术的一种优选实施例中,所述模型训练模块,具体用于:
178.将所述第二拼接数据写入hive表得到离线视图;
179.使用flink-batch的方式从所述离线视图中获取所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。
180.在本技术的一种优选实施例中,所述模型训练模块,具体用于:
181.通过udf调用预设的特征计算库,根据所述第二拼接数据进行特征处理,得到训练样本数据。
182.实施例三
183.图7示意性示出了根据本技术实施例三的适于实现广告推荐的方法的计算机设备10000的硬件架构示意图。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括fen独立的服务器,或者多个服务器所组成的服务器集群)等。如图7所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
184.存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如广告推荐的方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
185.处理器10020在一些实施例中可以是中央处理器(central processing unit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
186.网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(global system of mobile communication,简称为gsm)、宽带码分多址(wideband code division multiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
187.需要指出的是,图7仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
188.在本实施例中,存储于存储器10010中的广告推荐的方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本技术实施例。
189.实施例四
190.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的广告推荐的方法的步骤。
191.本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中广告推荐的方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
192.显然,本领域的技术人员应该明白,上述的本技术实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术实施例不限制于任何特定的硬件和软件结合。
193.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
技术特征:
1.一种广告推荐的方法,其特征在于,应用于广告推荐的系统,所述广告推荐的系统包括广告检索引擎模块、ctr预估服务模块和特征上报服务模块,所述方法包括:通过所述广告检索引擎模块获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;通过所述ctr预估服务模块获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,其中,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。2.根据权利要求1所述的广告推荐的方法,其特征在于,所述基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值,包括:基于预设的特征计算库对所述第一拼接数据进行特征处理,得到推理样本数据;将所述推理样本数据输入至所述预置的预估模型中进行模型推理得到广告的质量评估值。3.根据权利要求2所述的广告推荐的方法,其特征在于,所述方法还包括:通过所述预设的特征计算库,对所述第一拼接数据进行序列化处理操作和反序列化处理操作;确定所述预设的特征计算库中包含的对第三方库的依赖资源,并减少所述对第三方库的依赖资源。4.根据权利要求1所述的广告推荐的方法,其特征在于,所述方法还包括:通过所述广告检索引擎模块将所述目标广告素材推荐至用户端。5.根据权利要求1所述的广告推荐的推荐系统,其特征在于,所述通过所述特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,包括:通过所述特征上报服务模块获取与所述目标广告素材相关的在线词表数据,并根据所述目标广告素材相关的用户特征数据、广告素材数据和在线词表数据,生成特征上报日志。6.根据权利要求1所述的广告推荐的方法,其特征在于,所述预置的预估模型通过以下方式生成:获取所述特征上报日志和用户行为日志,并对所述特征上报日志和用户行为日志进行拼接处理,生成第二拼接数据;根据所述第二拼接数据进行特征处理得到训练样本数据;根据所述训练样本数据进行模型训练,以得到所述预置的预估模型。7.根据权利要求6所述的广告推荐的方法,其特征在于,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:将所述第二拼接数据写入消息队列得到实时视图;使用flink流处理框架读取所述实时视图中的所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。8.根据权利要求6所述的广告推荐的方法,其特征在于,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:将所述第二拼接数据写入hive表得到离线视图;
使用flink-batch的方式从所述离线视图中获取所述第二拼接数据,并根据所述第二拼接数据进行特征处理,得到训练样本数据。9.根据权利要求6所述的广告推荐的方法,其特征在于,所述根据所述第二拼接数据进行特征处理,得到训练样本数据,包括:通过udf调用预设的特征计算库,根据所述第二拼接数据进行特征处理,得到训练样本数据。10.一种广告推荐的系统,其特征在于,所述广告推荐的系统包括广告检索引擎模块、ctr预估服务模块和特征上报服务模块,其中,所述广告检索引擎模块,用于获取用户特征数据和广告素材数据,并将所述用户特征数据和广告素材数据上报至所述ctr预估服务模块和所述特征上报服务模块;所述ctr预估服务模块,用于获取在线词表数据,对所述用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;所述特征上报服务模块,用于根据所述用户特征数据和广告素材数据生成特征上报日志,所述特征上报日志用于进行模型训练以得到所述预置的预估模型。11.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至9中任意一项所述的广告推荐的方法的步骤。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至9中任意一项所述的广告推荐的方法的步骤。
技术总结
本申请实施例提供了一种广告推荐的方法和系统,包括:通过广告检索引擎模块获取用户特征数据和广告素材数据,并将用户特征数据和广告素材数据上报至CTR预估服务模块和特征上报服务模块;通过CTR预估服务模块获取在线词表数据,对用户特征数据和广告素材数据和在线词表数据进行拼接处理生成第一拼接数据,并基于预置的预估模型根据所述第一拼接数据进行模型推理得到广告的质量评估值;通过特征上报服务模块根据所述用户特征数据和广告素材数据生成特征上报日志,其中,所述特征上报日志用于进行模型训练以得到预置的预估模型。通过提供涵盖模型训练和模型推理过程的广告推荐的系统,确保模型训练时和推理时样本数据的一致性,从而提升模型预估的效果。从而提升模型预估的效果。从而提升模型预估的效果。
技术研发人员:李渊驰 卢晓威 李秦
受保护的技术使用者:上海哔哩哔哩科技有限公司
技术研发日:2023.06.02
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
