CN112052398A - 媒体信息推荐方法、装置、电子设备及存储介质 - Google Patents
媒体信息推荐方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112052398A CN112052398A CN202011092799.3A CN202011092799A CN112052398A CN 112052398 A CN112052398 A CN 112052398A CN 202011092799 A CN202011092799 A CN 202011092799A CN 112052398 A CN112052398 A CN 112052398A
- Authority
- CN
- China
- Prior art keywords
- media information
- target
- information
- target user
- bloom filter
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 title claims abstract description 48
- 238000012216 screening Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 112
- 238000013507 mapping Methods 0.000 claims description 71
- 238000003491 array Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 24
- 230000006399 behavior Effects 0.000 claims description 16
- 230000000694 effects Effects 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000002699 waste material Substances 0.000 description 6
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种媒体信息推荐方法、装置、电子设备及存储介质;方法包括:获取目标用户对应的历史推荐媒体信息;基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器;获取所述目标用户对应的多个候选媒体信息;基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;将所述目标推荐媒体信息推荐至所述目标用户对应的终端;通过本发明,能够提高媒体信息推荐的效率,节省存储空间,降低存储成本。
Description
技术领域
本发明涉及云技术和互联网技术领域,尤其涉及一种媒体信息推荐方法、装置、电子设备及存储介质。
背景技术
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术;是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。随着互联网行业的高速发展和应用,技术网络系统的后台服务需要大量的计算和存储资源,云技术已被广泛应用于各类行业的后台系统,比如媒体信息推荐等。
相关技术中在进行媒体信息推荐的过程中,对应每个用户存储一个明文内容ID列表,通过该明文内容ID列表存储已推荐信息的内容ID,并基于待推荐信息与已推荐信息的内容ID的一一比对进行媒体信息推荐。而大量存储内容ID非常占用存储空间,资源浪费严重,且当内容ID较多时,媒体信息推荐的效率也会降低。
发明内容
本发明实施例提供一种媒体信息推荐方法、装置、电子设备及存储介质,能够提高媒体信息推荐的效率,节省存储空间,降低存储成本。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种媒体信息推荐方法,包括:
获取目标用户对应的历史推荐媒体信息;
基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器;
获取所述目标用户对应的多个候选媒体信息;
基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;
将所述目标推荐媒体信息推荐至所述目标用户对应的终端。
本发明实施例还提供一种媒体信息推荐装置,包括:
第一获取模块,用于获取目标用户对应的历史推荐媒体信息;
创建模块,用于基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器;
第二获取模块,用于获取所述目标用户对应的多个候选媒体信息;
筛选模块,用于基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;
推荐模块,用于将所述目标推荐媒体信息推荐至所述目标用户对应的终端。
上述方案中,所述创建模块,还用于基于所述历史推荐媒体信息的数量,确定用于创建所述布隆过滤器的位数组;
获取用于创建所述布隆过滤器的至少一个目标函数;
基于所述至少一个目标函数,将所述历史推荐媒体信息映射到所述位数组中,以创建对应所述目标用户的布隆过滤器。
上述方案中,所述位数组为二进制位数组,所述确定用于创建所述布隆过滤器的位数组之后,所述创建模块,还用于将所述位数组中包含的各元素置为0;
相应的,所述创建模块,还用于获取所述历史推荐媒体信息的信息标识;
基于所述信息标识,确定各所述目标函数的函数值;
将所述位数组中对应所述函数值的元素置为1,以将所述历史推荐媒体信息映射到所述位数组中,创建对应所述目标用户的布隆过滤器。
上述方案中,所述创建模块,还用于获取用于创建布隆过滤器的目标数量的位数组,所述目标数量为至少两个;
当所述历史推荐媒体信息的数量为至少两个时,获取各所述历史推荐媒体信息对应的推荐时间点;
按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息依次映射到所述目标数量的位数组中;
基于映射有所述历史推荐媒体信息的各位数组,创建对应所述目标用户的多个布隆过滤器。
上述方案中,所述创建模块,还用于从排位第一的所述位数组开始,针对每个所述位数组执行以下处理:
获取所述位数组的信息容量阈值;
按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息映射到所述位数组中;
当所述位数组中历史推荐媒体信息的数量达到所述信息容量阈值时,将未执行映射操作的历史推荐媒体信息映射到所述位数组的下一位数组。
上述方案中,所述创建模块,还用于当所述目标数量的位数组满足重置条件时,按照各所述位数组对应的映射时间点的先后顺序,依次重置映射时间点靠前的位数组,并
将未执行映射操作的历史推荐媒体信息映射到所述重置后的位数组中。
上述方案中,所述装置还包括:
压缩模块,用于获取所述目标用户的用户活跃度;
当所述用户活跃度表征所述目标用户为非活跃用户时,对所述目标用户对应的布隆过滤器进行压缩处理,得到压缩后的布隆过滤器。
上述方案中,所述第二获取模块,还用于获取所述目标用户的画像信息;
从候选媒体信息库中,筛选得到与所述目标用户的画像信息相匹配的多个候选媒体信息。
上述方案中,所述筛选模块,还用于获取各所述候选媒体信息的信息标识,以及所述布隆过滤器对应的至少一个目标函数;
基于各所述候选媒体信息的信息标识,确定与所述候选媒体信息对应的所述目标函数的函数值;
基于各所述候选媒体信息对应的目标函数的函数值,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息。
上述方案中,所述筛选模块,还用于获取所述布隆过滤器对应的位数组;
基于各所述候选媒体信息对应的目标函数的函数值,在所述布隆过滤器对应的位数组中,确定对应所述候选媒体信息的至少一个目标元素;
当所述至少一个目标元素满足信息推荐条件时,则将所述候选媒体信息确定为所述目标推荐媒体信息。
上述方案中,所述装置还包括:
更新模块,用于获取所述目标用户针对所述目标推荐媒体信息的操作行为信息;
当基于所述操作行为信息,确定所述目标用户已浏览所述目标推荐媒体信息时,更新所述历史推荐媒体信息。
上述方案中,所述推荐模块,还用于将携带显示指示信息的所述目标推荐媒体信息,推荐至所述目标用户对应的终端;
其中,所述显示指示信息,用于指示所述终端采用相应的目标显示样式呈现所述目标推荐媒体信息。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的媒体信息推荐方法。
本发明实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本发明实施例提供的媒体信息推荐方法。
本发明实施例具有以下有益效果:
基于获取的目标用户的历史推荐媒体信息,创建对应目标用户的布隆过滤器。当向目标用户进行媒体信息推荐时,获取该目标用户对应的多个候选媒体信息,然后基于目标用户对应的布隆过滤器,对该多个候选媒体信息进行筛选,从中筛选得到不同于历史推荐媒体信息的至少一个候选媒体信息,将该至少一个候选媒体信息作为目标推荐媒体信息推荐至目标用户对应的终端。这里,基于布隆过滤器,可以在多个候选媒体信息中,快速判断并确定不同于历史推荐媒体信息的候选媒体信息以进行推荐,提高媒体信息推荐的效率,避免媒体信息的重复推荐;同时无需存储每个历史推荐媒体信息的标识,节省了存储空间,降低存储成本。
附图说明
图1是本发明实施例提供的媒体信息推荐系统100的架构示意图;
图2是本发明实施例提供的电子设备400的结构示意图;
图3是本发明实施例提供的媒体信息推荐方法的流程示意图;
图4是本发明实施例提供的布隆过滤器的创建示意图;
图5是本发明实施例提供的由四个布隆过滤器组成的环形结构示意图;
图6是相关技术中提供的明文内容ID的去重方案示意图;
图7是本发明实施例提供的媒体信息推荐方法的流程示意图;
图8A-图8B是本发明实施例提供的媒体信息推荐方法的应用示意图;
图9A-图9B是本发明实施例提供的媒体信息的推荐场景示意图;
图10是本发明实施例提供的媒体信息推荐装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)客户端,终端中运行的用于提供各种服务的应用程序,例如即时通讯客户端。
3)布隆过滤器:是一种空间效率很高的随机数据结构,利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合,是一个判断元素是否存在集合的快速的概率算法。
4)画像信息,即用户画像,包括用户兴趣画像及用户基础画像;其中,
用户兴趣画像,指真实用户的虚拟代表,是建立在一系列属性数据之上的目标用户模型,用于指示用户的兴趣分类;
用户基础画像,根据用户的真实姓名,性别、年龄,收入情况,常驻登录地等用户基础信息抽象出的标签化的用户的信息全貌。
基于上述对本发明实施例中涉及的名词和术语的解释,下面说明本发明实施例提供的媒体信息推荐系统,参见图1,图1是本发明实施例提供的媒体信息推荐系统100的架构示意图,为实现支撑一个示例性应用,终端(包括终端400-1和终端400-2),通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
服务器200,用于获取目标用户对应的历史推荐媒体信息;基于获取的历史推荐媒体信息,创建对应目标用户的布隆过滤器;
终端(包括终端400-1和终端400-2),用于发送媒体信息获取请求至服务器200;
服务器200,还用于接收并响应于媒体信息获取请求,获取目标用户对应的多个候选媒体信息;基于创建的布隆过滤器,从多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;将目标推荐媒体信息推荐至目标用户对应的终端;
终端(包括终端400-1和终端400-2),还用于接收目标推荐媒体信息,并在图形界面410(示例性示出了图形界面410-1和图形界面410-2)显示目标推荐媒体信息。
在实际应用中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(包括终端400-1和终端400-2)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明在此不做限制。
下面对本发明实施例提供的媒体信息推荐方法的电子设备的硬件结构做详细说明,电子设备包括但不限于服务器或终端。参见图2,图2是本发明实施例提供的电子设备的结构示意图,图2所示的电子设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。电子设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的媒体信息推荐装置可以采用软件方式实现,图2示出了存储在存储器450中的媒体信息推荐装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、创建模块4552、第二获取模块4553、筛选模块4554和推荐模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的媒体信息推荐装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的媒体信息推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的媒体信息推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable LogicDevice)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本发明实施例的媒体信息推荐方法的实施场景及电子设备的说明,下面说明本发明实施例提供的媒体信息推荐方法。参见图3,图3是本发明实施例提供的媒体信息推荐方法的流程示意图;在一些实施例中,该媒体信息推荐方法可由服务器或终端单独实施,或由服务器及终端协同实施,以服务器实施为例,本发明实施例提供的媒体信息推荐方法包括:
步骤301:服务器获取目标用户对应的历史推荐媒体信息。
这里,在实际应用中,服务器需要获取已经向目标用户所推荐的历史推荐媒体信息,以基于获取的历史推荐媒体信息对待推荐的候选媒体信息进行去重筛选,避免媒体信息重复推荐的问题。
步骤302:基于获取的历史推荐媒体信息,创建对应目标用户的布隆过滤器。
这里,在本发明实施例中,服务器在获取到目标用户的历史推荐媒体信息后,基于获取的历史推荐媒体信息创建对应目标用户的布隆过滤器,以基于布隆过滤器对待推荐的候选媒体信息进行去重筛选,避免媒体信息重复推荐的问题。
在一些实施例中,服务器可通过如下方式创建对应目标用户的布隆过滤器:基于历史推荐媒体信息的数量,确定用于创建布隆过滤器的位数组;获取用于创建布隆过滤器的至少一个目标函数;基于至少一个目标函数,将历史推荐媒体信息映射到位数组中,以创建对应目标用户的布隆过滤器。
在实际应用中,首先需要根据获取的历史推荐媒体信息的数量,分配用于创建布隆过滤器的位数组,比如二进制位数组。然后获取用于创建布隆过滤器的至少一个目标函数,该目标函数为能够使历史推荐媒体信息均匀分散地映射到位数组中的映射函数,比如哈希函数;该目标函数的数量可以根据需要进行设置,具体地,可以根据布隆过滤器的过滤精度设置。最后基于该至少一个目标函数,将历史推荐信息映射到用于创建布隆过滤器的位数组中,从而创建对应目标用户的布隆过滤器。
在一些实施例中,该位数组为二进制位数组,基于此,在确定用于创建布隆过滤器的位数组之后,需要对该二进制位数组进行初始化处理,具体是将位数组中包含的各元素置为0。
相应的,服务器可通过如下方式基于至少一个目标函数,将历史推荐媒体信息映射到位数组中:获取历史推荐媒体信息的信息标识;基于信息标识,确定各目标函数的函数值;将位数组中对应函数值的元素置为1,以将历史推荐媒体信息映射到位数组中,创建对应目标用户的布隆过滤器。
在实际应用中,服务器在将历史推荐媒体信息映射到位数组中时,针对每个历史推荐媒体信息执行以下处理:首先,获取该历史推荐媒体信息的信息标识;然后,根据每个目标函数,确定该历史推荐媒体信息的信息标识所对应的各目标函数的函数值,该函数值可以对应位数组中相应元素的下标;最后,在位数组中确定对应各目标函数的函数值的元素,并将该对应各目标函数的函数值的元素置为1,以实现将该历史推荐媒体信息映射到位数组中,从而创建对应目标用户的布隆过滤器。
示例性地,参见图4,图4是本发明实施例提供的布隆过滤器的创建示意图。这里,假设某个目标用户第一次曝光媒体信息(即历史推荐媒体信息)的信息标识分别为x,y,z,假设目标函数的数量为3个,那么每个信息标识依次通过该3个目标函数进行映射,每次映射都会产生一个函数值,这个函数值对应位数组中的一个元素,然后将位数组对应函数值的元素由0置为1,如图4所示。
在一些实施例中,服务器还可通过如下方式创建对应目标用户的布隆过滤器:获取用于创建布隆过滤器的目标数量的位数组,该目标数量为至少两个;当历史推荐媒体信息的数量为至少两个时,获取各历史推荐媒体信息对应的推荐时间点;按照推荐时间点的先后顺序,将至少两个历史推荐媒体信息依次映射到目标数量的位数组中;基于映射有历史推荐媒体信息的各位数组,创建对应目标用户的多个布隆过滤器。
在实际应用中,还可以创建对应目标用户的多个布隆过滤器。首先获取用于创建布隆过滤器的目标数量的位数组,该目标数量为至少两个。然后获取各历史推荐媒体信息对应的推荐时间点,进而按照推荐时间点的先后顺序,依次将各历史推荐媒体信息映射到目标数量的位数组中;最后基于映射有历史推荐媒体信息的各位数组,创建对应目标用户的多个布隆过滤器。
在一些实施例中,服务器可通过如下方式将至少两个历史推荐媒体信息依次映射到目标数量的位数组中:从排位第一的位数组开始,针对每个位数组执行以下处理:获取位数组的信息容量阈值;按照推荐时间点的先后顺序,将至少两个历史推荐媒体信息映射到位数组中;当位数组中历史推荐媒体信息的数量达到信息容量阈值时,将未执行映射操作的历史推荐媒体信息映射到位数组的下一位数组。
在实际应用中,每个位数组对应有信息容量阈值,所能承载的数据量是不能超过该信息容量阈值的。在将历史推荐媒体信息依次映射到目标数量的位数组中时,从排位第一的位数组开始,针对每个位数组执行以下处理:获取该位数组的信息容量阈值;按照各历史推荐媒体信息对应的推荐时间点的先后顺序,依次将历史推荐媒体信息映射到位数组中,具体地映射过程可参照上述基于至少一个目标函数,将历史推荐媒体信息映射到位数组中的过程,在此不再赘述。当确定当前位数组中所映射的历史推荐媒体信息的数量达到信息容量阈值时,则将未执行映射操作的历史推荐媒体信息映射到当前位数组的下一位数组。
当下一位数组中所映射的历史推荐媒体信息的数量达到信息容量阈值时,则将未执行映射操作的历史推荐媒体信息映射到该位数组的下一位数组,以此类推,将各历史推荐媒体信息映射到目标数量的位数组中。
在实际应用中,该目标数量的位数组所能承载的数据量也是有限的,而随着推荐时间的增长,历史推荐媒体信息不断变多。因此,服务器还可以对位数组中映射的数据进行处理,以便于继续映射历史推荐媒体信息:当目标数量的位数组满足重置条件时,按照各位数组对应的映射时间点的先后顺序,依次重置映射时间点靠前的位数组,并将未执行映射操作的历史推荐媒体信息映射到重置后的位数组中。
这里,服务器可以监控各位数组中历史推荐媒体信息的映射情况。当确定该目标数量的位数组均映射有历史推荐媒体信息时,则按照各位数组对应的映射时间点的先后顺序,依次重置映射时间点靠前的位数组。这里,该映射时间点对应各历史推荐媒体信息的推荐时间点,由于在映射的过程中是按照历史推荐媒体信息的推荐时间点的先后顺序映射的,所以映射有推荐时间点靠前的历史推荐媒体信息的位数组,该位数组对应的映射时间点也靠前。基于此,依次重置映射时间点靠前的位数组,具体可以是清空该位数组中的数据、或者将位数组中各元素由1置为0。如此,则可以将未执行映射操作的历史推荐媒体信息,按照推荐时间点的先后顺序,依次映射到重置后的位数组中。
示例性地,参见图5,图5是本发明实施例提供的由四个布隆过滤器组成的环形结构示意图。在进行媒体信息曝光去重时,按照顺序(比如媒体信息的推荐时间点的先后顺序),将媒体信息依次映射到第一个布隆过滤器中,当第一个布隆过滤器写满的时候再写入第二个布隆过滤器中,依次类推,当四个布隆过滤器都写满的时,此时涉及删除旧数据的问题。在实际应用中,可按照媒体信息的映射顺序,先清空最先映射写入布隆过滤器中的内容,再把清空的布隆过滤器当做一个新的过滤器使用。如此循环反复,可以有效解决布隆过滤器删除数据困难的问题,且不会影响使用布隆过滤器的存储成本低和去重判断快的特点。该布隆过滤器分片环的个数可以根据需要设置,比如可以将图7中所示的分片环的个数变成5个。
在一些实施例中,服务器还可通过如下方式减少布隆过滤器所占用的存储空间:获取目标用户的用户活跃度;当用户活跃度表征目标用户为非活跃用户时,对目标用户对应的布隆过滤器进行压缩处理,得到压缩后的布隆过滤器。
在实际应用中,由于存储空间大小固定,而不同用户的活跃度不同,非活跃用户可能会导致空间浪费。基于此可以根据活跃度对不同用户的布隆过滤器进行压缩处理,比如不同比例的gzip压缩、或者根据活跃度的不同设置不同的压缩率等,或者通过不同的压缩方式,从而避免非活跃用户空间浪费。
步骤303:获取目标用户对应的多个候选媒体信息。
这里,服务器在向目标用户推荐媒体信息时,需要获取该目标用户对应的多个候选媒体信息,进而从该多个候选媒体信息中选择用于推荐的目标推荐媒体信息。
在一些实施例中,服务器可通过如下方式获取目标用户对应的多个候选媒体信息:获取目标用户的画像信息;从候选媒体信息库中,筛选得到与目标用户的画像信息相匹配的多个候选媒体信息。
这里,在实际应用中,可以预先将候选媒体信息存储于候选媒体信息库中,该候选媒体信息库可以是本地存储,可以是云端存储等。在向目标用户进行媒体信息推荐时,则获取该目标用户的画像信息,从而基于该画像信息从候选媒体信息库中,筛选得到与目标用户的画像信息相匹配的多个候选媒体信息。具体地,该画像信息可以基于用户的基础信息(比如用户年龄、性别等)、用户的行为信息(比如用户的消费行为、音视频的观看收听行为、浏览行为、收藏行为等)构建。
步骤304:基于创建的布隆过滤器,从多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息。
其中,该目标推荐媒体信息不同于历史推荐媒体信息。
这里,在向目标用户进行媒体信息推荐时,为避免出现向目标用户多次推荐同一媒体信息的情况,在本发明实施例中,基于该目标用户对应的布隆过滤器,对多个候选媒体信息进行筛选,从而得到与历史推荐媒体信息不同的至少一个候选媒体信息作为目标推荐媒体信息。
在一些实施例中,服务器可通过如下方式从多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息:获取各候选媒体信息的信息标识,以及布隆过滤器对应的至少一个目标函数;基于各候选媒体信息的信息标识,确定与候选媒体信息对应的目标函数的函数值;基于各候选媒体信息对应的目标函数的函数值,从多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息。
在一些实施例中,服务器可通过如下方式基于各候选媒体信息对应的目标函数的函数值,从多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息:获取布隆过滤器对应的位数组;基于各候选媒体信息对应的目标函数的函数值,在布隆过滤器对应的位数组中,确定对应候选媒体信息的至少一个目标元素;当至少一个目标元素满足信息推荐条件时,则将候选媒体信息确定为目标推荐媒体信息。
在实际应用中,当基于创建的布隆过滤器进行候选媒体信息筛选时,即去除与已推荐过的历史推荐媒体信息相同的候选媒体信息时,可获取各候选媒体信息的信息标识、以及布隆过滤器对应的至少一个目标函数;基于各候选媒体信息的信息标识,确定与候选媒体信息对应的目标函数的函数值;基于各候选媒体信息对应的目标函数的函数值,在布隆过滤器对应的位数组中,确定对应该候选媒体信息的至少一个目标元素;当该目标元素满足信息推荐条件(即该至少一个目标元素中存在不为1的元素)时,则确定该候选媒体信息没有向目标用户推荐过,即未曝光过,则不需要将该候选媒体去除,此时则可以将候选媒体信息确定为目标推荐媒体信息。
示例性地,继续参见图4,当有新的媒体信息w需要判断是否已经曝光过(即向目标用户推荐过),则将根据该媒体信息w的信息标识,确定布隆过滤器对应的至少一个目标函数的函数值,进而在布隆过滤器对应的位数组中,确定对应该函数值的至少一个目标元素;当存在一个目标元素不为1时,则确定该媒体信息没有曝光过,否则有可能曝光过,则不再推荐。这里,由图4可知媒体信息w对应的目标元素中存在不为1的元素,因此媒体信息w没有曝光过,则不需要去重,可以作为目标推荐媒体信息向目标用户进行推荐。
步骤305:将目标推荐媒体信息推荐至目标用户对应的终端。
在一些实施例中,服务器可通过如下方式将目标推荐媒体信息推荐至目标用户对应的终端:将携带显示指示信息的目标推荐媒体信息,推荐至目标用户对应的终端;其中,该显示指示信息,用于指示终端采用相应的目标显示样式呈现目标推荐媒体信息。
在实际应用中,服务器在将目标推荐媒体信息推荐至目标用户对应的终端时,还可在目标推荐媒体信息中携带显示指示信息。当终端接收到目标推荐媒体信息时,对其进行解析得到其中的显示指示信息,以基于该显示指示信息,采用相应的目标显示样式呈现目标推荐媒体信息,比如媒体信息流、媒体信息闪屏等显示样式。
在一些实施例中,服务器将目标推荐媒体信息推荐至目标用户对应的终端之后,还可以获取目标用户针对目标推荐媒体信息的操作行为信息;当基于操作行为信息,确定目标用户已浏览目标推荐媒体信息时,更新历史推荐媒体信息。
这里,历史推荐媒体信息是需要进行更新的。具体地,服务器在将目标推荐媒体信息推荐给目标用户之后,还可以继续监控目标用户针对目标推荐媒体信息的操作行为信息;当基于操作行为信息,确定目标用户已浏览目标推荐媒体信息时,则将该目标推荐媒体信息作为历史推荐媒体信,以实现历史推荐媒体信息的更新。
应用本发明上述实施例,基于获取的目标用户的历史推荐媒体信息,创建对应目标用户的布隆过滤器。当向目标用户进行媒体信息推荐时,获取该目标用户对应的多个候选媒体信息,然后基于目标用户对应的布隆过滤器,对该多个候选媒体信息进行筛选,从中筛选得到不同于历史推荐媒体信息的至少一个候选媒体信息,将该至少一个候选媒体信息作为目标推荐媒体信息推荐至目标用户对应的终端。这里,基于布隆过滤器,可以在多个候选媒体信息中,快速判断并确定不同于历史推荐媒体信息的候选媒体信息以进行推荐,提高媒体信息推荐的效率,避免媒体信息的重复推荐;同时无需存储每个历史推荐媒体信息的标识,节省了存储空间,降低存储成本。
下面将说明本发明实施例在一个实际的应用场景中的示例性应用。
内容商业化部门主要负责广告流量控制、招商广告投放、游戏联合运营等业务。游戏联运业务包括了游戏大厅、游戏社区、游戏礼包等三大业务,打造优质内容集合的手游分发和交流平台,提升客户端游戏内容和用户生态。其中游戏社区业务,有几百万的帖子量,每日有几十万的用户访问游戏社区,在这里发帖、互动、讨论游戏。如此在进行游戏信息推荐时则会涉及到重复推荐的问题。相关技术中通常采用如下方式进行信息推荐的去重:比如每个用户存储一个明文内容曝光ID列表,然后结合缓存进行存储。还有采用基于Redis+Kafka的曝光过滤方案。但是这些方式的资源成本都很高,需要比较大的存储资源。存储明文曝光ID需要有很大的存储空间才能发挥去重的作用,且重度用户的明文曝光ID会非常长,影响执行的效率。Redis+Kafka的方式,接入成本较高,需要的计算和存储资源比较大。
这里介绍一下明文内容ID的去重方案,如图6所示,图6是相关技术中提供的明文内容ID的去重方案示意图。具体是在进行媒体信息推荐的过程中,对应每个用户存储一个明文内容ID列表,通过该明文内容ID列表存储已推荐信息的内容ID,并基于待推荐信息与已推荐信息的内容ID的一一比对进行媒体信息推荐。而大量存储内容ID非常占用存储空间,资源浪费严重,且当内容ID较多时,媒体信息推荐的效率也会降低。
基于此,本发明实施例提供一种媒体信息推荐方法,以至少解决上述存在的问题,接下来对本发明实施例提供的媒体信息推荐方法进行说明。
下面首先说明本发明实施例涉及的名词和术语进行解释,包括:
Bonbon:游戏社区大厅,内容商业化推出的游戏联运活动中心,支持用户查看、下载、评论游戏,也支持游戏的各种礼包领取,还能个性化推荐游戏给用户,以及支持游戏社区、积分等多元化游戏交流平台
布隆过滤器:是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。
Redis:是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件
Kafka:是一个按照分布式事务日志架构的大规模发布/订阅消息队列
Map:是一种键值对容器,里面的数据都是成对出现的,每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值
Gzip:是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为“.gz”
参见图7,图7是本发明实施例提供的媒体信息推荐方法的流程示意图,本发明实施例提供的媒体信息推荐方法包括:
步骤701:服务器获取目标用户对应的历史推荐媒体信息。
步骤702:基于历史推荐媒体信息,创建对应目标用户的布隆过滤器。
在实际应用中,可以获取已向目标用户推荐的历史推荐媒体信息,从而基于历史推荐媒体信息创建对应目标用户的布隆过滤器,以基于布隆过滤器实现推荐媒体信息的去重。也可以在向目标用户推荐媒体信息的过程中,依次将所推荐的媒体信息加入布隆过滤器,从而在加入的过程中基于布隆过滤器实现推荐媒体信息的去重。
在创建布隆过滤器时,首先需要根据获取的历史推荐媒体信息的数量,分配用于创建布隆过滤器的位数组,比如二进制位数组。在确定用于创建布隆过滤器的位数组之后,需要对该二进制位数组进行初始化处理,具体是将位数组中包含的各元素置为0。
然后,获取用于创建布隆过滤器的至少一个目标函数,该目标函数为能够使历史推荐媒体信息均匀分散地映射到位数组中的映射函数,比如哈希函数;该目标函数的数量可以根据需要进行设置,具体地,可以根据布隆过滤器的过滤精度设置。布隆过滤器判断的时候有一定的误判率,比如文章s映射之后在位数组的下标3,4,5这三个点,虽然都为1,但是它确实没有曝光过,此时可通过增大布隆过滤器的位数、增加映射函数(即目标函数)的复杂度和个数来减小误判率。
最后,基于该至少一个目标函数,将历史推荐信息映射到用于创建布隆过滤器的位数组中,从而创建对应目标用户的布隆过滤器。具体地,服务器在将历史推荐媒体信息映射到位数组中时,针对每个历史推荐媒体信息均执行以下处理:首先,获取该历史推荐媒体信息的信息标识;然后,根据每个目标函数,确定该历史推荐媒体信息的信息标识所对应的各目标函数的函数值,该函数值可以对应位数组中相应元素的下标;最后,在位数组中确定对应各目标函数的函数值的元素,并将该对应各目标函数的函数值的元素置为1,以实现将该历史推荐媒体信息映射到位数组中,从而创建对应目标用户的布隆过滤器。
示例性地,参见图4,图4是本发明实施例提供的布隆过滤器的创建示意图。这里,假设某个用户第一次曝光信息的信息标识分别为x,y,z,假设目标函数的数量为3个,那么每个信息标识依次通过该3个目标函数进行映射,每次映射都会产生一个值,这个值对应位数组中的一个元素,然后将位数组对应的元素由0置为1,如图4所示。
在实际应用中,对于使用布隆过滤器去重的方案还有一个很大的问题,就是历史数据淘汰的问题,因为容量是有限,当容量满时,如何淘汰数据。如果不能有效的淘汰旧数据,则去重判断就会失效,布隆过滤器本身插入和查找很方便,但是删除很困难。如果需要使用正常,那就要一个无限大的布隆过滤器过滤器,这个是非常浪费资源的。
基于布隆过滤器删除旧数据的问题,本发明实施例提出基于布隆过滤器的分片环淘汰机制,如图5所示。图5是本发明实施例提供的由四个布隆过滤器组成的环形结构示意图。在进行媒体信息曝光去重时,按照顺序(比如媒体信息的推荐时间点的先后顺序),将媒体信息依次映射到第一个布隆过滤器中,当第一个布隆过滤器写满的时候再写入第二个布隆过滤器中,依次类推,当四个布隆过滤器都写满的时,此时涉及删除旧数据的问题。在实际应用中,可按照媒体信息的映射顺序,先清空最先映射写入布隆过滤器中的内容,再把清空的布隆过滤器当做一个新的过滤器使用。如此循环反复,可以有效解决布隆过滤器删除数据困难的问题,且不会影响使用布隆过滤器的存储成本低和去重判断快的特点。该布隆过滤器分片环的个数可以根据需要设置,比如可以将图5中所示的分片环的个数变成5个。
在实际应用中,由于存储空间大小固定,而不同用户的活跃度不同,非活跃用户可能会导致空间浪费。基于此可以根据活跃度对不同用户的布隆过滤器进行压缩处理,比如不同比例的gzip压缩、或者根据活跃度的不同设置不同的压缩率等,或者通过不同的压缩方式,从而避免非活跃用户空间浪费。在本发明实施例中,当最大去重数目为6000个时,使用压缩后存储资源大小从22.5G变成了9G,进一步减少了60%的存储空间。相比于采用明文内容ID的方式,存储资源减少了96.3%,极大的节约了存储成本。
步骤703:终端响应于目标用户的触发操作,发送媒体信息获取请求至服务器。
这里,在实际应用中,当终端监测到目标用户进入媒体信息浏览页时,则向服务器发送媒体信息获取请求,以获取到待推荐的目标推荐媒体信息。
步骤704:服务器接收到媒体信息获取请求,获取目标用户的画像信息;从候选媒体信息库中筛选得到与目标用户的画像信息相匹配的多个候选媒体信息。
这里,在实际应用中,服务器可根据目标用户的画像信息和实时行为,确定与目标用户相匹配的多个候选媒体信息。
步骤705:基于创建的布隆过滤器,从多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息。
在实际应用中,当基于创建的布隆过滤器进行候选媒体信息筛选时,即去除与已推荐过的历史推荐媒体信息相同的候选媒体信息时,可获取各候选媒体信息的信息标识、以及布隆过滤器对应的至少一个目标函数;基于各候选媒体信息的信息标识,确定与候选媒体信息对应的目标函数的函数值;基于各候选媒体信息对应的目标函数的函数值,在布隆过滤器对应的位数组中,确定对应该候选媒体信息的至少一个目标元素;当该目标元素满足信息推荐条件(即该至少一个目标元素中存在不为1的元素)时,则确定该候选媒体信息没有向目标用户推荐过,即未曝光过,则不需要将该候选媒体去除,此时则可以将候选媒体信息确定为目标推荐媒体信息。
示例性地,继续参见图6,当有新的媒体信息w需要判断是否已经曝光过(即向目标用户推荐过),则将根据该媒体信息w的信息标识,确定布隆过滤器对应的至少一个目标函数的函数值,进而在布隆过滤器对应的位数组中,确定对应该函数值的至少一个目标元素;当存在一个目标元素不为1时,则确定该媒体信息没有曝光过,否则有可能曝光过,则不再推荐。这里,由图6可知媒体信息w没有曝光过,则不需要去重,可以作为目标推荐媒体信息进行推荐。
基于此可知,如果以一个最大去重数目6000个为例,采用明文内容ID的方式,需要6000*4字节=24k字节,如果1000万用户,则需要存储资源240G,且列表去重的方式,去重判断的时间复杂度较高。采用布隆过滤器去重机制,以3个映射函数为例,则大概需要6000*3/8=2250字节,1000万的用户只需要存储资源22.5G,存储资源减少了91%,且去重判断的时间复杂度较低,极大地提升了判断性能,去重判断时间减少了2/3,无论是存储空间还是判断速度,布隆过滤器相较采用明文内容ID的去重方式都远胜一筹。
步骤706:将目标推荐媒体信息推荐至目标用户对应的终端。
步骤707:终端接收并呈现目标推荐媒体信息。
这里,在实际应用中,以BonBon游戏平台进行游戏媒体信息的推荐为例,参见图8A-图8B,图8A-图8B是本发明实施例提供的媒体信息推荐方法的应用示意图。这里,如图8A所示,BonBon游戏平台用于通过媒体信息推荐的方式向用户呈现各类游戏客户端的相关内容,以实现游戏的推荐。主要应用于电脑端、移动端WAP版、移动客户端(比如XX新闻客户端、XX体育客户端等)等的游戏大厅平台。
具体是采用BonBon分发管理系统,基于待推荐游戏的素材、物料等内容形成媒体信息,基于用户的基础画像、兴趣标签确定向用户推荐的游戏媒体信息,以通过设置于移动端或者电脑端的即时通讯客户端、新闻客户端等,以媒体信息流、闪屏等曝光方式向用户推荐并呈现各种游戏媒体信息,如图8B所示。
参见图9A-图9B,图9A-图9B是本发明实施例提供的媒体信息的推荐场景示意图。这里参见图9A,游戏媒体信息的推荐涉及游戏大厅首页、游戏社区首页、游戏落地页、游戏横划推荐等不同的推荐场景。进一步地具体可继续参见图9B,可通过帖子详情页的媒体信息推荐帖、礼包详情页的媒体信息推荐帖、精编首页信息流推荐等媒体信息的呈现方式呈现所推荐的媒体信息。
应用本发明上述实施例,第一采用布隆过滤器的去重机制算法,解决采用明文曝光ID等方法消耗资源大的问题,节约了研发和维护成本;第二采用基于布隆过滤器的分片环淘汰机制,有效提高了去重判断的效率,极大得减少了存储空间,使得千万级用户的帖子去重的存储空间减少了近96.3%,大大降低了存储成本、且实现简单,性能优良,用户体验好。
下面继续说明本发明实施例提供的媒体信息推荐装置455,在一些实施例中,媒体信息推荐装置可采用软件模块的方式实现。参见图10,图10是本发明实施例提供的媒体信息推荐装置455的结构示意图,本发明实施例提供的媒体信息推荐装置455包括:
第一获取模块4551,用于获取目标用户对应的历史推荐媒体信息;
创建模块4552,用于基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器;
第二获取模块4553,用于获取所述目标用户对应的多个候选媒体信息;
筛选模块4554,用于基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;
推荐模块4555,用于将所述目标推荐媒体信息推荐至所述目标用户对应的终端。
在一些实施例中,所述创建模块4552,还用于基于所述历史推荐媒体信息的数量,确定用于创建所述布隆过滤器的位数组;
获取用于创建所述布隆过滤器的至少一个目标函数;
基于所述至少一个目标函数,将所述历史推荐媒体信息映射到所述位数组中,以创建对应所述目标用户的布隆过滤器。
在一些实施例中,所述位数组为二进制位数组,所述确定用于创建所述布隆过滤器的位数组之后,所述创建模块4552,还用于将所述位数组中包含的各元素置为0;
相应的,所述创建模块4552,还用于获取所述历史推荐媒体信息的信息标识;
基于所述信息标识,确定各所述目标函数的函数值;
将所述位数组中对应所述函数值的元素置为1,以将所述历史推荐媒体信息映射到所述位数组中,创建对应所述目标用户的布隆过滤器。
在一些实施例中,所述创建模块4552,还用于获取用于创建布隆过滤器的目标数量的位数组,所述目标数量为至少两个;
当所述历史推荐媒体信息的数量为至少两个时,获取各所述历史推荐媒体信息对应的推荐时间点;
按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息依次映射到所述目标数量的位数组中;
基于映射有所述历史推荐媒体信息的各位数组,创建对应所述目标用户的多个布隆过滤器。
在一些实施例中,所述创建模块4552,还用于从排位第一的所述位数组开始,针对每个所述位数组执行以下处理:
获取所述位数组的信息容量阈值;
按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息映射到所述位数组中;
当所述位数组中历史推荐媒体信息的数量达到所述信息容量阈值时,将未执行映射操作的历史推荐媒体信息映射到所述位数组的下一位数组。
在一些实施例中,所述创建模块4552,还用于当所述目标数量的位数组满足重置条件时,按照各所述位数组对应的映射时间点的先后顺序,依次重置映射时间点靠前的位数组,并
将未执行映射操作的历史推荐媒体信息映射到所述重置后的位数组中。
在一些实施例中,所述装置还包括:
压缩模块,用于获取所述目标用户的用户活跃度;
当所述用户活跃度表征所述目标用户为非活跃用户时,对所述目标用户对应的布隆过滤器进行压缩处理,得到压缩后的布隆过滤器。
在一些实施例中,所述第二获取模块4553,还用于获取所述目标用户的画像信息;
从候选媒体信息库中,筛选得到与所述目标用户的画像信息相匹配的多个候选媒体信息。
在一些实施例中,所述筛选模块4554,还用于获取各所述候选媒体信息的信息标识,以及所述布隆过滤器对应的至少一个目标函数;
基于各所述候选媒体信息的信息标识,确定与所述候选媒体信息对应的所述目标函数的函数值;
基于各所述候选媒体信息对应的目标函数的函数值,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息。
在一些实施例中,所述筛选模块4554,还用于获取所述布隆过滤器对应的位数组;
基于各所述候选媒体信息对应的目标函数的函数值,在所述布隆过滤器对应的位数组中,确定对应所述候选媒体信息的至少一个目标元素;
当所述至少一个目标元素满足信息推荐条件时,则将所述候选媒体信息确定为所述目标推荐媒体信息。
在一些实施例中,所述装置还包括:
更新模块,用于获取所述目标用户针对所述目标推荐媒体信息的操作行为信息;
当基于所述操作行为信息,确定所述目标用户已浏览所述目标推荐媒体信息时,更新所述历史推荐媒体信息。
在一些实施例中,所述推荐模块4555,还用于将携带显示指示信息的所述目标推荐媒体信息,推荐至所述目标用户对应的终端;
其中,所述显示指示信息,用于指示所述终端采用相应的目标显示样式呈现所述目标推荐媒体信息。
应用本发明上述实施例,基于获取的目标用户的历史推荐媒体信息,创建对应目标用户的布隆过滤器。当向目标用户进行媒体信息推荐时,获取该目标用户对应的多个候选媒体信息,然后基于目标用户对应的布隆过滤器,对该多个候选媒体信息进行筛选,从中筛选得到不同于历史推荐媒体信息的至少一个候选媒体信息,将该至少一个候选媒体信息作为目标推荐媒体信息推荐至目标用户对应的终端。这里,基于布隆过滤器,可以在多个候选媒体信息中,快速判断并确定不同于历史推荐媒体信息的候选媒体信息以进行推荐,提高媒体信息推荐的效率,避免媒体信息的重复推荐;同时无需存储每个历史推荐媒体信息的标识,节省了存储空间,降低存储成本。
本发明实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的媒体信息推荐方法。
本发明实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本发明实施例提供的媒体信息推荐方法。
本发明实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本发明实施例提供的媒体信息推荐方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (15)
1.一种媒体信息推荐方法,其特征在于,所述方法包括:
获取目标用户对应的历史推荐媒体信息;
基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器;
获取所述目标用户对应的多个候选媒体信息;
基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;
将所述目标推荐媒体信息推荐至所述目标用户对应的终端。
2.如权利要求1所述的方法,其特征在于,所述基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器,包括:
基于所述历史推荐媒体信息的数量,确定用于创建所述布隆过滤器的位数组;
获取用于创建所述布隆过滤器的至少一个目标函数;
基于所述至少一个目标函数,将所述历史推荐媒体信息映射到所述位数组中,以创建对应所述目标用户的布隆过滤器。
3.如权利要求2所述的方法,其特征在于,所述位数组为二进制位数组,所述确定用于创建所述布隆过滤器的位数组之后,所述方法还包括:
将所述位数组中包含的各元素置为0;
相应的,所述基于所述至少一个目标函数,将所述历史推荐媒体信息映射到所述位数组中,以创建对应所述目标用户的布隆过滤器,包括:
获取所述历史推荐媒体信息的信息标识;
基于所述信息标识,确定各所述目标函数的函数值;
将所述位数组中对应所述函数值的元素置为1,以将所述历史推荐媒体信息映射到所述位数组中,创建对应所述目标用户的布隆过滤器。
4.如权利要求1所述的方法,其特征在于,所述基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器,包括:
获取用于创建布隆过滤器的目标数量的位数组,所述目标数量为至少两个;
当所述历史推荐媒体信息的数量为至少两个时,获取各所述历史推荐媒体信息对应的推荐时间点;
按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息依次映射到所述目标数量的位数组中;
基于映射有所述历史推荐媒体信息的各位数组,创建对应所述目标用户的多个布隆过滤器。
5.如权利要求4所述的方法,其特征在于,所述按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息依次映射到所述目标数量的位数组中,包括:
从排位第一的所述位数组开始,针对每个所述位数组执行以下处理:
获取所述位数组的信息容量阈值;
按照所述推荐时间点的先后顺序,将所述至少两个历史推荐媒体信息映射到所述位数组中;
当所述位数组中历史推荐媒体信息的数量达到所述信息容量阈值时,将未执行映射操作的历史推荐媒体信息映射到所述位数组的下一位数组。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
当所述目标数量的位数组满足重置条件时,按照各所述位数组对应的映射时间点的先后顺序,依次重置映射时间点靠前的位数组,并
将未执行映射操作的历史推荐媒体信息映射到所述重置后的位数组中。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标用户的用户活跃度;
当所述用户活跃度表征所述目标用户为非活跃用户时,对所述目标用户对应的布隆过滤器进行压缩处理,得到压缩后的布隆过滤器。
8.如权利要求1所述的方法,其特征在于,所述获取所述目标用户对应的多个候选媒体信息,包括:
获取所述目标用户的画像信息;
从候选媒体信息库中,筛选得到与所述目标用户的画像信息相匹配的多个候选媒体信息。
9.如权利要求1所述的方法,其特征在于,所述基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息,包括:
获取各所述候选媒体信息的信息标识,以及所述布隆过滤器对应的至少一个目标函数;
基于各所述候选媒体信息的信息标识,确定与所述候选媒体信息对应的所述目标函数的函数值;
基于各所述候选媒体信息对应的目标函数的函数值,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息。
10.如权利要求9所述的方法,其特征在于,所述基于各所述候选媒体信息对应的目标函数的函数值,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息,包括:
获取所述布隆过滤器对应的位数组;
基于各所述候选媒体信息对应的目标函数的函数值,在所述布隆过滤器对应的位数组中,确定对应所述候选媒体信息的至少一个目标元素;
当所述至少一个目标元素满足信息推荐条件时,则将所述候选媒体信息确定为所述目标推荐媒体信息。
11.如权利要求1所述的方法,其特征在于,所述将所述目标推荐媒体信息推荐至所述目标用户对应的终端之后,所述方法还包括:
获取所述目标用户针对所述目标推荐媒体信息的操作行为信息;
当基于所述操作行为信息,确定所述目标用户已浏览所述目标推荐媒体信息时,更新所述历史推荐媒体信息。
12.如权利要求1所述的方法,其特征在于,所述将所述目标推荐媒体信息推荐至所述目标用户对应的终端,包括:
将携带显示指示信息的所述目标推荐媒体信息,推荐至所述目标用户对应的终端;
其中,所述显示指示信息,用于指示所述终端采用相应的目标显示样式呈现所述目标推荐媒体信息。
13.一种媒体信息推荐装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标用户对应的历史推荐媒体信息;
创建模块,用于基于获取的所述历史推荐媒体信息,创建对应所述目标用户的布隆过滤器;
第二获取模块,用于获取所述目标用户对应的多个候选媒体信息;
筛选模块,用于基于创建的所述布隆过滤器,从所述多个候选媒体信息中筛选得到至少一个候选媒体信息作为目标推荐媒体信息;
推荐模块,用于将所述目标推荐媒体信息推荐至所述目标用户对应的终端。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至12任一项所述的媒体信息推荐方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现如权利要求1至12任一项所述的媒体信息推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011092799.3A CN112052398A (zh) | 2020-10-13 | 2020-10-13 | 媒体信息推荐方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011092799.3A CN112052398A (zh) | 2020-10-13 | 2020-10-13 | 媒体信息推荐方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052398A true CN112052398A (zh) | 2020-12-08 |
Family
ID=73605170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011092799.3A Pending CN112052398A (zh) | 2020-10-13 | 2020-10-13 | 媒体信息推荐方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052398A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699323A (zh) * | 2021-01-07 | 2021-04-23 | 西藏宁算科技集团有限公司 | 一种基于双重布隆过滤器的云缓存系统及云缓存方法 |
WO2024113634A1 (zh) * | 2022-11-30 | 2024-06-06 | 腾讯科技(深圳)有限公司 | 媒体共享房间的推荐方法、装置、电子设备、存储介质及程序产品 |
-
2020
- 2020-10-13 CN CN202011092799.3A patent/CN112052398A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112699323A (zh) * | 2021-01-07 | 2021-04-23 | 西藏宁算科技集团有限公司 | 一种基于双重布隆过滤器的云缓存系统及云缓存方法 |
WO2024113634A1 (zh) * | 2022-11-30 | 2024-06-06 | 腾讯科技(深圳)有限公司 | 媒体共享房间的推荐方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347716B (zh) | 日志数据处理方法、装置、终端设备及存储介质 | |
CN110362544B (zh) | 日志处理系统、日志处理方法、终端及存储介质 | |
CN106959965B (zh) | 一种信息处理方法及服务器 | |
CN110413867B (zh) | 用于内容推荐的方法及系统 | |
CN105339924A (zh) | 作为服务的有效数据压缩和分析 | |
CN112182359B (zh) | 推荐模型的特征管理方法及系统 | |
CN112269789A (zh) | 存储数据的方法和装置、以及读取数据的方法和装置 | |
CN112532748B (zh) | 消息推送方法、装置、设备、介质和计算机程序产品 | |
CN113157947A (zh) | 知识图谱的构建方法、工具、装置和服务器 | |
CN112052398A (zh) | 媒体信息推荐方法、装置、电子设备及存储介质 | |
CN112347355B (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN112115113A (zh) | 数据存储系统、方法、装置、设备以及存储介质 | |
CN107247763A (zh) | 业务数据统计方法、装置、系统、存储介质及电子设备 | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
WO2024193216A1 (zh) | 推送对象的处理方法、对象推送模型的训练方法和装置 | |
JP6507263B2 (ja) | ユーザ・モバイルネットワークおよびデータプランに基づくコンテンツのフィルタリング | |
CN110619541A (zh) | 应用程序管理方法、装置、计算机设备及存储介质 | |
KR20130126012A (ko) | 비즈니스 인텔리전스의리포트 제공 방법 및 장치 | |
CN115145964A (zh) | 一种时序数据整合方法、装置、设备及介质 | |
CN115827978A (zh) | 一种信息推荐方法、装置、设备及计算机可读存储介质 | |
CN109656955A (zh) | 用户数据查询方法、系统与存储介质 | |
CN114880580A (zh) | 信息推荐方法及装置、电子设备和介质 | |
JP6859407B2 (ja) | データ処理用の方法及び装置 | |
CN113297479A (zh) | 一种用户画像生成方法、装置及电子设备 | |
CN113242282A (zh) | 一种用于目标人群的连续信息推送方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035299 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |