具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,针对本申请实施例中涉及的名词进行简单介绍:
人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,主要涉及机器学习模型,通过机器学习模型对候选内容的额点击率进行预测,从而对候选内容集合中的候选内容进行排序,并对排序靠前的候选内容进行推荐。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
推荐系统:是指一种自动联系用户和推荐内容的推荐工具,能够在信息过载的环境中协助用户发现可能感兴趣的内容。在一些实施例中,针对目标帐号,将待推荐的候选内容输入至推荐系统后,推荐系统根据候选内容的内容特征以及目标帐号的帐号特征,确定目标帐号对候选内容进行选择的概率。如:确定目标帐号对候选内容进行选择的点击率;或者,确定目标帐号对候选内容进行浏览的转化率。
在一些实施例中,在进行内容推荐时,针对目标帐号通常通过输入候选内容集合进行推荐,候选内容集合中包括多个候选内容,针对候选内容集合中每个候选内容被目标帐号对应的用户选择的概率,对候选内容集合中的候选内容进行排序,从而基于排序的顺序对候选内容集合中的候选内容进行推荐。本申请实施例涉及的推荐系统可以应用于新闻程序、视频程序、产品购买程序等多种程序中,以实现内容的推荐。示意性的,以新闻程序为例进行说明,新闻程序中登录有目标帐号,在新闻推荐过程中,首先获取内容池内的n个候选新闻内容,n为正整数,通过推荐系统对n个候选新闻内容进行点击率预测后,得到每个候选新闻分别对应的点击率预测结果,并基于点击率预测结果对n个候选新闻进行排序后,对候选新闻进行推荐。
注意力(Attention)机制:是指基于人类视觉而衍生的聚焦方式,在通过视觉感知物体的过程中,通常不会将一个场景完整的进行浏览,而会根据需求特定注意某一部分,而Attention机制即学习在出现类似场景时,将注意力聚焦到用户会关注的部分上,Attention机制的本质即为加权。
通常,深度神经网络的多任务学习在推荐等场景中的业务应用广泛,如:在推荐系统中向用户推荐信息资讯时,不仅需要推荐用户感兴趣的信息资讯,还需要促进信息资讯阅读完成度的转化,因此需要针对点击率和转化度两种推荐任务同时建模。而对于多任务模型而言,不仅需要聚焦与任务本身相关的不同角度的特征,即平层特征,还要聚焦到与任务本身相关的不同层级的特征提取,即层级关注,从而提高多任务模型的准确性。相关技术中,通过多任务模型(Multi-gate Mixture-of-Experts,MMoE)进行候选内容的点击率预测和排序,通过共享特征向量,或者共享平层专家网络特征。
示意性的,请参考图1,其示出了相关技术中MMoE模型的结构示意图, MMoE模型通过共享底层以及门控的方式来学习多任务之间的关联关系,每个任务使用单独的门控网络,通过门控网络输出的权重对专家层(experts)的特征进行选择性利用,如图1所示,任务110对应门控网络111,任务120对应门控网络121,通过门控网络111输出的权重对专家层131、专家层132和专家层133 的特征进行选择性利用,并进行后续任务110的预测过程;以及通过门控网络 121输出的权重对专家层131、专家层132和专家层133的特征进行选择性利用,并进行后续任务120的预测过程。
然而,MMoE多任务模型对于特征层面的聚焦只关注到了平层间的特征共享(平层关注),而忽视了特征抽取后的不同层级的特征间的共享(层级关注)。
借鉴卷积神经网络(Convolutional Neural Networks,CNN)对于图像特征的抽取表示,不同层级抽取到的表示概括程度逐渐拔高,比如由下到上层依次抽取到像素、纹理、形状等,神经网络对于特征的逐层抽取也会存在这样一种逐层抽象拔高的效果。
鉴于对特征表示逐层抽象拔高的理解,本申请实施例中提供了基于层级专家网络层共享的多任务关联关系学习模型,通过对原始输入特征信息的学习得到不同任务的特征表达,将任务特征表达与层级专家网络的attention结果作为后续预测网络的输入来替换MMoE中的简单门控对于平层专家网络特征共享的方式。
示意性的,请参考图2,其示出了本申请一个示例性实施例提供的多任务模型的结构示意图,如图2所示,针对任务210和任务220分别进行任务特征提取,得到任务210对应的任务特征211和任务220对应的任务特征221,基于逐层拔高的专家网络层231、专家网络层232和专家网络层233结合任务特征211 和任务特征221进行attention分析,分别得到attention分布信息,并进行后续的任务预测,如:点击率预测或者完成度预测。
图3是本申请一个示例性实施例提供的实施环境的示意图,如图3所示,该实施环境中包括终端310和服务器320,其中,终端310和服务器320之间通过通信网络330连接。
终端310用于向服务器320发送需要进行内容推荐的内容获取请求,其中,内容推荐包括新闻内容推荐、视频内容推荐、产品内容推荐等形式中的至少一种。终端310通过通信网络330向服务器320发送内容获取请求,并指示服务器320基于内容获取请求以及终端310中登录的目标帐号的用户画像,对候选内容进行排序并推荐。
上述内容中,以终端310向服务器320发送内容获取请求以获得内容推荐为例进行说明,在一些实施例中,服务器320每隔预设时长基于用户画像从内容池中获取候选内容主动向终端310进行推荐。
服务器320中包括多任务模型321,该多任务模型321用于基于至少两种推荐任务向终端310进行候选内容的推荐。
服务器320接收到内容获取请求后,结合目标帐号的用户画像,对内容池中的候选内容进行特征提取,并通过至少两种推荐任务对应的多任务模型321 进行各个候选内容的点击率预测和/或转化度预测,从而基于预测结果向终端310 反馈推荐内容。
值得注意的是,本申请实施例提供的内容推荐方法,可以由终端实现,也可以由服务器实现,还可以由终端和服务器协同实现。也即,上述实施例中,以场景识别模型321位于服务器320中为例进行说明,在一些实施例中,上述场景识别模型321也可以配置在终端310中,或者也可以场景识别模型321中的部分网络配置在终端310中,其他部分网络配置在服务器320中。
其中,终端包括智能手机、平板电脑、便携式膝上笔记本电脑、台式计算机、智能音箱、智能可穿戴设备等终端中的至少一种,服务器可以是物理服务器,也可以是提供云计算服务的云服务器,且服务器可以实现为一台服务器,也可以是多个服务器构成的服务器集群或分布式系统。其中,当终端和服务器协同实现本申请实施例提供的方案时,终端和服务器可以通过有线或无线通信方式进行直接或间接连接,本申请实施例对此不加以限定。
以新闻内容的推荐场景为例进行说明,图4是本申请一个示例性实施例提供的新闻推荐系统的结构示意图,如图4所示,新闻推荐系统400包括四个模块:用户画像模块410,召回模块420,点击率(Click-Through-Rate)预估模块 430,重排模块440。
召回模块420从内容池401中筛选好粗排的新闻文章后输出给CTR预估模块430,CTR预估模块430对这些召回的文章进行精排序,再经过重排模块440,最终推荐给用户,其中,用户画像模块410通过用户画像对召回过程、CTR预估过程和重排过程进行辅助。其中,用户画像模块410中包括用户的兴趣标签和历史交互数据,历史交互数据是指用户在历史指定时间段内与历史新闻内容的交互数据,如:点击数据、浏览数据、收藏数据、转发数据等。
基于上述说明,图5为本申请一个示例性实施例提供的内容推荐方法的流程图,以该方法应用于服务器中为例进行说明,如图5所示,该方法包括:
步骤501,获取内容特征,内容特征为对候选内容进行特征提取得到的特征。
在一些实施例中,内容特征是通过指定的特征提取网络提取得到的。在一些实施例中,获取内容池,内容池中包括至少两个待排序的候选内容,对内容池中的候选内容进行特征提取,得到每个候选内容对应的内容特征。
其中,获取内容特征的方式包括如下方式中的至少一种:
第一,内容池中的内容定时更新,当内容池中的内容更新时,预先对内容池中的候选内容进行特征提取,得到内容特征;从而当用户需要内容推荐时,基于内容推荐请求,直接获取已提取得到的内容特征。
第二,内容池中的内容定时更新。当用户需要内容推荐时,基于内容推荐请求获取内容池中的候选内容进行特征提取,得到内容特征。
步骤502,通过任务网络对内容特征进行第一特征处理,得到任务特征。
其中,任务网络为基于候选内容的推荐任务设置的网络。
在一些实施例中,模型中包括至少两个推荐任务对应的任务网络,则通过任务网络的全连接层对内容特征进行第一特征处理,得到不同推荐任务对应的向量表达。
步骤503,通过至少两个专家网络层对内容特征进行第二特征处理,得到至少两个专家特征。
第i个专家网络层对应第i个专家特征,i为正整数。其中,至少两个专家网络层用于分别基于对应的提取概括要求对内容特征进行特征处理,其中,专家网络层是由原始输入特征映射到不同特征空间形成的神经网络,也即,每个专家网络层对应有特征空间映射方式。
在一些实施例中,至少两个专家网络层具有顺序排列的关系。其中,至少两个专家网络层,基于对内容特征进行处理时的概括程度逐层提高的顺序顺次排列。如:针对新闻内容,概括程序按照文本、语义、摘要的顺序逐层提高,则至少两个专家网络层中,由下到上按照文本、语义、摘要的顺序依次提取。其中,通过第k个专家网络层对内容特征进行第二特征处理,得到第k个专家特征后,响应于专家网络层的数量大于k,通过第k+1个专家网络层对第k个专家特征进行第二特征处理,得到第k+1个专家特征,直至得到至少两个专家特征。
示意性的,模型中包括针对文本进行特征提取的专家网络层A,针对语义进行特征提取的专家网络层B,以及针对摘要进行特征提取的专家网络层C,则当专家网络层A对内容特征进行文本特征处理后,得到专家特征a,将专家特征 a输入至专家网络层B,由专家网络层B对专家特征a进行语义特征处理后,得到专家特征b,将专家特征b输入至专家网络层C,由专家网络层C对专家网络层b进行摘要特征处理后,得到专家特征c,则专家特征a、专家特征b以及专家特征c即为通过至少两个专家网络层提取得到的至少两个专家特征。
在专家网络层A、专家网络层B和专家网络层C之间,根据三个专家网络层的排列顺序,不同层级抽取到的特征表示,概括程度逐层拔高,而上层专家网络层的输入为下层邻接专家网络层的输出。从而同时聚焦平层之间的特征共享以及不同层级之间的特征共享。
值得注意的是,上述步骤502和步骤503为两个并列的步骤,可以先执行步骤502,也可以先执行步骤503,还可以同时执行步骤502和步骤503。而步骤503中的多个专家网络层之间为逐层顺序排列的关系,根据概括程度的逐层提高而对专家网络层的排列顺序由下层到上层排列。
另外,值得注意的是,本申请实施例中,以一个专家网络中的至少两个专家网络层为例进行说明,在一些实施例中,还可以实现为多个专家网络中的至少两个专家网络层,本申请实施例对此不加以限定。
步骤504,基于任务特征和专家特征,确定推荐任务与至少两个专家网络层对应的注意力聚焦信息。
通过attention机制对任务特征和专家特征进行注意力分析,得到attention 的聚焦结果,也即,推荐任务对应至少两个专家网络层的注意力聚焦情况。
步骤505,基于注意力聚焦信息对候选内容进行推荐。
在一些实施例中,基于注意力聚焦信息对候选内容基于推荐任务进行排序,示意性的,推荐任务包括点击率预测任务,则基于注意力聚焦信息首先对候选内容的点击率进行预测,得到内容池中候选内容的点击率,从而基于点击率对内容池中的候选内容进行排序,从基于排序结果对候选内容进行推荐。
在另一个实施例中,推荐任务包括点击率预测任务和转化率预测任务,其中,转化率预测是指对用户浏览推荐内容的完成度的转化预测。
其中,点击率预测任务对应任务1,而转化率预测任务对应任务2,则基于注意力聚焦信息首先对候选内容的点击率进行预测,得到内容池中候选内容的点击率,从而针对任务1基于点击率对内容池中的候选内容进行排序;以及基于注意力聚焦信息首先对候选内容的转化率进行预测,得到内容池中候选内容的转化率,从而针对任务2基于转化率对内容池中的候选内容进行排序。最终,结合任务1中的排序结果和任务2中的排序结果得到候选内容的综合排序结果。并基于综合排序结果对候选内容进行推荐。
综上所述,本实施例提供的内容推荐方法,将推荐任务的表达向量分别与专家网络层的所有层级的表达向量做attention,得到推荐任务对于专家网络层各个层级的注意力聚焦情况,将attention的聚焦结果作为各自后续预测过程的输入,来替换MMoE中的简单门控对于平层专家特征共享的方式,来实现对于特征表达的全方位聚焦,从而提高了多任务模型的预测精度,以及提高了候选内容的推荐准确率。
在一些实施例中,通过至少两个任务网络对内容特征进行特征映射,图6 是本申请另一个示例性实施例提供的内容推荐方法的流程图,以该方法应用于服务器中为例进行说明,如图6所示,该方法包括:
步骤601,获取内容特征,内容特征为对候选内容进行特征提取得到的特征。
在一些实施例中,内容特征是通过指定的特征提取网络提取得到的。在一些实施例中,获取内容池,内容池中包括至少两个待排序的候选内容,对内容池中的候选内容进行特征提取,得到每个候选内容对应的内容特征。
步骤602,通过至少两个任务网络对内容特征进行第一特征处理,得到至少两个任务特征。
第m个任务网络对应第m个任务特征,m为正整数,至少两个任务网络为基于候选内容的至少两个推荐任务设置的网络,且第m个任务网络对应第m个推荐任务。
其中,任务网络为基于候选内容的推荐任务设置的网络;也即,候选内容对应有至少两个推荐任务,针对每个推荐任务设置至少一个任务网络进行特征映射。示意性的,以新闻推荐场景为例进行说明,候选新闻内容对应有点击率任务和转化率任务,则任务网络中包括基于点击率任务设置的第一网络,以及包括基于转化率任务设置的第二网络。分别通过第一网络和第二网络对内容特征进行第一特征处理,得到第一网络对应的第一任务特征,以及第二任务对应的第二任务特征。其中,第一网络和第二网络中包括通过样本数据学习训练的神经网络全连接层。其中,样本数据可以是用户的历史内容交互数据。
步骤603,通过至少两个专家网络层对内容特征进行第二特征处理,得到至少两个专家特征。
第i个专家网络层对应第i个专家特征,i为正整数。其中,至少两个专家网络层用于分别基于对应的提取概括要求对内容特征进行特征处理,其中,专家网络层是由原始输入特征映射到不同特征空间形成的神经网络,也即,每个专家网络层对应有特征空间映射方式。
值得注意的是,上述步骤602和步骤603为两个并列的步骤,可以先执行步骤602,也可以先执行步骤603,还可以同时执行步骤602和步骤603。也可以针对至少两个任务网络和至少两个专家网络进行交替执行,本申请实施例对此不加以限定。
步骤604,基于第m个任务特征和至少两个专家特征,确定第m个推荐任务与至少两个专家网络层对应的注意力聚焦信息。
分别确定至少两个任务特征中,每个任务特征与至少两个专家特征之间的注意力分析结果,也即,确定至少两个推荐任务中,每个推荐任务与至少两个专家网络层对应的注意力聚焦信息。
示意性的,以新闻推荐场景为例,候选内容对应点击率任务和转化率任务,则提取点击率任务对应的第一任务特征,以及提取转化率任务对应的第二任务特征,从而将第一任务特征与至少两个专家特征做attention,确定点击率任务与至少两个专家网络层对应的注意力聚焦信息;将第二任务特征与至少两个专家特征做attention,确定转化率任务与至少两个专家网络层对应的注意力聚焦信息。
步骤605,基于注意力聚焦信息对候选内容进行推荐。
可选地,针对第m个推荐任务,将至少两个专家网络层所有层级上的 attention聚焦结果拼接后,输入至第m个推荐任务对应的预测网络模型中,得到第m个推荐任务对应的输出结果。
示意性的,请参考如下公式一,其表达了推荐任务的推荐方式:
公式一:yk=hk(concat(Attentionk(tk,E)))
其中,yk表示推荐任务的输出结果,hk表示隐藏层,即预测网络模型结构中的隐藏层,concat表示对attention聚焦信息的拼接,E表示专家网络层各个层级输出的专家特征对应的表达向量,tk表示第k个任务特征,Attentionk(tk,E) 表示第k个推荐任务的attention聚焦信息。
在一些实施例中,任务网络中包括基于点击率任务设置的第一网络,则基于点击率任务对应至少两个专家网络层的注意力聚焦信息对候选内容在点击率任务中的点击率进行预测,得到点击率预测结果,基于点击率预测结果对候选内容进行推荐,示意性的,基于点击率预测结果对内容池内的候选内容进行排序,并依据排序结果对候选内容进行推荐。
在另一些实施例中,由于推荐模型为基于多任务的推荐模型,任务网络中还包括基于转化率任务设置的第二网络,则在对候选内容进行推荐时,还包括基于转化率任务对应至少两个专家网络层的注意力聚焦信息,对候选内容在转化率任务中的转化率进行预测,得到转化率预测结果,基于点击率预测结果和转化率预测结果对候选内容进行推荐。示意性的,基于点击率预测结果对内容池内的候选内容进行第一排序,以及基于转化率预测结果对内容池中的候选内容进行第二排序,从而基于第一排序和第二排序的结果进行综合,得到综合排序结果,并基于综合排序结果对候选内容进行推荐。如:将候选内容在第一排序中的次序和在第二排序中的次序取加权平均值,得到候选内容的综合排序结果。
如:目标候选内容在第一排序中处于第20位,第一排序的权重为0.8,在第二排序中处于第5位,第二排序的权重为0.2,则目标候选内容的综合排序结果为16+1,即第17位。若取值非整数,则通过取整数位的方式取整。值得注意的是,上述综合排序结果的获取方式仅为示意性的举例,本申请实施例中还可以通过其他方式进行综合排序结果的获取,如:通过另外设置的神经网络层对排序结果进行分析,得到综合排序结果等,本申请实施例对此不加以限定。
综上所述,本实施例提供的内容推荐方法,将推荐任务的表达向量分别与专家网络层的所有层级的表达向量做attention,得到推荐任务对于专家网络层各个层级的注意力聚焦情况,将attention的聚焦结果作为各自后续预测过程的输入,来替换MMoE中的简单门控对于平层专家特征共享的方式,来实现对于特征表达的全方位聚焦,从而提高了多任务模型的预测精度,以及提高了候选内容的推荐准确率。
本实施例提供的方法,每个推荐任务对于专家网络层所有层级的注意力分布,都起到了对于专家网络层信息的不同角度以及不同层级粒度的选择性聚焦,把注意力放到重要的需要关注的信息上,提高了注意力准确率。
本实施例提供的方法,对比MMoE中的简单门控对于平层专家特征共享的方式,本申请提出的基于层级专家网络层共享的多任务关联关系学习模型,既聚焦到了和任务本身相关的不同角度的特征(平层关注),又同时聚焦到了和任务本身相关的不同层级的特征(层级关注),做到了特征表达的全方位聚焦,从而提高了模型的学习精度。
在一个可选的实施例中,通过注意力机制对任务特征和专家特征进行注意力分析。图7是本申请另一个示例性实施例提供的内容推荐方法的流程图,以该方法应用于服务器中为例进行说明,如图7所示,该方法包括:
步骤701,获取内容特征,内容特征为对候选内容进行特征提取得到的特征。
在一些实施例中,内容特征是通过指定的特征提取网络提取得到的。在一些实施例中,获取内容池,内容池中包括至少两个待排序的候选内容,对内容池中的候选内容进行特征提取,得到每个候选内容对应的内容特征。
步骤702,通过任务网络对内容特征进行第一特征处理,得到任务特征。
其中,任务网络为基于候选内容的推荐任务设置的网络。
在一些实施例中,模型中包括至少两个推荐任务对应的任务网络,则通过任务网络的全连接层对内容特征进行第一特征处理,得到不同推荐任务对应的向量表达。
步骤703,通过至少两个专家网络层对内容特征进行第二特征处理,得到至少两个专家特征。
第i个专家网络层对应第i个专家特征,i为正整数。其中,至少两个专家网络层用于分别基于对应的提取概括要求对内容特征进行特征处理,其中,专家网络层是由原始输入特征映射到不同特征空间形成的神经网络,也即,每个专家网络层对应有特征空间映射方式。
值得注意的是,上述步骤702和步骤703为两个并列的步骤,可以先执行步骤702,也可以先执行步骤703,还可以同时执行步骤702和步骤703。
步骤704,基于注意力机制对任务特征和专家特征进行注意力分析,得到推荐任务和至少两个专家网络层对应的注意力聚焦信息。
在一些实施例中,在对任务特征和专家特征进行注意力分析时,确定任务特征和第i个专家特征的矩阵乘积,对矩阵乘积进行嵌入缩放处理,得到缩放矩阵,从而对缩放矩阵进行分类处理,并基于至少两个专家网络层对应的分类结果,确定给推荐任务与至少两个专家网络层对应的注意力聚焦信息。
示意性的,该注意力聚焦信息的获取方式请参考如下公式二:
其中,E表示专家网络层各个层级输出的专家特征对应的表达向量,tk表示第k个任务特征,d表示特征映射维度,T表示专家网络层的数量。
根据上述公式一可知,将不同任务网络的表达向量(即任务特征)分别与专家网络层所有层级的表达向量(专家特征)做attention,得到不同推荐任务对于专家网络层所有层级的注意力聚焦情况,将attention的聚焦结果作为后续预测过程的输入。
如图8所示,在注意力聚焦信息的获取过程中,首先将任务特征810和专家特征820进行矩阵相乘,得到矩阵乘积830,并对矩阵乘积830进行缩放处理,得到缩放矩阵840,从而基于缩放矩阵840进行分类分析后,得到分类结果850,根据至少两层专家网络层的分类结果确定推荐任务与至少两个专家网络层对应的注意力聚焦信息860,示意性的,对至少两层专家网络层的分类结果进行矩阵相乘,得到注意力聚焦信息860。
步骤705,基于注意力聚焦信息对候选内容进行推荐。
在一些实施例中,基于注意力聚焦信息对候选内容基于推荐任务进行排序,示意性的,推荐任务包括点击率预测任务,则基于注意力聚焦信息首先对候选内容的点击率进行预测,得到内容池中候选内容的点击率,从而基于点击率对内容池中的候选内容进行排序,从基于排序结果对候选内容进行推荐。
在另一个实施例中,推荐任务包括点击率预测任务和转化率预测任务,其中,转化率预测是指对用户浏览推荐内容的完成度的转化预测。
综上所述,本实施例提供的内容推荐方法,将推荐任务的表达向量分别与专家网络层的所有层级的表达向量做attention,得到推荐任务对于专家网络层各个层级的注意力聚焦情况,将attention的聚焦结果作为各自后续预测过程的输入,来替换MMoE中的简单门控对于平层专家特征共享的方式,来实现对于特征表达的全方位聚焦,从而提高了多任务模型的预测精度,以及提高了候选内容的推荐准确率。
本实施例提供的方法,每个推荐任务对于专家网络层所有层级的注意力分布,都起到了对于专家网络层信息的不同角度以及不同层级粒度的选择性聚焦,把注意力放到重要的需要关注的信息上,提高了注意力准确率。
图9是本申请一个示例性实施例提供的内容推荐装置的结构框图,如图9 所示,该装置包括:
获取模块910,用于获取内容特征,所述内容特征为对候选内容进行特征提取得到的特征;
处理模块920,用于通过任务网络对所述内容特征进行第一特征处理,得到任务特征,其中,所述任务网络为基于所述候选内容的推荐任务设置的网络;
所述处理模块920,还用于通过至少两个专家网络层对所述内容特征进行第二特征处理,得到至少两个专家特征,第i个专家网络层对应第i个专家特征, i为正整数,其中,所述至少两个专家网络层用于分别基于对应的提取概括要求对所述内容特征进行特征处理;
确定模块930,用于基于所述任务特征和所述专家特征,确定所述推荐任务与所述至少两个专家网络层对应的注意力聚焦信息;
推荐模块940,用于基于所述注意力聚焦信息对所述候选内容进行推荐。
在一些实施例中,所述至少两个专家网络层具有顺次排列的关系;
所述处理模块920,还用于通过第k个所述专家网络层对所述内容特征进行第二特征处理,得到第k个专家特征,k为正整数;
所述处理模块920,还用于响应于专家网络层的数量大于k,通过第k+1个所述专家网络层对所述第k个专家特征进行第二特征处理,得到第k+1个专家特征,直至得到所述至少两个专家特征。
在一些实施例中,所述至少两个专家网络层,基于对所述内容特征进行处理时的概括程度逐层提高的顺序顺次排列。
在一些实施例中,所述处理模块920,还用于通过至少两个任务网络对所述内容特征进行第一特征处理,得到至少两个任务特征,其中,第m个任务网络对应第m个任务特征,m为正整数,所述至少两个任务网络为基于所述候选内容的至少两个推荐任务设置的网络,且所述第m个任务网络对应第m个推荐任务。
在一些实施例中,所述确定模块930,还用于基于所述第m个任务特征和所述至少两个专家特征,确定所述第m个推荐任务与所述至少两个专家网络层对应的注意力聚焦信息。
在一些实施例中,所述任务网络中包括基于点击率任务设置的第一网络;
如图10所示,所述推荐模块940,包括:
预测单元941,用于基于所述点击率任务对应所述至少两个专家网络层的注意力聚焦信息,对所述候选内容在所述点击率任务中的点击率进行预测,得到点击率预测结果;
推荐单元942,用于基于所述点击率预测结果对所述候选内容进行推荐。
在一些实施例中,所述任务网络中包括基于转化率任务设置的第二网络;
所述预测单元941,还用于基于所述转化率任务对应所述至少两个专家网络层的注意力聚焦信息,对所述候选内容在所述转化率任务中的转化率进行预测,得到转化率预测结果;
所述推荐单元942,还用于基于所述点击率预测结果和所述转化率预测结果对所述候选内容进行推荐。
在一些实施例中,所述确定模块930,还用于基于注意力机制对所述任务特征和所述专家特征进行注意力分析,得到所述推荐任务与所述至少两个专家网络层对应的注意力聚焦信息。
在一些实施例中,所述确定模块930,还用于确定所述任务特征和所述第i 个专家特征的矩阵乘积;
所述处理模块920,还用于对所述矩阵乘积进行嵌入缩放处理,得到缩放矩阵;
所述确定模块930,还用于对所述缩放矩阵进行分类处理,并基于所述至少两个专家网络层对应的分类结果,确定所述推荐任务与所述至少两个专家网络层对应的所述注意力聚焦信息。
综上所述,本实施例提供的内容推荐装置,将推荐任务的表达向量分别与专家网络层的所有层级的表达向量做attention,得到推荐任务对于专家网络层各个层级的注意力聚焦情况,将attention的聚焦结果作为各自后续预测过程的输入,来替换MMoE中的简单门控对于平层专家特征共享的方式,来实现对于特征表达的全方位聚焦,从而提高了多任务模型的预测精度,以及提高了候选内容的推荐准确率。
需要说明的是:上述实施例提供的内容推荐装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的内容推荐装置,与内容推荐方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11示出了本申请一个示例性实施例提供的计算机设备的结构示意图,该计算机设备可以实现为如图1所示的服务器120。具体来讲:
计算机设备1100包括中央处理单元(Central Processing Unit,CPU)1101、包括随机存取存储器(Random Access Memory,RAM)1102和只读存储器(Read Only Memory,ROM)1103的系统存储器1104,以及连接系统存储器1104和中央处理单元1101的系统总线1105。计算机设备1100还包括用于存储操作系统 1113、应用程序1114和其他程序模块1115的大容量存储设备1106。
大容量存储设备1106通过连接到系统总线1105的大容量存储控制器(未示出)连接到中央处理单元1101。大容量存储设备1106及其相关联的计算机可读介质为计算机设备1100提供非易失性存储。也就是说,大容量存储设备1106 可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器 (Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1104和大容量存储设备1106可以统称为存储器。
根据本申请的各种实施例,计算机设备1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1100可以通过连接在系统总线1105上的网络接口单元1111连接到网络1112,或者说,也可以使用网络接口单元1111来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的内容推荐方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的内容推荐方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的内容推荐方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD, Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,ResistanceRandom Access Memory)和动态随机存取存储器 (DRAM,Dynamic Random AccessMemory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。