基于人工智能的信息推荐方法、装置、电子设备
技术领域
本发明涉及人工智能技术,尤其涉及一种基于人工智能的信息推荐方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用***。
排序模块和重排序模块是基于人工智能的推荐***的重要组成部分,排序模块的任务是根据用户的特征和文章的特征预测用户对某信息的点击概率,重排序模块的任务是根据用户的特征和文章的特征再次预测用户对某信息的点击概率,相关技术中的排序模块以及重排序模块主要采用逐项预测的方法,训练时每次学习一个样本,预测时每次对单个信息行分析,但是在实际应用中,所推荐的信息不能较好地代表用户的兴趣,严重影响了用户对资讯类产品的体验。
发明内容
本发明实施例提供一种基于人工智能的信息推荐方法、装置、电子设备及计算机可读存储介质,能够提高在推荐场景中进行信息推荐的准确率。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于人工智能的信息推荐方法,包括:
接收推荐信息请求;
基于第一信息集合中每个信息的特征预测对应的初始点击率,并基于预测的初始点击率对所述第一信息集合进行第一次降序排序处理;
在第一次降序排序结果中选取排序在前的且满足多样性条件的多个信息,以形成第二信息集合;
将所述第二信息集合中每个信息的特征、以及所述第二信息集合中多个信息之间的关联性进行融合,形成所述每个信息的关联特征;
基于所述第二信息集合中每个信息的关联特征预测对应的最终点击率,并基于预测的最终点击率对所述第二信息集合进行第二次降序排序处理;
基于第二次降序排序结果执行推荐操作,以响应所述推荐信息请求。
本发明实施例提供一种基于人工智能的信息推荐装置,包括:
请求接收模块,用于接收推荐信息请求;
第一排序模块,用于基于第一信息集合中每个信息的特征预测对应的初始点击率,并基于预测的初始点击率对所述第一信息集合进行第一次降序排序处理;
多样性处理模块,用于在第一次降序排序结果中选取排序在前的且满足多样性条件的多个信息,以形成第二信息集合;
关联特征生成模块,用于将所述第二信息集合中每个信息的特征、以及所述第二信息集合中多个信息之间的关联性进行融合,形成所述每个信息的关联特征;
第二排序模块,用于基于所述第二信息集合中每个信息的关联特征预测对应的最终点击率,并基于预测的最终点击率对所述第二信息集合进行第二次降序排序处理;
推荐模块,用于基于第二次降序排序结果执行推荐操作,以响应所述推荐信息请求。
在上述方案中,在基于第一信息集合中每个信息的特征预测对应的初始点击率之前,所述第一排序模块,还用于:
针对所述第一信息集合中的每个信息,获取与多个特征类型分别对应的第一排序特征;
其中,所述特征类型包括以下至少之一:用户特征;信息特征;环境特征;
对所述第一排序特征进行基于隐向量的压缩处理,得到与多个所述特征类型分别对应的第二排序特征;
对与多个所述特征类型分别对应的第二排序特征进行拼接处理,得到对应所述信息的第二排序特征。
在上述方案中,所述第一排序模块,还用于:
以分别对应所述第一排序特征的多个嵌入维度值的隐向量为权重,对所述第一排序特征的多个嵌入维度值进行加权处理,得到与多个所述特征类型分别对应的第二排序特征;
其中,与多个所述特征类型分别对应的第二排序特征用于对所述信息进行点击率预测。
在上述方案中,所述第一排序模块,还用于:
针对所述第一信息集合中每个信息执行以下处理:
对所述信息的特征进行线性处理,得到对应所述信息的第一点击率;
对所述信息的特征进行映射处理,得到对应所述信息的第二点击率;
对所述第一点击率以及所述第二点击率进行相加,得到对应所述信息的初始点击率。
在上述方案中,所述第一排序模块,还用于:
以与所述信息的多个第一排序特征分别对应的一阶项参数为权重,对多个所述第一排序特征进行加权处理,得到对应所述信息的一阶项输出;
将所述信息的多个第二排序特征进行两两相乘,得到对应所述信息的多个组合特征;
以与所述信息的多个组合特征分别对应的二阶项参数为权重,对多个所述组合特征进行加权处理,得到对应所述信息的二阶项输出;
将零阶项参数、所述一阶项输出以及所述二阶项输出相加,得到对应所述信息的第一点击率。
在上述方案中,所述第一排序模块,还用于:
将所述信息的第二排序特征与第一次降序排序隐层参数相乘,得到对应所述信息的第一隐层特征;
对所述第一隐层特征从第一隐层特征空间映射到初始点击率空间,得到对应所述信息的第二点击率;
其中,所述零阶项参数、所述一阶项参数、所述二阶项参数、所述隐向量以及所述隐层参数是以推荐日志中的用户特征、信息特征、环境特征以及真实点击率作为训练样本,以最小化所述真实点击率与预测得到的初始点击率之间的误差为目标进行训练得到的。
在上述方案中,所述多样性处理模块,还用于:
将所述第一信息集合中点击率最高的信息转移到所述第二信息集合;
继续将所述第一信息集合中点击率最高且满足所述多样性条件的信息转移到所述第二信息集合,直到所述第二信息集合的信息数目达到信息推荐数目阈值。
在上述方案中,所述多样性处理模块,还用于:
当所述第一信息集合中点击率最高的信息以及所述第二信息集合中的信息满足所述多样性条件时,将所述点击率最高的信息从所述第一信息集合转移到所述第二信息集合;
其中,所述多样性条件规定了属于相同类目的信息的最大数目。
在上述方案中,所述关联特征生成模块,还用于:
针对所述第二信息集合中的每个信息执行以下处理:
将对应信息的多个第二排序特征进行相加处理,得到用于预测所述信息的最终点击率的初始特征;
对所述信息的初始特征进行线性变换处理,得到分别对应所述初始特征的查询向量、键向量以及值向量;
将所述信息的查询向量与所述第二信息集合中的每个信息的键向量进行点乘处理,得到所述信息与所述第二信息集合中的每个信息的相关度;
对所述相关度进行基于最大似然函数的归一化处理,得到对应所述值向量的权重;
基于所述权重对所述值向量进行加权处理,得到对应所述信息的关联特征。
在上述方案中,所述第二排序模块,还用于:
针对所述第二信息集合中的每个信息执行以下处理:
将所述信息的关联特征与第二次降序排序隐层参数相乘,得到对应所述信息的第二隐层特征;
对所述第二隐层特征从第二隐层特征空间映射到最终点击率空间,得到对应所述信息的最终点击率;
其中,所述第二次降序排序隐层参数是以推荐日志中的用户特征、信息特征、环境特征以及真实点击率作为训练样本,以最小化所述真实点击率与预测得到的初始点击率之间的误差为目标进行训练得到的。
在上述方案中,所述装置还包括:
训练模块,用于:在接收推荐信息请求之前,
从推荐日志中获取所述第二信息集合中未经过第二次降序排序处理的信息样本以及对应的真实点击率,组成最终点击率训练样本集合;
将所述最终点击率训练样本集合中的信息样本,在最终点击率预测模型中进行正向传播,并在所述最终点击率预测模型中进行反向传播,以更新所述最终点击率预测模型的参数;
其中,所述最终点击率预测模型包括注意力机制网络结构以及多个全连接层。
在上述方案中,所述训练模块,还用于:
初始化所述最终点击率预测模型,并执行以下处理:
将每个所述信息样本在所述最终点击率预测模型的各个层中进行正向传播,以对所述最终点击率训练样本集合包括的信息样本进行最终点击率预测,得到对应所述信息样本的预测的最终点击率;
初始化包括所述信息样本以及对应所述信息样本的预测的最终点击率的损失函数;
确定所述信息样本的预测的最终点击率和真实点击率之间的误差,并根据所述损失函数在所述最终点击率预测模型中反向传播所述误差,以
确定所述损失函数取得最小值时所述最终点击率预测模型的参数变化值,并基于所述参数变化值更新所述最终点击率预测模型的参数。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的信息推荐方法。
本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本发明实施例提供的基于人工智能的信息推荐方法。
本发明实施例具有以下有益效果:
通过对第一次排序中对应各个信息的特征进行关联融合处理,使得对应各个信息的关联特征不仅表征各自信息,还能够表征该信息与其他信息的关联度,从而使得基于该关联特征所进行的第二次排序是考虑到全局信息的影响,使得推荐结果更加符合用户兴趣;通过对信息进行多样性处理,使得推荐结果能够对兴趣点广泛覆盖,从而实现了细粒度的精确推荐。
附图说明
图1是本发明实施例提供的基于人工智能的信息推荐***的结构示意图;
图2是本发明实施例提供的应用基于人工智能的信息推荐方法的服务器200的结构示意图;
图3A是本发明实施例提供的基于人工智能的信息推荐方法的初始点击率预测模型结构示意图;
图3B是本发明实施例提供的基于人工智能的信息推荐方法的因子分解机的结构示意图;
图3C是本发明实施例提供的基于人工智能的信息推荐方法的前馈神经网络的结构示意图;
图4是本发明实施例提供的基于人工智能的信息推荐方法的最终点击率预测模型的结构示意图;
图5A-5E是本发明实施例提供的基于人工智能的信息推荐方法的流程示意图;
图6是本发明实施例提供的基于人工智能的信息推荐方法的特征压缩示意图;
图7是本发明实施例提供的基于人工智能的信息推荐方法的实际应用场景流程图;
图8是本发明实施例提供的基于人工智能的信息推荐方法的模型结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)信息:即为需要被推荐的内容,比如,文本、图像、视频以及商品等等。
2)一级兴趣(类别L1):表示一个较大范围的兴趣,比如,“美食”,“经济”,“军事”等等,通常推荐***包括几十个一级兴趣。
3)二级兴趣(类别L2):表示在某个一级兴趣下的子兴趣,比如,一级兴趣“体育”包括“篮球”,“足球”等多个二级兴趣。在推荐***中,一般包括几百个二级兴趣。
4)标签(tag):通过自动提取或人工标注等方法,给信息标注的标签,比如,“大学”,“苹果”,“手机”,一个信息可以对应一个或多个标签,在推荐***中,一般包括几万到几十万个标签。
5)推荐***:推荐***是一种以用户交互数据为基础的关联用户和信息的工具,它能够在海量的信息中帮助用户筛选他们感兴趣的信息,为用户提供个性化的信息服务。
6)新闻个性化推荐:利用数据处理和分析算法,挖掘用户现有的和潜在的感兴趣的信息,为不同用户推荐其感兴趣的新闻资讯。
7)逐项预测方法:训练时每次学习一个样本,根据用户特征、信息特征和上下文特征为基础,以用户的实际的点击行为为标签,进行点击率预测的机器学习方法。
以推荐***为新闻推荐***为例,排序模块和打散模块是新闻推荐***的重要组成部分,排序模块的任务是根据用户的特征和文章的特征预测用户对某文章的点击概率,打散模块的作用是为了保证新闻展示的多样性,避免同类型的文章集中出现,打散模块独立存在于排序模块后,基于设置好的打散策略从排序的文章中进行收集,收集够一定数目的文章(一刷),作为此次推荐***选出的最终文章,线上使用时,排序模块将召回模块获得的所有文章进行点击率预估,并基于预估点击率进行排序,排序后的文章经过打散模块选择一定数目的文章最终推荐给用户,目前排序模块主要采用逐项预测的方法,训练时每次学习一个样本,预测时每次对单个文章进行分析,申请人发现,相关技术的新闻推荐***中,排序模块主要使用了单一的样本特征进行点击率学习,打散模块只基于固定策略从前往后收集,以推荐至用户,因此会存在如下技术问题:1、基于单一样本进行点击率学习,则一次仅能考虑一个样本的特征,不能有效的学习其他样本对预测点击率的影响,样本中“刷”的信息不能有效利用,使得排序所使用的模型对全局信息的感知能力较差;2、相关技术中存在的一些重排序方法仅仅是对排序后的文章进行二次排序,没有考虑样本的多样性,易造成类似文章集中出现的问题;3、打散模块只是简单的基于策略进行文章收集,没有针对收集的文章进行再次精确的排序处理,使得推荐***整体的准确度较低;4、预测点击率所使用的模型准确度下降,使得排序后的文章不能很好的代表用户的兴趣,严重影响了用户对资讯类产品的体验。
为解决上述技术问题,本发明实施例提供了一种基于人工智能的信息推荐方法,其实际是一种考虑信息多样性的重排序方法,首先使用基础排序方法对召回的文章进行初始点击率预测,并将所有召回文章进行第一次排序,然后使用打散模块的规则从第一次排序的信息中收集请求数目的信息,形成信息列表,接着将信息列表中各个信息在排序模型中的特征,输入第二次排序所使用的模型,再次对信息列表中的整体信息进行整合,并预测最终点击率,然后基于最终点击率对信息列表中的信息进行第二次排序,即重排序,最后将第二次排序的信息作为最终结果推荐至用户。
本发明实施例提供一种基于人工智能的信息推荐方法、装置、电子设备和计算机可读存储介质,能够实现覆盖范围广、重复率低且推荐准确度高的推荐效果,下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本发明实施例提供的基于人工智能的信息推荐***的架构示意图,这里的信息推荐***可以用于支撑各种信息的推荐场景,例如对新闻进行推荐的应用场景,对商品进行推荐的应用场景、对视频进行推荐的应用场景等等,根据应用场景不同,信息可以为新闻、实际商品等等,在用户使用客户端的过程中,终端400将收集到的用户针对信息的互动行为上报至服务器200,作为训练样本数据以及对应于该用户的用户画像和用户特征,训练样本数据是来自于各个终端上报的不同用户的行为数据,基于这些行为数据进行初始点击率预测模型的训练,用户画像和用户特征是对应某一用户的终端所反馈得到的,初始点击率预测模型基于获取的对应该用户的用户画像和用户特征、信息特征以及环境特征,进行信息的初始点击率预测以及第一次排序,基于第一次排序结果对信息进行多样性处理,并对多样性处理得到的信息进行基于全局信息的第二次排序,因此,能够准确推荐满足用户兴趣点的内容且实现推荐内容的多样性。
下面介绍信息推荐***的具体架构,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,服务器200中的请求接收模块2551接收终端400发送的推荐信息请求,触发服务器200中的第一排序模块2552从信息数据库500中筛选出与用户相关的信息,使用初始点击率预测模型对信息进行初始点击率预测和降序排序,服务器200中的多样性处理模块2553对经过第一次降序排序处理的信息进行多样性收集,并将满足多样性条件的收集结果提交至第二次排序部分,通过第二次排序部分中的关联特征生成模块2554得到收集到的每个信息的关联特征,并通过第二排序模块2555基于关联特征进行最终点击率预测和降序排序,以推荐给用户,并在用户所使用的终端400上呈现,包含信息曝光和点击率等数据的日志将被实时上报到推荐***,作为生成用户实时特征以及信息实时特征的训练样本,来训练初始点击率以及最终点击率预测模型。
参见图2,图2是本发明实施例提供的应用基于人工智能的信息推荐方法的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250和至少一个网络接口220。服务器200中的各个组件通过总线***240耦合在一起。可理解,总线***240用于实现这些组件之间的连接通信。总线***240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器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)等。
在一些实施例中,本发明实施例提供的基于人工智能的信息推荐装置可以采用软件方式实现,图2示出了存储在存储器250中的基于人工智能的信息推荐装置255,其可以是程序和插件等形式的软件,包括以下软件模块:请求接收模块2551、第一排序模块2552、多样性处理模块2553、关联特征生成模块2554、第二排序模块2555、推荐模块2556以及训练模块2557,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于人工智能的信息推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的信息推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的信息推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrate d Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本发明实施例提供的信息推荐***的示例性应用和实施,说明本发明实施例提供的基于人工智能的信息推荐方法,这里的信息推荐***包括训练阶段以及应用阶段,首先对本发明实施例提供的基于人工智能的信息推荐方法中所使用的模型以及各模型所进行的训练进行说明。
在本发明实施例提供的信息推荐***中涉及到两个需要进行训练的模型,分别是初始点击率预测模型以及最终点击率预测模型。
参见图3A,图3A是本发明实施例提供的基于人工智能的信息推荐方法的初始点击率预测模型结构示意图,初始点击率预测模型可以是因子分解机以及前馈神经网络组成的模型结构,包含了稀疏特征层、稠密表示层、因子分解机层、隐藏层以及输出单元,左侧的因子分解机包括稀疏特征层、稠密表示层以及因子分解机层,右侧的前馈神经网络包括稀疏特征层、稠密表示层、隐藏层以及输出单元,参见图3B,图3B是本发明实施例提供的基于人工智能的信息推荐方法的因子分解机的结构示意图,包括稀疏特征层、稠密表示层以及因子分解机层,参见图3C,图3C是本发明实施例提供的基于人工智能的信息推荐方法的前馈神经网络的结构示意图,包括稀疏特征层、稠密表示层、隐藏层以及输出单元,图3A-3C中的圆点表示神经元,字段i、字段j和字段m(field i、field j和field m)代表不同的特征类别,例如性别特征与年龄特征采用不同的字段表示,连线有虚线和实线的区别,虚线箭头表示权重为1,实线连接线表示存在需要进行训练的权重。加权处理(Addition)即为普通的线性加权相加,点积操作(Inner Product)即为因子分解机的二阶项隐向量两两相乘的部分,S igmoid激活函数,即最后整合因子分解机以及前馈神经网络的输出,以合并到sigmoid激活函数得到输出结果,激活函数(Activation Function),这里的激活函数用的是线性整流器Relu函数。在训练过程中,主要对以下参数进行更新,因子分解机中对应各个特征的权重,各个特征的隐向量、隐藏层中的参数以及各个实线所对应的权重,需要说明的是在更新因子分解机的参数时,不需要训练组合特征的权重,因为需要组合特征的两个样本值同时有值时才能使组合特征的权重得到训练,但是组合特征样本较少,这样的训练方式很难使组合特征的权重得到充分训练,通过因式分解机,可以使用隐向量来表达每个输入的特征值,标记为e,并且通过两个特征的e值求内积,其结果可以等同于组合特征的权重,通过隐向量e表示特征的方式好处是,组合特征不需要保证两个特征均有值才能使e得到训练,每个包含有值特征x的样本,都能使之对应的隐向量e得到训练。
参见图4,图4是本发明实施例提供的基于人工智能的信息推荐方法的最终点击率预测模型的结构示意图,最终点击率预测模型由注意力机制网络结构以及多个全连接层组成,通过注意力机制网络将每个文章的初始特征F转化为中间的隐层特征T,每个隐层特征T中均包含了其他文章的信息,使得每个文章对应的信息表达更加充分,接着最终点击率预测模型使用全连接层用来学习文章列表中文章的点击率信息,最终点击率预测模型使用两层全连接网络,通过第一层全连接网络基于每个文章的隐层特征T进行深层语义学习,接着使用全连接层将深层语义学习得到的向量的维度降为1维,以进行点击率学习,为了使点击率S落在0和1之间,将全连接层输出的1维数据使用了激活函数进行转化,具体训练可以通过以下技术方案实现,从推荐日志中获取第二信息集合中未经过第二次降序排序处理的信息样本以及对应的真实点击率,组成最终点击率训练样本集合;这里的所使用的训练样本是呈现给用户的真实样本,即在应用阶段进行了第一次降序排序处理以及多样性处理后收集到的信息,以及将这些信息呈现给用户时,用户所反馈的真实互动行为,将注意力机制网络结构以及多个全连接层,组成用于对第二信息集合中的信息进行最终点击率预测的最终点击率预测模型;将最终点击率训练样本集合中的信息样本,在最终点击率预测模型中进行正向传播,并在最终点击率预测模型中进行反向传播,以更新最终点击率预测模型的参数。
在一些实施例中,上述将最终点击率训练样本集合中的信息样本,在最终点击率预测模型中进行正向传播,可以通过以下技术方案实现,初始化最终点击率预测模型,这里的初始化主要是指模型中参数的初始化,并执行以下处理:将每个信息样本在最终点击率预测模型的各个层中进行正向传播,以对最终点击率训练样本集合包括的信息样本进行最终点击率预测,得到对应信息样本的预测的最终点击率;上述在最终点击率预测模型中进行反向传播,以更新最终点击率预测模型的参数,可以通过以下技术方案实现,初始化包括信息样本以及对应信息样本的预测的最终点击率的损失函数;确定信息样本的预测的最终点击率和真实点击率之间的误差,并根据损失函数在最终点击率预测模型中反向传播误差,即将误差代入损失函数中,以最终点击率预测模型中进行反向传播,在以确定损失函数取得最小值时最终点击率预测模型的参数变化值,并基于参数变化值更新最终点击率预测模型的参数,这里的更新是将参数变化值与迭代前的参数进行相加。
接下来对本发明实施例提供的基于人工智能的信息推荐方法中所使用的模型以及各模型的应用进行说明。
参见图5A,图5A是本发明实施例提供的基于人工智能的信息推荐方法的流程示意图,将结合图5A示出的步骤101-106进行说明。
在步骤101中,服务器接收推荐信息请求。
这里服务器接收来自于终端的推荐信息请求,推荐信息请求所期待获取到的信息可以为需要被推荐的内容,比如,文本、图像、视频以及商品等等,针对于不同的推荐应用场景,可以推荐不同的内容。
在步骤102中,服务器基于第一信息集合中每个信息的特征预测对应的初始点击率,并基于预测的初始点击率对第一信息集合进行第一次降序排序处理。
这里的第一信息集合可以是经过召回服务所获得信息,召回服务可以通过以下技术方案实现,获取待推荐对象的用户特征,即用户的用户特征,并获取与用户特征之间的相似度超过用户相似度阈值的其他待推荐对象;相当于获取与发送推荐信息请求的用户品味相似的用户,其中,其他待推荐对象为推荐日志中除待推荐对象之外的用户;获取信息数据库中对应其他待推荐对象的信息,并确定待推荐对象针对信息的点击率;从信息数据库中筛选出点击率超过点击率阈值的多个信息,将多个信息作为针对对应待推荐对象所召回的信息,通过用户之间的相关性来获取召回的信息以组成第一信息集合,那么第一信息集合中的信息可以大致符合待推荐对象的兴趣,以第一信息集合中作为推荐基础,可以有效提高推荐准确度。
在一些实施例中,在执行步骤102中基于第一信息集合中每个信息的特征预测对应的初始点击率之前,还可以执行以下技术方案,针对第一信息集合中的每个信息,获取与多个特征类型分别对应的稀疏排序特征;其中,特征类型包括以下至少之一:用户特征;信息特征;环境特征;对稀疏排序特征进行基于隐向量的压缩处理,得到与多个特征类型分别对应的稠密排序特征;这里的稠密排序特征是对稀疏排序特征进行压缩得到的,因此,可以将第一排序特征称为稀疏排序特征,将第二排序特征称为稠密排序特征,再对与多个特征类型分别对应的稠密排序特征进行拼接处理,得到对应信息的稠密排序特征。
在一些实施例中,这里的多个特征类型表征特征的不同维度,这里的维度可以按照用户特征、信息特征以及环境特征来划分,用户特征是待推荐对象的特征,环境特征可以是设备特征或者网络环境特征,除了这种划分方式之外,还可以对特征进行细粒度划分,例如,对于用户特征而言,既存在性别差异,也存在年龄差异,还存在职业差异等等,这些虽然都属于用户特征,但仍属于不同的特征类型,可以用不同的字段来表示,即不同字段表征不同特征类型,在进行初始点击率预测时,将信息输入到初始点击率预测模型,输入到初始点击率预测模型中的多个字段的分别与多个特征类型对应的特征属于稀疏排序特征,稀疏特征指的是该特征向量中非零值的数目远小于特征向量的维度(长度),这里可以设定一个稀疏特征阈值,即特征向量中非零值的数目小于稀疏特征阈值的特征向量为稀疏特征,当特征数量比较大的时候,稀疏特征会很长,对于一旦模型更加复杂,计算的复杂度就会增长到机器无法承受的程度,同时,由于特征向量中不同维度之间是完全无关的,这就会导致特征向量无法描述信息间的相似性,从而导致模型的泛化能力较差,因此需要对稀疏排序特征进行基于隐向量的压缩处理,得到与多个特征类型分别对应的稠密排序特征,通过本发明实施例提供的基于人工智能的信息推荐方法,将稀疏排序特征压缩为稠密排序特征进行处理,降低了模型计算的复杂度,并且稠密排序特征中的不同维度可以具有相关性,从而可以基于稠密排序特征描述信息间的相关性,导致模型具有较强的泛化能力。
在一些实施例中,上述对稀疏排序特征进行基于隐向量的压缩处理,得到与多个特征类型分别对应的稠密排序特征,可以通过以下技术方案实现,以分别对应稀疏排序特征的多个嵌入维度值的隐向量为权重,对稀疏排序特征的多个嵌入维度值进行加权处理,得到与多个特征类型分别对应的稠密排序特征;其中,与多个特征类型分别对应的稠密排序特征用于对信息进行点击率预测。
参见图6,图6是本发明实施例提供的基于人工智能的信息推荐方法的特征压缩示意图,稠密表示层601的结构图6所示,虽然输入到输入层602的多个稀疏排序特征的长度不一样(例如字段1的稀疏排序特征以及字段m的稀疏排序特征),但是基于多个稀疏排序特征得到的稠密排序特征的长度是固定的,因子分解机中的隐向量e作为从稀疏排序特征到稠密排序特征的权重矩阵,这里的隐向量e需要在网络中进行学习,假设稠密排序特征的维度k为5,对于输入的一条信息,一个稀疏排序特征中(同一个字段)只有一个位置的值为1,对于稀疏排序特征的该位置而言,映射到稠密排序特征的多个嵌入维度值均为1,那么在由输入的稀疏排序特征得到稠密排序特征的过程中,稀疏特征层中只有一个神经元起作用,得到的稠密排序特征其实就是稀疏特征层到稠密表示层,与该起作用的神经元相连的五条线的权重,即Vi1、Vi2、Vi3、Vi4、Vi5,这五个值组合起来就是在因子分解机中所提到的ei。
基于图5A,参见图5B,图5B是本发明实施例提供的基于人工智能的信息推荐方法的流程示意图,步骤102中基于第一信息集合中每个信息的特征预测对应的初始点击率可以通过步骤1021-1023实现,将结合图5B示出的步骤1021-1023进行说明。
针对第一信息集合中每个信息执行以下步骤1021-1023。
在步骤1021中,对信息的特征进行线性处理,得到对应信息的第一点击率。
在步骤1022中,对信息的特征进行映射处理,得到对应信息的第二点击率。
在步骤1023中,对第一点击率以及第二点击率进行相加,得到对应信息的初始点击率。
在一些实施例中,对信息的特征所进行的线性处理实际上是低阶线性处理,得到对应信息的第一点击率,在低阶线性处理的过程中仅涉及到零阶项、一阶项以及二阶项,即在对信息的特征进行线性变换时,仅保留一阶特征、二阶组合特征以及零阶特征,这里的零阶特征即为实数1,对信息的特征进行映射处理,得到对应信息的第二点击率,对第一点击率以及第二点击率进行相加,得到对应信息的初始点击率。这里的第一点击率实际是通过图3B中的因子分解机所得到的点击率,第二点击率是通过图3C中的前馈神经网络所得到的点击率,将这两者得到的点击率相加,即为对应信息的初始点击率。
在一些实施例中,步骤1021中对信息的特征进行线性处理,得到对应信息的第一点击率,可以通过以下技术方案实现,以与信息的多个稀疏排序特征分别对应的一阶项参数为权重,对多个稀疏排序特征进行加权处理,得到对应信息的一阶项输出;将信息的多个稠密排序特征进行两两相乘,得到对应信息的多个组合特征;以与信息的多个组合特征分别对应的二阶项参数为权重,对多个组合特征进行加权处理,得到对应信息的二阶项输出;将零阶项参数、一阶项输出以及二阶项输出相加,得到对应信息的第一点击率。
在一些实施例中,参见公式1,因子分解机的模型包含一阶项、二阶项和偏执项,这里的偏执项即为w0,一阶项线性组合了所有特征,二阶项组合了所有二阶的特征,此时二阶权重组成了一个稀疏矩阵,利用矩阵分解的思想,稀疏矩阵可以分解为两个低维矩阵乘积,其中,xi为特征,ei为xi对应的隐向量,ej为xj对应的隐向量,F位因子分解机的模型输出。
在一些实施例中,步骤1022中对信息的特征进行映射处理,得到对应信息的第二点击率,可以通过以下技术方案实现,将信息的稠密排序特征与第一次降序排序隐层参数相乘,得到对应信息的第一隐层特征;对第一隐层特征从第一隐层特征空间映射到初始点击率空间,得到对应信息的第二点击率;其中,零阶项参数、一阶项参数、二阶项参数、隐向量以及隐层参数是以推荐日志中的用户特征、信息特征、环境特征以及真实点击率作为训练样本,以最小化真实点击率与预测得到的初始点击率之间的误差为目标进行训练得到的。
在一些实施例中,第一次降序排序隐层参数即为图3C中前馈神经网络中的隐藏层的参数,零阶项参数为上述公式1中的w0,一阶项参数为上述公式1中的wi,二阶项参数为上述公式1中的(ei,ej),即隐向量的点积,对第一隐层特征从第一隐层特征空间映射到初始点击率空间,实际上是通过全连接层实现的空间转移,通过全连接层中的参数实现上述映射,全连接层的参数也可以通过训练得到。
在步骤103中,服务器在第一次降序排序结果中选取排序在前的且满足多样性条件的多个信息,以形成第二信息集合。
在一些实施例中,从第一次降序排序结果中选取排序在前的且满足多样性条件的多个信息的目的是收集一定数目的点击率高且具有多样性的信息,以便于在满足用户兴趣的同时,避免类似信息集中出现,这里的第二信息集合中的信息数目可以根据推荐信息请求决定,推荐信息请求中可以携带本次请求希望获取的信息数目(信息推荐数目阈值),在进行信息收集形成第二信息集合时,会收集对应信息数目的信息。
基于图5A,参见图5C,图5C是本发明实施例提供的基于人工智能的信息推荐方法的流程示意图,步骤103中在第一次降序排序结果中选取排序在前的且满足多样性条件的多个信息,以形成第二信息集合,可以通过步骤1031-1032实现,将结合图5C示出的步骤1031-1032进行说明。
在步骤1031中,将第一信息集合中点击率最高的信息转移到第二信息集合。
在步骤1032中,继续将第一信息集合中点击率最高且满足多样性条件的信息转移到第二信息集合,直到第二信息集合的信息数目达到信息推荐数目阈值。
在一些实施例中,步骤1032中将第一信息集合中点击率最高且满足多样性条件的信息转移到第二信息集合,可以通过以下技术方案实现,当第一信息集合中点击率最高的信息以及第二信息集合中的信息满足多样性条件时,将点击率最高的信息从第一信息集合转移到第二信息集合;其中,多样性条件规定了属于相同类目的信息的最大数目。
在一些实施例中,多样性条件规定了属于相同类目的信息的最大数目,这里的类目可以为一级兴趣(类别L1),二级兴趣(类别L2)以及标签,例如,一级兴趣可以为“美食”、“经济”“体育”等等,例如,多样性条件中规定了属于“美食”的信息不超过3个,属于“经济”的信息不超过3个,属于“体育”的信息不超过3个,二级兴趣为在某个一级兴趣下的子兴趣,比如,一级兴趣“体育”包括“篮球”,“足球”等多个二级兴趣,多样性条件中规定了属于“篮球”的信息不超过2个,属于“足球”的信息不超过2个,标签是通过自动提取或人工标注等方法,给信息标注的标签,比如,“大学”,“苹果”,“手机”,一个信息可以对应一个或多个标签,多样性条件中规定了标签为“大学”的信息不超过1个,标签为“苹果”的信息不超过1个,标签为“手机”的信息不超过1个,通过这样的规则将第一信息集合中的信息按照初始点击率的降序排列顺序进行依次遍历,首先将第一信息集合中点击率最高的信息转移到第二信息集合,作为第二信息集合中的首位信息,接着判断第一信息集合中当前点击率最高的信息若是加入到第二信息集合之后,第二信息集合中的信息是否满足多样化条件,若是满足,这将该信息加入到第二信息集合,若是不满足,则跳过该信息,继续进行遍历。
在一些实施例,可以存在如下情形,即当遍历完第一信息集合中的所有信息之后,第二信息集合中的数目并没有达到足够数目,这时可以参考上文实施例重新执行信息召回处理,并进行第一次降序排序处理以及基于多样化条件的信息转移处理。
在步骤104中,服务器将第二信息集合中每个信息的特征、以及第二信息集合中多个信息之间的关联性进行融合,形成每个信息的关联特征。
基于图5A,参见图5D,图5D是本发明实施例提供的基于人工智能的信息推荐方法的流程示意图,步骤104中将第二信息集合中每个信息的特征、以及第二信息集合中多个信息之间的关联性进行融合,形成所中每个信息的关联特征,可以通过步骤1041-1045实现,将结合图5D示出的步骤1041-1045进行说明。
针对第二信息集合中的每个信息执行以下步骤1041-1045。
在步骤1041中,将对应信息的多个稠密排序特征进行相加处理,得到用于预测信息的最终点击率的初始特征。
这里的多个稠密排序特征是分别对应不同特征类型的稠密排序特征,将这些稠密排序特征进行相加,从而得到进行最终点击率预测的初始特征,参见图4,这里的初始特征即为图4中的F,图4中的多个F分别对应多个信息。
在步骤1042中,对信息的初始特征进行线性变换处理,得到分别对应初始特征的查询向量、键向量以及值向量。
这里所进行的线性变换处理,实际上是将初始特征分别与三个参数矩阵相乘,得到对应初始特征的查询向量Q、键向量K以及值向量V。
在步骤1043中,将信息的查询向量与第二信息集合中的每个信息的键向量进行点乘处理,得到信息与第二信息集合中的每个信息的相关度。
这里将信息的查询向量与第二信息集合中的每个信息的键向量进行点乘处理,包括与自己的键向量进行点乘处理以及与第二信息集合中其他信息的键向量进行点乘处理,即所得到的相关度包括自相关度,还包括与其他信息的相关度。
在步骤1044中,对相关度进行基于最大似然函数的归一化处理,得到对应值向量的权重。
这里对相关度进行基于最大似然函数的归一化处理之前还可以将其除以键向量长度的平方根,这里的基于最大似然函数的归一化处理即是将相关度或者除以键向量长度的平方根后得到的结果代入Softmax函数,从而得到第二信息集合中的每个信息对正在处理的信息的贡献权重。
在步骤1045中,基于权重对值向量进行加权处理,得到对应信息的关联特征。
这里,通过得到的第二信息集合中的每个信息对正在处理的信息的贡献权重,对正在处理的信息的值向量进行加权处理,从而得到的正在处理的信息的关联特征包含有上下文关联性,从而实现了将第二信息集合中每个信息的特征、以及第二信息集合中多个信息之间的关联性进行融合的过程。在上述对特征以及关联性进行融合的过程中,步骤1042的实施过程中与初始特征相乘的三个参数矩阵均是需要通过训练得到的。
在步骤105中,服务器基于第二信息集合中每个信息的关联特征预测对应的最终点击率,并基于预测的最终点击率对第二信息集合进行第二次降序排序处理。
在一些实施例中,步骤105中基于第二信息集合中每个信息的关联特征预测对应的最终点击率,可以通过以下技术方案实现,针对第二信息集合中的每个信息执行以下处理:将信息的关联特征与第二次降序排序隐层参数相乘,得到对应信息的第二隐层特征;对第二隐层特征从第二隐层特征空间映射到最终点击率空间,得到对应信息的最终点击率;其中,第二次降序排序隐层参数是以推荐日志中的用户特征、信息特征、环境特征以及真实点击率作为训练样本,以最小化真实点击率与预测得到的初始点击率之间的误差为目标进行训练得到的。
在一些实施例中,第二次降序排序隐层参数即为图4中第一个全连接层的参数,对第二隐层特征从第二隐层特征空间映射到最终点击率空间,实际上是通过全连接层实现的空间转移,通过全连接层中的参数实现上述映射,全连接层的参数也可以通过训练得到。
在步骤106中,服务器基于第二次降序排序结果执行推荐操作,以响应推荐信息请求。
在一些实施例中,服务器按照第二次降序排序结果执行推荐操作,即按照第二次降序排序结果中的第二信息集合中信息的顺序,将信息按照该顺序呈现在用户终端的界面上,接收到用户对所呈现的信息所采取的用户行为,将这些信息以及用户行为上报到服务器的用户画像服务中,以生成训练样本,进一步优化训练初始点击率预测模型以及最终点击率预测模型。
参见图5E,图5E是本发明实施例提供的基于人工智能的信息推荐方法的交互流程图,服务器接收终端上报的包含信息曝光和点击率等数据的日志(201),生成对应的训练样本并训练初始点击率以及最终点击率预测模型(202),服务器接收终端发送的推荐信息请求(203),从信息数据库中筛选出与用户相关的信息,形成第一信息集合(204),使用初始点击率预测模型对信息进行初始点击率预测和以及第一次降序排序(205),服务器对经过第一次降序排序处理的信息进行多样性收集(206),生成收集到的每个信息的关联特征(207),并基于关联特征进行最终点击率预测和第二次降序排序处理(208),基于第二次降序排序处理结果执行推荐操作(209),并在用户所使用的终端上呈现经过两次排序得到的信息(210)。
下面,将说明本发明实施例在新闻推荐场景中的示例性应用。
排序模块和打散模块是新闻推荐***的重要组成部分,排序模块的任务是根据用户的特征和文章的特征预测用户对文章的点击概率,打散模块的作用是为了保证新闻展示的多样性,避免同类型的文章集中出现,相关技术中的第一次排序服务主要采用逐项预测方法,对于全局特征的学习效果较差,以列表为基础的排序方法近年也有提出,但是他们仅以初始排序后的文章为基础进行第二次排序,没有考虑到在第一次排序服务中学到的特征,也没有考虑到列表中文章的多样性,为了解决这些问题,本发明实施例提供了一种基于人工智能的信息推荐方法,其是一种考虑文章多样性的列表重排序方法,在第一次排序服务后面使用多样性条件收集文章序列,同时针对文章序列使用了最终点击率预测模型,进一步提高最终点击率预测的准确性,主要流程如下:对召回的文章进行初始点击率预测,并将所有召回文章进行第一次排序;根据多样性条件从第一次排序的文章中进行从前往后的文章收集,直到收集够请求数目的文章,形成文章列表;对于收集到的文章列表,获取第一次排序服务中文章对应的多个特征,将这些特征的加和作为文章进行第二次排序的初始特征,这使得最终点击率预测模型中初始特征具有较好的区分性;将文章列表中某一文章的多个特征的加和作为初始特征输入最终点击率预测模型,最终点击率预测模型包含两部分:注意力机制模块和全连接模块,注意力机制模块学习了文章间的相关性,有利于提取文章间关系,全连接模块学习了在全列表特征下的各文章的点击率信息;基于最终点击率预测模型获得的最终点击率,对文章列表进行第二次排序,并将第二次排序结果推荐给用户。
本发明实施例提供了一种基于人工智能的信息推荐方法,其是一种考虑文章多样性的列表重排序方法,这里的文章即相当于上文中的信息,参见图7,图7是本发明实施例提供的基于人工智能的信息推荐方法的实际应用场景流程图,首先对通过召回服务获得的文章使用第一次排序服务,获得文章的预测得到的初始点击率,从而保证各个文章具有较为准确的初始点击率,为后续进行第二次排序服务提供了初始特征和初始排序结果,接着使用多样性处理服务中的多样性条件对经过第一次排序服务的文章进行收集,在不超过多样性条件的限制下,保证初始点击率高的文章优先被收集,直到收集够此次请求的文章数目,此时获得了初始的文章列表,作为推荐文章,这些文章在第一次排序服务中具有较高的点击率,同时也保证了他们满足多样性条件,接着通过第一次排序服务获取这些文章对应的特征,并进行加和处理,作为这些文章的初始特征,这使得第二次排序的初始输入即具备了较高的区分性,有利于最终点击率预测模型的训练和收敛,然后这些文章以及对应的初始特征被输入到最终点击率预测模型,最终点击率预测模型包含注意力机制模块和全连接模块,注意力机制模块捕捉了文章间的关系,使得对全局特征的学习更加充分,全连接模块学习了单个文章在文章序列中的点击率信息,使得点击率的预测更为准确,通过最终点击率预测模型对文章列表进行了最终点击率预测,最后基于最终点击率预测模型输出的预测结果对文章列表进行再次排序,以得到最终结果呈现给用户。
新闻推荐***中共提供四个主要服务,用户画像服务,召回服务,第一次排序服务和第二次排序服务,用户画像服务基于用户过去点击的文章和注册信息,累积和储存了用户的长期、短期兴趣和一些基础信息,为召回和排序提供了依据,召回服务负责从海量文章中初步寻找用户潜在感兴趣的文章,第一次排序服务和多样性处理服务为召回的文章进行第一次排序并按照一定的规则呈现给用户,通常第一次排序服务和多样性处理服务是完全分开的,第一次排序服务中的模型只负责对单个样本的点击率进行学习,多样性处理服务只是对文章进行简单的收集,这样造成文章列表中的所有信息不能有效地被学习,使得第一次排序服务中的模型对全局信息的感知能力较差,从而严重影响该模型的排序效果,进而会造成推荐的文章不能准确的代表用户的兴趣,严重影响了用户对资讯类产品的体验,为了解决这些问题,通过本发明实施例提供的基于人工智能的信息推荐方法,实现对第一次排序服务得到的文章进行多样性处理以及第二次排序处理。
在接收到用户的推荐信息请求时,召回服务尽可能多的挖掘用户潜在感兴趣的文章,召回后的文章经过第一次排序服务的初始点击率预测,然后通过第二次排序服务中的最终点击率预测模型进行文章及特征收集,以进行最终点击率预测,并基于最终点击率进行第二次排序处理,最终将文章推荐给用户,用户根据自己的喜好点击阅读后,真实点击数据(行为统计)将上报到信息推荐***,进行不同模块的优化和更新,以不断提高用户的体验。
参见图8,图8是本发明实施例提供的基于人工智能的信息推荐方法的模型结构示意图,召回模块获得的所有文章经过第一次排序服务获得初始点击率,同时为文章的特征获得了隐向量,接着基于多样性条件对第一次排序服务后的文章进行收集(文章收集),接着将收集后的某一文章对应的特征输入到第二次排序服务所使用的模型,以对这些文章进行最终点击率预测,最后基于最终点击率对收集的文章进行第二次排序,最终点击率预测模型包含注意力机制模块和全连接模块,注意力机制模块捕捉了文章间的关系,使得对全局特征的学习更加充分,全连接模块学习了单个文章在文章序列中的点击率信息,使得点击率的预测更为准确,这里的第一次排序服务中可以通过因子分解机的方式以及神经网络的方式进行初始点击率预测,在因子分解机方式提出了交叉项,并利用隐向量解决了交叉项参数稀疏的问题,参见公式1,因子分解机的模型包含一阶项、二阶项和偏执项,一阶项线性组合了所有特征,二阶项组合了所有二阶的特征,此时二阶权重组成了一个稀疏的矩阵,利用矩阵分解的思想,稀疏矩阵可以分解为两个低维矩阵的乘积,其中ei为xi对应的隐向量,神经网络模型将因子分解机模型生成的隐向量进行拼接作为神经网络模型的输入,然后通过多层全连接层来提取神经网络模型的高阶信息,从而生成点击率,并将其与因子分解机模型输出的点击率相加用来预测对应文章的初始点击率。
为了避免每次推荐给用户的文章中密集出现相似的内容,新闻推荐***一般会在第一次排序服务后引入一个多样性处理模块,通过一些显式规则进行文章收集,以确保相似的文章不重复出现,收集规则参见下表。
这些规则是在一刷信息中出现相同类别和标签的最大个数,一级类为类别大目(如,娱乐),总共大约有几十个,二级类为类别小目(如,中国明星),总共约有几百个,标签是用来区分文章的小的主题(如,陈晓旭),大约有100万个左右,本文在收集过程中,将上文初始排序的文章按照预测点击率从高到低排序,然后从前往后收集,遇到不能满足多样性条件的文章,则跳过对应文章直到收集够本次请求数目的文章为止,这些文章作为本次进行推荐的文章,接着,使用最终点击率预测模型对这些文章进行了第二次排序。
按照多样性条件收集的文章是最终推荐给用户的文章列表,但是预测初始点击率时并不能很好的学习全局信息,此时文章列表中文章的顺序并不是最优的,因此对文章列表进一步使用了最终点击率预测模型,对整个列表中的文章进行最终点击率预测,在最终点击率预测模型的训练过程中,最终点击率预测模型首先从第一次排序服务获取以新闻客户端实际推荐给用户的文章列表作为输入,即经过第一次排序服务以及多样性处理生成但未经过第二次排序的文章列表,以用户的真实点击行为和预测分数进行损失计算,在线上使用时,最终点击率预测模型根据文章列表中各个文章的预测最终点击率进行重新排列推荐给用户,最终点击率预测模型的输入是多样性处理模块所收集的文章在第一次排序服务中对应的特征加和,即每个文章对应的多个特征相加作为文章的初始特征,最终点击率预测模型包含注意力机制模块和全连接模块。
文章在推荐给用户时不是独立的,经过多样性处理模块会得到多个文章,上下文的文章会影响当前文章的点击,通过注意力机制,将Query向量(Q)和键-值对向量(Key-Value pairs)映射到输出上,进行特征间关系的学习,其中Query、Key、Value都是向量,输出是Value中所有向量的加权,权重是由Query和每个Key计算得到的,1)计算Query和Key的相似度;2)将得到的相似度进行基于最大似然函数的归一化处理作为权重;3)针对计算出来的权重,对所有的Value进行加权求和处理,得到注意力向量,此时注意力向量即包含了当前特征和其他特征的关系。
参见图8,通过注意力网络将每个向量F转化为了中间的隐层特征(注意力向量T),每个隐层特征中均包含了其他文章的信息,使得每个文章对应的信息表达更加充分,接着最终点击率预测模型使用了全连接层用来学习文章列表中文章的点击率信息,最终点击率预测模型使用了两层全连接网络,通过第一层全连接网络基于每个文章的注意力向量进行深层语义学习,接着使用全连接层将向量的维度降为1维用来学习点击率,为了使点击率的分数S落在0和1之间,将全连接层输出的1维数据使用了激活函数进行转化。
在线上使用时,召回模块基于用户的点击行为和用户画像为用户从文章池中选取用户潜在的感兴趣的文章,接着所用文章经过排序模型获得初始点击率,然后基于预测得到的初始点击率进行第一次排序和多样性文章收集,在收集过程中保证不破坏多样性条件,收集后的文章被输入到重排模型,该文章在第一次排序服务中对应的特征的加和作为初始特征F被输入到重排模型,最终点击率预测模型对这些文章进行最终点击率预测,最后基于最终点击率预测模型的最终点击率对收集后的文章进行第二次排序,然后将排序后的文章呈现给用户。
本发明实施例提供的基于人工智能的信息推荐方法对第一次排序服务后的第二次排序处理进行了优化,在保证多样性条件的情况下收集文章,然后使用最终点击率预测模型对收集后的文章进行重新排序,最终点击率预测模型以用户真实点击行为以及所点击的文章序列为样本进行训练,考虑了整个文章序列的全局信息,使得模型对最终点击率的预测更为准确,输出的结果更加能代表用户兴趣,提高了用户体验。
下面继续说明本发明实施例提供的基于人工智能的信息推荐装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的基于人工智能的信息推荐装置255中的软件模块可以包括:请求接收模块2551,用于接收推荐信息请求;第一排序模块2552,用于基于第一信息集合中每个信息的特征预测对应的初始点击率,并基于预测的初始点击率对所述第一信息集合进行第一次降序排序处理;多样性处理模块2553,用于在第一次降序排序结果中选取排序在前的且满足多样性条件的多个信息,以形成第二信息集合;关联特征生成模块2554,用于将所述第二信息集合中每个信息的特征、以及所述第二信息集合中多个信息之间的关联性进行融合,形成所述每个信息的关联特征;第二排序模块2555,用于基于所述第二信息集合中每个信息的关联特征预测对应的最终点击率,并基于预测的最终点击率对所述第二信息集合进行第二次降序排序处理;推荐模块2556,用于基于第二次降序排序结果执行推荐操作,以响应所述推荐信息请求。
在一些实施例中,在基于第一信息集合中每个信息的特征预测对应的初始点击率之前,第一排序模块2552,还用于:针对第一信息集合中的每个信息,获取与多个特征类型分别对应的第一排序特征;其中,特征类型包括以下至少之一:用户特征;信息特征;环境特征;对第一排序特征进行基于隐向量的压缩处理,得到与多个特征类型分别对应的第二排序特征;对与多个特征类型分别对应的第二排序特征进行拼接处理,得到对应信息的第二排序特征。
在一些实施例中,第一排序模块2552,还用于:以分别对应第一排序特征的多个嵌入维度值的隐向量为权重,对第一排序特征的多个嵌入维度值进行加权处理,得到与多个特征类型分别对应的第二排序特征;其中,与多个特征类型分别对应的第二排序特征用于对信息进行点击率预测。
在一些实施例中,第一排序模块2552,还用于:针对第一信息集合中每个信息执行以下处理:对信息的特征进行线性处理,得到对应信息的第一点击率;对信息的特征进行映射处理,得到对应信息的第二点击率;对第一点击率以及第二点击率进行相加,得到对应信息的初始点击率。
在一些实施例中,第一排序模块2552,还用于:以与信息的多个第一排序特征分别对应的一阶项参数为权重,对多个第一排序特征进行加权处理,得到对应信息的一阶项输出;将信息的多个第二排序特征进行两两相乘,得到对应信息的多个组合特征;以与信息的多个组合特征分别对应的二阶项参数为权重,对多个组合特征进行加权处理,得到对应信息的二阶项输出;将零阶项参数、一阶项输出以及二阶项输出相加,得到对应信息的第一点击率。
在一些实施例中,第一排序模块2552,还用于:将信息的第二排序特征与第一次降序排序隐层参数相乘,得到对应信息的第一隐层特征;对第一隐层特征从第一隐层特征空间映射到初始点击率空间,得到对应信息的第二点击率;其中,零阶项参数、一阶项参数、二阶项参数、隐向量以及隐层参数是以推荐日志中的用户特征、信息特征、环境特征以及真实点击率作为训练样本,以最小化真实点击率与预测得到的初始点击率之间的误差为目标进行训练得到的。
在一些实施例中,多样性处理模块2553,还用于:将第一信息集合中点击率最高的信息转移到第二信息集合;继续将第一信息集合中点击率最高且满足多样性条件的信息转移到第二信息集合,直到第二信息集合的信息数目达到信息推荐数目阈值。
在一些实施例中,多样性处理模块2553,还用于:当第一信息集合中点击率最高的信息以及第二信息集合中的信息满足多样性条件时,将点击率最高的信息从第一信息集合转移到第二信息集合;其中,多样性条件规定了属于相同类目的信息的最大数目。
在一些实施例中,关联特征生成模块2554,还用于:针对第二信息集合中的每个信息执行以下处理:将对应信息的多个第二排序特征进行相加处理,得到用于预测信息的最终点击率的初始特征;对信息的初始特征进行线性变换处理,得到分别对应初始特征的查询向量、键向量以及值向量;将信息的查询向量与第二信息集合中的每个信息的键向量进行点乘处理,得到信息与第二信息集合中的每个信息的相关度;对相关度进行基于最大似然函数的归一化处理,得到对应值向量的权重;基于权重对值向量进行加权处理,得到对应信息的关联特征。
在一些实施例中,第二排序模块2555,还用于:针对第二信息集合中的每个信息执行以下处理:将信息的关联特征与第二次降序排序隐层参数相乘,得到对应信息的第二隐层特征;对第二隐层特征从第二隐层特征空间映射到最终点击率空间,得到对应信息的最终点击率;其中,第二次降序排序隐层参数是以推荐日志中的用户特征、信息特征、环境特征以及真实点击率作为训练样本,以最小化真实点击率与预测得到的初始点击率之间的误差为目标进行训练得到的。
在一些实施例中,基于人工智能的信息推荐装置255还包括:训练模块2557,用于:从推荐日志中获取第二信息集合中未经过第二次降序排序处理的信息样本以及对应的真实点击率,组成最终点击率训练样本集合;将最终点击率训练样本集合中的信息样本,在最终点击率预测模型中进行正向传播,并在最终点击率预测模型中进行反向传播,以更新最终点击率预测模型的参数;其中,最终点击率预测模型包括注意力机制网络结构以及多个全连接层。
在一些实施例中,训练模块2557,还用于:初始化最终点击率预测模型,并执行以下处理:将每个信息样本在最终点击率预测模型的各个层中进行正向传播,以对最终点击率训练样本集合包括的信息样本进行最终点击率预测,得到对应信息样本的预测的最终点击率;初始化包括信息样本以及对应信息样本的预测的最终点击率的损失函数;确定信息样本的预测的最终点击率和真实点击率之间的误差,并根据损失函数在最终点击率预测模型中反向传播误差,以确定损失函数取得最小值时最终点击率预测模型的参数变化值,并基于参数变化值更新最终点击率预测模型的参数。
本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的基于人工智能的信息推荐方法,例如,如图5A-5E示出的基于人工智能的信息推荐方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本发明实施例对第一次排序中对应各个信息的特征进行关联融合处理,使得对应各个信息的关联特征不仅表征各自信息,还能够表征该信息与其他信息的关联度,从而使得基于该关联特征所进行的第二次排序是考虑到全局信息的影响,使得推荐结果更加符合用户兴趣;通过对信息进行多样性处理,使得推荐结果能够对兴趣点广泛覆盖,从而实现了细粒度的精确推荐。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。