CN111191142B - 一种电子资源推荐方法、装置和可读介质 - Google Patents
一种电子资源推荐方法、装置和可读介质 Download PDFInfo
- Publication number
- CN111191142B CN111191142B CN201811352687.XA CN201811352687A CN111191142B CN 111191142 B CN111191142 B CN 111191142B CN 201811352687 A CN201811352687 A CN 201811352687A CN 111191142 B CN111191142 B CN 111191142B
- Authority
- CN
- China
- Prior art keywords
- user
- electronic
- electronic resource
- recommended
- clicked
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种电子资源推荐方法、装置和可读介质,属于网络数据分析与处理技术领域,本发明提供的方法及装置中,在获取到电子资源推荐请求后,可以从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为根据电子资源的被点击信息和电子资源的曝光信息确定的;然后根据电子资源召回结果,向待推荐用户推荐电子资源。通过采用上述方法,基于该算法确定出的电子资源召回结果的召回率和准确率更高,进而基于此电子资源召回结果向待推荐用户推荐的电子资源更能满足待推荐用户的实际需求,在一定程度上提高了用户体验。
Description
技术领域
本发明涉及网络数据分析与处理技术领域,尤其涉及一种电子资源推荐方法、装置和可读介质。
背景技术
随着互联网技术的发展,网络信息呈指数增长趋势,一改之前的信息匮乏,而是出现了信息爆炸和信息过载的现象。然而每个用户感兴趣的信息也是不一样的,因此,如何在大量的信息中推荐出满足各个用户实际需求的信息是提高用户体验必须要解决的问题之一。
协同过滤(Collaborative Filtering,CF)算法是推荐领域应用非常广泛的一种方法。以基于项目(Item)的协同过滤方法(Item Collaborative Filtering,ItemCF)应用到新闻推荐场景下为例进行说明,这里的Item即为新闻。现有的Item CF推荐方法主要根据两篇新闻共同的点击次数,以及各自被点击的次数,来计算两篇新闻之间的相似度。但该方法存在两个问题:1)没有考虑Item的曝光信息,比如某篇新闻被用户1点击但没有被用户2点击,造成这一情况的原因可能是该新闻根本没有对用户2曝光,而不是因为用户2对该新闻不感兴趣;2)没有考虑推荐关系的有向性,传统的ItemCF方法认为根据ItemA推荐ItemB的概率和根据ItemB推荐ItemA的概率是相等的。基于上述这两种情况,会导致召回率和准确率不够。
发明内容
本发明实施例提供一种电子资源推荐方法、装置和可读介质,用以提高电子资源的召回率和准确率。
第一方面,本发明实施例提供一种电子资源推荐方法,包括:
获取电子资源推荐请求,所述电子资源推荐请求用于请求为待推荐用户推荐电子资源;
从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的;
根据所述电子资源召回结果,向所述待推荐用户推荐电子资源。
通过采用上述方法,由于本发明基于用户行为的协同过滤算法考虑了电子资源的被点击信息和曝光信息,使得基于此确定出的电子资源召回结果的召回率和准确率更高。
第二方面,本发明实施例提供一种电子资源推荐装置,包括:
获取单元,用于获取电子资源推荐请求,所述电子资源推荐请求用于请求为待推荐用户推荐电子资源;
提取单元,用于从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的;
推荐单元,用于根据所述电子资源召回结果,向所述待推荐用户推荐电子资源。
第三方面,本发明实施例提供一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请提供的电子资源推荐方法。
第四方面,本发明实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请提供的电子资源推荐方法。
本发明有益效果:
本发明实施例提供的电子资源推荐方法、装置和可读介质,在获取到电子资源推荐请求后,可以从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的;然后根据所述电子资源召回结果,向所述待推荐用户推荐电子资源。通过采用上述方法,由于本发明中确定电子资源召回结果的基于用户行为的协同过滤算法考虑了电子资源的被点击信息和曝光信息,使得基于该算法确定出的电子资源召回结果的召回率和准确率更高,进而基于此电子资源召回结果向待推荐用户推荐的电子资源更能满足待推荐用户的实际需求,在一定程度上提高了用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a为本发明实施例提供的电子资源推荐方法的应用场景示意图;
图1b为本发明实施例提供的电子资源推荐方法的效果示意图;
图1c为本发明实施例提供的基于Item的ACF算法的原理示意图;
图2为本发明实施例提供的电子资源推荐方法的流程示意图;
图3为本发明实施例提供的预先利用基于Item的协同过滤ACF算法为待推荐用户确定电子资源召回结果的流程示意图;
图4为本发明实施例提供的利用基于Item的ACF算法从电子资源库中确定各个已点击电子资源的候选推荐电子资源的流程示意图;
图5为本发明实施例提供的确定该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量的流程示意图;
图6为本发明实施例提供的预先利用基于User的协同过滤ACF算法为待推荐用户确定电子资源召回结果的流程示意图;
图7为本发明实施例提供的确定待推荐用户的候选推荐用户的流程示意图;
图8为本发明实施例提供的确定对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量的流程示意图;
图9为本发明实施例提供的根据电子资源召回结果,向待推荐用户推荐电子资源的流程示意图;
图10为本发明实施例提供的电子资源推荐装置的结构示意图;
图11为本发明实施例提供的实施电子资源推荐方法的计算装置的结构示意图。
具体实施方式
本发明实施例提供的电子资源推荐方法、装置和可读介质,用以提高电子资源的召回率和准确率。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为了便于理解本发明,本发明涉及的技术术语中:
1、电子资源,是指用户访问应用程序中的资源,也称物品,简称Item。例如,若应用程序为视频APP,则电子资源为视频;若应用程序为音乐APP,则电子资源为歌曲;若应用程序为淘宝,则电子资源可以为衣服、护肤品、化妆品、家居用品和儿童玩具等等。
2、基于用户行为的协同过滤算法,(Action-based Collaborative Filtering,ACF),该ACF算法同时考虑电子资源的被点击信息和曝光信息,为待推荐用户确定电子资源召回结果,由于该ACF算法考虑了电子资源的曝光信息,故确定出的电子资源召回结果相比于现有技术更准确,从而保证了电子资源的召回率和准确率。
3、曝光用户,是指只要服务器将电子资源推荐给用户,则该用户即为该电子资源的曝光用户。
4、用户设备,为可以安装各类应用程序,并且能够将已安装的应用程序中提供的对象进行显示的电子设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、各类可穿戴设备、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)或其它能够实现上述功能的电子设备等。
5、应用程序,为可以完成某项或多项特定工作的计算机程序,它具有可视的显示界面,能与用户进行交互,比如腾讯新闻和微信等都可以称为应用程序。
6、在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
7、本发明中涉及电子资源、已点击电子资源和发布电子资源这三个名称,实际上已点击电子资源和发布电子资源均是电子资源,只是为了区分用户是否点击电子资源,可以理解为电子资源库中的均为发布电子资源,但对于用户来说,若用户1点击了某一发布电子资源B1,未点击发布电子资源B2,则该发布电子资源B1称为用户1的已点击电子资源,发布电子资源B2名称对于用户1来说不变;若用户2点击了发布电子资源B2,未点击发布电子资源B1,则发布电子资源B2称为用户2的已点击电子资源,发布电子资源B1对于用户2来说名称不变。
现有的协同过滤算法主要分为两大类:基于领域的CF算法和基于模型的CF算法,而基于领域的CF算法都是基于用户的显示行为来计算的,例如应用到新闻推荐场景下,该算法仅利用用户的点击来计算用户对User pair或Item pair之间的相似度,这一算法并没有考虑新闻对用户的曝光行为。实际应用中,一篇新闻曝光给用户,用户却没有点击行为,这其实可以看作是用户隐式的负反馈行为,而这个信息对于计算User pair或Item pair之间的相似度是非常有用的,但现有的CF算法并没有考虑这一行为,因此计算出的相似度会有一定的误差,进而也会影响新闻的召回率和准确率。
为了解决现有技术中采用的CF算法推荐的电子资源的召回率和准确率不足的问题,本发明实施例给出了解决方案,参考图1a所示的应用场景示意图,用户设备11上安装有能够向用户推荐电子资源的应用程序,然后待推荐用户10通过用户设备11中安装的应用程序向服务器12发送电子资源推荐请求,服务器12在接收到电子资源推荐请求后,从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法预先确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的,然后根据确定出的电子资源召回结果向待推荐用户10推荐电子资源,本发明中由于采用的ACF算法是基于电子资源的被点击信息和曝光信息确定出的,充分考虑了电子资源的曝光行为,从而使得基于用户行为的ACF算法确定出的电子资源召回结果更准确,在一定程度上提高了召回率和推荐结果的准确率,进而向用户推荐能够满足用户实际需求的电子资源,提高用户体验。
需要说明的是,用户设备11与服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。用户设备11可以为便携设备(例如:手机、平板、笔记本电脑等),也可以为个人电脑(PC,Personal Computer),服务器12可以为任何能够提供互联网服务的设备,用户设备11中的应用程序可以为具有电子资源推荐功能的应用程序,可以为腾讯新闻等等。
本发明提供的电子资源推荐方法的应用场景是,以应用到新闻应用程序中为例进行说明,当待推荐用户10打开用户设备11上安装的新闻应用程序时可以触发一个新闻推荐请求,或者在已打开的新闻应用程序上双击“娱乐、热点或视频等菜单选项”来触发新闻推荐请求,或者待推荐用户10基于新闻应用程序当前展示的界面执行向下滑动操作时,也可以触发一个新闻推荐请求;新闻应用程序在接收到待推荐用户10触发的新闻推荐请求后,将上述新闻推荐请求发送给服务器12,这样服务器12可以获取到新闻推荐请求,一般情况下,任何用户基于应用程序浏览新闻时,即使没有注册,服务器12也会给该用户配置一个用户ID,即用户的标识信息,这样以便记录该用户常浏览的新闻,便于后续为该用户推荐新闻,基于上述描述,新闻应用程序在接收到待推荐用户10的新闻推荐请求后,会携带待推荐用户10的标识信息,这样一来,服务器12会根据请求中携带的待推荐用户10的标识信息,从数据库中提取预先利用基于用户行为的协同过滤ACF算法为待推荐用户10确定出的新闻召回结果,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的,然后根据确定出的新闻召回结果,确定为该待推荐用户10推荐的新闻,最后将新闻发送给用户设备11中的新闻应用程序,由上述新闻应用程序将服务器12反馈的新闻展示给待推荐用户10。实际应用中,可以将本发明提供的方法应用到腾讯新闻应用程序二级频道的个性化推荐中,推荐效果可以参考图1b所示。
需要说明的是,本发明提供的电子资源推荐方法还可以应用于用户设备11中,由用户设备11在获取到电子资源推荐请求后,从数据库中提取待推荐用户10的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法预先为待推荐用户10确定出的,根据电子资源召回结果,向待推荐用户10推荐电子资源。
在介绍本发明实施例提供的电子资源推荐方法的流程之前,首先对基于Item ACF算法进行介绍,以电子资源为新闻为例进行说明,参考图1c所示,图1c中A、B分别表示两条新闻,A_e表示新闻A有过曝光的用户的数量,记为新闻A的曝光用户的数量,B_e表示新闻B有过曝光的用户的数量,记为新闻B的曝光用户的数量,A_c表示点击新闻A的用户的数量,B_c表示点击新闻B的用户的数量,A_c∩B_c表示共同点击新闻A和新闻B的用户的数量。基于上述描述,可以确定出先点击新闻A,再点击新闻B的概率,以及先点击新闻B再点击新闻A的概率的表达式分别为:
基于上述公式,假设A_c=400,B_c=600,A_c∩B_c=200,A_c∩B_e=300(表明新闻B的曝光用户B_e中只有300个用户点击了新闻A,还表明新闻B仅对新闻A的点击用户A_c中300个用户有过曝光),B_c∩A_e=500(表明新闻A的曝光用户A_e中只有500个用户点击了新闻B,还表明新闻A仅对新闻B的点击用户B_c中500个用户有过曝光),基于上述公式可以得出:显然可以得出,用户先点击新闻A再点击新闻B的概率要高于用户先点击新闻B再点击新闻A的概率,进而说明了基于Item A推荐ItemB的概率和基于ItemB推荐ItemA的概率是不相等的,推荐关系具有有向性。本发明正是考虑了这一因素,在向用户推荐时基于用户历史点击的电子资源条件下,确定电子资源库中其他发布电子资源的推荐概率,然后基于确定出的推荐概率确定电子资源召回结果,相比于现有技术未考虑推荐关系的有向性,本发明得到的电子资源召回结果更准确,且召回率更高,后续详细介绍之。
需要说明的是,本发明中的基于User ACF算法同样适用图1c,只不过图1b中的A和B不再是新闻,而是用户A和用户B,进而A_c表示为用户A点击的新闻的数量,A_e为对用户A曝光的新闻的数量,B_c表示为用户B点击的新闻的数量,B_e为对用户B曝光的新闻的数量,A_c∩B_c表示用户A和用户B共同点击的新闻的数量,同样可以得出基于用户A向用户B推荐和基于用户B向用户A推荐的概率也是不一样的,后续详细介绍之。
下面结合图1a所示的场景示意图、图1b所示的效果图和图1c描述的原理示意图,参考图2-图11来描述根据本发明示例性实施方式提供的电子资源推荐方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,为本发明实施例提供的电子资源推荐方法的流程示意图,以由将本发明提供的方法应用于图1a中的服务器为例进行说明,可以包括以下步骤:
S21、获取电子资源推荐请求。
其中,上述电子资源推荐请求用于请求为待推荐用户推荐电子资源,且上述电子资源推荐请求中携带有待推荐用户的标识信息。
本步骤中,当待推荐用户需要读取最新且比较感兴趣的电子资源时,会基于用户设备中的应用程序向服务器发起电子资源推荐请求,为了保证服务器准确向待推荐用户返回确定出的电子资源,本发明中需要在电子资源推荐请求中携带待推荐用户的标识信息。
S22、从数据库中提取待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的。
其中,本发明提供的ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的。
S23、根据所述电子资源召回结果,向所述待推荐用户推荐电子资源。
步骤S22和S23中,服务器会利用基于用户行为的ACF算法预先为基于应用程序访问电子资源的所有用户确定用户比较感兴趣的电子资源,即步骤S22中确定出的电子资源召回结果,然后将为各个用户确定出的电子资源召回结果存储于数据库中。然后当用户发起电子资源推荐请求时,可以及时从数据库中提取出待推荐用户的电子资源召回结果,确定出用户比较感兴趣的电子资源并推荐给用户,这样可以满足用户的实时需求,避免用户等待较长时间,提高用户体验。
较佳地,本发明中ACF算法包括基于Item的ACF算法和基于User的ACF算法,以下分别详细介绍基于这两种算法分别实施步骤S22的过程:
一种可能的实施方式中,当ACF算法为基于Item的ACF算法时,可以按照图3所示的流程预先利用基于用户行为的协同过滤ACF算法为待推荐用户确定电子资源召回结果,可以包括以下步骤:
S31、确定待推荐用户历史点击的已点击电子资源。
具体地,待推荐用户基于应用程序访问电子资源时,应用程序会为待推荐用户访问的电子资源记录一条日志信息,该日志信息一般包括待推荐用户的标识信息、访问的电子资源的标识信息、访问时间、包含上述应用程序的用户设备的标识信息和用户设备的地址信息等等。这样一来,服务器可以获取待推荐用户的日志信息,然后基于此确定待推荐用户历史点击的已点击电子资源,需要说明的是,该日志信息可以为服务器主动从应用程序获取的,也可以为应用程序主动上报的,本发明对此不进行限定。
较佳地,为了保证推荐结果的准确性,服务器一般会获取距当前时间之前预设时间段内待推荐用户点击的电子资源,例如当前时间为15:30,预设时间段为5分钟,则服务器可以获取15:25~15:30之间待推荐用户访问电子资源的日志信息,进而确定出15:25~15:30之间待推荐用户点击的电子资源。
需要说明的是,本发明中的待推荐用户的标识信息可以为用户ID和用户名等,记为User ID,本发明中的电子资源的标识信息可以为电子资源的ID等,记为Item ID。
在实际应用中,通过设置一个streaming任务来记录各个用户的点击序列,该序列是实时记录的,时间误差在2秒以内。也就是说,某个用户在点击了某条电子资源后,这个点击行为2秒内会被记录并存储到redis中,假设待推荐用户的实时点击的电子资源序列为(A1,A2,A3,A4,A5),则A1为用户最近一次点击的电子资源。
S32、针对各个已点击电子资源,利用基于Item的ACF算法从电子资源库中确定各个已点击电子资源的候选推荐电子资源。
本步骤中,服务器会预先利用基于Item的ACF算法,为当前之前产生的电子资源分别确定候选推荐电子资源并存储到redis数据库中,然后当接收到电子资源推荐请求后,直接根据待推荐用户历史点击的已点击电子资源,从redis数据库中提取各个已点击电子资源的候选推荐电子资源,这样一来,可以及时推荐用户可能比较感兴趣的电子资源。
较佳地,本发明中的电子资源的被点击信息和曝光信息为根据待推荐用户访问电子资源的日志信息和其他用户访问电子资源的日志信息确定出的。基于此,以确定出m1个已点击电子资源为例,针对每一已点击电子资源Ai(i介于1~m1之间),均可以按照图4所示的方法执行步骤S32,包括以下步骤:
S41、根据待推荐用户访问电子资源的日志信息和其他访问用户访问电子资源的日志信息,确定该已点击电子资源与电子资源库中除该已点击电子资源以外的任一发布电子资源之间的共点击用户数量。
本发明中的待推荐用户和其他用户为使用应用程序访问电子资源的用户。
本步骤中,由于应用程序记录的日志信息包括待推荐用户的标识信息和访问的电子资源的标识信息,由此,基于电子资源库中除该已点击电子资源以外的每一发布电子资源,服务器可以基于所有访问用户的日志信息,确定出共同点击该已点击电子资源和该发布电子资源的访问用户,进而计算出共点击用户数量,为了后续描述方便,电子资源库中具有n1个发布电子资源为例进行说明,则针对每一发布电子资源Bj(j介于1~n1之间),一般情况下m1小于n1,且Bj不等于Ai,则可以将共点击用户数量记为user_count_click(Ai,Bj)。
较佳地,为了保证数据的准确性和有效性,在执行步骤S41之前,可以对所有访问用户访问电子资源的日志信息进行相应的规则过滤,即进行数据清洗。比如,基于访问用户的日志信息确定出一个访问用户短时内产生了不合常理的大量点击行为,或者一个访问用户曝光行为非常多但点击行为却非常少等情况,则可以将该访问用户的日志信息过滤掉,然后利用执行过滤规则后余下的访问用户的日志信息确定该已点击电子资源与所述电子资源库中除该已点击电子资源以外的任一发布电子资源之间的共点击用户数量。
S42、根据待推荐用户访问电子资源的日志信息和其他访问用户访问电子资源的日志信息,确定该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量。
本步骤中,参考步骤S41的描述,针对电子资源库中每一发布电子资源Bj,服务器可以根据汇总的基于应用程序访问电子资源的所有用户的日志信息包含的用户的标识信息和电子资源的标识信息,以及服务器预先记录的包含各个电子资源的曝光用户的日志信息,可以准确地确定出该发布电子资源Bj的曝光用户中点击了该已点击电子资源Ai的用户的标识信息,进而计算确定出的用户的第一数量,为了后续描述方便,将基于该发布电子资源Bj和已点击电子资源Ai确定出的第一数量记为user_countAi,Bj。
较佳地,在基于Item ACF算法中,本发明中的被点击信息包括点击电子资源的用户的标识信息,所述曝光信息包括电子资源的曝光用户的标识信息;以及可以按照图5所示的方法执行步骤S42,包括以下步骤:
S51、确定点击该已点击电子资源的用户的标识信息构成的第一集合。
具体地,可以根据汇总的用户的日志信息中包含的用户的标识信息和电子资源的标识信息,确定出点击该已点击电子资源Ai的用户的标识信息构成的第一集合user_click(Ai),例如,确定出的user_click(Ai)={User ID1,User ID2,User ID3,User ID4,……,User IDk},k的值可以根据实际情况而定。
S52、确定该发布电子资源的曝光用户的标识信息构成的第二集合。
参考步骤S51,则可以根据用户的日志信息中包含的用户的标识信息和电子资源的标识信息,确定出该发布电子资源Bj的曝光用户构成的第二集合,记为user_expose(Bj),例如,确定出的user_expose(Bj)={User ID1,User ID3,User ID4,User ID6,……,User IDK},其中K的值可以根据实际情况而定。
S53、确定所述第一集合与所述第二集合的交集中的标识信息对应的用户的用户数量为该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量。
基于步骤S51和S52,可以确定出第一集合user_click(Ai)与第二集合user_expose(Bj)的交集,进而基于交集中的用户的标识信息计算出交集中用户的用户数量,记为user_count{user_click(Ai)∩user_expose(Bj)},则该用户数量即为该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量,即user_countAi,Bj=user_count{user_click(Ai)∩user_expose(Bj)}。为了更好地理解上述过程,假设点击已点击电子资源Ai的用户的标识信息构成的第一集合为:user_click(Ai)={User ID1,UserID2,User ID3,User ID4,User ID5,User ID7},而发布电子资源Bj的曝光用户的标识信息构成的第二集合为:user_expose(Bj)={User ID1,User ID3,User ID4,User ID6,UserID8},则可以确定出上述第一集合与第二集合的交集为:user_click(Ai)∩user_expose(Bj)={User ID1,User ID3,User ID4},进而可以基于上述确定出的交集计算出第一数量为:user_countAi,Bj=user_count{user_click(Ai)∩user_expose(Bj)}=3。
S43、基于每一发布电子资源确定出的共点击用户数量和第一数量,确定该已点击电子资源与每一发布电子资源之间的推荐概率。
其中,所述推荐概率与共点击用户数量呈正相关,与所述第一数量呈负相关。
基于步骤S41和S42确定出的共点击用户数量和第一数量,可以按照下述公式分别确定出该已点击电子资源Ai与每一发布电子资源Bj之间的推荐概率P(Bj/Ai):
通过上述公式可以确定在点击了已点击电子资源Ai之后,点击电子资源库每一发布电子资源Bj的概率,由于本发明确定的推荐概率为先点击了Ai再点击Bj的推荐概率,考虑了推荐关系的有向性和电子资源的曝光信息,相比于现有技术采用的CF算法没有考虑推荐关系的有向性和电子资源的曝光信息,本发明确定出的推荐概率更准确。
S44、基于各个发布电子资源确定出的推荐概率,确定该已点击电子资源的候选推荐电子资源。
本步骤中,通过利用步骤S43中的公式,针对已点击电子资源Ai,可以确定出该已点击电子资源与电子资源库中除Ai以外的每一发布电子资源Bj之间的推荐概率,从而可以确定出已点击电子资源Ai的候选推荐电子资源,由于本发明考虑了电子资源的曝光信息和推荐关系的有向性,从而可以保证基于此确定出的候选推荐电子资源的准确性。
具体地,服务器在确定出已点击电子资源与每一发布电子资源之间的推荐概率后,可以按照推荐概率由大到小的顺序进行排序,然后取前M1个推荐概率对应的电子资源为该已点击电子资源的候选推荐电子资源,或者也可以设置一个推荐概率阈值,然后将不小于该推荐概率阈值的推荐概率对应的电子资源确定为已点击电子资源的候选推荐电子资源,例如设置的推荐概率阈值为0.5,则将推荐概率不小于0.5的推荐概率对应的电子资源确定为已点击电子资源的候选推荐电子资源,这样一来可以保证最终推荐结果的准确性。
实际应用中,将最终计算出的候选推荐电子资源的推荐概率以二元组(key,value)的数据格式进行存储,其中,key为电子资源的标识信息,value为基于该电子资源下可以推荐的所有候选推荐电子资源,且每个候选推荐电子资源都有对应的推荐概率,以推荐概率降序的形式存储有redis数据库中,供召回实时读取,例如,key=A1,value=(B1|0.9,C1|0.8,D1|0.7),表示基于先点击电子资源A1的条件下的候选推荐电子资源为B1、C1和D1,对应的推荐概率分别为0.9、0.8和0.7。这样一来,服务器可以将为各个电子资源确定出的候选推荐电子资源及其推荐概率均以二元组的形式存储到redis数据库中。
需要说明的是,考虑到推荐关系的有向性,服务器在预先确定电子资源之间的推荐概率时,会针对一组电子资源对:A和B(item pair)计算两个推荐概率,即计算先点击A再点击B的推荐概率,和计算先点击B再点击A的推荐概率。
需要说明的是,无论电子资源是新闻、音乐、视频或商品等,伴随着互联网技术的发展,这些电子资源都是不断更新,因此,为了保证数据的实时性,本发明中可以按小时更新电子资源库,对于新产生的电子资源写入到电子资源库中,而对于过时的电子资源可以从电子资源库中剔除,备份存储到其它资源库中,然后基于更新后的电子资源库和获取到的用户的日志信息重新确定电子资源之间的推荐概率,然后更新redis数据库中存储的电子资源之间的候选推荐电子资源,为下次提取候选推荐电子资源做准备。
S33、将基于各个已点击电子资源确定出的候选推荐电子资源确定为电子资源召回结果。
具体地,基于图4和图5所示的流程,可以从redis数据库中提取待推荐用户历史点击的各个已点击电子资源的候选推荐电子资源。以待推荐用户实时点击的电子资源序列为(A1,A2,A3,A4,A5),可以从redis数据库中提取服务器预先利用图4和图5所示的方法为这些电子资源确定出的候选推荐电子资源分别为:(A1,B1|0.9,C1|0.8,D1|0.7)、(A2,B2|0.95,C2|0.8,D2|0.75)、(A3,B3|0.93,C3|0.8,D3|0.7)、(A4,B4|0.96,C4|0.8,D4\0.7)和(A5,B5|0.94,C5|0.88,D5|0.83),则可以将这15个电子资源均作为电子资源召回结果。
另一种可能的实施方式中,当ACF算法为基于User的ACF算法时,可以按照图6所示的流程预先利用基于用户行为的协同过滤ACF算法为待推荐用户确定电子资源召回结果,可以包括以下步骤:
S61、利用基于User的ACF算法,确定待推荐用户的候选推荐用户。
本步骤中,服务器会预先利用基于User的ACF算法,为基于应用程序访问电子资源的所有用户分别确定候选推荐用户并存储到redis数据库中,然后当接收到电子资源推荐请求后,直接根据待推荐用户的标识信息,从redis数据库中提取出待推荐用户的候选推荐用户。
较佳地,本发明中的电子资源的被点击信息和曝光信息为根据待推荐用户访问电子资源的日志信息和其他用户访问电子资源的日志信息确定出的。在此基础之上,针对待推荐用户,可以从存储的用户集合中确定待推荐用户的候选推荐用户;具体地,针对存储的用户集合中每一访问用户,可以按照图7所示的流程确定待推荐用户的候选推荐用户,包括以下步骤:
S71、根据待推荐用户访问电子资源的日志信息和该访问用户访问电子资源的日志信息,确定待推荐用户与该访问用户共同点击过的电子资源的共点击电子资源数量。
具体地,本发明中的用户集合中访问用户为访问电子资源的用户,且所述用户集合为根据用户基于应用程序访问电子资源时所述应用程序记录的日志信息得到的。具体实施时,由于用户集合中任一用户的日志信息中包含该用户的标识信息和该用户访问电子资源的标识信息,故可以根据待推荐用户的日志信息和用户集合中除该待推荐用户以外其他访问用户的日志信息,确定待推荐用户与该访问用户共同点击过的电子资源的标识信息,进而计算出共点击电子资源数量,为了后续描述方便,以用户集合中具有m2个访问用户,将待推荐用户记为Ur,针对访问用户Uc,c属于[1,m2],且Ur不等于Uc,则基于上述描述,可以根据待推荐用户Ur和访问用户Uc的日志信息,确定出待推荐用户Ur和访问用户Uc共同点击的电子资源的共点击电子资源数量,且可以将共点击电子资源数量记为news_count_click(Ur,Uc)。
较佳地,为了保证数据的准确性和有效性,在执行步骤S71之前,可以对所有访问用户访问电子资源的日志信息进行相应的规则过滤,即进行数据清洗。具体可以参考步骤S41的描述,此处不再详细赘述。在利用过滤规则对日志信息进行过滤后,根据余下的访问用户的日志信息确定待推荐用户与该访问用户共同点击过的电子资源的共点击电子资源数量。
需要说明的是,待推荐用户也是用户集合中的一个访问用户,只不过当前是该访问用户发起电子资源推荐请求,则将该访问用户称作待推荐用户。
S72、根据待推荐用户访问电子资源的日志信息和该访问用户访问电子资源的日志信息,确定对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量。
本步骤中,针对访问用户Uc,服务器可以基于待推荐用户Ur和访问用户Uc的日志信息中的电子资源的标识信息,以及服务器记录的包含为各个访问用户曝光的电子资源的标识信息的日志信息,由此可以确定出对访问用户Uc曝光的电子资源中被待推荐用户Ur点击的电子资源的标识信息,进而计算出第二数量,记为news_countUr,Uc。
较佳地,在基于User ACF算法中,本发明中的被点击信息包括所述待推荐用户已点击的电子资源的标识信息;所述曝光信息包括已向用户曝光的电子资源的标识信息;具体地,可以按照图8所示的流程执行步骤S72,包括以下步骤:
S81、确定待推荐用户已点击的电子资源的标识信息构成的第三集合。
本步骤中,根据待推荐用户的日志信息包含的电子资源的标识信息,可以确定出待推荐用户已点击的电子资源的标识信息构成的第三集合news_click(Ur),例如确定出的news_click(Ur)={Item ID1,Item ID2,Item ID3,Item ID4,……,Item IDh},h的值可以根据实际情况而定。
S82、确定已向该访问用户曝光的电子资源的标识信息构成的第四集合。
参考步骤S81,可以根据该访问用户Uc的日志信息包含的电子资源的标识信息,可以确定出已向访问用户Uc曝光的电子资源的标识信息构成的第四集合,记为news_expose(Uc),例如确定出的news_expose(Uc)={Item ID2,Item ID4,Item ID5,Item ID6,……,Item IDH},其中,H的值可以根据实际情况而定。
S83、确定所述第三集合和所述第四集合的交集中的标识信息对应的电子资源的数量为对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量。
基于步骤S81和S82,可以确定出第三集合news_click(Ur)与第四集合news_expose(Uc)的交集,进而基于交集中电子资源的标识信息计算出交集中电子资源的数量,记为news_count{news_click(Ur)∩news_expose(Uc)},而该数量即为对访问用户Uc曝光的电子资源中被待推荐用户Ur点击的电子资源的第二数量,即news_countUr,Uc=news_count{news_click(Ur)∩news_expose(Uc)}。为了更好地理解上述过程,假设待推荐用户Ur已点击的电子资源的标识信息构成的第三集合为:news_click(Ur)={Item ID1,ItemID2,Item ID3,Item ID4,Item ID5,Item ID6},已向访问用户Uc曝光的电子资源的标识信息构成的第四集合为:news_expose(Uc)={Item ID2,Item ID4,Item ID5,Item ID6,ItemID7},则可以确定出上述第三集合与第四集合的交集为:news_click(Ur)∩news_expose(Uc)={Item ID2,Item ID4,Item ID5,Item ID6},进而可以基于上述交集计算出第二数量为:news_countUr,Uc=news_count{news_click(Ur)∩news_expose(Uc)}=4。
S73、基于每一访问用户确定出的共点击电子资源数量和第二数量,确定所述待推荐用户与该访问用户之间的推荐概率。
其中,所述推荐概率与共点击电子资源数量呈正相关,与所述第二数量呈负相关。
基于步骤S71和S72确定出的共点击电子资源数量和第二数量,可以按照下述公式确定待推荐用户Ur与访问用户Uc之间的推荐概率P(Uc/Ur):
利用上述公式可以确定出待推荐用户Ur与访问用户Uc之间的推荐概率,由于本发明中确定的是P(Uc/Ur),而不是P(Ur/Uc),故考虑了推荐用户之间推荐关系的有向性,此外上述公式还考虑了电子资源的曝光信息,相比于现有技术采用的CF算法没有考虑推荐关系的有向性和电子资源的曝光信息,本发明利用上述公式确定出的推荐概率更准确。
S74、基于各个访问用户确定出的推荐概率,确定待推荐用户的候选推荐用户。
本步骤中,通过利用步骤S73中的公式,可以确定出用户集合中除待推荐用户Ur以外的每一访问用户Uc(c属于[1,m2])之间的推荐概率,进而可以按照推荐概率的大小确定出待推荐用户Ur的候选推荐用户,例如,将推荐概率按照由大到小的顺序进行排序,然后取前M2个推荐概率对应的访问用户确定为待推荐用户Ur的候选推荐用户。或者,还可以设置另一个推荐概率阈值,然后将不小于该推荐概率阈值的推荐概率对应的访问用户确定为待推荐用户的候选推荐用户,例如,设置的推荐概率阈值可以为0.5等,则将步骤S73中确定出的推荐概率不小于0.5的推荐概率对应的访问用户确定为待推荐用户的候选推荐用户,这样一来,可以保证最终向待推荐用户推荐的电子资源的准确性。
通过执行图7所示的流程,服务器可以预先为基于应用程序访问电子资源的所有用户确定出候选推荐用户及其推荐概率。
在实际应用中,可以将候选推荐用户的推荐概率同样以二元组(key,value)的数据格式存储于redis数据库中,此处key为待推荐用户的标识信息,value为基于待推荐用户确定出的所有候选推荐用户,且每个候选推荐用户都有对应的推荐概率,以推荐概率降序的形式存储于redis数据库中,供召回实时读取,例如,key=Ur,value=(U1|0.95,U2|0.85,U3|0.75),表示基于待推荐用户Ur的三个候选推荐用户U1、U2和U3,对应的推荐概率分别为0.95/0.85和0.75。这样一来,服务器可以将预先为使用应用程序访问电子资源的所有用户确定出候选推荐用户及其推荐概率均以二元组的形式存储到redis数据库中。
需要说明的是,考虑到推荐关系的有向性,服务器在预先确定访问用户之间的推荐概率时,会针对一组用户对:Ua和Ub(User pair)计算两个推荐概率,即计算基于访问用户Ua向访问用户Ub推荐的推荐概率,和计算访问用户Ub向访问用户Ua推荐的推荐概率。
需要说明的是,伴随着互联网技术的发展,基于应用程序访问电子资源的用户也是不断更新的,因此,为了保证数据的实时性,本发明考虑到User数据迁移较慢,同时User数据量太大,所以本发明基于User的ACF算法确定访问用户之间的推荐概率是按天级更新的,即按天更新用户集合,然后基于更新后的用户集合确定访问用户之间的推荐概率,进而确定出各个访问用户的候选推荐用户,并将各个访问用户的候选推荐用户及其概率更新redis数据库,为下次提取待推荐用户的候选推荐用户做准备。
S62、确定每一候选推荐用户历史点击的已点击电子资源。
本步骤中,当基于图7所示的流程确定出待推荐用户的候选推荐用户后,可以确定距当前时间之前预设时间段内候选推荐用户历史点击的电子资源,例如,当前时间为16:00,预设时间段为10分钟,则服务器可以获取15:50~16:00之间候选推荐用户的访问电子资源的日志信息,进而确定出候选推荐用户历史点击的已点击电子资源构成的电子资源序列。例如,针对待推荐用户Ur,从redis数据库中提取的Ur的候选推荐用户分别为U1、U2和U3,则服务器可以确定U1、U2和U3这三个访问用户历史点击的已点击电子资源,如U1历史点击的已点击电子资源的标识信息为:{Item ID1,Item ID2,Item ID3,Item ID5,ItemID6},U2历史点击的已点击电子资源的标识信息为:{Item ID2,Item ID4,Item ID5,ItemID6,Item ID7},U3历史点击的已点击电子资源的标识信息为:{Item ID1,Item ID3,ItemID5,Item ID7,Item ID8}。
S63、将基于各个候选推荐用户确定出的已点击电子资源确定为待推荐用户的电子资源召回结果。
基于步骤S62确定出待推荐用户Ur的候选推荐用户U1、U2和U3历史点击的已点击电子资源后,则将标识信息为Item ID1,Item ID2,Item ID3,Item ID4,Item ID5,ItemID6,Item ID7和Item ID8分别对应的电子资源确定为待推荐用户Ur的电子资源召回结果。
再一种可能的实施方式中,当ACF算法为基于Item的ACF算法和基于User的ACF算法时,可以按照下述过程根据所述待推荐用户的标识信息,确定预先利用基于用户行为的协同过滤ACF算法为所述待推荐用户确定出的电子资源召回结果:
将基于Item的ACF算法为待推荐用户确定出的电子资源召回子结果和基于User的ACF算法为待推荐用户确定出的电子资源召回子结果共同确定为所述待推荐用户的电子资源召回结果。
具体地,可以将图3~图5所示的基于Item的ACF算法为待推荐用户确定出的电子资源召回子结果和基于图6~图8所示的基于User的ACF算法为待推荐用户确定出的电子资源召回子结果共同确定为待推荐用户的电子资源召回结果,例如,基于Item的ACF算法确定出的电子资源召回子结果为B1、B2、C1、C2、D1和D2,基于User的ACF算法确定出的电子资源召回子结果为B2、B3、B4、C3、C4和D3,则可以将电子资源B1、B2、B3、B4、C1、C2、C3、C4、D1、D2和D3共同确定为待推荐用户的电子资源召回结果。
在此基础之上,可以按照图9所示的流程根据电子资源召回结果,向待推荐用户推荐电子资源,包括以下步骤:
S91、对电子资源召回结果进行排序处理。
S92、根据排序结果,向所述待推荐用户推荐电子资源。
实际应用中,在进行电子资源推荐时,服务器可能用了不止一个电子资源召回策略,在向待推荐用户推荐电子资源时,可以将基于Item ACF算法为待推荐用户确定出的电子资源召回结果和利用其它电子资源召回策略确定出的电子资源召回结果共同按照一个规则(如点击量)进行统一排序,然后将最终排序结果中TOP N1个电子资源(即前N1个电子资源)提取出来展示给待推荐用户。若服务器仅采用了基于Item ACF算法进行推荐,则只需对基于Item ACF算法确定出的电子资源召回结果中的电子资源按推荐概率降序排序即可,然后取TOP N1的电子资源发送给应用程序,由应用程序展示给待推荐用户。
当然,也可以将基于User ACF算法为待推荐用户确定出的电子资源召回结果和利用其它电子资源召回策略确定出的电子资源召回结果共同按照一个规则(如点击量)进行统一排序,然后将最终排序结果中TOP N2个电子资源(即前N2个电子资源)提取出来展示给待推荐用户。若服务器仅采用了基于User ACF算法进行推荐,则只需对基于User ACF算法确定出的电子资源召回结果中的电子资源按推荐概率降序排序,然后取TOP N2的电子资源发送给应用程序,由应用程序展示给待推荐用户。
较佳地,还可以将基于Item的ACF算法和基于User的ACF算法共同确定出的电子资源召回结果共同按照一个规则(如点击量)进行统一排序,然后将最终排序结果中TOP N3个电子资源(即前N3个电子资源)提取出来展示给待推荐用户。若服务器仅采用了基于Item的ACF算法和基于User ACF算法进行推荐时,则只需对基于Item的ACF算法和基于User ACF算法确定出的电子资源召回结果中的电子资源按推荐概率降序排序,然后取TOP N3的电子资源发送给应用程序,由应用程序展示给待推荐用户。
本发明提供的电子资源推荐方法,在获取到电子资源推荐请求后,可以从数据库中提取待推荐用户的电子资源召回结果,其中,上述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,上述基于用户行为的ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的;然后根据所述电子资源召回结果,向所述待推荐用户推荐电子资源。通过采用上述方法,由于本发明中确定电子资源召回结果的基于用户行为的ACF算法考虑了电子资源的被点击信息和曝光信息,使得基于该算法确定出的电子资源召回结果的召回率和准确率更高,进而基于此电子资源召回结果向待推荐用户推荐的电子资源更能满足待推荐用户的实际需求,在一定程度上提高了用户体验。
基于同一发明构思,本发明实施例中还提供了一种电子资源推荐装置,由于上述装置解决问题的原理与电子资源推荐方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图10所示,为本发明实施例提供的电子资源推荐装置的结构示意图,包括:
获取单元101,用于获取电子资源推荐请求,所述电子资源推荐请求用于请求为待推荐用户推荐电子资源;
提取单元102,用于从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息生成的;
推荐单元103,用于根据所述电子资源召回结果,向所述待推荐用户推荐电子资源。
较佳地,所述基于用户行为的协同过滤ACF算法包括基于电子资源Item的ACF算法,以及所述装置,还包括:
确定单元104,具体用于确定所述待推荐用户历史点击的已点击电子资源;针对各个已点击电子资源,利用基于Item的ACF算法从电子资源库中确定各个已点击电子资源的候选推荐电子资源;将基于各个已点击电子资源确定出的候选推荐电子资源确定为电子资源召回结果。
优选地,所述基于用户行为的协同过滤ACF算法还包括基于用户User的ACF算法,以及
所述确定单元104,具体用于利用基于User的ACF算法,确定所述待推荐用户的候选推荐用户;确定每一候选推荐用户历史点击的已点击电子资源;将基于各个候选推荐用户确定出的已点击电子资源确定为所述待推荐用户的电子资源召回结果。
优选地,所述基于用户行为的协同过滤ACF算法包括基于电子资源Item的ACF算法和基于用户User的ACF算法;以及
所述确定单元104,具体用于将基于Item的ACF算法为所述待推荐用户确定出的电子资源召回子结果和基于User的ACF算法为所述待推荐用户确定出的电子资源召回子结果共同确定为所述待推荐用户的电子资源召回结果。
可选地,所述电子资源的被点击信息和曝光信息为根据待推荐用户访问电子资源的日志信息和其他用户访问电子资源的日志信息确定出的;以及
所述确定单元104,具体用于根据待推荐用户访问电子资源的日志信息和其他访问用户访问电子资源的日志信息,确定该已点击电子资源与所述电子资源库中除该已点击电子资源以外的任一发布电子资源之间的共点击用户数量,以及确定该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量;基于每一发布电子资源确定出的共点击用户数量和第一数量,确定该已点击电子资源与每一发布电子资源之间的推荐概率,其中,所述推荐概率与共点击用户数量呈正相关,与所述第一数量呈负相关;基于各个发布电子资源确定出的推荐概率,确定该已点击电子资源的候选推荐电子资源。
可选地,所述被点击信息包括点击电子资源的用户的标识信息,所述曝光信息包括电子资源的曝光用户的标识信息;以及
所述确定单元104,具体用于确定点击该已点击电子资源的用户的标识信息构成的第一集合;确定该发布电子资源的曝光用户的标识信息构成的第二集合;确定所述第一集合与所述第二集合的交集中的标识信息对应的用户的用户数量为该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量。
优选地,所述确定单元104,具体用于针对存储的用户集合中每一访问用户,均执行下述过程:根据所述待推荐用户访问电子资源的日志信息和该访问用户访问电子资源的日志信息,确定所述待推荐用户与该访问用户共同点击过的电子资源的共点击电子资源数量,以及确定对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量;基于每一访问用户确定出的共点击电子资源数量和第二数量,确定所述待推荐用户与该访问用户之间的推荐概率,其中,所述推荐概率与共点击电子资源数量呈正相关,与所述第二数量呈负相关;基于各个访问用户确定出的推荐概率,确定所述待推荐用户的候选推荐用户。
可选地,所述被点击信息包括所述待推荐用户已点击的电子资源的标识信息;所述曝光信息包括已向用户曝光的电子资源的标识信息;以及
所述确定单元104,具体用于确定所述待推荐用户已点击的电子资源的标识信息构成的第三集合;确定已向该访问用户曝光的电子资源的标识信息构成的第四集合;确定所述第三集合和所述第四集合的交集中的标识信息对应的电子资源的数量为对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量;
其中,所述用户集合中访问用户为访问电子资源的用户,且所述用户集合为根据用户基于应用程序访问电子资源时所述应用程序记录的日志信息得到的。
较佳地,所述推荐单元103,具体用于对所述电子资源召回结果进行排序处理;根据排序结果,向所述待推荐用户推荐电子资源。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本发明示例性实施方式的电子资源推荐方法、系统和可读介质之后,接下来,介绍根据本发明的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算装置可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述描述的根据本发明各种示例性实施方式的电子资源推荐方法中的步骤。例如,所述处理单元可以执行如图2所示的步骤S21~S23中电子资源推荐流程。
下面参照图11来描述根据本发明的这种实施方式的计算装置110。图11显示的计算装置110仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,计算装置110以通用计算设备的形式表现。计算装置110的组件可以包括但不限于:上述至少一个处理单元111、上述至少一个存储单元112、连接不同系统组件(包括存储单元112和处理单元111)的总线113。
总线113表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元112可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1121和/或高速缓存存储器1122,还可以进一步包括只读存储器(ROM)1123。
存储单元112还可以包括具有一组(至少一个)程序模块1124的程序/实用工具1125,这样的程序模块1124包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置110也可以与一个或多个外部设备114(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置110交互的设备通信,和/或与使得该计算装置110能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口115进行。并且,计算装置110还可以通过网络适配器116与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器116通过总线113与用于计算装置110的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置110使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本发明提供的电子资源推荐方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的电子资源推荐方法中的步骤,例如,所述计算机设备可以执行如图2所示的步骤S21~S23中电子资源推荐流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于电子资源推荐方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种电子资源推荐方法,其特征在于,包括:
获取电子资源推荐请求,所述电子资源推荐请求用于请求为待推荐用户推荐电子资源;
从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的;
根据所述电子资源召回结果,向所述待推荐用户推荐电子资源;
其中,所述基于用户行为的协同过滤ACF算法包括基于电子资源Item的ACF算法,以及利用基于Item的ACF算法确定电子资源召回结果,具体包括:
确定所述待推荐用户历史点击的已点击电子资源;
针对各个已点击电子资源,利用所述基于Item的ACF算法从电子资源库中,确定各个已点击电子资源的候选推荐电子资源;其中,每个点击电子资源的候选推荐电子资源是基于该已点击电子资源与各个发布电子资源之间的推荐概率确定的,所述推荐概率是基于该发布电子资源的曝光用户中点击对应发布电子资源的用户的数目确定的;
将基于各个已点击电子资源确定出的候选推荐电子资源确定为电子资源召回结果。
2.如权利要求1所述的方法,其特征在于,所述基于用户行为的协同过滤ACF算法还包括基于用户User的ACF算法,以及利用基于User的ACF算法确定电子资源召回结果,具体包括:
利用基于User的ACF算法,确定所述待推荐用户的候选推荐用户;
确定每一候选推荐用户历史点击的已点击电子资源;
将基于各个候选推荐用户确定出的已点击电子资源确定为所述待推荐用户的电子资源召回结果。
3.如权利要求1或2所述的方法,其特征在于,所述电子资源的被点击信息和曝光信息为根据待推荐用户访问电子资源的日志信息和其他用户访问电子资源的日志信息确定出的;以及
所述针对各个已点击电子资源,利用所述基于Item的ACF算法从电子资源库中,确定各个已点击电子资源的候选推荐电子资源,具体包括:
根据待推荐用户访问电子资源的日志信息和其他访问用户访问电子资源的日志信息,确定该已点击电子资源与所述电子资源库中除该已点击电子资源以外的任一发布电子资源之间的共点击用户数量,以及确定该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量;
基于每一发布电子资源确定出的共点击用户数量和第一数量,确定该已点击电子资源与每一发布电子资源之间的推荐概率,其中,所述推荐概率与共点击用户数量呈正相关,与所述第一数量呈负相关;
基于各个发布电子资源确定出的推荐概率,确定该已点击电子资源的候选推荐电子资源。
4.如权利要求3所述的方法,其特征在于,所述被点击信息包括点击电子资源的用户的标识信息,所述曝光信息包括电子资源的曝光用户的标识信息;以及
确定该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量,具体包括:
确定点击该已点击电子资源的用户的标识信息构成的第一集合;
确定该发布电子资源的曝光用户的标识信息构成的第二集合;
确定所述第一集合与所述第二集合的交集中的标识信息对应的用户的用户数量为该发布电子资源的曝光用户中点击了该已点击电子资源的用户的第一数量。
5.如权利要求2所述的方法,其特征在于,利用基于User的ACF算法,确定所述待推荐用户的候选推荐用户,具体包括:
针对存储的用户集合中每一访问用户,均执行下述过程:
根据所述待推荐用户访问电子资源的日志信息和该访问用户访问电子资源的日志信息,确定所述待推荐用户与该访问用户共同点击过的电子资源的共点击电子资源数量,以及确定对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量;
基于每一访问用户确定出的共点击电子资源数量和第二数量,确定所述待推荐用户与该访问用户之间的推荐概率,其中,所述推荐概率与共点击电子资源数量呈正相关,与所述第二数量呈负相关;
基于各个访问用户确定出的推荐概率,确定所述待推荐用户的候选推荐用户。
6.如权利要求5所述的方法,其特征在于,所述被点击信息包括所述待推荐用户已点击的电子资源的标识信息;所述曝光信息包括已向用户曝光的电子资源的标识信息;以及
确定对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量,具体包括:
确定所述待推荐用户已点击的电子资源的标识信息构成的第三集合;
确定已向该访问用户曝光的电子资源的标识信息构成的第四集合;
确定所述第三集合和所述第四集合的交集中的标识信息对应的电子资源的数量为对该访问用户曝光的电子资源中被所述待推荐用户点击的电子资源的第二数量;
其中,所述用户集合中访问用户为访问电子资源的用户,且所述用户集合为根据用户基于应用程序访问电子资源时所述应用程序记录的日志信息得到的。
7.一种电子资源推荐装置,其特征在于,包括:
获取单元,用于获取电子资源推荐请求,所述电子资源推荐请求用于请求为待推荐用户推荐电子资源;
提取单元,用于从数据库中提取所述待推荐用户的电子资源召回结果,其中,所述电子资源召回结果为利用基于用户行为的协同过滤ACF算法确定出的,所述ACF算法为基于电子资源的被点击信息和电子资源的曝光信息确定的;
推荐单元,用于根据所述电子资源召回结果,向所述待推荐用户推荐电子资源;
其中,所述基于用户行为的协同过滤ACF算法包括基于电子资源Item的ACF算法,以及所述装置,还包括:
确定单元,具体用于确定所述待推荐用户历史点击的已点击电子资源;针对各个已点击电子资源,利用所述基于Item的ACF算法从电子资源库中,确定各个已点击电子资源的候选推荐电子资源;其中,每个点击电子资源的候选推荐电子资源是基于该已点击电子资源与各个发布电子资源之间的推荐概率确定的,所述推荐概率是基于该发布电子资源的曝光用户中点击对应发布电子资源的用户的数目确定的;以及,将基于各个已点击电子资源确定出的候选推荐电子资源确定为电子资源召回结果。
8.一种计算机可读介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至6任一权利要求所述的方法。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811352687.XA CN111191142B (zh) | 2018-11-14 | 2018-11-14 | 一种电子资源推荐方法、装置和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811352687.XA CN111191142B (zh) | 2018-11-14 | 2018-11-14 | 一种电子资源推荐方法、装置和可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111191142A CN111191142A (zh) | 2020-05-22 |
CN111191142B true CN111191142B (zh) | 2023-03-14 |
Family
ID=70707288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811352687.XA Active CN111191142B (zh) | 2018-11-14 | 2018-11-14 | 一种电子资源推荐方法、装置和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111191142B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989146B (zh) * | 2021-02-18 | 2024-04-23 | 百度在线网络技术(北京)有限公司 | 向目标用户推荐资源的方法、装置、设备、介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016091114A1 (zh) * | 2014-12-10 | 2016-06-16 | 阿里巴巴集团控股有限公司 | 一种信息推送方法和装置 |
CN105824912A (zh) * | 2016-03-15 | 2016-08-03 | 平安科技(深圳)有限公司 | 基于用户画像的个性化推荐方法和装置 |
CN106294830A (zh) * | 2016-08-17 | 2017-01-04 | 合智能科技(深圳)有限公司 | 多媒体资源的推荐方法及装置 |
CN107704560A (zh) * | 2017-09-21 | 2018-02-16 | 星潮闪耀移动网络科技(中国)有限公司 | 一种信息推荐的方法、装置及设备 |
CN108132963A (zh) * | 2017-11-23 | 2018-06-08 | 广州优视网络科技有限公司 | 资源推荐方法和装置、计算设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014146265A1 (en) * | 2013-03-20 | 2014-09-25 | Nokia Corporation | Method and apparatus for personalized resource recommendations |
US9552055B2 (en) * | 2013-07-15 | 2017-01-24 | Facebook, Inc. | Large scale page recommendations on online social networks |
-
2018
- 2018-11-14 CN CN201811352687.XA patent/CN111191142B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016091114A1 (zh) * | 2014-12-10 | 2016-06-16 | 阿里巴巴集团控股有限公司 | 一种信息推送方法和装置 |
CN105824912A (zh) * | 2016-03-15 | 2016-08-03 | 平安科技(深圳)有限公司 | 基于用户画像的个性化推荐方法和装置 |
WO2017157146A1 (zh) * | 2016-03-15 | 2017-09-21 | 平安科技(深圳)有限公司 | 基于用户画像的个性化推荐方法、装置、服务器及存储介质 |
CN106294830A (zh) * | 2016-08-17 | 2017-01-04 | 合智能科技(深圳)有限公司 | 多媒体资源的推荐方法及装置 |
CN107704560A (zh) * | 2017-09-21 | 2018-02-16 | 星潮闪耀移动网络科技(中国)有限公司 | 一种信息推荐的方法、装置及设备 |
CN108132963A (zh) * | 2017-11-23 | 2018-06-08 | 广州优视网络科技有限公司 | 资源推荐方法和装置、计算设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于Spark平台的分布式检索及推荐系统;胡阳;《中国优秀硕士学位论文全文数据库 信息科技辑》;20181015;第25页第4.1节到第48页第4.4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN111191142A (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Karimi et al. | News recommender systems–Survey and roads ahead | |
CN110825957B (zh) | 基于深度学习的信息推荐方法、装置、设备及存储介质 | |
US9704185B2 (en) | Product recommendation using sentiment and semantic analysis | |
US8990241B2 (en) | System and method for recommending queries related to trending topics based on a received query | |
US11275748B2 (en) | Influence score of a social media domain | |
CN111159341B (zh) | 基于用户投资理财偏好的资讯推荐方法及装置 | |
CN111144952A (zh) | 基于用户兴趣的广告推荐方法、装置、服务器及存储介质 | |
US10467255B2 (en) | Methods and systems for analyzing reading logs and documents thereof | |
CN102446171A (zh) | 基于加权平均点进率评测推广关键词质量度的方法与设备 | |
WO2015185020A1 (en) | Information category obtaining method and apparatus | |
US20200401639A1 (en) | Personalizing a search query using social media | |
CN111815375B (zh) | 广告投放中的用户画像方法及装置 | |
CN112182359A (zh) | 推荐模型的特征管理方法及系统 | |
CN103608807A (zh) | 路径长度选择器 | |
CN111754278A (zh) | 物品推荐方法、装置、计算机存储介质和电子设备 | |
CN107735785B (zh) | 自动信息检索 | |
AU2020202730A1 (en) | Method and system for personalizing software based on real time tracking of voice-of-customer feedback | |
CN111191142B (zh) | 一种电子资源推荐方法、装置和可读介质 | |
CN112749238A (zh) | 搜索排序方法、装置、电子设备以及计算机可读存储介质 | |
CN111311015A (zh) | 个性化点击率预测方法、设备及可读存储介质 | |
JPWO2014050837A1 (ja) | 判定装置、判定方法、及びプログラム | |
CN116506498A (zh) | 一种基于云计算的数据精准推送方法 | |
CN112084408B (zh) | 名单数据筛选方法、装置、计算机设备及存储介质 | |
CN111353864A (zh) | 一种产品推荐方法、装置、服务器及存储介质 | |
US20200019975A1 (en) | Reputation management |
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 |