CN113836404A - 对象推荐方法、装置、电子设备及计算机可读存储介质 - Google Patents
对象推荐方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113836404A CN113836404A CN202111055779.3A CN202111055779A CN113836404A CN 113836404 A CN113836404 A CN 113836404A CN 202111055779 A CN202111055779 A CN 202111055779A CN 113836404 A CN113836404 A CN 113836404A
- Authority
- CN
- China
- Prior art keywords
- candidate
- recommendation
- objects
- recommended
- candidate recommendation
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/374—Thesaurus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种对象推荐方法、装置、电子设备及计算机可读存储介质;方法包括:基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;对所述用户推荐重新确定的候选推荐集合。通过本申请,能够在为用户推荐偏好对象的同时解决长尾问题。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种对象推荐方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网的发展,在很多场景下越来越多地利用推荐系统对用户进行个性化推荐,以期为用户在第一时间展示更加符合用户喜好的对象。
在对用户进行对象推荐时,目前所采用的方式一般是直接利用推荐模型基于大数据对用户进行推荐。然而,这种方式中推荐面集中在流行的、需求量大的对象上,缺乏对长尾对象的考虑。
发明内容
为解决相关技术问题,本申请实施例提供一种对象推荐方法、装置、电子设备及计算机可读存储介质,能够适量推荐长尾对象,在为用户推荐偏好对象的同时解决长尾问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种对象推荐方法,包括:
基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;
基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
对所述用户推荐重新确定的候选推荐集合。
上述方案中,所述历史操作数据包括历史推荐次数及历史评分次数,所述基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象,包括:针对所述候选推荐集合中的每个候选推荐对象分别执行以下处理:基于候选推荐对象的历史推荐次数及历史评分次数,确定候选推荐对象的长尾系数;所述长尾系数与所述历史推荐次数之间、及所述长尾系数与所述历史评分次数之间均呈正相关;当长尾系数小于长尾系数阈值时,确定相应的候选推荐对象为操作次数未达到操作次数阈值的目标候选推荐对象。
上述方案中,所述基于所述数量重新确定所述候选推荐集合中的候选推荐对象,包括:基于所述数量,确定所述候选推荐集合中的目标候选推荐对象的数量是否满足数量条件;当目标候选推荐对象的数量满足数量条件时,将所述候选推荐集合中候选推荐对象作为确定的候选推荐对象;当目标候选推荐对象的数量不满足数量条件时,对所述候选推荐集合中的候选推荐对象进行更换。
上述方案中,所述基于所述数量,确定所述候选推荐集合中的目标候选推荐对象的数量是否满足数量条件,包括:确定所述目标候选推荐对象的数量在所述候选推荐集合中候选推荐对象的总数量的数量占比;当所述数量占比大于或等于占比阈值时,确定所述目标候选推荐对象的数量满足数量条件;当所述数量占比小于占比阈值时,确定所述目标候选推荐对象的数量不满足数量条件。
上述方案中,所述对所述候选推荐集合中的候选推荐对象进行更换,包括:确定所述候选推荐集合中的待替换推荐对象;分别确定多个非候选推荐对象中每个非候选推荐对象与所述待替换推荐对象之间的相似度;基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中选取一个非候选推荐对象作为新的候选推荐对象;将所述待替换推荐对象替换为所述新的候选推荐对象,以更新所述候选推荐集合。
上述方案中,所述历史操作数据包括历史推荐次数,所述确定所述候选推荐集合中的待替换推荐对象,包括:基于所述候选推荐集合中每个候选推荐对象的历史推荐次数,从所述候选推荐集合中,选取历史推荐次数达到推荐次数阈值的候选推荐对象作为所述待替换推荐对象。
上述方案中,所述方法还包括:当所述候选推荐集合中不存在历史推荐次数达到推荐次数阈值的候选推荐对象时,从所述候选推荐集合中,选取非目标候选推荐对象作为所述待替换推荐对象。
上述方案中,所述基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中选取一个非候选推荐对象作为新的候选推荐对象,包括:基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中,确定与所述待替换推荐对象之间满足相似度条件的至少一个非候选推荐对象;获取确定的至少一个非候选推荐对象中每个非候选推荐对象的历史综合评分;从确定的至少一个非候选推荐对象中,选取历史综合评分达到评分阈值的非候选推荐对象,并将选取的非候选推荐对象作为新的候选推荐对象。
上述方案中,所述基于用户的用户特征,确定针对所述用户的候选推荐集合,包括:通过对象推荐模型,基于用户的用户特征,对针对所述用户对应的推荐对象进行预测,得到包括有多个候选推荐对象的候选推荐集合。
本申请实施例提供一种对象推荐装置,包括:
第一确定模块,用于基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;
第二确定模块,用于基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
第三确定模块,用于确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
推荐模块,用于对所述用户推荐重新确定的候选推荐集合。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的对象推荐方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的对象推荐方法。
本申请实施例中,在结合用户的用户特征确定满足用户偏好的候选推荐集合后,还从候选推荐集合中确定操作次数未达到操作次数阈值的目标候选推荐对象,将基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件,最终为用户推荐目标候选推荐对象的数量满足数量条件的候选推荐集合,能够基于候选推荐对象的历史操作数据确定目标候选推荐对象,也即长尾对象,从而适量推荐长尾对象,在为用户推荐偏好对象的同时解决长尾问题。
附图说明
图1是本申请实施例提供的电子设备100的一个可选的结构示意图;
图2是本申请实施例提供的对象推荐方法的一个可选的流程示意图;
图3是本申请实施例提供的步骤203的一个可选的细化流程示意图;
图4是本申请实施例提供的步骤302的一个可选的细化流程示意图;
图5是本申请实施例提供的步骤305的一个可选的细化流程示意图;
图6是本申请实施例提供的步骤503的一个可选的细化流程示意图;
图7是本申请实施例提供的对象推荐系统700的一个可选的架构示意图;
图8是本申请实施例提供的对象推荐方法的一个可选的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)长尾(The Long Tail),或译长尾效应,是指不受到重视的销量小但种类多的产品或服务由于总量巨大,累积起来的总收益超过主流产品的现象。在互联网领域,长尾效应尤为显著。长尾这一术语也在统计学中被使用,通常应用在财产的分布和词汇。
本申请实施例中,长尾系数,用于确定候选推荐对象是否为符合长尾效应的目标候选推荐对象。
2)频繁推荐项,是指候选推荐对象的历史推荐次数高于或等于候选推荐集合中历史推荐次数的中位数的对象。
非频繁推荐项,是指候选推荐对象的历史推荐次数低于候选推荐集合中历史推荐次数的中位数的对象。
本申请实施例提供一种对象推荐方法、装置、电子设备和计算机可读存储介质,能够适量推荐长尾对象,在为用户推荐偏好对象的同时解决长尾问题。
首先对本申请实施例提供的用于实施上述对象推荐方法的电子设备进行说明。参见图1,图1是本申请实施例提供的电子设备100的一个可选的结构示意图,在实际应用中,电子设备100可以实施为终端或服务器。其中,终端可以是笔记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设备,智能音箱,智能手表等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)服务、以及大数据和人工智能平台等基础云计算服务的云服务器。图1所示的电子设备100包括:至少一个处理器101、存储器105、至少一个网络接口102和用户接口103。电子设备100中的各个组件通过总线系统104耦合在一起。可理解,总线系统104用于实现这些组件之间的连接通信。总线系统104除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图1中将各种总线都标为总线系统104。
处理器101可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口103包括使得能够呈现媒体内容的一个或多个输出装置1031,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口103还包括一个或多个输入装置1032,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器105可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器105可选地包括在物理位置上远离处理器101的一个或多个存储设备。
存储器105包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器105旨在包括任意适合类型的存储器。
在一些实施例中,存储器105能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,本申请实施例中,存储器105中存储有操作系统1051、网络通信模块1052、呈现模块1053、输入处理模块1054及对象推荐装置1055;具体地,
操作系统1051,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块1052,用于经由一个或多个(有线或无线)网络接口102到达其他计算设备,示例性的网络接口102包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块1053,用于经由一个或多个与用户接口103相关联的输出装置1031(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块1054,用于对一个或多个来自一个或多个输入装置1032之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的对象推荐装置可以采用软件方式实现,图1示出了存储在存储器105中的对象推荐装置1055,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块10551、第二确定模块10552、第三确定模块10553和推荐模块10554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的对象推荐装置可以采用硬件方式实现,作为示例,本申请实施例提供的对象推荐装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的对象推荐方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
接下来将以本申请实施例提供的对象推荐方法实施于服务器为例,结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的对象推荐方法。
参见图2,图2是本申请实施例提供的对象推荐方法的一个可选的流程示意图,将结合图2示出的步骤进行说明。
步骤201,基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;
步骤202,基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
步骤203,确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
步骤204,对所述用户推荐重新确定的候选推荐集合。
需要说明的是,用户的用户特征包括但不限于用户的基础信息、针对对象的操作数据等。其中,基础信息包括但不限于用户的姓名、性别、年龄、手机号及地址等。针对对象的操作数据可以包括针对对象的点击数据、浏览数据、评价数据、交易数据等。这里,点击数据可以包括在一段时间内对对象的点击次数等,浏览数据可以包括在一段时间内对对象的浏览时长等,评价数据可以包括在一段时间内对对象的评价次数及评分,交易数据包括在一段时间内对对象的购买次数等。实际应用时,本申请实施例中的对象可以是商品。
在实际实施时,服务器基于用户的用户特征,确定针对用户的候选推荐集合。所述候选推荐集合包括多个候选推荐对象。这里,候选推荐集合是从大量对象中选取。服务器根据用户的用户特征,从大量对象中选取与用户特征相匹配的多个候选推荐对象。大量对象可以存储于服务器内,还可以存储于与服务器通信连接的外部存储设备,例如数据库。
在一些实施例中,服务器还可以通过人工智能模型来确定用户的候选推荐集合,以快速准确地从大量的对象中选取与用户的用户特征相匹配的候选推荐集合。具体地,步骤201还可以通过如下方式实现:通过对象推荐模型,基于用户的用户特征,对针对所述用户对应的推荐对象进行预测,得到包括有多个候选推荐对象的候选推荐集合。
需要说明的是,对象推荐模型可以通过神经网络模型实现,例如长短期记忆网络(LSTM,Long Short-Term Memory)等。在实际实施时,服务器将用户的用户特征输入至对象推荐模型中,对象推荐模型对用户特征进行编码,得到相应的特征编码,基于特征编码对数据库内的大量对象进行打分,基于打分选取多个候选推荐对象,构成对该用户的候选推荐集合。本申请实施例所采用的对象推荐模型为预先通过训练数据训练得到。具体地,训练数据包括大量样本用户的样本用户特征及针对该用户的样本推荐对象。在训练时,服务器将多个样本用户特征输入至对象推荐模型中,对象推荐模型基于样本用户特征,对多个对象进行打分,得到多个对象的预测打分;接着,从多个对象中选择预测打分最高的目标对象作为预测推荐对象。应当理解的是,对象推荐模型在一轮训练过程中输出的是针对多个样本用户的预测推荐对象,也即是针对一个样本用户集合进行训练。在得到多个样本用户的预测推荐对象后,服务器将多个样本用户对应的预测推荐对象与多个样本用户对应的样本推荐对象进行进行比对。比对的具体方式可以包括:将多个样本用户与对应的预测推荐对象作为预测集,将多个样本用户与对应的样本推荐对象作为样本集,应当理解的是,预测集与样本集为两个离散点集,离散点集中的每一个离散点则对应一个样本用户,在实际实施时,服务器直接对预测集与样本集进行比对,得到两个离散点集之间的差异。这里,可以采用余弦相似度算法计算差异,也即利用余弦相似度算法作为对象推荐模型的损失函数,以计算样本集与预存集之间的差异。此外,还可以采用其他算法作为对象推荐模型的损失函数以计算样本集与预测集之间的差异,本申请实施例不对此作具体限定。接着,服务器确定得到的差异是否达到对象推荐模型的收敛条件,当差异达到收敛条件时,结束对对象推荐模型的训练,否则继续对对象推荐模型进行训练,直至达到收敛。这里,对象推荐模型的收敛条件例如可以是预测集与样本集的差异小于或等于差异阈值,此外,收敛条件还可以是针对对象推荐模型的训练轮数达到轮数阈值等,在实际场景中还可以针对具体需要设置收敛条件,本申请实施例不对此作具体限定。
在实际应用时,服务器采用对象推荐模型基于输入的用户特征对多个对象进行打分,得到多个对象对应的预测打分,接着,服务器选取预测打分符合打分条件的多个对象作为候选推荐对象。这里,打分条件可以是预先设置,例如可以设置为打分排序在前N位,N为大于或等于2的正整数,或者,打分条件还可以设置为一个打分阈值,将所有预测打分达到打分阈值的对象作为候选推荐对象。
需要说明的是,这里,对象推荐模型基于用户特征对多个对象进行的打分为模型对对象的打分,表征对象与用户特征关联性的高低程度,打分越高表征该对象与相应的用户特征关联性越高。而本申请实施例所涉及的评分为用户对对象所进行的评分,表征用户对对象的满意程度,评分越高表征用户对该对象越满意。
在得到包括多个候选推荐对象的候选推荐集合后,服务器获取候选推荐集合中每个候选推荐对象的历史操作数据,从候选推荐集合中,选取操作次数未达到操作次数阈值的目标候选推荐对象。在一些实施例中,候选推荐对象的历史操作数据例如可以包括历史推荐次数及历史评分次数等,具体地,步骤302还可以通过如下方式实现:
针对所述候选推荐集合中的每个候选推荐对象分别执行以下处理:基于候选推荐对象的历史推荐次数及历史评分次数,确定候选推荐对象的长尾系数;所述长尾系数与所述历史推荐次数之间、及所述长尾系数与所述历史评分次数之间均呈正相关;当长尾系数小于长尾系数阈值时,确定相应的候选推荐对象为操作次数未达到操作次数阈值的目标候选推荐对象。
在实际实施时,服务器可以根据候选推荐对象的存储顺序,依次选取候选推荐对象进行上述处理;服务器还可以根据候选推荐对象的预测评分,依据预测评分的高低顺序依次选取候选推荐对象进行上述处理。服务器在确定进行处理的候选推荐对象后,基于该候选推荐对象的历史推荐次数及历史评分次数,确定候选推荐对象的长尾系数。本申请实施例中,长尾系数与历史推荐次数之间、及长尾系数与历史评分次数之间均呈正相关。当长尾系数小于长尾系数阈值时,服务器确定相应的候选推荐对象为操作次数未达到操作次数阈值的目标候选推荐对象。在物品交易场景中,目标候选推荐对象则为长尾物品。示例性地,长尾系数可以通过公式(1)进行确定:
Li=a(rec_timesi/rec_totali)+(1-a)(rat_timesi/rat_totali) (1)
其中,Li为第i个候选推荐对象的长尾系数,i为大于等于1的正整数,α为推荐次数的权重,rec_timesi为第i个候选推荐对象的推荐次数,rec_totali为候选推荐集合中所有候选推荐对象的总推荐次数,rat_timesi为第i个候选推荐对象的评分次数,rat_totali为候选推荐集合中所有候选推荐对象的总评分次数。
这里,将第i个候选推荐对象的推荐次数与候选推荐集合的总推荐次数的占比作为第一占比,将第i个候选推荐对象的评分次数与候选推荐集合的占比作为第二占比,长尾系数Li则为第一占比与第二占比的加权之和。应当理解的是,在公式(1)中,长尾系数与历史推荐次数之间、及长尾系数与历史评分次数之间均呈正相关。服务器还可以采用其他计算方式确定长尾系数,本申请实施例对此不作具体限定。
当确定候选推荐集合中的目标候选推荐对象之后,服务器接着确定目标候选推荐对象的数量,并基于目标候选推荐对象的数量确定候选推荐集合中目标候选推荐对象的数量是否满足数量条件,当不满足时,服务器重新确定候选推荐集合中的候选推荐对象,以使候选推荐集合中目标候选推荐对象的数量满足数量条件。在一些实施例中,参见图3,图3是本申请实施例提供的步骤203的一个可选的细化流程示意图,具体地,步骤203可以通过如下方式实现:
步骤301,确定所述目标候选推荐对象的数量;
步骤302,基于所述数量,确定所述候选推荐集合中的目标候选推荐对象的数量是否满足数量条件;
步骤303,判断目标候选推荐对象的数量是否满足数量条件,当满足时,执行步骤304,当不满足时,执行步骤305;
步骤304,将所述候选推荐集合中候选推荐对象作为确定的候选推荐对象;
步骤305,对所述候选推荐集合中的候选推荐对象进行更换。
需要说明的是,数量条件可以是数量阈值,具体可以通过确定目标候选推荐对象的数量是否达到数量阈值来确定候选推荐集合中的目标候选推荐对象的数量是否满足数量条件。数量条件还可以是数量占比的占比阈值,在一些实施例中,参加图4,图4是本申请实施例提供的步骤302的一个可选的细化流程示意图,具体地,步骤302还可以通过如下方式实现:
步骤401,确定所述目标候选推荐对象的数量在所述候选推荐集合中候选推荐对象的总数量的数量占比;
步骤402,当所述数量占比大于或等于占比阈值时,确定所述目标候选推荐对象的数量满足数量条件;
步骤403,当所述数量占比小于占比阈值时,确定所述目标候选推荐对象的数量不满足数量条件。
其中,在实际实施时,服务器确定目标候选推荐对象的数量占候选推荐集合中候选推荐对象的总数量的数量占比,当数量占比大于或等于占比阈值时,确定满足数量条件,否则确定为不满足数量条件。
接着,服务器在确定目标候选推荐对象的数量不满足数量条件时,则对候选推荐集合中的候选推荐对象进行更换。具体地,参见图5,图5是本申请实施例提供的步骤305的一个可选的细化流程示意图,具体地,步骤305还可以通过如下方式实现:
步骤501,确定所述候选推荐集合中的待替换推荐对象;
步骤502,分别确定多个非候选推荐对象中每个非候选推荐对象与所述待替换推荐对象之间的相似度;
步骤503,基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中选取一个非候选推荐对象作为新的候选推荐对象;
步骤504,将所述待替换推荐对象替换为所述新的候选推荐对象,以更新所述候选推荐集合。
在实际实施时,所述历史操作数据包括历史推荐次数,步骤501可以通过如下方式实现:
基于所述候选推荐集合中每个候选推荐对象的历史推荐次数,从所述候选推荐集合中,选取历史推荐次数达到推荐次数阈值的候选推荐对象作为所述待替换推荐对象。
具体地,服务器可以确定候选推荐集合中每个候选推荐对象的历史推荐次数,并基于候选推荐集合中所有候选推荐对象的历史推荐次数,确定候选推荐集合中候选推荐对象的推荐次数的中位数,将该中位数作为推荐次数阈值,以通过推荐次数阈值将候选推荐集合中的候选推荐对象进行划分。通过将候选推荐集合中的候选推荐对象所对应的推荐次数的中位数作为推荐次数阈值,从而能够灵活地对实际场景下针对不同用户或者同一用户在不同时间所对应的多种候选推荐集合进行推荐次数的划分,以便于选取推荐次数大于或等于推荐次数阈值的候选推荐对象作为待替换推荐对象,从而能够优先将推荐次数较大的候选推荐对象进行替换,避免多次对同一用户推荐相同的候选推荐对象。
本申请实施例中,服务器将历史推荐次数大于或等于推荐次数阈值的候选推荐对象构成的集合记为频繁推荐集合,将历史推荐次数小于推荐次数阈值的候选推荐对象构成的集合记为非频繁推荐集合。在实际实施时,服务器从频繁推荐集合中,选取一个候选推荐对象作为待替换推荐对象。具体地,服务器可以根据候选推荐对象的获得顺序,依次选取候选推荐对象作为待替换推荐对象。服务器还可以根据候选推荐对象的历史推荐次数的大小来依次选取待替换推荐对象;具体地,可以根据历史推荐次数从高到低的顺序选取待替换推荐对象。
在一些实施例中,服务器可以将频繁推荐集合添加至频繁推荐项字典中,将非频繁推荐集合添加至非繁推荐项字典中。这里,频繁推荐项字典及非频繁推荐项字典分别为一个独立的存储单元,通过两个独立的存储单元分别存储频繁推荐集合及非频繁推荐集合,能够方便地对频繁推荐集合及非频繁推荐集合进行管理。其中,频繁推荐项字典及非频繁推荐项字典的类型可以是缓存,通过缓存频繁推荐集合及非频繁推荐集合,能够对候选推荐对象进行快速读取,以快速选取待替换推荐对象。
接着,服务器在选取待替换推荐对象后,分别确定多个非候选推荐对象中每个非候选推荐对象与所述待替换推荐对象之间的相似度。具体地,服务器可以采用余弦相似度算法计算非候选推荐对象与待替换推荐对象之间的相似度。在实际实施时,服务器可以采用相同的编码方式对非候选推荐对象和待替换推荐对象进行编码,得到非候选推荐对象的第一编码及待替换推荐对象的第二编码。这里,采用的编码方式例如可以是词嵌入编码,具体地,服务器获取非候选推荐对象的名称及待替换推荐对象的名称,将非候选推荐对象的名称编码为词嵌入向量,得到第一编码,并以同样的编码方式将待替换推荐对象的名称编码为对应的词嵌入向量,得到第一编码。在一些实施例中,服务器还可以获取非候选推荐对象的图像及待替换推荐对象的图像,对非候选推荐对象及待替换推荐对象进行图像编码,图像编码的方式例如可以是哈夫曼编码(Huffman Coding)。在对非候选推荐对象及待替换推荐对象进行编码之后,则利用余弦相似度算法计算第一编码与第二编码之间的相似度。在计算得到多个非候选推荐对象与待替换推荐对象之间的相似度之后,服务器从多个非候选推荐对象中,选取相似度达到预设条件的一个非候选推荐对象作为新的候选推荐对象,将待替换推荐对象替换为新的候选推荐对象,将新的候选推荐对象添加至候选推荐对象集合中,并将待替换推荐对象从候选推荐集合中进行去除,以更新候选推荐集合。这里,预设条件可以为相似度为多个非候选推荐对象中相似度最高。
在一些实施例中,还可以结合非候选推荐对象的评分来进行新的候选推荐对象的选取,以选取更符合用户偏好的非候选推荐对象对待替换推荐对象进行替换,从而使得最终推荐给用户的候选推荐集合在解决长尾对象的同时更贴近用户偏好。具体地,参见图6,图6是本申请实施例提供的步骤503的一个可选的细化流程示意图,步骤503可以通过如下方式实现:
步骤601,基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中,确定与所述待替换推荐对象之间满足相似度条件的至少一个非候选推荐对象;
步骤602,获取确定的至少一个非候选推荐对象中每个非候选推荐对象的历史综合评分;
步骤603,从确定的至少一个非候选推荐对象中,选取历史综合评分达到评分阈值的非候选推荐对象,并将选取的非候选推荐对象作为新的候选推荐对象。
在实际实施时,服务器基于每个非候选推荐对象与待替换推荐对象之间的相似度,选取与所述待替换推荐对象之间满足相似度条件的至少一个非候选推荐对象,并将选取的至少一个非候选推荐对象作为备选集合。本申请实施例中,还可以将备选集合添加至临时字典中,临时字典为一个独立的存储单元,便于对备选的至少一个非候选推荐对象进行管理。相似度条件可以是达到相似度阈值,即从多个非候选推荐对象中选取相似度达到相似度阈值的至少一个非候选推荐对象。相似度条件还可以是相似度排序达到排序阈值,即基于相似度对多个非候选推荐对象进行排序,得到每个非候选推荐对象的相似度排序,将相似度排序达到排序阈值的非候选推荐对象进行选取。
接着,在确定相似度达到相似度条件的至少一个非候选推荐对象后,并将至少一个非候选推荐对象添加至临时字典中后,基于非候选推荐对象中的每个非候选推荐对象的历史综合评分,从临时字典中选取历史综合评分达到评分阈值的非候选推荐对象,并将选取的非候选推荐对象作为新的候选推荐对象。这里,历史综合评分为基于历史评分次数及每一个历史评分得到,例如可以基于历史评分次数对所有历史评分进行求平均,得到的均值则作为历史综合评分。评分阈值可以是历史综合评分最高,服务器从至少一个非候选推荐对象中,选取历史综合评分最高的非候选推荐对象作为新的候选推荐对象,并将待替换推荐对象替换为新的候选推荐对象,以更新候选推荐集合。
在实际实施时,服务器在更新候选推荐集合之后,重新确定候选推荐集合中目标候选推荐对象的数量,并确定该数量是否达到数量条件,在未达到时,继续从频繁推荐项字典中选取待替换推荐对象,并从临时字典中选取与该待替换推荐对象相似度最高的非候选推荐对象作为新的候选推荐对象,将待替换推荐对象替换为新的候选推荐对象,以对候选推荐集合进行更新。当候选推荐集合中目标候选推荐对象的数量达到数量条件时,停止对候选推荐集合的更新,将该候选推荐集合作为最终的推荐集合对用户进行推荐。
而当对频繁推荐项字典中的所有候选推荐对象均替换完成后,若更新的候选推荐集合中目标候选推荐对象的数量仍未达到数量条件,服务器则直接从候选推荐集合中,选取长尾系数大于或等于长尾系数阈值的非目标候选推荐对象作为待替换推荐对象,与非候选推荐对象进行替换。具体地,本申请实施例提供的方法还可以执行:当所述候选推荐集合中不存在历史推荐次数达到推荐次数阈值的候选推荐对象时,从所述候选推荐集合中,选取非目标候选推荐对象作为所述待替换推荐对象。
在实际实施时,当频繁推荐项字典中的候选推荐对象均替换完成后,服务器则直接从候选推荐集合中,选取非目标候选推荐对象作为待替换推荐对象,并从多个非候选推荐对象中,选取与该待替换推荐对象的相似度最高的非候选推荐对象作为新的候选推荐对象,对该待替换推荐对象进行替换。在替换完成后,服务器继续确定候选推荐集合中目标候选推荐对象的数量是否达到数量条件,在未达到时,继续从候选推荐集合中选取非目标候选推荐对象进行替换,直至候选推荐集合中目标候选推荐对象的数量达到数量条件。
最后,服务器将达到数量条件的候选推荐集合推荐给用户。示例性地,对象可以是商品,服务器可以将候选推荐集合中的每个候选推荐对象的信息发送至终端,以使终端在相应的界面上进行显示,以供用户浏览。
本申请实施例中,在结合用户的用户特征确定满足用户偏好的候选推荐集合后,还从候选推荐集合中确定操作次数未达到操作次数阈值的目标候选推荐对象,将基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件,最终为用户推荐目标候选推荐对象的数量满足数量条件的候选推荐集合,能够基于候选推荐对象的历史操作数据确定目标候选推荐对象,也即长尾对象,从而适量推荐长尾对象,在为用户推荐偏好对象的同时解决长尾问题。
接下来继续对本申请实施例提供的对象推荐方法进行介绍,本申请实施例提供的对象推荐方法由终端和服务器协同实施,即由本申请实施例提供的对象推荐系统进行实施。参见图7,图7是本申请实施例提供的对象推荐系统700的一个可选的架构示意图,对象推荐系统700包括终端701和服务器703,终端701通过网络702连接服务器703。其中,网络702可以是广域网或者局域网,又或者是二者的组合。终端701以及服务器703可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不作限制。其中,
终端701,用于获取用户的账号信息,将用户的账号信息发送至服务器703。
服务器703,用于基于用户的账号信息,获取与账号信息对应的用户特征,并基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;发送重新确定的候选推荐集合至终端701。
终端701,还用于接收重新确定的候选推荐集合,并对重新确定的候选推荐集合中候选推荐对象的对象信息进行展示。
参见图8,图8是本申请实施例提供的对象推荐方法的一个可选的流程示意图,本申请实施例提供的对象推荐方法包括:
步骤801,终端响应于用户针对账号输入功能项的输入操作,获得用户的账号信息;
步骤802,终端发送用户的账号信息至服务器;
步骤803,服务器基于用户的账号信息,获取与账号信息对应的用户特征,并基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象。
步骤804,服务器基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
步骤805,服务器确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
步骤806,服务器将重新确定的候选推荐集合发送至终端;
步骤807,终端对重新确定的候选推荐集合进行展示,以向用户推荐所述重新确定的候选推荐集合。
其中,在步骤801中,需要说明的是,在一些实施例中,终端在获得用户输入的账号信息后,还响应于用户针对密码输入功能项的输入操作,获得用户的账号密码,并对用户的账号信息及账号密码进行验证,在验证通过后,展示相应的目标页面。这里,目标页面即用户浏览对象的信息及对对象进行操作的页面,例如可以是物品的购买页面等。终端在对用户的账号信息及账号密码验证通过后,则继续执行步骤802。
在步骤807中,终端可以在用于展示对象信息的目标页面内进行候选推荐集合的展示。
本申请实施例中,通过终端和服务器的协同,在终端获得用户的账号信息后,将账号信息发送至服务器,通过服务器基于账号信息获取用户的用户特征,并结合用户的用户特征确定满足用户偏好的候选推荐集合后,还从候选推荐集合中确定操作次数未达到操作次数阈值的目标候选推荐对象,将基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件,最终获得目标候选推荐对象的数量满足数量条件的候选推荐集合,并将该候选推荐集合发送至终端,以使终端将候选推荐集合中的候选推荐对象推荐给用户,通过基于候选推荐对象的历史操作数据确定目标候选推荐对象,也即长尾对象,从而能够适量推荐长尾对象,在为用户推荐偏好对象的同时解决长尾问题性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例应用于对用户进行物品推荐的场景,用户可以对物品进行评分,以表达对该物品的满意程度。推荐系统中,用户评分次数少的物品被称为非流行物品,这类物品往往导致长尾问题。本申请实施例主要解决离线推荐的长尾问题。其中,离线推荐是在未提供查询关键字以及其他实时信息时,将用户的历史信息(用户特征)作为依据为用户推荐符合其偏好的物品。
下面,继续对本申请实施例所涉及的名词及定义进行说明。本申请实施例中,将用户集合记为Users={U1,U2,...,Un},其中,Users为用户集合,Un为第n个用户,n为大于或等于1的正整数。将推荐长度为L的物品集合记为Recommended_Items={I1,I2,...,In},其中,Recommended_Items为物品集合,In为第n个用户的推荐长度为L的物品推荐列表。这里,推荐长度即为推荐物品的数量,即In为包括L个物品的物品推荐列表。将长尾物品数量占物品推荐列表中总物品数量的长尾比例记为p,本申请实施例向用户推荐的推荐物品集合满足以下条件:
(1)在推荐物品集合中含有长尾比例为p的长尾物品;
(2)符合用户的历史偏好。
本申请实施例提供的对象推荐方法的具体步骤如下:
S1,利用神经网络模型进行建模,得到对象推荐模型,并利用对象推荐模型基于用户的历史信息得到针对该用户的物品推荐列表。
其中,对于用户集合Users中的每一个用户Ui(其中,i为大于或等于1的正整数),执行以下处理:
(1)通过对象推荐模型预测物品与用户Ui的历史信息的相似度。
(2)获取与用户Ui的相似度达到相似度条件的M个物品,并将M个物品按照评分值降序排列,得到物品推荐列表。将用户和对应的物品推荐列表添加到推荐字典中。这里,推荐字典为独立的缓存单元,由于物品推荐列表将在后续处理过程中被频繁查找访问,通过将物品推荐列表缓存至独立的缓存单元,能够便于对物品推荐列表进行访问管理,并提高对物品推荐列表的读取速度。
(3)确定物理列表中物品的历史推荐次数的中位数,将推荐字典拆分为频繁推荐项字典和非频繁推荐字典。具体地,将历史推荐次数大于或等于中位数的物品作为频繁推荐项,将频繁推荐项添加至频繁推荐项字典中,并将历史推荐次数小于中位数的物品作为非频繁推荐项,将非频繁推荐项添加至非频繁推荐项字典中。
S2,计算物品推荐列表中长尾物品的数量比例,当数量比例达到长尾比例p时,对用户推荐物品推荐列表,当数量比例未达到长尾比例p时,执行步骤S3。
这里,具体为通过公式(1)计算物品推荐列表中每一个物品的长尾系数,将长尾系数大于或等于长尾系数阈值的物品作为长尾物品,并对物品推荐列表中长尾物品的数量进行统计,确定物品推荐列表中长尾物品的数量比例,当数量比例大于或等于长尾比例p时,对用户推荐物品推荐列表,否则执行步骤S3。
S3,对频繁推荐项字典中的每个条目,执行以下处理:在非候选集中,获取与频繁推荐项字典中每个物品相似度最高的非候选物品,将非候选物品添加到临时字典中。这里,临时字典中的非候选物品的数量为M个,与频繁推荐项中的物品为一对一的关系。
S4,获取用户物品推荐列表不符合长尾比例p的用户集合T,对T中的用户Tj(其中,j为大于或等于1的正整数)对应的物品推荐列表ITj中的每一个物品w,执行以下处理:
(1)如果w是频繁推荐项字典中的物品,将w替换为临时字典中用户评分最高的物品。应当理解的是,用户Tj的物品推荐列表中没有临时字典中的该物品。
(2)重新计算物品推荐列表中物品的长尾比例,若未满足长尾比例,则继续从频繁推荐项字典中选取物品进行替换,以更新物品推荐列表。
(3)若将频繁推荐项字典中的所有物品进行替换完成之后,用户Tj的物品推荐列表仍然不满足长尾比例p,则将物理推荐列表中推荐次数最多的非长尾物品替换为与其相似度最高的长尾物品,应当理解的是,在替换之前,替换的长尾物品为物品推荐列表以外的物品。
S5,当物品推荐列表中长尾物品的数量比例达到长尾比例p后,对用户推荐该物品推荐列表。
本申请实施例关注了长尾物品推荐的比例,并使长尾物品尽可能符合用户的偏好,能够提高对用户推荐的长尾物品的覆盖率和多样性,此外,本申请实施例侧重点在于对对象推荐模型的推荐结果的处理,不依赖于对象推荐模型本身,能够不受模型的局限,使推荐的物品能够更为灵活的适用于不同的条件。
下面继续说明本申请实施例提供的对象推荐装置1055的实施为软件模块的示例性结构,在一些实施例中,如图1所示,存储在存储器105的对象推荐装置1055中的软件模块可以包括:
第一确定模块10551,用于基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;
第二确定模块10552,用于基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
第三确定模块10553,用于确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
推荐模块10554,用于对所述用户推荐重新确定的候选推荐集合。
在一些实施例中,所述历史操作数据包括历史推荐次数及历史评分次数,所述第二确定模块10552,还用于针对所述候选推荐集合中的每个候选推荐对象分别执行以下处理:基于候选推荐对象的历史推荐次数及历史评分次数,确定候选推荐对象的长尾系数;所述长尾系数与所述历史推荐次数之间、及所述长尾系数与所述历史评分次数之间均呈正相关;当长尾系数小于长尾系数阈值时,确定相应的候选推荐对象为操作次数未达到操作次数阈值的目标候选推荐对象。
在一些实施例中,所述第三确定模块10553,还用于基于所述数量,确定所述候选推荐集合中的目标候选推荐对象的数量是否满足数量条件;当目标候选推荐对象的数量满足数量条件时,将所述候选推荐集合中候选推荐对象作为确定的候选推荐对象;当目标候选推荐对象的数量不满足数量条件时,对所述候选推荐集合中的候选推荐对象进行更换。
在一些实施例中,所述第三确定模块10553,还用于确定所述目标候选推荐对象的数量在所述候选推荐集合中候选推荐对象的总数量的数量占比;当所述数量占比大于或等于占比阈值时,确定所述目标候选推荐对象的数量满足数量条件;当所述数量占比小于占比阈值时,确定所述目标候选推荐对象的数量不满足数量条件。
在一些实施例中,所述第三确定模块10553,还用于确定所述候选推荐集合中的待替换推荐对象;分别确定多个非候选推荐对象中每个非候选推荐对象与所述待替换推荐对象之间的相似度;基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中选取一个非候选推荐对象作为新的候选推荐对象;将所述待替换推荐对象替换为所述新的候选推荐对象,以更新所述候选推荐集合。
在一些实施例中,所述历史操作数据包括历史推荐次数,所述第三确定模块10553,还用于基于所述候选推荐集合中每个候选推荐对象的历史推荐次数,从所述候选推荐集合中,选取历史推荐次数达到推荐次数阈值的候选推荐对象作为所述待替换推荐对象。
在一些实施例中,所述第三确定模块10553,还用于当所述候选推荐集合中不存在历史推荐次数达到推荐次数阈值的候选推荐对象时,从所述候选推荐集合中,选取非目标候选推荐对象作为所述待替换推荐对象。
在一些实施例中,所述第三确定模块10553,还用于基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中,确定与所述待替换推荐对象之间满足相似度条件的至少一个非候选推荐对象;获取确定的至少一个非候选推荐对象中每个非候选推荐对象的历史综合评分;从确定的至少一个非候选推荐对象中,选取历史综合评分达到评分阈值的非候选推荐对象,并将选取的非候选推荐对象作为新的候选推荐对象。
在一些实施例中,所述第一确定模块10551,还用于通过对象推荐模型,基于用户的用户特征,对针对所述用户对应的推荐对象进行预测,得到包括有多个候选推荐对象的候选推荐集合。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的对象推荐方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的对象推荐方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例能够适量推荐长尾对象,在为用户推荐偏好对象的同时解决长尾问题。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种对象推荐方法,其特征在于,包括:
基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;
基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
对所述用户推荐重新确定的候选推荐集合。
2.根据权利要求1所述的对象推荐方法,其特征在于,所述历史操作数据包括历史推荐次数及历史评分次数,所述基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象,包括:
针对所述候选推荐集合中的每个候选推荐对象分别执行以下处理:
基于候选推荐对象的历史推荐次数及历史评分次数,确定候选推荐对象的长尾系数;所述长尾系数与所述历史推荐次数之间、及所述长尾系数与所述历史评分次数之间均呈正相关;
当长尾系数小于长尾系数阈值时,确定相应的候选推荐对象为操作次数未达到操作次数阈值的目标候选推荐对象。
3.根据权利要求1所述的对象推荐方法,其特征在于,所述基于所述数量重新确定所述候选推荐集合中的候选推荐对象,包括:
基于所述数量,确定所述候选推荐集合中的目标候选推荐对象的数量是否满足数量条件;
当目标候选推荐对象的数量满足数量条件时,将所述候选推荐集合中候选推荐对象作为确定的候选推荐对象;
当目标候选推荐对象的数量不满足数量条件时,对所述候选推荐集合中的候选推荐对象进行更换。
4.根据权利要求3所述的对象推荐方法,其特征在于,所述基于所述数量,确定所述候选推荐集合中的目标候选推荐对象的数量是否满足数量条件,包括:
确定所述目标候选推荐对象的数量在所述候选推荐集合中候选推荐对象的总数量的数量占比;
当所述数量占比大于或等于占比阈值时,确定所述目标候选推荐对象的数量满足数量条件;
当所述数量占比小于占比阈值时,确定所述目标候选推荐对象的数量不满足数量条件。
5.根据权利要求3所述的对象推荐方法,其特征在于,所述对所述候选推荐集合中的候选推荐对象进行更换,包括:
确定所述候选推荐集合中的待替换推荐对象;
分别确定多个非候选推荐对象中每个非候选推荐对象与所述待替换推荐对象之间的相似度;
基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中选取一个非候选推荐对象作为新的候选推荐对象;
将所述待替换推荐对象替换为所述新的候选推荐对象,以更新所述候选推荐集合。
6.根据权利要求5所述的对象推荐方法,其特征在于,所述历史操作数据包括历史推荐次数,所述确定所述候选推荐集合中的待替换推荐对象,包括:
基于所述候选推荐集合中每个候选推荐对象的历史推荐次数,从所述候选推荐集合中,选取历史推荐次数达到推荐次数阈值的候选推荐对象作为所述待替换推荐对象。
7.根据权利要求5所述的对象推荐方法,其特征在于,所述基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中选取一个非候选推荐对象作为新的候选推荐对象,包括:
基于每个非候选推荐对象与所述待替换推荐对象之间的相似度,从所述多个非候选推荐对象中,确定与所述待替换推荐对象之间满足相似度条件的至少一个非候选推荐对象;
获取确定的至少一个非候选推荐对象中每个非候选推荐对象的历史综合评分;
从确定的至少一个非候选推荐对象中,选取历史综合评分达到评分阈值的非候选推荐对象,并将选取的非候选推荐对象作为新的候选推荐对象。
8.一种对象推荐装置,其特征在于,包括:
第一确定模块,用于基于用户的用户特征,确定针对所述用户的候选推荐集合,所述候选推荐集合包括多个候选推荐对象;
第二确定模块,用于基于所述候选推荐集合中每个候选推荐对象的历史操作数据,从所述候选推荐集合中,确定操作次数未达到操作次数阈值的目标候选推荐对象;
第三确定模块,用于确定所述目标候选推荐对象的数量,并基于所述数量重新确定所述候选推荐集合中的候选推荐对象,以使所述候选推荐集合中目标候选推荐对象的数量满足数量条件;
推荐模块,用于对所述用户推荐重新确定的候选推荐集合。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的对象推荐方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至7任一项所述的对象推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055779.3A CN113836404A (zh) | 2021-09-09 | 2021-09-09 | 对象推荐方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111055779.3A CN113836404A (zh) | 2021-09-09 | 2021-09-09 | 对象推荐方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836404A true CN113836404A (zh) | 2021-12-24 |
Family
ID=78958763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111055779.3A Pending CN113836404A (zh) | 2021-09-09 | 2021-09-09 | 对象推荐方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836404A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547455A (zh) * | 2022-02-22 | 2022-05-27 | 北京金堤科技有限公司 | 热门对象确定方法、装置、存储介质及电子设备 |
CN114881736A (zh) * | 2022-05-16 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 推荐方法、显示方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100036839A1 (en) * | 2008-08-09 | 2010-02-11 | Kamimaeda Naoki | Apparatus, method and computer program for content recommendation and recording medium |
CN107526807A (zh) * | 2017-08-22 | 2017-12-29 | 中国联合网络通信集团有限公司 | 信息推荐方法及装置 |
CN109685614A (zh) * | 2018-12-19 | 2019-04-26 | 广州易起行信息技术有限公司 | 旅游产品推荐方法、装置、计算机设备和存储介质 |
CN110097412A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 物品推荐方法、装置、设备以及存储介质 |
CN110309410A (zh) * | 2018-03-15 | 2019-10-08 | 中国移动通信集团有限公司 | 一种资讯推荐方法、平台及计算机可读存储介质 |
CN111538901A (zh) * | 2020-04-15 | 2020-08-14 | 达而观信息科技(上海)有限公司 | 一种物品推荐方法、装置、服务器及储存介质 |
CN112328882A (zh) * | 2020-11-05 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 信息推荐方法、装置、终端设备及存储介质 |
-
2021
- 2021-09-09 CN CN202111055779.3A patent/CN113836404A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100036839A1 (en) * | 2008-08-09 | 2010-02-11 | Kamimaeda Naoki | Apparatus, method and computer program for content recommendation and recording medium |
CN107526807A (zh) * | 2017-08-22 | 2017-12-29 | 中国联合网络通信集团有限公司 | 信息推荐方法及装置 |
CN110097412A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 物品推荐方法、装置、设备以及存储介质 |
CN110309410A (zh) * | 2018-03-15 | 2019-10-08 | 中国移动通信集团有限公司 | 一种资讯推荐方法、平台及计算机可读存储介质 |
CN109685614A (zh) * | 2018-12-19 | 2019-04-26 | 广州易起行信息技术有限公司 | 旅游产品推荐方法、装置、计算机设备和存储介质 |
CN111538901A (zh) * | 2020-04-15 | 2020-08-14 | 达而观信息科技(上海)有限公司 | 一种物品推荐方法、装置、服务器及储存介质 |
CN112328882A (zh) * | 2020-11-05 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 信息推荐方法、装置、终端设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547455A (zh) * | 2022-02-22 | 2022-05-27 | 北京金堤科技有限公司 | 热门对象确定方法、装置、存储介质及电子设备 |
CN114547455B (zh) * | 2022-02-22 | 2024-04-19 | 北京金堤科技有限公司 | 热门对象确定方法、装置、存储介质及电子设备 |
CN114881736A (zh) * | 2022-05-16 | 2022-08-09 | 阿里巴巴(中国)有限公司 | 推荐方法、显示方法及设备 |
CN114881736B (zh) * | 2022-05-16 | 2023-12-19 | 阿里巴巴(中国)有限公司 | 推荐方法、显示方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109819284B (zh) | 一种短视频推荐方法、装置、计算机设备及存储介质 | |
CN110781391A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
JP2020523663A (ja) | 情報検索方法、装置及びシステム | |
US10572929B2 (en) | Decision factors analyzing device and decision factors analyzing method | |
CN112632403B (zh) | 推荐模型的训练方法、推荐方法、装置、设备和介质 | |
CN109993627B (zh) | 推荐方法、推荐模型的训练方法、装置和存储介质 | |
CN113836404A (zh) | 对象推荐方法、装置、电子设备及计算机可读存储介质 | |
CN112989146B (zh) | 向目标用户推荐资源的方法、装置、设备、介质和程序产品 | |
CN109471978A (zh) | 一种电子资源推荐方法及装置 | |
CN112328909A (zh) | 信息推荐方法、装置、计算机设备及介质 | |
CN111651669A (zh) | 信息推荐方法、装置、电子设备和计算机可读存储介质 | |
CN114154013A (zh) | 视频推荐方法、装置、设备及存储介质 | |
CN113221019A (zh) | 基于即时学习的个性化推荐方法和系统 | |
CN112182281A (zh) | 一种音频推荐方法、装置及存储介质 | |
US10579752B2 (en) | Generating a model based on input | |
CN111915414B (zh) | 向目标用户展示目标对象序列的方法和装置 | |
KR20210038473A (ko) | 도큐먼트 타입의 추천 방법, 장치, 전자 기기 및 판독 가능 저장 매체 | |
US20150170035A1 (en) | Real time personalization and categorization of entities | |
JP2016110260A (ja) | コンテンツ検索結果提供システム及びコンテンツ検索結果提供方法 | |
CN115168732A (zh) | 资源推荐方法、装置、设备以及存储介质 | |
CN112905885A (zh) | 向用户推荐资源的方法、装置、设备、介质和程序产品 | |
CN111737606A (zh) | 搜索结果的展现方法、装置、设备及可读存储介质 | |
CN113365148B (zh) | 分数调整方法、装置、电子设备、存储介质和程序产品 | |
CN114398490B (zh) | 一种基于分层注意力机制的知识图谱补全方法及装置 | |
CN112543356B (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 |