CN110413868A - 信息推荐方法、装置、系统及存储介质 - Google Patents
信息推荐方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN110413868A CN110413868A CN201811315443.4A CN201811315443A CN110413868A CN 110413868 A CN110413868 A CN 110413868A CN 201811315443 A CN201811315443 A CN 201811315443A CN 110413868 A CN110413868 A CN 110413868A
- Authority
- CN
- China
- Prior art keywords
- preference
- sample
- analogical
- object set
- users
- 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
Links
Abstract
本发明实施例提供信息推荐方法、装置、系统及存储介质;方法包括:接收客户端发起的针对目标用户的推荐请求;查询目标用户的偏好对象集合,以及偏好对象集合中每个偏好对象各自对应的相似对象集合;基于加载的偏好对象集合、以及相似对象集合,确定目标用户与相似对象集合中每个相似对象的相似度得分;向客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
Description
技术领域
本发明涉及电数字数据处理技术,尤其涉及一种信息推荐方法、装置、系统及存储介质。
背景技术
互联网时代呈现信息爆炸的趋势,一方面,用户通过网络方便地获取各种各样的物品和服务,在另一方面,物品和服务的丰富也增大了用户快速定位所需物品和服务的难度,用户选择使用的物品和服务往往不是最符合需求的,这种错位情况导致社会整体上提供的物品和服务不能被有效配置和利用。
信息推荐算法旨在从繁杂数据中获取用户感兴趣的信息,以支撑电子商务、社交网络和媒体资讯等各种应用场景。协同过滤推荐系统根据用户的画像(兴趣特点),向用户个性化推荐其感兴趣物品和服务,以应用于安卓应用商店为例,推荐算法能够向用户推荐热门的应用,以节约用户查找类似应用的时间。
然而,发明人在实施本发明的过程中发现,现有技术的提供的推荐方案存在资源消耗大、推荐结果同质化的问题。
发明内容
本发明实施例提供一种信息推荐方法、装置、系统及存储介质,能够以资源集约化的方式进行精确推荐。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种信息推荐方法,所述方法包括:
接收客户端发起的针对目标用户的推荐请求;
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合;
基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与每个相似对象之间的相似度得分;
向客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
本发明实施例提供一种信息推荐方法,所述方法包括:
在客户端中通过调用服务器的推荐接口向所述服务器发送推荐请求,以触发所述服务器执行响应操作;
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合;
基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与所述相似对象集合中每个相似对象之间的相似度得分;
向客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
上述方案中,所述响应操作中的确定所述目标用户与所述相似对象集合中每个相似对象之间的相似度得分,包括:
确定所述偏好对象集合中每个偏好对象分别与所述相似对象之间的相似度;
标记所确定的相似度的加和为所述目标用户与所述相似对象之间的相似度得分。
上述方案中,所述响应操作中的所述确定所述偏好对象集合中每个偏好对象分别与所述相似对象之间的相似度,包括:
建立包括对应每个偏好对象的关联矩阵;
其中,所述关联矩阵包括对应所述偏好对象和所述相似对象的以下元素:共同偏好的样本用户的数量、特殊偏好的样本用户的数量、以及全部不偏好的样本用户的数量;
确定所述关联矩阵的矩阵熵、行熵和列熵,并进行所述矩阵熵、行熵和列熵之间的差值运算,得到所述偏好对象和所述相似对象之间的似然相似度。
上述方案中,所述响应操作还包括:
当确定所述目标用户与所述相似对象之间的相似度得分时,释放加载的所述偏好对象集合、以及所述相似对象集合。
上述方案中,所述响应操作还包括:
解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户偏好的样本对象;
基于所述样本用户偏好的样本对象,形成所述样本用户的偏好对象集合。
上述方案中,所述解析对样本用户采样的行为数据,得到所述样本用户偏好的样本对象,包括:
解析所述样本用户采样的行为数据,得到向所述样本用户曝光的样本对象;
标记所述样本用户点击的已曝光样本对象为所述样本用户偏好的样本对象。
上述方案中,所述解析对样本用户采样的评分数据,得到所述样本用户的偏好的样本对象,包括:
对表征所述样本用户的评分数据进行归一化处理;
基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为所述样本用户偏好的样本对象。
上述方案中,所述响应操作还包括:
确定样本用户的偏好对象与样本对象集合中每个样本对象之间的相似度;
基于与所述样本用户的偏好对象之间的相似度超出相似度阈值的样本对象,形成对应所述样本用户的偏好对象的相似对象集合。
上述方案中,所述响应操作中的所述查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合,包括:
提取所述推荐请求的时间、空间和场景至少一个维度的上下文信息;
查询所述目标用户的偏好对象集合中的每个偏好对象,并筛除未与所述至少一个维度适配的偏好对象,得到适配的偏好对象集合;
查询所述适配的偏好对象集合中每个偏好对象的各自对应的相似对象集合。
上述方案中,所述响应操作还包括:
查询满足热门条件的热门对象;
当所述目标用户是新注册用户时,以及当未查询到所述目标用户的偏好对象集合时,发送所述热门对象的推荐信息。
本发明实施例提供一种信息推荐装置,所述装置包括:
响应单元,用于接收客户端发起的针对目标用户的推荐请求;
查询单元,用于查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合;
相似度单元,用于基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与所述相似对象之间的相似度得分;
所述响应单元,还用于向客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
上述方案中,所述相似度单元,还用于:
确定所述偏好对象集合中每个偏好对象与所述相似对象之间的相似度;
标记所确定的相似度的加和为所述目标用户与所述相似对象之间的相似度得分。
上述方案中,所述相似度单元,还用于:
建立对应每个偏好对象的关联矩阵;
其中,所述关联矩阵包括对应所述偏好对象和所述相似对象的以下元素:共同偏好的样本用户的数量、特殊偏好的样本用户的数量、以及全部不偏好的样本用户的数量;
确定所述关联矩阵的矩阵熵、行熵和列熵,并进行所述矩阵熵、行熵和列熵之间的差值运算,得到所述偏好对象和所述相似对象之间的似然相似度。
上述方案中,所述查询单元,还用于:
当所述相似度单元确定所述目标用户与所述相似对象之间的相似度得分时,释放加载的所述偏好对象集合以及所述相似对象集合。
上述方案中,所述相似度单元,还用于:
解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户的偏好样本对象;
基于所述样本用户偏好的样本对象,形成所述样本用户的偏好对象集合。
上述方案中,所述相似度单元,还用于:
解析所述样本用户采样的行为数据,得到向所述样本用户曝光的样本对象;
标记所述样本用户点击的已曝光样本对象为所述样本用户偏好的样本对象。
上述方案中,所述相似度单元,还用于:
对表征所述样本用户的评分数据进行归一化处理;
基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为所述样本用户偏好的样本对象。
上述方案中,所述相似度单元,还用于:
当所述响应单元接收针对所述目标用户的推荐请求之前,
确定样本用户的偏好对象与样本对象集合中每个样本对象之间的相似度;
基于满足所述相似度条件的样本对象,形成对应所述样本用户的偏好对象的相似对象集合。
上述方案中,所述查询单元,还用于:
提取所述推荐请求的时间、空间和场景至少一个维度的上下文信息;
查询所述目标用户的偏好对象集合中的每个偏好对象,并筛除未与所述至少一个维度适配的偏好对象,得到适配的偏好对象集合;
查询所述适配的偏好对象集合中每个偏好对象各自对应的相似对象集合。
上述方案中,所述响应单元,还用于:
查询满足热门条件的热门对象;
当所述目标用户是新注册用户时,以及当未查询到所述目标用户的偏好对象集合时,发送所述热门对象的推荐信息。
本发明实施例提供一种信息推荐装置,所述装置包括:
调用单元,用于在客户端中通过调用服务器的推荐接口向所述服务器发送推荐请求,以触发所述服务器执行以下的响应操作:
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合,
基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与所述相似对象之间的相似度得分;
响应单元,用于向所述客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
上述方案中,所述调用单元具体用于通过以下操作,来完成所述响应操作中的确定所述目标用户与所述相似对象之间的相似度得分:
确定所述偏好对象集合中每个偏好对象与所述相似对象之间的相似度;
标记所确定的相似度的加和为所述目标用户与所述相似对象之间的相似度得分。
上述方案中,所述调用单元具体用于通过以下操作,来完成所述响应操作中的所述确定所述偏好对象集合中每个偏好对象与所述相似对象之间的相似度:
建立对应每个偏好对象的关联矩阵;
其中,所述关联矩阵包括对应所述偏好对象和所述相似对象的以下元素:共同偏好的样本用户的数量、特殊偏好的样本用户的数量、以及全部不偏好的样本用户的数量;
确定所述关联矩阵的矩阵熵、行熵和列熵,并进行所述矩阵熵、行熵和列熵之间的差值运算,得到所述偏好对象和所述相似对象之间的似然相似度。
上述方案中,所述调用单元还用于触发所述服务器执行以下的响应操作:
当确定所述目标用户与所述相似对象的相似度得分时,释放所述加载的所述偏好对象集合、以及所述相似对象集合。
上述方案中,所述调用单元还用于触发所述服务器执行以下的响应操作:
解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户偏好的样本对象;
基于所述样本用户偏好的样本对象,形成所述样本用户的偏好对象集合。
上述方案中,所述调用单元具体用于通过触发所述服务器执行以下操作,来完成所述响应操作中的解析对样本用户采样的行为数据,得到所述样本用户偏好的样本对象:
解析所述样本用户采样的行为数据,得到向所述样本用户曝光的样本对象;
标记所述样本用户点击的已曝光样本对象为所述样本用户偏好的样本对象。
上述方案中,所述调用单元具体用于通过触发所述服务器执行以下操作,来完成所述响应操作中的解析对样本用户采样的评分数据,得到所述样本用户偏好的样本对象:
对表征所述样本用户的评分数据进行归一化处理;
基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为所述样本用户偏好的样本对象。
上述方案中,所述调用单元还用于触发所述服务器执行以下的响应操作:
确定样本用户的偏好对象与样本对象集合中每个样本对象之间的相似度;
基于标记的满足所述相似度条件的样本对象,形成对应所述样本用户的偏好对象的相似对象集合。
上述方案中,所述调用单元具体用于触发所述服务器执行以下操作,来完成所述响应操作中的查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合:
提取所述推荐请求的时间、空间和场景至少一个维度的上下文信息;
查询所述目标用户的偏好对象集合中的每个偏好对象,并筛除未与所述至少一个维度适配的偏好对象,得到适配的偏好对象集合;
查询所述适配的偏好对象集合中每个偏好对象各自对应的相似对象集合。
上述方案中,所述调用单元还用于触发所述服务器执行以下的响应操作:
查询满足热门条件的热门对象;
当所述目标用户是新注册用户时,以及当未查询到所述目标用户的偏好对象集合时,发送所述热门对象的推荐信息。
本发明实施例提供一种信息推荐系统,所述系统包括:
客户端,用于向服务器发起的针对目标用户的推荐请求;接收所述服务器响应的符合推荐条件的相似对象所对应的推荐信息;
服务器,用于:
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合;
基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与所述相似对象之间的相似度得分。
本发明实施例提供一种信息推荐装置,所述装置包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的任一种信息推荐方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的任一种信息推荐方法。
本发明实施例具有以下有益效果:
通过目标用户的偏好对象集合与相似对象集合的方式确定相似度得分,实现针对目标用户的推荐请求而灵活加载数据,节约了资源,简化了计算复杂度;
相似度得分避免了热门对象推荐被集中推荐而冷门对象难以推荐的同质化问题,提升了推荐精度。
附图说明
图1是本发明实施例提供的信息推荐系统的一个可选的架构示意图;
图2是本发明实施例提供的终端一个可选的结构示意图;
图3是本发明实施例提供的服务器一个可选的结构示意图;
图4A是本发明实施例提供的信息推荐方法的一个可选的流程示意图;
图4B是本发明实施例提供的查询偏好对象集合和相似对象集合的流程示意图;
图4C是本发明实施例提供的确定偏好对象和相似对象的对数似然相似度的流程示意图;
图4D是本发明实施例提供的信息推荐方法的流程示意图;
图4E是本发明实施例提供的形成样本用户的偏好对象集合和相似对象集合的流程示意图;
图5是本发明实施例提供的多用户的基于内存的推荐模型的一个可选的示意图;
图6是本发明实施例提供的基于对数似然相似度推荐物品的一个可选的流程示意图;
图7是本发明实施例提供的运行应用商店客户端的显示示意图;
图8是本发明实施例提供的运行应用商店客户端的显示示意图;
图9是本发明实施例提供的物品推荐系统的整体性能耗时数据的统计图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)样本对象,泛指用户能够获取的物品和服务,或者,能够向用户推荐的物品和服务。其中物品包括虚拟物品(例如应用、游戏道具、广告、新闻、公众号文章等)、实体物品(例如数码设备),服务包括在互联网先上和线下可以获取的服务,例如线上的云服务、技术支持、以及线下的物流配送服务等。
2)样本对象集合,是在可采样范围内能够得到的样本对象的全量集合,例如在应用程序的推荐场景中,样本对象集合是应用商店的全部应用。
3)偏好对象,即用户所偏好的样本对象,其中用户所偏好的样本对象的集合称为偏好对象集合,例如,用户1偏好的样本对象为样本对象1和样本对象2,则用户的偏好对象集合为{样本对象1,样本对象2}。
4)相似对象,与偏好对象相似(满足相似度条件:两者的相似度超出相似度阈值)的样本对象,与偏好对象相似的样本对象的集合称为偏好对象的相似对象集合;用户的偏好对象集合中的每个偏好对象所对应的相似对象集合,称为用户的相似对象集合。
例如,用户1的偏好对象集合为{样本对象1,样本对象2},若样本对象3和样本对象4均与样本对象1相似,样本对象5和样本对象6均与样本对象2相似,则样本对象1的相似对象集合是{样本对象3,样本对象4},样本对象2的相似对象集合是{样本对象5,样本对象6};用户1的相似对象为:样本对象3,样本对象4,样本对象5,样本对象6;用户1的相似对象集合为{样本对象3,样本对象4,样本对象5,样本对象6}。
5)相似度,用于量化表示对象之间的相似程度,涉及的计算因子包括:两个对象被共同偏好的样本用户的数量、特殊偏好的样本用户的数量(偏好一个对象而未被偏好另一个对象的样本用户的数量),全部不偏好两个对象的样本用户的数量;典型的相似度是对数似然相似度;根据这些计算因子来计算相似度,计算过程包括矩阵熵、行熵和列熵的计算。
6)相似度得分,用于量化表示用户与对象之间的相似程度,是综合用户的每个偏好对象与相应偏好对象的相似对象之间的相似度而确定。
7)响应于,用于表示所执行的操作所依赖的条件或者状态,当所依赖的条件或状态被满足时,所执行的一个或多个操作以实时的,也可以具有设定的延迟的方式执行;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
下面说明实现本发明实施例的信息推荐装置的示例性应用,本发明实施例提供的装置可以实施为运行客户端的智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为对接客户端的服务端设备,例如用于支撑各种业务的服务器/集群等,本发明实施例还可以提供包括以上的两者的信息推荐系统。
首先说明实现本发明实施例的信息推荐系统的示例性架构。
参见图1,图1是本发明实施例提供的信息推荐系统100的一个可选的架构示意图,为实现支撑一个示例性应用,终端200(示例性示出了终端200-1和终端200-2)通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
终端200中用于运行支撑各种业务的客户端,在客户端的用户界面210(图1中示出了用户界面210-1和用户界面210-2),用于显示客户端处理业务的各种中间结果和最终结果。
服务器400用于向终端200运行的客户端提供可调用的推荐接口,可以是各种形式的应用程序接口(API,Application Program Interface),例如软件开发套件(SDK,Software Development Kit)接口,并响应终端200的客户端对推荐接口的调用,以确定向目标用户(即使用终端200的客户端的用户)推荐的对象,即与目标用户的偏好对象的相似对象集合中进行过滤,以得到具有推荐价值的相似对象,并向终端200的客户端发送相似对象的推荐信息。
继续说明实现本发明实施例的信息推荐装置实施为客户端设备的示例性结构,实现发明实施例的信息推荐装置可以实施为如图1所示的运行客户端的终端200,并提供为硬件的方式,或软硬件结合的方式。
参见图2,图2是本发明实施例提供的终端200一个可选的结构示意图,终端200可以是移动电话、计算机、数字广播终端、信息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等,这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图2所示的终端200包括:至少一个处理器210、存储器240、至少一个网络接口220和用户接口230。终端200中的各个组件通过总线系统250耦合在一起。可理解,总线系统250用于实现这些组件之间的连接通信。总线系统250除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统250。
用户接口230可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
存储器240可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、闪存(Flash Memory)等。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static RandomAccess Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random AccessMemory)。本发明实施例描述的存储器240旨在包括这些和任意其它适合类型的存储器。
存储器240能够存储数据以支持终端200的操作。这些数据的示例包括:用于在终端200上操作的任何程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
作为本发明实施例提供的方法采用软硬件结合实施的示例,本发明实施例所提供的方法可以直接体现为由处理器240执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器240,处理器210读取存储器240中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器240以及连接到总线250的其他组件)完成本发明实施例提供的方法。
作为示例,处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
下面说明软件模块的示例性结构,在一些实施例中,如图2所示,存储器240中的软件模块可以包括调用单元241和推荐单元242,分别进行说明。
调用单元241,用于在客户端中通过调用服务器的推荐接口向服务器发送推荐请求,以触发服务器执行以下的响应操作:查询目标用户的偏好对象集合,以及偏好对象集合中每个偏好对象各自对应的相似对象集合,基于在内存中加载的偏好对象集合、以及相似对象集合,确定目标用户与相似对象之间的相似度得分,其中,相似度得分表示偏好对象和相似对象被样本用户是否偏好(例如偏好或不偏好)的不同组合的出现次数而进行统计确定。
推荐单元242,用于从服务器接收相似度得分符合推荐条件的相似对象所对应的推荐信息,并显示推荐信息。
在一些实施例中,调用单元241触发服务器执行响应操作还包括:将所查询到的样本用户对应的偏好对象集合、以及所查询到的样本对象各自对应的相似对象集合加载到内存,以根据加载到内存的数据进行相似度得分的计算。
例如,触发服务器执行以下的响应操作:当接收针对目标用户的推荐请求之前,从数据库存储的样本用户集合中每个样本用户各自对应的偏好对象集合中,查询样本用户集合中至少部分样本用户各自对应的偏好对象集合,以及目标用户的偏好对象集合中每个偏好对象各自对应的相似对象集合,并将查询到的偏好对象集合和相似对象集合加载到内存。
再例如,通过触发服务器执行以下操作,来完成响应操作中的查询目标用户的偏好对象集合,以及偏好对象集合中每个偏好对象各自对应的相似对象集合:在内存查询与目标用户所对应的偏好对象集合,以及偏好对象集合中每个偏好对象各自对应的相似对象集合。
在一些实施例中,调用单元241触发服务器执行的响应操作还包括:当确定目标用户与相似对象之间的相似度得分时,释放内存中加载的偏好对象集合、以及相似对象集合。
在一些实施例中,调用单元241触发服务器执行的响应操作中的确定目标用户与相似对象之间的相似度得分,包括:确定用户的偏好对象集合中每个偏好对象与相似对象之间的相似度;标记所确定的相似度的加和为目标用户与相似对象之间的相似度得分。
在一些实施例中,调用单元241触发服务器执行的响应操作中的确定偏好对象集合中每个偏好对象与相似对象之间的相似度,包括:针对目标用户的每个偏好对象建立对应的关联矩阵;其中,关联矩阵包括对应偏好对象和相似对象的以下元素(即,偏好对象和相似对象被样本用户是否偏好的不同组合):共同偏好的样本用户的数量、特殊偏好的样本用户的数量、以及全部不偏好的样本用户的数量;确定关联矩阵的矩阵熵、行熵和列熵,并进行矩阵熵、行熵和列熵之间的差值运算,得到偏好对象和相似对象两者之间的似然相似度。
在一些实施例中,调用单元241触发服务器执行的响应操作还包括:解析对样本用户采样的行为数据和/或评分数据,得到样本用户偏好的样本对象,以形成样本用户的偏好对象集合。
在一些实施例中,调用单元241触发服务器执行的响应操作中的解析对样本用户采样的行为数据和/或评分数据,得到样本用户偏好的样本对象,包括:解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户偏好的样本对象(即偏好对象);基于所述样本用户偏好的样本对象,形成所述样本用户的偏好对象集合。
例如,对表征样本用户的评分数据进行归一化处理;基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为样本用户偏好的样本对象,并标记未超出得分阈值的样本对象为样本用户的不偏好对象。
再例如,确定样本用户的偏好对象与样本对象集合中每个样本对象之间的相似度,基于与样本用户的偏好对象之间的相似度超出相似度阈值的样本对象,形成对应样本的偏好对象的相似对象集合。
在一些实施例中,调用单元241触发服务器执行的查询目标用户的偏好对象集合,以及偏好对象集合中每个偏好对象的相似对象集合,包括:提取推荐请求的时间、空间和场景至少一个维度的上下文信息;查询目标用户的偏好对象集合中的每个偏好对象,并筛除未与至少一个维度适配的偏好对象,得到适配的偏好对象集合;查询适配的偏好对象集合中每个偏好对象各自对应的相似对象集合。
在一些实施例中,调用单元241触发服务器执行的响应操作还包括:查询满足热门条件的热门对象;当目标用户是新注册用户时,以及当未查询到目标用户的偏好对象集合时,发送热门对象的推荐信息。
作为本发明实施例提供的方法采用硬件实施的示例,本发明实施例所提供的方法可以直接采用硬件译码处理器形式的处理器210来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circui t)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件执行实现本发明实施例提供的方法。
继续说明实现本发明实施例的信息推荐装置实施为服务端设备的示例性结构,实现发明实施例的信息推荐装置可以实施为如图1所示的服务器400,并提供为硬件的方式,或软硬件结合的方式。当然,服务端设备也可以为服务器集群,在服务器集群中可以部署用于支撑业务的各种云服务,以云服务的形式向客户端提供业务支撑。
参见图3,图3是本发明实施例提供的服务器400一个可选的结构示意图,服务器400,应当指出,这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图3所示的服务器400包括:至少一个处理器410、至少一个网络接口420、存储器430和总线系统440。一个处理器410、网络接口420、存储器430和总线系统440可以根据图2示出的终端200中示出的处理器210、存储器240、网络接口220和总线系统250的相关说明而实施。
存储器430能够存储数据以支持服务器400的操作。这些数据的示例包括:用于在服务器400上操作的任何程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
作为本发明实施例提供的方法采用软硬件结合实施的示例,本发明实施例所提供的方法可以直接体现为由处理器410执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器430,处理器410读取存储器430中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器240以及连接到总线250的其他组件)完成本发明实施例提供的方法。
作为示例,处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
下面说明软件模块的示例性结构,在一些实施例中,如图3所示,存储器430中的软件模块可以包括响应单元431、查询单元432和相似度单元433,分别进行说明。
响应单元431,用于接收客户端发起的针对目标用户的推荐请求;向客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
查询单元432,用于查询目标用户的偏好对象集合,以及偏好对象集合中每个偏好对象各自对应的相似对象集合。
相似度单元433,用于基于在内存中加载的偏好对象集合、以及相似对象集合,确定目标用户与相似对象之间的相似度得分;其中,相似度得分表示偏好对象和相似对象被样本用户是否偏好的不同组合的统计情况而确定。
在一些实施例中,查询单元432,还用于将所查询到的样本用户对应的偏好对象集合、以及所查询到的样本对象对应的相似对象集合加载到内存。
在一些实施例中,相似度单元433,还用于确定偏好对象集合中每个偏好对象与相似对象之间的相似度;标记所确定的相似度的加和为目标用户与相似对象之间的相似度得分。
在一些实施例中,相似度单元433,还用于针对目标用户的每个偏好对象建立对应的关联矩阵;其中,关联矩阵包括对应偏好对象和相似对象的以下元素(偏好对象和相似对象被样本用户是否偏好的不同组合的出现次数):共同偏好的样本用户的数量、特殊偏好的样本用户的数量、以及全部不偏好的样本用户的数量;确定关联矩阵的矩阵熵、行熵和列熵,并进行矩阵熵、行熵和列熵之间的差值运算,得到偏好对象和相似对象之间的似然相似度。
在一些实施例中,查询单元432,具体用于在数据库存储的样本用户集合中每个样本用户各自对应的偏好对象集合中,查询与目标用户对应的偏好对象集合,以及目标用户的偏好对象集合中每个偏好对象各自对应的相似对象集合;将目标用户所对应的偏好对象集合、以及目标用户的偏好对象集合中每个偏好对象各自对应的相似对象集合加载到内存,以根据加载内存的数据进行相似度得分的计算。
例如,上述的加载可以是当查询单元432接收针对所述目标用户的推荐请求之前的预加载;还可以当相似度单元433确定目标用户与相似对象之间的相似度得分时,释放内存中加载的偏好对象集合、以及相似对象集合。
在一些实施例中,相似度单元433,还用于解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户的偏好样本对象为对应的偏好对象;基于所述样本用户的偏好对象,形成所述样本用户的偏好对象集合。
例如,解析样本用户采样的行为数据,得到向样本用户曝光的样本对象;标记样本用户点击的已曝光样本对象为样本用户的偏好对象,并标记样本用户未点击的已曝光样本对象为样本用户的不偏好对象。
再例如,对表征样本用户的评分数据进行归一化处理;基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为样本用户的偏好对象,并标记未超出得分阈值的样本对象为样本用户的不偏好对象。
在一些实施例中,相似度单元433,还用于当响应单元431接收针对目标用户的推荐请求之前,确定样本用户的偏好对象与样本对象集合中每个样本对象之间的相似度,基于与样本用户的偏好对象之间的相似度超出相似度阈值的样本对象,形成对应样本对象的偏好对象的相似对象集合。
在一些实施例中,查询单元432,还用于提取推荐请求的时间、空间和场景至少一个维度的上下文信息;查询目标用户的偏好对象集合中的每个偏好对象,并筛除未与至少一个维度适配的偏好对象,得到适配的偏好对象集合;查询适配的偏好对象集合中每个偏好对象各自对应的相似对象集合。
在一些实施例中,响应单元431,还用于查询满足热门条件的热门对象;当目标用户是新注册用户时,以及当未查询到目标用户的偏好对象集合时,发送热门对象的推荐信息。
将结合前述的实现本发明实施例的信息推荐装置实施为运行客户端的终端实施服务器、以及由终端和服务器组成的信息推荐系统的示例性应用,下面将结合上文所述的信息推荐系统,说明实现本发明实施例的信息推荐方法的示例性实施。
需要指出,下文中所记载的终端可以是终端200,服务器可以是服务器400,但不应视为限制,终端不局限于运行特定客户端的终端,例如可以是运行各种类型客户端,例如移动客户端(APP)、网页客户端等等。同时,服务器也不局限于某一类型客户端的专用的服务器,例如可以是独立于客户端的后台服务器而部署的第三方的服务器/集群,不再单独说明。
参见图4A,图4A是本发明实施例提供的信息推荐方法的一个可选的流程示意图,将结合图4A示出的步骤进行说明。
在步骤101中,终端中运行的客户端向服务器发送推荐请求。
客户端不局限于特定的运行平台,例如可以是在计算机平台、移动平台的客户端;同时不局限于特定类型,例如可以是社交类型、应用商店类型和媒体播放类等。
在一些实施例中,终端中运行的客户端自动检测显示推荐信息的时机,例如,当检测到客户端的推荐区域被调度显示时,或者曝光推荐信息的定时时间到达时,通过调用服务器的推荐接口向服务器发送推荐请求,以根据服务器返回的相似对象的推荐信息进行显示。
在另一些实施例中,客户端也可以在运行期间定期或者不定期地调用服务器的推荐接口向服务器发送推荐请求,从而能够在客户端中的推荐时机出现时,及时显示相似对象的推荐信息,以增加曝光机会。
在又一些实施例中,客户端根据监听到的用户操作样本对象的事件,调用服务器的推荐接口发送采样的数据,例如应用商店客户端监听到用户查询、下载、安装、升级或卸载应用的相关事件时,采样用户操作过程的行为数据和/或评分数据发送到服务器,同时调用服务器的推荐接口向服务器发送推荐请求,触发服务器根据实时的行为数据和/或评分数据实时更新用户的偏好对象列表和相似对象列表,从而能够在步骤104中确定最适合在当前向用户推荐的相似对象。
在步骤102中,服务器查询目标用户的偏好对象集合,以及查询偏好对象集合中每个偏好对象各自对应的相似对象集合。
在一些实施例中,服务器以数据库的形式存储样本用户的偏好对象集合和相似对象集合,数据库可以是在服务器本地维护,或者,维护在独立于服务器部署的数据库服务器中;能够实现快速查询、避免因为查询导致向客户端返回推荐信息的延迟,提升实时性。
例如,服务器以键值对的形式存储在非结构化数据库中时,以样本用户的序列号(ID)作为键(Key),并以对应的偏好对象集合作为值(Vlue),存储为键值对的形式。以偏好对象的ID为Key,以偏好对象的相似对象集合为Value,存储为键值对的形式。
下面结合目标用户的偏好对象集合和相似对象集合的查询过程进行说明。
参见图4B,图4B是本发明实施例提供的查询偏好对象集合和相似对象集合的流程示意图,结合图4B示出的步骤进行说明。
在步骤1021中,服务器以目标用户的ID为键查询偏好对象集合的非结构化数据库,得到对应的值中包括的目标用户的偏好对象集合。
例如,当接收到推荐请求时,通过对推荐请求初始化上下文可以得到目标用户的ID,查找非结构化数据库中对应的值中包括目标用户的偏好对象集合。
在一个查询的示例中,用户1的ID为“1”,以“1”为键查询,得到用户1的偏好对象集合为{样本对象1,样本对象2}。
在步骤1022中,服务器以偏好对象的ID为键查询相似对象集合的非结构化数据库,得到对应的值中包括的相似对象集合。
例如,服务器从步骤1021中查询到的偏好对象集合中读取其中每个偏好对象的ID,以每个偏好对象的ID为键,查询非结构化数据库,得到对应的值中包括的偏好对象集合。
在一个查询的示例中,用户1的偏好对象为样本对象1和样本对象2,分别以“1”和“2”作为键去查询相似对象集合的非结构化数据库,得到样本对象1的相似对象集合是{样本对象3,样本对象4},样本对象2的相似对象集合是{样本对象5,样本对象6}。
可以看出,相似对象集合作为值(Value)进行存储。当接收到推荐请求时,根据目标用户(也就是操作客户端的样本用户)的针对需要响应的推荐请求,通过在内存中将偏好对象集合和相似对象集合进行关联,将推荐对象的过滤范围扩散到目标用户的每个偏好对象的相似对象集合,解决了可推荐的样本对象稀疏的问题,从而能够避免现有技术提供的协同过滤算法用户的行为数据和/或评分数据较少、或用户的向量模型稀疏时,对象的相似度普遍偏低的问题,进而提升推荐精度。
在步骤103中,服务器将所查询到的样本用户对应的偏好对象集合、以及所查询到的样本对象对应的相似对象集合加载到服务器的内存。
在一些实施例中,针对部分目标用户的相似对象集合和偏好对象集合不断累积而体积偏大的情况,服务器可以按照相似对象集合和偏好对象集合的更新先后时间顺序,定期/不定期/根据体积上限清理目标用户的相似对象集合和偏好对象集合,以保证每个目标用户在步骤103中占用的内存均衡。
在另一些实施例中,针对部分目标用户的相似对象集合和偏好对象集合不断累积而体积偏大的情况,服务器可以提取推荐请求的时间、空间和场景至少一个维度的上下文信息;查询目标用户的偏好对象集合中的每个偏好对象,并筛除未与至少一个维度适配的偏好对象,得到适配的偏好对象集合;查询适配的偏好对象集合中每个偏好对象各自对应的相似对象集合,并将适配的偏好对象集合、适配的偏好对象集合中每个偏好对象的相似对象集合加载到内存,在保证推荐精度的基础上实现了内存资源占用的集约。
继续说明相似对象集合和偏好对象集合在内存中加载的示例性实施。
参见图5,图5是本发明实施例提供的多用户的基于内存的推荐模型的一个可选的示意图,在图5中示例性示出的目标用户1至目标用户N的内存模型,在开始接收目标用户的推荐请求时,服务器才在内存中加载相应目标用户的偏好对象集合和相似对象集合。
可以看出,相较于现有技术提供的系统过滤算法在响应推荐请求时需要在内存中加载行为/评分数据,或者一次性加载全量用户的相关数据,能够明显节约对内存的占用,从而能够支持用户数量庞大的业务系统以在线的方式进行推荐。
在步骤104中,服务器基于在内存中加载的偏好对象集合、以及相似对象集合,确定目标用户与相似对象集合中每个相似对象的相似度得分。
在一些实施例中,服务器通过确定偏好对象集合中偏好对象与相似对象的相似度,在确定相似度时,使用是否偏好(包括共同偏好、特殊偏好和均不偏好)偏好对象集合中的所有偏好对象和相似对象的样本用户的数据作为相似度的计算因子,并标记所确定的相似度的加和为目标用户与相似对象的相似度得分,使得相似度得分具有表示目标用户的偏好对象集合中的所有偏好对象、以及偏好对象(即目标用户的偏好对象)的相似对象被样本用户是否偏好的关联性的特性。
以用户1为例,用户1的偏好对象集合为{样本对象1,样本对象2},假设样本对象1的相似对象集合是{样本对象3,样本对象4},样本对象2的相似对象集合是{样本对象5,样本对象6};则用户1的相似对象集合为{样本对象3,样本对象4,样本对象5,样本对象6},用户1与相似对象(以样本对象3为例)之间的相似度得分如公式(1)所示。
其中,Similarity(j,样本对象3)表示样本对象j与样本对象3的相似度。
相似度得分除了采用对偏好对象和相似对象的相似度直接加和的方式,还可以采用加权求和的方式,为目标用户的每个偏好对象设置不同的权重,仍以用户1为例,基于偏好对象的权重计算的相似度得分,如公式(2)所示。
其中,αj表示用户1的偏好对象j的权重。
服务器可以采用多种方式设置偏好对象的权重,在一些实施例中,按照从采样的目标用户的行为数据和/或评分数据识别偏好对象的先后顺序,赋予对应的权重,其中先识别的偏好对象的权重小于后识别的偏好对象的权重,使得新识别的偏好对象的相似对象能够被服务器更容易地识别到(即确定与目标用户的偏好对象的对数似然相似度满足推荐条件),从而根据用户最近的行为/评分,
例如,当用户在应用商店下载/安装/查询/卸载应用后,根据从相应的行为数据和/或评分数据识别的偏好应用并设置相对较大的权重,能够使这些偏好应用的相似应用更快地被推荐到用户,实现了对用户的偏好变化灵敏感知从而精确推荐的技术效果。
在另一些实施例中,服务器还可以结合用户画像数据(例如用户偏好的对象的类型)赋予相似对象不同的权重,或者,结合目标用户关注(包括收藏、下载、检索、购买等)偏好对象的程度,为偏好对象设置相适配的权重。可以理解地,上述设置偏好对象的权重的方式可以择一或者结合使用。
在一些实施例中,利用对数似然相似度能够表达偏好对象以及相似对象被样本用户是否偏好(包括偏好/不偏好)的关联性的特性,使用对数似然相似度作为相似度的实现方式,但是可以理解,相似度不局限于对数似然相似度的实现方式,例如,针对对数似然相似度所进行的各种可以预见的变换,都可以作为相似度来计算相似度得分。
仍以前述的以用户1为例,相似度采用对数似然相似度时,用户1与样本对象3的相似度如公式(3)所示。
其中,LLR(j,样本对象3)表示样本对象j与样本对象3的对数似然相似度,对数似然相似度的加和除了如公式(3)所示的直接求和(即偏好对象1和偏好对象2的权重相同)的形式,还可以采用前述的加权求和的方式,如公式(4)所示。
继续说明确定对数似然相似度的方式,参见图4C,图4C是本发明实施例提供的确定偏好对象和相似对象的对数似然相似度的流程示意图,结合图4C示出的各个步骤进行说明。
在步骤1041中,服务器建立包括偏好对象和相似对象的关联矩阵。
针对样本用户集合中的每个样本用户,服务器查询样本用户针对样本对象集合中的每个样本对象的偏好程度的数据,例如表示偏好/不偏好的数据,由于偏好对象集合和相似对象集合都是样本对象集合的子集,因此可以查询到以下的数据:
1)共同偏好相似对象和偏好对象的样本用户的数量;
2)特殊偏好(即只偏好相似对象和偏好对象中的一个)的样本用户的数量;
3)均不偏好相似对象和偏好对象的样本用户的数量。
根据所查询的表示不同类型偏好的样本用户的数量,建立的关联矩阵以表格的形式表示如下。
表1
其中,k11表示共同偏好相似对象和偏好对象的样本用户的数量,k12表示偏好相似对象但不偏好“偏好对象”样本用户的数量,k21表示不偏好相似对象但偏好“偏好对象”的样本用户的数量,k22表示既不偏好相似对象又不偏好“偏好对象”的样本用户的数量。
在步骤1042中,服务器根据建立的关联矩阵确定对应的矩阵熵、行熵和列熵。关联矩阵的行熵如公式(5)所示。
关联矩阵的列熵如公式(6)所示。
关联矩阵的矩阵熵如公式(7)所示。
在步骤1043中,服务器进行矩阵熵、行熵和列熵之间的差值运算,得到偏好对象和样本对象的对数似然相似度。
对数似然相似度如公式(8)所示。
Similiarity=2*(matirxEntropy-rowEntropy-columnEntropy) (8)
由步骤104可以看出,由于相似度得分是基于不同偏好程度的样本用户数据计算得到的,从而能够克服现有技术提供的协同过滤算法片面基于一种偏好程度的数据而导致计算的热门对象相似度过高、而冷门对象相似度偏低的情况,使得即使用户偏好的是冷门对象的情况也能及时进行推荐,提升了推荐精度。
步骤105,服务器发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
推荐条件是服务器针对目标用户与相似对象的相似度得分设置的条件,不局限于阈值、排序等形式。
例如,推荐条件可以采用相似度得分阈值的形式,当目标用户与相似对象的相似度得分超出相似度得分阈值时,即标记相应的相似对象满足对应目标用户的推荐条件。
再例如,推荐条件可以采用相似度降序排序的方式,排序在前的设定数量的相似对象被标记为满足为对应目标对象的相似条件。
此外,针对相似列表中可能还包括目标用户偏好的样本对象的情况(两个相同的样本对象必然满足互为相似对象的条件,即相似度超出相似度阈值),服务器还可以在符合推荐条件的相似对象中过滤已知的目标用户的偏好对象,从而避免重复推荐的情况。
步骤106,终端中运行的客户端显示相似对象的推荐信息。
推荐信息用于实现相似对象在目标客户端的曝光,不局限于相似对象本身、相似对象的结构化的元数据信息等形式。
例如,当相似对象本身是虚拟物品时如应用、广告和公众号文章时,推荐信息可以是相似对象自身,例如应用的安装包;当候选偏好对象自身是实物物品或服务时,推荐信息可以是候选偏好对象的结构化的信息,包括获取方式、使用方式以及资费等。
在一些实施例中,提供针对目标用户进行内存管理的方案,当释放内存条件满足时,即释放内存中加载的目标用户的偏好对象集合和相似对象集合。
参见图4D,图4D是本发明实施例提供的基于图4A的信息推荐方法的流程示意图,结合图5,在步骤107中,当确定目标用户与相似用户的相似度得分时,即释放内存中目标用户的偏好对象集合和相似对象集合。从而实现了服务器的内存资源集约化的技术效果。
需要指出,释放内存条件不局限于以上所述。
例如,还可以为服务器的内存占用比例达到比例阈值,按照响应的推荐请求的先后时间顺序,释放对应的目标用户的偏好对象集合和相似对象集合,直至内存占用比例不高于比例阈值,从而保证服务器的负荷稳定。
再例如,还可以为目标用户发送推荐请求的活跃程度低于活跃程度阈值,或者,目标用户发送推荐请求的时刻与当前时刻的时间间隔超出时间间隔阈值说明短时间内响应同一用户的推荐请求的可能性较低,则对应的目标用户的偏好对象集合和相似对象集合,以实现内存资源的集约化。
继续说明服务器形成样本用户的偏好对象集合和相似对象集合的方式。
参见图4E,图4E是本发明实施例提供的形成样本用户的偏好对象集合和相似对象集合的流程示意图,结合图4E示出的步骤进行说明。
在步骤108中,服务器接收客户端中目标用户的行为数据和/或评分数据。
在一些实施例中,服务器可以实时地或定期地从客户端采样行为数据和/或评分数据,从而形成/更新样本用户的偏好对象集合和相似对象集合。
在另一些实施例中,当在步骤107中,客户端中接收到用户操作样本对象的事件时,例如,客户端中在步骤106中显示相似对象的推荐信息,并接收到用户操作样本对象(可以是推荐的相似对象,也可以是客户端中显示的其他对象)的事件时,服务器采样目标用户在客户端的行为数据和/或评分数据,从而能够实时更新目标用户的偏好对象集合和相似对象集合,使得确定的相似对象能够适配目标用户当前操作对象的操作所处的场景。
例如,当用户在应用商店客户端下载/安装/更新/卸载应用时,服务器根据采样的行为数据,标记的下载/安装/更新的应用为偏好应用,标记卸载应用为不偏好应用,实时更新目标用户的偏好对象集合和相似对象集合,根据相似度得分和推荐条件,在应用商店的推荐区域显示的推荐应用中,将优先显示下载/安装/更新应用的相似应用,而卸载的应用的相似应用将不显示或滞后显示。
在步骤109中,服务器解析对样本用户采样的行为数据和/或评分数据,得到样本用户针对样本对象的偏好程度。
在一些实施例中,针对采样得到样本用户的行为数据的情况,服务器解析样本用户采样的行为数据,得到向样本用户曝光的样本对象;标记样本用户点击的已曝光样本对象为样本用户的偏好对象,标记样本用户未点击的已曝光样本对象为样本用户的不偏好对象。
在一些实施例中,针对采样得到样本用户的评分数据的情况,服务器对表征样本用户的评分数据进行归一化处理;基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为样本用户的偏好对象,标记未超出得分阈值的样本对象为样本用户的不偏好对象。
可以看出,归一化处理能够克服不同来源的评分数据的评分标准不一致的情况,准确反映不同样本用户针对样本对象的评分情况,保证确定符合推荐条件的相似对象的精确性。
在步骤110中,服务器基于偏好程度符合偏好条件的样本对象,形成样本用户的偏好对象集合。
作为示例,将标记为样本用户的偏好对象形成样本用户的偏好对象集合,以样本用户的ID为键,以对应的偏好对象集合为值,利用组成的键值对写入/更新偏好对象集合的非结构化数据库。
在步骤111中,服务器确定样本用户的偏好对象与样本对象集合中每个样本对象之间的对数似然相似度。
在一些实施例中,服务器建立包括偏好对象和样本对象的关联矩阵,关联矩阵中的元素包括共同偏好样本用户数量、特殊偏好的样本用户数量、全部不偏好的样本用户的数量;确定关联矩阵的矩阵熵、行熵和列熵,并进行矩阵熵、行熵和列熵之间的差值运算,得到偏好对象和样本对象的对数似然相似度。
可以理解,确定偏好对象和样本对象的相似度可以根据前述步骤104的记载而实施。
在步骤112中,服务器基于标记的满足对数似然相似度条件的样本对象,形成偏好对象的相似对象集合。
作为示例,将标记为偏好对象的相似对象集合,以偏好对象的ID为键,以对应的相似对象集合为值,利用组成的键值对写入/更新相似对象集合的非结构化数据库。
在一些实施例中,针对步骤104未查询到目标用户的偏好对象集合的情况,以及,客户端的目标用户新注册用户的情况,为了保证最大程度实现精确推荐,服务器可以查询满足热门条件的热门对象,并向目标用户的客户端发送对象的推荐信息。
作为示例,热门条件可以是最近的窗口时间(例如一月、一周)内推荐/获取/关注次数排序在前的设定数量的应用,其中排序还可以根据用户画像数据(例如性别、教育程度、地域)等进行分类。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的信息推荐方法,例如图4A至图4E任一附图示出的信息推荐方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在确定环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
下面,将说明本发明实施例在一个物品推荐的应用场景中的示例性应用,并首先在示例性应用中所涉及的相关术语。
喜欢物品列表,即列表形式的偏好对象集合,是样本用户所喜欢的物品的列表。
相似物品列表,即列表形式的相似对象集合,是喜欢列表中的物品的相似物品。
样本用户,即采样与其相关的行为/评分数据以分析所喜欢的物品的用户,下文中的“用户”除非特别说明均是指样本用户。
目标用户,即服务器需要推荐信息的用户,是客户端中发起推荐请求的主体。
样本物品,即样本对象,是具有向目标用户推荐的潜在价值的物品,下文中的“物品”如无特别说明均是指样本物品。
参见图6,图6是本发明实施例提供的基于对数似然相似度推荐物品的一个可选的流程示意图,将结合图6示出的步骤进行说明。
在步骤201中,服务器接收表示用户的曝光/点击日志(即行为数据)。
服务器接收客户端采样、并通过接口(例如推荐接口)发送的数据,除了包括表示物品的推荐信息(例如广告)曝光/点击的行为数据,还可以包括用户针对不同物品的评分数据。
在步骤202中,服务器挖掘用户的喜欢物品列表。
对于评分数据来说,由于评分数据的来源不同,例如可能来自不同类型/版本的客户端,其往往使用不同的评分方式表示样本用户对物品的喜欢程度,例如使用百分制,或者使用十分制,通过将不同来源的评分数据按照评分标准进行归一化,能够使评分数据以统一的标准表达样本用户对物品的偏好程度。
作为示例,将用户对不同物品的归一化的评分数据与评述阈值比较,如果高于或等于评分阈值,则确定用户喜欢相应的物品,形成喜欢物品列表。
对于行为数据来说,通过行为数据来识别出用户的不同类型的行为,并根据行为的类型识别用户喜欢的物品,例如,当客户端中曝光的物品的广告被用户点击时,则标记用户喜欢相应的物品,形成喜欢物品列表。
挖掘的不同用户的喜欢物品列表的一个示例如下表2所示。
用户 | 喜欢物品列表 |
用户1 | 物品A1,物品A2,…… |
用户2 | 物品B1,物品B2,…… |
…… | …… |
用户n | 物品Z1,物品Z2,…… |
表2
在步骤203中,服务器对数似然估计物品之间的(对数似然)相似度。
所有用户的喜欢物品列表中的物品构成物品集合,对于物品集合中的任意两个物品计算其对数似然相似度。
以使用对数似然算法计算物品1和物品2之间的对数似然相似度为例。
首先,计算物品1和品2关联矩阵,如下表3所示。
喜欢物品2的用户数量 | 不喜欢物品2的用户数量 | |
喜欢物品1的用户数量 | k<sub>11</sub> | k<sub>12</sub> |
不喜欢物品1的用户数量 | k<sub>21</sub> | k<sub>22</sub> |
表3
其中,k11表示同时喜欢物品1和物品2的用户数量,k12表示喜欢物品1但不喜欢物品2的用户数量,k21表示不喜欢物品1但喜欢物品2的用户数量,k22表示既不喜欢物品1又不喜欢物品2的用户数量。
其次,计算物品的似然先验概率。
1)同时喜欢物品2和物品1概率,如公式(8)所示:
2)不喜欢物品2的用户喜欢物品1(目标对象)的概率,如公式(9)所示:
3)喜欢物品1(目标对象)的概率,如公式(10)所示:
再次,计算物品1和物品2之间的对数似然相似度,如公式(11)所示:
其中,k11logp1+k21log(1-p1)+k12logp2+k22log(1-p2)为矩阵熵,(k11+k12)logp为行熵,(k21+k22)11log(1-p)为列熵。
在步骤204中,服务器挖掘用户的喜欢物品列表中每个物品的相似物品列表。
在步骤203中已经计算得到了物品集合中任意两个物品之间的对数似然相似度,对于用户的喜欢物品集合中的任一物品,记为物品i,选择与物品i的对数似然相似度满足对数似然相似度条件的物品。
例如,对物品集合中的物品与物品i的对数似然相似度进行降序排序,选取排序在前的设定数量的物品,或者选取对数似然相似度超出对数似然相似度阈值(例如零)的物品,以标记为物品i的相似物品列表。
物品i的相似物品列表的一个示例为:{i1,i2,……,ik};其中,物品i与中每个物品的相似度依次为:LLR(i,i1),……,LLR(i,ik),当相似度得分阈值为零时,若物品j与物品i的相似物品列表的物品均不一致,则LLR(i,j)=0,即物品i的相似物品列表中包括了与物品i的对数似然相似度大于零的物品。
以上步骤201至步骤204可以通过采样的数据在线下完成,对于服务器响应推荐请求的过程来说,根据推荐请求,在内存中加载目标用户的全量或部分的喜欢物品列表来确定与符合推荐条件的相似物品,下面结合服务器响应客户端发送推荐请求的过程进行说明。
在步骤205中,终端中运行的客户端向服务器发送推荐请求。
客户端中通过内置SDK来检测物品推荐的时机,例如,当目标用户在客户端中浏览不同的物品时,客户端中预留的推荐区域将可以用于显示相似物品的推荐信息,向服务器发送携带以下参数的推荐请求:目标用户的序列号(ID)、时间、地点(例如所处城市)、场景(例如)和用于推荐系统测试的相关信息(例如用于多维度数据统计分析、定向测试的AbTest信息)。
在步骤206中,服务器接收推荐请求,初始化推荐请求的上下文。
在步骤207中,服务器根据目标用户的ID查询目标用户是否新注册的用户,如果是,执行步骤212;否则,执行步骤208。
在步骤208中,服务器查询目标用户的喜欢物品列表。
服务器根据目标用户的ID查询目标用户的喜欢物品列表,并在内存中加载。
在步骤209中,服务器检查是否查询到目标用户的喜欢物品列表,如果查询到,则执行步骤210;否则,执行步骤212。
在步骤210中,服务器关联目标用户与目标用户的喜欢物品列表,并计算与目标用户满足推荐条件的相似物品。
服务器在内存中加载目标用户的相似物品列表,即用户的喜欢物品列表中的物品对应的相似物品列表,计算目标用户与相似物品列表中任一物品的相似度得分,并进行降序的排序,选取满足推荐条件的物品(例如排序在前的设定数量的物品,或与目标用户的相似度得分超出相似度得分阈值的物品),并标记为向目标用户推荐的物品。
对于目标用户的相似物品列表中的每个物品,计算与用户的喜欢物品列表的对数似然相似度,并累加,作为用户与相似物品列表中的相应物品的相似度得分,以相似物品列表中的物品i为例,与用户的相似度得分如公式(12)所示:
物品i对应的相似物品列表为:{i1,i2,……,ik},目标用户的喜欢物品列表为:{物品j|1≤j≤S}。
服务器在计算得到相似物品后可以释放内存中加载的喜欢物品列表和相似物品列表。
在步骤211中,服务器向客户端发送满足推荐条件的物品的推荐信息,以推荐物品。
服务器将目标用户与物品的相似度得分进行降序的排序,并过滤已知的目标用户喜欢的物品列表,发送剩余的物品的推荐信息给目标用户的客户端。作为示例,推荐信息可以是物品的广告。
在步骤212中,服务器获取热门物品列表,并发送热门物品列表的推荐信息到客户端。
在步骤213中,客户端显示服务器发送的推荐信息。
可以理解,推荐信息的曝光/点击的数据可以继续被采样并发送到服务器,以更新用户的喜欢物品列表和相似物品列表,从而不断提升推荐的精度。
实际应用本发明实施例实现的基于用户模型的协同过滤推荐算法与现有技术的其他协同推荐算法的一个转化率的对比数据表如下表4所示:
方案 | 7日平均转化率 |
基于余弦相似度的协同过滤推荐 | 2.0% |
基于皮尔逊相关系数的协同过滤推荐算法 | 2.7% |
基于欧式距离的协同过滤推荐算法 | 1.5% |
基于对数似然相似度的协同过滤推荐算法 | 3.1% |
表4
由表4可知,实现本发明实施例的基于用户模型(即,以目标用户的维度推荐物品)的协同过滤推荐算法,在客户端中显示物品的推荐信息(例如广告)时,转换率较现有技术提供的其他类型的协同过滤推荐算法
以前述的物品为应用这一类型的虚拟物品为例,说明实现本发明实施例的终端运行应用商店客户端的功能。
参见图7,图7是本发明实施例提供的运行应用商店的客户端的显示示意图,应用商店客户端的用户界面210中提供了关键词搜索应用的方式;当目标用户运行应用商店客户端时,应用商店客户端将向服务器发送推荐请求,服务器根据如图6所示的流程形成应用的个性化推荐列表(图7中示出了个性化推荐列表2101和个性化推荐列表2102,用户就无需通过搜索的方式查找同类的应用安装。
再参见图8,当用户在应用商店客户端中选择应用并实施下载应用B的操作2103时,一方面,应用商店客户端将用户的行为数据到服务器,服务器根据行为数据识别用户喜欢/不喜欢的应用,进而更新用户的喜欢应用列表和相似应用列表;另一方面,应用商店客户端将向服务器发送推荐请求,服务器根据更新的喜欢应用列表和相似应用列表,确定符合推荐条件的相似应用的列表2104并发送到客户端显示,其中包括应用B的相似应用。
参见图9,图9是本发明实施例提供的物品推荐系统的整体性能耗时数据的统计图,与现有技术提供的协同过滤推荐算法相比,通过本发明实施例提供的基于对数似然相似度的协同过滤推荐方案使推荐系统的整体性能耗时显著降低,上线时间17:10,耗时下降20毫秒(ms)。
下面说明实现本发明实施例的有益效果。
现有技术提供的用于实现物品推荐的协同过滤算法存在推荐结果不稳定、资源消耗大、推荐结果同质化(例如,总是推荐热门的物品,冷门物品几乎不推荐)的问题,下面结合现有技术提供的不同的协同过滤推荐算法对上述问题进行说明。
1)基于余弦相似度的协同过滤推荐算法,其存在用户评分尺度标准的不一致的问题,导致物品的推荐结果出现很大的不稳定性。
2)基于皮尔逊相关系数相似度的协同过滤推荐算法,其存在热门物品之间相似度很高的严重现象,同时由于算法自身的缺陷,无法克服冷门物品相似性很低的问题,且行为数据少的物品可能是用户喜欢的物品,但是因为与用户喜欢的物品的相似度得分很低,导致无法向用户推荐,影响了推荐结果的准确性。
3)基于欧式距离的协同过滤推荐算法,当物品的向量模型稀疏时,物品之间相似度得分低,导致即使冷门物品是用户喜欢的,也不会向用户推荐。
4)基于用户模型的协同过滤推荐算法,需要在内存中存储所有用户历史行为数据,占用内存大,计算复杂度高,无法在线上不能直接使用。
本发明实施例提供的基于对数似然估计算法在算物品之间的对数似然相似度,进而计算用户与物品之间的相似性,能够克服上述协同过滤推荐算法存在的问题,下面具体说明。
1)对不同来源的评分数据进行归一化处理,克服评分尺度标准的不一致问题,能够利用不同来源的评分数据统计样本用户喜欢的物品。
2)利用对数似然估计算法确定物品之间的对数似然相似度,能够修正皮尔逊相关系数相似度导致的热门物品相似度高的问题、以及欧式距离的协同过滤推荐算法导致的冷门物品相似度低的问题。
以确定物品A与物品B的对数似然相似度为例,使用对数似然估计算法计算对数似然相似度时,不仅使用同时喜欢或同时不喜欢物品的样本用户的数量作为计算因子,而且使用喜欢物品A但不喜欢物品B,以及喜欢B但不喜欢A的用户的数量作为计算因子,这样,喜欢物品A但不喜欢物品B,以及喜欢B但不喜欢A的用户的数量作为对数似然相似度的计算因子,一方面,能够对热门物品之间相似度高的情况进行抑制,另一方面,能够对冷门物品相似度低的情况进行提升,实现了相对于皮尔逊相关系数相似度进行修正的技术效果。
3)基于内存的推荐模型计算推荐物品,在响应推荐请求时,结合内存中暂存样本用户喜欢的物品列表、以及相似物品列表进行查询并计算相似性,即可快速计算推荐的物品,计算复杂度相较于基于用户模型的协同过滤推荐算法更低,并且不需要像基于用户模型的协同过滤推荐算法那样在内存中加载用户的行为数据,减小了内存资源的开销。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (15)
1.一种信息推荐方法,其特征在于,所述方法包括:
接收客户端发起的针对目标用户的推荐请求;
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合;
基于加载的所述偏好对象集合以及所述相似对象集合,确定所述目标用户与所述相似对象集合中每个相似对象之间的相似度得分;
向所述客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标用户与所述相似对象集合中每个相似对象之间的相似度得分,包括:
确定所述目标用户的偏好对象集合中每个偏好对象分别与所述相似对象之间的相似度;
标记所确定的相似度的加和为所述目标用户与所述相似对象之间的相似度得分。
3.根据权利要求2所述的方法,其特征在于,所述确定所述目标用户的偏好对象集合中每个偏好对象分别与所述相似对象之间的相似度,包括:
建立对应每个偏好对象的关联矩阵;
其中,所述关联矩阵包括对应所述偏好对象和所述相似对象的以下元素:共同偏好的样本用户的数量、特殊偏好的样本用户的数量、以及全部不偏好的样本用户的数量;
确定所述关联矩阵的矩阵熵、行熵和列熵,并进行所述矩阵熵、行熵和列熵之间的差值运算,得到所述偏好对象和所述相似对象之间的似然相似度。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当确定所述目标用户与所述相似对象之间的相似度得分时,释放所述加载的用于确定所述相似度得分的所述偏好对象集合以及所述相似对象集合。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户偏好的样本对象;
基于所述样本用户的偏好的样本对象,形成所述样本用户的所述偏好对象集合。
6.根据权利要求5所述的方法,其特征在于,所述解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户偏好的样本对象,包括:
解析所述样本用户采样的行为数据,得到向所述样本用户曝光的样本对象;
标记所述样本用户点击的已曝光样本对象为所述样本用户偏好的样本对象。
7.根据权利要求5所述的方法,其特征在于,所述解析对样本用户采样的行为数据和/或评分数据,得到所述样本用户偏好样本对象,包括:
对表征所述样本用户的评分数据进行归一化处理;
基于评分条件归一化处理后的评分数据,标记超出得分阈值的样本对象为所述样本用户偏好的样本对象。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
当接收针对所述目标用户的推荐请求之前,
确定样本用户的偏好对象与样本对象集合中每个样本对象之间的相似度;
基于与所述样本用户的偏好对象之间的相似度超出相似度阈值的样本对象,形成对应所述样本用户的偏好对象的相似对象集合。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合,包括:
提取所述推荐请求的时间、空间和场景至少一个维度的上下文信息;
查询所述目标用户的偏好对象集合中的每个偏好对象,并筛除未与所述至少一个维度适配的偏好对象,得到适配的偏好对象集合;
查询所述适配的偏好对象集合中每个偏好对象各自对应的相似对象集合。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
查询满足热门条件的热门对象;
当所述目标用户是新注册用户时,以及当未查询到所述目标用户的偏好对象集合时,发送所述热门对象的推荐信息。
11.一种信息推荐方法,其特征在于,所述方法包括:
在客户端中向所述服务器发送推荐请求,以触发所述服务器执行以下响应操作:
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合,
基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与所述相似对象集合中每个相似对象之间的相似度得分;
从所述服务器接收相似度得分符合推荐条件的相似对象所对应的推荐信息,并显示所述推荐信息。
12.一种信息推荐装置,其特征在于,所述装置包括:
响应单元,用于接收客户端发起的针对目标用户的推荐请求;
查询单元,用于查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合;
相似度单元,用于基于加载的所述偏好对象集合、以及所述偏好对象集合中每个偏好对象各自相似对象集合,确定所述目标用户与所述相似对象的之间的相似度得分;
所述响应单元,还用于向所述客户端发送相似度得分符合推荐条件的相似对象所对应的推荐信息。
13.一种信息推荐装置,其特征在于,所述装置包括:
调用单元,用于在客户端中向所述服务器发送推荐请求,以触发所述服务器执行以下的响应操作:
查询所述目标用户的偏好对象集合,以及所述偏好对象集合中每个偏好对象各自对应的相似对象集合,
基于加载的所述偏好对象集合、以及所述相似对象集合,确定所述目标用户与所述相似对象集合中每个相似对象之间的相似度得分,
推荐单元,用于从所述服务器接收相似度得分符合推荐条件的相似对象所对应的推荐信息,并显示所述推荐信息。
14.一种信息推荐装置,其特征在于,所述装置包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的信息推荐方法。
15.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10任一项所述的信息推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811315443.4A CN110413868B (zh) | 2018-11-06 | 2018-11-06 | 信息推荐方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811315443.4A CN110413868B (zh) | 2018-11-06 | 2018-11-06 | 信息推荐方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413868A true CN110413868A (zh) | 2019-11-05 |
CN110413868B CN110413868B (zh) | 2023-04-07 |
Family
ID=68358064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811315443.4A Active CN110413868B (zh) | 2018-11-06 | 2018-11-06 | 信息推荐方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413868B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026977A (zh) * | 2019-12-17 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置及存储介质 |
CN111339425A (zh) * | 2020-03-05 | 2020-06-26 | 拉扎斯网络科技(上海)有限公司 | 一种对象标记方法、装置、服务器及存储介质 |
CN111708949A (zh) * | 2020-06-19 | 2020-09-25 | 微医云(杭州)控股有限公司 | 医疗资源的推荐方法及装置、电子设备、存储介质 |
CN111723293A (zh) * | 2020-06-24 | 2020-09-29 | 上海风秩科技有限公司 | 一种文章内容的推荐方法、装置、电子设备及存储介质 |
CN112215680A (zh) * | 2020-10-21 | 2021-01-12 | 中国银行股份有限公司 | 一种产品推荐方法、装置、电子设备和存储介质 |
CN112348532A (zh) * | 2020-10-19 | 2021-02-09 | 前海飞算科技(深圳)有限公司 | 最佳推荐信息处理方法和装置、存储介质和电子设备 |
CN112765449A (zh) * | 2020-06-19 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 一种应用程序展示方法、装置及存储介质 |
CN113763098A (zh) * | 2020-12-21 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 用于确定物品的方法和装置 |
CN114398501A (zh) * | 2022-03-25 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 多媒体资源的分组方法、装置、设备及存储介质 |
CN114528482A (zh) * | 2022-01-25 | 2022-05-24 | 北京三快在线科技有限公司 | 一种推荐对象确定方法、装置、电子设备及存储介质 |
WO2022110716A1 (zh) * | 2020-11-27 | 2022-06-02 | 平安科技(深圳)有限公司 | 冷启动推荐方法、装置、计算机设备及存储介质 |
CN114791982A (zh) * | 2022-06-24 | 2022-07-26 | 百度在线网络技术(北京)有限公司 | 对象推荐方法和装置 |
CN115167164A (zh) * | 2022-07-12 | 2022-10-11 | 青岛海尔科技有限公司 | 设备场景的确定方法和装置、存储介质及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956093A (zh) * | 2016-04-29 | 2016-09-21 | 浙江大学 | 一种基于多视图锚点图哈希技术的个性化推荐方法 |
CN106600302A (zh) * | 2015-10-19 | 2017-04-26 | 玺阅信息科技(上海)有限公司 | 基于Hadoop的商品推荐系统 |
CN107092629A (zh) * | 2017-01-18 | 2017-08-25 | 北京小度信息科技有限公司 | 推荐方法及装置 |
CN108153753A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 推荐方法、装置和系统 |
-
2018
- 2018-11-06 CN CN201811315443.4A patent/CN110413868B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600302A (zh) * | 2015-10-19 | 2017-04-26 | 玺阅信息科技(上海)有限公司 | 基于Hadoop的商品推荐系统 |
CN105956093A (zh) * | 2016-04-29 | 2016-09-21 | 浙江大学 | 一种基于多视图锚点图哈希技术的个性化推荐方法 |
CN108153753A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 推荐方法、装置和系统 |
CN107092629A (zh) * | 2017-01-18 | 2017-08-25 | 北京小度信息科技有限公司 | 推荐方法及装置 |
Non-Patent Citations (2)
Title |
---|
XIDIANYCY: "对数似然比相似度", 《CSDN》 * |
吴兵: "《多Agent推荐系统及应用》", 31 July 2014, 海:同济大学出版社 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026977A (zh) * | 2019-12-17 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置及存储介质 |
CN111339425A (zh) * | 2020-03-05 | 2020-06-26 | 拉扎斯网络科技(上海)有限公司 | 一种对象标记方法、装置、服务器及存储介质 |
CN112765449A (zh) * | 2020-06-19 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 一种应用程序展示方法、装置及存储介质 |
CN111708949A (zh) * | 2020-06-19 | 2020-09-25 | 微医云(杭州)控股有限公司 | 医疗资源的推荐方法及装置、电子设备、存储介质 |
CN111708949B (zh) * | 2020-06-19 | 2023-07-25 | 微医云(杭州)控股有限公司 | 医疗资源的推荐方法及装置、电子设备、存储介质 |
CN112765449B (zh) * | 2020-06-19 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 一种应用程序展示方法、装置及存储介质 |
CN111723293A (zh) * | 2020-06-24 | 2020-09-29 | 上海风秩科技有限公司 | 一种文章内容的推荐方法、装置、电子设备及存储介质 |
CN111723293B (zh) * | 2020-06-24 | 2023-08-25 | 上海风秩科技有限公司 | 一种文章内容的推荐方法、装置、电子设备及存储介质 |
CN112348532A (zh) * | 2020-10-19 | 2021-02-09 | 前海飞算科技(深圳)有限公司 | 最佳推荐信息处理方法和装置、存储介质和电子设备 |
CN112215680A (zh) * | 2020-10-21 | 2021-01-12 | 中国银行股份有限公司 | 一种产品推荐方法、装置、电子设备和存储介质 |
CN112215680B (zh) * | 2020-10-21 | 2023-09-08 | 中国银行股份有限公司 | 一种产品推荐方法、装置、电子设备和存储介质 |
WO2022110716A1 (zh) * | 2020-11-27 | 2022-06-02 | 平安科技(深圳)有限公司 | 冷启动推荐方法、装置、计算机设备及存储介质 |
CN113763098A (zh) * | 2020-12-21 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 用于确定物品的方法和装置 |
CN114528482A (zh) * | 2022-01-25 | 2022-05-24 | 北京三快在线科技有限公司 | 一种推荐对象确定方法、装置、电子设备及存储介质 |
CN114398501A (zh) * | 2022-03-25 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 多媒体资源的分组方法、装置、设备及存储介质 |
CN114791982B (zh) * | 2022-06-24 | 2022-10-14 | 百度在线网络技术(北京)有限公司 | 对象推荐方法和装置 |
CN114791982A (zh) * | 2022-06-24 | 2022-07-26 | 百度在线网络技术(北京)有限公司 | 对象推荐方法和装置 |
CN115167164A (zh) * | 2022-07-12 | 2022-10-11 | 青岛海尔科技有限公司 | 设备场景的确定方法和装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110413868B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413868A (zh) | 信息推荐方法、装置、系统及存储介质 | |
CN109902849B (zh) | 用户行为预测方法及装置、行为预测模型训练方法及装置 | |
EP2633487B1 (en) | Method and system to recommend applications from an application market place to a new device | |
CN107609152B (zh) | 用于扩展查询式的方法和装置 | |
CN105493057B (zh) | 利用精确性控制的内容选择 | |
CN109993627B (zh) | 推荐方法、推荐模型的训练方法、装置和存储介质 | |
CN110210882A (zh) | 推广位匹配方法和装置、推广信息展示方法和装置 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
CN111738785A (zh) | 选品方法、系统及存储介质 | |
CN109299367A (zh) | 信息推送方法、装置、计算机设备及存储介质 | |
CN112241489A (zh) | 信息推送方法、装置、可读存储介质和计算机设备 | |
CN111552835A (zh) | 文件推荐方法、装置及服务器 | |
CN108665318B (zh) | 有效用户标签筛选方法、装置、存储介质和计算机设备 | |
CN112036987B (zh) | 确定推荐商品的方法和装置 | |
CN112287208B (zh) | 用户画像生成方法、装置、电子设备及存储介质 | |
CN112836128A (zh) | 信息推荐方法、装置、设备和存储介质 | |
CN114430504B (zh) | 一种媒体内容的推荐方法以及相关装置 | |
CN113704630B (zh) | 一种信息推送方法、装置、可读存储介质和电子设备 | |
CN115860865A (zh) | 商品组合构造方法及其装置、设备、介质、产品 | |
CN113158032A (zh) | 一种信息推送方法和装置 | |
US20140325378A1 (en) | Method and apparatus for generating a personalized page | |
CN110929207A (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN110503482B (zh) | 一种物品处理方法、装置、终端及存储介质 | |
CN117216359A (zh) | 信息推送对象的确定方法、装置、计算机设备和存储介质 | |
CN116932785A (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 |