一种信息推荐方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及人工智能领域中的推荐技术,尤其涉及一种信息推荐方法、装置、设备及计算机可读存储介质。
背景技术
目前,在推荐领域中,机器学习得到了广泛应用,比如,通过机器学习,能够预测待推荐信息的点击率;然而,在实际的推荐应用中,对于待推荐信息的可推荐性,通常是从多个角度进行预测的,比如,向用户推荐点击率高且长时间观看的视频,从而,也就需要训练多目标任务的网络模型,以实现对待推荐信息的多角度预测,进一步提升信息推荐的效果。
一般来说,在训练多目标的网络模型时,通常针对一个目标任务采用多个模型结构组合进行训练,以得到与该目标任务对应的推荐模型,进而利用该推荐模型针对该目标任务对待推荐信息进行推荐指数的预测。然而,上述针对单个目标任务的推荐模型的训练过程中,多个模型结构分别占用的权重是相同的;由于不同的模型结构具备不同的推荐指数预测能力,从而当多个模型结构分别占用的权重相同时,会导致训练完成的推荐模型的精准度差;进而利用该推荐模型进行信息推荐时,信息推荐的效果差。
发明内容
本发明实施例提供一种信息推荐方法、装置、设备及计算机可读存储介质,能够提升信息推荐的效果。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种信息推荐方法,包括:
确定多个目标任务,并获取训练样本;所述训练样本为待推荐样本信息和标注推荐指数的样本对;所述多个目标任务对应多个预设推荐模型;
利用所述多个预设推荐模型中每个预设推荐模型,预测对所述待推荐样本信息执行当前目标任务时的推荐指数,得到第一预测推荐指数;所述当前目标任务为所述多个目标任务中与所述每个预设推荐模型对应的目标任务,所述每个预设推荐模型包括多个预设模型和用于对所述多个预设模型的输出进行一一对应融合的多个第一预设权重;
基于所述标注推荐指数和所述第一预测推荐指数,持续训练所述每个预设推荐模型,以调整所述多个第一预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型,从而得到与所述多个目标任务对应的多个推荐模型;所述多个目标模型为对所述多个预设模型持续训练得到的,所述多个目标权重为对所述多个第一预设权重持续调整得到的;
当获取到待推荐信息时,利用所述多个推荐模型对所述待推荐信息进行信息推荐,得到目标推荐结果。
本发明实施例提供一种信息推荐装置,包括:
样本获取模块,用于确定多个目标任务,并获取训练样本;所述训练样本为待推荐样本信息和标注推荐指数的样本对;所述多个目标任务对应多个预设推荐模型;
预测模块,用于利用所述多个预设推荐模型中每个预设推荐模型,预测对所述待推荐样本信息执行当前目标任务时的推荐指数,得到第一预测推荐指数;所述当前目标任务为所述多个目标任务中与所述每个预设推荐模型对应的目标任务,所述每个预设推荐模型包括多个预设模型和用于对所述多个预设模型的输出进行一一对应融合的多个第一预设权重;
训练模块,用于基于所述标注推荐指数和所述第一预测推荐指数,持续训练所述每个预设推荐模型,以调整所述多个第一预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型,从而得到与所述多个目标任务对应的多个推荐模型;所述多个目标模型为对所述多个预设模型持续训练得到的,所述多个目标权重为对所述多个第一预设权重持续调整得到的;
应用模块,用于当获取到待推荐信息时,利用所述多个推荐模型对所述待推荐信息进行信息推荐,得到目标推荐结果。
本发明实施例提供一种信息推荐设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的信息推荐方法。
本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的信息推荐方法。
本发明实施例具有以下有益效果:由于训练多目标任务对应的多个预设推荐模型中每个预设推荐模型的过程中,将每个预设推荐模型中的多个预设模型的输出所占用的权重(即多个第一预设权重)作为了训练参数进行训练,使得得到的训练完成的包括多个目标模型和多个目标权重的每个推荐模型,能够利用多个目标权重对多个目标模型的输出进行合理配比,实现精准地获得待推荐信息的目标推荐结果的技术方案,从而提升了信息推荐的效果。
附图说明
图1是一种示例性的多目标任务的推荐模型;
图2是本发明实施例提供的信息推荐系统100的一个可选的架构示意图;
图3是本发明实施例提供的服务器200的结构示意图;
图4是本发明实施例提供的信息推荐方法的一个可选的流程示意图;
图5是本发明实施例提供的示例性的推荐模型的结构示意图;
图6是本发明实施例提供的信息推荐方法的另一个可选的流程示意图;
图7是本发明实施例提供的信息推荐方法的再一个可选的流程示意图;
图8是本发明实施例提供的信息推荐方法的再又一个可选的流程示意图;
图9是本发明实施例提供的信息推荐系统100的另一个可选的架构示意图;
图10是本发明实施例提供的区块链网络600中区块链的结构示意图;
图11是本发明实施例提供的区块链网络600的功能架构示意图;
图12是本发明实施例提供的信息推荐方法的示例性应用示意图;
图13是本发明实施例提供的示例性的信息推荐对应的功能应用示意图;
图14是本发明实施例提供的示例性的信息推荐的应用场景的示意图;
图15是本发明实施例提供的示例性的多目标多结构的推荐模型的结构示意图;
图16是本发明实施例提供的示例性的权重融合示意图一;
图17是本发明实施例提供的示例性的权重融合示意图二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本发明实施例所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明实施例中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)点击通过率(Click Through Rate,CTR),在搜索引擎中输入关键字后进行搜索,按竞价等因素把与关键字相关的信息按顺序进行排列出来,用户选择自己感兴趣的信息进行点击时,把一个信息的所有搜索出来的次数作为总次数,把用户点击该信息的次数占总次数的比例作为CTR,又称为点击率。
2)特征组,指一个特征所对应的特征值构成的组合,比如,一个人的性别特征的特征组为{男}或者{女},联系方式特征的特征组为{手机号1,手机号2,座机号},常去地点特征的特征组为{地点1,地点2,地点3}。
3)人工智能(Artificial Intelligence,AI),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
4)机器学习(Machine Learning,ML),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能;重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习和归纳学习等技术。
5)人工神经网络,是一种模仿生物神经网络结构和功能的数学模型,本文中人工神经网络的示例性结构包括深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)。其中,DNN内部的神经网络层可以分为三类,输入层,隐藏层和输出层,并且层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连;在信息推荐领域中,能够对用户进行合理的兴趣推测和衍生,提升内容多样性。
6)损失函数,又称代价函数,是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
7)逻辑回归(Logistic Regression,LR),是广义线性模型,使用Logistic变换将函数值映射到0~1区间,当将LR应用于CTR预估时,映射后的函数值就是CTR的预估值;在信息推荐领域中,利用LR能够根据用户历史行为实现精准地推荐。
8)因子分解机(Factorization Machine,FM),基于特征之间的关联关系,进行特征交叉的机器学习模型;在信息推荐领域中,利用FM能够实现特征自动显式交叉,有效提升模型的特征挖掘水平,降低因粗细特征工程而耗费的时间和人力成本。
9)嵌入向量(Embedding Vector,简称Embedding),将大型稀疏向量转换为保留语义关系的低维空间的技术。
10)哈达马积,指两个相同维度向量或矩阵对应元素相乘得出同样维度的向量或矩阵的运算方式。
11)区块链(Blockchain),由区块(Block)形成的加密的、链式的交易的存储结构。
12)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
随着人工智能技术的研究和进步,人工智能技术在多个领域展开了研究和应用;例如,常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗和智能客服等;随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值;比如,还可以将人工智能应用在信息推荐领域。
这里,需要说明的是,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
另外,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
一般来说,在信息流个性化推荐场景中,点击率预估是信息推荐的基础和核心的任务。所谓点击率预估,指预测用户在看见待推荐信息(文章或视频等)时进行点击阅读或观看等操作的可能性。然而,用户在信息流产品上的行为是多种多样的,除点击行为外,还包括比如,分享、收藏、评论和点赞等行为;如果对待推荐信息进行点击率预估时,如果只针对点击行为进行推荐指数的预测,能够将标题党、热门以及娱乐性内容等信息更大概率地呈现给用户,但用户其他行为比如分享、收藏、评论和点赞等行为会下级,如此,对信息流个性化推荐会产生负面影响。因此,对于待推荐对象的可推荐性,从多个角度进行预测的,比如,向用户推荐点击率高且长时间观看的视频,从而,也就需要训练多目标任务的网络模型,以实现对待推荐对象的多角度预测,进一步提升信息推荐的效果。
然而,在结合人工智能进行信息推荐时,通常采用多目标任务的网络模型对待推荐信息进行推荐指数的预测,并且,针对一个目标任务,通常采用多个模型结构组合进行训练,以得到与该目标任务对应的推荐模型,进而利用该推荐模型针对该目标任务对待推荐对象进行推荐指数的预测。然而,上述针对单个目标任务的推荐模型的训练过程中,由于不同的模型结构具备不同的推荐指数预测能力,从而当多个模型结构分别占用的权重相同时,会导致预测出的待推荐对象的推荐指数准确度低,从而信息推荐效果差。
示例性地,参见图1,图1是一种示例性的多目标任务的推荐模型,如图1所示,该多目标任务的推荐模型中包括k个目标任务:目标任务1-1、目标任务1-2、……和目标任务1-k,每个目标任务所对应的模型的结构包括三个子模型结构,分别是LR模型结构、DNN模型结构和FM模型结构;并且,k个目标任务所对应的k个模型的结构中的FM模型结构相同,也就是说,FM模型结构在k个模型结构中共享。另外,针对每个目标任务,对待推荐信息输出的三种推荐指数是按照1:1:1的权重进行融合的。然而,在实际应用中,待推荐信息针对不同的用户所对应的推荐指数是不同的,且三个子模型结构所预测出的推荐指数所表征的推荐信息是不同的(FM能够实现特征自动显式交叉,有效提升模型的特征挖掘水平,降低因粗细特征工程而耗费的时间和人力成本;LR能够根据用户历史行为实现精准地推荐;DNN能够对用户进行合理的兴趣推测和衍生,提升推荐内容多样性),当训练好的推荐模型中将待推荐信息输出的三种推荐指数按照1:1:1的权重进行融合所确定的推荐指数,是不能体现个性化水平的,即不能实现对用户的针对性推荐,信息推荐效果差。
基于此,本发明实施例提供一种信息推荐方法、装置、设备和计算机可读存储介质,能够提升信息推荐效果,下面说明本发明实施例提供的信息推荐设备的示例性应用,本发明实施例提供的信息推荐设备可以实施为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为服务器。下面,将说明信息推荐设备实施为服务器时的示例性应用。
参见图2,图2是本发明实施例提供的信息推荐系统100的一个可选的架构示意图,为实现支撑一个信息推荐应用,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200(信息推荐设备),网络300可以是广域网或者局域网,又或者是二者的组合。
服务器200,用于确定多个目标任务,并从数据库500获取训练样本;训练样本为待推荐样本信息和标注推荐指数的样本对;多个目标任务对应多个预设推荐模型;利用多个预设推荐模型中每个预设推荐模型,预测待推荐样本信息执行当前目标任务时的推荐指数,得到第一预测推荐指数;当前目标任务为多个目标任务中与每个预设推荐模型对应的目标任务,每个预设推荐模型包括多个预设模型和用于对多个预设模型的输出进行一一对应融合的多个第一预设权重;基于标注推荐指数和第一预测推荐指数,持续训练每个预设推荐模型,以调整多个第一预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型,从而得到与多个目标任务对应的多个推荐模型;多个目标模型为对多个预设模型持续训练得到的,多个目标权重为对多个第一预设权重持续调整得到的;当从数据库500中获取到待推荐信息时,利用多个推荐模型对待推荐信息进行信息推荐,得到目标推荐结果,并通过网络300向终端400发送针对待推荐信息的目标推荐结果。
终端400,用于通过网络300从服务器200获取针对待推荐信息的目标推荐结果,并根据目标推荐结果确定是否在图形界面410(示例性示出了图形界面410-1和图形界面410-2)显示该待推荐信息。
需要说明的是,本发明实施例也可结合区块链技术实现,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。对于本发明实施例提供的结合区块链技术的信息推荐方法,具体参见后续描述。
参见图3,图3是本发明实施例提供的服务器200的结构示意图,图3所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Onl y Memory),易失性存储器可以是随机存取存储器(RAM,Random Access M emory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
显示模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的信息推荐装置可以采用软件方式实现,图3示出了存储在存储器250中的信息推荐装置255,其可以是程序和插件等形式的软件,包括以下软件模块:样本获取模块2551、预测模块2552、训练模块2553、应用模块2554和区块链模块2555,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的信息推荐装置可以采用硬件方式实现,作为示例,本发明实施例提供的信息推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的信息推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Progra mmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmabl e Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将结合本发明实施例提供的信息推荐设备实施为服务器的示例性应用,说明本发明实施例提供的信息推荐方法。
参见图4,图4是本发明实施例提供的信息推荐方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
S101、确定多个目标任务,并获取训练样本;训练样本为待推荐样本信息和标注推荐指数的样本对;多个目标任务对应多个预设推荐模型。
在本发明实施例中,待推荐信息的推荐指数是依据不同的信息确定的,因此,信息推荐设备训练用于预测待推荐信息的推荐指数的模型时,根据待推荐信息的推荐指数所依据的不同的信息,也就能够确定多个目标任务。另外,多个目标任务中的每个目标任务均对应一个预设推荐模型,该预设推荐模型为每个目标任务的待训练模型,从而,对于多个目标任务,对应存在多个预设推荐模型,且多个目标任务与多个预设推荐模型一一对应。
信息推荐设备获得了多个目标任务之后,接下来,为了训练多个目标任务对应的多个预设推荐模型,进行训练样本的获取。在本发明实施例中,当信息推荐设备完成了针对当前目标任务的多个预设推荐模型的搭建之后,获取针对该多个预设推荐模型的训练样本,也就获得了训练样本。
需要说明的是,训练样本为待推荐样本信息和标注推荐指数的样本对,并且,训练样本用于对多个目标任务对应的多个预设推荐模型进行训练。另外,待推荐样本信息指训练样本中的待确定推荐指数的样本信息,而标注推荐指数指待推荐样本信息所对应的多个目标任务的执行结果。这里,多个目标任务表征对待推荐信息的执行操作,比如,点击、分享、评论、点赞和播放等。以及,推荐指数指待推荐信息针对目标对象(比如,单个用户或用户群)的可推荐性,即目标对象对待推荐信息执行多个目标任务中每个目标任务的可能性,易知,推荐指数越大,表明将待推荐信息向目标对象推荐时,CTR越高。
S102、利用多个预设推荐模型中每个预设推荐模型,预测对待推荐样本信息执行当前目标任务时的推荐指数,得到第一预测推荐指数;当前目标任务为多个目标任务中与每个预设推荐模型对应的目标任务,每个预设推荐模型包括多个预设模型和用于对多个预设模型的输出进行一一对应融合的多个第一预设权重。
在本发明实施例中,信息推荐设备获得了多个目标任务对应的多个预设推荐模型和训练样本之后,就能利用训练样本对多个预设推荐模型进行迭代训练了。第一次训练时,信息推荐设备将训练样本中的待推荐样本信息输入至多个预设推荐模型的每个预设推荐模型中,预测出对待推荐样本信息执行当前目标任务时的推荐指数,也就得到了第一预测推荐指数。这里,第一预测推荐指数为每个预设推荐模型预测出的目标对象对待推荐样本信息执行当前目标任务时的推荐指数,对于多个预设推荐模型则对应存在多个第一预测推荐指数。
需要说明的是,当前目标任务与每个预设推荐模型对应,也就是说,当前目标任务为多个目标任务中与每个预设推荐模型对应的目标任务。另外,这里,多个预设推荐模型的每个预设推荐模型中包括多个预设模型和多个第一预设权重,并且,多个预设模型中各预设模型结构对待推荐信息进行推荐指数预测时所针对的方向不同;多个预设模型与多个第一预设权重一一对应,多个第一预设权重中的每个第一预设权重,用于对多个预设模型中对应的预设模型的输出的大小进行控制,即多个第一预设权重用于对多个预设模型的输出进行一一对应融合。
S103、基于标注推荐指数和第一预测推荐指数,持续训练每个预设推荐模型,以调整多个第一预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型,从而得到与多个目标任务对应的多个推荐模型;多个目标模型为对多个预设模型持续训练得到的,多个目标权重为对多个第一预设权重持续调整得到的。
在本发明实施例中,信息推荐设备获得了第一预测推荐指数之后,由于第一预测推荐指数为每个预设推荐模型针对待推荐样本信息预测出执行当前目标任务的推荐指数,而标注推荐指数为待推荐样本信息的真实的推荐指数,包括了对待推荐样本信息是否执行了当前目标任务的执行结果;因此,根据标注推荐指数和第一预测推荐指数就能够获得每个预设推荐模型的预测效果,进而根据获得的预测效果对每个预设推荐模型进行迭代训练;迭代训练的过程,是通过不断的调整每个预设推荐模型中的参数来实现的,这里,多个第一预设权重属于每个预设推荐模型中的参数,因此,迭代训练的过程中,也就实现了对多个第一预设权重进行了调整;另外,迭代训练的过程,还包括对每个预设推荐模型中的多个预设模型进行训练的过程。
另外,信息推荐设备中,设置有预设训练截止条件,用于确定对多个预设推荐模型中每个预设推荐模型的迭代训练的结束;当对每个预设推荐模型进行迭代训练时,如果信息推荐设备确定满足该预设训练截止条件,则结束迭代训练,此时的模型即训练完成的每个预设推荐模型,这里称为推荐模型,从而也就完成亮度多个预设推荐模型的训练,得到了多个推荐模型;这里,推荐模型用于针对当前目标任务预测待推荐信息的推荐指数。此外,每个预设推荐模型对应的预设训练截止条件可以相同也可以不同,并且,由于每个预设推荐模型对应一个预设训练截止条件,因此,针对多个预设推荐模型,对应存在多个预设训练截止条件。以及,当满足预设训练截止条件时,结束模型训练时,对多个第一预设权重和多个预设模型的训练流程也结束,训练完成的多个第一预设权重称为多个目标权重,训练完成的多个预设模型称为多个目标模型;从而,推荐模型中包括多个目标权重多个目标模型,即多个推荐模型中的每个推荐模型中均包括多个目标权重多个目标模型。
需要说明的是,预设训练截止条件可以是当前训练的模型达到了收敛平滑,还可以是当前训练的模型对待推荐样本信息的推荐指数的预测值,与标注推荐指数之间的差异小于预设差异,等等,本发明实施例对此不作具体限定。
示例性地,参见图5,图5是本发明实施例提供的示例性的推荐模型的结构示意图,如图5所示,推荐模型5-1中包括多个目标模型5-11、…、5-1m,和多个目标权重5-2;并且,多个目标权重5-2用于对多个目标模型5-11、…、5-1m的输出进行一一对应融合,以得到输出5-3。
S104、当获取到待推荐信息时,利用多个推荐模型对待推荐信息进行信息推荐,得到目标推荐结果。
在本发明实施例中,当信息推荐设备完成了对多个目标任务对应的多个预设推荐模型的训练,获得了多个推荐模型之后,如果此时获得了待推荐信息,就能够利用多个推荐模型预测对待推荐信息执行多个目标任务时的推荐指数了,进而能够根据预测出的结果确定是否对待推荐信息进行推荐的结果,即目标推荐结果。
需要说明的是,待推荐信息中包括待推荐对象和推荐目标,待推荐对象为向推荐目标进行推荐的信息,比如,文章或视频,推荐目标推荐待推荐对象时所面向的对象,比如,用户。
可以理解的是,信息推荐设备将当前目标任务对应的推荐模型中的多个预设模型结构所对应的多个第一预设权重作为模型参数进行训练,以通过训练确定出多个预设模型的输出之间合适的权重配比,从而实现每个目标任务对应的推荐模型的个性化设置,提升多个目标任务对应的多个推荐模型的预测精准度,进而提升了待推荐信息的推荐效果。
进一步地,参见图6,图6是本发明实施例提供的信息推荐方法的另一个可选的流程示意图,如图6所示,本发明实施例中的S103还可以通过S1031-S1035实现;也就是说,信息推荐设备根据标注推荐指数和第一预测推荐指数,持续训练多个预设推荐模型,以调整多个第一预设权重,直到满足预设训练截止条件时,得到当前推荐模型,包括S1031-S1035,下面将结合图6示出的步骤进行说明。
S1031、从标注推荐指数中,确定与当前目标任务对应的目标标注推荐指数。
在本发明实施例中,由于标注推荐指数为对待推荐样本信息是否执行多个目标任务的真实结果,因此,标注推荐指数中包括多个子标注推荐指数,每个子标注推荐指数与多个目标任务中的一个目标任务对应;从而,信息推荐设备能够从标注推荐指数中,确定出与当前目标任务对应的子标注推荐指数,也就获得了目标标注推荐指数。
S1032、获取目标标注推荐指数和第一预测推荐指数之间的差异,得到损失函数。
在本发明实施例中,由于目标标注推荐指数和第一预测推荐指数之间的差异在一定程度上衡量了每个预设推荐模型的预测效果;因此,信息推荐设备在利用目标标注推荐指数和第一预测推荐指数对每个预设推荐模型进行持续训练时,是根据目标标注推荐指数和第一预测推荐指数之间的差异进行的。这里,将目标标注推荐指数和第一预测推荐指数之间的差异作为损失函数。
S1033、当损失函数不满足预设训练截止条件时,利用损失函数,训练每个预设推荐模型,以调整多个第一预设权重得到多个第二预设权重。
在本发明实施例中,当信息推荐设备获得了损失函数之后,判断损失函数是否满足预设训练截止条件,此时,预设训练截止条件指损失函数小于等于预设损失函数;如果损失函数满足预设训练截止条件,则结束持续训练流程,将此时的模型作为推荐模型;而如果损失函数不满足预设训练截止条件,则表明每个预设推荐模型的训练未完成,继续进行训练,从而,利用损失函数,调整每个预设推荐模型的参数,以对每个预设推荐模型进行训练,此时,也就完成了对每个预设推荐模型的一次训练。另外,由于多个第一预设权重属于每个预设推荐模型的参数,因此,训练过程中也对多个第一预设权重进行了调整,调整后的多个第一预设权重即多个第二预设权重。
S1034、利用训练后的每个预设推荐模型,预测对待推荐样本信息执行当前目标任务时的推荐指数,得到第二预测推荐指数。
在本发明实施例中,由于信息推荐设备对每个预设推荐模型的训练是迭代的,因此,当前完成了对每个预设推荐模型的一次训练,进入下一训练过程时,是将上一次的训练结果即训练后的每个预设推荐模型作为待训练模型的;从而信息推荐设备将待推荐样本信息输入至训练后的每个预设推荐模型中,以输出待推荐样本信息针对当前目标任务的推荐指数,此时,也就获得了第二预测推荐指数。这里,第二预测推荐指数为训练后的每个预设推荐模型预测出的目标对象对待推荐样本信息执行当前目标任务时的推荐指数,对于多个预设推荐模型则对应存在多个第二预测推荐指数。
S1035、根据目标标注推荐指数和第二预测推荐指数,持续训练训练后的每个预设推荐模型,以调整多个第二预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型。
在本发明实施例中,信息推荐设备获得了第二预测推荐指数之后,由于第二预测推荐指数为训练后的每个预设推荐模型针对待推荐样本信息预测出的推荐指数,而目标标注推荐指数为待推荐样本信息的真实的推荐指数;因此,根据目标标注推荐指数和第二预测推荐指数就能够获得训练后的每个预设推荐模型的预测效果,进而根据获得的预测效果对训练后的每个预设推荐模型进行迭代训练;而迭代训练的过程,是通过不断的调整训练后的每个预设推荐模型中的参数来实现的;这里,多个第二预设权重属于训练后的每个预设推荐模型中的参数,因此,迭代训练的过程中,也就实现了对多个第二预设权重进行了调整;以及,迭代训练的过程,信息推荐设备还对上一次训练得到的训练后的多个预设模型进行训练。
另外,信息推荐设备根据预先设置的预设训练截止条件,继续判断训练是否结束,并当信息推荐设备确定满足该预设训练截止条件时,结束迭代训练,以及将此时的模型作为推荐模型。
进一步地,本发明实施例中的S102可以通过S1021-S1023实现;也就是说,信息推荐设备利用多个预设推荐模型中每个预设推荐模型,预测对待推荐样本信息执行当前目标任务时的推荐指数,得到第一预测推荐指数,包括S1021-S1023,下面将结合各步骤进行说明。
S1021、从多个预设推荐模型的每个预设推荐模型中,获取多个预设模型和多个第一预设权重。
需要说明的是,由于多个预设推荐模型的每个预设推荐模型中包括多个预设模型和多个第一预设权重,因此,信息推荐设备能够从每个预设推荐模型中,获得多个预设模型和多个第一预设权重。
S1022、利用多个预设模型,预测对待推荐样本信息执行当前目标任务时的初始推荐指数,得到多个推荐集合。
在本发明实施例中,由于每个预设推荐模型中包括多个预设模型,以及与多个预设模型对应的多个第一预设权重;因此,信息推荐设备将待推荐样本信息输入至每个预设推荐模型中时,是先利用多个预设模型对待推荐样本信息关于当前目标任务的推荐指数进行初步预测的,所得到的预测结果即多个推荐集合。
需要说明的是,多个推荐集合与多个预设模型一一对应,也就是说,每个预设模型对待推荐样本信息关于当前目标任务的初始推荐指数均对应一个推荐集合;另外,每个推荐集合中包括至少一个元素,另外每个推荐集合可以为向量形式,比如,包括两个元素的向量。
可以理解的是,信息推荐设备将多个预设模型对待推荐样本信息的初始推荐指数设置为至少一个元素,能够将更多的信息保留至权重融合中,准确确定多个预设模型的输出分别对应的权重,从而进一步提升最终的模型的精准度。
S1023、利用多个第一预设权重,对多个推荐集合进行一一对应融合,得到第一预测推荐指数。
在本发明实施例中,由于多个第一预设权重与多个第一预设权重一一对应;因此,信息推荐设备获得的多个预设模型对待推荐样本信息的初始推荐指数即多个推荐集合,与多个第一预设权重也一一对应;,以及多个第一预设权重用于对多个预设模型的输出进行一一对应融合,多个推荐集合即多个预设模型的输出;从而,信息推荐设备将多个推荐集合与多个第一预设权重进行一一对应融合,也就得到了每个预设推荐模型对待推荐样本信息的推荐指数的预测结果,即得到了第一预测推荐指数。
进一步地,在本发明实施例中,多个预设模型为逻辑回归模型、因子分解机模型和神经网络模型中的至少两个;其中,逻辑回归模型用于从深度对待推荐信息的推荐指数进行预测,因子分解机模型用于从效果对待推荐信息的推荐指数进行预测,神经网络模型用于从广度对待推荐信息的推荐指数进行预测。
需要说明的是,信息推荐设备根据对待推荐信息进行推荐指数预测时所针对的方向,进行多个预设模型的选取;这里,信息推荐设备进行多个预设模型选取时,从逻辑回归模型、因子分解机模型和神经网络模型中选取至少两个。其中,逻辑回归模型用于从准确度方向对待推荐信息的推荐指数进行预测,比如,LR模型;因子分解机模型用于从训练性能方向对待推荐信息的推荐指数进行预测,比如FM模型;神经网络模型用于从泛化方向对待推荐信息的推荐指数进行预测,比如,DNN模型或RNN模型。
可以理解的是,由于信息推荐设备针对单个目标任务从至少两个方向选择对应的模型来搭建待训练模型,能够使得训练完成的模型具备至少两个方向的预测效果,从而提升了训练完成的模型的预测准确度。
进一步地,在本发明实施例中,多个预设模型为逻辑回归模型、因子分解机模型和神经网络模型时,S1022中信息推荐设备利用所述多个预设模型,预测对所述待推荐样本信息执行所述当前目标任务时的初始推荐指数,得到多个推荐集合,包括S10221-S10225,下面结合各步骤进行说明。
S10221、利用逻辑回归模型,对待推荐样本信息以特征组为单元,预测对待推荐样本信息执行当前目标任务时的初始推荐指数,得到第一推荐集合。
在本发明实施例中,信息推荐设备在利用每个预设推荐模型中的多个预设模型对待推荐样本信息执行当前目标任务是的初始推荐指数进行预测时,如果多个预设模型包括逻辑回归模型、因子分解机模型和神经网络模型,则逻辑回归模型、因子分解机模型和神经网络模型是分别预测对待推荐样本信息执行当前目标任务时的初始推荐指数的。其中,对应逻辑回归模型,将待推荐信息作为多个特征组对应的信息,并对待推荐样本信息以特征组为单元,预测对待推荐样本信息执行当前目标任务时的初始推荐指数,得到第一推荐集合。
S10222、对待推荐样本信息进行嵌入向量表示,得到嵌入拼接特征组。
需要说明的是,由于待推荐样本信息为稀疏矩阵,因此,在因子分解机模型和神经网络模型的第一层隐含层之前,引入一个嵌入层来完成将待推荐样本信息压缩到稠密矩阵的处理,得到嵌入拼接特征组。进而,使得因子分解机模型和神经网络模型所针对的特征为稠密矩阵,而逻辑回归模型所针对的特征为稀疏矩阵。另外,嵌入层中包括嵌入向量参数,通过嵌入向量参数使得能够将稀疏矩阵映射为稠密矩阵。
S10223、利用因子分解机模型,对嵌入拼接特征组进行特征交叉处理,以预测对待推荐样本信息执行当前目标任务时的初始推荐指数,得到第二推荐集合。
在本发明实施例中,当信息推荐设备获得了待推荐样本信息对应的嵌入拼接特征组之后,因子分解机模型也就获得了输入;当信息推荐设备将嵌入拼接特征组输入至因子分解机模型之后,因子分解机模型对嵌入拼接特征组进行特征交叉处理,也就实现了预测对待推荐样本信息执行当前目标任务时的初始推荐指数的过程,从而也就得到了第二推荐集合。
S10224、利用神经网络模型,对嵌入拼接特征组进行多维输出处理,以预测对待推荐样本信息执行当前目标任务时的初始推荐指数,得到第三推荐集合。
当信息推荐设备获得了待推荐样本信息对应的嵌入拼接特征组之后,因子分解机模型也就获得了输入;当信息推荐设备将嵌入拼接特征组输入至因子分解机模型之后,因子分解机模型对嵌入拼接特征组进行特征交叉处理,也就实现了预测对待推荐样本信息执行当前目标任务时的初始推荐指数的过程,从而也就得到了第二推荐集合。
示例性的,当神经网络模型为DNN模型时,嵌入拼接特征组的维度为G*d维,则,经过DNN模型的各个层的输出的维度依次为:G*d、hidden_n1、hidden_n2、…、n0,其中,n0为大于1的正整数。
S10225、将第一推荐集合、第二推荐集合和第三推荐集合,作为多个推荐集合。
在本发明实施例中,当信息推荐设备获得了第一推荐集合、第二推荐集合和第三推荐集合之后,将第一推荐集合、第二推荐集合和第三推荐集合组合,也就获得了多个推荐集合。
需要说明的是,由于这里多个推荐集合中所包含的集合的数量为三个,对应的,多个第一预设权重的数量也为三个。从而与S1023相应地,信息推荐设备将三个推荐集合,与分别对应的三个第一预设权重进行一一融合,得到第一预测推荐指数。
进一步地,参见图7,图7是本发明实施例提供的信息推荐方法的再一个可选的流程示意图,如图7所示,本发明实施例中S104可以通过S1041-S1044;也就是说,信息推荐设备当获取到待推荐信息时,利用所述多个推荐模型对所述待推荐信息进行信息推荐,得到目标推荐结果包括S1041-S1044,下面将结合图7示出的步骤进行说明。
S1041、从推荐模型中,获取多个目标模型和多个目标权重。
在本发明实施例中,由于完成训练的每个推荐模型中均包括多个目标模型和多个目标权重,因此,信息推荐设备能够从推荐模型中,获取到多个目标模型和多个目标权重。
S1042、利用多个目标模型,预测对待推荐信息执行多个目标任务时的初始推荐指数,得到多个初始推荐指数。
在本发明实施例中,当信息推荐设备获得了多个目标模型之后,将获取到的待推荐信息输入至多个目标模型中的每个目标模型对待推荐信息执行每个目标任务是的初始推荐指数进行预测,也就获得了初始推荐指数;而当完成多个目标模型,预测对待推荐信息执行多个目标任务时的初始推荐指数的过程时,也就得到了多个初始推荐指数。
S1043、利用多个目标权重,对多个初始推荐指数进行一一对应融合,得到目标推荐指数,从而得到与多个推荐模型对应的多个目标推荐指数。
在本发明实施例中,由于多个目标权重用于对多个目标模型的输出进行一一对应融合,而信息推荐设备获得的多个初始推荐指数即多个目标模型针对待推荐信息的输出;因此,信息推荐设备此时利用多个目标权重,对多个初始推荐指数进行一一对应融合,也就得到了目标推荐指数,即完成了利用推荐模型对待推荐信息的一个初始推荐指数的预测;当完成了利用多个推荐模型对待推荐信息的初始推荐指数的预测时,也就得到了与多个推荐模型对应的多个目标推荐指数。
S1044、根据多个目标推荐指数,确定待推荐信息的目标推荐结果。
在本发明实施例中,信息推荐设备获得了待推荐信息对应的多个目标推荐指数,也就能够根据该多个目标推荐指数,确定是否向目标对象进行推荐了,该是否向目标对象进行推荐的结果即待推荐信息的目标推荐结果。
需要说明的是,当信息推荐设备获得了目标推荐结果之后,就能够根据目标推荐结果对待推荐信息进行推荐了;这里,当目标推荐结果表征对待推荐信息进行推荐时,将目标推荐结果发送至显示设备(即本发明实施例中的终端400)进行显示;而当目标推荐结果表征不对待推荐信息进行推荐时,则结束对待推荐信息的推荐流程。
进一步地,在本发明实施例中,当S103之后,还包括S105-S106;也就是说,信息推荐设备基于所述标注推荐指数和所述第一预测推荐指数,持续训练所述每个预设推荐模型,以调整所述多个第一预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型,从而得到与所述多个目标任务对应的多个推荐模型之后,该信息推荐方法还包括S105-S106,下面将结合该步骤进行说明。
S105、获取新的训练样本;新的训练样本用于对多个推荐模型进行优化。
需要说明的是,当信息推荐设备获得了多个推荐模型时,还可以通过获取新的训练样本对多个推荐模型进行优化,以提升多个推荐模型的泛化能力。
S106、基于新的训练样本,优化多个推荐模型,得到优化后的多个推荐模型。
在本发明实施例中,当信息推荐设备获得了新的训练样本之后,能够基于新的训练样本优化多个推荐模型,以利用优化后的多个推荐模型进行信息推荐。这里,优化过程与训练得到多个推荐模型的过程类似,本发明实施例在此不再赘述。
相应地,在本发明实施例中,S104中当信息推荐设备获取到待推荐信息时,利用多个推荐模型对待推荐信息进行信息推荐,得到目标推荐结果,包括:当信息推荐设备获取到待推荐信息时,利用优化后的多推荐模型对待推荐信息进行信息推荐,得到目标推荐结果。
可以理解的是,信息推荐设备通过不断对多个推荐模型进行优化,能够提升优化后的多个推荐模型的泛化能力,进而基于优化后的多个推荐模型实现信息推荐时,能够进一步提升信息推荐的效果。
进一步地,参见图8,图8是本发明实施例提供的信息推荐方法的再又一个可选的流程示意图,如图8所示,本发明实施例中S104之后,还包括S107;也就是说,信息推荐设备利用多个推荐模型对待推荐信息进行信息推荐,得到目标推荐结果之后,该信息推荐方法还包括S107,下面将结合图8示出的步骤进行说明。
S107、将待推荐信息及对应的目标推荐结果发送至区块链网络,以使区块链网络的节点将待推荐信息及对应的目标推荐结果填充至新区块,且当对新区块共识一致时,将新区块追加至区块链的尾部。
需要说明的是,信息推荐设备将获得的目标推荐结果进行上链,如此,以保证不可篡改。
基于图8示出的信息推荐方法,参见图9,图9是本发明实施例提供的信息推荐系统100的另一个可选的架构示意图,包括区块链网络600(示例性示出了共识节点610-1至共识节点610-3)、认证中心700、业务主体800和业务主体900,下面分别进行说明。
区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络600,此时,成为区块链网络600中的客户端节点。
在一些实施例中,客户端节点可以只作为区块链网络600的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的节点的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。
区块链网络600中的节点接收来自不同业务主体(例如图9中示出的业务主体800)的客户端节点(例如,图9中示出的归属于业务主体800的客户端节点810,即信息推荐设备)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。
下面以多个业务主体接入区块链网络以实现待推荐信息及目标推荐结果的管理为例,说明区块链网络的示例性应用。
继续参见图9,管理环节涉及的业务主体800可以是基于人工智能的信息推荐系统,业务主体900可以是待推荐信息的推荐系统,从认证中心700进行登记注册获得各自的数字证书,数字证书中包括业务主体的公钥、以及认证中心700对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络600请求接入而成为客户端节点。
业务主体800的客户端节点810用于获取待推荐信息;利用多个推荐模型,预测待推荐信息的推荐指数,得到多个目标推荐指数;根据多个目标推荐指数,确定待推荐信息的目标推荐结果。将待推荐信息及对应的目标推荐结果发送至区块链网络600。
其中,将待推荐信息及对应的目标推荐结果发送至区块链网络600的操作,可以预先在客户端节点810设置业务逻辑,当产生目标推荐结果时,客户端节点810将待推荐信息及对应的目标推荐结果自动发送至区块链网络600,也可以由业务主体800的业务人员在客户端节点810中登录,手动打包待推荐信息及目标推荐结果,并将其发送至区块链网络600。在发送时,客户端节点810根据待推荐信息及目标推荐结果生成对应更新操作的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点810的数字证书、签署的数字签名(例如,使用客户端节点810的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点。
区块链网络600中的共识节点中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体800的身份,确认业务主体800是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署共识节点自己的数字签名(例如,使用共识节点610-1的私钥对交易的摘要进行加密得到),并继续在区块链网络600中广播。
区块链网络600中的共识节点接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络600中的共识节点广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交更新待推荐信息及目标推荐结果的交易,在状态数据库中添加包括待推荐信息及目标推荐结果的键值对。
业务主体900的业务人员在客户端节点910(终端400)中登录,输入信息推荐查询请求,客户端节点910根据信息推荐查询请求生成对应更新操作/查询操作的交易,在交易中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点910的数字证书、签署的数字签名(例如,使用客户端节点910的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点。其中,信息推荐查询请求用于查询待推荐信息以及对应的目标推荐结果。
区块链网络600中的共识节点中接收到交易,对交易进行验证、区块填充及共识一致后,将填充的新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易;比如,对于提交的查询某个待推荐信息的交易,从状态数据库中查询待推荐信息对应的键值对,并返回交易结果。
值得说明的是,在图9中示例性地示出了将待推荐信息及对应的目标推荐结果直接上链的过程,但在另一些实施例中,对于待推荐信息的数据量较大的情况,客户端节点810可将待推荐信息的哈希以及目标推荐结果的哈希成对上链,将原始的待推荐信息以及目标推荐结果存储于分布式文件系统或数据库。客户端节点910从分布式文件系统或数据库获取到待推荐信息以及目标推荐结果后,可结合区块链网络600中对应的哈希进行校验,从而减少上链操作的工作量。
作为区块链的示例,参见图10,图10是本发明实施例提供的区块链网络600中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图11,图11是本发明实施例提供的区块链网络600的功能架构示意图,包括应用层601、共识层602、网络层603、数据层604和资源层605,下面分别进行说明。
资源层605封装了实现区块链网路600中的各个共识节点610的计算资源、存储资源和通信资源。
数据层604封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层603封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络600中节点之间的通信,数据传播机制保证了交易在区块链网络600中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络600的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络600的权限;业务主体身份管理用于存储允许接入区块链网络600的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层602封装了区块链网络600中的共识节点对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和D POS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络600的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层601封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
参见图12,图12是本发明实施例提供的信息推荐方法的示例性应用示意图一,如图12所示,针对图13示出的应用程序中的看一看的功能应用,在该功能应用中精选栏目下所展示的文章或视频(如图14所示的文章14-1、视频14-2和文章14-3)都是经过信息推荐处理来确定的。将结合图12示出的步骤进行说明。
S201、确定点击和在看两个目标任务(多个目标任务),并根据点击和在看两个目标任务,初始LR模型、初始FM模型和初始DNN模型(多个预设模型)三个模型,点击中三个模型分别对应的初始权重1:2:2(多个第一预设权重),以及在看中三个模型分别对应的初始权重1:2:1(多个第一预设权重),训练得到多目标多结构的推荐模型(多个推荐模型)。其中,多目标多结构的推荐模型中针对点击,训练完成的三个模型(多个目标模型)所对应的权重为2:1:1(多个目标权重);针对在看,训练完成的三个模型(多个目标模型)所对应的权重为1:1:2(多个目标权重)。
需要说明的是,多目标多结构的推荐模型如图15所示,服务器(信息推荐设备)为了对待推荐文章进行CTR预估,采用人工智能技术训练用于对待推荐文章进行CTR预估的模型,也就得到了多目标多结构的推荐模型15-1,推荐模型15-1针对点击15-11和在看15-12两个目标任务。针对点击15-11这个目标任务,模型结构包括LR模型15-111、DNN模型15-112和FM模型15-113(多个目标模型),且LR模型15-111、DNN模型15-112和FM模型15-113的输出结果所对应的权重为2:1:1;针对在看15-12这个目标任务,模型结构包括LR模型15-121、DNN模型15-122和FM模型15-113(多个目标模型),且LR模型15-121、DNN模型15-122和FM模型15-113的输出结果所对应的权重为1:1:2。易知,点击15-11和在看15-12两个目标任务中共享FM模型15-113。并且,点击15-11和在看15-12两个目标任务中实现了底层共享上层分离的模型结构,这里的底层指输入层15-31和嵌入层15-32,以及嵌入拼接层15-33。
S202、获取待推荐文章对应的信息(待推荐信息),将待推荐文章对应的信息输入至多目标多结构的推荐模型中,得到推荐指数(a1,a2),即多个目标推荐指数。
其中,多目标多结构的推荐模型针对待推荐文章对应的信息获得G个特征组(即图15中的输入层15-31),首先利用图15中的嵌入层15-32对G个特征组进行处理(嵌入向量表示),由于嵌入层的嵌入向量的维度为d,则得到了G*d维向量(即图15中的嵌入拼接层15-33所对应的信息,本发明实施例中的嵌入拼接特征组)。这里,多目标多结构的推荐模型中的LR模型的输入特征仍然是G个特征组,以特征组为单位对G个特征组进行计算,输出一个G维向量,该G维向量的每一元素分别对应一个特征组,且每一元素有该元素对应的特征组中所包含的特征参数相加得来。DNN模型针对G*d维向量进行计算,最终输出包括至少两个元素的n0维向量。FM模型针对G*d维向量进行计算(特征交叉处理),其中,每个特征组对应d维向量,每个特征组对应的d维向量由该特征组中的各个特征参数对应的d维嵌入向量相加得到的;则输出向量FM如式(1)所示:
其中,e
i指G个特征组中第i个特征组的元素,e
j指G个特征组中第j个特征组的元素,
的计算方式如式(2)所示:
其中,ei1、ei2、...、eid指G个特征组中第i个特征组的d个元素,ej1、ej2、...、ejd指G个特征组中第j个特征组的d个元素,指哈达马积的计算。
这里,需要说明的是,基于三个模型LR模型15-111、DNN模型15-112和FM模型15-113所对应的权重为2:1:1,以及根据G+n0+d输出维向量(y1,y2,…,yG,y1+G,y2+G,…,yn0+G,y1+n0+G,y2+n0+G,…,yd+n0+G),构建G+n0+d维权重向量(21,22,…,2G,11+G,12+G,…,1n0+G,11+n0+G,12+n0+G,…,1d+n0+G)一一;将G+n0+d维输出向量与G+n0+d维权重向量一一对应融合(如图16和式(3)所示),也就得出了针对一个目标任务的推荐指数a1。a2的获取方法与a1的获取方法类似,本发明实施例在此不再赘述。
其中,wt,t∈(1,G+n0+d),即(21,22,…,2G,11+G,12+G,…,1n0+G,11+n0+G,12+n0+G,…,1d+n0+G)。
S203、服务器根据推荐指数(a1,a2),确定向用户A推荐待推荐文章(目标推荐结果)。
S204、将待推荐文章发送至用户A对应的终端(显示设备),以在用户A对应的终端的显示界面中显示待推荐文章来完成信息推荐。
下面,将说明本发明实施例在另一个实际的应用场景中的示例性应用。
参见图17,图17是本发明实施例提供的信息推荐方法的示例性应用示意图二,如图12所示,针对图13示出的应用程序中的看一看的功能应用,在该功能应用中精选栏目下所展示的文章或视频(如图14所示的文章14-1、视频14-2和文章14-3)都是经过信息推荐处理来确定的。将结合图17示出的步骤进行说明。
S301、确定播放、分享和在看三个目标任务(多个目标任务),并根据播放、分享和在看三个目标任务,初始LR模型、初始FM模型和初始DNN模型(多个预设模型)三个模型,播放中三个模型分别对应的初始权重1:2:2(多个第一预设权重),中三个模型分别对应的初始权重1:1:1(多个第一预设权重),以及在看中三个模型分别对应的初始权重1:2:1(多个第一预设权重),训练得到多目标多结构的推荐模型(多个推荐模型)。其中,多目标多结构的推荐模型中针对播放,,训练完成的三个模型(多个目标模型)所对应的权重为2:1:1(多个目标权重);针对播放,,训练完成的三个模型(多个目标模型)所对应的权重为1:2:1(多个目标权重);针对在看,训练完成的三个模型(多个目标模型)所对应的权重为1:1:2(多个目标权重)。
需要说明的是,多目标多结构的推荐模型同S201描述的实现过程类似,本发明实施例在此不再赘述。
S302、获取待推荐视频对应的信息(待推荐信息),将待推荐视频对应的信息输入至多目标多结构的推荐模型中,得到推荐指数(b1,b2,b3),即多个目标推荐指数。
需要说明的是,多目标多结构的推荐模型同S202描述的实现过程类似,本发明实施例在此不再赘述。
S303、根据推荐指数(b1,b2,b3),确定向用户B推荐待推荐视频(目标推荐结果)。
S304、将待推荐视频发送至用户B对应的终端(显示设备),以在用户B对应的终端的显示界面中显示待推荐视频来完成信息推荐。
下面继续说明本发明实施例提供的信息推荐装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的信息推荐装置255中的软件模块可以包括:
样本获取模块2551,用于确定多个目标任务,并获取训练样本;所述训练样本为待推荐样本信息和标注推荐指数的样本对;所述多个目标任务对应多个预设推荐模型;
预测模块2552,用于利用所述多个预设推荐模型中每个预设推荐模型,预测对所述待推荐样本信息执行当前目标任务时的推荐指数,得到第一预测推荐指数;所述当前目标任务为所述多个目标任务中与所述每个预设推荐模型对应的目标任务,所述每个预设推荐模型包括多个预设模型和用于对所述多个预设模型的输出进行一一对应融合的多个第一预设权重;
训练模块2553,用于基于所述标注推荐指数和所述第一预测推荐指数,持续训练所述每个预设推荐模型,以调整所述多个第一预设权重,直到满足预设训练截止条件时,得到包括多个目标模型和多个目标权重的推荐模型,从而得到与所述多个目标任务对应的多个推荐模型;所述多个目标模型为对所述多个预设模型持续训练得到的,所述多个目标权重为对所述多个第一预设权重持续调整得到的;
应用模块2554,用于当获取到待推荐信息时,利用所述多个推荐模型对所述待推荐信息进行信息推荐,得到目标推荐结果
进一步地,所述训练模块2553,还用于从所述标注推荐指数中,确定与所述当前目标任务对应的目标标注推荐指数;获取所述目标标注推荐指数和所述第一预测推荐指数之间的差异,得到损失函数;当所述损失函数不满足所述预设训练截止条件时,利用所述损失函数,训练所述每个预设推荐模型,以调整所述多个第一预设权重得到多个第二预设权重;利用训练后的每个预设推荐模型,预测对所述待推荐样本信息执行所述当前目标任务时的推荐指数,得到第二预测推荐指数;根据所述目标标注推荐指数和所述第二预测推荐指数,持续训练所述训练后的每个预设推荐模型,以调整所述多个第二预设权重,直到满足所述预设训练截止条件时,得到包括所述多个目标模型和所述多个目标权重的所述推荐模型。
进一步地,所述预测模块2552,还用于从所述多个预设推荐模型的所述每个预设推荐模型中,获取所述多个预设模型和所述多个第一预设权重;利用所述多个预设模型,预测对所述待推荐样本信息执行所述当前目标任务时的初始推荐指数,得到多个推荐集合;利用所述多个第一预设权重,对所述多个推荐集合进行一一对应融合,得到所述第一预测推荐指数。
进一步地,,所述多个预设模型为逻辑回归模型、因子分解机模型和神经网络模型中的至少两个;其中,所述逻辑回归模型用于从深度对所述待推荐信息的推荐指数进行预测,所述因子分解机模型用于从效果对所述待推荐信息的推荐指数进行预测,所述神经网络模型用于从广度对所述待推荐信息的推荐指数进行预测。
进一步地,所述多个预设模型为所述逻辑回归模型、所述因子分解机模型和所述神经网络模型时,所述预测模块2552,还用于利用所述逻辑回归模型,对所述待推荐样本信息以特征组为单元,预测对所述待推荐样本信息执行所述当前目标任务时的初始推荐指数,得到第一推荐集合;对所述待推荐样本信息进行嵌入向量表示,得到嵌入拼接特征组;利用所述因子分解机模型,对所述嵌入拼接特征组进行特征交叉处理,以预测对所述待推荐样本信息执行所述当前目标任务时的初始推荐指数,得到第二推荐集合;利用所述神经网络模型,对所述嵌入拼接特征组进行多维输出处理,以预测对所述待推荐样本信息执行所述当前目标任务时的初始推荐指数,得到第三推荐集合;将所述第一推荐集合、所述第二推荐集合和所述第三推荐集合,作为所述多个推荐集合。
进一步地,所述应用模块2554,还用于从所述推荐模型中,获取所述多个目标模型和所述多个目标权重;利用所述多个目标模型,预测对所述待推荐信息执行所述多个目标任务时的初始推荐指数,得到多个初始推荐指数;利用所述多个目标权重,对所述多个初始推荐指数进行一一对应融合,得到所述目标推荐指数,从而得到与所述多个推荐模型对应的多个目标推荐指数;根据所述多个目标推荐指数,确定所述待推荐信息的所述目标推荐结果。
进一步地,所述信息推荐装置255还包括区块链模块2555,用于将所述待推荐信息及对应的所述目标推荐结果发送至区块链网络,以使所述区块链网络的节点将所述待推荐信息及对应的所述目标推荐结果填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的信息推荐方法,例如,如图4示出的信息推荐方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例,由于训练多目标任务对应的多个预设推荐模型中每个预设推荐模型的过程中,将每个预设推荐模型中的多个预设模型的输出所占用的权重(即多个第一预设权重)作为了训练参数进行训练,使得得到的训练完成的包括多个目标模型和多个目标权重的每个推荐模型,能够利用多个目标权重对多个目标模型的输出进行合理配比,实现精准地获得待推荐信息的目标推荐结果的技术方案;也就是说,用于融合多个预设模型的输出的融合权重系数(即多个第一预设权重)是在模型训练过程中自动学习和调整的,能够实现多个预设模型间的融合权重系数随多个预设模型的作用大小而动态配比,以得到目标推荐结果;从而提升了信息推荐的效果。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。