CN111737586A - 信息推荐方法、装置、设备及计算机可读存储介质 - Google Patents

信息推荐方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111737586A
CN111737586A CN202010835094.XA CN202010835094A CN111737586A CN 111737586 A CN111737586 A CN 111737586A CN 202010835094 A CN202010835094 A CN 202010835094A CN 111737586 A CN111737586 A CN 111737586A
Authority
CN
China
Prior art keywords
vector
sample
information
dimension
embedded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010835094.XA
Other languages
English (en)
Other versions
CN111737586B (zh
Inventor
杨建博
周星
卢鑫炎
李武军
姚开浪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010835094.XA priority Critical patent/CN111737586B/zh
Publication of CN111737586A publication Critical patent/CN111737586A/zh
Application granted granted Critical
Publication of CN111737586B publication Critical patent/CN111737586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种信息推荐方法、装置、设备及计算机可读存储介质,其中方法包括:对待推荐信息的第一特征向量和目标对象的第二特征向量分别进行映射处理,对应得到第一降维向量和第二降维向量;采用待嵌入向量,对第一降维向量和第二降维向量分别进行向量嵌入处理,对应得到所述待推荐信息的第一嵌入向量和所述目标对象的第二嵌入向量,待嵌入向量是通过对信息推荐模型进行训练后学习得到的向量;根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度;当匹配度大于阈值时,将待推荐信息推荐给目标对象。通过本申请实施例,能够降低特征数据和推荐模型参数的存储开销,且不会降低信息推荐模型的性能。

Description

信息推荐方法、装置、设备及计算机可读存储介质
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种信息推荐方法、装置、设备及计算机可读存储介质。
背景技术
信息推荐模型中的推荐***算法,通常是通过用户和物品的嵌入向量之间的点积操作,来计算用户对物品的“评分”或“偏好”,用户与物品的嵌入向量分别是由用户、物品的特征向量通过线性变换或者非线性变换得到。对特征向量做线性变换或非线性变换的过程,隐式地包含了为每一维特征学习一个嵌入向量的操作,这些需要学习的嵌入向量的数量决定了模型参数的大小,因此模型参数的存储开销与特征的维度成正比关系。
而为了追求更高的推荐精度,高维的特征成为了一种常见的设置,但是,高维的特征会给单个服务器的内存带来极大的负载,因此,如何降低用户和物品的特征维度是目前关键要解决的问题。目前,常用的降低特征维度的方法包括:主成分分析(PCA,PrincipalComponent Analysis)和特征选择。
但是,主成分分析法降维后的特征会破坏原始高纬特征的稀疏结构,从而急剧增大特征数据的存储开销;而特征选择则需要额外的监督信息。因此,相关技术中的上述两种降低特征维度的方法,均不能在有效降低特征数据存储开销的同时,保证信息推荐模型的性能。
发明内容
本申请实施例提供一种信息推荐方法、装置、设备及计算机可读存储介质,通过对待推荐信息的第一特征向量和目标对象的第二特征向量分别依次进行映射处理和向量嵌入处理,且在向量嵌入处理时引入待嵌入向量,通过待嵌入向量实现将高维特征映射到低维空间,从而能够降低特征数据的存储开销,且不会明显降低信息推荐模型的性能。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种信息推荐方法,包括:
对待推荐信息和目标对象分别进行特征提取,对应得到具有第一维度的第一特征向量和具有第二维度的第二特征向量;
对所述第一特征向量和所述第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量;其中,所述第三维度小于所述第一维度,所述第四维度小于所述第二维度;
采用待嵌入向量,对所述第一降维向量和所述第二降维向量分别进行向量嵌入处理,对应得到所述待推荐信息的具有第五维度的第一嵌入向量和所述目标对象的具有第六维度的第二嵌入向量;其中,所述第五维度小于所述第三维度,所述第六维度小于所述第四维度,所述待嵌入向量是通过对信息推荐模型进行训练后学习得到的向量;
根据所述第一嵌入向量和所述第二嵌入向量,确定所述待推荐信息与所述目标对象之间的匹配度;
当所述匹配度大于阈值时,将所述待推荐信息推荐给所述目标对象。
在一些实施例中,所述方法还包括:采用信息推荐模型确定所述待推荐信息与所述目标对象之间的匹配度;其中,所述信息推荐模型中的映射器至少包括向量嵌入层;所述向量嵌入层中的参数至少包括:所述样本推荐信息的第三权重、所述样本对象的第四权重、所述样本推荐信息的第三待嵌入向量、和所述样本对象的第四待嵌入向量;
对应地,根据所述损失结果对所述映射器中的参数进行修正,包括:
根据所述损失结果,对以下至少之一进行修正:所述第三权重、所述第四权重、所述第三待嵌入向量和所述第四待嵌入向量。
本申请实施例提供一种信息推荐装置,包括:
特征提取模块,用于对待推荐信息和目标对象分别进行特征提取,对应得到具有第一维度的第一特征向量和具有第一维度的第二特征向量;
降维处理模块,用于对所述第一特征向量和所述第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量;其中,所述第三维度小于所述第一维度,所述第四维度小于所述第二维度;
向量嵌入处理模块,用于采用待嵌入向量,对所述第一降维向量和所述第二降维向量分别进行向量嵌入处理,对应得到所述待推荐信息的具有第五维度的第一嵌入向量和所述目标对象的具有第六维度的第二嵌入向量;其中,所述第五维度小于所述第三维度,所述第六维度小于所述第四维度,所述待嵌入向量是通过对信息推荐模型进行训练后学习得到的向量;
确定模块,用于根据所述第一嵌入向量和所述第二嵌入向量,确定所述待推荐信息与所述目标对象之间的匹配度;
信息推荐模块,用于当所述匹配度大于阈值时,将所述待推荐信息推荐给所述目标对象。
本申请实施例提供一种信息推荐设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:通过对待推荐信息的第一特征向量和目标对象的第二特征向量,分别依次进行降维处理和向量嵌入处理,实现两次降维处理,对应得到待推荐信息的第一嵌入向量和目标对象的第二嵌入向量,根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度,实现对待推荐信息的推荐。如此,在向量嵌入处理时引入待嵌入向量,通过待嵌入向量实现了将高维特征映射到低维空间,只为低维空间的特征学习待嵌入向量,从而能够成功降低模型参数的数量,降低特征数据的存储开销,且不会降低信息推荐模型的性能。
附图说明
图1是本申请实施例提供的信息推荐***的一个可选的架构示意图;
图2A是本申请实施例提供的信息推荐***应用于区块链***的一个可选的结构示意图;
图2B是本申请实施例提供的区块结构的一个可选的示意图;
图3是本申请实施例提供的服务器的结构示意图;
图4是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图5是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图6是本申请实施例提供的信息推荐***的一种可选的结构示意图;
图7是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图8是本申请实施例提供的信息推荐方法的一个可选的流程示意图;
图9A是本申请实施例提供的信息推荐模型的一个可选的结构示意图;
图9B是本申请实施例提供的信息推荐模型的一个可选的结构示意图;
图9C是本申请实施例提供的信息推荐模型的一个可选的结构示意图;
图9D是本申请实施例提供的信息推荐模型的一个可选的结构示意图;
图10是本申请实施例提供的信息推荐模型的训练方法的一个可选的流程示意图;
图11是本申请实施例提供的信息推荐方法的一种可选的流程示意图;
图12是本申请实施例提供的映射器的结构示意图;
图13是本申请实施例提供的推荐器的架构图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例之前,首先对本申请中涉及到的专业名词进行解释:
1)矩阵补全(MC,Matrix Completion):是指给定一个目标矩阵,只观察目标矩阵中的部分元素,根据已观察的部分元素,来恢复矩阵中缺失元素的实现过程。
2)归纳式矩阵补全(IMC,Inductive Matrix Completion):是指在矩阵补全任务的基础上,如果矩阵的每一行或每一列有收集到特征向量,这样的矩阵补全任务称为归纳式矩阵补全。
3)特征哈希(Feature Hashing):是指将高维特征映射到低维特征空间的一种降维技术。
为了更好地理解本申请实施例中提供的信息推荐方法,首先对相关技术中的信息推荐方法进行说明:
由于模型参数的存储开销跟特征的维度成正比关系,当特征是低维时,模型参数的存储开销不大,但当特征是高维时,模型参数的存储开销很大,这成为了模型成功部署的一个瓶颈。
目前在数据***增长以及各种特征挖掘技术层出不穷的情况下,特征维度能很容易达到109及以上,为了追求更高的推荐精度,高维的特征成为了一种常见的设置。在特征维度为109的应用场景中,如果嵌入向量的维度为32,则需要至少238GB的存储空间来存储模型参数,这给单个服务器的内存带来极大的负载,在多任务并行运行的设置下更是难以成功部署模型。除此之外,模型参数的高存储开销,也会降低模型的推断速度,因为缓存命中率会随着内存空间的增大而降低。因此,如何降低模型参数的存储开销,同时又不会明显降低模型性能成为一个很有意义的问题。
上述问题的关键在于如何降低用户和物品的特征维度,因为降低特征维度之后,需要为特征学习的嵌入向量数量减少,模型参数的数量也随之减少。相关技术中,常用的降低特征维度的方法包括:主成分分析和特征选择。
主成分分析法的思想是最小化重构误差,将原始特征向量投影到协方差矩阵前k个的特征值对应的特征向量方向,能够使得重构误差最小(k是特征向量降维后的维度);特征选择的思想是选择保留具有高信息量的特征,信息量是根据数据的标签信息计算特定的信息度量得到的,如互信息(Mutual Information)。
上述两种降维技术虽然能够广泛应用于很多机器学习任务中,并取得很好的结果,但是由于推荐***任务的特点,这两种降维技术均未能很好地解决推荐***中模型参数的高存储开销问题,这两种降维技术都存在一些缺点:
主成分分析法虽然能够很好地重构原始特征,但它存在的三个缺点使得它很难应用于推荐***任务中:一是降维后的特征是稠密的,这会破坏原始高维特征的稀疏结构,从而急剧增大特征数据的存储开销;二是主成分分析法中需要计算的映射矩阵的大小跟特征维度成正比关系,这与需要学习的嵌入向量矩阵的大小规模是一致的;三是主成分分析法的计算复杂度是
Figure 986065DEST_PATH_IMAGE001
,其中
Figure 762260DEST_PATH_IMAGE002
是特征维度,
Figure 807576DEST_PATH_IMAGE003
是样本个数,在推荐***任务中,
Figure 858578DEST_PATH_IMAGE003
Figure 204109DEST_PATH_IMAGE002
很大,如达到109是很常见的设置,这种情况下主成分分析法的时间开销很大。
特征选择法在计算信息度量值时,需要监督信息用于计算,如数据标签。不同于传统的监督学习,目前没有专门为推荐***任务设计有效的度量方法。
基于相关技术所存在的上述问题,本申请实施例提供一种信息推荐方法,通过对待推荐信息和目标对象分别进行特征提取,对应得到第一特征向量和第二特征向量,然后对待推荐信息的第一特征向量和目标对象的第二特征向量,分别依次进行映射处理和向量嵌入处理,对应得到待推荐信息的第一嵌入向量和目标对象的第二嵌入向量,最后根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度,实现对待推荐信息的推荐。如此,通过映射处理和向量嵌入处理实现了两次降维过程,且在向量嵌入处理时引入待嵌入向量,通过待嵌入向量实现了将高维特征映射到低维空间,只为低维空间的特征学习待嵌入向量,从而能够成功降低模型参数的数量,降低特征数据的存储开销,且不会降低信息推荐模型的性能。
下面说明本申请实施例提供的信息推荐设备的示例性应用,本申请实施例提供的信息推荐设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、电子书阅读器等任意的具有计算和数据处理能力的终端或者具有接收待推荐信息的能力的终端,也可以实施为服务器。下面,将说明信息推荐设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的信息推荐***10的一个可选的架构示意图。为实现向用户的终端进行信息推荐,终端(示例性示出了第一终端100-1和第二终端100-2)通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。
这里以第一终端100-1为目标对象进行说明,第一终端100-1在当前界面110-1上显示应用(Application,APP)的界面,例如,所述APP可以是购物APP或视频播放APP。第一终端100-1和第二终端100-2在当前界面上还可以显示待推荐信息。本申请实施例中,服务器300对待推荐信息进行特征提取,对应得到第一特征向量,同时,服务器300获取目标对象(即终端100-1)的特征数据,并对目标对象进行特征提取,对应得到第二特征向量;然后,对第一特征向量和第二特征向量分别进行映射处理,对应得到第一降维向量和第二降维向量,实现了对第一特征向量和第二特征向量的一次降维;对第一降维向量和第二降维向量分别进行向量嵌入处理,对应得到待推荐信息的第一嵌入向量和目标对象的第二嵌入向量,实现了二次降维;根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度;最后,确定出待推荐信息可以推荐给第一终端100-1,因此,将待推荐信息发送给第一终端100-1,第一终端100-1在接收到待推荐信息之后,在当前界面110-1上显示待推荐信息。
在另一些实施例中,服务器300可以分别确定出待推荐信息与第一终端100-1和第二终端100-2的匹配度,然后根据所确定出的两个匹配度,在第一终端100-1和第二终端100-2中确定出接收待推荐信息的目标终端,并将待推荐信息发送给目标终端。
本申请实施例涉及的信息推荐***10也可以是区块链***的分布式***201,参见图2A,图2A是本申请实施例提供的信息推荐***10应用于区块链***的一个可选的结构示意图,其中,所述分布式***201可以是由多个节点202(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端203形成的分布式节点,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)之上的应用层协议。在分布式***中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作***层和应用层。
需要说明的是,在分布式***201中,每一节点202对应一终端100和服务器中的任意一个,在每一节点202,会收集该节点202的数据。举例来说,对于第一终端100-1,可以收集第一终端100-1上所运行的应用程序、用户在第一终端100-1上的互动数据(例如,点击某应用的频率和次数,点击某应用中某产品的次数等)等。通过这些互动数据可以刻画用户画像,确定用户的习惯和喜好,因此可以收集这些数据,以用于后续在进行信息推荐时,来确定待推荐信息与第一终端100-1的匹配度。在一些实施例中,还可以收集信息推荐过程中成功推荐时待推荐信息与目标对象之间的映射关系。
本申请实施例中,通过收集这些数据,并将这些数据上链存储,能够保证在后续信息推荐过程中,可以从区块链***中直接获取到所存储的数据,根据所存储的数据为后续信息推荐过程提供信息支持,通过从区块链中获取的数据来确定后续的目标对象的特征数据。
本申请实施例中,在该区块链***中,每一终端的历史互动数据和推荐信息均会被记录下来,且不可更改,并且,随着用户在终端上进一步的操作,服务器会推荐新的信息,因此会存在用户画像的更新,那么,区块链中所存储的数据也会发生更新。因此,通过本申请实施例中的区块链***,能够及时地对终端的互动数据进行叠加和更新,从而使得后续在信息推荐时,能够提供新的目标对象的特征数据,得到新的特征向量,避免由于用户互动数据的更新所造成的信息推荐不准确的问题。
参见图2B,图2B是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
参见图3,图3是本申请实施例提供的服务器300的结构示意图,图3所示的服务器300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。服务器300中的各个组件通过总线***340耦合在一起。可理解,总线***340用于实现这些组件之间的连接通信。总线***340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线***340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***351,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种信息推荐装置354,该信息推荐装置354可以是服务器300中的一种信息推荐装置,其可以是程序和插件等形式的软件,包括以下软件模块:特征提取模块3541、降维处理模块3542、向量嵌入处理模块3543、确定模块3544和信息推荐模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的信息推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的信息推荐方法。参见图4,图4是本申请实施例提供的信息推荐方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
步骤S401,对待推荐信息和目标对象分别进行特征提取,对应得到具有第一维度的第一特征向量和具有第二维度的第二特征向量。
这里,待推荐信息可以任意一种形式的信息,例如,待推荐信息可以是商品信息、广告、视频、新闻、应用程序等。以待推荐信息为商品信息为例,本申请实施例的方法可以应用于商品出售方的服务器或者第三方推荐服务器,服务器通过本申请实施例的方法确定出商品是否是目标对象感兴趣的,进而实现对目标对象进行商品推荐。目标对象可以是用户终端,用户终端通过采集用户在预设历史时间段内的互动数据,从而形成目标对象信息。这里的互动数据可以包括但不限于:用户的点击数据、浏览数据、点击某应用的频率和次数、点击某应用中某产品的次数、点赞或评论的信息、购买的商品信息、预约的服务信息、终端使用时长和时间段等数据。通过获取目标对象的互动数据,可以通过互动数据刻画终端用户的用户画像,确定出用户的习惯和喜好,从而能够实现对用户进行准确的信息推荐。
本申请实施例中,对目标对象进行特征提取可以是对所获取的目标对象信息进行特征提取。对待推荐信息和目标对象进行特征提取,可以是把待推荐信息和目标对象对应的文本数据转换为数值型数据。
举例来说,可以预先把语料库中的所有文本进行分词,并把所有单词(词汇)收集起来,并对单词进行编号,构建一个词汇表(vocabulary),词汇表是一个字典结构,key是单词,value是单词的索引。有了词汇表之后,就可以使用向量来表示单个词汇。每一个词汇都表示为一个由n列构成的向量,称作词向量,词向量的第0列对应词汇表(vocabulary)中的第0号索引,词向量的第1列对应词汇表(vocabulary)中的第1号索引,依次类推。在形成词向量之后,对于待推荐信息和目标对象,则可以根据待推荐信息和目标对象的文本数据在词汇表中查找对应的词向量,根据所查找到的词向量形成待推荐信息的第一特征向量和目标对象的第二特征向量。本申请实施例中,第一特征向量的维度和第二特征向量的维度可以相同,也可以不同。
步骤S402,对第一特征向量和第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量。
这里,映射处理是第一次降维处理,第一次降维处理是将高维度的第一特征向量和第二特征向量,分别降低成低维度的第一降维向量和第二降维向量,也就是说,第一降维向量的向量维度小于第一特征向量的向量维度,第二降维向量的向量维度小于第二特征向量的向量维度。本申请实施例中,第一降维向量具有第三维度,第二降维向量具有第四维度,其中,第三维度小于第一维度,第四维度小于第二维度。
本申请实施例中,可以采用任意一种映射处理方式实现对第一特征向量和第二特征向量进行降维处理,当然,除了可以通过向量的映射进行降维,还可以通过最小化重构误差,将第一特征向量和第二特征向量的特征值投影到低维度向量空间实现降维处理。
步骤S403,采用待嵌入向量,对第一降维向量和第二降维向量分别进行向量嵌入处理,对应得到待推荐信息的具有第五维度的第一嵌入向量和具有第六维度的目标对象的第二嵌入向量。
这里,向量嵌入处理是指向第一降维向量和第二降维向量分别嵌入一待嵌入向量,使得第一降维向量和第二降维向量发生进一步的降维,对应得到第一嵌入向量和第二嵌入向量,也就是说,向第一降维向量和第二降维向量分别点乘一待嵌入向量。其中,第一嵌入向量的维度小于第一降维向量的维度,第二嵌入向量的维度小于第二降维向量的维度。
在一些实施例中,待嵌入向量可以是通过对特定的信息推荐模型进行不断的训练进而学习得到的向量,即待嵌入向量是预先训练好的向量,通过预先训练好的向量对第一降维向量和第二降维向量分别进行向量嵌入处理。例如,可以预先训练出用于对第一降维向量进行向量嵌入处理的第一待嵌入向量,采用第一待嵌入向量点乘第一降维向量,以实现对第一降维向量的向量嵌入处理;同时还可以预先训练出用于对第二降维向量进行向量嵌入处理的第二待嵌入向量,采用第二待嵌入向量点乘第二降维向量,以实现对第二降维向量的向量嵌入处理,其中,第一待嵌入向量与第二待嵌入向量的训练过程相同,第一待嵌入向量与第二待嵌入向量的值可以相同也可以不同。
在一些实施例中,可以采用信息推荐模型训练得到上述待嵌入向量,通过将样本数据(例如,样本推荐信息和样本对象)输入至信息推荐模型中,通过信息推荐模型确定并输出样本推荐信息与样本对象之间的样本匹配度;然后通过预设损失模型,确定样本匹配度与真实匹配度之间的差值,得到损失结果;最后根据损失结果对信息推荐模型中的参数(这里的参数包括但不限于上述待嵌入向量、以及向量嵌入处理过程中用于加权求和的第一权重和第二权重等参数)进行优化,直至优化后的信息推荐模型能够准确的确定出样本推荐信息与样本对象之间的匹配度为止。为了方便理解,在下文中将对信息推荐模型的训练过程进行具体说明。
本申请实施例中,通过步骤S402的降维处理实现对第一特征向量和第二特征向量的一次降维,通过步骤S403的向量嵌入处理实现对第一特征向量和第二特征向量的二次降维,也就是说,本申请实施例通过两次降维过程,得到第一嵌入向量和第二嵌入向量。
步骤S404,根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度。
这里,通过将第一嵌入向量与第二嵌入向量相乘,计算第一嵌入向量与第二嵌入向量的内积,从而得到第一嵌入向量与第二嵌入向量之间的距离,并根据第一嵌入向量与第二嵌入向量之间的距离,确定待推荐信息与目标对象之间的匹配度。第一嵌入向量与第二嵌入向量之间的距离越大,则待推荐信息与目标对象之间的匹配度越低;第一嵌入向量与第二嵌入向量之间的距离越小,则待推荐信息与目标对象之间的匹配度越高。
步骤S405,当匹配度大于阈值时,将待推荐信息推荐给目标对象。
这里,当匹配度大于阈值时,表明待推荐信息与目标对象之间的相关度较高,目标对象对待推荐信息的兴趣较大,则目标对象对待推荐信息的交互概率较高,因此,将待推荐信息推荐给目标对象。
本申请实施例提供的信息推荐方法,通过对待推荐信息的第一特征向量和目标对象的第二特征向量,分别依次进行降维处理和向量嵌入处理,实现两次降维处理,对应得到待推荐信息的第一嵌入向量和目标对象的第二嵌入向量,根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度,实现对待推荐信息的推荐。如此,实现两次降维处理,实现了将高维特征映射到低维空间,只为低维空间的特征学习待嵌入向量,从而能够成功降低模型参数的数量,降低特征数据的存储开销,且不会降低信息推荐模型的性能。
在一些实施例中,信息推荐***中包括服务器和多个终端,可以在多个终端中确定出与待推荐信息匹配度最高的终端为目标终端(即目标对象),并将待推荐信息推荐给目标终端。这里以信息推荐***中包括服务器和两个终端(第一终端和第二终端)为例,对本申请实施例的一种应用场景进行说明。图5是本申请实施例提供的信息推荐方法的一个可选的流程示意图,如图5所示,方法包括以下步骤:
步骤S501,服务器对待推荐信息进行特征提取,得到待推荐信息的第一特征向量。
步骤S502,服务器获取第一终端的终端数据。
这里,终端数据是第一终端的用户在第一终端上的互动数据,本申请实施例中,可以获取第一终端在预设历史时间段内的终端数据。
步骤S503,服务器对第一终端的终端数据进行特征提取,得到第一终端的特征向量。
步骤S504,服务器获取第二终端的终端数据。
步骤S505,服务器对第二终端的终端数据进行特征提取,得到第二终端的特征向量。
第二终端是与第一终端不同的终端,第二终端与第一终端对应于不同的用户,因此,第一终端的终端数据与第二终端的终端数据不同,对应地,在进行特征提取之后,所得到的第一终端的特征向量与第二终端的特征向量不同。
需要说明的是,步骤S501、步骤S502和步骤S504没有严格的先后顺序,可以同时进行,也可以按照任意的先后顺序进行。步骤S501中对待推荐信息进行特征提取、步骤S503中对第一终端的终端数据进行特征提取、以及步骤S505中对第二终端的终端数据进行特征提取,这三个特征提取过程可以通过同一服务器来实现,也可以通过不同的服务器来实现。举例来说,第一终端为手机、第二终端为便携式游戏设备,则对第一终端的终端数据进行特征提取,可以是第一终端上所安装应用的应用服务器来实现,得到第一终端的特征向量;对第二终端的终端数据进行特征提取,可以是游戏设备服务器来实现,得到第二终端的特征向量;对待推荐信息进行特征提取,可以是由待推荐信息对应的应用服务器来实现,得到待推荐信息的第一特征向量;然后,信息推荐***的服务器获取应用服务器发送的第一终端的特征向量、游戏设备服务器发送的第二终端的特征向量、和应用服务器发送的待推荐信息的第一特征向量。
步骤S506,服务器对第一特征向量、第一终端的特征向量和第二终端的特征向量,分别进行降维处理,对应得到第一降维向量、第一终端的降维向量和第二终端的降维向量。
这里,对第一特征向量、第一终端的特征向量和第二终端的特征向量进行降维处理可以采用任意一种降维处理方式实现。
步骤S507,服务器对第一降维向量、第一终端的降维向量和第二终端的降维向量,分别进行向量嵌入处理,对应得到待推荐信息的第一嵌入向量、第一终端的嵌入向量和第二终端的嵌入向量。
这里,对第一降维向量、第一终端的降维向量和第二终端的降维向量进行向量嵌入处理,可以采用预设的待嵌入向量来实现,通过不同的待嵌入向量分别点乘第一降维向量、第一终端的降维向量和第二终端的降维向量,对应得到待推荐信息的第一嵌入向量、第一终端的嵌入向量和第二终端的嵌入向量。
步骤S508,服务器根据待推荐信息的第一嵌入向量和第一终端的嵌入向量,确定待推荐信息与第一终端之间的第一匹配度。
步骤S509,服务器根据待推荐信息的第一嵌入向量和第二终端的嵌入向量,确定待推荐信息与第二终端之间的第二匹配度。
步骤S510,服务器判断第一匹配度是否大于第二匹配度。如果判断结果为是,则执行步骤S511;如果判断结果为否,则执行步骤S512。
步骤S511,服务器将第一终端确定为目标终端。
这里,如果第一匹配度大于第二匹配度,表明第一终端的用户对待推荐信息的兴趣更高,因此,将待推荐信息推荐给第一终端。
步骤S512,服务器将第二终端确定为目标终端。
这里,如果第一匹配度小于第二匹配度,表明第二终端的用户对待推荐信息的兴趣更高,因此,将待推荐信息推荐给第二终端。在一些实施例中,当第一匹配度等于第二匹配度时,将第一终端和第二终端同时确定为目标终端,并将待推荐信息同时推荐给第一终端和第二终端。
步骤S513,服务器将待推荐信息推荐给第一终端。
在另一些实施例中,还可以比较第一匹配度和第二匹配度分别与预设阈值之间的关系,当第一匹配度和第二匹配度中的任意一个或多个大于预设阈值时,将对应的一个或多个终端确定为目标终端。
本申请实施例提供的信息推荐方法,在多个终端形成的信息推荐***中,通过对待推荐信息的第一特征向量和每一终端的特征向量,分别依次进行降维处理和向量嵌入处理,对应得到待推荐信息的第一嵌入向量和每一终端的嵌入向量,根据第一嵌入向量和每一终端的嵌入向量,确定待推荐信息与每一终端之间的匹配度,然后,根据所确定出的多个匹配度,在多个终端中确定出最适合推荐待推荐信息的一个或多个终端,实现对待推荐信息的推荐。如此,实现了将待推荐信息和每一终端对应的高维特征映射到低维空间,只为低维空间的特征学习嵌入向量,从而能够成功降低模型参数的数量,降低特征数据的存储开销,且不会降低信息推荐模型的性能。并且,根据待推荐信息与每一终端之间的匹配度,能够确定出最适合接收待推荐信息的终端,实现了对信息的最优化推荐。
在一些实施例中,提供一待推荐信息库和终端信息库(或者用户信息库),可以从待推荐信息库中匹配出适用于终端信息库中的每一终端的待推荐信息,并将匹配出的待推荐信息推荐给每一终端。
图6是本申请实施例提供的信息推荐***的一种可选的结构示意图,如图6所示,信息推荐***60中包括服务器61和多个终端(例如图6中的终端62、终端63和终端64),服务器61提供一待推荐信息库65和终端信息库66,其中,待推荐信息库65中包括至少一条待推荐信息651,待推荐信息库65中的每一待推荐信息651均可以被推荐给终端信息库66中的任意一终端信息661对应的终端;终端信息库66中包括至少一条终端信息661,每一终端信息661对应一终端,终端信息661可以是终端的标识。
基于图6的信息推荐***,对于待推荐信息库65中的每一待推荐信息651,可以采用本申请实施例的信息推荐方法,确定出该待推荐信息651与终端信息库66中的每一终端信息661所对应的终端之间的匹配度,然后将具有最高匹配度的终端,或者将匹配度满足预设条件的终端,确定为该待推荐信息651的推荐终端,并将该待推荐信息651推荐给所确定出的推荐终端。需要说明的是,同一待推荐信息651可以被推荐给终端信息库中的至少两条终端信息所对应的终端,不同的待推荐信息651也可以被推荐给终端信息库中的同一条终端信息所对应的终端。
图7是本申请实施例提供的信息推荐方法的一个可选的流程示意图,如图7所示,方法包括以下步骤:
步骤S701,对待推荐信息进行特征提取,对应得到第一特征向量。其中,第一特征向量具有第一维度。
步骤S702,采用第一预设哈希函数对第一特征向量进行映射处理,得到具有第三维度的第一降维向量;其中,第三维度小于第一维度。
步骤S703,获取待推荐信息的第一权重和待推荐信息的第一待嵌入向量。
这里,第一待嵌入向量是预设的待嵌入向量,用于实现对待推荐信息的第一降维向量进行向量嵌入处理,第一待嵌入向量的维度可以根据向量嵌入处理的嵌入需求来确定,这里的嵌入需求是指向量嵌入处理后所得到的第一嵌入向量的维度是多少,因此,第一待嵌入向量的维度可以根据最终所得到的第一嵌入向量的维度来确定。第一权重和第一待嵌入向量均是一可学习的参数,可以通过对模型进行训练,得到最优的第一权重和第一待嵌入向量。
在一些实施例中,第一权重也可以是通过对特定的信息推荐模型进行不断的训练进而学习得到的权重值,即第一权重是预先训练好的权重值,通过预先训练好的第一权重对向量嵌入处理过程进行加权求和。
步骤S704,将第一降维向量中每一维度的分量,分别与第一权重和第一待嵌入向量进行点乘,得到每一维度的分量对应的第一点乘结果。
这里,第一降维向量中每一维度的分量是指第一降维向量中每一维度的元素值,第一权重是信息推荐模型中预设的权重,第一权重可以是一n维向量,第一权重的维数与第一降维向量的维数可以相同也可以不同。
步骤S705,对至少两个分量对应的第一点乘结果进行求和,得到待推荐信息的具有第五维度的第一嵌入向量。
这里,在计算出每一维度的分量与第一权重和第一待嵌入向量进行点乘的第一点乘结果之后,可以对全部分量对应的第一点乘结果进行求和,也可以先过滤掉无效的第一点乘结果,再进行求和,得到待推荐信息的第一嵌入向量。
本申请实施例中,通过学习得到最优的第一权重,可以学习得到第一降维向量中每个特征的重要性,加强模型结果的可解释性,同时还能减轻高维映射到低维出现的冲突的影响。通过学习得到最优的第一待嵌入向量,可以使得在向量嵌入处理时,将第一降维向量中的非重要特征进行剔除,以保留第一降维向量中的重要信息。本申请实施例中的向量嵌入处理,目的是为了使得待推荐信息的第一嵌入向量和目标对象的第二嵌入向量之间更加接近,即使得第一嵌入向量和第二嵌入向量中的元素对应的特征之间更加近似和相关。
在一些实施例中,在将第一降维向量中每一维度的分量分别与第一待嵌入向量进行点乘时,可以是对第一降维向量的旋转、缩小和放大处理,也就是说,通过第一待嵌入向量,实现对第一降维向量的旋转。缩小和放大处理。
在一些实施例中,还可以对第一待嵌入向量进行更新,其中更新方法包括:
步骤S71,确定匹配度与第一预设匹配度之间的相似度。
这里,可以获取信息推荐模型在上一次推荐过程中计算的匹配度,并计算该匹配度与第一预设匹配度之间的相似度,其中,第一预设匹配度可以是上一次推荐过程中待推荐信息与目标对象之间真实的匹配度。本申请实施例中,可以采用预设损失函数计算匹配度与第一预设匹配度之间的相似度。
步骤S72,根据相似度确定第一待嵌入向量的第一更新参数。
这里,如果匹配度与第一预设匹配度之间的相似度较高,则第一待嵌入向量的第一更新参数较小;如果匹配度与第一预设匹配度之间的相似度较低,则第一待嵌入向量的第一更新参数较大。
步骤S73,采用第一更新参数对第一待嵌入向量进行更新,得到更新后的第一待嵌入向量。
这里,通过第一更新参数对第一待嵌入向量进行修正,使得更新后的第一待嵌入向量能够更加准确的对降维向量进行向量嵌入处理,即使得具有更新后的第一待嵌入向量的信息推荐模型,能够计算出待推荐信息与目标对象之间更加准确的匹配度。
在获取到更新后的第一待嵌入向量后,对应地,步骤S703至步骤S705还可以通过以下步骤实现:步骤S74,采用更新后的第一待嵌入向量对第一降维向量进行向量嵌入处理。
步骤S706,对目标对象进行特征提取,对应得到第二特征向量。
步骤S707,采用第二预设哈希函数对第二特征向量进行映射处理,得到具有第四维度的第二降维向量;其中,第四维度小于第二维度。
步骤S708,获取目标对象的第二权重和目标对象的第二待嵌入向量。
这里,第二权重和第二待嵌入向量的学习过程与第一权重和第一待嵌入向量的学习过程相同。第二权重也可以是通过对特定的信息推荐模型进行不断的训练进而学习得到的权重值,即第二权重是预先训练好的权重值,通过预先训练好的第二权重对向量嵌入处理过程进行加权求和。
步骤S709,将第二降维向量中每一维度的分量,分别与第二权重和第二待嵌入向量进行点乘,得到每一维度的分量对应的第二点乘结果。
步骤S710,对至少两个分量对应的第二点乘结果进行求和,得到目标对象的具有第六维度的第二嵌入向量。
需要说明的是,步骤S706至步骤S710与上述步骤S701至步骤S705实现过程相似,所不同的仅在于,步骤S706至步骤S710是对目标对象进行处理,得到目标对象的第二嵌入向量,步骤S701至步骤S705是对待推荐信息进行处理,得到待推荐信息的第一嵌入向量,其具体的处理过程可以参照步骤S701至步骤S705中的解释。
在一些实施例中,还可以对第二待嵌入向量进行更新,其中更新方法包括:
步骤S75,确定匹配度与第二预设匹配度之间的相似度。
步骤S76,根据相似度确定所述第二待嵌入向量的第二更新参数。
步骤S77,采用第二更新参数对第二待嵌入向量进行更新,得到更新后的第二待嵌入向量。
在获取到更新后的第二待嵌入向量后,对应地,步骤S708至步骤S710还可以通过以下步骤实现:步骤S78,采用所述更新后的第二待嵌入向量对所述第二降维向量进行向量嵌入处理。
需要说明的是,步骤S75至步骤S77与上述步骤S71至步骤S73实现过程相似,所不同的仅在于,步骤S75至步骤S77是对目标对象的第二待嵌入向量进行更新的过程,步骤S71至步骤S73是对待推荐信息的第一待嵌入向量进行更新的过程,其具体的更新过程可以参照步骤S71至步骤S73中的解释。
步骤S711,根据第一嵌入向量和第二嵌入向量,确定待推荐信息与目标对象之间的匹配度。
步骤S712,当匹配度大于阈值时,将待推荐信息推荐给目标对象。
图8是本申请实施例提供的信息推荐方法的一个可选的流程示意图,如图8所示,上述步骤S404可以通过以下步骤实现:
步骤S801,确定推荐***模型中对应于第一嵌入向量的第一映射函数、和对应于第二嵌入向量的第二映射函数。步骤S802,通过第一映射函数对第一嵌入向量进行映射,得到第一映射向量。步骤S803,通过第二映射函数对第二嵌入向量进行映射,得到第二映射向量。
这里,第一映射函数和第二映射函数是推荐***模型中的函数,该推荐***模型可以是基于深度神经网络的模型,因此,在深度神经网络的隐层中,会通过第一映射函数和第二映射函数分别对第一嵌入向量和第二嵌入向量进行映射,以使得映射后所得到的第一映射向量和第二映射向量满足深度神经网络中各个隐层的计算需求。
步骤S804,根据第一映射向量和第二映射向量,确定待推荐信息与目标对象之间的匹配度。
在一些实施例中,步骤S804可以通过以下步骤实现:
步骤S8041,确定第一映射向量与第二映射向量之间的内积。步骤S8042,根据内积与预设阈值之间的比值,确定待推荐信息与目标对象之间的匹配度。
在一些实施例中,上述信息推荐方法还可以采用信息推荐模型实现,即采用信息推荐模型确定待推荐信息与目标对象之间的匹配度。这里的信息推荐模型即上述实施例中的用于训练得到待嵌入向量(包括第一待嵌入向量和第二待嵌入向量)、第一权重和第二权重的模型。
图9A是本申请实施例提供的信息推荐模型的一个可选的结构示意图,如图9A所示,信息推荐模型90包括输入层901、特征提取层902、映射器903、推荐器904和输出层905,其中,输入层901用于输入样本推荐信息和样本对象,特征提取层902用于对样本推荐信息和样本对象分别进行特征提取,对应得到第一样本特征向量和第二样本特征向量,并将所得到的第一样本特征向量和第二样本特征向量输入至映射器903;映射器903用于对第一样本特征向量和第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到样本推荐信息的第一样本嵌入向量和样本对象的第二样本嵌入向量,并将第一样本嵌入向量和第二样本嵌入向量输入至推荐器904;推荐器904用于根据第一样本嵌入向量和第二样本嵌入向量,确定样本推荐信息与样本对象之间的样本匹配度,并将样本匹配度通过输出层905输出。
在图9A所示的信息推荐模型中,特征提取层902能够同时对样本推荐信息和样本对象分别进行特征提取;映射器903能够同时对第一样本特征向量和第二样本特征向量,依次进行映射处理和向量嵌入处理。也就是说,图9A所示的信息推荐模型中包括一个特征提取层、一个映射器。
图9B是本申请实施例提供的信息推荐模型的一个可选的结构示意图,如图9B所示,信息推荐模型91包括第一输入层911、第一特征提取层912、第一映射器913、第二输入层914、第二特征提取层915、第二映射器916、推荐器917和输出层918,其中,第一输入层911用于输入样本推荐信息;第一特征提取层912用于对样本推荐信息进行特征提取,对应得到第一样本特征向量,并将所得到的第一样本特征向量输入至第一映射器913;第一映射器913用于对第一样本特征向量,依次进行映射处理和向量嵌入处理,对应得到样本推荐信息的第一样本嵌入向量,并将第一样本嵌入向量输入至推荐器917;第二输入层914用于输入样本对象;第二特征提取层915用于对样本对象进行特征提取,对应得到第二样本特征向量,并将所得到的第二样本特征向量输入至第二映射器916;第二映射器916用于对第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到样本对象的第二样本嵌入向量,并将第二样本嵌入向量输入至推荐器917;推荐器917用于根据第一样本嵌入向量和第二样本嵌入向量,确定样本推荐信息与样本对象之间的样本匹配度,并将样本匹配度通过输出层918输出。
在图9B所示的信息推荐模型中,通过两个输入层分别输入样本推荐信息和样本对象;并通过两个特征提取层分别对样本推荐信息和样本对象进行特征提取;并通过两个映射器分别对第一样本特征向量和第二样本特征向量进行映射处理和向量嵌入处理。也就是说,图9B所示的信息推荐模型中对样本推荐信息和样本对象的映射处理和向量嵌入处理是在不同的映射器中完成的。
基于图9A的信息推荐模型,本申请实施例再提供一种信息推荐模型,图9C是本申请实施例提供的信息推荐模型的一个可选的结构示意图,如图9C所示,信息推荐模型92包括输入层901、特征提取层902、映射器903、推荐器904和输出层905,其中,推荐器904包括推荐***模型921和预测模型922。
推荐***模型921用于同时对第一样本嵌入向量和第二样本嵌入向量进行映射,对应得到第一样本映射向量和第二样本映射向量;预测模型922用于预测样本推荐信息与样本对象之间的样本匹配度。在图9C所示的信息推荐模型中,通过一个推荐***模型921同时对第一样本嵌入向量和第二样本嵌入向量进行映射。
基于图9B的信息推荐模型,本申请实施例再提供一种信息推荐模型,图9D是本申请实施例提供的信息推荐模型的一个可选的结构示意图,如图9D所示,信息推荐模型93包括第一输入层911、第一特征提取层912、第一映射器913、第二输入层914、第二特征提取层915、第二映射器916、推荐器917和输出层918,其中,推荐器917包括第一推荐***模型931、第二推荐***模型932和预测模型933。
第一推荐***模型931用于对第一样本嵌入向量进行映射,对应得到第一样本映射向量;第二推荐***模型932用于对第二样本嵌入向量进行映射,对应得到第二样本映射向量;预测模型933用于预测样本推荐信息与样本对象之间的样本匹配度。在图9D所示的信息推荐模型中,通过两个推荐***模型分别对第一样本嵌入向量和第二样本嵌入向量进行映射。
基于上述图9A所示的信息推荐模型,本申请实施例提供一种信息推荐模型的训练方法,通过本申请实施例的训练方法,能够训练得到最终用于进行信息推荐的模型,且训练得到的最终的信息推荐模型中的参数,是上述任一实施例中用于进行计算待推荐信息与目标对象之间的匹配度的参数,这里的参数包括但不限于上述任一实施例中所提到的待嵌入向量(包括第一待嵌入向量和第二待嵌入向量)、第一权重和第二权重。
如图10所示,是本申请实施例提供的信息推荐模型的训练方法的一个可选的流程示意图,方法包括以下步骤:
步骤S101,将样本推荐信息和样本对象输入至信息推荐模型中。
这里,将样本推荐信息和样本对象作为样本数据输入至信息推荐模型中。
步骤S102,通过信息推荐模型中的特征提取层,对样本推荐信息和样本对象分别进行特征提取,对应得到第一样本特征向量和第二样本特征向量。
步骤S103,通过信息推荐模型中的映射器分别对第一样本特征向量和第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到样本推荐信息的第一样本嵌入向量和样本对象的第二样本嵌入向量。
步骤S104,通过信息推荐模型中的推荐器,根据第一样本嵌入向量和第二样本嵌入向量,确定样本推荐信息与样本对象之间的样本匹配度。
步骤S105,将样本匹配度输入至预设损失模型中,得到损失结果。
这里,预设损失模型用于将样本匹配度与预设的匹配度进行比较,得到损失结果,其中,预设的匹配度可以是用户预先设置的样本推荐信息与样本对象之间的真实匹配度。
预设损失模型中包括损失函数,通过损失函数可以计算样本匹配度与预设的匹配度之间的相似度,并根据相似度确定上述损失结果。
步骤S106,根据损失结果对特征提取层、映射器和推荐器中的参数进行修正,得到信息推荐模型。
这里,当上述相似度大于预设相似度阈值时,则损失结果表明当前的信息推荐模型中的特征提取层、映射器和推荐器中的至少一个,不能准确的对样本推荐信息和样本对象进行特征提取,或者,不能准确的对第一样本特征向量和第二样本特征向量进行映射处理和向量嵌入处理,或者,不能准确的根据第一样本嵌入向量和第二样本嵌入向量确定样本匹配度。因此,需要对当前的信息推荐模型进行修正。那么,可以根据上述相似度,对特征提取层、映射器和推荐器中的至少一个进行修正,直至信息推荐模型输出的样本匹配度与预设的匹配度之间的相似度满足预设条件时,将对应的信息推荐模型确定为训练好的信息推荐模型。
在一些实施例中,映射器(例如映射器中的向量嵌入层)中的参数至少包括:样本推荐信息的第三权重、样本对象的第四权重、样本推荐信息的第三待嵌入向量、和样本对象的第四待嵌入向量;对应地,在对映射器中的参数进行修正时,可以是根据损失结果,对以下至少之一进行修正:第三权重、第四权重、第三待嵌入向量和第四待嵌入向量(需要说明的是,最终训练得到的第三待嵌入向量和第四待嵌入向量即上述实施例中的待嵌入向量)。
本申请实施例提供的信息推荐模型的训练方法,由于将样本数据输入至信息推荐模型中,依次通过信息推荐模型中的特征提取层、映射器和推荐器进行处理之后,得到样本匹配度,并将样本匹配度输入至预设损失模型中,得到损失结果。因此,能够根据损失结果对特征提取层、映射器和推荐器中的至少一个进行修正,所得到的信息推荐模型能够准确的根据待推荐信息和目标对象确定匹配度,实现对用户进行准确的信息推荐。
基于上述图9B所示的信息推荐模型,映射器包括第一映射器和第二映射器,第一映射器与第二映射器的结构相同,对应地,步骤S103可以通过以下步骤实现:
步骤S1031,通过第一映射器,对第一样本特征向量,依次进行映射处理和向量嵌入处理,对应得到第一样本嵌入向量。步骤S1032,通过第二映射器,对第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到第二样本嵌入向量。
在一些实施例中,映射器至少包括输入层、映射处理层、向量嵌入层和输出层(图9A和图9B中均未示出),对应地,步骤S103可以通过以下步骤实现:
步骤S1033,通过输入层输入第一样本特征向量和第二样本特征向量。步骤S1034,通过映射处理层,对第一样本特征向量和第二样本特征向量分别进行映射处理,对应得到第一样本映射向量和第二样本映射向量。步骤S1035,通过向量嵌入层,对第一样本映射向量和第二样本映射向量分别进行向量嵌入处理,对应得到第一样本嵌入向量和第二样本嵌入向量。
基于上述图9C所示的信息推荐模型,推荐器至少包括:推荐***模型和预测模型;对应地,步骤S104可以通过以下步骤实现:
步骤S1041,通过推荐***模型分别对第一样本嵌入向量和第二样本嵌入向量进行映射,对应得到第一样本映射向量和第二样本映射向量。步骤S1042,将第一样本映射向量和第二样本映射向量输入至预测模型。步骤S1043,通过预测模型,预测样本推荐信息与样本对象之间的样本匹配度。
这里,预测模型中包括预测函数,预测函数是用于计算第一样本映射向量与第二样本映射向量之间的内积,以及用于将计算出的内积与预设阈值求比值的函数,将预测函数计算得到比值确定为样本推荐信息与样本对象之间的样本匹配度。
基于上述图9D所示的信息推荐模型,推荐器包括第一推荐***模型、第二推荐***模型和预测模型;对应地,步骤S104可以通过以下步骤实现:
步骤S1044,通过第一推荐***模型对第一样本嵌入向量进行映射,对应得到第一样本映射向量。步骤S1045,通过第二推荐***模型对第二样本嵌入向量进行映射,对应得到第二样本映射向量。步骤S1046,将第一样本映射向量和第二样本映射向量输入至预测模型。步骤S1047,通过预测模型,预测样本推荐信息与样本对象之间的样本匹配度。
本申请实施例提供的信息推荐模型的训练方法,提供具有不同结构的信息推荐模型,并对应不同的训练方法实现对信息推荐模型的训练,最终得到训练好的信息推荐模型。从而能够实现采用不同的信息推荐模型对用户进行信息推荐,能够满足不同开发环境下所能实现的开发效果(即形成具有不同结构的信息推荐模型),为开发人员提供更多的开发选择。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
广告触发是在线广告投放***的一个重要环节,其作用为广告召回,即基于用户画像和上下文环境情景,从广告库中检索获取候选广告集合,进而供后续模块计算并优选出曝光广告集合(这里,广告库中的广告即上述待推荐信息)。
当前广告投放***的主要触发策略主要包括以下两种:第一种,标签触发:是指基于标签体系的人群定向,广告主通过选择***挖掘得到人群属性标签,用以确定目标人群。相对的,广告投放***通过当前用户所带有的标签集合,召回购买命中标签的所有广告主的广告作为候选广告集合。第二种,智能触发:是指借助广告主积累的一方或者平台历史投放两方的效果数据,精细化计算<场景,用户>与广告主投放目标的匹配程度,进而确定投放目标人群,这一方法摆脱了广告主手动选择、实验以及比较标签与标签组合的人工成本。从广告投放***角度,将当前用户表示为高维向量,通过向量检索的方法召回广告库中相似度较高的广告集合作为广告候选。智能触发本身也是一个有监督学习,基于广告主设定或***“理解”的广告主优化目标(如转化率、点击率等),进而构造训练样本。本申请实施例的方法提出的基于曝光数据增强负采样的隐反馈推荐***适用于智能触发场景。
本申请实施例的方法可以基于特征哈希的思想来实现,特征哈希的思想是维持特征向量内积的期望不变,特征哈希的做法是:首先将原始特征p维向量元素的符号随机取反,然后将符号随机取反后的元素随机映射到k个特征存储桶中(k<p),最后每个桶中的元素加和作为维度为k的向量中的元素。
本申请实施例提供的存储高效的推荐***主要分为两个部分:映射器和推荐器。映射器负责将原始高维特征向量映射为一个低维特征向量,并将低维特征向量线性映射为一个嵌入向量;推荐器接受映射器的嵌入向量表示,计算预测用户(即目标对象)与物品(即待推荐信息)的“评分”(即匹配度)。
图11是本申请实施例提供的信息推荐方法的一种可选的流程示意图,如图11所示,方法包括以下步骤:
步骤S111,输入待查询信息(i,j)。
其中,i表示用户i;j表示物品j;待查询信息(i,j)是指待计算用户i与物品j之间的匹配度。
步骤S112,读取用户i、物品j的特征数据(即特征提取),分别记为
Figure 682363DEST_PATH_IMAGE004
Figure 277293DEST_PATH_IMAGE005
,假设
Figure 600827DEST_PATH_IMAGE004
Figure 332022DEST_PATH_IMAGE005
的维度都为p。
步骤S113,将
Figure 122124DEST_PATH_IMAGE004
Figure 610874DEST_PATH_IMAGE005
输入到映射器中,通过映射器对
Figure 144624DEST_PATH_IMAGE004
Figure 730326DEST_PATH_IMAGE005
进行降维处理和向量嵌入处理。
这里,映射器通过以下步骤实现对
Figure 19225DEST_PATH_IMAGE004
Figure 323167DEST_PATH_IMAGE005
的处理:
步骤S1131,映射器分别将
Figure 660607DEST_PATH_IMAGE004
的p个原始特征和
Figure 100816DEST_PATH_IMAGE005
的p个原始特征,通过一个均匀散列的哈希函数分别随机映射到k个特征存储桶中(k<p),用户i和物品j采用的哈希函数不一样。
步骤S1132,映射器将由k个特征存储桶构成的低维特征通过线性变换映射得到嵌入向量
Figure 170403DEST_PATH_IMAGE006
Figure 492800DEST_PATH_IMAGE007
步骤S114,将
Figure 368352DEST_PATH_IMAGE006
Figure 928647DEST_PATH_IMAGE007
输入到推荐器中,通过推荐器计算得到“评分”
Figure 434714DEST_PATH_IMAGE008
(即匹配度)。
这里,推荐器通过以下步骤实现计算得到“评分”
Figure 182090DEST_PATH_IMAGE008
步骤S1141,经过推荐***模型构建得到最终的嵌入向量
Figure 126913DEST_PATH_IMAGE009
Figure 338451DEST_PATH_IMAGE010
步骤S1142,根据嵌入向量
Figure 749841DEST_PATH_IMAGE009
Figure 984513DEST_PATH_IMAGE010
,计算得到“评分”
Figure 264185DEST_PATH_IMAGE011
步骤S115,判断当前是否是在线预测,如果是则输出
Figure 799071DEST_PATH_IMAGE008
,如果否则执行步骤S116。
步骤S116,计算与真实的“评分”
Figure 720977DEST_PATH_IMAGE012
之间的误差,根据误差优化更新模型参数。
步骤S117,判断是否继续训练,如果是则返回步骤S111,如果否则退出流程。
图12是本申请实施例提供的映射器的结构示意图,映射器的核心思想是基于特征哈希,但又与特征哈希有很大区别,其中的区别则是本申请实施例的重要创新之一。下面以用户i的输入为例,并结合图12所示,来描述映射器的实现过程,物品j的实现过程类似,其中,包括以下步骤:
步骤S121,输入特征
Figure 380629DEST_PATH_IMAGE004
,用一个均匀散列的哈希函数
Figure 401674DEST_PATH_IMAGE013
将原始p个特征的坐标分别映射到k个特征存储桶中。
步骤S122,只为k个桶学习嵌入向量,即
Figure 525488DEST_PATH_IMAGE014
,其中,
Figure 668893DEST_PATH_IMAGE015
是一个线性的映射函数,表示特征嵌入向量,k和r为正整数。传统的推荐***模型需要学习
Figure 143737DEST_PATH_IMAGE016
,p>k,因此这里能够成功减少模型需要学习的参数。
步骤S122,为原始p个特征维持一个可学习的权重向量
Figure 968474DEST_PATH_IMAGE017
,其中
Figure 212373DEST_PATH_IMAGE018
,它是被所有用户所共享的。通过学习
Figure 136467DEST_PATH_IMAGE017
,可以学习得到每个原始特征的重要性,加强模型结果的可解释性,同时还能减轻高维映射到低维出现的冲突的影响。
步骤S122,将权重
Figure 833027DEST_PATH_IMAGE017
,特征
Figure 258193DEST_PATH_IMAGE004
分别按行点乘特征嵌入向量
Figure 356599DEST_PATH_IMAGE015
,然后加和可得到
Figure 45069DEST_PATH_IMAGE019
,如以下公式(1-1)所示:
Figure 494505DEST_PATH_IMAGE020
其中,
Figure 395465DEST_PATH_IMAGE021
表示权重
Figure 676273DEST_PATH_IMAGE017
中第t维的分量;
Figure 207749DEST_PATH_IMAGE022
表示
Figure 613322DEST_PATH_IMAGE004
中第t维的分量;
Figure 645869DEST_PATH_IMAGE023
表示通过哈希函数
Figure 453288DEST_PATH_IMAGE013
映射学习得到的特征嵌入向量中的第t维的分量。图12中
Figure 483561DEST_PATH_IMAGE024
表示
Figure 314114DEST_PATH_IMAGE004
的转置。
图13是本申请实施例提供的推荐器的架构图,如图13所示,推荐器13包括第一推荐***模型131、第二推荐***模型132和预测模型133,其中,第一推荐***模型131中包括输入层1311、隐层1312和输出层1313;第二推荐***模型132中也包括输入层1321、隐层1322和输出层1323。需要说明的是,推荐器中所采用的推荐***模型并不受限制,图13只是示例性的,它可以与各类推荐***模型结合。
基于图13所示的推荐器的架构图,推荐器实现的方法包括以下步骤:
步骤S131,推荐器接收来自映射器的输出
Figure 822456DEST_PATH_IMAGE019
Figure 546698DEST_PATH_IMAGE007
步骤S132,推荐***模型将
Figure 482293DEST_PATH_IMAGE019
Figure 128038DEST_PATH_IMAGE007
构建映射为
Figure 440071DEST_PATH_IMAGE009
Figure 159765DEST_PATH_IMAGE010
因为大部分的模型都是基于深度神经网络的模型,所以图13用神经网络概括描述了推荐***模型。本申请实施例中,可以通过以下公式(1-2)和(1-3)构建映射为
Figure 531840DEST_PATH_IMAGE009
Figure 399302DEST_PATH_IMAGE010
Figure 515026DEST_PATH_IMAGE025
其中,
Figure 213860DEST_PATH_IMAGE026
Figure 163362DEST_PATH_IMAGE027
分别表示第一推荐***模型131、第二推荐***模型132的函数。
步骤S133,根据
Figure 252541DEST_PATH_IMAGE009
Figure 968693DEST_PATH_IMAGE010
,通过以下公式(1-4)计算预测的“评分”
Figure 725296DEST_PATH_IMAGE008
Figure 173595DEST_PATH_IMAGE028
在一些实施例中,还可以通过预设损失模型确定信息推荐模型的损失结果,以实现根据损失结果对模型中的参数进行修正,其中,参数修正过程中的目标函数如以下公式(1-5)所示:
Figure 953332DEST_PATH_IMAGE029
其中,
Figure 156998DEST_PATH_IMAGE030
表示损失结果;
Figure 564846DEST_PATH_IMAGE031
表示模型所需要学习的所有参数,例如,
Figure 449625DEST_PATH_IMAGE031
可以包括权重
Figure 778975DEST_PATH_IMAGE017
和特征嵌入向量
Figure 712296DEST_PATH_IMAGE015
Figure 177912DEST_PATH_IMAGE032
表示损失函数;
Figure 827068DEST_PATH_IMAGE008
表示模型输出的预测“评分”;
Figure 643715DEST_PATH_IMAGE012
表示真实的“评分”,即预先输入的真实“评分”;
Figure 115147DEST_PATH_IMAGE033
表示已观察元素的集合。
本申请实施例中,可以采用随机梯度下降(SGD,Stochastic Gradient Descent)来优化信息推荐模型。随机采样一个样本(i,j),计算预测“评分”跟真实“评分”之间的误差,然后根据误差对模型参数求导,并更新模型参数。其中,信息推荐模型的训练流程包括以下步骤:
步骤S141,读取数据,并初始化信息推荐模型中的模型参数。
步骤S142,从已观察元素
Figure 700849DEST_PATH_IMAGE033
中随机采样一个样本(i,j)。
步骤S143,用模型当前的参数,计算(i,j)的预测“评分”。
步骤S144,计算预测“评分”跟真实“评分”之间的误差,然后对模型参数求导。
步骤S145,更新模型参数。其中,步骤S144和步骤S145中更新模型参数可以通过以下公式(1-6)实现:
Figure 193011DEST_PATH_IMAGE034
其中,t表示优化更新过程的第t轮;
Figure 965795DEST_PATH_IMAGE035
表示第t+1轮优化更新所得到的模型所需要学习的所有参数;
Figure 568814DEST_PATH_IMAGE036
表示第t轮优化更新所得到的模型所需要学习的所有参数;
Figure 71340DEST_PATH_IMAGE037
表示学习率。
步骤S146,重复步骤S142至步骤S145的过程,直至模型收敛或者满足停止条件。
本申请实施例提供的信息推荐方法,在实际测量过程中,采用归纳式矩阵补全(IMC,Inductive Matrix Completion)作为推荐器中的推荐***模型。因此,在如下的实际测量中称为HashIMC,比较的方法称为IMC。
这里,分别在User-APP(用户APP),User-Community(用户群)和Lookalike(一种数据集)三个真实的大规模数据集上进行了实测,数据集信息呈现在下表1中。其中,p表示用户特征维度,q表示物品特征的维度。#Users、#Items和#Ω分别表示用户个数、物品个数和已观察“评分”的个数。
Figure 468823DEST_PATH_IMAGE038
在三个大规模数据集上的结果分别呈现在表2、表3和表4中。在以下这些表格中,ρ表示训练样本的采样比例,cr表示HashIMC相比于IMC的参数压缩比例,括号中的数字表示HashIMC相对于IMC的性能变化情况,值越大越好。在表4中,IMC-DS表示使用了随机降采样后的特征用于训练的IMC方法,OOM表示该方法因为模型运行所占用的内存超出服务器的最大内存而无法获得结果。
Figure 463324DEST_PATH_IMAGE039
Figure 604455DEST_PATH_IMAGE040
Figure 961487DEST_PATH_IMAGE041
由上述三个大规模数据集上的实测结果可以看出,在参数减少4到32倍的情况下,本申请实施例的推荐***模型的性能几乎没有下降,说明了本申请实施例方案的可实施性。
另外,为了呈现HashIMC的可解释性,这里还在Lookalike数据上进行了实测。通过丢掉学习得到的原始特征向量权重中较小的值,可以验证本申请实施例方案是否能够学习得到每个原始特征的重要性。结果呈现在表5中,表5中sp表示丢掉特征向量权重较小值的比例,是按照从小到大的顺序进行丢弃。实测结果显示,本申请实施例方案的特征向量权重能够学习得到原始特征的重要性,因此能够依据原始特征向量权重的大小来对推荐结果的影响作出解释。
Figure 264293DEST_PATH_IMAGE042
本申请实施例所述的映射器是一种通用的技术,它能用于解决相关技术中推荐***模型的参数高存储开销问题,因此本申请实施例介绍的推荐器部分的推荐***模型还可以是其它主流的推荐***模型,如NeuMF模型、DIN模型等,本申请实施例对推荐器中的推荐***模型不做限定。
下面继续说明本申请实施例提供的信息推荐装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的信息推荐装置354中的软件模块可以是服务器300中的信息推荐装置,包括:
特征提取模块3541,用于对待推荐信息和目标对象分别进行特征提取,对应得到具有第一维度的第一特征向量和具有第二维度的第二特征向量;降维处理模块3542,用于对所述第一特征向量和所述第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量;其中,所述第三维度小于所述第一维度,所述第四维度小于所述第二维度;向量嵌入处理模块3543,用于采用待嵌入向量,对所述第一降维向量和所述第二降维向量分别进行向量嵌入处理,对应得到所述待推荐信息的具有第五维度的第一嵌入向量和所述目标对象的具有第六维度的第二嵌入向量;其中,所述第五维度小于所述第三维度,所述第六维度小于所述第四维度,所述待嵌入向量是通过对信息推荐模型进行训练后学习得到的向量;确定模块3544,用于根据所述第一嵌入向量和所述第二嵌入向量,确定所述待推荐信息与所述目标对象之间的匹配度;信息推荐模块3545,用于当所述匹配度大于阈值时,将所述待推荐信息推荐给所述目标对象。
在一些实施例中,所述第一特征向量具有第一维度,所述第二特征向量具有第二维度;所述降维处理模块还用于:采用第一预设哈希函数对所述第一特征向量进行映射处理,得到具有第三维度的所述第一降维向量;采用第二预设哈希函数对所述第二特征向量进行映射处理,得到具有第四维度的所述第二降维向量。
在一些实施例中,向量嵌入处理模块还用于:获取所述待推荐信息的第一权重和所述第一待嵌入向量;将所述第一降维向量中每一维度的分量,分别与所述第一权重和所述第一待嵌入向量进行点乘,得到每一维度的分量对应的第一点乘结果;对至少两个所述分量对应的所述第一点乘结果进行求和,得到所述待推荐信息的具有第五维度的第一嵌入向量。
在一些实施例中,所述装置还包括:第一相似度确定模块,用于确定所述匹配度与第一预设匹配度之间的相似度;第一更新参数确定模块,用于根据所述相似度确定所述第一待嵌入向量的第一更新参数;第一更新模块,用于采用所述第一更新参数对所述第一待嵌入向量进行更新,得到更新后的第一待嵌入向量;对应地,向量嵌入处理模块还用于:采用所述更新后的第一待嵌入向量对所述第一降维向量进行向量嵌入处理。
在一些实施例中,所述待嵌入向量包括所述目标对象的第二待嵌入向量;向量嵌入处理模块还用于:获取所述目标对象的第二权重和所述第二待嵌入向量;将所述第二降维向量中每一维度的分量,分别与所述第二权重和所述第二待嵌入向量进行点乘,得到每一维度的分量对应的第二点乘结果;对至少两个所述分量对应的所述第二点乘结果进行求和,得到所述目标对象的具有第六维度的第二嵌入向量。
在一些实施例中,所述装置还包括:第二相似度确定模块,用于确定所述匹配度与第二预设匹配度之间的相似度;第二更新参数确定模块,用于根据所述相似度确定所述第二待嵌入向量的第二更新参数;第二更新模块,用于采用所述第二更新参数对所述第二待嵌入向量进行更新,得到更新后的第二待嵌入向量;对应地,向量嵌入处理模块还用于:采用所述更新后的第二待嵌入向量对所述第二降维向量进行向量嵌入处理。
在一些实施例中,所述确定模块还用于:确定推荐***模型中对应于所述第一嵌入向量的第一映射函数、和对应于所述第二嵌入向量的第二映射函数;通过所述第一映射函数对所述第一嵌入向量进行映射,得到第一映射向量;通过所述第二映射函数对所述第二嵌入向量进行映射,得到第二映射向量;根据所述第一映射向量和所述第二映射向量,确定所述待推荐信息与所述目标对象之间的匹配度。
在一些实施例中,所述确定模块还用于:确定所述第一映射向量与所述第二映射向量之间的内积;根据所述内积与预设阈值之间的比值,确定所述待推荐信息与所述目标对象之间的匹配度。
在一些实施例中,所述装置还包括:处理模块,用于采用信息推荐模型确定所述待推荐信息与所述目标对象之间的匹配度;其中,所述信息推荐模型通过以下步骤进行训练:将样本推荐信息和样本对象输入至所述信息推荐模型中;通过所述信息推荐模型中的特征提取层,对所述样本推荐信息和所述样本对象分别进行特征提取,对应得到第一样本特征向量和第二样本特征向量;通过所述信息推荐模型中的映射器分别对所述第一样本特征向量和所述第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到所述样本推荐信息的第一样本嵌入向量和所述样本对象的第二样本嵌入向量;通过所述信息推荐模型中的推荐器,根据所述第一样本嵌入向量和所述第二样本嵌入向量,确定所述样本推荐信息与所述样本对象之间的样本匹配度;将所述样本匹配度输入至预设损失模型中,得到损失结果;根据所述损失结果对所述特征提取层、所述映射器和所述推荐器中的参数进行修正,得到所述信息推荐模型。
在一些实施例中,所述映射器包括第一映射器和第二映射器,所述第一映射器与所述第二映射器的结构相同;所述信息推荐模型通过以下步骤进行训练:通过所述第一映射器,对所述第一样本特征向量,依次进行所述映射处理和所述向量嵌入处理,对应得到所述第一样本嵌入向量;同时,通过所述第二映射器,对所述第二样本特征向量,依次进行所述映射处理和所述向量嵌入处理,对应得到所述第二样本嵌入向量。
在一些实施例中,所述映射器至少包括输入层、映射处理层、向量嵌入层和输出层;所述信息推荐模型通过以下步骤进行训练:通过所述输入层输入所述第一样本特征向量和所述第二样本特征向量;通过所述映射处理层,对所述第一样本特征向量和所述第二样本特征向量分别进行所述映射处理,对应得到第一样本映射向量和第二样本映射向量;通过所述向量嵌入层,对所述第一样本映射向量和所述第二样本映射向量分别进行所述向量嵌入处理,对应得到所述第一样本嵌入向量和所述第二样本嵌入向量。
在一些实施例中,所述向量嵌入层中的参数至少包括:所述样本推荐信息的第三权重、所述样本对象的第四权重、所述样本推荐信息的第三待嵌入向量、和所述样本对象的第四待嵌入向量;对应地,所述信息推荐模型通过以下步骤进行训练:根据所述损失结果,对以下至少之一进行修正:所述第三权重、所述第四权重、所述第三待嵌入向量和所述第四待嵌入向量。
在一些实施例中,所述推荐器至少包括:推荐***模型和预测模型;所述信息推荐模型通过以下步骤进行训练:通过所述推荐***模型分别对所述第一样本嵌入向量和所述第二样本嵌入向量进行映射,对应得到第一样本映射向量和第二样本映射向量;将所述第一样本映射向量和所述第二样本映射向量输入至所述预测模型;通过所述预测模型,预测所述样本推荐信息与所述样本对象之间的所述样本匹配度。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的信息推荐方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

Claims (15)

1.一种信息推荐方法,其特征在于,包括:
对待推荐信息和目标对象分别进行特征提取,对应得到具有第一维度的第一特征向量和具有第二维度的第二特征向量;
对所述第一特征向量和所述第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量;其中,所述第三维度小于所述第一维度,所述第四维度小于所述第二维度;
采用待嵌入向量,对所述第一降维向量和所述第二降维向量分别进行向量嵌入处理,对应得到所述待推荐信息的具有第五维度的第一嵌入向量和所述目标对象的具有第六维度的第二嵌入向量;其中,所述第五维度小于所述第三维度,所述第六维度小于所述第四维度,所述待嵌入向量是通过对信息推荐模型进行训练后学习得到的向量;
根据所述第一嵌入向量和所述第二嵌入向量,确定所述待推荐信息与所述目标对象之间的匹配度;
当所述匹配度大于阈值时,将所述待推荐信息推荐给所述目标对象。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一特征向量和所述第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量,包括:
采用第一预设哈希函数对所述第一特征向量进行所述映射处理,得到具有所述第三维度的所述第一降维向量;
采用第二预设哈希函数对所述第二特征向量进行所述映射处理,得到具有所述第四维度的所述第二降维向量。
3.根据权利要求1所述的方法,其特征在于,所述待嵌入向量包括所述待推荐信息的第一待嵌入向量;
对所述第一降维向量进行向量嵌入处理,对应得到所述待推荐信息的具有第五维度的第一嵌入向量,包括:
获取所述待推荐信息的第一权重和所述第一待嵌入向量;
将所述第一降维向量中每一维度的分量,分别与所述第一权重和所述第一待嵌入向量进行点乘,得到每一维度的分量对应的第一点乘结果;
对至少两个所述分量对应的所述第一点乘结果进行求和,得到所述待推荐信息的具有第五维度的第一嵌入向量。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述匹配度与第一预设匹配度之间的相似度;
根据所述相似度确定所述第一待嵌入向量的第一更新参数;
采用所述第一更新参数对所述第一待嵌入向量进行更新,得到更新后的第一待嵌入向量;
对应地,所述方法还包括:采用所述更新后的第一待嵌入向量对所述第一降维向量进行向量嵌入处理。
5.根据权利要求1所述的方法,其特征在于,所述待嵌入向量包括所述目标对象的第二待嵌入向量;
对所述第二降维向量进行特征嵌入处理,对应得到所述目标对象的具有第六维度的第二嵌入向量,包括:
获取所述目标对象的第二权重和所述第二待嵌入向量;
将所述第二降维向量中每一维度的分量,分别与所述第二权重和所述第二待嵌入向量进行点乘,得到每一维度的分量对应的第二点乘结果;
对至少两个所述分量对应的所述第二点乘结果进行求和,得到所述目标对象的具有第六维度的第二嵌入向量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定所述匹配度与第二预设匹配度之间的相似度;
根据所述相似度确定所述第二待嵌入向量的第二更新参数;
采用所述第二更新参数对所述第二待嵌入向量进行更新,得到更新后的第二待嵌入向量;
对应地,所述方法还包括:采用所述更新后的第二待嵌入向量对所述第二降维向量进行向量嵌入处理。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一嵌入向量和所述第二嵌入向量,确定所述待推荐信息与所述目标对象之间的匹配度,包括:
确定推荐***模型中对应于所述第一嵌入向量的第一映射函数、和对应于所述第二嵌入向量的第二映射函数;
通过所述第一映射函数对所述第一嵌入向量进行映射,得到第一映射向量;
通过所述第二映射函数对所述第二嵌入向量进行映射,得到第二映射向量;
根据所述第一映射向量和所述第二映射向量,确定所述待推荐信息与所述目标对象之间的匹配度。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一映射向量和所述第二映射向量,确定所述待推荐信息与所述目标对象之间的匹配度,包括:
确定所述第一映射向量与所述第二映射向量之间的内积;
根据所述内积与预设阈值之间的比值,确定所述待推荐信息与所述目标对象之间的匹配度。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
采用信息推荐模型确定所述待推荐信息与所述目标对象之间的匹配度;
其中,所述信息推荐模型通过以下步骤进行训练:
将样本推荐信息和样本对象输入至所述信息推荐模型中;
通过所述信息推荐模型中的特征提取层,对所述样本推荐信息和所述样本对象分别进行特征提取,对应得到第一样本特征向量和第二样本特征向量;
通过所述信息推荐模型中的映射器分别对所述第一样本特征向量和所述第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到所述样本推荐信息的第一样本嵌入向量和所述样本对象的第二样本嵌入向量;
通过所述信息推荐模型中的推荐器,根据所述第一样本嵌入向量和所述第二样本嵌入向量,确定所述样本推荐信息与所述样本对象之间的样本匹配度;
将所述样本匹配度输入至预设损失模型中,得到损失结果;
根据所述损失结果对所述特征提取层、所述映射器和所述推荐器中的参数进行修正,得到所述信息推荐模型。
10.根据权利要求9所述的方法,其特征在于,所述映射器包括第一映射器和第二映射器,所述第一映射器与所述第二映射器的结构相同;
所述通过所述信息推荐模型中的映射器分别对所述第一样本特征向量和所述第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到所述样本推荐信息的第一样本嵌入向量和所述样本对象的第二样本嵌入向量,包括:
通过所述第一映射器,对所述第一样本特征向量,依次进行所述映射处理和所述向量嵌入处理,对应得到所述第一样本嵌入向量;同时,
通过所述第二映射器,对所述第二样本特征向量,依次进行所述映射处理和所述向量嵌入处理,对应得到所述第二样本嵌入向量。
11.根据权利要求9所述的方法,其特征在于,所述映射器至少包括输入层、映射处理层、向量嵌入层和输出层;
所述通过所述信息推荐模型中的映射器分别对所述第一样本特征向量和所述第二样本特征向量,依次进行映射处理和向量嵌入处理,对应得到所述样本推荐信息的第一样本嵌入向量和所述样本对象的第二样本嵌入向量,包括:
通过所述输入层输入所述第一样本特征向量和所述第二样本特征向量;
通过所述映射处理层,对所述第一样本特征向量和所述第二样本特征向量分别进行所述映射处理,对应得到第一样本映射向量和第二样本映射向量;
通过所述向量嵌入层,对所述第一样本映射向量和所述第二样本映射向量分别进行所述向量嵌入处理,对应得到所述第一样本嵌入向量和所述第二样本嵌入向量。
12.根据权利要求9所述的方法,其特征在于,所述推荐器至少包括:推荐***模型和预测模型;
所述通过所述信息推荐模型中的推荐器,根据所述第一样本嵌入向量和所述第二样本嵌入向量,确定所述样本推荐信息与所述样本对象之间的样本匹配度,包括:
通过所述推荐***模型分别对所述第一样本嵌入向量和所述第二样本嵌入向量进行映射,对应得到第一样本映射向量和第二样本映射向量;
将所述第一样本映射向量和所述第二样本映射向量输入至所述预测模型;
通过所述预测模型,预测所述样本推荐信息与所述样本对象之间的所述样本匹配度。
13.一种信息推荐装置,其特征在于,包括:
特征提取模块,用于对待推荐信息和目标对象分别进行特征提取,对应得到具有第一维度的第一特征向量和具有第二维度的第二特征向量;
降维处理模块,用于对所述第一特征向量和所述第二特征向量分别进行映射处理,对应得到具有第三维度的第一降维向量和具有第四维度的第二降维向量;其中,所述第三维度小于所述第一维度,所述第四维度小于所述第二维度;
向量嵌入处理模块,用于采用待嵌入向量,对所述第一降维向量和所述第二降维向量分别进行向量嵌入处理,对应得到所述待推荐信息的具有第五维度的第一嵌入向量和所述目标对象的具有第六维度的第二嵌入向量;其中,所述第五维度小于所述第三维度,所述第六维度小于所述第四维度,所述待嵌入向量是通过对信息推荐模型进行训练后学习得到的向量;
确定模块,用于根据所述第一嵌入向量和所述第二嵌入向量,确定所述待推荐信息与所述目标对象之间的匹配度;
信息推荐模块,用于当所述匹配度大于阈值时,将所述待推荐信息推荐给所述目标对象。
14.一种信息推荐设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至12任一项所述的方法。
CN202010835094.XA 2020-08-19 2020-08-19 信息推荐方法、装置、设备及计算机可读存储介质 Active CN111737586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010835094.XA CN111737586B (zh) 2020-08-19 2020-08-19 信息推荐方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010835094.XA CN111737586B (zh) 2020-08-19 2020-08-19 信息推荐方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111737586A true CN111737586A (zh) 2020-10-02
CN111737586B CN111737586B (zh) 2020-12-04

Family

ID=72658543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010835094.XA Active CN111737586B (zh) 2020-08-19 2020-08-19 信息推荐方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111737586B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112135334A (zh) * 2020-10-27 2020-12-25 上海连尚网络科技有限公司 一种用于确定无线接入点的热点类型的方法与设备
CN112418423A (zh) * 2020-11-24 2021-02-26 百度在线网络技术(北京)有限公司 利用神经网络向用户推荐对象的方法、设备和介质
CN114398558A (zh) * 2022-01-19 2022-04-26 北京百度网讯科技有限公司 信息推荐方法、装置、电子设备和存储介质
CN114780844A (zh) * 2022-04-21 2022-07-22 杭州樱熊网络科技有限公司 基于用户习惯的小说推荐方法及***
CN114840761A (zh) * 2022-05-13 2022-08-02 北京达佳互联信息技术有限公司 推送模型的训练方法、装置、设备、存储介质及程序产品

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112018A (zh) * 2014-07-21 2014-10-22 南京大学 一种大规模图像检索方法
CN105095435A (zh) * 2015-07-23 2015-11-25 北京京东尚科信息技术有限公司 一种图像高维特征的相似比较方法及装置
US10467122B1 (en) * 2017-04-27 2019-11-05 Intuit Inc. Methods, systems, and computer program product for capturing and classification of real-time data and performing post-classification tasks
CN110717539A (zh) * 2019-10-08 2020-01-21 腾讯科技(深圳)有限公司 基于人工智能的降维模型训练方法、检索方法及装置
CN110781391A (zh) * 2019-10-22 2020-02-11 腾讯科技(深圳)有限公司 一种信息推荐方法、装置、设备及存储介质
CN110874440A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 一种信息推送及其模型训练的方法、装置及电子设备
CN111079015A (zh) * 2019-12-17 2020-04-28 腾讯科技(深圳)有限公司 一种推荐方法、装置、计算机设备和存储介质
CN111444428A (zh) * 2020-03-27 2020-07-24 腾讯科技(深圳)有限公司 基于人工智能的信息推荐方法、装置、电子设备及存储介质
CN111460130A (zh) * 2020-03-27 2020-07-28 咪咕数字传媒有限公司 信息推荐方法、装置、设备和可读存储介质
CN111538761A (zh) * 2020-04-21 2020-08-14 中南大学 基于注意力机制的点击率预测方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112018A (zh) * 2014-07-21 2014-10-22 南京大学 一种大规模图像检索方法
CN105095435A (zh) * 2015-07-23 2015-11-25 北京京东尚科信息技术有限公司 一种图像高维特征的相似比较方法及装置
US10467122B1 (en) * 2017-04-27 2019-11-05 Intuit Inc. Methods, systems, and computer program product for capturing and classification of real-time data and performing post-classification tasks
CN110717539A (zh) * 2019-10-08 2020-01-21 腾讯科技(深圳)有限公司 基于人工智能的降维模型训练方法、检索方法及装置
CN110781391A (zh) * 2019-10-22 2020-02-11 腾讯科技(深圳)有限公司 一种信息推荐方法、装置、设备及存储介质
CN111079015A (zh) * 2019-12-17 2020-04-28 腾讯科技(深圳)有限公司 一种推荐方法、装置、计算机设备和存储介质
CN110874440A (zh) * 2020-01-16 2020-03-10 支付宝(杭州)信息技术有限公司 一种信息推送及其模型训练的方法、装置及电子设备
CN111444428A (zh) * 2020-03-27 2020-07-24 腾讯科技(深圳)有限公司 基于人工智能的信息推荐方法、装置、电子设备及存储介质
CN111460130A (zh) * 2020-03-27 2020-07-28 咪咕数字传媒有限公司 信息推荐方法、装置、设备和可读存储介质
CN111538761A (zh) * 2020-04-21 2020-08-14 中南大学 基于注意力机制的点击率预测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵珊等: ""基于随机旋转局部保持哈希的图像检索技术"", 《工程科学与技术》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112135334A (zh) * 2020-10-27 2020-12-25 上海连尚网络科技有限公司 一种用于确定无线接入点的热点类型的方法与设备
CN112418423A (zh) * 2020-11-24 2021-02-26 百度在线网络技术(北京)有限公司 利用神经网络向用户推荐对象的方法、设备和介质
CN112418423B (zh) * 2020-11-24 2023-08-15 百度在线网络技术(北京)有限公司 利用神经网络向用户推荐对象的方法、设备和介质
CN114398558A (zh) * 2022-01-19 2022-04-26 北京百度网讯科技有限公司 信息推荐方法、装置、电子设备和存储介质
CN114780844A (zh) * 2022-04-21 2022-07-22 杭州樱熊网络科技有限公司 基于用户习惯的小说推荐方法及***
CN114780844B (zh) * 2022-04-21 2022-10-28 杭州樱熊网络科技有限公司 基于用户习惯的小说推荐方法及***
CN114840761A (zh) * 2022-05-13 2022-08-02 北京达佳互联信息技术有限公司 推送模型的训练方法、装置、设备、存储介质及程序产品
CN114840761B (zh) * 2022-05-13 2024-05-28 北京达佳互联信息技术有限公司 推送模型的训练方法、装置、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN111737586B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN111737586B (zh) 信息推荐方法、装置、设备及计算机可读存储介质
CN110717098B (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
CN108427708B (zh) 数据处理方法、装置、存储介质和电子装置
US10943068B2 (en) N-ary relation prediction over text spans
US11501161B2 (en) Method to explain factors influencing AI predictions with deep neural networks
CN111242310B (zh) 特征有效性评估方法、装置、电子设备及存储介质
JP7225395B2 (ja) 動的再構成訓練コンピュータアーキテクチャ
CN110008397B (zh) 一种推荐模型训练方法及装置
CN109902823B (zh) 一种基于生成对抗网络的模型训练方法及设备
CN111026977B (zh) 信息推荐方法、装置及存储介质
KR102666635B1 (ko) 검색어 추천 장치, 방법 및 기록매체
WO2024041483A1 (zh) 一种推荐方法及相关装置
CN115879508A (zh) 一种数据处理方法及相关装置
CN113868466B (zh) 视频推荐的方法、装置、设备和存储介质
CN110472659B (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
WO2023050143A1 (zh) 一种推荐模型训练方法及装置
CN115237732A (zh) 一种操作预测方法及相关装置
CN113656699B (zh) 用户特征向量确定方法、相关设备及介质
CN111178986A (zh) 用户-商品偏好的预测方法及***
CN113255327B (zh) 文本处理方法、装置、电子设备及计算机可读存储介质
CN111459990B (zh) 对象处理方法、***及计算机可读存储介质和计算机设备
CN115545738A (zh) 一种推荐方法及相关装置
CN117708421B (zh) 基于模块化神经网络的动态推荐方法及***
US20240184835A1 (en) Recommender system and its operation
CN109871487B (zh) 一种新闻召回方法和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030700

Country of ref document: HK