发明内容
本发明实施例提供一种基于人工智能的推荐方法、装置、电子设备及存储介质,能够实现信息的精准推荐。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的推荐方法,包括:
获取对应待推荐对象的多个候选推荐信息;
获取所述待推荐对象的对象特征、以及每个候选推荐信息的候选推荐信息特征,并将所述对象特征分别与每个候选推荐信息的候选推荐信息特征进行组合,以形成对应每个候选推荐信息的融合特征;
对对应每个候选推荐信息的融合特征进行多层次映射处理,得到每个候选推荐信息分别对应多个指标的评分;
对所述分别对应多个指标的评分进行多指标聚合处理,得到每个候选推荐信息的综合评分,并根据每个候选推荐信息的综合评分对所述多个候选推荐信息进行降序排序;
在所述降序排序的结果中选择排序靠前的至少一个候选推荐信息,并基于所选择的候选推荐信息执行对应所述待推荐对象的推荐操作。
本发明实施例提供一种基于人工智能的推荐装置,包括:
信息获取模块,用于获取对应待推荐对象的多个候选推荐信息;
特征形成模块,用于获取所述待推荐对象的对象特征、以及每个候选推荐信息的候选推荐信息特征,并将所述对象特征分别与每个候选推荐信息的候选推荐信息特征进行组合,以形成对应每个候选推荐信息的融合特征;
特征处理模块,用于对对应每个候选推荐信息的融合特征进行多层次映射处理,得到每个候选推荐信息分别对应多个指标的评分;
信息排序模块,用于对所述分别对应多个指标的评分进行多指标聚合处理,得到每个候选推荐信息的综合评分,并根据每个候选推荐信息的综合评分对所述多个候选推荐信息进行降序排序;
推荐模块,用于在所述降序排序的结果中选择排序靠前的至少一个候选推荐信息,并基于所选择的候选推荐信息执行对应所述待推荐对象的推荐操作。
在上述方案中,所述信息获取模块,还用于:
获取以下至少一个类型的候选推荐信息:
与对应所述待推荐对象的历史浏览信息的内容相似,且内容相似度不小于内容相似度阈值的多个候选推荐信息;
与对应所述待推荐对象的历史行为信息的行为相似,且行为相似度不小于行为相似度阈值的多个候选推荐信息。
在上述方案中,所述特征形成模块,还用于:
获取对应所述待推荐对象的以下至少之一的对象特征:
用于表征所述待推荐对象的基本信息的基础属性特征;用于表征对象社会关系的社会关系特征;用于表征对象互动行为的互动行为特征;用于表征对象阅读偏好的阅读心理特征;
获取对应所述候选推荐信息的以下至少之一的候选推荐信息特征:
用于表征候选推荐信息类别的类别特征;用于表征候选推荐信息内容的标签特征;用于表征候选推荐信息发布时间的时间特征;用于表征候选推荐信息来源的发布特征;用于表征候选推荐信息长度的长度特征。
在上述方案中,所述特征形成模块,还用于:
获取对应所述待推荐对象的以下至少之一的环境特征:
向所述待推荐对象进行推送的时间特征;所述待推荐对象的对象位置特征;所述待推荐对象的设备特征;所述待推荐对象所使用的设备所处的网络特征;
将对应所述待推荐对象的环境特征、所述对象特征以及所述候选推荐信息特征,组合成对应每个候选推荐信息的融合特征。
在上述方案中,所述特征处理模块,还用于:
通过多个专家网络,对对应每个候选推荐信息的融合特征进行多层次映射处理,得到与所述多个专家网络一一对应的多个子特征,并对所述多个子特征进行加权处理,得到对应各个指标的指标特征;
通过候选推荐信息预测模型中与多个指标一一对应的预测器,并结合对应各个所述指标的指标特征对所述融合特征进行评分预测处理,得到所述融合特征基于各个指标的评分。
在上述方案中,所述特征处理模块,还用于:
通过候选推荐信息预测模型中的多个专家网络,将所述融合特征分别映射到对应各个专家网络的特征空间,以获得各个专家网络所关联的特征维度的子特征;
通过所述候选推荐信息预测模型中与所述多个指标一一的对应的权重生成器,对所述融合特征进行最大似然处理,以得到对应各个所述指标的子特征权重分布;
基于所述子特征权重分布中对应所述各个专家网络所获得的子特征的权重,对所述各个专家网络所获得关联的子特征进行加权处理,分别得到对应各个所述指标的指标特征。
在上述方案中,所述信息排序模块,还用于:
获取对应所述多个指标的聚合规则;
基于所述聚合规则所包括的算子,对分别对应所述多个指标的评分进行计算处理,得到每个候选推荐信息对应所述多个指标的综合评分。
本发明实施例提供一种基于人工智能的推荐模型训练方法,包括:
对推荐系统的日志进行预处理,以构建训练样本集合;
基于与多个指标一一对应的权重生成器、与所述多个指标一一对应的预测器、以及多个专家网络,构建候选推荐信息预测模型;
通过所述训练样本集合,对所述候选推荐信息预测模型进行多指标训练;
其中,所述训练得到的候选推荐信息预测模型用于供所述推荐系统进行多指标的聚合处理和排序,以根据排序结果确定待推荐的候选推荐信息。
本发明实施例提供一种基于人工智能的推荐模型训练装置,包括:
训练样本集合构建模块,用于对推荐系统的日志进行预处理,以构建训练样本集合;
模型构建模块,用于基于与多个指标一一对应的权重生成器、与所述多个指标一一对应的预测器、以及多个专家网络,构建候选推荐信息预测模型;
训练模块,用于通过所述训练样本集合,对所述候选推荐信息预测模型进行多指标训练;
其中,所述训练得到的候选推荐信息预测模型用于供所述推荐系统进行多指标的聚合处理和排序,以根据排序结果确定待推荐的候选推荐信息。
在上述方案中,所述装置还包括:模型上线模块,用于:
将所述候选推荐信息预测模型的参数转换为常量,并固化在所述候选推荐信息预测模型中,以生成固化后的二进制模型文件;
将所述二进制模型文件推送至所述推荐系统,以使所述推荐系统中所使用的候选推荐信息预测模型与经过训练得到的候选推荐信息预测模型结构一致。
在上述方案中,所述训练样本集合构建模块,还用于:
将所述推荐系统中的曝光日志、播放日志、资讯正排索引及画像特征日志中的至少一种,按照对象设备标识进行融合处理,得到样本数据;
对所得到的样本数据进行正样本采样以及负样本采样,使得采样所得到的正样本以及负样本保持为标准比例;
对经过采样得到的正样本和负样本进行特征提取处理,得到与各个指标匹配的特征,并将包括所述特征以及对应的指标的真实结果的集合,确定为训练所述候选推荐信息预测模型所需的训练样本集合。
在上述方案中,所述训练模块,还用于:
初始化所述候选推荐信息预测模型,并初始化对应多个指标的损失函数,所述损失函数包括特征样本以及对应所述特征样本的评分;
在所述候选推荐信息预测模型的每次迭代训练过程中执行以下处理:
通过所述候选推荐信息预测模型,对所述训练样本集合包括的特征样本进行评分,得到对应所述特征样本的针对各个指标的评分;
将对应所述特征样本的真实结果和所述评分代入所述损失函数,以确定所述损失函数取得最小值时对应的候选推荐信息预测模型参数;
根据所确定的候选推荐信息预测模型参数更新所述候选推荐信息预测模型。
在上述方案中,所述训练模块,还用于:
通过所述候选推荐信息预测模型中的多个专家网络,将所述特征样本分别映射到对应各个专家网络的特征空间,以获得各个专家网络所关联的特征维度的子特征;
基于所述子特征权重分布中对应所述各个专家网络所获得的子特征的权重,对各个所述专家网络所获得关联的子特征进行加权处理,分别得到对应所述特征样本的指标特征;
通过候选推荐信息预测模型中包括的对应各个指标的预测器,结合所述指标特征对所述特征样本进行评分预测处理,得到所述特征样本基于各个指标的评分。
在上述方案中,所述预测器的评分预测处理所使用的激活函数的表达式为:
f(x)=x*sigmoid(β*x)
其中,β为正常数,f(x)为所述评分,x为对应所述评分的特征向量。
在上述方案中,所述训练模块,还用于:
将对应所述特征样本的针对各个指标的真实结果和所述评分分别代入对应各个指标的损失函数;
结合对应各个损失函数的损失权重,对所述各个损失函数进行加权求和处理,得到对应所述候选推荐信息预测模型的聚合损失函数;
对所述聚合损失函数进行最小化处理,得到所述聚合损失函数取得最小值时对应的候选推荐信息预测模型参数;
其中,所述候选推荐信息预测模型参数包括对应所述候选推荐信息模型的结构参数、以及对应所述聚合损失函数的损失权重。
在上述方案中,所述聚合损失函数的表达式为:
其中,
是对应连续型指标中的第i指标的第i损失函数,
是对应离散型指标中的第i指标的第i损失函数,
是对应连续型指标中的第i损失函数的权重,
用于表征对所述连续型指标中的所述第i指标进行预测评分的不确定性,
是对应离散型指标中的第i损失函数的权重,
用于表征对所述离散型指标中的第i指标进行预测评分的不确定性,W是所述候选推荐信息预测模型中对应各个指标的结构权重;
对应所述离散型指标的第i损失函数的表达式为:
其中,αt为用于平衡正负样本的平衡因子常数,γ为用于调节简单样本权重降低速率的调节常数,Pt为对应所述评分的概率值。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的推荐方法、以及基于人工智能的推荐模型训练方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的推荐方法、以及基于人工智能的推荐模型训练方法。
本发明实施例具有以下有益效果:
通过对融合特征的多层次映射处理、多指标聚合处理的综合评分进行排序以选取待推荐的信息,相对于单目标预测的更加全面和客观,从而实现了精准的个性化推荐。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)多任务学习(MTL,Multi-task Learning),利用多个学习任务中所包含的有用信息,来帮助为每个任务学习得到更为准确的学习器的过程。
2)受试者工作特征曲线下的面积(AUC,Area Under Curve),作为模型的评价标准,通过对受试者工作特征曲线下各部分的面积求和而得。
3)待推荐对象,即进行信息推荐的目标,由于信息呈现的媒介是终端,信息推荐的目标是操作相应终端的用户,因此下文中将“对象”与“用户”进行了等同的描述。可以理解地,这里的用户可以是能够操作终端的自然人,也可以是终端中运行的能够模拟人类行为的机器人程序。
4)候选推荐信息,即能够发送到终端中进行呈现以向相应终端的用户进行推荐的信息。
申请人发现对于真实场景中的推荐系统的个性化排序阶段,面临一些痛点问题,主要是有很多不同甚至是冲突的优化目标,比如不仅希望用户观看,还希望用户能给出高评价并分享,推荐系统中也会经常有一些隐性偏见,比如用户是因为资讯内容排得靠前而点击,而非用户真正喜欢,因此模型产生的数据会引发模型训练偏置,从而形成一个反馈循环,越来越偏,为了有效的解决上述诸多问题,本发明实施例提出了一种基于人工智能的推荐方法,分别通过设计多层专家网络、引入多指标不确定性因子、解决分类不平衡问题、改进模型激活函数等角度,对个性化推荐系统的候选推荐信息预测模型进行了深度优化改造,模型离线评测的AUC、均方根误差等指标有了明显提升,同时对在线推荐系统的排序目标做可配置性的设计,使得排序结果更加灵活可控,最终能够正向带动线上推荐的各项核心指标,用户互动显式行为比例也有了明显提升。
本发明实施例提供一种基于人工智能的推荐方法、装置、电子设备和存储介质,能够正向带动线上推荐的各项核心指标,用户互动显式行为比例也有了明显提升,下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1A,图1A是本发明实施例提供的基于人工智能的推荐系统100-A的一个可选的架构示意图,终端400通过网络300连接应用服务器200-B以及训练服务器200-A,网络300可以是广域网或者局域网,又或者是二者的组合,训练服务器200-A负责离线训练候选推荐信息预测模型,训练服务器200-A中包括训练样本集合构建模块2556、模型构建模块2557、训练模块2558、以及模型上线模块2559,训练样本集合构建模块2556中包括训练库生成单元25561、采样单元25562、特征生成单元25563、训练模块2558中包括模型训练单元25581、模型上线模块2559中包括:固化图单元25591以及模型推送单元25592,通过训练库生成单元25561对原始数据进行有效预处理,通过采样单元25562对经过有效预处理的原始数据进行正负样本采样,通过特征生成单元25563将样本信息做进一步特征提取处理,得到训练所需的样本数据,训练模块2558中的模型训练单元25581基于得到的样本数据进行训练由模型构建模块2557生成的候选推荐信息预测模型,并通过模型上线模块2559中的固化图单元25591以及模型推送单元25592将训练好的候选推荐信息预测模型上线至应用服务器255-A中的推荐系统。
参见图2A,图2A是本发明实施例提供的应用基于人工智能的推荐模型训练方法的训练服务器200-A的结构示意图,图2A所示的训练服务器200-A包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。终端200中的各个组件通过总线系统220耦合在一起。可理解,总线系统220用于实现这些组件之间的连接通信。总线系统220除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的基于人工智能的推荐模型训练装置可以采用软件方式实现,图2A示出了存储在存储器250中的基于人工智能的推荐模型训练装置255-A,其可以是程序和插件等形式的软件,包括以下软件模块:训练样本集合构建模块2556、模型构建模块2557、训练模块2558、以及模型上线模块2559,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的推荐模型训练装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的推荐模型训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的推荐模型训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Spe cific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本发明实施例提供的服务器的示例性应用和实施,说明本发明实施例提供的基于人工智能的推荐模型训练方法。
下面分两个阶段来分别说明本发明实施例提供的基于人工智能的推荐方法以及基于人工智能的推荐模型训练方法,第一阶段是候选推荐信息预测模型的离线训练阶段。
参见图3,图3是本发明实施例提供的基于人工智能的推荐模型训练方法中的模型架构图。
这里的模型为候选推荐信息预测模型,将用户特征、候选推荐信息特征以及环境特征输入到和池化层,将各个通道的特征图的所有像素值求和,这样每个通道得到一个实数值,N个通道最终会得到一个长度为N的向量,该向量即为和池化的结果,将池化结果输入到多层专家网络和对应各个指标的权重生成器,权重生成器基于下述公式(1)对和池化的结果进行处理,得到针对对应指标的专家网络的权重分布:
gk(x)=softmax(Wgkx) (1)
其中,gk(x)是对应第k个指标的各层专家网络输出的特征的权重,Wgk是对应第k个指标的权重生成器的权重参数,x是对所有输入特征进行和池化的结果,图3中的权重生成器A对应的指标为指标1,这里的指标1可以为点击率,权重生成器B对应的指标为指标2,这里的指标2可以为时长,以权重生成器A为例,其可以生成分别分配给专家网络1-8的8个权重,每个专家网络输出一个子特征,分别与对应的权重相乘再进行求和,得到用于预测指标1的特征,详细过程可以参见公式(2):
其中,fk是对应第k个指标的多层专家网络的输出,gk(x)i是对应第k个指标的第i个专家网络输出的特征的权重,fi(x)是第i个专家网络输出的特征。
将对各层专家网络输出的特征加权求和得到的特征输入全连接层,全连接层由新型激活函数(Swish)构成,其原始公式参见公式(3),变形公式参见公式(4):
f(x)=x*sigmoid(x) (3)
f(x)=x*sigmoid(β*x) (4)
参见图4,图4是本发明实施例提供的新型激活函数示意图,这里的Swis h激活函数拥有不饱和,光滑,非单调性的特征,当β为1时,激活函数具备无上界有下界、平滑且非单调的特性,改善了训练过程中发生梯度消失的现象,当β为0.1时,激活函数具备无上界有下界、平滑的特征,当β为10时,激活函数具备无上界有下界且非单调的特性,将全连接层输出的特征通过Sigmoid激活函数,输出得到对应指标1的预测评分,对于指标2而言,将全连接层输出的特征通过“lambda x:x”表达式,将输入值返回成输出值,基于输入到全连接层的特征,得到最后对应各个指标的评分的过程可以通过公式(5)实现:
yk=hk(fk(x)) (5)
其中,fk是对应第k个指标的多层专家网络的输出,hk是对应第k个指标的塔(Tower)网络。
参见图5A,图5A是本发明实施例提供的基于人工智能的推荐模型训练方法的一个可选的流程示意图,将结合图5A示出的步骤101-103进行说明。
在步骤101中,训练服务器对推荐系统的日志进行预处理,以构建训练样本集合。
这里的训练服务器是用于训练上述候选推荐信息预测模型的服务器,这里的日志是推荐系统中用户行为数据,用户行为事件三要素包括:操作,定义一个操作动作(如点击、拖拽);参数/属性,参数可以是任何和这个事件相关的属性,包括触发这个事件的(人、时间、地点、设备、操作的业务信息);属性值,参数/属性的值,训练样本集合是对日志中的原始数据进行预处理得到的
参见图5B,基于图5A,图5B是本发明实施例提供的基于人工智能的推荐模型训练方法的一个可选的流程示意图,步骤101中通过对推荐系统的日志进行预处理,以构建训练样本集合可以通过步骤1011-步骤1013实现。
在步骤1011中,将推荐系统中的曝光日志、播放日志、资讯正排索引及画像特征日志中的至少一种,按照用户设备标识进行融合处理,得到样本数据。
在一些实施例中,首先对埋点日志中的曝光、点击、转化和停留时长等数据做抽取解析,如基于曝光序列号关联各类操作、解析埋点参数(例如日志中记录的实时特征)、解析上下文特征等,然后对所得到的样本数据进行过滤,例如过滤恶意用户样本、过滤无效曝光样本等,例如,针对同一个候选推荐信息在不同时间对同一个用户曝光多次的情况,这时候训练集中可能出现同一个用户对同一个候选推荐信息点击与不点击并存的情况,如果多次曝光的间隙非常短,考虑只使用其中的一次曝光数据,或者,为了避免高度活跃用户对损失函数的影响,对日志中每个用户提取相同数量的原始数据。
在步骤1012中,对所得到的样本数据进行正样本采样以及负样本采样,使得采样所得到的正样本以及负样本保持为标准比例。
在一些实施例中,对过滤后的样本数据做特征抽取,生成带特征的样本,主要从用户和候选推荐信息两个维度做特征工程,还可以从用户、候选推荐信息以及环境信息三个维度做特征工程,再按照一定正负样本比例做进行正负样本采样,这里的正样本和负样本是针对各个指标而言的,这里的指标可以是点击率和时长,对于点击率任务而言,正样本可以是对应预测点击率的各种样本数据,且样本数据中的样本标签是高点击率(这里的高点击率是一个相对概念,可以预先设定高于点击率阈值即为高点击率),负样本可以是对应预测点击率的各种样本数据,且样本数据中的样本标签是低点击率(这里的低点击率是一个相对概念,可以预先设定低于点击率阈值即为低点击率),那么负样本的数量可能会很多,如果直接拿去训练是不合理的,所以需要保证正负样本的比例再进行训练,原始数据可能会存在如下问题:抽样数量太少,数据量太小不能代表全体样本,抽样的数量一定要尽量的去代表全体数据;抽样偏差,抽样的数量要保证,同时质量也要保证;不满足模型需求的的数据,有些算法对数据的平衡性非常的敏感,以及对特征分布或者特征分段要求很高,对于这样的模型,就需要注意正负样本比例,否则性能可能显著下降;不满足业务需求的数据,在特定的业务场景下,正样本本来就很少,此时训练出来的参数表达能力有限,模型是否会不符合业务的召回率需求,解决样本不均衡问题的具体方法是进行采样处理,包括采样得到正样本和采样得到负样本两种,最终使得采样所得到的正样本以及负样本保持为标准比例。
在步骤1013中,对经过采样得到的正样本和负样本进行特征提取处理,得到与各个指标匹配的特征,并将包括特征以及对应的指标的真实结果的集合,确定为训练候选推荐信息预测模型所需的训练样本集合。
在一些实施例中,以正样本为例,对正样本进行特征提取,得到对应正样本的至少一个特征,以及对应正样本的指标的真实结果(标签),例如当指标是点击率时,这里的真实结果可以是高点击率,将特征以及对应指标的真实结果作为一个训练样本。
在步骤102中,训练服务器基于与多个指标一一对应的权重生成器、与多个指标一一对应的预测器、以及多个专家网络,构建候选推荐信息预测模型。
参见图3,候选推荐信息预测模型中包括特征输入部分,特征按照区(fiel d)进行类别区分,首先分为了用户特征、候选推荐信息特征以及环境特征,用户特征中又按照不同类型的特征通过区(field)进行区分,特征输入至池化层,经过池化层输入到多个专家网络,分别存在两个权重生成器A和B,权重生成器A对应于指标1,权重生成器B对应指标2,分别存在两个塔网络A和B,塔网络A中包括的预测器对应指标1,塔网络B中包括的预测器对应指标2,预测器分别是由全连接层和激活函数组成的。
在步骤103中,训练服务器通过训练样本集合,对候选推荐信息预测模型进行多指标训练,其中,训练得到的候选推荐信息预测模型用于供推荐系统进行多指标的聚合处理和排序,以根据排序结果确定待推荐的候选推荐信息。
在一些实施例中,步骤103中通过训练样本集合,对候选推荐信息预测模型进行多指标训练,可以通过以下技术方案实现,初始化候选推荐信息预测模型,并初始化对应多个指标的损失函数,损失函数包括特征样本以及对应特征样本的评分;在候选推荐信息预测模型的每次迭代训练过程中执行以下处理:通过候选推荐信息预测模型,对训练样本集合包括的特征样本进行评分,得到对应特征样本的针对各个指标的评分;将对应特征样本的真实结果和评分代入损失函数,以确定损失函数取得最小值时对应的候选推荐信息预测模型参数;根据所确定的候选推荐信息预测模型参数更新候选推荐信息预测模型。
在一些实施例中,上述通过候选推荐信息预测模型,对训练样本集合包括的特征样本进行评分,得到对应特征样本的针对各个指标的评分的步骤,可以通过以下技术方案实现,通过候选推荐信息预测模型中的多个专家网络,将特征样本分别映射到对应各个专家网络的特征空间,以获得各个专家网络所关联的特征维度的子特征;基于子特征权重分布中对应各个专家网络所获得的子特征的权重,对各个专家网络所获得关联的子特征进行加权处理,分别得到对应特征样本的指标特征;通过候选推荐信息预测模型中包括的对应各个指标的预测器,结合指标特征对特征样本进行评分预测处理,得到特征样本基于各个指标的评分。
在一些实施例中,这里的特征样本包括:用户特征、候选推荐信息特征以及环境特征,将特征样本输入到多层专家网络和对应各个指标的权重生成器,权重生成器基于上述公式(1)对和池化的结果进行处理,得到针对对应指标的专家网络的权重分布。
图3中的权重生成器A对应的指标为指标1,这里的指标1可以为点击率,权重生成器B对应的指标为指标2,这里的指标2可以为时长,以权重生成器A为例,其可以生成分别分配给专家网络1-8的8个权重,每个专家网络输出一个子特征,分别与对应的权重相乘再进行求和,得到用于预测指标1的指标特征,详细过程可以参见公式(2)。将对各层专家网络输出的特征加权求和得到的指标特征输入到预测器中的全连接层,全连接层由新型激活函数(Swish)构成,其原始公式参见公式(3),变形公式参见公式(4)。
在一些实施例中,上述将对应特征样本的真实结果和评分代入损失函数,以确定损失函数取得最小值时对应的候选推荐信息预测模型参数的步骤,可以通过以下技术方案实现,将对应特征样本的针对各个指标的真实结果和评分分别代入对应各个指标的损失函数;结合对应各个损失函数的损失权重,对各个损失函数进行加权求和处理,得到对应候选推荐信息预测模型的聚合损失函数;对聚合损失函数进行最小化处理,得到聚合损失函数取得最小值时对应的候选推荐信息预测模型参数;其中,候选推荐信息预测模型参数包括对应候选推荐信息模型的结构参数、以及对应聚合损失函数的损失权重。
在一些实施例中,聚合损失函数为:
其中,
是对应连续型指标中的第i指标的第i损失函数,
是对应离散型指标中的第i指标的第i损失函数,
是对应连续型指标中的第i损失函数的权重,
用于表征对连续型指标中的第i指标进行预测评分的不确定性,
是对应离散型指标中的第i损失函数的权重,
用于表征对离散型指标中的第i指标进行预测评分的不确定性,W是候选推荐信息预测模型中对应各个指标的结构权重;
对应离散型指标的第i损失函数的表达式为:
其中,αt为用于平衡正负样本的平衡因子常数,γ为用于调节简单样本权重降低速率的调节常数,Pt为对应评分的概率值。
在一些实施例中,由于输出的不同,对应各指标的损失函数的权重也有所不同,当第一指标的输出为离散型输出,且第二指标的输出也为离散型输出时,聚合损失函数为:
其中,L
1(W)是对应第一指标的第一损失函数,L
2(W)是对应第二指标的第二损失函数,
是对应第一损失函数的权重,σ
1用于表征对第一指标进行预测评分的不确定性,
是对应第二损失函数的权重,σ
2用于表征对第二指标进行预测评分的不确定性。
在一些实施例中,当第一指标的输出为连续型输出,且第二指标的输出为离散型输出时,聚合损失函数为:
其中,L
1(W)是对应第一指标的第一损失函数,L
2(W)是对应第二指标的第二损失函数,
是对应第一损失函数的权重,σ
1用于表征对第一指标进行预测评分的不确定性,
是对应第二损失函数的权重,σ
2用于表征对第二指标进行预测评分的不确定性。
在一些实施例中,在执行完步骤103之后,还可以执行步骤104-105,参见图5B,图5B是本发明实施例提供的基于人工智能的推荐模型训练方法的一个可选的流程示意图。
在步骤104中,训练服务器将候选推荐信息预测模型的参数转换为常量,并固化在候选推荐信息预测模型中,以生成固化后的二进制模型文件。
在步骤105中,训练服务器将二进制模型文件推送至推荐系统,以使推荐系统中所使用的候选推荐信息预测模型与经过训练得到的候选推荐信息预测模型结构一致。
在一些实施例中,通过将模型训练参数数据与网络结构相融合的方式,通过将模型参数转换为常量的方式将参数固化在模型网络结构当中,以保证离线训练模型与在线预测模型网络结构的一致性,在线推荐系统通过加载固化后的模型文件,即可同时获取网络结构以及模型训练参数,进而保证一致性,将最终得到的二进制模型文件通过定时任务按照预设的频次,按天或者按小时推送至在线推荐系统,同时将文件内容生成信息摘要算法进行编码,以用于后续模型校验,至此完成整个离线训练过程。
第二阶段是候选推荐信息预测模型的应用阶段,应用于应用服务器200-B。
参见图1B,图1B是本发明实施例提供的基于人工智能的推荐系统100-B的一个可选的架构示意图,终端400通过网络300连接应用服务器200-B以及训练服务器200-A,网络300可以是广域网或者局域网,又或者是二者的组合,应用服务器200-B负责通过候选推荐信息预测模型对候选推荐信息进行排序,应用服务器200-B中包括信息获取模块2551、特征形成模块2552、特征处理模块2553、信息排序模块2554以及推荐模块2555,应用服务器200-B响应于接收到用户请求,信息获取模块2551从召回系统500中获取对应用户请求的候选推荐信息,应用服务器200-B通过从训练服务器200-A获取到的训练好的候选推荐信息预测模型对候选推荐信息进行排序,并根据排序结果将对应排序结果的候选推荐信息推送至用户所使用的终端400。
参见图2B,图2B是本发明实施例提供的应用基于人工智能的推荐方法的应用服务器200-B的结构示意图,图2B所示的应用服务器200-B的结构与训练服务器200-A中的结构相同,除了应用服务器200-B中包括的是基于人工智能的推荐装置255-B而不是基于人工智能的推荐模型训练装置255-A。
在一些实施例中,本发明实施例提供的基于人工智能的推荐装置255-B可以采用软件方式实现,图2B示出了存储在存储器250中的基于人工智能的推荐装置255-B,其可以是程序和插件等形式的软件,包括以下软件模块:信息获取模块2551、特征形成模块2552、特征处理模块2553、信息排序模块2554以及推荐模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DS P、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPG A,Field-Programmable Gate Array)或其他电子元件。
参见图6A,图6A是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,将结合图6A示出的步骤201-203进行说明。
在步骤201中,应用服务器获取对应待推荐用户的多个候选推荐信息。
在一些实施例中,步骤201中获取对应待推荐用户的多个候选推荐信息,可以通过以下技术方案实现,获取以下至少一个类型的候选推荐信息:与对应待推荐用户的历史浏览信息的内容相似,且内容相似度不小于内容相似度阈值的多个候选推荐信息;与对应待推荐用户的历史行为信息的行为相似,且行为相似度不小于行为相似度阈值的多个候选推荐信息。
在一些实施例中,可以通过推荐系统中的召回模块获取多个候选推荐信息,这里获取多个候选推荐信息是响应于待推荐用户的用户请求,这里的用户请求可以是携带有特定目标的查询请求,还可以是初始化应用的请求,这里的行为相似度指的是用户历史行为信息与候选推荐信息之间的相似度,内容相似度指的是用户历史浏览信息与候选推荐信息之间的相似度。
在步骤202中,应用服务器获取待推荐用户的用户特征、以及每个候选推荐信息的候选推荐信息特征,并将用户特征分别与每个候选推荐信息的候选推荐信息特征进行组合,以形成对应每个候选推荐信息的融合特征。
在一些实施例中,步骤202中获取待推荐用户的用户特征、以及每个候选推荐信息的候选推荐信息特征,可以通过以下技术方案实现,获取对应待推荐用户的以下至少之一的用户特征:用于表征待推荐用户的基本信息的基础属性特征;用于表征用户社会关系的社会关系特征;用于表征用户互动行为的互动行为特征;用于表征用户阅读偏好的阅读心理特征;获取对应候选推荐信息的以下至少之一的候选推荐信息特征:用于表征候选推荐信息类别的类别特征;用于表征候选推荐信息内容的标签特征;用于表征候选推荐信息发布时间的时间特征;用于表征候选推荐信息来源的发布特征;用于表征候选推荐信息长度的长度特征。
在一些实施例中,基本信息可以是用户的性别、年龄、长期居住地等基本属性,社会关系可以是是否婚配或者工作岗位等等具有社会属性,用户互动行为可以是点赞、转发或者收藏等等行为,阅读偏好可以是阅读兴趣,兴趣点可以是娱乐八卦或是国际新闻等等,候选推荐信息类别可以是信息展示载体类别,例如,视频信息、图像信息或者文本信息,候选推荐信息内容可以是内容主题,例如教育话题或者娱乐话题等等。
在一些实施例中,步骤202中将用户特征分别与每个候选推荐信息的候选推荐信息特征进行组合,以形成对应每个候选推荐信息的融合特征,可以通过以下技术方案实现,获取对应待推荐用户的以下至少之一的环境特征:向待推荐用户进行推送的时间特征;待推荐用户的用户位置特征;待推荐用户的设备特征;待推荐用户所使用的设备所处的网络特征;将对应待推荐用户的环境特征、用户特征以及候选推荐信息特征,组合成对应每个候选推荐信息的融合特征。
在一些实施例中,环境特征对于指标预测也有影响,向待推荐用户进行推送的时间会影响到待推荐用户是否有空闲观看候选推荐信息,待推荐用户的位置表征待推荐用户当前所处的生活场景,不同的生活场景对于指标的预测是有影响的,例如,当位置特征表征待推荐用户处在电影院,对于时长和点击率的预测结果和位置特征表征待推荐用户处在自习室的预测结果会有较大差异,待推荐用户所使用的设备所处的网络会影响待推荐用户是否希望接收到视频等需要耗费较大网络资源的候选推荐信息。
在步骤203中,应用服务器对对应每个候选推荐信息的融合特征进行多层次映射处理,得到每个候选推荐信息分别对应多个指标的评分。
参见图6B,基于图6A,图6B是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,步骤203中对对应每个候选推荐信息的融合特征进行多层次映射处理,得到每个候选推荐信息分别对应多个指标的评分可以通过步骤2031-步骤2032实现。
在步骤2031中,通过多个专家网络,对对应每个候选推荐信息的融合特征进行多层次映射处理,得到与多个专家网络一一对应的多个子特征,并对多个子特征进行加权处理,得到对应各个指标的指标特征。
参见图6C,基于图6A,图6C是本发明实施例提供的基于人工智能的推荐方法的一个可选的流程示意图,步骤2031中通过多个专家网络,对对应每个候选推荐信息的融合特征进行多层次映射处理,得到与多个专家网络一一对应的多个子特征,并对多个子特征进行加权处理,得到对应各个指标的指标特征可以通过步骤20311-步骤20313实现。
在步骤20311中,通过候选推荐信息预测模型中的多个专家网络,将融合特征分别映射到对应各个专家网络的特征空间,以获得各个专家网络所关联的特征维度的子特征。
这里的各层专家网络可以看成是多个全连接层,每个专家网络通常是数层规模比较小的全连接层。
在步骤20312中,通过候选推荐信息预测模型中与多个指标一一的对应的权重生成器,对融合特征进行最大似然处理,以得到对应各个指标的子特征权重分布。
这里,权重生成器用来选择每个专家网络的信号占比,每个专家网络都有其擅长的预测方向,最后共同作用于分别对应各个权重生成器的指标,这里的各个指的是多个权重生成器中的每一个,关于各个的含义在全文中均表示多个对象中的每一个。
在步骤20313中,基于子特征权重分布中对应各个专家网络所获得的子特征的权重,对各个专家网络所获得关联的子特征进行加权处理,分别得到对应各个指标的指标特征。
在步骤2032中,通过候选推荐信息预测模型中与多个指标一一对应的预测器,并结合对应各个指标的指标特征对融合特征进行评分预测处理,得到融合特征基于各个指标的评分。
这里,将每一个权重生成器认为是加权求和池化操作,如果将权重生成器换成选择最大的操作,x为输入,则各层专家网络输出子特征分量最大对应的专家网络被唯一选中,向上传递信号。
在步骤204中,应用服务器对分别对应多个指标的评分进行多指标聚合处理,得到每个候选推荐信息的综合评分,并根据每个候选推荐信息的综合评分对多个候选推荐信息进行降序排序。
在一些实施例中,步骤204中对分别对应多个指标的评分进行多指标聚合处理,得到每个候选推荐信息的综合评分,可以通过以下技术方案实现,获取对应多个指标的聚合规则;基于聚合规则所包括的算子,对分别对应多个指标的评分进行计算处理,得到每个候选推荐信息对应多个指标的综合评分。
在一些实施例中,多个指标的聚合规则可以对应不同多指标聚合处理的方式,这里的多指标可以是时长、点击率、收藏数、转发数等等指标中的至少两个,聚合规则可以是带参数的相加、相乘或者其他运算规则,这里可以将时长以及点击率这两个指标进行相乘作为多指标聚合处理方式。
在步骤205中,应用服务器在降序排序的结果中选择排序靠前的至少一个候选推荐信息,并基于所选择的候选推荐信息执行对应待推荐用户的推荐操作。
在一些实施例中,在降序排序的结果中选择排序靠前的N个候选推荐信息作为即将要推荐给待推荐用户的候选推荐信息,并基于所选择的候选推荐信息执行对应待推荐用户的推荐操作,这里的推荐操作可以是直接推送至待推荐用户,还可以基于所选择的候选推荐信息进行重排序,这里的重排序指的是按照不同的多指标聚合处理的方式对所选择的候选推荐信息进行重新排序,以从更加全面的角度获取受待推荐用户喜欢的推荐信息。
在一些实施例中,基于所选择的候选推荐信息执行对应待推荐用户的推荐操作,这里所产生的作为推荐结果的候选推荐信息,是基于多指标预测所得到的结果,而不是单独某一项指标预测所产生的结果,因此推荐准确率较高,容易引起待推荐用户的兴趣,待推荐用户会阅读、点击、收藏以及转发作为推荐结果的候选推荐信息,从而提升了互动行为比例,待推荐用户会阅读、点击、收藏以及转发的操作会作为用户画像的原始信息进行存档保留,并用于按时间间隔对模型进行训练,以持续性提升模型预测性能。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用,参见图7,图7是本发明实施例提供的应用场景产品示意图,该界面中展示了三个经过排序处理的候选推荐信息,这些经过排序处理的候选推荐信息是通过候选推荐信息预测模型进行排序得到的,应用产品可以是新闻客户端,通过有效利用用户历史的隐式及显式行为,基于多层次改进的多任务学习训练方法训练推荐系统中的候选推荐信息预测模型,同时对在线推荐系统的排序目标做可配置性的设计,为用户提供精准的个性化新闻资讯推荐。
参加图8,图8是本发明实施例提供的模型训练及应用架构图,如图8所示,在接收到用户请求后,可以将图8所示的架构图划分为离线模型训练部分和在线推荐系统部分,进而返回个性化的推荐信息列表,与推荐服务中控具有直接交互的单元(1)-(6)均为在线服务,具体而言,通过业务接入部分(1)接收用户请求,获取待推荐用户的相关特征,这里的相关特征可以是用户曝光、用户反馈以及浏览时长,通过召回部分(3)得到响应于用户请求的个性化的候选推荐信息,通过在线排序部分(4)对获取的候选推荐信息进行排序,通过重排序部分(5)对经过排序得到的候选推荐信息进行基于不同策略的重排序,通过用户画像部分(2)获取用户画像,通过特征获取部分(6)进行特征提取,通过离线模型训练部分(7)对模型进行离线训练。
业务接入部分(1):通过客户端接收到用户发送的用户请求,基于用户请求可以获取到用户的用户特征,这里的用户特征可以是偏好特征、行为特征等等,推荐服务中控响应于用户请求,从召回部分获取与用户请求匹配的候选推荐信息,并通过本发明实施例提供的候选推荐信息预测模型对召回部分获取到的候选推荐信息进行多指标聚合排序,并将推荐结果通过业务接入部分返回给客户端,例如,在图7中展示了返回给客户端的推荐结果,这里所展示的三条候选推荐信息均是符合用户特征的推荐结果。
召回部分(3):从全量信息集合中触发尽可能多的正确结果,并将结果返给排序部分(4),召回的方式有多种,有协同过滤,主题模型、内容召回以及热点召回,在推荐系统中,用户没有一个明确的检索词输入、推荐系统需要做的是根据用户画像、内容画像等各种信息为用户推荐他可能感兴趣的内容。
重排序部分(5):排序和重排序之间的区别在于,排序所得到的是某种聚合规则下的结果,但是单一一种聚合规则存在局限性,因此需要进行重排序,在重排序的过程中,采用与排序所基于的聚合规则不同的聚合规则进行排序,例如,在排序阶段是通过点击率和时长的乘积作为聚合方式,而重排序阶段采用转发率与时长的乘积作为聚合方式,来对经过排序的候选推荐信息进行重排序。
接下来介绍离线模型训练部分(7),离线模型训练部分可细分为:训练样本集合构建模块、模型构建模块、训练模块、以及模型上线模块,训练样本集合构建模块中包括训练库生成单元、采样单元、特征生成单元、训练模块中包括模型训练单元、模型上线模块中包括:固化图单元以及模型推送单元,训练库生成单元用于对原始数据进行有效预处理,是提高训练模型准确度的前提,将用户的曝光日志、播放日志、资讯正排索引及画像特征日志,按照用户设备号进行融合,同时去除缺失有效单特征的脏数据,保证每条样本的有效单特性信息无缺失情况,采样单元用于基于训练库生成单元中得到的原始训练库对样本进行正负样本采样,使得正负样本保持在合理的比例上,同时过滤播放时长在一定阈值之下的样本,并针对不同信息时长和观看时长采取分段门限正负样本设定方案,特征生成单元(特征生成器)用于将采样单元得到的样本信息做进一步提取处理,结合具体的预测目标选用适当的特征,从而生成离线模型训练所需的样本数据(特征与标签),模型训练单元用于利用特征生成单元生成的样本数据,基于多层次改进的多任务学习模型进行离线模型训练,候选推荐信息预测模型中采用多层专家网络,多层专家网络促使多任务更好的进行底层特征共享,每一个任务独立的门限网络用来决定不同专家网络结果的使用程度,专家网络和门限网络均为三维张量,专家网络可以是简单的全连接层结构,候选推荐信息预测模型是基于以下公式输出各个指标的评分:
yk=hk(fk(x)) (5)
gk(x)=softmax(Wgkx) (1)
其中,yk是对应第k个指标的输出,hk是对应第k个指标的预测器的网络,fk是对应第k个指标的多层专家网络的输出,gk(x)i是对应第k个指标的第i个专家网络输出的特征的权重,fi(x)是第i个专家网络输出的特征,Wgk是对应第k个指标的门限网络的权重参数,x是输入的特征,训练上述候选推荐信息预测模型时引入多指标不确定性因子,相关技术中聚合多任务的损失函数,采用网格搜索的方式,参见公式(10):
其中,wi是对应第i个指标的损失函数的权重,Li是对应第i个指标的损失函数,Ltotal是聚合多任务的损失函数,虽然网络搜索的方式简单有效,但权值调节较耗时,因此,引入不确定性来衡量多任务间损失函数的权重。
在很多情况下,深度学习领域都有极佳的表现,这种表现依赖于强大的算力和深厚的网络结构,会对问题给出一个特定的结果,大多数情况下,深度学习会对问题给出一个答案,且模型不会给出对自己最终输出的结果的置信度,这个答案是模型在众多候选中找到概率最大的,但是在极端情况下,如分类标签是A和B,但是在测试阶段输入C类的图像,那么分类器大概率会带来无法预知的结果,通过贝叶斯建模实现置信度的输出,在贝叶斯模型中,有两种主要类型的不确定性可以建模:认知不确定性,是模型中的固有不确定性,由于训练数据量的不足,导致对于模型没见过的数据会有很低的置信度,认知不确定性解释了模型参数的不确定性,认知不确定性可以通过增加训练数据消除;偶然不确定性,在数据标注时如果出现比较大的标注误差,这个误差不是模型带入的,而是数据本身就存在的,数据集里的偏置越大,偶然不确定性就越大,其中,偶然不确定性可以细分为两类:(1)数据依赖型或异方差不确定性,这种不确定性取决于输入的数据,并且预测结果作为模型的输出;(2)任务依赖型或同方差不确定性,不依赖于输入数据,也不会是模型输出结果,而是对所有输入数据相同的常量,对不同任务不同的变量,基于这个特性,叫做任务依赖型不确定性,因为在多任务学习中,任务的不确定性表明了相对置信度,反映了回归和分类问题中固有的不确定性,因此把同方差不确定性作为噪声来对多任务学习中的权重进行优化,多任务损失函数,这个损失函数利用同方差不确定性来最大化高斯似然估计,首先提出一个对于回归问题的概率模型定义,参见以下公式(11):
p(y|fW(x))=N(fW(x),σ2) (11)
其中,fW是神经网络的输出,x是输入数据,W是权重,对于分类问题,通常会将输出压入激活函数中,参见以下公式:
接下来定义多任务的似然函数,参见以下公式:
p(y1,...,yk|fW(x))=p(y1|fW(x))...p(yk|fW(x)) (13)
其中,y1是多任务中每个子任务的输出,因而,极大似然估计就可以通过以下公式(14)表明,该极大似然估计与右边成正比,其中,σ是高斯分布的标准差,也是模型的噪声,接下来的任务就是根据W和σ最大化似然分布:
以两个任务为例,即存在两个输出,当两个输出分别为连续型输出和独立型输出时,分别利用高斯分布和最大似然分布进行建模,可以得到连续型输出和独立型输出的多任务聚合损失函数,参见以下公式:
其中,L
1(W)是对应第一指标的第一损失函数,L
2(W)是对应第二指标的第二损失函数,
是对应第一损失函数的权重,σ
1用于表征对第一指标进行预测评分的不确定性,
是对应第二损失函数的权重,σ
2用于表征对第二指标进行预测评分的不确定性,W是候选推荐信息预测模型中对应各个指标的结构权重。
训练的任务是最小化这个极大似然估计,所以,当σ(噪声)增大时,相对应的权重就会降低,另一方面,随着噪声σ减小,相对应的权重就要增加。
同时,针对于独立型输出的任务,还需要解决分类不平衡的问题,因此针对独立型输出的损失函数还需要在二分类交叉熵损失函数的基础上进行修改,修改后的损失函数如上述公式(7)所示:
L2(W)=-αt(1-Pt)γlog(Pt) (7)
其中,αt为用于平衡正负样本的平衡因子常数,γ为用于调节简单样本权重降低速率的调节常数,Pt为对应评分的概率值,让模型自适应的去学习艰难样本,同时平衡正负样本比例,在原有交叉熵损失函数的基础上加了一个γ因子,其中,γ>0能够减少易分类样本的损失,让模型自适应的去学习艰难样本,更加关注于这种难以区分的样本,这样减少了简单样本的影响,还加入平衡因子αt,用来平衡正负样本本身的比例不均,除了对交叉熵损失函数进行改进之外,还对网络激活函数进行调优,在常见的激活函数进行了改进,使该激活函数具备无上界有下界、平滑且非单调的特性,参见公式:
f(x)=x*sigmoid(β*x) (4)
其中,β为正数,优选为1,当β为1时,激活函数具备无上界有下界、平滑且非单调的特性,改善了训练过程中发生梯度消失的现象。
离线模型训练部分还包括固化图单元,通过将模型训练参数数据与网络结构相融合的方式,通过将模型参数通过转换为常量的方式将参数固化在模型网络结构当中,以保证离线训练模型与在线预测模型网络结构的一致性,在线推荐系统通过加载固化后的模型文件,即可同时获取网络结构以及模型训练参数,进而保证一致性,离线模型训练部分还包括模型推送单元,将最终得到的二进制模型文件通过定时任务按照预设的频次,按天或者按小时推送至在线推荐系统,同时将文件内容生成信息摘要算法进行编码,以用于后续模型校验,至此完成整个离线流程。
下面对在线排序部分(4)进行说明,在线排序部分(4)中具体还包括特征生成单元(特征生成器)及在线模型预测部分等等,在线流程中特征生成单元与离线流程中的特征生成单元的设计方式一致,服务器端接收用户请求后,获取用户的相关特征,同时通过召回部分得到每个用户请求与之匹配的候选推荐信息,拉取每个候选推荐信息的候选推荐信息特征,与用户特征结合得到与离线流程中特征生成单元中一致的样本格式,在线模型预测部分,本方案中根据离线训练模型的改进多任务模型网络结构,在线预测时对多指标进行预测(例如点击率、时长、收藏率、点赞率等),同时设计多种目标间的聚合排序方式,例如点击率*时长,作为排序目标值,选取排序靠前的N项做为最终返回推荐结果,上述改进打磨了候选推荐信息预测模型的细节,且加强了模型抗噪声能力,进而显著提升线上推荐系统的关键指标,模型的测试结果参见表1和表2,上述实验表明联合学习点击率和时长能够获得更好的泛化能力,对线上推荐的各项核心指标正向带动明显,用户互动显式行为比例也有了明显提升:
表1:对模型进行联合学习的指标测试结果
模型 |
人均时长 |
人均点击 |
点击率 |
深度因子分解机 |
+1.5% |
+2.4% |
16.9% |
多任务神经网络 |
+3.1% |
+2.7% |
17.7% |
具有多专家模型的多任务神经网络 |
+3.5% |
+2.9% |
19.3% |
改进的多任务神经网络 |
+3.8% |
+3.4% |
20.1% |
表2:各个模型的指标测试结果
本发明实施例提供了一种基于人工智能的推荐方法,是一种基于多层次改进的多任务学习推荐方法,分别通过设计多层专家网络、引入多指标不确定性因子、解决分类不平衡问题等角度,对个性化推荐系统的排序模型进行了深度优化改造,模型离线评测AUC、均方误差等指标有了明显提升,同时对在线推荐系统的排序目标做可配置性的设计(点击率、时长、点赞率、分享率等),更加灵活可控,本方案已经成功应用于新闻应用的推荐系统,最终对线上推荐的各项核心指标正向带动明显,用户互动显式行为比例也有了明显提升。
下面继续说明本发明实施例提供的基于人工智能的推荐装置255的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器250的基于人工智能的推荐装置255-A中的软件模块可以包括:信息获取模块2551,用于获取对应待推荐用户的多个候选推荐信息;特征形成模块2552,用于获取待推荐用户的用户特征、以及每个候选推荐信息的候选推荐信息特征,并将用户特征分别与每个候选推荐信息的候选推荐信息特征进行组合,以形成对应每个候选推荐信息的融合特征;特征处理模块2553,用于对对应每个候选推荐信息的融合特征进行多层次映射处理,得到每个候选推荐信息分别对应多个指标的评分;信息排序模块2554,用于对分别对应多个指标的评分进行多指标聚合处理,得到每个候选推荐信息的综合评分,并根据每个候选推荐信息的综合评分对多个候选推荐信息进行降序排序;推荐模块2555,用于在降序排序的结果中选择排序靠前的至少一个候选推荐信息,并基于所选择的候选推荐信息执行对应待推荐用户的推荐操作。
在一些实施例中,信息获取模块2551,还用于:获取以下至少一个类型的候选推荐信息:与对应待推荐用户的历史浏览信息的内容相似,且内容相似度不小于内容相似度阈值的多个候选推荐信息;与对应待推荐用户的历史行为信息的行为相似,且行为相似度不小于行为相似度阈值的多个候选推荐信息。
在一些实施例中,特征形成模块2552,还用于:获取对应待推荐用户的以下至少之一的用户特征:用于表征待推荐用户的基本信息的基础属性特征;用于表征用户社会关系的社会关系特征;用于表征用户互动行为的互动行为特征;用于表征用户阅读偏好的阅读心理特征;获取对应候选推荐信息的以下至少之一的候选推荐信息特征:用于表征候选推荐信息类别的类别特征;用于表征候选推荐信息内容的标签特征;用于表征候选推荐信息发布时间的时间特征;用于表征候选推荐信息来源的发布特征;用于表征候选推荐信息长度的长度特征。
在一些实施例中,特征形成模块2552,还用于:获取对应待推荐用户的以下至少之一的环境特征:向待推荐用户进行推送的时间特征;待推荐用户的用户位置特征;待推荐用户的设备特征;待推荐用户所使用的设备所处的网络特征;将对应待推荐用户的环境特征、用户特征以及候选推荐信息特征,组合成对应每个候选推荐信息的融合特征。
在一些实施例中,特征处理模块2553,还用于:通过多个专家网络,对对应每个候选推荐信息的融合特征进行多层次映射处理,得到与多个专家网络一一对应的多个子特征,并对多个子特征进行加权处理,得到对应各个指标的指标特征;通过候选推荐信息预测模型中与多个指标一一对应的预测器,并结合对应各个指标的指标特征对融合特征进行评分预测处理,得到融合特征基于各个指标的评分。
在一些实施例中,特征处理模块2553,还用于:通过候选推荐信息预测模型中的多个专家网络,将融合特征分别映射到对应各个专家网络的特征空间,以获得各个专家网络所关联的特征维度的子特征;
通过候选推荐信息预测模型中与多个指标一一的对应的权重生成器,对融合特征进行最大似然处理,以得到对应各个指标的子特征权重分布;基于子特征权重分布中对应各个专家网络所获得的子特征的权重,对各个专家网络所获得关联的子特征进行加权处理,分别得到对应各个指标的指标特征。
在一些实施例中,信息排序模块2554,还用于:获取对应多个指标的聚合规则;基于聚合规则所包括的算子,对分别对应多个指标的评分进行计算处理,得到每个候选推荐信息对应多个指标的综合评分。
在一些实施例中,如图2B所示,存储在存储器250的基于人工智能的推荐模型训练装置255-B中的软件模块可以包括:训练样本集合构建模块2556,用于对推荐系统的日志进行预处理,以构建训练样本集合;模型构建模块2557,用于基于与多个指标一一对应的权重生成器、与多个指标一一对应的预测器、以及多个专家网络,构建候选推荐信息预测模型;训练模块2558,用于通过训练样本集合,对候选推荐信息预测模型进行多指标训练;其中,训练得到的候选推荐信息预测模型用于供推荐系统进行多指标的聚合处理和排序,以根据排序结果确定待推荐的候选推荐信息。
在一些实施例中,装置255-B还包括:模型上线模块2559,用于:将候选推荐信息预测模型的参数转换为常量,并固化在候选推荐信息预测模型中,以生成固化后的二进制模型文件;将二进制模型文件推送至推荐系统,以使推荐系统中所使用的候选推荐信息预测模型与经过训练得到的候选推荐信息预测模型结构一致。
在一些实施例中,训练样本集合构建模块2556,还用于:将推荐系统中的曝光日志、播放日志、资讯正排索引及画像特征日志中的至少一种,按照用户设备标识进行融合处理,得到样本数据;对所得到的样本数据进行正样本采样以及负样本采样,使得采样所得到的正样本以及负样本保持为标准比例;对经过采样得到的正样本和负样本进行特征提取处理,得到与各个指标匹配的特征,并将包括特征以及对应的指标的真实结果的集合,确定为训练候选推荐信息预测模型所需的训练样本集合。
在一些实施例中,训练模块2558,还用于:初始化候选推荐信息预测模型,并初始化对应多个指标的损失函数,损失函数包括特征样本以及对应特征样本的评分;在候选推荐信息预测模型的每次迭代训练过程中执行以下处理:通过候选推荐信息预测模型,对训练样本集合包括的特征样本进行评分,得到对应特征样本的针对各个指标的评分;将对应特征样本的真实结果和评分代入损失函数,以确定损失函数取得最小值时对应的候选推荐信息预测模型参数;根据所确定的候选推荐信息预测模型参数更新候选推荐信息预测模型。
在一些实施例中,训练模块2558,还用于:通过候选推荐信息预测模型中的多个专家网络,将特征样本分别映射到对应各个专家网络的特征空间,以获得各个专家网络所关联的特征维度的子特征;基于子特征权重分布中对应各个专家网络所获得的子特征的权重,对各个专家网络所获得关联的子特征进行加权处理,分别得到对应特征样本的指标特征;通过候选推荐信息预测模型中包括的对应各个指标的预测器,结合指标特征对特征样本进行评分预测处理,得到特征样本基于各个指标的评分。
在一些实施例中,训练模块2558,还用于:将对应特征样本的针对各个指标的真实结果和评分分别代入对应各个指标的损失函数;结合对应各个损失函数的损失权重,对各个损失函数进行加权求和处理,得到对应候选推荐信息预测模型的聚合损失函数;对聚合损失函数进行最小化处理,得到聚合损失函数取得最小值时对应的候选推荐信息预测模型参数;其中,候选推荐信息预测模型参数包括对应候选推荐信息模型的结构参数、以及对应聚合损失函数的损失权重。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的基于人工智能的推荐方法,例如,如图5A-5C示出的基于人工智能的推荐方法、以及基于人工智能的推荐模型训练方法,例如,如图6A-6C示出的基于人工智能的推荐方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例将用户特征与候选推荐信息的候选推荐信息特征组合,以形成融合特征,并通过对融合特征的多层次映射处理,得到对应多个指标的评分,并基于多指标聚合处理进行排序,以正向带动推荐系统中指标,提高用户互动显示行为比例。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。