CN114036389B - 对象推荐方法、推荐模型的训练方法及装置 - Google Patents

对象推荐方法、推荐模型的训练方法及装置 Download PDF

Info

Publication number
CN114036389B
CN114036389B CN202111360807.2A CN202111360807A CN114036389B CN 114036389 B CN114036389 B CN 114036389B CN 202111360807 A CN202111360807 A CN 202111360807A CN 114036389 B CN114036389 B CN 114036389B
Authority
CN
China
Prior art keywords
user
recommendation
recommendation model
matching degree
sample
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
Application number
CN202111360807.2A
Other languages
English (en)
Other versions
CN114036389A (zh
Inventor
赵怡瑾
陈慧敏
张华泉
卢玉奇
唐楠
熊琅环
黄盛林
王淼
梁博翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111360807.2A priority Critical patent/CN114036389B/zh
Publication of CN114036389A publication Critical patent/CN114036389A/zh
Application granted granted Critical
Publication of CN114036389B publication Critical patent/CN114036389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本公开提供了一种对象推荐方法、推荐模型的训练方法及装置,涉及人工智能技术领域,尤其涉及智能推荐和深度学习技术领域。实现方案为:基于用户的第一行为特征,确定用户的用户类型;响应于确定用户的用户类型为非活跃用户:基于用户的第二行为特征、属性特征和待推荐对象的对象特征,确定用户与待推荐对象的第一匹配度;基于属性特征和对象特征,确定用户与待推荐对象的第二匹配度;以及基于第一匹配度和第二匹配度,确定待推荐对象针对用户的推荐结果。

Description

对象推荐方法、推荐模型的训练方法及装置
技术领域
本公开涉及人工智能技术领域,尤其涉及智能推荐和深度学习技术领域,具体涉及一种对象推荐方法及装置、推荐模型的训练方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术:人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
人工智能技术可以被应用于推荐系统中,用于向用户推荐其可能感兴趣的对象,例如新闻、音频、视频、广告、商品、服务等。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种对象推荐方法及装置、推荐模型的训练方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种对象推荐方法,包括:基于用户的第一行为特征,确定所述用户的用户类型;响应于确定所述用户的用户类型为非活跃用户:基于所述用户的第二行为特征、属性特征和待推荐对象的对象特征,确定所述用户与所述待推荐对象的第一匹配度;基于所述属性特征和所述对象特征,确定所述用户与所述待推荐对象的第二匹配度;以及基于所述第一匹配度和所述第二匹配度,确定所述待推荐对象针对所述用户的推荐结果。
根据本公开的一方面,提供了一种推荐模型的训练方法,所述推荐模型包括第一推荐模型和第二推荐模型,所述方法包括:训练得到第一推荐模型;获取样本用户的行为特征和属性特征、样本对象的对象特征以及所述样本对象针对所述样本用户的真实推荐结果,其中,所述样本用户的用户类型为非活跃用户;将所述行为特征、所述属性特征和所述对象特征输入所述第一推荐模型,以得到所述第一推荐模型输出的所述样本用户与所述样本对象的第一预测匹配度;将所述属性特征和所述对象特征输入所述第二推荐模型,以得到所述第二推荐模型输出的样本用户与所述样本对象的第二预测匹配度;将所述第一预测匹配度和所述第二预测匹配度进行融合,以得到所述样本对象针对所述样本用户的预测推荐结果;基于所述预测推荐结果和所述真实推荐结果,计算所述推荐模型的损失值;以及基于所述损失值,调整所述第二推荐模型的参数。
根据本公开的一方面,提供了一种对象推荐装置,包括:确定模块,被配置为基于用户的第一行为特征,确定所述用户的用户类型;推荐模块,包括第一匹配单元、第二匹配单元和推荐单元,所述第一匹配单元被配置为响应于确定所述用户的用户类型为非活跃用户,基于所述用户的第二行为特征、属性特征和待推荐对象的对象特征,确定所述用户与所述待推荐对象的第一匹配度;所述第二匹配单元被配置为基于所述属性特征和所述对象特征,确定所述用户与所述待推荐对象的第二匹配度;以及所述推荐单元被配置为基于所述第一匹配度和所述第二匹配度,确定所述待推荐对象针对所述用户的推荐结果。
根据本公开的一方面,提供了一种推荐模型的训练装置,所述推荐模型包括第一推荐模型和第二推荐模型,所述装置包括:处理模块,被配置为训练得到第一推荐模型;获取模块,被配置为获取样本用户的行为特征和属性特征、样本对象的对象特征以及所述样本对象针对所述样本用户的真实推荐结果,其中,所述样本用户的用户类型为非活跃用户;第一预测模块,被配置为将所述行为特征、所述属性特征和所述对象特征输入所述第一推荐模型,以得到所述第一推荐模型输出的所述样本用户与所述样本对象的第一预测匹配度;第二预测模块,被配置为将所述属性特征和所述对象特征输入所述第二推荐模型,以得到所述第二推荐模型输出的样本用户与所述样本对象的第二预测匹配度;融合模块,被配置为将所述第一预测匹配度和所述第二预测匹配度进行融合,以得到所述样本对象针对所述样本用户的预测推荐结果;计算模块,被配置为基于所述预测推荐结果和所述真实推荐结果,计算所述推荐模型的损失值;以及调整模块,被配置为基于所述损失值,调整所述第二推荐模型的参数。
根据本公开的一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器,该存储器存储有可被上述至少一个处理器执行的指令,该指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述任一方面的方法。
根据本公开的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行上述任一方面的方法。
根据本公开的一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述任一方面的方法。
根据本公开的一个或多个实施例,能够提高非活跃用户的对象推荐结果的准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开的实施例的对象推荐方法的流程图;
图3示出了根据本公开的实施例的对象推荐过程的示意图;
图4示出了根据本公开的实施例的推荐模型的训练方法的流程图;
图5示出了根据本公开的一些实施例的推荐模型的结构图;
图6示出了根据本公开的另一些实施例的推荐模型的结构图;
图7示出了根据本公开的实施例的第二推荐模型的结构图;
图8示出了根据本公开的实施例的对象推荐装置的结构框图;
图9示出了根据本公开的实施例的推荐模型的训练装置的结构框图;以及
图10示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在本公开中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
推荐系统被广泛应用于诸多场景中,用于向用户推荐其可能感兴趣的对象。例如,在信息交互场景中,可以向用户推荐其可能感兴趣的新闻、音频、视频、广告等内容;在商品购买场景中,可以向用户推荐其可能感兴趣的商品;在婚恋或交友场景中,可以向用户推荐其可能感兴趣或可能认识的人物;等等。
推荐系统向用户推荐对象的过程通常包括召回、粗排(可选)、精排、重排(可选)等阶段。在召回阶段,从已存储的海量对象中筛选出用户可能感兴趣的多个对象,作为用户的召回集。在粗排、精排阶段,对召回集中的对象进行进一步筛选,并将筛选后的对象按照用户可能感兴趣的程度排序。在重排阶段,可以对精排阶段所得到的对象进行筛选和顺序调整,将调整后的对象作为推荐对象,推荐给用户。
相关技术中,推荐系统通常基于用户的历史行为来向用户推荐对象。但对于新用户或者很少使用推荐系统的老用户(下文统称为“非活跃用户”)来说,由于其历史行为较少甚至没有历史行为,导致推荐系统针对这类用户的推荐结果的准确性较低,推荐效果较差。推荐系统无法对缺少历史行为的用户进行精准推荐的问题也被称为推荐系统的“冷启动”问题。
为此,本公开的实施例提供一种对象推荐方法和推荐模型的训练方法,以提高推荐系统针对非活跃用户的推荐准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够执行对象推荐方法和/或推荐模型的训练方法的一个或多个服务或软件应用。
在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
用户可以使用客户端设备101、102、103、104、105和/或106来进行音乐识别。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如MICROSOFT Windows、APPLE iOS、类UNIX操作系统、Linux或类Linux操作系统(例如GOOGLE Chrome OS);或包括各种移动操作系统,例如MICROSOFT WindowsMobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、Wi-Fi)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。
在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音乐文件的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类型。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
为了本公开实施例的目的,在图1的示例中,客户端设备101、102、103、104、105和106中可以包括用于进行对象浏览的客户端应用,用户可以通过该客户端应用来浏览对象。用户浏览的对象可以是新闻资讯、音视频、商品、广告等,相应地,客户端应用可以是新闻资讯应用、影音娱乐应用、购物应用等。客户端应用可以以多种方式存在于客户端设备中。例如,客户端应用可以是运行前需要下载和安装的应用程序,也可以是可通过浏览器访问的网站,还可以是运行于宿主应用中的轻量化的小程序,等等。
与客户端设备中的用于进行对象浏览的客户端应用相应地,服务器120可以是该客户端应用对应的服务器。服务器120中可以包括服务程序,该服务程序可以基于数据库130中已存储的对象信息(包括新闻资讯、音视频、商品信息、广告信息等),向用户提供对象浏览服务。进一步地,服务程序中包括推荐系统,基于该推荐系统,服务器120能够执行本公开实施例的对象推荐方法,以向用户提供个性化推荐服务。
根据一些实施例,当用户访问客户端应用中的特定页面(例如应用的首页、分类栏目页面等)时,服务器120可以执行本公开实施例的对象推荐方法,对该用户进行对象推荐。数据库130中可以存储有针对不同用户的多个待推荐对象。服务器120可以从数据库130中获取当前用户的待推荐对象,基于该用户的相关特征(例如用户的属性特征、行为特征等)以及待推荐对象的对象特征,确定待推荐对象针对该用户的推荐结果,即,确定是否将待推荐对象推荐给该用户。
根据另一些实施例,服务器120可以将用户的多个待推荐对象或者多个待推荐对象的存储地址提供给客户端应用,以便客户端应用能够直接获取用户的待推荐对象。在客户端应用能够直接获取待推荐对象的情况下,可以由客户端应用来执行(也即,由客户端设备来执行)本公开实施例的对象推荐方法,确定待推荐对象针对当前用户的推荐结果,即,确定是否将待推荐对象推荐给该用户。
图2示出了根据本公开实施例的对象推荐方法200的流程图。方法200可以在服务器(例如图1中所示的服务器120)处执行,也可以在客户端设备(例如图1中所示的客户端设备101、102、103、104、105和106)处执行。也即,方法200的各个步骤的执行主体可以是图1中所示的服务器120,也可以是图1中所示的客户端设备101、102、103、104、105和106。
如图2所示,方法200包括:
步骤210、基于用户的第一行为特征,确定用户的用户类型。
响应于确定用户的用户类型为非活跃用户,执行步骤220-240:
步骤220、基于用户的第二行为特征、属性特征和待推荐对象的对象特征,确定用户与待推荐对象的第一匹配度;
步骤230、基于属性特征和对象特征,确定用户与待推荐对象的第二匹配度;以及
步骤240、基于第一匹配度和第二匹配度,确定待推荐对象针对用户的推荐结果。
根据本公开的实施例,在用户为非活跃用户的情况下,基于用户的行为特征、属性特征和待推荐对象的对象特征来确定第一匹配度。在确定第一匹配度的过程中既使用了用户的行为特征,也使用了用户的属性特征,从而使第一匹配度能够全面地表达用户与待推荐对象的匹配程度。基于用户的属性特征和待推荐对象的对象特征来确定第二匹配度。在确定第二匹配度的过程中仅使用了用户的属性特征,而没有使用用户的行为特征,从而使得第二匹配度能够针对性地表达非活跃用户与待推荐对象的匹配程度,避免冷启动问题。基于第一匹配度和第二匹配度来确定待推荐对象针对用户的推荐结果,能够提高非活跃用户的对象推荐结果的准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
以下详细描述方法200的各个步骤。
在步骤210中,基于用户的第一行为特征,确定用户的用户类型。
在本公开的实施例中,用户类型是基于用户在推荐系统上的活跃程度来划分的。例如,用户类型可以包括活跃程度较高的活跃用户和活跃程度较低的非活跃用户。
用户在推荐系统上的活跃程度可以通过第一行为特征来表示。相应地,可以基于用户的第一行为特征,确定用户的用户类型。
根据一些实施例,第一行为特征例如可以是用户浏览的历史推荐对象的数量。历史推荐对象指的是在过去时间内推荐系统已向用户呈现的推荐对象。用户浏览的历史推荐对象指的是被用户选中(例如通过点击、长按等交互操作)并浏览的历史推荐对象。
根据一些实施例,可以根据用户浏览的历史推荐对象的数量与预设阈值的相对大小来确定用户类型。例如,响应于确定用户浏览的历史推荐对象的数量小于或等于预设阈值,判定用户的用户类型为非活跃用户;响应于确定用户浏览的历史推荐对象的数量大于预设阈值,判定用户的用户类型为活跃用户。预设阈值可以是任意正整数,例如5、8、10等。
可以理解,第一行为特征包括但不限于用户浏览的历史推荐对象的数量。在另一些实施例中,第一行为特征也可以是用户在最近预设时间段内(例如最近7天内)浏览的历史推荐对象的数量,或者是用户注册账号的时间与当前时间的时间差,或者是用户收藏、点赞、评论、购买的历史推荐对象的数量,等。本公开不限制第一行为特征的具体内容。
在本公开的实施例中,若通过步骤210确定用户的用户类型为非活跃用户,则通过执行步骤220-240来确定待推荐对象针对该用户的推荐结果。
在步骤220中,基于用户的第二行为特征、属性特征和待推荐对象的对象特征,确定用户与待推荐对象的第一匹配度。
用户的第二行为特征与前述第一行为特征可以相同,也可以不同。通常地,第二行为特征的数量大于第一行为特征的数量。在一些实施例中,第一行为特征可以是第二行为特征的子集。
第二行为特征可以包括用户在不同时间段内是否发生某种行为,以及发生的不同行为的数量、频率等信息。例如,第二行为特征可以包括用户在短期(例如7天)、中期(例如1个月)、长期(例如6个月)内的浏览、收藏、点赞、评论、转发、购买等行为的数量和频率。
属性特征指的是用户的静态的、稳定的特征,属性特征的值通常在较长时间内不会发生改变。例如,属性特征例如可以包括用户的年龄、所处的人生阶段(例如少年、青年、中年、老年等)、性别、受教育程度、感兴趣的内容标签(例如社会、娱乐、体育、医疗健康等)等信息。
根据一些实施例,属性特征还可以包括用户的来源渠道信息。例如,来源渠道信息可以包括用户下载客户端应用(客户端应用包括推荐系统)的渠道的类别,例如应用市场、网站广告、应用内广告等。进一步地,来源渠道信息还可以包括上述渠道的详细信息,例如网站或应用内的广告的标识、广告所在的广告位的位置,等。来源渠道信息可以体现用户的兴趣,基于来源渠道信息来确定第一匹配度以及下文的第二匹配度,能够提高推荐的准确性。
待推荐对象的类型可以根据推荐系统的应用场景来确定。例如,在信息交互场景中,待推荐对象可以是新闻、音频、视频、广告等;在商品购买场景中,待推荐对象可以是商品;在婚恋或交友场景中,待推荐对象可以是人物;等等。
根据一些实施例,待推荐对象可以是数据库中已存储的多个对象中的任一对象。例如,数据库中存储了多个视频,待推荐对象可以是这多个视频中的任一个视频。与此相应地,方法200执行于对象推荐的召回阶段,用于从已存储的对个对象中筛选得出用户的召回集。通过执行方法200,可以确定数据库中已存储的各个对象针对用户的推荐结果,进而可以根据各对象的推荐结果,从数据库中已存储的多个对象中筛选出用户可能感兴趣的一部分对象,形成用户的召回集。
根据另一些实施例,待推荐对象也可以是该用户的召回集中的任一对象。例如,数据库中存储了多个视频,可以先按照预设的召回算法(例如协同过滤算法等),从多个视频中初步筛选出用户可能感兴趣的部分视频,将这部分视频作为用户的召回集。待推荐对象可以是用户的召回集中的任一视频。与此相应地,方法200可以执行于对象推荐的精排阶段,用于对用户的召回集中的对象进行进一步筛选、排序。通过执行方法200,可以确定召回集中的各个对象针对用户的推荐结果,进而可以根据各对象的推荐结果,对召回集中的对象进行进一步筛选、排序,得到用户的推荐对象列表。推荐对象列表中的对象将按顺序逐一呈现给用户。
待推荐对象的对象特征可以根据待推荐对象的类型而定。例如,在待推荐对象是新闻的情况下,对象特征可以包括新闻的创建时间、字数、内容标签(例如社会、娱乐、体育、医疗健康等)等。在待推荐对象是商品的情况下,对象特征可以包括商品的类别、价格、销售量、收藏量、商家的信用等级等。
基于用户的第二行为特征、属性特征和待推荐对象的对象特征,可以确定用户与待推荐对象的第一匹配度。在确定第一匹配度的过程中,既使用了用户的行为特征,也使用了用户的属性特征,从而使第一匹配度能够全面地表达用户与待推荐对象的匹配程度。
确定第一匹配度的方法有多种。
根据一些实施例,可以预先定义第二行为特征、属性特征、对象特征、第一匹配度四者的对应关系表,通过查表来确定第一匹配度。
根据另一些实施例,可以将第二行为特征、属性特征、对象特征输入预设的第一推荐模型,以得到第一推荐模型输出的第一匹配度。第一推荐模型可以是任意结构的神经网络模型。
根据一些实施例,在步骤220中,还可以基于用户的标识特征、第二行为特征、属性特征和待推荐对象的对象特征,确定用户与待推荐对象的第一匹配度,从而使第一匹配度能够更加全面地表达用户与待推荐对象的匹配程度。用户的标识特征例如可以是用户的账号(ID)、昵称等。
在步骤230中,基于用户的属性特征和待推荐对象的对象特征,确定用户与待推荐对象的第二匹配度。在确定第二匹配度的过程中仅使用了用户的属性特征,而没有使用用户的行为特征,从而使得第二匹配度能够针对性地表达非活跃用户与待推荐对象的匹配程度,避免冷启动问题。
确定第二匹配度的方法有多种。
根据一些实施例,可以预先定义属性特征、对象特征、第二匹配度三者的对应关系表,通过查表来确定第二匹配度。
根据另一些实施例,可以将属性特征、对象特征输入预设的第二推荐模型,以得到第二推荐模型输出的第二匹配度。第二推荐模型可以是任意不同于第一推荐模型的神经网络模型。
根据一些实施例,第二推荐模型可以是基于第一推荐模型训练得到的。第二推荐模型的训练过程可以参见下文的方法400。
在步骤240中,基于第一匹配度和第二匹配度,确定待推荐对象针对用户的推荐结果。基于第一匹配度和第二匹配度来确定待推荐对象针对用户的推荐结果,能够提高非活跃用户的对象推荐结果的准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
推荐结果例如可以是用于表示待推荐对象针对用户的推荐程度的数值,例如推荐概率。
根据一些实施例,可以根据推荐概率与阈值的相对大小来确定是否将待推荐对象推荐给用户。例如,响应于推荐概率大于或等于阈值(例如0.7、0.6、0.5等),可以确定将待推荐对象推荐给用户;响应于推荐概率小于阈值,可以确定不将待推荐对象推荐给用户。
根据另一些实施例,也可以根据推荐概率在多个推荐概率中的排序情况来确定是否将待推荐对象推荐给用户。例如,某个非活跃用户有100个待推荐对象,即obj1-obj100,根据步骤220-240,分别计算得到每个待推荐对象的推荐概率,即prob1-prob100。将待推荐对象obj1-obj100按照推荐概率的数值由大到小的顺序排序,将顺序在前的一定数量(例如50个)或一定比例(例如50%)的待推荐对象推荐给用户。
根据一些实施例,在步骤240中,可以计算第一匹配度和第二匹配度的加权和,并将该加权和在预设区间内的映射值确定为推荐结果。
在推荐结果为推荐概率的情况下,预设区间可以是[0,1],相应地,可以基于预设的第一匹配度的权重w1和第二匹配度的权重w2,计算第一匹配度s1和第二匹配度s2的加权和w1s1+w2s2,然后采用预设的映射函数(例如sigmoid函数等),将w1s1+w2s2映射到[0,1]区间内,得到映射值m1。该映射值即为推荐结果。
图3示出了根据本公开实施例的针对非活跃用户的对象推荐过程的示意图。如图3所示,可以将非活跃用户的第二行为特征、属性特征和待推荐对象的对象特征输入第一推荐模型310,得到非活跃用户与待推荐对象的第一匹配度。将非活跃用户的属性特征和待推荐对象的对象特征输入第二推荐模型320,得到非活跃用户与待推荐对象的第二匹配度。将第一匹配度和第二匹配度输入融合层330(融合层330可以实现为加权求和函数和sigmoid函数的组合),得到待推荐对象针对该非活跃用户的推荐结果。
以上介绍了针对非活跃用户的对象推荐过程。
根据另一些实施例,若通过步骤210确定用户的用户类型为活跃用户,则可以基于第二行为特征、属性特征和对象特征,确定待推荐对象针对该用户的推荐结果。即方法200还包括:响应于确定用户的用户类型为活跃用户,基于用户的第二行为特征、属性特征和待推荐对象的对象特征,确定待推荐对象针对该用户的推荐结果。
确定推荐结果的方式有多种。
根据一些实施例,可以预先定义第二行为特征、属性特征、对象特征、推荐结果四者的对应关系表,通过查表来确定推荐结果。
根据另一些实施例,可以将第二行为特征、属性特征、对象特征输入预设的初始推荐模型,以得到该初始推荐模型输出的推荐结果。根据一些实施例,该初始推荐模型例如可以通过在前述第一推荐模型的输出端增加sogmoid激活层来得到。
根据本公开的另一方面,还提供一种针对非活跃用户的推荐模型的训练方法。该推荐模型包括第一推荐模型和第二推荐模型。
图4示出了根据本公开实施例的推荐模型的训练方法400的流程图。方法400例如可以在服务器处执行,也可以在客户端设备处执行。即,方法400的各个步骤的执行主体可以是服务器,也可以是客户端设备。
如图4所示,方法400包括:
步骤410、训练得到第一推荐模型;
步骤420、获取样本用户的行为特征和属性特征、样本对象的对象特征以及样本对象针对样本用户的真实推荐结果,其中样本用户的用户类型为非活跃用户;
步骤430、将行为特征、属性特征和对象特征输入第一推荐模型,以得到第一推荐模型输出的样本用户与样本对象的第一预测匹配度;
步骤440、将属性特征和对象特征输入第二推荐模型,以得到第二推荐模型输出的样本用户与样本对象的第二预测匹配度;
步骤450、将第一预测匹配度和第二预测匹配度进行融合,以得到样本对象针对样本用户的预测推荐结果;
步骤460基于预测推荐结果和真实推荐结果,计算推荐模型的损失值;以及
步骤470、基于损失值,调整第二推荐模型的参数。
根据本公开的实施例,首先训练得到第一推荐模型,然后基于第一推荐模型来训练第二推荐模型。在训练过程中,第二推荐模型以样本用户的属性特征和样本对象的对象特征为输入,输出样本用户与样本对象的第二预测匹配度。第二推荐模型没有以样本用户的行为特征为输入,从而能够避免冷启动问题。采用经训练的推荐模型(包括第一推荐模型和第二推荐模型)来对非活跃用户进行对象推荐,能够在保留第一推荐模型的全面的学习经验的同时,通过第二推荐模型来对第一推荐模型进行修正,提高推荐模型对非活跃用户的对象推荐结果的准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
根据一些实施例,针对步骤420,样本用户浏览的历史推荐对象的数量小于或等于预设阈值。即,将浏览的历史推荐对象的数量小于或等于预设阈值的用户确定为非活跃用户,作为用于训练推荐模型的样本用户。
根据一些实施例,针对步骤420,样本对象针对样本用户的真实推荐结果可以是用于表示样本用户是否浏览样本对象的标签。若样本用户浏览了样本对象,则可以将标签的值设置为1,即真实推荐结果为1;若样本用户未浏览样本对象,则可以将标签的值设置为0,即真实推荐结果为1。真实推荐结果也可以是样本用户浏览的样本对象的内容占样本对象的所有内容的比例。例如,样本对象为时长为10分钟的视频,样本用户浏览了该视频的3分钟的内容,则真实推荐结果为3/10=0.3。
根据一些实施例,针对步骤450,预测推荐结果为第一预测匹配度和第二预测匹配度的加权和在预设区间内的映射值。
可以理解,上述步骤420-470可以循环执行多次,直至损失值小于阈值时,第二推荐模型训练完成,即,整个推荐模型训练完成。
在本公开的实施例中,第一推荐模型在第二推荐模型开始训练之前完成训练。
根据一些实施例,第一推荐模型可以是基于初始推荐模型而得到的。初始推荐模型可以用于对各种类型的用户(包括活跃用户和非活跃用户)进行对象推荐。初始推荐模型例如可以采用相关技术中的推荐模型(例如精排阶段所使用的模型)的结构。
根据一些实施例,步骤410可以包括:训练得到初始推荐模型,其中初始推荐模型包括处理模块和输出层,处理模块被配置为以用户的行为特征、属性特征和对象的对象特征为输入,输出用户与对象的匹配度,输出层被配置为以匹配度为输入,输出对象针对用户的推荐结果,所述用户的用户类型为活跃用户或非活跃用户;以及添加与输出层相连的转化层,以得到第一推荐模型,其中,转化层所采用的转化函数是输出层所采用的激活函数的反函数。
初始推荐模型的处理模块可以实现为卷积神经网络(Convolutional NeuralNetworks,CNN)、长短期记忆网络(Long Short-Term Memory,LSTM)、深度神经网络(DeepNeural Networks,DNN)等结构。处理模块以用户的行为特征(例如上文的第二行为特征)、属性特征和对象的对象特征为输入,输出用户与对象的匹配度。
初始推荐模型的输出层可以是sigmoid激活层,其采用sigmoid激活函数,将处理模块输出的匹配度映射到(0,1)区间内,得到对象针对用户的推荐结果。
可以理解,由于匹配度的真实值难以获取,而推荐结果的真实值容易获取,因此通常不会单独训练初始推荐模型的处理模块,而是从整体上训练初始推荐模型(尽管输出层并不包含待训练的参数)。
根据一些实施例,初始推荐模型的训练过程可以为:获取第一样本用户的行为特征、属性特征、第一样本对象的对象特征以及第一样本对象针对第一样本用户的真实推荐结果。将第一样本用户的行为特征、属性特征、第一样本对象的对象特征输入初始推荐模型,得到初始推荐模型输出的预测推荐结果。基于预测推荐结果和真实推荐结果,确定初始推荐模型的损失值。基于损失值,调整初始推荐模型的参数。上述步骤可以循环执行多次。当初始推荐模型的损失值小于阈值时,初始推荐模型训练完成。
根据一些实施例,初始推荐模型的训练过程中所涉及的第一样本用户可以是活跃用户,也可以是非活跃用户。在一些实施例中,用于训练第二推荐模型的样本用户(均为非活跃用户)的集合可以是用于训练初始推荐模型的第一样本用户的集合的子集。
在训练得到初始推荐模型后,在初始推荐模型的输出层的输出端添加转化层,即可得到第一推荐模型。即,第一推荐模型包括初始推荐模型和与初始推荐模型的输出端相连的转化层。转化层所采用的转化函数是输出层所采用的激活函数的反函数,从而可以将输出层所输出的推荐结果恢复成处理模块所输出的匹配度,便于与第二模型输出的匹配度进行融合。例如,当输出层所采用的激活函数为sigmoid函数时,转化层所采用的转化函数可以是logit函数(logit函数是sigmoid函数的反函数)。
图5示出了根据本公开实施例的推荐模型500的结构图。如图5所示,推荐模型500包括第一推荐模型510和第二推荐模型520。第一推荐模型510包括初始推荐模型515(如阴影部分所示)和与初始推荐模型515相连的转化层516。初始推荐模型515包括处理模块512和输出层514,处理模块512例如为DNN,输出层514采用sigmoid函数,转化层516采用logit函数。
图5所示的推荐模型500的训练过程可以如下:首先训练得到初始推荐模型515,然后在初始推荐模型515的输出层514的输出端添加转化层516,得到训练后的第一推荐模型510。随后,基于样本用户的行为特征、属性特征和样本对象的对象特征,训练第二推荐模型520。
在第二推荐模型520的训练过程中,将行为特征、属性特征、对象特征输入经训练的第一推荐模型510,第一推荐模型510输出第一预测匹配度s1。具体地,行为特征、属性特征、对象特征被输入处理模块512,处理模块512输出第一预测匹配度s1。输出层514采用sigmoid函数,将第一预测匹配度s1映射为o1。转化层516采用logit函数,将o1恢复成第一预测匹配度s1
将属性特征、对象特征输入第二推荐模型520,第二推荐模型520输出第二预测匹配度s2。计算第一预测匹配度s1与第二预测匹配度s2的和(在一些实施例中,也可以计算第一预测匹配度s1与第二预测匹配度s2的加权和),并采用sigmoid函数对得到的和进行映射,得到预测推荐结果o2
随后,基于预测推荐结果o2与真实推荐结果来计算损失值,并基于损失值来调整第二推荐模型520的参数。
根据一些实施例,步骤410可以包括:训练得到初始推荐模型,其中初始推荐模型包括处理模块和输出层,处理模块被配置为以用户的行为特征、属性特征和对象的对象特征为输入,输出用户与对象的匹配度,输出层被配置为以匹配度为输入,输出对象针对用户的推荐结果,用户的用户类型为活跃用户或非活跃用户;以及删除输出层,以得到第一推荐模型。
初始推荐模型可以采用上文所述的步骤进行训练。在训练得到初始推荐模型后,删除初始推荐模型的输出层,即可得到第一推荐模型。
图6示出了根据本公开实施例的推荐模型600的结构图。如图6所示,推荐模型600包括第一推荐模型610和第二推荐模型620。第一推荐模型610包括处理模块612。
图6所示的推荐模型600的训练过程可以如下:首先训练得到初始推荐模型615,然后删除初始推荐模型615的输出层614,得到训练后的第一推荐模型610。随后,基于样本用户的行为特征、属性特征和样本对象的对象特征,训练第二推荐模型620。
在第二推荐模型620的训练过程中,将行为特征、属性特征、对象特征输入经训练的第一推荐模型610,第一推荐模型610(即处理模块612)输出第一预测匹配度s1
将属性特征、对象特征输入第二推荐模型620,第二推荐模型620输出第二预测匹配度s2。计算第一预测匹配度s1与第二预测匹配度s2的和(在一些实施例中,也可以计算第一预测匹配度s1与第二预测匹配度s2的加权和),并采用sigmoid函数对得到的和进行映射,得到预测推荐结果o2
随后,基于预测推荐结果o2与真实推荐结果来计算损失值,并基于损失值来调整第二推荐模型620的参数。
图7示出了根据本公开实施例的第二推荐模型700的结构图。如图7所示,第二推荐模型700例如可以包括依次相连的嵌入层(embedding)710、处理层720、ReLU激活层730、处理层740和ReLU激活层750。
嵌入层710用于生成属性特征、对象特征的向量表示。处理层720、740例如可以实现为卷积层、LSTM模块等。处理层720和处理层740的结构可以相同,也可以不同。在处理层720和处理层740采用相同结构的情况下,二者可以具有相同的参数值,也可以具有不同的参数值。
ReLU激活层750输出第二预测匹配度s2
根据本公开的实施例,还提供了一种对象推荐装置。图8示出了根据本公开实施例的对象推荐装置800的结构框图。如图8所示,装置800包括:
确定模块810,被配置为基于用户的第一行为特征,确定所述用户的用户类型。
推荐模块820,包括第一匹配单元822、第二匹配单元824和推荐单元826。
第一匹配单元822被配置为响应于确定用户的用户类型为非活跃用户,基于用户的第二行为特征、属性特征和待推荐对象的对象特征,确定用户与待推荐对象的第一匹配度。
第二匹配单元824被配置为基于属性特征和对象特征,确定用户与待推荐对象的第二匹配度。
推荐单元826被配置为基于第一匹配度和第二匹配度,确定待推荐对象针对用户的推荐结果。
根据本公开的实施例,能够提高非活跃用户的对象推荐结果的准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
根据本公开的实施例,还提供了一种推荐模型的训练装置。推荐模型包括第一推荐模型和第二推荐模型。图9示出了根据本公开实施例的推荐模型的训练装置900的结构框图。如图9所示,装置900包括:
处理模块910,被配置为训练得到第一推荐模型;
获取模块920,被配置为获取样本用户的行为特征和属性特征、样本对象的对象特征以及所述样本对象针对所述样本用户的真实推荐结果,其中,所述样本用户的用户类型为非活跃用户;
第一预测模块930,被配置为将所述行为特征、所述属性特征和所述对象特征输入所述第一推荐模型,以得到所述第一推荐模型输出的所述样本用户与所述样本对象的第一预测匹配度;
第二预测模块940,被配置为将所述属性特征和所述对象特征输入所述第二推荐模型,以得到所述第二推荐模型输出的样本用户与所述样本对象的第二预测匹配度;
融合模块950,被配置为将所述第一预测匹配度和所述第二预测匹配度进行融合,以得到所述样本对象针对所述样本用户的预测推荐结果;
计算模块960,被配置为基于所述预测推荐结果和所述真实推荐结果,计算所述推荐模型的损失值;以及
调整模块970,被配置为基于所述损失值,调整所述第二推荐模型的参数。
根据本公开的实施例,能够提高非活跃用户的对象推荐结果的准确性,避免非活跃用户的冷启动问题,提高推荐系统的推荐效果。
应当理解,图8中所示装置800的各个模块或单元可以与参考图2描述的方法200中的各个步骤相对应,图9中所示装置900的各个模块可以与参考图4描述的方法400中的各个步骤相对应。由此,上面针对方法200描述的操作、特征和优点同样适用于装置800及其包括的模块以及单元,上面针对方法400描述的操作、特征和优点同样适用于装置900及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。例如,上面描述的计算模块960和调整模块970在一些实施例中可以组合成单个模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图8、图9描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,模块810-820(包括单元822-826)、模块910-970中的一个或多个可以一起被实现在片上系统(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(Central Processing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital Signal Processor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的实施例,还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
参考图10,现将描述可以作为本公开的服务器或客户端的电子设备1000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006、输出单元1007、存储单元1008以及通信单元1009。输入单元1006可以是能向设备1000输入信息的任何类型的设备,输入单元1006可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元1007可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元1008可以包括但不限于磁盘、光盘。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、Wi-Fi设备、WiMAX设备、蜂窝通信设备和/或类似物。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如方法200或方法400。例如,在一些实施例中,方法200或方法400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的方法200或方法400的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200或方法400。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (14)

1.一种对象推荐方法,包括:
基于用户的第一行为特征,确定所述用户的用户类型;
响应于确定所述用户的用户类型为非活跃用户:
将所述用户的第二行为特征、属性特征和待推荐对象的对象特征输入预设的第一推荐模型,以得到所述第一推荐模型输出的所述用户与所述待推荐对象的第一匹配度;
将且仅将所述属性特征和所述对象特征输入预设的第二推荐模型,以得到所述第二推荐模型输出的所述用户与所述待推荐对象的第二匹配度,其中,所述第二推荐模型与所述第一推荐模型不同,所述第二推荐模型是基于所述第一推荐模型训练得到的;以及
基于所述第一匹配度和所述第二匹配度,确定所述待推荐对象针对所述用户的推荐结果。
2.根据权利要求1所述的方法,其中,所述第一行为特征包括所述用户浏览的历史推荐对象的数量,并且其中,
基于用户的第一行为特征,确定所述用户的用户类型包括:响应于确定所述数量小于或等于预设阈值,判定所述用户的用户类型为非活跃用户。
3.根据权利要求1所述的方法,其中,所述属性特征包括所述用户的来源渠道信息。
4.根据权利要求1所述的方法,其中,基于所述第一匹配度和所述第二匹配度,确定所述待推荐对象针对所述用户的推荐结果包括:
计算所述第一匹配度和所述第二匹配度的加权和;
将所述加权和在预设区间内的映射值确定为所述推荐结果。
5.根据权利要求1-4中任一项所述的方法,还包括:
响应于确定所述用户的用户类型为活跃用户,基于所述第二行为特征、所述属性特征和所述对象特征,确定所述待推荐对象针对所述用户的推荐结果。
6.一种推荐模型的训练方法,所述推荐模型包括第一推荐模型和第二推荐模型,所述推荐模型用于执行根据权利要求1-5中任一项所述的对象推荐方法,所述训练方法包括:
训练得到第一推荐模型;
获取样本用户的行为特征和属性特征、样本对象的对象特征以及所述样本对象针对所述样本用户的真实推荐结果,其中,所述样本用户的用户类型为非活跃用户;
将所述行为特征、所述属性特征和所述对象特征输入所述第一推荐模型,以得到所述第一推荐模型输出的所述样本用户与所述样本对象的第一预测匹配度;
将所述属性特征和所述对象特征输入所述第二推荐模型,以得到所述第二推荐模型输出的样本用户与所述样本对象的第二预测匹配度;
将所述第一预测匹配度和所述第二预测匹配度进行融合,以得到所述样本对象针对所述样本用户的预测推荐结果;
基于所述预测推荐结果和所述真实推荐结果,计算所述推荐模型的损失值;以及
基于所述损失值,调整所述第二推荐模型的参数。
7.根据权利要求6所述的方法,其中,所述样本用户浏览的历史推荐对象的数量小于或等于预设阈值。
8.根据权利要求6所述的方法,其中,所述训练得到第一推荐模型包括:
训练得到初始推荐模型,其中所述初始推荐模型包括处理模块和输出层,所述处理模块被配置为以用户的行为特征、属性特征和对象的对象特征为输入,输出所述用户与所述对象的匹配度,所述输出层被配置为以所述匹配度为输入,输出所述对象针对所述用户的推荐结果,所述用户的用户类型为活跃用户或非活跃用户;以及
添加与所述输出层相连的转化层,以得到所述第一推荐模型,其中,所述转化层所采用的转化函数是所述输出层所采用的激活函数的反函数。
9.根据权利要求6所述的方法,其中,所述训练得到第一推荐模型包括:
训练得到初始推荐模型,其中所述初始推荐模型包括处理模块和输出层,所述处理模块被配置为以用户的行为特征、属性特征和对象的对象特征为输入,输出所述用户与所述对象的匹配度,所述输出层被配置为以所述匹配度为输入,输出所述对象针对所述用户的推荐结果,所述用户的用户类型为活跃用户或非活跃用户;以及
删除所述输出层,以得到所述第一推荐模型。
10.根据权利要求6-9中任一项所述的方法,其中,所述预测推荐结果为所述第一预测匹配度和所述第二预测匹配度的加权和在预设区间内的映射值。
11.一种对象推荐装置,包括:
确定模块,被配置为基于用户的第一行为特征,确定所述用户的用户类型;
推荐模块,包括第一匹配单元、第二匹配单元和推荐单元,
所述第一匹配单元被配置为响应于确定所述用户的用户类型为非活跃用户,将所述用户的第二行为特征、属性特征和待推荐对象的对象特征输入预设的第一推荐模型,以得到所述第一推荐模型输出的所述用户与所述待推荐对象的第一匹配度;
所述第二匹配单元被配置为将且仅将所述属性特征和所述对象特征输入预设的第二推荐模型,以得到所述第二推荐模型输出的所述用户与所述待推荐对象的第二匹配度,其中,所述第二推荐模型与所述第一推荐模型不同,所述第二推荐模型是基于所述第一推荐模型训练得到的;以及
所述推荐单元被配置为基于所述第一匹配度和所述第二匹配度,确定所述待推荐对象针对所述用户的推荐结果。
12.一种推荐模型的训练装置,所述推荐模型包括第一推荐模型和第二推荐模型,所述推荐模型用于实现根据权利要求1-5中任一项所述的对象推荐方法,所述训练装置包括:
处理模块,被配置为训练得到第一推荐模型;
获取模块,被配置为获取样本用户的行为特征和属性特征、样本对象的对象特征以及所述样本对象针对所述样本用户的真实推荐结果,其中,所述样本用户的用户类型为非活跃用户;
第一预测模块,被配置为将所述行为特征、所述属性特征和所述对象特征输入所述第一推荐模型,以得到所述第一推荐模型输出的所述样本用户与所述样本对象的第一预测匹配度;
第二预测模块,被配置为将所述属性特征和所述对象特征输入所述第二推荐模型,以得到所述第二推荐模型输出的样本用户与所述样本对象的第二预测匹配度;
融合模块,被配置为将所述第一预测匹配度和所述第二预测匹配度进行融合,以得到所述样本对象针对所述样本用户的预测推荐结果;
计算模块,被配置为基于所述预测推荐结果和所述真实推荐结果,计算所述推荐模型的损失值;以及
调整模块,被配置为基于所述损失值,调整所述第二推荐模型的参数。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-10中任一项所述的方法。
CN202111360807.2A 2021-11-17 2021-11-17 对象推荐方法、推荐模型的训练方法及装置 Active CN114036389B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111360807.2A CN114036389B (zh) 2021-11-17 2021-11-17 对象推荐方法、推荐模型的训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111360807.2A CN114036389B (zh) 2021-11-17 2021-11-17 对象推荐方法、推荐模型的训练方法及装置

Publications (2)

Publication Number Publication Date
CN114036389A CN114036389A (zh) 2022-02-11
CN114036389B true CN114036389B (zh) 2023-05-05

Family

ID=80138012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111360807.2A Active CN114036389B (zh) 2021-11-17 2021-11-17 对象推荐方法、推荐模型的训练方法及装置

Country Status (1)

Country Link
CN (1) CN114036389B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125420A (zh) * 2019-12-25 2020-05-08 腾讯科技(深圳)有限公司 基于人工智能的对象推荐方法、装置及电子设备
CN111695960A (zh) * 2019-03-12 2020-09-22 阿里巴巴集团控股有限公司 一种对象推荐系统、方法、电子设备及存储介质
CN111966914A (zh) * 2020-10-26 2020-11-20 腾讯科技(深圳)有限公司 基于人工智能的内容推荐方法、装置和计算机设备
US20210248651A1 (en) * 2019-10-31 2021-08-12 Huawei Technologies Co., Ltd. Recommendation model training method, recommendation method, apparatus, and computer-readable medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695960A (zh) * 2019-03-12 2020-09-22 阿里巴巴集团控股有限公司 一种对象推荐系统、方法、电子设备及存储介质
US20210248651A1 (en) * 2019-10-31 2021-08-12 Huawei Technologies Co., Ltd. Recommendation model training method, recommendation method, apparatus, and computer-readable medium
CN111125420A (zh) * 2019-12-25 2020-05-08 腾讯科技(深圳)有限公司 基于人工智能的对象推荐方法、装置及电子设备
CN111966914A (zh) * 2020-10-26 2020-11-20 腾讯科技(深圳)有限公司 基于人工智能的内容推荐方法、装置和计算机设备

Also Published As

Publication number Publication date
CN114036389A (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
US11734609B1 (en) Customized predictive analytical model training
US10599449B1 (en) Predictive action modeling to streamline user interface
KR101972285B1 (ko) 이미지 평가 기법
CN106164822B (zh) 保存通信会话的状态的方法、系统和机器可读介质
US10290040B1 (en) Discovering cross-category latent features
US20150310388A1 (en) Local couriers network in the context of an on-line trading platform
KR101963094B1 (ko) 통신 세션 상태를 저장 및 제시하는 기법
US11481811B2 (en) Electronic device and method for controlling same
CN114791982B (zh) 对象推荐方法和装置
US20210158398A1 (en) User data segmentation augmented with public event streams for facilitating customization of online content
US20180053197A1 (en) Normalizing user responses to events
US20150112799A1 (en) Method and system for offering personalized flash sales experience to a user
CN116304335A (zh) 对象推荐方法、用户偏好识别方法及装置
CN114036389B (zh) 对象推荐方法、推荐模型的训练方法及装置
CN114445190A (zh) 商品推荐方法和装置
CN113868453B (zh) 对象推荐方法和装置
CN113327134B (zh) 商品信息推荐方法及装置、电子设备和介质
CN114880580A (zh) 信息推荐方法及装置、电子设备和介质
CN114429678A (zh) 模型训练方法及装置、电子设备和介质
CN114048383A (zh) 信息推荐方法及装置、电子设备和介质
CN113722523B (zh) 对象推荐方法和装置
CN111784091A (zh) 用于处理信息的方法和装置
CN114861071B (zh) 对象推荐方法和装置
CN113722534B (zh) 视频推荐方法和装置
US11438426B1 (en) Systems and methods for intelligent session recording

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