发明内容
本申请实施例提供了一种资源推荐方法及相关设备,可以综合考虑用户的画像数据以及近期历史行为数据,为用户推荐最贴合用户需求的资源。
本申请实施例第一方面提供一种资源推荐方法,所述方法包括:
根据目标用户的资源推荐请求确定所述目标用户的候选资源集合;
获取所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据;
对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据进行处理,得到所述目标用户对应的资源特征以及N个指标,N为大于1的正整数;
通过多目标模型对所述资源特征以及所述N个指标进行处理,以输出所述候选资源集合对应的N组资源评分,所述N组资源评分与所述N个指标相对应,所述多目标模型为通过对所述目标用户的资源特征集合、所述N个指标以及与所述资源特征集合对应的资源评分进行训练得到的,所述目标用户的资源特征集合为对所述目标用户对应的历史候选资源集合、所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据进行处理得到的;
根据所述N组资源评分将所述候选资源集合向所述目标用户推荐。
可选地,所述对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据处理,得到所述目标用户对应的资源特征以及N个指标包括:
对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据进行数据过滤、数据清洗及数据拼接,以得到预处理数据;
通过标准化格式对所述预处理数据进行处理,得到所述资源特征以及所述N个指标,所述标准化格式与所述多目标模型相对应。
可选地,所述根据所述N组资源评分将所述候选资源集合向所述目标用户推荐包括:
确定所述N个指标中每个指标的权重;
根据所述N个指标中每个指标的权重以及所述N组资源评分确定所述候选资源集合中每个候选资源的综合评分;
将所述候选资源集合中所述综合评分大于第一预设值的候选资源向所述目标用户推荐。
可选地,所述方法还包括:
获取所述目标用户对应的历史候选资源集合;
获取所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据;
对所述历史候选资源集合、所述用户画像数据以及所述近期历史行为数据进行处理,得到所述目标用户对应的资源特征集合以及M个指标,其中,M为大于1的正整数;
对所述资源特征集合以及所述M个指标进行学习,得到所述多目标模型。
可选地,所述多目标模型包括共享层、M个门控网络、第一神经网络层、神经因子分解机NFM以及第二神经网络层,所述对所述资源特征集合以及所述M个指标进行训练,得到所述多目标模型包括:
步骤1、通过所述共享层对所述资源特征集合进行降维处理;
步骤2、将降维处理后的所述资源特征集合分别输入所述M个门控网络、所述第一神经网络层以及所述NFM,得到M个第一输出以及第二输出,所述M个第一输出与所述M个门控网络以及所述第一神经网络层相对应,所述第二输出与所述NFM相对应,所述M个第一输出与所述M个指标相对应;
步骤3、通过第二神经网络层对所述M个第一输出和所述第二输出进行学习,得到M组资源评分,所述M组资源评分与所述M个指标相对应;
步骤4、基于反向传播算法,通过所述M组资源评分对所述M个门控网络、所述第一神经网络层、所述NFM以及所述第二神经网络层进行调整;
迭代执行步骤1至步骤4,直至达到预设条件时,得到所述多目标模型。可选地,所述方法还包括:
判断迭代次数是否达到第二预设值,若是,则确定达到所述预设条件;
或,
判断所述多目标模型的目标函数是否收敛,若是,则确定达到所述预设条件。
本申请实施例第二方面提供了一种资源推荐装置,包括:
确定单元,用于根据目标用户的资源推荐请求确定所述目标用户的候选资源集合;
获取单元,用于获取所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据;
第一处理单元,用于对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据进行处理,得到所述目标用户对应的资源特征以及N个指标,N为大于1的正整数;
第二处理单元,用于通过多目标模型对所述资源特征以及所述N个指标进行处理,以输出所述候选资源集合对应的N组资源评分,所述N组资源评分与所述N个指标相对应,所述多目标模型为通过对所述目标用户的资源特征集合、所述N个指标以及与所述资源特征集合对应的资源评分进行训练得到的,所述目标用户的资源特征集合为对所述目标用户对应的历史候选资源集合、所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据进行处理得到的;
推荐单元,用于根据所述N组资源评分将所述候选资源集合向所述目标用户推荐。
可选地,所述第一处理单元具体用于:
对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据进行数据过滤、数据清洗及数据拼接,以得到预处理数据;
通过标准化格式对所述预处理数据进行处理,得到所述资源特征以及所述N个指标,所述标准化格式与所述多目标模型相对应。
可选地,所述推荐单元具体用于:
确定所述N个指标中每个指标的权重;
根据所述N个指标中每个指标的权重以及所述N组资源评分确定所述候选资源集合中每个候选资源的综合评分;
将所述候选资源集合中所述综合评分大于第一预设值的候选资源向所述目标用户推荐。
可选地,所述第二处理单元还用于:
获取所述目标用户对应的历史候选资源集合;
获取所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据;
对所述历史候选资源集合、所述用户画像数据以及所述近期历史行为数据进行处理,得到所述目标用户对应的资源特征集合以及M个指标,其中,M为大于1的正整数;
对所述资源特征集合以及所述M个指标进行学习,得到所述多目标模型。
可选地,所述多目标模型包括共享层、M个门控网络、第一神经网络层、神经因子分解机NFM以及第二神经网络层,所述第二处理单元对所述资源特征集合以及所述M个指标进行训练,得到所述多目标模型包括:
步骤1、通过所述共享层对所述资源特征集合进行降维处理;
步骤2、将降维处理后的所述资源特征集合分别输入所述M个门控网络、所述第一神经网络层以及所述NFM,得到M个第一输出以及第二输出,所述M个第一输出与所述M个门控网络以及所述第一神经网络层相对应,所述第二输出与所述NFM相对应,所述M个第一输出与所述M个指标相对应;
步骤3、通过第二神经网络层对所述M个第一输出和所述第二输出进行学习,得到M组资源评分,所述M组资源评分与所述M个指标相对应;
步骤4、基于反向传播算法,通过所述M组资源评分对所述M个门控网络、所述第一神经网络层、所述NFM以及所述第二神经网络层进行调整;
迭代执行步骤1至步骤4,直至达到预设条件时,得到所述多目标模型。
可选地,所述第二处理单元还用于:
判断迭代次数是否达到第二预设值,若是,则确定达到所述预设条件;
或,
判断所述多目标模型的目标函数是否收敛,若是,则确定达到所述预设条件。
本申请实施例第三方面提供了一种计算机装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述各方面所述的操作。
本申请实施例第六方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的操作。
综上所述,可以看出,本申请提供的实施例中,资源推荐装置可以获取用户的候选资源集合、用户画像数据以及近期历史行为数据,并对候选资源集合、用户画像数据以及近期历史行为数据进行处理,得到资源特征集合以及N个指标,之后根据提前训练好的多目标模型对资源特征集合以及N个指标进行处理,输出N组资源评分,并根据N组资源评分将候选资源集合向目标用户推荐。这样,在对用户对应的候选资源集合进行评分时,综合考虑了用户的画像数据、近期历史行为数据以及与用户相关联的多个指标,这样在根据评分向用户推荐时,可以保证向用户推荐的资源是最贴合用户需求的资源。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
点击通过率(Click-Through-Rate,CTR)预估是推荐系统中的重点环节之一。多年来,在科研领域及工业领域针对该方向有不同层面的研究和演化。一方面,一种基础的方向是学习用户点击行为背后隐含的特征组合。单一的手工特征设计及验证需要较长的时间和实验成本。多种特征的组合和自学习方法已经层出不穷。众多的实践已经充分证明有效的低阶组合特征或者高阶组合特征会对最终的CTR产生影响。另一方面,随着工业界对推荐系统的实践积累,越来越多的企业不再使用单一目标衡量推荐效果。例如,在新闻推荐系统中不仅考虑文章的点击率,同时考虑用户阅读文章的停留时长,以及对文章的转发评论等指标。又如,在视频推荐系统中,不单以提升视频的点击率为目标,播放完成度、分享率、转发评论以及点赞次数都会重点考虑,包括减少用户负反馈次数也是推荐目标之一。因此,推荐系统已经从单目标排序策略逐渐转变为多目标的排序策略。
下面对本申请涉及到的名词进行解释:
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
请参阅图1A以及图1B,图1A为本申请实施例提供的一个界面示意图,图1B为本申请实施例提供的另一个界面示意图,用户与待推荐资源(例如新闻、文章或视频等)的交互方式包括:用户对资源的点击率、阅读时长、对作者的赞赏、留言、评论、对内容的收藏、分享给好友或朋友圈的概率等等,如图1A中的关闭按钮101,图1B中102区域的阅读量,区域103的点赞量、区域104的写留言以及区域105中的“转发、分享以及收藏”,目前的单一目标并不能很好的表征用户的喜好,并不能为用户推荐贴合用户行为的资源。有鉴于此,本申请提供了一种资源推荐方法,结合用户的画像数据以及近期历史行为数据对与用户对应的候选资源集进行资源评分,在对资源评分时,可以综合考虑多项评分指标,由此,在根据评分向用户进行推荐,可以为用户推荐最贴合用户需求的资源,提高用户体验。
请参阅图2,图2为本申请实施例提供的资源推荐方法的网络架构图,包括:用户201、终端界面202、特征提取203、多目标模型204以及在线推荐205,其中,当用户201在终端界面202上请求资源推荐时,可以通过特征提取203对用户201的用户画像数据、候选资源集以及近期历史行为数据进行特征提取,得到资源特征以及用户201对应的指标,之后将资源特征以及用户201对应的指标输入多目标模型204,得到候选资源集对应的资源得分,之后在线推荐205根据候选集资源对应的资源得分得到向用户推荐的资源列表,那个在终端界面202上显示,其中,该多目标模型204为提前通过对目标用户的资源特征集合、N个指标以及与资源特征集合对应的资源评分进行训练得到的,目标用户的资源特征集合为对目标用户对应的历史候选资源集合、目标用户的用户画像数据、目标用户的近期历史行为数据进行处理得到的。这样,结合用户的画像数据以及近期历史行为数据对与用户对应的候选资源集进行资源评分,并且在对资源评分时,可以综合考虑多项评分指标,由此,在根据评分向用户进行推荐,可以为用户推荐最贴合用户需求的资源,提高用户体验。
下面从资源推荐装置的角度对本申请提供的资源推荐方法进行说明,该资源推荐装置可以是服务器,也可以是终端设备。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。终端设备可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意设备,
请参阅图3,图3为本申请实施例提供的资源推荐方法的网络架构图,包括:
301、根据目标用户的资源推荐请求确定目标用户的候选资源集合。
本实施例中,资源推荐装置可以首先获取到目标用户的资源推荐请求,之后根据目标用户的资源推荐请求确定目标用户的候选资源集合,此处具体不限定获取目标用户的候选资源集合的方式,例如可以提前根据目标用户的用户画像训练的一个候选资源集合的获取模型,之后根据该模型来获取到候选资源集合。
一个实施例中,用户在终端设备的显示界面浏览新闻或者观看视频时,对终端设备的显示界面进行操作,资源推荐装置可以收到该操作,并根据该操作生成资源推荐请求。其中,生成资源推荐请求的操作至少包括手势操作、滑动操作、点击操作以及声控操作中的一种,例如当用户对终端设备的显示界面进行点击操作时,资源推荐装置可以接收到该点击操作,此时,该点击操作即生成操作指令,也就是说,可以提前定义操作指令,例如提前定义滑动操作为生成资源推荐请求的操作(如左滑操作、右滑操作、上滑操作以及下滑操作等等),或者定义点击操作为生成资源推荐请求的操作(如单击操作或双击操作等等),或者定义手势操作为生成资源推荐请求的操作(如向左摆动手腕或手臂,向右摆动手腕或手臂,如四根手指收缩操作或者三根手指上滑操作等等),或者定义声控操作为生成资源推荐请求的操作(如收到调整刷新的声音或者其他的提前定义的刷新的声音),上述仅为举例说明,并不代表对生成资源推荐请求的限定。
302、获取目标用户的用户画像数据以及目标用户的近期历史行为数据。
本实施例中,资源推荐装置可以获取到目标用户的用户画像数据以及目标用户的近期历史行为数据,此处的近期历史行为数据,例如可以是目标用户在当前时刻之前1天内的行为数据,该行为数据可以包括用户浏览、点击、阅读、转发、点赞和评论等行为。此处具体不限定获取用户画像数据以及近期历史行为数据的方式,用户近期的历史行为与用户的标识关联存储在数据库中,可以通过用户的标识既可以获取到用户的近期历史行为,该用户画像可以通过模型来得到用户画像。
303、对候选资源集合、用户画像数据以及目标用户的近期历史行为数据进行处理,得到目标用户对应的资源特征以及N个指标。
本实施例中,资源推荐装置在得到候选资源集合、用户画像数据以及目标用户的近期历史行为数据之后,可以对候选资源集合、用户画像数据以及目标用户的近期历史行为数据进行处理(也可以采用NLP的方式进行处理),得到目标用户对应的资源特征以及N个指标,具体如下:
资源推荐装置可以对候选资源集合、用户画像数据以及目标用户的近期历史行为数据进行数据过滤、数据清洗及数据拼接,以得到预处理数据;
通过标准化格式对预处理数据进行处理,得到资源特征以及N个指标,标准化格式与多目标模型相对应。
也就是说,资源推荐装置可以首先根据用户画像数据以及目标用户的近期历史行为数据确定N个指标,也即确定与用户相关联的推荐指标,例如时根据点击率来推荐,还是分享率以及点赞率综合来推荐,之后对候选资源集合进行特征进行数据过滤、数据清洗以及数据拼接,得到预处理数据,并通过与多目标模型对应的标准化格式对预处理数据进行处理,得到资源特征,该标准化格式为多目标模型支持的数据格式。
需要说明的是,上述的数据过滤包括但不限于:比较运算、范围运算、空值匹配、字符匹配以及逻辑匹配,数据清洗是指发现并纠正数据文件中可识别的错误,包括检查数据一致性,处理无效值和缺失值等,拼接是将若干个存放在不同单元(表)中的数据整合到一个单元(表)中的操作。
需要说明的是,资源推荐装置还可以不根据用户画像数据以及近期历史行为数据确定N个指标,可以向用户展示指标集合,并根据用户的对指标集合的选择指令得到N个指标,当然也还可以通过其他的方式确定,具体不做限定。
304、通过多目标模型对资源特征以及N个指标进行处理,以输出候选资源集合对应的N组资源评分。
本实施例中,资源推荐装置可以通过提前训练好的多目标模型对资源特征以及N个指标进行处理,以输出候选资源集合对应的N组资源评分,其中,N组资源评分与N个指标项对应,也即有多少个指标,就会有多少组资源评分,例如有两个指标,分别是点击率以及分享率,那么点击率对应了一组资源评分,分享率也对应了一组资源评分。
需要说明的是,该多目标模型为通过对目标用户的资源特征集合、N个指标以及资源特征集合对应的资源评分进行训练得到的,该目标用户的资源特征集合为对目标用户对应的历史候选资源集合、目标用户的用户画像数据以及目标用户的近期历史行为数据进行处理得到的。
305、根据N组资源评分将候选资源集合向目标用户推荐。
本实施例中,资源推荐装置在得到N组资源评分之后,可以根据N组资源评分将候选资源集合向目标用户推荐。具体的,资源推荐装置可以确定N个指标中每个指标的权重(例如有两个指标,分别是点击率和分享率,则分别确定点击率的权重以及分享率的权重,如以点击率为主指标,权重为80%,以分享率为次指标,权重为20%,此处仅为举例说明,并不代表对其的限定),之后根据N个指标中每个指标的权重以及N组资源评分确定候选资源集合中每个候选资源的综合评分(例如候选资源集合中包括A、B、C、D以及E,5个资源,其中点击率对应的资源得分分别为A=8、B=6、C=10、D=7、E=3,分享率对应的资源得分分别为:A=4、B=3、C=5、D=10、E=8,则A资源对应的综合得分为A=8*80%+4*20%=7.2,以此类推可以得到B资源对应的综合得分为5.4,C资源对应的综合得分为9,D资源对应的综合得分为7.6,E资源对应的综合得分为4),最后将候选资源集合中综合评分大于第一预设值的候选资源向目标用户推荐,例如该第一预设值为7,则将A资源、C资源以及D资源向目标用户推荐,可以按照升序排列或降序排列的方式向用户推荐,也可以是随机排列向用户推荐,具体不做限定。
综上所述,可以看出,本申请提供的实施例中,资源推荐装置可以获取用户的候选资源集合、用户画像数据以及近期历史行为数据,并对候选资源集合、用户画像数据以及近期历史行为数据进行处理,得到资源特征集合以及N个指标,之后根据提前训练好的多目标模型对资源特征集合以及N个指标进行处理,输出N组资源评分,并根据N组资源评分将候选资源集合向目标用户推荐。这样,在对用户对应的候选资源集合进行评分时,综合考虑了用户的画像数据、近期历史行为数据以及与用户相关联的多个指标,这样在根据评分向用户推荐时,可以保证向用户推荐的资源是最贴合用户需求的资源。
下面结合图4对本申请实施例中多目标模型的训练流程进行说明,请参阅图4,图4为本申请实施例提供的多目标模型的训练流程示意图,包括:
401、获取目标用户对应的历史候选资源集合。
本实施例中,资源推荐装置可以获取目标用户对应的历史候选资源集合,该历史候选集合为与用户相关联的训练数据,例如用户之前看过的资源的同类资源的集合,和,用户有评论过的资源的同类资源的集合,或者是用户有点赞过的资源的同类资源的集合,当然也还可以包括其他的资源的集合,具体不限定。
402、获取目标用户的用户画像数据以及目标用户的近期历史行为数据。
本实施例中,资源推荐装置可以获取目标用户的用户画像数据以及目标用户的近期历史行为数据。该用户画像数据指的是根据用户人口统计学信息、社交关系、偏好习惯和消费行为等信息而抽象出来的标签化画像。构建用户画像的核心工作即是给用户贴“标签”,而标签中部分是根据用户的行为数据直接得到,部分是通过一系列算法或规则挖掘得到。该近期历史行为数据例如当前时刻之前的1天内的历史行为数据,如用户在当前时刻之前的1天内的浏览、点击、阅读、转发、点赞和评论等互动行为数据。
403、对历史候选资源集合、用户画像数据以及近期历史行为数据进行处理,得到目标用户对应的资源特征集合以及M个指标。
本实施例中,资源推荐装置可以对历史候选资源集合、用户画像数据以及近期历史行为数据进行处理,得到目标用户对应的资源特征集合以及M个指标,具体的,资源推荐装置可以对历史候选资源集合、用户画像数据以及目标用户的近期历史行为数据进行数据过滤、数据清洗及数据拼接,以得到预处理数据;通过标准化格式对预处理数据进行处理,得到资源特征以及M个指标(其中,M为大于1的正整数),标准化格式与多目标模型相对应。资源推荐装置可以首先根据用户画像数据以及目标用户的近期历史行为数据确定M个指标,也即确定与用户相关联的推荐指标,例如是根据点击率来推荐,还是分享率以及评论率综合来推荐,之后对历史候选资源集合进行数据过滤、数据清洗以及数据拼接,得到预处理数据,并通过与多目标模型对应的标准化格式对预处理数据进行处理,得到资源特征。
需要说明的是,上述的数据过滤包括但不限于:比较运算、范围运算、空值匹配、字符匹配以及逻辑匹配,数据清洗是指发现并纠正数据文件中可识别的错误,包括检查数据一致性,处理无效值和缺失值等,拼接是将若干个存放在不同单元(表)中的数据整合到一个单元(表)中的操作。
也就是说,资源推荐装置可以获取到与目标用户关联的训练数据,例如将用户浏览、点击、阅读、转发、点赞和评论等行为日志通过实时流收集起来,与用户的唯一标识进行关联,形成一条条完整的行为互动日志。其中,该互动日志不但包含用户在每种行为类型下的正负反馈(该正负反馈,例如浏览的话,则正反馈为浏览,负反馈为不浏览),同时包含用户画像数据、历史行为数据以及内容类别标签(指按照学习目标将样本标定为正负样本,将多个业务关心的指标与主指标一同作为学习目标,每个指标分别有各自的标签)等信息,之后,资源推荐装置对近期历史行为、用户画像数据和历史候选资源集合进行数据过滤、数据清洗及数据拼接,并按照标准化格式加工成可用于多目标模型训练的特征文件。
404、对资源特征集合以及M个指标进行学习,得到多目标模型。
本实施例中,在得到资源特征集合以及M个指标之后,资源推荐装置可以对资源特征集合以及M个指标进行学习,得到多目标模型,此处通过神经因子分解机(NeuralFactorization Machines,NFM)结构以及MMoE(Multi-gate Mixture-of-Experts)模型结构综合对资源特征集合以及M个指标进行训练,得到多目标模型。下面结合图5进行具体说明:
请参阅图5,图5为本申请实施例提供的多目标模型的结构示意图,该多目标模型包括共享层501、第一神经网络层502、M个门控网络503、NFM层504以及第二神经网络层505,资源推荐装置对资源特征集合以及M个指标进行训练,得到多目标模型包括:
步骤1、通过所述共享层对所述资源特征集合进行降维处理;
步骤2、将降维处理后的所述资源特征集合分别输入所述M个门控网络、所述第一神经网络层以及所述NFM,得到M个第一输出以及第二输出,所述M个第一输出与所述M个门控网络以及所述第一神经网络层相对应,所述第二输出与所述NFM相对应,所述M个第一输出与所述M个指标相对应;
步骤3、通过第二神经网络层对所述M个第一输出和所述第二输出进行学习,得到M组资源评分,所述M组资源评分与所述M个指标相对应;
步骤4、基于反向传播算法,通过所述M组资源评分对所述M个门控网络、所述第一神经网络层、所述NFM以及所述第二神经网络层进行调整;
迭代执行步骤1至步骤4,直至达到预设条件时,得到所述多目标模型。
本实施例中,图5中以两个指标(task=2)为例的模型结构,每条训练样本(也即历史候选资源集合中的每个资源对应的资源特征)使用共享型embedding结构(也即共享层501),保证了学习到的特征参数对不同指标是一致的,同时避免了独立优化单个指标存在的训练数据不充分和特征稀疏的问题。首先将资源特征集合输入共享层501,对资源特征集合进行降维处理,Embedding过程主要目的是将稀疏特征进行降维。之后,将共享层501的输出分别作为门控网络503A以及门控网络503B、NFM层504以及第一神经网络层502的输入,并得到相应的输出,其中,门控网络503A对应一个指标,门控网络503B对应一个指标。在NFM层504内将embedding的输出特征进行两两做element-wise product,输出k维向量,负责了特征之间second-order(低阶)组合。每个指标对应一个门控网络,通过输出权重的不同实现对第一神经网络层502输出的不同利用,其中,第一神经网络层502包括神经网络5021、神经网络5022以及神经网络5023。另一方面,embedding也作为experts层的输入,每个expert对应一个简单的神经网络(也即第一神经网络)。Expert与门控网络的结合可以捕捉到指标之间的区分性和相关性。
门控网络503A的输出与神经网络5021、神经网络5022以及神经网络5023的输出进行综合计算得到第一输出,门控网络503B的输出与神经网络5021、神经网络5022以及神经网络5023的输出进行综合计算得到第一输出,共享层501输出作为NFM层504的输入,NFM层504对应了第二输出(图5中以两个第二输出为例进行说明),之后将两个第一输出以及两个第二输出分别输入第二神经网络层505,该第二神经网络层也包括了两个神经网络(一个指标对应一个神经网络),最终得到两个指标对应的资源评分。本申请中Tower(也即第二神经网络层505)以深度神经网络的形式实现,每个task享有独立的神经网络结构,这样有利于各指标按照自身标签分布做更好的数据拟合。每个task的神经网络的层数及每层的节点数需要进行预先设计,不同task的神经网络除首层的节点必须相同外,中间层设计可以不同。网络中的层与层之间以全链接的方式构造。两个层之间的计算方式如下:
其中,i表示第i个指标,k表示task对应的神经网络的第k层。
表示第i个指标第k层的节点数值。g()表示激活函数(Activation functions),是在线性运算外加的非线性变换。
与
是从第k-1层到第k层间的权重及偏置参数,也是训练过程中需要学习的参数。上述仅表述了task对应的神经网络的前向反馈过程,训练中还需要反向传播算法进行权重和偏执参数的更新。
需要说明的是,多目标模型训练停止的条件为达到预设条件时,停止训练,具体的,判断训练次数是否达到第二预设值,若是,则确定达到预设条件,终止多目标模型的训练;或,判断目标函数的参数是否收敛,若目标函数的参数熟练,则确定达到预设条件,则终止模型训练。
综上所述,可以看出,本申请中,通过用户画像数据、近期历史行为数据以及历史候选资源集合进行训练,得到多目标模型。在使用该多目标模型向用户推荐资源时,考虑了用户的画像数据以及近期历史行为数据,同时还会考虑多个指标,保证向用户推荐的资源是最贴合用户需求的资源。
请参阅图6,图6为本申请实施例提供的资源推荐装置的一个实施例示意图,包括:
确定单元601,用于根据目标用户的资源推荐请求确定所述目标用户的候选资源集合;
获取单元602,用于获取所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据;
第一处理单元603,用于对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据进行处理,得到所述目标用户对应的资源特征以及N个指标,N为大于1的正整数;
第二处理单元604,用于通过多目标模型对所述资源特征以及所述N个指标进行处理,以输出所述候选资源集合对应的N组资源评分,所述N组资源评分与所述N个指标相对应,所述多目标模型为通过对所述目标用户的资源特征集合、所述N个指标以及与所述资源特征集合对应的资源评分进行训练得到的,所述目标用户的资源特征集合为对所述目标用户对应的历史候选资源集合、所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据进行处理得到的;
推荐单元605,用于根据所述N组资源评分将所述候选资源集合向所述目标用户推荐。
可选地,所述第一处理单元603具体用于:
对所述候选资源集合、所述用户画像数据以及所述目标用户的近期历史行为数据进行数据过滤、数据清洗及数据拼接,以得到预处理数据;
通过标准化格式对所述预处理数据进行处理,得到所述资源特征以及所述N个指标,所述标准化格式与所述多目标模型相对应。
可选地,所述推荐单元605具体用于:
确定所述N个指标中每个指标的权重;
根据所述N个指标中每个指标的权重以及所述N组资源评分确定所述候选资源集合中每个候选资源的综合评分;
将所述候选资源集合中所述综合评分大于第一预设值的候选资源向所述目标用户推荐。
可选地,所述第二处理单元604还用于:
获取所述目标用户对应的历史候选资源集合;
获取所述目标用户的用户画像数据以及所述目标用户的近期历史行为数据;
对所述历史候选资源集合、所述用户画像数据以及所述近期历史行为数据进行处理,得到所述目标用户对应的资源特征集合以及M个指标,其中,M为大于1的正整数;
对所述资源特征集合以及所述M个指标进行学习,得到所述多目标模型。
可选地,所述多目标模型包括共享层、M个门控网络、第一神经网络层、神经因子分解机NFM以及第二神经网络层,所述第二处理单元604对所述资源特征集合以及所述M个指标进行训练,得到所述多目标模型包括:
步骤1、通过所述共享层对所述资源特征集合进行降维处理;
步骤2、将降维处理后的所述资源特征集合分别输入所述M个门控网络、所述第一神经网络层以及所述NFM,得到M个第一输出以及第二输出,所述M个第一输出与所述M个门控网络以及所述第一神经网络层相对应,所述第二输出与所述NFM相对应,所述M个第一输出与所述M个指标相对应;
步骤3、通过第二神经网络层对所述M个第一输出和所述第二输出进行学习,得到M组资源评分,所述M组资源评分与所述M个指标相对应;
步骤4、基于反向传播算法,通过所述M组资源评分对所述M个门控网络、所述第一神经网络层、所述NFM以及所述第二神经网络层进行调整;
迭代执行步骤1至步骤4,直至达到预设条件时,得到所述多目标模型。可选地,所述第二处理单元604还用于:
判断迭代次数是否达到第二预设值,若是,则确定达到所述预设条件;
或,
判断所述多目标模型的目标函数是否收敛,若是,则确定达到所述预设条件。
综上所述,可以看出,本申请提供的实施例中,资源推荐装置可以获取用户的候选资源集合、用户画像数据以及近期历史行为数据,并对候选资源集合、用户画像数据以及近期历史行为数据进行处理,得到资源特征集合以及N个指标,之后根据提前训练好的多目标模型对资源特征集合以及N个指标进行处理,输出N组资源评分,并根据N组资源评分将候选资源集合向目标用户推荐。这样,在向用户推荐资源是,考虑了用户的画像数据以及近期历史行为数据,同时还会考虑多个指标,保证向用户推荐的资源是最贴合用户需求的资源。
上面从模块化功能实体的角度对本申请实施例中的资源推荐装置进行了描述,下面从硬件处理的角度分别对本申请实施例中的服务器进行描述。
本申请实施例还提供了另一种资源推荐装置,如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该资源推荐装置可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以资源推荐装置为手机为例:
图7示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图7,手机包括:射频(Radio Frequency,RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wireless fidelity,WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一手机,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块770,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行手机的各种功能和处理数据。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
手机还包括给各个部件供电的电源790(比如电池),优选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器780还用于执行上述由资源推荐装置所执行的操作。
图8是本申请实施例提供的一种服务器结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:centralprocessing units,英文简称:CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
上述实施例中由资源推荐装置所执行的步骤可以基于该图8所示的服务器结构。
本申请实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述资源推荐方法以及所述动作输出深度训练模型的学习方法。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述资源推荐方法以及所述动作输出深度训练模型的学习方法。
本申请实施例还提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述所述资源推荐方法以及所述动作输出深度训练模型的学习方法的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行上述所述资源推荐方法以及所述动作输出深度训练模型的学习方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。