CN116684480B - 信息推送模型的确定及信息推送的方法及装置 - Google Patents
信息推送模型的确定及信息推送的方法及装置 Download PDFInfo
- Publication number
- CN116684480B CN116684480B CN202310948354.8A CN202310948354A CN116684480B CN 116684480 B CN116684480 B CN 116684480B CN 202310948354 A CN202310948354 A CN 202310948354A CN 116684480 B CN116684480 B CN 116684480B
- Authority
- CN
- China
- Prior art keywords
- information
- network layer
- model
- network
- layer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 239000013598 vector Substances 0.000 claims description 243
- 238000012549 training Methods 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 28
- 238000012216 screening Methods 0.000 claims description 16
- 230000004927 fusion Effects 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 13
- 238000011176 pooling Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000012417 linear regression Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000012512 characterization method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 241001474374 Blennius Species 0.000 description 2
- 239000002775 capsule Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种信息推送模型的确定及信息推送的方法及装置,在模型构建过程中,采用多输入多输出模型作为初始模型,通过样本特征深度提取多输入向量,同时产出多层次丰富的输出表征,并根据初始模型的训练结果对初始模型中的连接关系进行删减。其中,初始模型包括依次连接的第一数量的网络层,单个网络层的输出作为其后的第二数量网络层的输入。如此训练得到的模型可以具有更加有效的拓扑结构。
Description
技术领域
本说明书一个或多个实施例涉及信息推送技术领域,尤其涉及信息推送模型的确定及信息推送的方法及装置。
背景技术
信息推荐场景中,经常需要手动设计复杂的网络,并根据离线训练指标选择若干较佳模型,再在线上进一步实验。常规技术中对于信息推送模型的设计可以包括generator-evaluator(生成器-评估器)方式、可微网络架构搜索方式等。其中,generator-evaluator方式利用生成器生成一个网络结构,训练该网络收敛后评估效果及算力,将这些数据作为评估器的训练样本,反过来指导生成器的优化。可微网络架构搜索方式下,通常在多个候选的模块中选择其中的至少一个。
这些信息推送模型的设计方式往往都需要事先指定模板,花费的时间成本和计算量较大。而随着信息推送精度要求的提高,还需要更复杂的全连接网络架构。如何在网络结构和精度之间进行平衡,更高效地挖掘出适合相应信息推送场景的网络结构,是信息推送领域较为重要的问题之一。
发明内容
本说明书一个或多个实施例描述了一种信息推送模型的确定方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种信息推送模型的确定方法,包括:利用样本数据训练初始模型,其中,样本数据中的单个样本对应针对单个用户在单次历史推送过程中的至少一条历史推送信息,以及该单个用户针对所述至少一条历史推送信息的点击标签,所述初始模型包括依次连接的第一数量网络层,单个网络层的输出作为其后的第二数量网络层的输入,所述第二数量小于所述第一数量,所述初始模型通过多个模型更新周期迭代训练,在单个模型更新周期:获取当前样本对应的当前用户的第一用户特征和第一历史推送信息对应的第一历史信息特征进行嵌入得到的第一嵌入向量组;将所述第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前用户针对所述第一历史推送信息的点击标签进行对比,从而确定模型损失并更新所述初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到所述信息推送模型。
在一个实施例中,所述第二数量与所述第一数量的比值小于预定比值。
在一个实施例中,所述第一用户特征包括地理位置特征、职业特征、搜索特征、浏览特征、点击特征、消费特征、对物品的偏好类目特征中的至少一项。
在一个实施例中,所述第一历史信息特征包括:所述第一历史推送信息所描述的具体事物的事物特征和/或对所述第一历史推送信息的描述文本进行分词的词汇特征。
在一个实施例中,所述第一嵌入向量组包括一个或多个嵌入向量,单个嵌入向量为所述第一用户特征、所述第一历史信息特征或它们以线性回归、求平均值、叠加、最大池化、拼接、降维中的至少一种方式进行融合确定的向量。
在一个实施例中,所述待定参数还包括,所述第一嵌入向量组中各个嵌入向量各自作为前第二数量网络层的输入的连接权重;所述根据连接权重筛除满足未激活条件的连接关系还包括:筛除连接权重满足未激活条件的嵌入向量连接关系。
在一个实施例中,所述将所述第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出包括:对于前第二数量网络层中的网络层j,对所述第一嵌入向量组中的各个嵌入向量及前j-1个网络层的输出向量进行加权求和,得到网络层j的输出;对于其他网络层中的网络层i,将其前r个网络层的输出向量进行加权求和,得到网络层i的输出。
在一个实施例中,所述单个网络层的输出作为其后的第二数量网络层的输入包括:排列靠前的网络层的输出,经由相应全连接层的处理后,作为靠后网络层的输入。
在一个实施例中,单个网络层通过重参数化技巧将相应输入向量以加权和的方式融合。
在一个实施例中,所述未激活条件包括:连接权重为0;或者,连接权重小于预定值。
根据第二方面,提供一种信息推送的方法,包括:对当前待推送用户的第二用户特征与各条候选信息各自对应的候选信息特征分别进行嵌入,得到各个第二嵌入向量组;通过如第一方面所述的方式确定的信息推送模型处理所述第二嵌入向量组,得到针对当前待推送用户分别在各条候选信息上的各个点击概率;按照各个点击概率由大到小的顺序,向所述当前待推送用户推送各条候选信息。
在一个实施例中,单个第二嵌入向量组包括一个或多个嵌入向量,单个嵌入向量为所述第二用户特征、所述候选信息特征或它们以线性回归、求平均值、叠加、最大池化、拼接、降维中的至少一种方式进行融合确定的向量。
根据第三方面,提供一种模型训练方法,包括:获取由依次连接的第一数量网络层构成的初始模型,其中,单个网络层的输出作为其后的第二数量网络层的输入,所述第二数量小于所述第一数量;利用样本数据通过多个模型更新周期迭代训练初始模型,在单个模型更新周期,通过以下方式更新模型:获取基于当前样本的样本特征确定的样本嵌入向量组;将所述样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前样本的样本标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到目标模型。
在一个实施例中,所述第二数量与所述第一数量的比值小于预定比值。
在一个实施例中,所述待定参数还包括,所述样本嵌入向量组中各个嵌入向量各自作为前第二数量网络层的输入的连接权重;所述根据连接权重筛除满足未激活条件的连接关系还包括:筛除连接权重满足未激活条件的嵌入向量连接关系。
在一个实施例中,所述将所述样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出包括:对于前第二数量网络层中的网络层j,对所述样本嵌入向量组中的各个嵌入向量及前j-1个网络层的输出向量进行加权求和,得到网络层j的输出;对于其他网络层中的网络层i,将其前r个网络层的输出向量进行加权求和,得到网络层i的输出。
在一个实施例中,所述单个网络层的输出作为其后的第二数量网络层的输入包括:排列靠前的网络层的输出,经由相应全连接层的处理后,作为靠后网络层的输入。
在一个实施例中,单个网络层通过重参数化技巧将相应输入向量以加权和的方式融合。
在一个实施例中,所述未激活条件包括:连接权重为0;或者,连接权重小于预定值。
根据第四方面,提供一种信息推送模型的确定装置,包括:
训练单元,配置为利用样本数据训练初始模型,其中,样本数据中的单个样本对应针对单个用户在单次历史推送过程中的至少一条历史推送信息,以及该单个用户针对所述至少一条历史推送信息的点击标签,所述初始模型包括依次连接的第一数量网络层,单个网络层的输出作为其后的第二数量网络层的输入,所述第二数量小于所述第一数量,所述初始模型通过多个模型更新周期迭代训练,在单个模型更新周期:获取当前样本对应的当前用户的第一用户特征和第一历史推送信息对应的第一历史信息特征进行嵌入得到的第一嵌入向量组;将所述第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前用户针对所述第一历史推送信息的点击标签进行对比,从而确定模型损失并更新所述初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;
确定单元,配置为对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到所述信息推送模型。
根据第五方面,提供一种信息推送的装置,包括:
嵌入单元,配置为对当前待推送用户的第二用户特征与各条候选信息各自对应的候选信息特征分别进行嵌入,得到各个第二嵌入向量组;
预测单元,配置为通过如第三方面所述的装置确定的信息推送模型处理各个第二嵌入向量组,得到针对当前待推送用户分别在各条候选信息上的各个点击概率;
推送单元,配置为按照各个点击概率由大到小的顺序,向所述当前待推送用户推送各条候选信息。
根据第六方面,提供了一种模型训练装置,包括:
获取单元,配置为获取由依次连接的第一数量网络层构成的初始模型,其中,单个网络层的输出作为其后的第二数量网络层的输入,所述第二数量小于所述第一数量;
训练单元,配置为利用样本数据通过多个模型更新周期迭代训练初始模型,在单个模型更新周期,通过以下方式更新模型:获取基于当前样本的样本特征确定的样本嵌入向量组;将所述样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前样本的样本标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;
确定单元,配置为对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到目标模型。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面、第二方面或第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面、第二方面或第三方面的方法。
通过本说明书实施例提供的方法和装置,在模型训练过程中,采用多输入多输出模型作为初始模型,通过样本特征深度提取多输入向量,同时产出多层次丰富的输出表征,并根据初始模型的训练结果对初始模型中的连接关系进行删减。其中,多输入多输出模型训练过程中,初始模型包括依次连接的第一数量网络层,单个网络层的输出作为其后的第二数量网络层(最多至最后一个网络层)的输入。该方法和装置以可微框架的模型拓扑结构搜索为基础,确定的模型结构更加稳定。通过该方式得到的模型可以充分利用输入信息,产出多层次丰富的输出表征。并且,在第二数量小于第一数量的情况下,模型构建的复杂度大大降低。
在利用信息推送场景下的用户点击样本进行训练的情况下,从用户信息和候选信息中挖掘深度特征构建嵌入向量组,可以深度挖掘用户点击行为与所推送的信息之间的相关性。并且,可以对网络连接关系的贡献给予评价,从而按照评价结果精简初始模型,以得到有效的信息推送模型。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书的信息推送模型的适用场景示意图;
图2示出一个具体例子的多输入多输出模型的架构示意图;
图3示出根据一个实施例的信息推送模型的确定流程示意图;
图4根据一个实施例的初始模型训练过程中单个模型更新周期执行流程示意图;
图5示出根据一个具体例子的单个网络层的输入输出示意图;
图6示出根据一个实施例的模型训练的方法流程图;
图7示出根据一个实施例的信息推送的方法流程图;
图8示出根据一个实施例的信息推送模型的确定装置的示意性框图;
图9示出根据一个实施例的信息推送装置的示意性框图;
图10示出根据一个实施例的模型训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的技术方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。如图1所示,该实施场景中,可以包括终端和服务器。终端上可以安装有各种应用,例如购物类应用、支付类应用、地图类应用、网页类应用,等等。用户可以通过终端进行各种应用操作,例如浏览网页、点击页面上的超链接等,并可以通过在终端的各种操作与相应应用的服务端交互。其中的终端例如可以是个人计算机、智能手机、笔记本电脑、平板电脑等等。
在图1示出的实施场景中,按照用户在信息推送场景中的主体作用及立场的不同,可以将用户分为信息推送方和信息浏览方。信息推送方可以通过终端与服务端交互,向服务端提供推送信息,推送信息可以是用于推送待推送目标的信息,例如可以是待推送目标的描述信息等。待推送目标例如是商品、新闻、资讯等。信息浏览方可以通过服务端浏览各种信息,例如商品信息、新闻信息等。服务端可以从一个或多个信息推送方获取各种待推送信息,并针对每个信息浏览方进行个性化的信息推送。信息推送方可以是第三方,也可以是为终端上的若干应用提供支持的服务方(即图1示出的服务端)。在可选的实现方式中,一些信息浏览用户既可以是信息推送方,也可以是信息浏览方。
可以理解,图1的实施场景仅是一个示例。在实践中,服务端、信息浏览方、信息推送方的数量可以是任意的。服务端也可以预先存储有待推送的信息,此时,该实施场景中作为信息推送方的用户及对应终端可以不存在。
通常,个性化的信息推送方式,使得所推送的信息更加符合用户需求,从而提高用户体验和推送信息的有效性。具体而言,针对单个具体用户,通过用户的基本信息或行为等信息推测用户的需求,并将候选信息与用户的需求进行关联,从而根据关联度的大小进行信息推送。该过程通常可以基于信息推送模型实现。
在构建信息推送模型过程中,为了提高信息推送模型对相关信息推送场景的自主适应性,挖掘信息之间更深层次的关联关系,提高信息推送准确度,本说明书提供一种基于多输入多输出模型的信息推送模型确定方法。
其中,多输入多输出模型可以包括依次连接的第一数量(如10个)的网络层,单个网络层的输出作为其后的网络层的输入。在最大稠密限度下,单个网络层可以与其后的所有网络层具有连接关系。换句话说,单个网络层将其前全部网络层的输出作为当前层的输入。在多输入多输出模型中,多输入可以体现在,各种信息以各种方式组合嵌入得到相应的嵌入向量组,嵌入向量组同样可以向其后的网络层连接,嵌入向量组中的嵌入向量为多个的情况下,称为多输入。
如图2所示,是借鉴稠密网络DenseNet的多输入多输出模型的一个实施架构示意图。如图2所示,x0表示输入特征,x1、x2、x3、x4等分别为第一网络层H1、第二网络层H2、第三网络层H3、第四网络层H4的输出。其中,x0同时作为网络层H1、H2、H3、H4和输出层(如图2中的Transition Layer)的输入,x1同时作为网络层H2、H3、H4和输出层的输入,x2同时作为网络层H3、H4和输出层的输入,x3同时作为网络层H4和输出层的输入,x4作为输出层的输入。另一方面,从单个网络层的角度,其可以接受其前面所有层的输出作为其额外的输入数据。可以理解的是,图2示出的单个网络层可以包括BN-ReLU-Conv结构,实践中,还可以是其他结构,例如至少一个全连接层等,在此不再赘述。
这种密集的网络架构下,各个网络层均可以直达最后的误差信号,从而可以提升梯度的反向传播,使得网络更容易训练。而由于特征的复用,一方面减少生成率(growthrate),另一方面,最初的特征在最后一层也能够利用,提高模型的有效性。
而实践中,使用多少个网络层、对哪些网络层的输出进行复用的效果更好,是提升模型效果、进行更有效的信息推送较为重要的技术问题。
为了确定更有效的信息推送模型,在本说明书的实施架构下,可以将一个多输入多输出网络作为初始模型,通过对初始模型进行训练并评估其中各层连接的重要性,从而搜索更适用相关场景的信息推送模型的拓扑结构。为此,可以设定第一数量(如用d表示)作为搜索深度,用于描述初始模型所包含的网络层数,设定第二数量(如用r表示,r< d)作为搜索范围(或称为搜索半径),用于描述各个网络层的输入对应的最多靠前网络层数,以及单个网络层的输出最多传递给靠后的网络层数。通常,在前第二数量个网络层,第i(i<r)个网络层的输入对应的靠前网络层数至多为i-1,在最后第二数量个网络层,第j(j>d-r)个网络层的输出最多传递给靠后的j-1个网络层,其他网络层的输入为其前r个网络层,同时,其输出传递给其后r个网络层。可选地,第二数量小于第一数量(例如第二数量与第一数量的比值小于预定值),例如d=10,r=5。
在此基础上,利用预先标注有点击标签的训练样本对初始模型进行训练。单个样本可以对应针对单个用户在单次历史推送过程中的至少一条历史推送信息,以及该单个用户针对该至少一条历史推送信息是否进行点击的点击标签。在训练完成后,删除初始模型中未被激活的网络层连接,得到最终的信息推送模型。可以理解,由于最初的输入为经由用户信息及历史推送信息提取的数据特征,因此,网络层之间的连接形式代表着信息的融合形式,信息模型确定过程中,对连接关系的选择过程,也可以理解为是对信息处理方式的过滤过程。
图3示出了根据一个实施例的信息推送模型的确定流程。该流程的执行主体可以是具有一定计算能力的任意计算机、设备、服务器。如图3所示,该信息推送模型的确定流程包括:步骤302,利用样本数据训练初始模型;步骤304,对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到信息推送模型。
首先,在步骤302中,利用样本数据训练初始模型。
可以理解,针对单个用户的一次历史信息推送记录可以作为一条训练样本。其中,一条历史推送记录可以包括一次历史推送行为中所推送的一条或多条历史推送信息。
根据前文的描述可知,初始模型为多输入多输出模型架构。利用样本数据训练初始模型的训练过程可以包括多个迭代的更新周期,每个更新周期在前一个更新周期的基础上对模型中的待定参数进行更新。图4示出了根据一个实施例的初始模型训练过程中单个模型更新周期执行的流程。下面结合图4描述初始模型的单个模型更新周期执行的操作。
首先,在步骤402中,获取当前样本对应的当前用户的第一用户特征和第一历史推送信息对应的第一历史推送信息特征进行嵌入得到的第一嵌入向量组。
可以理解,这里的当前用户可以是任意的终端用户,或者当前应用或平台的任意注册用户。针对该当前用户的一次历史信息推送记录可以作为一条训练样本。
其中,当前用户可以对应有用于对用户进行形象刻画的各种信息。用户信息可以包括但不限于:用户的基本信息、用户的历史行为信息等。
用户的基本信息例如是当前用户的地理位置、学历、职业,等等。其中,用户的基本信息可以通过用户在当前应用或平台的注册信息、登记信息等获取,也可以通过其人际关系网络获取。例如,用户的地理位置信息可以包括其注册地理位置信息、当前地理位置信息等中的至少一项。再例如,当前用户的联系人分组包括“大学同学”,那么当前用户至少经历了大学生活例如是“专科”或“本科”学历,在没有其他可能的更高学历信息的情况下,可以将该当前用户的学历信息标识为“大学毕业”、“大学生”等等。
用户的历史行为信息例如是用户在当前应用和/或相关应用的搜索记录、浏览记录、点击记录、消费记录、对物品的偏好类目,等等。其中,相关应用可以是与当前应用(客户端或服务端)具有关联关系的应用,例如当前应用为某支付平台应用,相关应用可以包括某购物平台应用,当前应用是某综合***平台,相关应用可以包括该平台上的各种子应用。用户的浏览记录、点击记录、消费记录可以通过用户的历史操作确定,对物品的偏好类目可以通过用户设置的偏好信息获取,也可以通过对用户的搜索记录、浏览记录、点击记录、消费记录等至少一项进行统计确定。
在具体的实施例中,用户信息还可以包括更多内容,在此不再详述。通过用户信息可以提取用户特征。提取用户特征的过程可以理解为量化表示各种用户信息的过程。例如,浏览记录信息可以通过浏览次数(如5次)、浏览时长(如30秒)对应的相关数值(如5、30)表示。当前用户对应的用户特征例如记为第一用户特征。第一用户特征可以包括但不限于地理位置特征、职业特征、搜索特征、浏览特征、点击特征、消费特征、对物品的偏好类目特征中的至少一项。
历史推送信息可以是当前次采样的信息推送过程中历史推送给用户的信息。历史推送信息例如可以是新闻资讯、商品、优惠券等等。历史推送信息可以有多条,对每条历史推送信息而言,可以具有相应的描述信息。一条历史推送信息的描述信息可以包括一个或多个信息项,例如可以包括但不限于信息类别、属性信息、关键词等等中的至少一项。其中的信息类别可以是预先设定的,可通过人工标注或机器学习方法预先确定,信息类别例如可以描述信息所属的分类,如商品按照适用群体的分类信息,女性用品、儿童用品、老人用品等,或者按照商品用途的分类信息,服装、家具、电器等。属性信息可以是对候选信息中所涉及的目标对象的属性进行描述的信息。例如,历史推送信息为商品“DHA胶囊”的情况下,属性信息可以包括天然海藻、瓶装、60粒、澳洲等等。关键词可以是描述信息中最能体现历史推送信息的相关内容的词汇,其可以独立于属性信息,也可以与属性信息有交叉。例如,商品“DHA胶囊”的关键词可以包括天然海藻、明目等,一个具体的新闻文本的关键词例如可以包括公交车、坠江等等。
与用户特征相似地,对于单条历史推送信息,也可以通过对相关信息项的量化表示来提取相关历史推送信息的信息特征。例如,可以从相应信息中提取相应特征,并将特征通过数值描述,从而形成向量表征,或者从信息中提取相应关键词,利用词向量描述相应关键词,再将关键词的词向量进行拼接或融合从而形成向量表征。其中,生成词向量的方法可以是基于统计学的方法(共现矩阵、SVD分解),也可以是基于不同结构的神经网络的语言模型,例如独热表示(one-hot)、word2vec(word embeddings)、glove(Global vectors forword representation,词的全局向量)等等常规方式确定。从而,可以基于当前用户的用户信息提取用户特征,从单条历史推送信息中提取信息特征。将任意一条历史推送信息记为第一历史推送信息,则相应的信息特征可以称为第一历史信息特征。
如此,可以将第一用户特征和第一历史信息特征通过向量进行表征。进一步地,可以将一用户特征和各条历史信息特征进行嵌入,得到各条历史推送信息之于当前用户的各种嵌入表征,在此可以称之为嵌入向量。为了筛选有效的嵌入,在模型训练过程中,可以采用多种方式进行嵌入,从而构成嵌入向量组。例如,针对单个历史推送信息的嵌入向量组,单个嵌入向量可以仅包含用户特征(部分或全部),也可以仅包含历史信息特征(部分或全部),还可以既包含用户信息又包含候选信息。在一个具体例子中,嵌入向量组中可以包含一个融合的嵌入向量,经由用户特征向量和信息特征向量的融合确定。向量融合的方法有很多,例如可以是线性回归、求平均值、叠加、maxpooling(最大池化)、拼接、降维等等中的至少一项。
可以理解,嵌入可以又称为embedding。在神经网络中,embedding可以通过嵌入层实现,得到的表征向量可以称为嵌入向量(或嵌入张量)。机器学习领域中的“嵌入”通常是获取一个对象(如单词、项、用户等)并创建到度量空间的映射。将嵌入向量的各个维度对应到预定的度量空间,嵌入向量单个维度的值可以看作将对象映射到预定度量空间相应维度的映射结果。例如在一个嵌入网络中,可以采用将用户特征向量和单条历史信息特征向量拼接后进行降维处理的方式完成embedding得到相应的单个嵌入向量。
这里,可以将对当前用户的第一用户特征和第一历史推送信息对应的第一历史信息特征进行嵌入得到的一个或多个嵌入向量称为第一嵌入向量组,例如记为V0。V0可以包括一条或多条嵌入向量。在一条历史推送记录包括多条历史推送信息的情况下,可以通过单个嵌入向量组单独描述单条历史推送信息,也可以以多维张量(由多个嵌入向量组按照历史推送信息顺序排列在一起构成)形式描述全部历史推送信息各自对应的嵌入张量组。
接着,经由步骤404,将第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出。
根据初始模型的架构可知,该第一嵌入向量组V0可以作为前r个网络层的输入。逐层计算各个网络层时,对于第一个网络层仅以第一嵌入向量组V0为输入,其他网络层除了第一嵌入向量组V0之外还可以以前多个网络层的输出为输入。对于最后一个网络层之前的其他网络层而言,其输出可以作为其后的一个或多个网络层的输出。一个网络层的输出作为另一个网络层的输入的情况下,也可以称为两个网络层之间具有连接关系。单个网络层处理的向量数量不超过其前最靠近的第二数量的网络层的输出向量。例如,在r=5的情况下,单个网络层处理的向量数量不超过其前5个网络层的输出向量。
下面先假设嵌入向量组中包含一个向量V0对计算各个网络层输出的过程进行描述。
根据一个实施例,两个具有连接关系的网络层,靠前的网络层的输出直接作为靠后的网络层的一个输入。例如,第一网络层的输出如记为向量V1。对于第二个网络层,输入可以包括向量V0和向量V1。其中,第二个网络层对向量V0和向量V1进行融合,得到输出向量V2。类似地,第三个网络层可以对向量V0、向量V1和向量V2进行融合,得到输出向量V3。以此类推,单个网络层至多接收其前r个网络层的输出作为输入,至多向后r个网络层传递其输出,直至第d个网络层输出。此时,由于各个网络层的输出向量维数可能不同,因此,各个网络层对相关向量的融合可以采用拼接后映射到预定维度的方式进行。特别地,如果各个网络层的输出维度相同,则可以采用加和、加权等方式对相关向量进行融合。
根据另一个实施例,两个具有连接关系的网络层,其连接关系通过全连接网络实现,即,靠前的网络层的输出经过一个全连接层的处理后作为靠后的网络层的一个输入。这是因为,各个网络层的输出向量维数可能不同,为了能够通过加权和等方式进行融合,需要其维数映射为一致。其中,全连接层网络架构下,全连接层中的权重参数构成权重矩阵,可以进行权重矩阵与接收的向量的矩阵乘法计算。
图5以第i网络层为例描述单个网络层接收靠前网络层的输出向量和将当前输出作为后续网络层输入的一个示意图。图5中,假设i为大于r且小于d-r的整数,而在其他网络层,相应的前向或后向连接网络层数量以真实网络层的存在数量为限酌减。
在图5示出的例子中,假设第i网络层可以将各个向量方式以加权方式融合在一起得到当前层的输出向量,例如记为向量i。对于第i网络层而言,其可以与靠前的第i-r层至第i-1层(共r个网络层)具有连接关系,接收其输出,即向量i-r、向量i-r+1……向量i-1。各个靠前的网络层的输出向量分别经过与自身相对应的全连接层,得到的向量作为第i网络层的一个输入。如图5所示,向量i-r经相应全连接层映射为向量Vi-r,向量i-r+1经相应全连接层映射为向量Vi-r+1,……向量i-1经相应全连接层映射为向量Vi-1。第i网络层对Vi-r、向量Vi-r+1……向量Vi-1进行加权融合处理,从而得到输出向量i。而输出向量i可以分别经过r个全连接层映射为向量Vi+1、向量Vi+2……向量Vi+r,并分别作为第i+1层至第i+r层的一个输入。
可以理解,对于前第二数量网络层中的网络层j,由于其至多接收到其一嵌入向量及前j-1个网络层的输出,因此可以对第一嵌入向量及前j-1个网络层的输出向量进行加权求和,得到网络层j的输出。
在一个可能的设计中,第二个网络层之后的各个网络层可以通过重参数化技巧(如Gumbel-Softmax等)将相关向量进行融合,以得到输出向量。其中,重参数化技巧Gumbel-Softmax是从带有参数的分布中进行采样,同时保留梯度信息的离散数据处理方法,也可以称之为激活层,或者重参数化层。具体地,第二个网络层可以通过重参数化技巧将向量V0和向量V1以加权和的方式融合,第三个网络层可以将向量V0、向量V1和向量V2以加权和的方式融合,以此类推,直至通过最后一个网络层得到输出向量。其中,加权和的权重也可以称为相应的两个网络层之间的连接权重,该连接权重可以作为初始模型的待定参数。
在其他设计中,各个网络层还可以通过其他方式将相关向量融合,得到相应的输出向量。例如,多个二维张量拼接后经过卷积、池化处理等,具体融合方式和网络层的构建方式有关,相应地,不同的融合方式待定参数也有所区别,在此不再一一赘述。
作为一个具体例子,针对各个网络层的逐层计算过程如下:
首先,可以初始化一个存储网络层向量的列表集合L1,L2,...,Ld,将嵌入向量V0分别放在列表L1,L2,...,Lr中。另一方面,初始化可学习参数矩阵s,作为连接开关集合,形状为d*r,各行分别对应各个网络层,各列分别表示向后或向前的r个网络层,单个元素表示相应行和列对应的网络层之间的连接权重。例如,第2行第3列的元素为0.3,可以表示第二个网络层的输出作为第三个网络层的输入时权重为0.3。接着,逐网络层计算相应输出向量。具体地,将L1中存储的稠密向量V0经过与第二个网络层对应的全连接层处理后,将输出向量V1追加到L2中,接下来将V0经过与第三个网络层对应的全连接层后将输出向量V2追加到L3中,依次类推,重复r次,直到将V0经过与第r个网络层对应的全连接层后追加到Lr+1。进一步地,对L2中的所有向量(V0和V1),获取s中第2行的向量s2,对这些向量采用Gumbel-softmax技巧进行加权和,以向量s2中各个元素为加权权重,得到一个向量V'{2},然后经过与后续的r个网络层一一对应的全连接层分别处理向量V'{2},得到的向量分别追加到L3、L4……Lr+2。针对后续各个网络层继续进行以上类似的处理,直至将第Ld-1层的输出向量V'{d-1}经过相应全连接层追加到Ld中。利用s中的第d行向量sd采用Gumbel-softmax技巧,对Ld中的向量计算加权和得到输出向量V'd。
值得说明的是,根据模型最后一个网络层得到的输出向量,可以经由输出层映射为初始模型对当前用户是否点击第一历史推送信息的点击结果。在一些实施例中,该输出层的输出结果还可以包含当前用户是否点击其他历史推送信息的点击结果。这些点击结果通过向量形式表示。
其中,输出层的输出结果可以由多输入多输出架构的最后一个网络层的输出向量确定,也而可以由各个网络层的输出向量综合确定。例如,在前文的具体例子中,可以对每一个网络层的输出向量V'1、V'2……V'd,通过Gumbel-softmax技巧计算加权和得到输出向量,再根据该向量得到预测结果。该预测结果可以包括当前用户对第一历史推送信息的预测点击概率。
本领域技术人员可以理解的是,以上过程中为了描述方便,将嵌入向量组V0作为一个向量进行描述,实际上,嵌入向量组V0还可以包含多个嵌入向量,则在包含嵌入向量组V0为输入的各个网络层,进行向量融合过程中,各个嵌入向量可以作为独立向量与其他向量进行融合。例如,嵌入向量组V0包含5个嵌入向量,其作为第二个网络层的输入,可以和第一网络层的输出一起进行6个向量的融合。
然后,通过步骤406,将基于最后一个网络层的输出结果确定的预测结果与当前用户针对第一历史推送信息对应的点击标签进行对比,从而确定模型损失并更新初始模型。
可以理解,对于单条历史推送信息,可以预先设置有点击标签,用于描述用户实际点击、未点击的行为结果,两种行为结果例如可以分别用1和0表示,预测结果所描述的点击概率则在0至1之间。针对一次历史推送记录,可能推送有多条历史推送信息,预测结果为针对这些历史推送记录的点击概率的预测向量,例如(0.8,0.6,0.7,0.2……),而点击标签为当前用户针对这些历史推送记录的点击标签构成的标签向量,例如(0,1,1,0……)。
如此,通过预测结果与点击标签的比较,可以确定当前模型的模型损失。模型损失可以通过交叉熵、方差、向量相似度、KL散度等各种常规指标进行衡量,在此不再赘述。进而,可以计算当前模型损失下各个待定参数的梯度。
在一个实施例中,模型中的待定参数可以包括各个网络层中的加权权重和各个全连接层中的权重参数等。在以上的具体例子中,各个网络层中的加权权重为参数矩阵s中的各个元素。根据梯度信息,可以更新各个待定参数,从而更新初始模型。其中,各个网络层中的加权权重,也就是各个靠前网络层连接到靠后网络层时的连接权重,该连接权重描述了相应的两个网络层之间的连接关系在初始模型中的重要程度。
在其他实施例中,模型中的待定参数还可以包括各个嵌入向量各自与后续各个网络层连接分别对应的连接权重。嵌入向量对应的连接权重描述了嵌入向量在信息融合过程中的重要程度。
可以理解,经过多个更新周期的迭代更新,在预定的训练完成条件满足的情况下,初始模型训练完成。其中,训练完成条件例如可以是待定参数的梯度趋近于0、模型损失趋近于0、待定参数收敛等等,其中,趋近于0可以通过小于一个接近于0的正数,如0.001等,进行判断。
进一步地,在步骤304中,对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到信息推送模型。
可以理解,根据图4示出的初始模型训练流程,网络层之间的连接权重描述了相应的两个网络层之间的连接关系在初始模型中的重要程度。例如,第三个网络层与第四个网络层之间的连接权重为0.05,而第三个网络层与第五个网络层之间的连接权重为0.7,则相比而言,第三个网络层连接到第五个网络层对初始模型最终的预测结果具有更重要的贡献。在连接权重为0的情况下,两个网络层之间的连接未激活。则未激活条件可以包括,连接权重为0。
在神经网络中,连接权重足够小的情况下,两个网络层之间的连接重要性几乎可以忽略,因此可以视为未激活。于是,可以预先通过连接权重设置未激活条件,用于检测网络层连接重要性。例如,未激活条件可以为:连接权重的值小于预定值(如0.2)。连接权重为0时必然小于该预定值。
如此,筛除满足未激活条件的网络层连接关系,可以得到信息推送模型。可以理解的是,排列靠前的连接关系被筛除的情况下,排列靠后的连接关系不论连接权重大小,都可能被删除。例如,对于第四个网络层而言,第一个网络层、第二个网络层、第三个网络层与其连接权重分别为0.01、0.03、0.1,均满足未激活条件,则第四个网络层与之前的网络层之间的连接均被筛除(剪掉),即使第四个网络层向第五个网络层的连接权重为0.3,不满足未激活条件,由于第四个网络层本身已缺乏网络而不再保留。换句话说,第四个网络层及第四个网络层与靠后网络层的连接关系被一并删除。
另外,在嵌入向量对应有连接权重的情况下,还可以根据连接权重筛除满足未激活条件的嵌入向量相关的连接关系。在一个嵌入向量向各个网络层的连接关系均被删除的情况下,该嵌入向量描述的信息对于信息推送结果影响较小,可以认为该嵌入过程的意义不大,相对应的嵌入网络可以一并过滤掉。
通常,信息推送模型的量级远小于初始模型。例如,初始模型为深度10(第一数量,多输入多输出网络层数量为10)的多输入多输出模型,最终经过筛除之后可能得到3-5层的信息推送模型。
图3、图4的实施例描述了在解决信息推送场景下的信息推送模型的训练过程中提出的解决方案。事实上,该模型训练方法可以推广到更多应用场景,例如语音识别、文本分类等等。在更通用的场景下,如图6所示,本说明书一个实施例还可以提供一种模型训练的流程,包括:
步骤602,获取由依次连接的第一数量网络层构成的初始模型;
其中,单个网络层的输出作为其后的第二数量网络层的输入,第二数量通常小于第一数量,例如,第二数量与第一数量的比值小于预定比值;
步骤604,利用样本数据通过多个模型更新周期迭代训练初始模型;
在单个模型更新周期,可以通过以下方式更新模型:获取基于当前样本的样本特征确定的样本嵌入向量组;将样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前样本的样本标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中待定参数包括具有连接关系的两两网络层之间的连接权重;
步骤606,对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到目标模型。
在一个可选的实现方式中,以上待定参数还可以包括,样本嵌入向量组中各个嵌入向量各自作为前第二数量网络层的输入的连接权重;则根据连接权重筛除满足未激活条件的连接关系还包括:筛除连接权重满足未激活条件的嵌入向量连接关系。
根据一个可能的设计,将样本嵌入向量组作为前第二数量网络层的输入,步骤602中,依据各个网络层之间的连接关系逐层计算各个网络层的输出包括:
对于前第二数量网络层中的网络层j,对样本嵌入向量组中的各个嵌入向量及前j-1个网络层的输出向量进行加权求和,得到网络层j的输出;对于其他网络层中的网络层i,将其前r个网络层的输出向量进行加权求和,得到网络层i的输出。
在一个实施例中,单个网络层的输出作为其后的第二数量网络层的输入包括:排列靠前的网络层的输出,经由相应全连接层的处理后,作为靠后网络层的输入。
根据一个可选的实现方式,单个网络层通过重参数化技巧将相应输入向量以加权和的方式融合。
根据一个实施例,未激活条件例如可以包括但不限于:连接权重为0;或者,连接权重小于预定值,等等。
图7示出了根据一个实施例进行信息推送的流程示意图。该信息推送流程的执行主体例如可以是图1中的服务端。其中所使用的信息推送模型可以通过图3示出的流程得到。如图7所示,该信息推送流程可以包括:
步骤702,对当前待推送用户的第二用户特征与各条候选信息各自对应的候选信息特征分别进行嵌入,得到各个第二嵌入向量组。
当前待推送用户可以是任意需要进行信息推送的用户。在经过用户提交的表单、搜索词、与服务端建立连接等条件触发的情况下,可以将相应用户确定为当前待推送用户。
第二用户特征可以基于当前待推送用户的基本信息、历史行为信息等提取而来,例如可以包括但不限于地理位置特征、职业特征、搜索特征、浏览特征、点击特征、消费特征、对物品的偏好类目特征中的至少一项。
候选信息是可以向用户推送的各种待推送信息,例如可以是新闻资讯、商品、优惠券等等。可以从相应候选信息中提取相应特征,并将特征通过数值描述,从而形成向量表征,或者从信息中提取相应关键词,利用词向量描述相应关键词,再将关键词的词向量进行拼接或融合从而形成向量表征。
如此,可以将第二用户特征和各条候选信息特征通过向量进行表征。进一步地,可以根据第二用户特征和各条候选信息特征确定针对各条候选信息分别对应的各个第二嵌入向量组。单个第二嵌入向量组包括一个或多个嵌入向量,单个嵌入向量可以对应有第二用户特征、单条候选信息特征或它们以线性回归、求平均值、叠加、最大池化、拼接、降维中的至少一种方式进行融合确定的向量。
步骤704,通过信息推送模型处理第二嵌入向量组,得到针对当前待推送用户分别在各条候选信息上的各个点击概率。
步骤706,按照各个点击概率由大到小的顺序,向当前待推送用户推送各条候选信息。
回顾以上过程,本说明书提供的技术构思,给出一种信息推送模型的确定方案。该方案可以以多输入多输出模型为基础,利用样本数据进行训练。在模型训练过程中,对于包含第一数量网络层的多输入多输出模型,设定第二数量为搜索半径,即,单个网络层的输出至多作为其后的第二数量网络层的输入。同时,训练过程中各个网络层经由加权方式融合所接收到的输入向量,并将加权权重作为待定参数在各个模型更新周期进行调整。最终,在初始模型训练完成后,利用连接权重进行剪枝,筛掉重要性较低的连接关系,形成最终的信息推送模型。
以上方法在只有全连接层的信息推送场景中,可以自动搜索深度网络的拓扑结构。在网络层数为d的多输入多输出结构中,通过第二数量r(例如设为3~5)限制连接半径,可以将搜索复杂度从O(d2)下降到O(d*r),同时,可以通过多输入多输出的方式,充分利用输入信息,产出多层次丰富的输出表征,从而提高信息推送的准确性,提升用户体验。
根据另一方面的实施例,还提供有相应的信息推送模型的确定装置。其中,信息推送模型的确定装置可以设于服务端。图8示出了信息推送模型的确定装置800。该装置800包括:
训练单元801,配置为利用样本数据训练初始模型,其中,样本数据中的单个样本对应针对单个用户在单次历史推送过程中的至少一条历史推送信息,以及该单个用户针对该至少一条历史推送信息的点击标签,初始模型为依次连接的第一数量网络层,单个网络层的输出作为其后的第二数量网络层的输入,第二数量小于第一数量;
初始模型通过多个模型更新周期迭代训练,在单个模型更新周期:获取当前样本对应的当前用户的第一用户特征和第一历史推送信息对应的第一历史信息特征进行嵌入得到的第一嵌入向量组;将第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前用户针对第一历史推送信息的点击标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中待定参数包括具有连接关系的两两网络层之间的连接权重;
确定单元802,配置为对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到信息推送模型。
再一方面,还提供一种信息推送的装置。图9示出了一个实施例的信息推送装置900,包括:
嵌入单元901,配置为对当前待推送用户的第二用户特征以及各条候选信息各自对应的候选信息特征分别进行嵌入,得到各个第二嵌入向量组;
预测单元902,配置为通过如图7示出的装置确定的信息推送模型处理第二嵌入向量组,得到针对当前待推送用户分别在各条候选信息上的各个点击概率;
推送单元903,配置为按照各个点击概率由大到小的顺序,向当前待推送用户推送各条候选信息。
值得说明的是,图8、图9所示的装置800、900分别与利用图3描述的信息模型的确定流程及图7描述的信息推送流程相对应,相应方法实施例中的相应描述同样适用于装置800、900,在此不再赘述。
根据又一方面的实施例,还提供一种模型训练装置。该模型训练装置可以设于任一具有一定计算能力的计算机、设备、服务器。图10示出了一个实施例的模型训练装置1000。如图10所示,模型训练装置1000可以包括:
获取单元1001,配置为获取由依次连接的第一数量网络层构成的初始模型,其中,单个网络层的输出作为其后的第二数量网络层的输入,第二数量小于第一数量;
训练单元1002,配置为利用样本数据通过多个模型更新周期迭代训练初始模型,在单个模型更新周期,通过以下方式更新模型:获取基于当前样本的样本特征确定的样本嵌入向量组;将样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前样本的样本标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中待定参数包括具有连接关系的两两网络层之间的连接权重;
确定单元1003,配置为对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到目标模型。
值得说明的是,图10所示的装置1000与图6描述的模型训练流程相对应,相应方法实施例中的相应描述同样适用于装置1000,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图3、图6、图7等所描述的任一方执行的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图3、图6、图7等所描述的任一方执行的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。
Claims (22)
1.一种信息推送模型的确定方法,包括:
利用样本数据训练初始模型,其中,样本数据中的单个样本对应针对单个用户在单次历史推送过程中的至少一条历史推送信息,以及该单个用户针对所述至少一条历史推送信息的点击标签,所述初始模型包括依次连接的第一数量网络层,单个网络层的输出经全连接层处理后作为其后的第二数量网络层的输入,所述第二数量与所述第一数量的比值小于预定比值,所述初始模型通过多个模型更新周期迭代训练,在单个模型更新周期:获取当前样本对应的当前用户的第一用户特征和第一历史推送信息对应的第一历史信息特征进行嵌入得到的第一嵌入向量组;将所述第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前用户针对所述第一历史推送信息的点击标签进行对比,从而确定模型损失并更新所述初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;
对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到所述信息推送模型。
2.如权利要求1所述的方法,所述第一用户特征包括地理位置特征、职业特征、搜索特征、浏览特征、点击特征、消费特征、对物品的偏好类目特征中的至少一项。
3.如权利要求1所述的方法,其中,所述第一历史信息特征包括:所述第一历史推送信息所描述的具体事物的事物特征和/或对所述第一历史推送信息的描述文本进行分词的词汇特征。
4.如权利要求1所述的方法,其中,所述第一嵌入向量组包括一个或多个嵌入向量,单个嵌入向量为所述第一用户特征、所述第一历史信息特征或它们以线性回归、求平均值、叠加、最大池化、拼接、降维中的至少一种方式进行融合确定的向量。
5.如权利要求4所述的方法,其中,所述待定参数还包括,所述第一嵌入向量组中各个嵌入向量各自作为前第二数量网络层的输入的连接权重;所述根据连接权重筛除满足未激活条件的连接关系还包括:
筛除连接权重满足未激活条件的嵌入向量连接关系。
6.如权利要求1所述的方法,其中,所述将所述第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出包括:
对于前第二数量网络层中的网络层j,对所述第一嵌入向量组中的各个嵌入向量及前j-1个网络层的输出向量进行加权求和,得到网络层j的输出;
对于其他网络层中的网络层i,将其前r个网络层的输出向量进行加权求和,得到网络层i的输出。
7.如权利要求1或6所述的方法,其中,所述单个网络层的输出作为其后的第二数量网络层的输入包括:排列靠前的网络层的输出,经由相应全连接层的处理后,作为靠后网络层的输入。
8.如权利要求1所述的方法,其中,单个网络层通过重参数化技巧将相应输入向量以加权和的方式融合。
9.如权利要求1所述的方法,其中,所述未激活条件包括:
连接权重为0;或者,
连接权重小于预定值。
10.一种信息推送的方法,包括:
对当前待推送用户的第二用户特征与各条候选信息各自对应的候选信息特征分别进行嵌入,得到各个第二嵌入向量组;
通过以权利要求1所述的方式确定的信息推送模型处理各个第二嵌入向量组,得到针对当前待推送用户分别在各条候选信息上的各个点击概率;
按照各个点击概率由大到小的顺序,向所述当前待推送用户推送各条候选信息。
11.如权利要求10所述的方法,其中,单个第二嵌入向量组包括一个或多个嵌入向量,单个嵌入向量为所述第二用户特征、所述候选信息特征或它们以线性回归、求平均值、叠加、最大池化、拼接、降维中的至少一种方式进行融合确定的向量。
12.一种模型训练方法,包括:
获取由依次连接的第一数量网络层构成的初始模型,其中,单个网络层的输出经全连接层处理后作为其后的第二数量网络层的输入,所述第二数量与所述第一数量的比值小于预定比值;
利用样本数据通过多个模型更新周期迭代训练初始模型,在单个模型更新周期,通过以下方式更新模型:获取基于当前样本的样本特征确定的样本嵌入向量组;将所述样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前样本的样本标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;
对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到目标模型。
13.如权利要求12所述的方法,其中,所述待定参数还包括,所述样本嵌入向量组中各个嵌入向量各自作为前第二数量网络层的输入的连接权重;所述根据连接权重筛除满足未激活条件的连接关系还包括:
筛除连接权重满足未激活条件的嵌入向量连接关系。
14.如权利要求12所述的方法,其中,所述将所述样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出包括:
对于前第二数量网络层中的网络层j,对所述样本嵌入向量组中的各个嵌入向量及前j-1个网络层的输出向量进行加权求和,得到网络层j的输出;
对于其他网络层中的网络层i,将其前r个网络层的输出向量进行加权求和,得到网络层i的输出。
15.如权利要求12或14所述的方法,其中,所述单个网络层的输出作为其后的第二数量网络层的输入包括:排列靠前的网络层的输出,经由相应全连接层的处理后,作为靠后网络层的输入。
16.如权利要求12所述的方法,其中,单个网络层通过重参数化技巧将相应输入向量以加权和的方式融合。
17.如权利要求12所述的方法,其中,所述未激活条件包括:
连接权重为0;或者,
连接权重小于预定值。
18.一种信息推送模型的确定装置,包括:
训练单元,配置为利用样本数据训练初始模型,其中,样本数据中的单个样本对应针对单个用户在单次历史推送过程中的至少一条历史推送信息,以及该单个用户针对所述至少一条历史推送信息的点击标签,所述初始模型包括依次连接的第一数量网络层,单个网络层的输出经全连接层处理后作为其后的第二数量网络层的输入,所述第二数量与所述第一数量的比值小于预定比值,所述初始模型通过多个模型更新周期迭代训练,在单个模型更新周期:获取当前样本对应的当前用户的第一用户特征和第一历史推送信息对应的第一历史信息特征进行嵌入得到的第一嵌入向量组;将所述第一嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前用户针对所述第一历史推送信息的点击标签进行对比,从而确定模型损失并更新所述初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;
确定单元,配置为对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到所述信息推送模型。
19.一种信息推送的装置,包括:
嵌入单元,配置为对当前待推送用户的第二用户特征与各条候选信息各自对应的候选信息特征分别进行嵌入,得到各个第二嵌入向量组;
预测单元,配置为通过如权利要求18所述的装置确定的信息推送模型处理各个第二嵌入向量组,得到针对当前待推送用户分别在各条候选信息上的各个点击概率;
推送单元,配置为按照各个点击概率由大到小的顺序,向所述当前待推送用户推送各条候选信息。
20.一种模型训练装置,包括:
获取单元,配置为获取由依次连接的第一数量网络层构成的初始模型,其中,单个网络层的输出经全连接层处理后作为其后的第二数量网络层的输入,所述第二数量与所述第一数量的比值小于预定比值;
训练单元,配置为利用样本数据通过多个模型更新周期迭代训练初始模型,在单个模型更新周期,通过以下方式更新模型:获取基于当前样本的样本特征确定的样本嵌入向量组;将所述样本嵌入向量组作为前第二数量网络层的输入,依据各个网络层之间的连接关系逐层计算各个网络层的输出;将基于最后一个网络层的输出结果确定的预测结果与当前样本的样本标签进行对比,从而确定模型损失并更新初始模型中的待定参数,其中所述待定参数包括具有连接关系的两两网络层之间的连接权重;
确定单元,配置为对于训练完成的初始模型,根据连接权重筛除满足未激活条件的连接关系,从而得到目标模型。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-17中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-17中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310948354.8A CN116684480B (zh) | 2023-07-28 | 2023-07-28 | 信息推送模型的确定及信息推送的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310948354.8A CN116684480B (zh) | 2023-07-28 | 2023-07-28 | 信息推送模型的确定及信息推送的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116684480A CN116684480A (zh) | 2023-09-01 |
CN116684480B true CN116684480B (zh) | 2023-10-31 |
Family
ID=87784061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310948354.8A Active CN116684480B (zh) | 2023-07-28 | 2023-07-28 | 信息推送模型的确定及信息推送的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684480B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021012645A1 (zh) * | 2019-07-22 | 2021-01-28 | 创新先进技术有限公司 | 推送信息的生成方法及装置 |
CN113127727A (zh) * | 2019-12-31 | 2021-07-16 | 国信优易数据股份有限公司 | 信息推荐模型确定方法、信息推荐方法及装置 |
CN113158047A (zh) * | 2021-04-22 | 2021-07-23 | 平安科技(深圳)有限公司 | 推荐模型训练、信息推送方法、装置、设备及介质 |
CN113688313A (zh) * | 2021-08-12 | 2021-11-23 | 北京三快在线科技有限公司 | 一种预测模型的训练方法、信息推送的方法及装置 |
CN114065915A (zh) * | 2021-11-09 | 2022-02-18 | 京东科技信息技术有限公司 | 网络模型的构建方法、数据处理方法、装置、介质及设备 |
CN114330699A (zh) * | 2020-09-28 | 2022-04-12 | 华为技术有限公司 | 神经网络结构搜索方法及装置 |
CN114463091A (zh) * | 2022-01-29 | 2022-05-10 | 北京沃东天骏信息技术有限公司 | 信息推送模型训练和信息推送方法、装置、设备和介质 |
JP2022079947A (ja) * | 2020-11-17 | 2022-05-27 | 株式会社日立ソリューションズ・テクノロジー | プルーニング管理装置、プルーニング管理システム及びプルーニング管理方法 |
CN114691838A (zh) * | 2020-12-30 | 2022-07-01 | 中移互联网有限公司 | 聊天机器人搜索推荐模型的训练、推荐方法及电子设备 |
CN114782412A (zh) * | 2022-05-26 | 2022-07-22 | 马上消费金融股份有限公司 | 图像检测方法、目标检测模型的训练方法及装置 |
CN114997412A (zh) * | 2022-05-17 | 2022-09-02 | 华为技术有限公司 | 一种推荐方法、训练方法以及装置 |
CN115238775A (zh) * | 2022-07-06 | 2022-10-25 | 阿里巴巴(中国)有限公司 | 模型构建方法 |
CN115658864A (zh) * | 2022-10-24 | 2023-01-31 | 重庆师范大学 | 一种基于图神经网络和兴趣注意力网络的会话推荐方法 |
WO2023024252A1 (zh) * | 2021-08-24 | 2023-03-02 | 苏州浪潮智能科技有限公司 | 网络模型训练方法、装置、电子设备及可读存储介质 |
WO2023039901A1 (zh) * | 2021-09-18 | 2023-03-23 | 京东方科技集团股份有限公司 | 一种文本推荐方法、模型训练方法、装置及可读存储介质 |
CN116186326A (zh) * | 2022-12-30 | 2023-05-30 | 微梦创科网络科技(中国)有限公司 | 视频推荐方法、模型训练方法、电子设备及存储介质 |
CN116383458A (zh) * | 2023-06-02 | 2023-07-04 | 支付宝(杭州)信息技术有限公司 | 信息推送的方法及装置 |
CN116415144A (zh) * | 2022-11-25 | 2023-07-11 | 北京工业大学 | 一种基于循环神经网络的模型压缩和加速方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548234A (zh) * | 2016-11-17 | 2017-03-29 | 北京图森互联科技有限责任公司 | 一种神经网络剪枝方法及装置 |
US10776697B2 (en) * | 2017-04-18 | 2020-09-15 | Huawei Technologies Co., Ltd. | System and method for training a neural network |
-
2023
- 2023-07-28 CN CN202310948354.8A patent/CN116684480B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021012645A1 (zh) * | 2019-07-22 | 2021-01-28 | 创新先进技术有限公司 | 推送信息的生成方法及装置 |
CN113127727A (zh) * | 2019-12-31 | 2021-07-16 | 国信优易数据股份有限公司 | 信息推荐模型确定方法、信息推荐方法及装置 |
CN114330699A (zh) * | 2020-09-28 | 2022-04-12 | 华为技术有限公司 | 神经网络结构搜索方法及装置 |
JP2022079947A (ja) * | 2020-11-17 | 2022-05-27 | 株式会社日立ソリューションズ・テクノロジー | プルーニング管理装置、プルーニング管理システム及びプルーニング管理方法 |
CN114691838A (zh) * | 2020-12-30 | 2022-07-01 | 中移互联网有限公司 | 聊天机器人搜索推荐模型的训练、推荐方法及电子设备 |
CN113158047A (zh) * | 2021-04-22 | 2021-07-23 | 平安科技(深圳)有限公司 | 推荐模型训练、信息推送方法、装置、设备及介质 |
CN113688313A (zh) * | 2021-08-12 | 2021-11-23 | 北京三快在线科技有限公司 | 一种预测模型的训练方法、信息推送的方法及装置 |
WO2023024252A1 (zh) * | 2021-08-24 | 2023-03-02 | 苏州浪潮智能科技有限公司 | 网络模型训练方法、装置、电子设备及可读存储介质 |
WO2023039901A1 (zh) * | 2021-09-18 | 2023-03-23 | 京东方科技集团股份有限公司 | 一种文本推荐方法、模型训练方法、装置及可读存储介质 |
CN114065915A (zh) * | 2021-11-09 | 2022-02-18 | 京东科技信息技术有限公司 | 网络模型的构建方法、数据处理方法、装置、介质及设备 |
CN114463091A (zh) * | 2022-01-29 | 2022-05-10 | 北京沃东天骏信息技术有限公司 | 信息推送模型训练和信息推送方法、装置、设备和介质 |
CN114997412A (zh) * | 2022-05-17 | 2022-09-02 | 华为技术有限公司 | 一种推荐方法、训练方法以及装置 |
CN114782412A (zh) * | 2022-05-26 | 2022-07-22 | 马上消费金融股份有限公司 | 图像检测方法、目标检测模型的训练方法及装置 |
CN115238775A (zh) * | 2022-07-06 | 2022-10-25 | 阿里巴巴(中国)有限公司 | 模型构建方法 |
CN115658864A (zh) * | 2022-10-24 | 2023-01-31 | 重庆师范大学 | 一种基于图神经网络和兴趣注意力网络的会话推荐方法 |
CN116415144A (zh) * | 2022-11-25 | 2023-07-11 | 北京工业大学 | 一种基于循环神经网络的模型压缩和加速方法 |
CN116186326A (zh) * | 2022-12-30 | 2023-05-30 | 微梦创科网络科技(中国)有限公司 | 视频推荐方法、模型训练方法、电子设备及存储介质 |
CN116383458A (zh) * | 2023-06-02 | 2023-07-04 | 支付宝(杭州)信息技术有限公司 | 信息推送的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116684480A (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958748B2 (en) | Resource push method and apparatus | |
CN108446374B (zh) | 用户意图预测方法、装置、电子设备、存储介质 | |
KR102122373B1 (ko) | 사용자 포트레이트를 획득하는 방법 및 장치 | |
CN108875776B (zh) | 模型训练方法和装置、业务推荐的方法和装置、电子设备 | |
CN110555469B (zh) | 处理交互序列数据的方法及装置 | |
CN110162698B (zh) | 一种用户画像数据处理方法、装置及存储介质 | |
CN110781407B (zh) | 用户标签生成方法、装置及计算机可读存储介质 | |
CN110909182B (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN111475730A (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
CN111461841A (zh) | 物品推荐方法、装置、服务器及存储介质 | |
CN110782308B (zh) | 推荐套餐的推送方法、装置、电子设备及可读存储介质 | |
CN109189922B (zh) | 评论评估模型的训练方法和装置 | |
CN111506821A (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN111680213B (zh) | 信息推荐方法、数据处理方法及装置 | |
CN110110218A (zh) | 一种身份关联方法及终端 | |
CN113220974B (zh) | 点击率预测模型训练、搜索召回方法、装置、设备及介质 | |
CN116383458B (zh) | 信息推送的方法及装置 | |
CN116684480B (zh) | 信息推送模型的确定及信息推送的方法及装置 | |
CN116484105A (zh) | 业务处理方法、装置及计算机设备、存储介质、程序产品 | |
CN116974554A (zh) | 代码数据处理方法、装置、计算机设备和存储介质 | |
CN115858911A (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
CN117938951B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN117891811B (zh) | 一种客户数据采集分析方法、装置及云服务器 | |
CN116628236B (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 |