CN113256190B - 资源召回方法及装置 - Google Patents
资源召回方法及装置 Download PDFInfo
- Publication number
- CN113256190B CN113256190B CN202110800099.3A CN202110800099A CN113256190B CN 113256190 B CN113256190 B CN 113256190B CN 202110800099 A CN202110800099 A CN 202110800099A CN 113256190 B CN113256190 B CN 113256190B
- Authority
- CN
- China
- Prior art keywords
- sample
- resource
- node
- user
- objects
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种资源召回方法及装置,可应用于计算机技术领域。其中,该方法可以包括:获取多个对象的对象数据,对象为用户对象或资源对象;根据每个对象的对象数据生成每个对象对应的对象向量;根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;当接收到针对目标用户的资源召回指令时,根据第一对象向量集合及第二对象向量集合,确定针对目标用户的召回资源。通过本方法实施例可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源召回方法及装置。
背景技术
随着计算技术的快速发展,在各种社交应用、搜索场景中为用户推荐资源(如资源召回)成为一大研究的热点。目前,针对目标用户进行资源召回通常是通过计算资源对象或用户对象的相似度来确定召回资源。然而,发明人在实践过程中发现,针对与其他资源或用户很少建立连接的目标用户进行资源召回的效果通常不好,如在确定目标用户的相似用户后,相似用户通常也与其他资源或用户的连接较少,误差较大。因此如何提高资源召回的准确性是一个亟待解决的问题。
发明内容
本申请实施例提供了一种资源召回方法及装置,可以提高资源召回的准确性。
本申请实施例第一方面公开了一种资源召回方法,所述方法包括:
获取多个对象的对象数据,所述对象为用户对象和资源对象中的至少一种;
根据每个对象的对象数据生成每个对象对应的对象向量;
根据所述每个对象对应的对象向量生成第一对象向量集合,并从所述第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;
当接收到针对目标用户的资源召回指令时,根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源。
本申请实施例第二方面公开了一种资源召回装置,所述装置包括:
获取单元,用于获取多个对象的对象数据,所述对象为用户对象和资源对象中的至少一种;
处理单元,用于根据每个对象的对象数据生成每个对象对应的对象向量;
所述处理单元,还用于根据所述每个对象对应的对象向量生成第一对象向量集合,并从所述第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;
所述处理单元,还用于当接收到针对目标用户的资源召回指令时,根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源。
本申请实施例第三方面公开了一种计算机设备,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
本申请实施例第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本申请实施例第五方面公开了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述第一方面的方法。
采用本申请实施例,能够通过获取多个对象的对象数据,进而根据每个对象的对象数据生成每个对象对应的对象向量,再根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合,使得第二对象向量集合中是活跃度较高的用户对象的对象向量或活跃度较高的资源对象如曝光度、时效性较高的资源对象的对象向量,进而当接收到针对目标用户的资源召回指令时,能够根据第一对象向量集合及第二对象向量集合,确定针对目标用户的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种资源召回示意图;
图2是本申请实施例提供的一种资源召回方法的流程示意图;
图3是本申请实施例提供的一种向量生成模型的结构示意图;
图4是本申请实施例提供的一种全量图的效果示意图;
图5是本申请实施例提供的一种连通子图的效果示意图;
图6是本申请实施例提供的另一种资源召回方法的流程示意图;
图7是本申请实施例提供的又一种资源召回方法的流程示意图;
图8是本申请实施例提供的又一种资源召回方法的流程示意图;
图9是本申请实施例提供的一种资源召回装置的结构示意图;
图10是本申请是实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的技术方案能够通过生成多个对象对应的对象向量,并根据该多个对象的对象向量得到第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象向量得到第二对象向量集合,进而根据第一对象向量集合和第二对象向量集合确定目标对象的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
在一种可能的实施方式中,本申请实施方案可以应用于一种社交应用的业务场景
中,如即时通讯业务(IM,一种基于互联网的即时交流消息的业务)。该业务场景下的资源对
象和用户对象可以包括以下三种关系:用户互动过的资源对象<user, item>,用户对象发
表的资源对象<user, item>,用户对象于用户对象的好友关系<user,user>。本申请可以将
该三种关系映射为一个对象图结构,则每个资源对象和用户对象均可以映射为对应的结
点,资源对象和用户对象的关系可以映射为对应的边,进而得到包括该多个结点(结点集合
V)和多个边(边集合E)的对象图结构,可以表示为,并且有
及。进而可以根据在该图结构中的对象对应的对象编码生成每个对象对应的对象
向量,即根据第一对象向量集合中的对象向量确定对象的对象向量(如用户对象向量或资
源对象向量),再从第二对象向量集合中确定对象向量与对象向量(包括用户对象与用户对
象,资源对象与资源对象)之间的相似度,进而根据该相似度确定目标用户的召回资源。由
此可以引入两个对象向量集合确定召回资源,该两个对象向量集合(第一对象向量集合和
第二对象向量集合)也可以称为大小池,大池为第一对象向量集合,其中具有更全面、数量
更多的对象对应的对象向量,小池为第二对象向量集合,其中具有活跃度更高的用户对象
或曝光度、时效性更高的资源对象的对象向量,进而可以提升确定的召回资源的准确性,提
升资源推荐的效果。实践显示,通过本申请的方案进行资源召回后,用户分享率,评论率,资
源人均简称视频播放量(Video view,简称VV)均得到显著提升。
在一种可能的实施方式中,本申请的技术方案的整体流程可以参见图1,图1是本申请实施例提供的一种资源召回示意图。可选的,在本申请实施例中,对象对应的对象向量可以基于向量生成模型生成,该向量生成模型为基于样本训练数据进行训练得到的模型。进而可以根据向量生成模型生成对象对应的对象向量,得到第一对象向量集合。可选的,可以将第一对象向量集合中的对象向量与对应的对象关联存储至存储区域,以便于后续进行资源召回时,快速获取对象向量。该第二对象向量集合由从第一对象向量集合中提取满足第一活跃度条件的对象向量组成。可选的,可以将第二对象向量集合中的对象向量与对应的对象关联存储至存储区域,以便于后续进行资源召回时,快速确定相似对象(包括相似用户对象或相似资源对象)。由此可以在检测到需要进行资源召回(如接收到针对目标用户的资源召回指令)时,从第一对象向量集合中的对象向量中获取对象的对象向量,根据第二对象向量集合中确定相似对象(如相似用户对象或相似资源对象),进而确定目标用户的中召回资源,由此可以提升资源召回的效率,以及准确度。
本申请的技术方案可运用在电子设备中,该电子设备可以是服务器或者其他设备。例如,该电子设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请可应用于云技术领域。云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术为基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。例如,本申请将资源召回所需的数据存储到“云”中,根据需求对云中的数据随时获取,随时扩展,如第一对象向量集合、第二对象向量集合中的对象向量。
在一种可能的实施方式中,本申请实施例可应用于区块链领域,如将本申请实施例里中资源召回所需的部分或全部数据存储到区块链中。例如,可以每个对象的对象数据、样本训练数据存储至区块链中,又如可以将第一对象向量集合中的对象向量、第二对象向量集合中的对象向量等存储至区块链中。进而可根据需求从区块链中获取相应数据,由此可提升数据获取的可靠性。可选的,本申请涉及的电子设备可以为区块链中的节点。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
请参见图2,图2是本申请实施例提供的一种资源召回方法的流程示意图。该方法可以由电子设备执行,如图2所示,该资源召回方法可包括以下步骤:
S201、获取多个对象的对象数据。
其中,该对象可以为用户对象和资源对象中的至少一种。该用户对象可以指示应用客户端中注册的用户帐号(也可称注册用户),该资源对象用于指示应用客户端中每个用户对象发布的资源(如文章、视频、社交资讯、等资源)。可选的,针对某个用户对象,可以检测到其他用户对象与该用户对象建立连接,如用户对象之间互为好友,或单方面关注其他用户对象,或被其他用户对象单方面关注,此处不做限制。针对某个资源对象,可以检测到用户对象与该资源对象建立连接,如用户对象发布该资源对象,或者,其他用户对象可以与该资源进行互动(如点赞、评论、转发、评论等互动形式)。
对象的对象数据可以包括对象的对象编码。可选的,该对象数据还可以包括用于指示对象与其他对象的连接关系的数据,也可以包括指示对象与其他对象建立连接的时间的数据,还可以包括其他信息,此处不做限制。其中,该对象编码用于指示对象在应用客户端中的全部用户对象和资源对象中具有的唯一编码,进而可以通过该对象编码获取对应的对象向量,例如,该对象编码可以为根据获取的用户对象和资源对象构成的对象图结构中,该对象对应的对象结点对应的结点编码,该对象编码可以为由数字或字母组成的编码,此处不做限制。
对象与其他对象的连接关系可以为用户对象与另一用户对象之间的好友关系,也可以为用户对象与资源对象之间的发表关系,还可以为用户对象与资源对象之间的互动关系。例如,检测到用户对象与另一用户对象互为好友,或用户对象单方面关注另一用户对象,或用户对象被另一用户对象单方面关注等等,可以确定该用户对象与另一用户对象之间具有好友关系,即该用户对象与该另一用户对象存在连接关系;又如,检测到用户对象发表/发布资源对象(即该资源对象为该用户对象发表的资源对象),则可以确定该用户对象与该资源对象具有发表关系,即该用户对象与该资源对象存在连接关系;又如,检测到用户对象与资源对象进行互动,如用户对象点赞、点赞、评论、转发、评论、已读该资源对象,则可以确定该用户对象与该资源对象具有互动关系,即该用户对象与该资源对象存在连接关系。
也就是说,若对象为用户对象,该用户对象的对象数据中可包括指示与其他用户对象的连接关系的数据以及与资源对象的连接关系的数据中的至少一种,若对象为资源对象,该资源对象的对象数据中可包括指示与用户对象的连接关系的数据。如,基于对象数据检测到对象与其他对象建立有连接,如检测到用户对象添加另一用户对象为好友,用户对象发表资源对象,用户对象与资源对象互动,则表示该对象与其他对象之间有连接;若检测到对象与其他对象未建立连接,则表示该对象与其他对象的之间无连接。
对象与其他对象建立连接的时间用于指示检测到每个对象与其他对象建立新的连接的时间点,如,若用户对象A与用户对象B在时间点P建立好友关系,则用户对象A的对象数据中包括与用户对象B建立好友关系的时间点P的数据,且用户对象B的对象数据中也包括建立好友关系的时间点P的数据;又如,若用户对象A在时间O点赞资源对象C,则用户对象A的对象数据中包括点赞资源对象C时间点O的数据,且资源对象C的对象数据中包括被用户对象A点赞的时间点O的数据。
在一种可能的实施方式中,若该多个对象为用户对象,则该用户对象可以为应用客户端中的全量的注册用户,也可以为第一时间范围内登录应用客户端的注册用户,该第一时间范围可以为在当前时间点之前的一个时间点与当前时间点之间的时间段,该当前时间点用于指示获取该多个对象的对象数据的时间点。若该多个对象为资源对象,则该资源对象可以为应用客户端中全量的资源对应的用户对象,也可以为第二时间范围内检测到与用户对象建立连接的资源,如在第二时间范围内某用户对象发布的资源,又如,在第二时间范围内被用户对象进行互动(如点赞、转发等)的资源等等。该第二时间范围可以为在当前时间点之前的一个时间点与当前时间点之间的时间段,该第二时间范围与第一时间范围可以相同也可以不同,此处不做限制。可选的,在获取第一时间范围内的登录应用客户端的注册用户,或者获取第二时间范围内检测到的与用户对象建立连接的资源时,该第一时间范围或第二时间范围的时间范围越大,则获取的对象对应的对象数据越多,由此可以使得在后续进行资源召回时,准确度更高。
S202、根据每个对象的对象数据生成每个对象对应的对象向量。
其中,对象对应的对象向量用于指示对象映射为的向量,也可以说是,该对象向量
用于指示对象在根据获取的用户对象和资源对象构成的对象图结构中,该对象对应的对象
结点对应的结点向量。该对象图结构可以为根据获取的用户对象和资源对象生成的图,该
对象图结构中包括多个对象结点,以及相连接的对象对应的对象结点之间的边,如可以将
该对象图结构包括的信息表示为结点集合V和边集合E,结点集合V中可以包括用户对象对
应的用户结点user以及资源对象对应的资源结点item,即有,且。
在一种可能的实施方式中,生成每个对象对应的对象向量可以为,调用向量生成模型并根据每个对象的对象数据得到每个对象的对象向量,如可以将每个对象的对象数据中包括的对象编码输入向量生成模型,进而可以通过向量生成模型输入每个对象对应的对象向量。具体的,若该多个对象为多个用户对象,调用向量生成模型并根据每个用户对象的对象数据得到每个用户对象的对象向量;或,若该多个对象为多个资源对象,调用向量生成模型并根据每个资源对象的对象数据得到每个资源对象的对象向量。其中,该向量生成模型可以通过样本训练数据训练得到,从而可以使得该向量生成模型具有根据每个对象对应的对象编码生成对象向量的能力,进而可以调用向量生成模型并根据每个对象的对象数据得到每个对象的对象向量。
在一种可能的实施方式中,对向量生成模型进行训练具体可以包括以下步骤:获取样本训练数据,样本训练数据中包括样本中心结点及K个样本邻居结点,样本中心结点和每个样本邻居结点构成结点对,K为正整数;样本训练数据携带样本属性标签,样本属性标签用于指示每个结点对的属性值;将样本训练数据输入初始向量生成模型中,得到样本中心结点对应的预测样本中心结点向量,以及每个样本邻居结点分别对应的预测样本邻居结点向量;计算预测样本中心结点向量分别与每个预测样本邻居结点向量之间的预估值,并根据预估值与样本属性标签指示的属性值修正初始向量生成模型的模型参数,得到向量生成模型。进而可以调用向量生成模型并根据每个对象的对象数据得到每个对象的对象向量。可以理解的是,本申请实施例对向量生成模型进行训练时采用有监督的方式进行训练,能够更好地适应主流适合资源召回场景(推荐场景)的深度学习框架,如Tensorflow深度学习框架等。
其中,该样本训练数据可以包括样本中心结点和K个样本邻居结点,样本中心结点和每个样本邻居结点构成结点对,该结点对也可以称为pair对,从而得到K个pair对,K为正整数。该样本训练数据携带样本属性标签,样本属性标签用于指示每个结点对的属性值,该属性值可以表示为“0”或“1”,若该样本训练数据为正向样本训练数据,则样本属性标签中每个结点对的属性值为“1”,若该样本训练数据为负向样本训练数据,则样本属性标签中每个结点对的属性值为“0”。可以理解的是,该样本属性标签也可以说是用于指示样本中心结点分别与每个样本邻居结点之间的关联关系。该样本中心结点分别与每个样本邻居结点之间的关联关系可以指示每个样本邻居结点与样本中心结点有关联或无关联,样本邻居结点与样本中心结点有关联也就是说该样本邻居结点为对应的样板中心结点的邻居结点,样本邻居结点与样本中心结点无关联也就是说针对该样本中心结点的样本邻居结点为其他的样板中心结点的邻居结点。可选的,若样本邻居结点与样本中心结点有关联则样本属性标签中的属性值为“1”,若样本邻居结点与样本中心结点无关联则样本属性标签中的属性值为“0”。其中,该正向样本训练数据用于指示样本中心结点与每个样本邻居结点之间的关联关系为有关联的样本训练数据,该负向样本训练数据用于指示样本中心结点与每个样本邻居结点之间的关联关系为无关联的样本训练数据。
该初始向量生成模型用于指示未被训练的向量生成模型,通过该初始向量模型可以得到样本中心结点对应的预测样本中心结点向量,以及每个样本邻居结点分别对应的预测样本邻居结点向量,该预测样本中心结点向量与预测样本邻居结点向量可统称为预测样本结点向量。该预测样本中心结点向量用于指示将样本中心结点对应的对象编码输入初始向量模型得到的向量,该预测样本邻居结点向量用于指示将样本邻居结点对应的对象编码输入初始向量模型得到的向量,进而可以计算每个pair对对应的预估值,即样本中心结点与每个样本邻居结点对应的预估值,该预估值的计算公式可以参照公式(1)计算得到:
其中,该即表示样本中心结点与样本邻居结点的预估值,表示是预测样本
中心结点向量,表示预测样本邻居结点向量,表示预测样本中心结点向量与
预测样本邻居结点向量的点积运算,则表示通过Sigmoid函数对预测样本中心
结点向量与预测样本邻居结点向量的点积运算的结果进行计算,该Sigmoid函数可以将一
个实数映射到(0,1)的区间,进而可以得到样本中心结点与样本邻居结点的预估值为(0,1)
的区间之间的值。例如,请参见图3,图3是本申请实施例提供的一种向量生成模型的结构示
意图,样本训练数据中包括1个样本中心结点以及10个样本邻居结点,该10个样本邻居结点
为左一、左二、左三、左四、左五、右一、右二、右三、右四和右五,即获取样本训练数据时的目
标半径为5,进而将样本训练数据输入模型后,得到预测样本结点向量(包括预测样本中心
结点向量和预测样本邻居结点向量),进而可以根据公式(1)得到预测样本中心结点向量与
预测样本邻居结点向量的预估值。
根据预估值与样本属性标签指示的属性值修正初始向量生成模型的模型参数,可以为通过预估值与样本属性标签计算损失函数,然后根据损失函数修正初始向量生成模型的模型参数,进而得到向量生成模型。其中,该损失函数的计算公式可以参照公式(2):
其中,L表示损失值,表示样本属性标签中样本中心结点与样本邻居结点的属性
值(如“0”或“1”),该用于指示通过公式(1)计算的样本中心结点与样本邻居结点的预估
值,K为样本训练数据中样本邻居结点的数量,为0-K的正整数,由此可以对每个预估值与
样本属性标签对应的值通过计算并将计算得到的值做
和,得到损失值。
可选的,若该损失值不满足预设条件,则根据该损失值修正初始向量生成模型的模型参数,再通过修正模型参数后的初始向量生成模型再次获取样本训练数据中样本中心结点与每个样本邻居结点的预估值,并根据每个预估值与样本属性标签对应的值计算损失值,进而再次调整初始向量生成模型的模型参数,以此类推,直至得到的损失值满足损失值条件,则停止训练,将进行模型参数调整后的初始向量生成模型确定为上述向量生成模型。该损失值条件用于指示停止根据该样本训练数据对初始向量模型进行训练的条件,如该损失值小于损失值阈值,该损失值阈值用于指示满足损失值条件的损失值的最大值。由此可以得到具有根据对象编码生成对象向量的能力的向量生成模型。可选的,该初始向量生成模型中还可以加入注意力机制(attention),进而可以不仅仅通过对象的对象编码进行训练,还可以加入每个对象的特征信息(如用户对象的年龄、身份等信息,资源对象的资源类型的标签等等),由此可以使得向量生成模型能够在生成的对象向量中包含对象的特征信息,进而可以在进行资源推荐匹配相似对象时,匹配更准确。
在一种可能的实施方式中,获取该样本训练数据可以包括以下步骤:获取多个样本对象的样本对象数据,样本对象包括样本用户对象和样本资源对象;根据多个样本对象生成全量图,全量图中包括样本用户对象和样本资源对象分别对应的样本结点,以及相连接的各个样本结点之间的边;根据样本对象数据从多个样本对象中提取满足第二活跃度条件的样本子对象,并将样本子对象确定为起始结点;分别以每个起始结点为起点从全量图中提取每个起始结点对应的连通子图;基于起始结点对应的连通子图提取样本训练数据。
其中,该样本对象的样本对象数据可以包括样本用户对象和样本资源对象的样本对象数据。该样本用户对象可以为应用客户端中注册的用户账号(也可称注册用户),该样本资源对象可以为应用客户端中每个用户对象发布的资源(如文章、视频等资源),可以理解的是,该样本对象可以为在第三时间范围内检测到与其他样本对象建立连接的样本对象,该第三时间范围可为在获取该样本对象数据的时间点之前的一个时间点与获取该样本对象数据的时间点之间的时间段。具体描述可以参照步骤S201中针对对象的相关描述,此处不做赘述。样本对象的样本对象数据可以包括用于指示样本对象与其他样本对象的连接关系的数据,也可以包括指示检测到样本对象与其他样本对象建立连接的时间的数据,还可以包括样本对象的样本对象编码,还可以包括其他信息,此处不做限制。其中,样本对象与其他样本对象的连接关系的数据可以用于指示样本用户对象与样本资源对象的连接关系,也可以用于指示样本用户对象与样本用户对象的连接关系,若样本用户对象与样本资源对象之间有连接,则可以表示样本用户对象之间样本资源对象有发表关系(如样本用户对象发布一篇短文本,发布一个视频(即样本资源对象)等),也可以表示样本用户对象之间样本资源对象有互动关系(如样本用户对象点赞、转发或评论样本资源对象等),若样本用户对象与样本用户对象之间有连接,则可以表示样本用户对象与其他样本用户对象之间有好友关系(如样本用户对象与样本用户对象之间互为好友,或样本用户对象单方面关注另一样本用户对象)。由此可以在样本训练过程中,引入更多样本对象之间的关系,包括样本用户对象与样本用户对象之间的好友关系,样本资源对象与样本资源对象之间的发表关系和互动关系,丰富全量图的数据,提高全量图的质量,通过样本对象之间的关系的补充,使得在样本对象较少的情况下,也能得到更好的训练效果。
根据多个样本对象生成的全量图中包括样本用户对象和样本资源对象分别对应的样本结点,以及相连接的各个样本结点之间的边,边可以包括第一连接边与第二连接边。具体的,根据多个样本对象生成的全量图中,可以包括以下步骤:将多个样本对象映射为对应的样本结点;根据多个样本对象的对象数据确定多个样本对象之间的连接关系;针对多个样本对象中的各样本用户对象,基于与样本用户对象存在连接关系的样本资源对象,在样本用户对象对应的样本结点、以及与样本用户对象存在连接关系的样本资源对象对应的样本结点之间构建第一连接边;其中,与样本用户对象存在连接关系的样本资源对象包括样本用户对象发表的样本资源对象、以及样本用户对象参与互动的样本资源对象中的至少一种;针对多个样本对象中的各样本用户对象,基于与样本用户对象存在连接关系的样本用户对象,在存在连接关系的样本用户对象对应的样本结点之间构建第二连接边;基于各样本结点以及各样本结点之间的边构建全量图。
其中,每个样本对象可以映射为对应的样本结点,也就是说,该全量图中包括的样本结点可以为样本用户结点,也可以为样本资源结点,即每个样本用户对象可以对应样本用户结点,每个样本资源对象可以对应样本资源结点。该多个样本对象之间的连接关系可以为样本用户对象与样本资源对象的互动关系(如点赞、转发、评论等),也可以为样本用户对象与样本资源对象的发表关系,还可以为样本用户对象与样本用户对象之间的好友关系(如互为好友或单方面关注等)。也就说,若样本用户对象与样本资源对象具有上述关系,则确定样本用户对象与样本资源对象之间存在连接关系,若样本用户对象与样板用户对象之间具有上述关系,则确定样本用户对象与样板用户对象之间存在连接关系。若样本用户对象与样本资源对象之间具有连接,如互动关系或发表关系,则确定样本用户对象对应的样本结点与样本资源对象的样本结点之间具有第一连接边,也就是说,该第一连接边可用于指示具有连接关系的样本用户对象与样本资源对象之间,样本用户对象对应的样本结点与样本资源对象对应的样本结点之间的建立的边;若样本用户对象与另一样本用户对象之间具有连接,如好友关系,则确定样本用户对象对应的样本结点与另一样本用户对象的样本结点之间具有第二连接边,也就是说,该第二连接边可用于指示具有连接关系的样本用户对象与样本用户对象之间,样本用户对象对应的样本结点与另一样本用户对象对应的样本结点之间的建立的边。进而可以根据上述的样本结点(包括样本用户对象对应的样本结点和样本资源对象对应的样本结点)、第一连接边和第二连接边构建全量图。由此可以在构建全量图时,引入更多的结点关系,使得最终训练得到的向量生成模型生成的向量更加准确。可以理解的是,该全量图可以为无向图。该无向图用于指示两个样本结点之间的边没有方向的图,并且,不论是第一连接边还是第二连接边的表现形式均相同。如,样本用户对象发表、点赞或评论样本资源对象,在该全量图中,该样本用户对象对应的样本结点与样本资源对象对应的样本结点之间的第一连接边均为没有方向的边;又如,无论样本用户对象与另一样本用户对象互为好友关系,还是样本用户对象单方面与另一样本用户对象建立好友关系(如单方面关注另一样本用户对象,或者被另一样本用户对象拉入黑名单),在该全量图中,该样本用户对象对应的样本结点与该另一样本用户对象对应的样本结点之间的第二连接边均为没有方向的边。
例如,请参见图4,图4是本申请实施例提供的一种全量图的效果示意图。如图4所示,该全量图中可以包括样本用户对象A对应的样本用户结点A,样本资源对象B对应的样本资源结点B,样本用户对象C对应的样本用户结点C,样本资源对象D对应的样本资源结点D,样本用户对象E对应的样本用户结点E。其中,样本用户对象A发表样本资源对象B,并且样本用户对象A与样本用户对象E互为好友关系,样本用户对象C与样本资源对象B有互动关系(如C点赞、转发或评论B),并且样本用户对象C发表样本资源对象D。由此可以得到中全量图,A与B之间有第一连接边,A与E之间有第二连接边,B与C之间有第一连接边,则C与D之间有第一连接边。
该第二活跃度条件用于指示从多个样本对象中提取样本子对象的条件,该第二活跃度条件可以包括以下一项或多项:与样本对象相连接的其他样本对象的数量大于数量阈值、样本对象在第四时间范围内检测到与其他样本对象建立连接。该数量阈值用于指示与提取的样本子对象有连接的其他样本对象的数量的最小值,例如,该数量阈值为4,若与某个样本对象相连接的其他样本对象的数量为5,则将该样本对象确定为样本子对象,若与某个样本对象相连接的其他样本对象的数量为3,则不将该样本对象确定为样本子对象。该第四时间范围用于指示提取的样本子对象需要在第四时间范围内与其他样本对象建立连接,该第四时间范围可以为在获取该样本对象数据的时间点之前的一个时间点与获取该样本对象数据的时间点之间的时间段,该第四时间范围应该小于或等于获取样本对象的样本对象数据时对应的第三时间范围。可选的,在基于第二活跃度条件提取样本子对象时,可以直接提取同时满足第二活跃度条件中两项条件的全部样本对象作为样本子对象,也可以提取满足第二活跃度条件中的一项条件的样本对象作为样本子对象,或先提取满足第二活跃度条件中的一项条件的样本对象,再根据第二活跃度条件中的另一项条件对提取的样本对象进行筛选进而得到样本子对象,此处不做限制。可以理解的是,通过与样本对象相连接的样本对象的数量的限制可以避免以冷启结点为起点获取结点路径,进而减少后续在模型训练时冷启结点过拟合的问题,该冷启结点用于指示边的数量(或与结点具有边的结点的数量)少于或等于数量阈值的结点,该数量阈值用于指示将结点确定为冷启结点时结点的边的数量(或与结点具有边的结点的数量)的最大值。进而在得到样本子对象后,可以将样本子对象确定为起始结点,由此使得得到的起始结点的质量更高,进而提升样本训练数据的质量。
从全量图中提取每个起始结点对应的连通子图指示从全量图中获取包括该起始结点的连通子图,该连通子图用于指示该连通子图中的所有结点均具有一条由结点和边构成的路径与起始结点连通。换句话说就是,以起始结点为起点,根据起始结点的每个边游走到相邻的样本结点,再根据起始结点的相邻的样本结点的除与起始结点相连接的边(即进入该相邻的样本结点的边)外的每个边游走至与该相邻的样本结点,以此类推,直至游走至的样本结点没有除与进入该样本结点的边之外的边,则可以将游走时经过的每个样本结点和边确定为起始结点对应连通子图。可以理解的是,每个起始结点对应的连通子图可以相同,也可以不同,此处不做限制。例如,请参见图5,图5是本申请实施例提供的一种连通子图的效果示意图,如图5中,样本结点F为一个起始结点(如图中501所示),则可以得到该起始结点对应的连通子图,如图中白色圆圈对应的样本结点和相连接的边组成,图中黑色圆圈对应的样本结点和相连接的边与起始结点F之间没有由结点和边构成的路径进行连通,因此,黑色圆圈对应的样本结点和相连接的边不属于起始结点F对应的连通子图。
进而,在得到起始结点对应的连通子图后,可以基于起始结点对应的连通子图提取样本训练数据。样本训练数据为正向样本训练数据或负向样本训练数据。基于起始结点对应的连通子图提取样本训练数据,具体可以包括以下步骤:在连通子图中以起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;以结点路径上的每个样本结点作为样本中心结点,获取以每个样本中心结点为中心的目标半径内的邻居结点作为样本邻居结点,根据样本中心结点和样本邻居结点得到正向样本训练数据;或者,以结点路径上的每个样本结点作为样本中心结点,针对每个样本中心结点从以其他样本中心结点为中心的目标半径内的邻居结点中获取样本邻居结点,根据样本中心结点和样本邻居结点得到负向样本训练数据。可以理解的是,无论是生成正向样本训练数据还是负向样本训练数据,均需要在连通子图中以起始结点为起点生成多条结点路径,则可以在连通子图中以起始结点为起点生成多条结点路径后,基于该结点路径既可以生成正向样本训练数据也可以生成负向样本训练数据。也就是说,样本训练数据可以包括正向样本训练数据和负向样本训练数据,可以通过上述方式获取得到正向样本训练数据和负向样本训练数据,以进行模型训练,此处不做限制。
其中,在连通子图中以起始结点为起点生成多条结点路径,用于指示以连通子图的起始结点为起点,选择起始结点的一个边游走至一个相邻的样本结点,再从该相邻的样本结点的除进入该相邻的样本结点的边中选择一个边游走至下一个相邻的结点,以此类推,直至游走至第N个样本结点,则可以得到游走时经过的N个样本结点,并根据该N个样本结点的游走顺序生成一条结点路径,也就是说一条结点路径中可以包括N个样本结点。可以理解的是,如果以起始结点为起点进行M次游走,则可以得到该起始结点对应的M条路径。可以理解的是,由于生成全量图时,全量图中各个样本结点之间的边不仅可以表达样本用户对象与样本资源对象的互动关系,还可以表达出样本用户对象与样本资源对象之间的发表关系,还可以表达出样本用户对象与样本用户对象的好友关系,由此可以大大提升了各个样本结点之间的联系,进而提升了训练得到的模型的泛化能力。可选的,由于样本用户结点与样本用户结点之间的连接关系会产生用户噪声,样本用户对象与样本用户对象的连接关系不能完全表明这两个样本用户对象的之间具有相似性,有可能是由于同事或家人等人际关系才添加好友,不代表这两个样本用户对象之间的用户行为相似,因此,在以起始结点为起点进行游走时,可以过滤掉N个结点全为样本用户结点的结点路径或者避免获取N个样本结点全为样本用户结点的结点路径。
在一种可能的实施方式中,全量图中相连接的各个样本结点之间的边具有对应的权重信息,其中,样本用户对象对应的样本结点与样本用户对象对应的样本结点之间的边(即第二连接边)的权重低于样本用户对象对应的样本结点与样本资源对象对应的样本结点之间的边(即第一连接边)的权重。则在连通子图中以起始结点为起点生成多条结点路径具体可以包括以下步骤:以起始结点为起点,根据每个样本结点相连接的边的权重确定游走至的下一样本结点,根据游走到的每个样本结点与边生成结点路径;其中,结点路径中的多个样本结点不全为样本用户对象对应的样本结点。也就是说,在构建全量图时可以根据样本对象与样本对象之间的连接关系,确定对应的样本结点之间的边的权重信息,若样本对象与样本对象之间的连接关系为好友关系,则可以将该对应的样本结点之间的边(即第二连接边)的权重设置得低于其他连接关系的样本对象之间的边(如第一连接边)的权重,进而在生成的连通子图中,样本用户结点与样本用户结点之间的第二连接边的权重低于样本用户结点与样本资源结点之间的第一连接边的权重,因此,在基于连通子图进行游走得到结点路径时,根据权重信息进行游走可以减少游走至样本用户结点的概率,进而减少得到的结点路径中全为样本用户结点的概率。可选的,还可以根据各样本对象之间的连接关系,针对不同的连接关系对应的边均可以设置不同的权重信息,针对样本用户对象与样本用户对象之间互为好友与单方面关注的情况设置不同的权重信息,针对样本用户对象与样本资源对象的发表关系、点赞、转发、评论等不同的关系均设置不同的权重信息,由此可以使得得到的结点路径中出现高权重的边相连接的样本结点,从而调整个各种样本对象之间的关系对样本训练数据的影响。
在得到结点路径后,可以在该结点路径上获取正向样本训练数据,以及负向样本训练数据。
该正向样本训练数据用于指示样本训练数据中的样本邻居结点全都为以该样本中心结点为中心的目标半径内的邻居结点。该邻居结点用于指示以样本中心结点为中心,目标半径内的样本结点均称为对应的样本中心结点的邻居结点,该目标半径用于指示以样本中心结点为中心,确定的样本中心结点两边的需要获取的结点的数量,例如,目标半径为2,则以样本中心结点为中心,可以分别获取样本中心结点两边的两个邻居结点,即与样本中心结点相连接的两个样本结点,以及与该两个样本结点分别相连接的另外两个样本结点,共可以得到该样本中心结点对应的4个邻居结点,样本中心结点与该样本中心结点的每个邻居结点构成结点对,也就是pair对。可选的,若该样本中心结点(如起始结点、结点路径的最后一个样本结点等)一边的结点数量小于目标半径对应的数量,则可以该样本中心结点为目标半径内包含的样本结点为邻居结点,该样本中心结点的邻居结点的数量小于其他位置的样本中心结点的邻居结点。换句话说,以获取样本中心结点为中心的目标半径内的邻居结点也可以表示为,获取以样本中心结点为中心的窗口内的样本结点(即邻居结点),该窗口的半径即为目标半径,每个样本中心结点对应的窗口内的样本结点的数量可以相同也可以不同,若需要保证每个样本训练数据中的样本邻居结点的数量相同,则可以对样本邻居结点的数量小于目标半径对应的样本结点数量的样本训练数据进行过滤/删除。由此,将每个样本中心结点的目标半径内的样本结点确定为每个样本中心结点对应样本邻居结点,得到正向样本训练数据。
该负向样本训练数据用于指示样本训练数据中的样本邻居结点为以其他样本中心结点为中心的目标半径内的邻居结点。针对每个样本中心结点,获取除该样本中心结点外的其他样本中心结点的目标半径内的邻居结点作为该样本中心结点的样本邻居结点。可选的,可以从其他样本中心结点中获取某个样本中心结点的目标半径内的全部邻居结点作为该样本中心结点的样本邻居结点,也可以从其他样本中心结点中的多个样本中心结点的目标半径内的邻居结点中分别获取部分邻居结点作为该样本中心结点的样本邻居结点,进而得到负向样本训练数据,并且,样本中心结点与每个样本邻居结点构成结点对,也就是pair对。
由此可以将正向样本训练数据的样本属性标签指示的每个结点对的属性值确定为“1”,将负向样本训练数据的样本属性标签指示的每个结点对的属性值确定为“0”。
在一种可能的实施方式中,在根据每个对象的对象数据生成每个对象对应的对象向量时,还可以是基于预设矩阵构建对象数据对应的对象向量,或者还可以采用其他方式生成对象的对象向量,此处不一一列举。
S203、根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合。
其中,该第一对象向量集合用于指示获取的每个对象对应的对象向量组成的集合,也就是说,该第一对象向量集合中包括上述获取的所有对象对应的对象向量,若获取的多个对象为用户对象,则该第一对象向量集合中包括每个用户对象对应的用户对象向量,若获取的多个对象的资源对象,则该第一对象向量集合中包括每个资源对象对应的资源对象向量。
该第一活跃度条件用于指示从第一对象向量集合中提取的第二对象向量集合中的对象应满足的条件,该第一活跃度条件可以包括以下一项或多项:与对象相连接的其他对象的数量大于数量阈值、对象在第五时间范围内检测到与其他对象建立连接。其中,该数量阈值用于指示将对象确定为第二对象向量集合中的对象时与对象相连接的对象的数量的最小值,例如,该数量阈值为4,若与某个对象相连接的其他对象的数量为5,则将该对象确定为第二对象向量集合中的对象,若与某个对象相连接的其他对象的数量为3,则不将该对象确定为第二对象向量集合中的对象。该第五时间范围用于指示第二对象向量集合中的对象需要在第五时间范围内与其他对象建立连接,该第五时间范围可以为在获取该多个对象数据的时间点之前的一个时间点与获取该多个对象数据的时间点之间的时间段,该第五时间范围应该小于或等于获取样本对象的样本对象数据时对应的第一时间范围或第二时间范围。
可以理解的是,若获取的对象为用户对象,则该第二对象向量集合中的对象为满足第一活跃度条件的用户对象对应的用户对象向量,该满足第一活跃度条件的用户对象也可以描述为,在第五时间范围内检测到与其他用户对象或资源对象建立连接的对象,如检测到在第五时间范围内与其他用户对象建立好友关系,或与资源对象建立发表关系(如发表一个文章、视频(即资源对象)等),或与资源对象建立互动关系(如点赞、转发、评论一个资源对象);和/或,与用户对象建立连接的其他用户对象或资源对象的数量大于数量阈值,如用户对象发表5个资源对象,点赞、转发、评论共8个资源对象,与6个其他用户对象建立好友关系,则与该用户对象相连接的其他对象(包括用户对象和资源对象)的数量为5+8+6=19个,若该数量大于数量阈值,则该用户对象对应的对象向量为第二对象向量集合中的对象向量。那么该第二对象向量集合中的用户对象也可以称为一些活跃度较高的用户对象,该活跃度用于指示用户对象与多少资源对象建立连接,若经常发表资源,经常点赞、转发、评论资源,则与资源对象建立连接越多,用户对象的活跃度越高,活跃度高的用户对象具有更高的价值,在进行资源召回时,能有更高的机会以与该用户相关联的资源进行推荐。可以理解的是,通常建立较少连接的用户(即冷启用户)与其他对象之间的向量相似度之间的缺少区分度,不论是与活跃度低的对象还是活跃度高的对象之间均的相似度均差距不大,则本方案通过第一活跃度条件对向量进行筛选,可以避免在数据较为稀疏时,如对象较少时,获取到一些冷启用户作为相似用户对象,使得资源召回的效果不好。
若获取的对象为资源对象,则该第二对象向量集合中的对象为满足第一活跃度条件的资源对象对应的资源对象向量,该满足第一活跃度条件的资源对象也可以描述为,在第五时间范围内与用户对象建立连接的对象,如在第五时间范围内与用户对象建立发表关系(如被用户对象发表等),或与用户对象建立互动关系(如被用户对象点赞、转发、评论等);和/或,与资源对象建立连接的资源对象的数量大于数量阈值,如资源对象被1个用户对象发表,被8个用户对象点赞、转发、评论,则与该资源对象相连接的其他对象(即用户对象)的数量为1+8=9个,若该数量大于数量阈值,则该资源对象对应的对象向量为第二对象向量集合中的对象向量。那么该第二对象向量集合中的资源对象也可以称为一些曝光度或时效性较高的资源对象,该曝光度用于指示资源对象与多少用户对象建立连接,若经常被点赞、转发、评论等,则与用户对象建立连接越多,资源对象的曝光度越高,该时效性用于指示资源对象与用户对象建立连接的时间,若被发表、点赞、转发、评论等的时间越近,则与用户对象建立连接的时间越近,时效性越高,曝光度或时效性高的资源对象可以使得在后续进行资源召回时,能够获取到曝光度和时效性更高的资源对象进行推荐。
S204、当接收到针对目标用户的资源召回指令时,根据第一对象向量集合及第二对象向量集合,确定针对目标用户的召回资源。
其中,该资源召回指令用于指示获取针对目标用户的召回资源的指令,也就是获取为目标用户推荐的资源,该召回资源也可以就是为目标用户推荐的资源,即响应于资源召回指令可以根据第一对象向量集合及第二对象向量集合确定为目标对象推荐的召回资源。可选的,确定针对目标用户的召回资源可以为,确定针对目标用户的召回资源可以确定针对目标用户的相似用户对象,从与各相似用户对象相连接的资源对象中去确定Q个资源对象作为对该目标用户的召回资源,也可称为U2U2I召回,Q为正整数;确定针对目标用户的召回资源还可以为,确定与目标用户相连接的资源对象,获取与目标用户相连接的资源对象各自的相似资源对象,从与各相似资源对象中确定Q个资源对象作为对该目标用户的召回资源,也可称为U2I2I召回。具体描述请参见后续图6和图7实施例的相关描述,此处不做赘述。
采用本申请实施例能够,获取多个对象的对象数据,对象为用户对象或资源对象,进而根据每个对象的对象数据生成每个对象对应的对象向量,再根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合,使得第二对象向量集合中是活跃度较高的用户对象的对象向量或曝光度、时效性较高的资源对象的对象向量,进而当接收到针对目标用户的资源召回指令时,根据第一对象向量集合及第二对象向量集合,确定针对目标用户的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
请参见图6,图6是本申请实施例提供的一种资源召回方法的流程示意图。该方法可以由电子设备执行。该方法可以包括以下步骤:
S601、获取多个对象的对象数据,对象为用户对象或资源对象。
S602、根据每个对象的对象数据生成每个对象对应的对象向量。
S603、根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合。
步骤S601-S603的相关描述可以参见步骤S201-S203,此处不做赘述。
S604、当接收到针对目标用户的资源召回指令时,从第一对象向量集合中确定目标用户对应的对象向量。
其中,该第一对象向量集合中可以包括多个用户对象对应的用户对象向量。由于获取多个对象的对象数据中可以包括该目标用户的对象数据,则该第一对象向量集合中存在该目标用户对应的对象向量,因此可以从第一对象向量集合中确定出目标用户对应的对象向量。
S605、从第二对象向量集合中选取与目标用户对应的对象向量的相似度满足第一相似度条件的对象向量,并确定选取出的对象向量对应的相似用户对象。
其中,该相似度用于指示对象向量与对象向量之间的相似度,此处用于指示选取出的对象向量与目标用户的对象向量之间的相似度,该相似度可以通过faiss相似特征向量搜索的方法进行确定,如计算选取出的对象向量与目标用户的对象向量的L2距离(即欧式距离)或点乘(归一化的向量点乘即cosine相似度)。该第一相似度条件可以为与目标用户的对象向量的相似度小于相似度阈值,该相似度阈值用于指示将第二对象向量集合中的对象向量对应的用户对象确定为相似用户对象时需要满足的相似度的最大值;该第一相似度条件也可以为与目标用户的对象向量相似度在所有第二对象向量集合中的用户对象中的排名为前H,H为正整数,H用于指示将第二对象向量集合中的对象向量对应的用户对象确定为相似用户对象时需要满足的排名的最大值。可选的,还可以将同时满足上述两项条件的用户对象确定为相似用户对象,也可以将满足其中任一项的用户对象确定为相似用户对象,此处不做限制。
S606、获取与每个相似用户对象相连接的资源对象,并从与每个相似用户对象相连接的资源对象中提取针对目标用户的召回资源。
其中,该相似用户对象相连接的资源对象用于指示与相似用户对象有连接的资源对象,包括与相似用户对象具有互动关系的资源对象(如相似用户对象点赞、转发、评论的资源对象),还可以包括与相似用户对象具有发表关系的资源对象(如相似用户对象发表的文章、视频等资源对象)。
从每个相似用户对象相连接的资源对象中提取目标用户的召回资源时,可以将每个相似用户对象相连接的资源对象全部确定为目标用户的召回资源,也可以根据一定筛选条件从每个相似用户对象相连接的资源对象中筛选部分资源对象作为目标用户的召回资源,如将每个相似用户相连接的资源对象中重复的资源对象确定为目标用户的召回资源,也可以将每个相似用户相连接的资源对象中在第六时间范围内与对应的相似用户对象建立连接的资源对象确定为目标用户的召回资源,如在第六时间范围内被发表,或在第六时间范围内被点赞、转发、评论等,该第六时间范围用户指示与在获取对象数据的时间点之前的一个时间点与获取对象数据的时间点之间的时间段。
可以理解的是,由于第一对象向量集合中的对象向量对应的对象的获取时间范围相较于第二对象向量集合中的对象向量对应的对象的获取时间范围更大,能够准确的覆盖到更多的目标用户,尽可能使得应用客户端中每个注册用户均可以获取到对应的对象向量,进而可以在获取到对象向量后,从第二对象向量集合中确定相似用户对象,由此可以使得目标用户可以匹配到活跃度更高的相似用户对象,使得相似用户对象具有丰富的相连接的资源来从中确定召回资源,若不从第二对象向量集合中确定相似用户对象,直接从有较多用户对象的对象向量集合中(如第一对象向量集合)确定相似用户对象,在对相连接的资源对象较少的目标用户(即冷启用户)确定召回资源时,可能导致该提取的相似用户对象也为冷启用户,该冷启用户用于表示相连接的资源对象较少的用户,进而无法得到丰富的资源对象并从中确定召回资源。由此大大提高了资源召回的准确性。
采用本申请实施例,能够获取多个对象的对象数据,对象为用户对象或资源对象,进而根据每个对象的对象数据生成每个对象对应的对象向量,再根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合,使得第二对象向量集合中是活跃度较高的用户对象的对象向量或曝光度、时效性较高的资源对象的对象向量,进而当接收到针对目标用户的资源召回指令时,根据第一对象向量集合确定目标用户的对象向量,再根据第二对象向量集合确定目标用户的相似用户对象,进而根据相似用户对象相连接的资源对象确定针对目标用户的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
请参见图7,图7是本申请实施例提供的一种资源召回方法的流程示意图。该方法可以由电子设备执行。该方法可以包括以下步骤:
S701、获取多个对象的对象数据,对象为用户对象或资源对象。
S702、根据每个对象的对象数据生成每个对象对应的对象向量。
S703、根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合。
步骤S701-S703的相关描述可以参见步骤S201-S203,此处不做赘述。
S704、当接收到针对目标用户的资源召回指令时,获取与目标用户相连接的目标资源对象,并从第一对象向量集合中确定目标资源对象对应的对象向量。
其中,该第一对象向量集合中可以包括多个资源对象对应的资源对象向量。该目标资源对象用于指示与目标对象相连接的目标资源对象,如目标用户对象发表的文章、视频等资源对象,用户对象点赞、转发、评论的资源对象等等。由于获取多个对象的对象数据中可以包括目标资源对象的对象数据,则该第一对象向量集合中存在目标资源对象对应的对象向量,因此可以从第一对象向量集合中确定出目标资源对象对应的对象向量。
S705、从第二对象向量集合中选取与目标资源对象对应的对象向量的相似度满足第二相似度条件的对象向量,并确定选取出的对象向量对应的相似资源对象。
其中,该相似度用于指示对象向量与对象向量之间的相似度,此处用于指示选取出的对象向量与目标资源对象的对象向量之间的相似度,该相似度可以通过faiss相似特征向量搜索的方法进行确定,如计算选取出的对象向量与目标资源对象的对象向量的L2距离(即欧式距离)或点乘(归一化的向量点乘即cosine相似度)。该第二相似度条件可以为与目标资源对象的对象向量的相似度小于相似度阈值,该相似度阈值用于指示将第二对象向量集合中的对象向量对应的资源对象确定为相似资源对象时需要满足的相似度的最大值;该第二相似度条件也可以为与目标资源对象的对象向量相似度在所有第二对象向量集合中的资源对象中的排名为前I,I为正整数,I用于指示将第二对象向量集合中的对象向量对应的资源对象确定为相似用户对象时需要满足的排名的最大值。可选的,还可以将同时满足上述两项条件的资源对象确定为相似用户对象,也可以将满足其中任一项的资源对象确定为相似用户对象,此处不做限制。
S706、从相似资源对象中提取针对目标用户的召回资源。
其中,从每个相似资源对象中提取目标用户的召回资源时,可以将每个相似资源对象全部确定为目标用户的召回资源,也根据一定筛选条件从每个相似资源对象中筛选部分资源对象作为目标用户的召回资源,将每个相似资源对象中在第七时间范围内与用户对象建立连接的资源对象确定为目标用户的召回资源,如在第七时间范围内被发表,或在第七时间范围内被点赞、转发、评论等,该第七时间范围用户指示与在获取对象数据的时间点之前的一个时间点与获取对象数据的时间点之间的时间段。
可以理解的是,由于第一对象向量集合中的对象向量对应的对象的获取时间范围相较于第二对象向量集合中的对象向量对应的对象的获取时间范围更大,能够准确的覆盖到更多的资源对象,更好的刻画目标用户的长期兴趣(即更好的确定目标用户相连接的资源对象的对象向量),进而可以在获取到与目标用户相连接的资源对象的对象向量后,从第二对象向量集合中确定相似资源对象,由此可以使得目标用户相连接的资源对象可以匹配到曝光度或时效性更高的相似资源对象,进而从中确定曝光度或时效性更高的召回资源,若不从第二对象向量集合中确定相似资源对象,直接从有较多资源对象的对象向量集合中(如第一对象向量集合)确定相似资源对象,可能会导致相似资源对象的曝光度或时效性不好。由此大大提高了召回资源的曝光度和时效性,提升资源召回的效果。
此处以将本申请实施例运用在一个社交应用的业务场景下为例,对申请实施例描述的方法的应用进行详细阐述。在实际的应用场景中,资源召回流程可以包括模型训练阶段和在线召回阶段,该训练阶段可以采用流式训练方法,即在该社交应用被使用过程中不断产出新的对象数据(如产生新的对象,或对象之间建立新的连接),进而可以通过新产生的对象数据对向量生成模型进行持续更新,以便于生成的对象向量更加准确。例如,可以每次间隔目标时间段可以获取一次新产生的对象数据,并根据新产生的对象数据与之前的获取的对象数据构成新的样本对象数据,进而根据该新的样本对象数据生成样本训练数据,以该样本训练数据对向量生成模型进行训练。并且,可以每次间隔目标时间段获取一次新产生的对象数据后,可以将新产生的对象输入训练好的样本训练模型中,得到新产生的对象对应的对象向量,进而将该新产生的对象对应的对象向量加入第一对象向量集合中,以便于后续根据该新产生的对象确定召回资源。例如,请参见图8,图8是本申请实施例提供的一种资源召回方法的流程示意图。如图所示,整个资源召回过程可以包括以下步骤:获取多个样本对象的样本对象数据(步骤S801),然后根据样本对象数据构建该样本对象数据对应的全量图(即步骤S802);并且从多个样本对象中提取样本子对象,且将样本子对象向确定为起始结点(即步骤S803),进而根据全量图获取每个起始结点对应的连通子图(即步骤S804、);在每个连通子图中以起始结点进行游走,得到结点路径(即步骤S805),然后从结点路径中获取样本训练数据(即步骤S806),如可以在结点路径上获取正向样本训练数据和负向样本训练数据,然后通过样本训练数据对向量生成模型进行训练(即步骤S807),从而得到训练后的向量生成模型(即步骤S808)。进而在资源召回过程中,可以获取多个对象的对象数据(即步骤S809),然后根据向量生成模型得到第一对象向量集合,并从第一对象向量集合中提取对象向量得到第二对象向量集合(即步骤S810),进而接收针对目标用户的资源召回指令,根据第一对象向量集合和第二对象向量集合确定召回资源(即步骤S811),具体的,可以从第一对象向量集合中的用户对象向量中获取目标用户对应的用户对象向量,根据第二对象向量集合中的用户对象向量获取目标用户的相似用户对象,也就是说在过滤冷启用户的对象向量的第二对象向量集合中进行faiss相似性检索,得到目标用户的对象向量的相似向量,进而得到相似用户对象,从相似用户对象相连接的资源对象中确定目标用户对象的召回资源;或者可以,从第一对象向量集合中的资源对象向量中获取目标用户相关联的资源对象对应的资源对象向量,根据第二对象向量集合中的资源对象向量获取目标用户相关联的相似资源对象,也就是说在过滤曝光度低和实效性低资源对象对应的对象向量的第二对象向量集合中进行faiss相似性检索,得到目标用户相连接的资源对象的对象向量的相似向量,进而得到相似资源对象,以便于从相似资源对象中确定目标用户的召回资源。或者上述两种召回方式均采用,此处不做限制。
可以理解的是,当检测到针对目标用户的资源召回指令时,可以选择性地采用如图6所示实施例的方法或如图7所示实施例的方法确定针对目标用户的召回资源。如当目标用户相连接的资源较少时,可以采用如图6所示实施例的方法,获取针对目标用户的召回资源;又如当目标用户的相连接的资源对象较多时,可以采用如图7所示实施例的方法。可选的,还可以针对目标用户同时采用如图6所示实施例的方法和图7所示实施例的方法分别得到对应的召回资源,再对通过该两种方法得到的召回资源进行整合后确定最终针对目标用户的召回资源,比如将两种方法获取得到的资源都作为召回资源,又如从该两种方法分别得到的资源中一共选取F个资源作为召回资源,等等,此处不做限制。
采用本申请实施例,能够获取多个对象的对象数据,对象为用户对象或资源对象,进而根据每个对象的对象数据生成每个对象对应的对象向量,再根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合,使得第二对象向量集合中是活跃度较高的用户对象的对象向量或曝光度、时效性较高的资源对象的对象向量,进而当接收到针对目标用户的资源召回指令时,根据第一对象向量集合确定与目标用户对象相连接的目标资源对象的对象向量,再根据第二对象向量集合确定目标资源对象的相似资源对象,进而根据相似资源对象确定针对目标用户的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
请参见图9,图9是本申请实施例提供的一种资源召回装置的结构示意图。可选的,该资源召回装置可以设置于上述电子设备中。如图9所示,本实施例中所描述的装置可以包括:
获取单元901,用于获取多个对象的对象数据,所述对象为用户对象和资源对象中的至少一种;
处理单元902,用于根据每个对象的对象数据生成每个对象对应的对象向量;
所述处理单元902,还用于根据所述每个对象对应的对象向量生成第一对象向量集合,并从所述第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;
所述处理单元902,还用于当接收到针对目标用户的资源召回指令时,根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源。
在一种实现方式中,所述处理单元902,还用于:
获取样本训练数据,所述样本训练数据中包括样本中心结点及K个样本邻居结点,所述样本中心结点和每个样本邻居结点构成结点对,K为正整数;所述样本训练数据携带样本属性标签,所述样本属性标签用于指示每个结点对的属性值;
将所述样本训练数据输入初始向量生成模型中,得到所述样本中心结点对应的预测样本中心结点向量,以及每个样本邻居结点分别对应的预测样本邻居结点向量;
计算所述预测样本中心结点向量分别与每个预测样本邻居结点向量之间的预估值,并根据所述预估值与所述样本属性标签指示的属性值修正所述初始向量生成模型的模型参数,得到向量生成模型;
所述处理单元902,具体用于:
调用所述向量生成模型并根据每个对象的对象数据得到所述每个对象的对象向量。
在一种实现方式中,所述处理单元902,具体用于:
获取多个样本对象的样本对象数据,所述样本对象包括样本用户对象和样本资源对象;
根据所述多个样本对象的样本对象数据生成全量图,所述全量图中包括所述样本用户对象和样本资源对象分别对应的样本结点,以及相连接的各个样本结点之间的边;
根据所述样本对象数据从所述多个样本对象中提取满足第二活跃度条件的样本子对象,并将所述样本子对象确定为起始结点;
分别以每个起始结点为起点从所述全量图中提取每个起始结点对应的连通子图;
基于所述起始结点对应的连通子图提取所述样本训练数据。
在一种实现方式中,所述边包括第一连接边与第二连接边,所述处理单元902,具体用于:
将所述多个样本对象映射为对应的样本结点;
根据所述多个样本对象的对象数据确定所述多个样本对象之间的连接关系;
针对所述多个样本对象中的各样本用户对象,基于与所述样本用户对象存在连接关系的样本资源对象,在所述样本用户对象对应的样本结点、以及与所述样本用户对象存在连接关系的样本资源对象对应的样本结点之间构建第一连接边;其中,所述与所述样本用户对象存在连接关系的样本资源对象包括所述样本用户对象发表的样本资源对象、以及所述样本用户对象参与互动的样本资源对象中的至少一种;
针对所述多个样本对象中的各样本用户对象,基于与所述样本用户对象存在连接关系的样本用户对象,在存在连接关系的样本用户对象对应的样本结点之间构建第二连接边;
基于各样本结点以及各样本结点之间的边构建所述全量图。
在一种实现方式中,所述样本训练数据为正向样本训练数据;所述处理单元902,具体用于:
在所述连通子图中以所述起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;
以所述结点路径上的每个样本结点作为样本中心结点,获取以每个样本中心结点为中心的目标半径内的邻居结点作为样本邻居结点,根据所述样本中心结点和所述样本邻居结点得到所述正向样本训练数据。
在一种实现方式中,所述样本训练数据为负向样本训练数据;所述处理单元902,具体用于:
在所述连通子图中以所述起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;
以所述结点路径上的每个样本结点作为样本中心结点,针对每个样本中心结点从以其他样本中心结点为中心的目标半径内的邻居结点中获取样本邻居结点,根据所述样本中心结点和所述样本邻居结点得到所述负向样本训练数据。
在一种实现方式中,所述全量图中相连接的各个样本结点之间的边具有对应的权重信息,其中,样本用户对象对应的样本结点与样本用户对象对应的样本结点之间的边的权重低于样本用户对象对应的样本结点与样本资源对象对应的样本结点之间的边的权重;所述处理单元902,具体用于:
以所述起始结点为起点,根据每个样本结点相连接的边的权重确定游走至的下一样本结点,根据游走到的每个样本结点与边生成结点路径;其中,所述结点路径中的多个样本结点不全为样本用户对象对应的样本结点。
在一种实现方式中,所述对象为用户对象,所述第一对象向量集合和所述第二对象向量集合中的对象向量为用户对象的对象向量;所述处理单元902,具体用于:
当接收到针对所述目标用户的资源召回指令时,从所述第一对象向量集合中确定所述目标用户对应的对象向量;
从所述第二对象向量集合中选取与所述目标用户对应的对象向量的相似度满足第一相似度条件的对象向量,并确定选取出的对象向量对应的相似用户对象;
获取与每个相似用户对象相连接的资源对象,并从所述与每个相似用户对象相连接的资源对象中提取针对所述目标用户的召回资源。
在一种实现方式中,所述对象为资源对象,所述第一对象向量集合和所述第二对象向量集合中的对象向量为资源对象向量;所述处理单元902,具体用于:
当接收到针对所述目标用户的资源召回指令时,获取与所述目标用户相连接的目标资源对象,并从所述第一对象向量集合中确定所述目标资源对象对应的对象向量;
从所述第二对象向量集合中选取与所述目标资源对象对应的对象向量的相似度满足第二相似度条件的对象向量,并确定选取出的对象向量对应的相似资源对象;
从所述相似资源对象中提取针对所述目标用户的召回资源。
采用本申请实施例,能够通过获取多个对象的对象数据,进而根据每个对象的对象数据生成每个对象对应的对象向量,再根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合,使得第二对象向量集合中是活跃度较高的用户对象的对象向量或活跃度较高的资源对象如曝光度、时效性较高的资源对象的对象向量,进而当接收到针对目标用户的资源召回指令时,能够根据第一对象向量集合及第二对象向量集合,确定针对目标用户的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
请参见图10,图10是本申请实施例提供的一种电子设备的结构示意图。本实施例中所描述的电子设备,包括:处理器1001、存储器1002。可选的,该电子设备还可包括网络接口1003或供电模块等结构。上述处理器1001、存储器1002以及网络接口1003之间可以交互数据。
上述处理器1001可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述网络接口1003可以包括输入设备和/或输出设备,例如该输入设备是可以是控制面板、麦克风、接收器等,输出设备可以是显示屏、发送器等,此处不一一列举。例如,在申请实施例中,该网络接口可包括接收器和发送器。
上述存储器1002可以包括只读存储器和随机存取存储器,并向处理器1001提供程序指令和数据。存储器1002的一部分还可以包括非易失性随机存取存储器。其中,所述处理器1001调用所述程序指令时用于执行:
在一种实现方式中,所述目标接口属性包括键值属性和呈现属性;所述处理器1001具体用于:
获取多个对象的对象数据,所述对象为用户对象和资源对象中的至少一种;
根据每个对象的对象数据生成每个对象对应的对象向量;
根据所述每个对象对应的对象向量生成第一对象向量集合,并从所述第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;
当接收到针对目标用户的资源召回指令时,根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源。
在一种实现方式中,所述处理器1001,还用于:
获取样本训练数据,所述样本训练数据中包括样本中心结点及K个样本邻居结点,所述样本中心结点和每个样本邻居结点构成结点对,K为正整数;所述样本训练数据携带样本属性标签,所述样本属性标签用于指示每个结点对的属性值;
将所述样本训练数据输入初始向量生成模型中,得到所述样本中心结点对应的预测样本中心结点向量,以及每个样本邻居结点分别对应的预测样本邻居结点向量;
计算所述预测样本中心结点向量分别与每个预测样本邻居结点向量之间的预估值,并根据所述预估值与所述样本属性标签指示的属性值修正所述初始向量生成模型的模型参数,得到向量生成模型;
所述处理器1001,具体用于:
调用所述向量生成模型并根据每个对象的对象数据得到所述每个对象的对象向量。
在一种实现方式中,所述处理器1001,具体用于:
获取多个样本对象的样本对象数据,所述样本对象包括样本用户对象和样本资源对象;
根据所述多个样本对象的样本对象数据生成全量图,所述全量图中包括所述样本用户对象和样本资源对象分别对应的样本结点,以及相连接的各个样本结点之间的边;
根据所述样本对象数据从所述多个样本对象中提取满足第二活跃度条件的样本子对象,并将所述样本子对象确定为起始结点;
分别以每个起始结点为起点从所述全量图中提取每个起始结点对应的连通子图;
基于所述起始结点对应的连通子图提取所述样本训练数据。
在一种实现方式中,所述边包括第一连接边与第二连接边,所述处理器1001,具体用于:
将所述多个样本对象映射为对应的样本结点;
根据所述多个样本对象的对象数据确定所述多个样本对象之间的连接关系;
针对所述多个样本对象中的各样本用户对象,基于与所述样本用户对象存在连接关系的样本资源对象,在所述样本用户对象对应的样本结点、以及与所述样本用户对象存在连接关系的样本资源对象对应的样本结点之间构建第一连接边;其中,所述与所述样本用户对象存在连接关系的样本资源对象包括所述样本用户对象发表的样本资源对象、以及所述样本用户对象参与互动的样本资源对象中的至少一种;
针对所述多个样本对象中的各样本用户对象,基于与所述样本用户对象存在连接关系的样本用户对象,在存在连接关系的样本用户对象对应的样本结点之间构建第二连接边;
基于各样本结点以及各样本结点之间的边构建所述全量图。
在一种实现方式中,所述样本训练数据为正向样本训练数据;所述处理器1001,具体用于:
在所述连通子图中以所述起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;
以所述结点路径上的每个样本结点作为样本中心结点,获取以每个样本中心结点为中心的目标半径内的邻居结点作为样本邻居结点,根据所述样本中心结点和所述样本邻居结点得到所述正向样本训练数据。
在一种实现方式中,所述样本训练数据为负向样本训练数据;所述处理器1001,具体用于:
在所述连通子图中以所述起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;
以所述结点路径上的每个样本结点作为样本中心结点,针对每个样本中心结点从以其他样本中心结点为中心的目标半径内的邻居结点中获取样本邻居结点,根据所述样本中心结点和所述样本邻居结点得到所述负向样本训练数据。
在一种实现方式中,所述全量图中相连接的各个样本结点之间的边具有对应的权重信息,其中,样本用户对象对应的样本结点与样本用户对象对应的样本结点之间的边的权重低于样本用户对象对应的样本结点与样本资源对象对应的样本结点之间的边的权重;所述处理器1001,具体用于:
以所述起始结点为起点,根据每个样本结点相连接的边的权重确定游走至的下一样本结点,根据游走到的每个样本结点与边生成结点路径;其中,所述结点路径中的多个样本结点不全为样本用户对象对应的样本结点。
在一种实现方式中,所述对象为用户对象,所述第一对象向量集合和所述第二对象向量集合中的对象向量为用户对象的对象向量;所述处理器1001,具体用于:
当接收到针对所述目标用户的资源召回指令时,从所述第一对象向量集合中确定所述目标用户对应的对象向量;
从所述第二对象向量集合中选取与所述目标用户对应的对象向量的相似度满足第一相似度条件的对象向量,并确定选取出的对象向量对应的相似用户对象;
获取与每个相似用户对象相连接的资源对象,并从所述与每个相似用户对象相连接的资源对象中提取针对所述目标用户的召回资源。
在一种实现方式中,所述对象为资源对象,所述第一对象向量集合和所述第二对象向量集合中的对象向量为资源对象向量;所述处理器1001,具体用于:
当接收到针对所述目标用户的资源召回指令时,获取与所述目标用户相连接的目标资源对象,并从所述第一对象向量集合中确定所述目标资源对象对应的对象向量;
从所述第二对象向量集合中选取与所述目标资源对象对应的对象向量的相似度满足第二相似度条件的对象向量,并确定选取出的对象向量对应的相似资源对象;
从所述相似资源对象中提取针对所述目标用户的召回资源。
可选的,该程序指令被处理器执行时还可实现上述实施例中方法的其他步骤,这里不再赘述。
采用本申请实施例,能够通过获取多个对象的对象数据,进而根据每个对象的对象数据生成每个对象对应的对象向量,再根据每个对象对应的对象向量生成第一对象向量集合,并从第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合,使得第二对象向量集合中是活跃度较高的用户对象的对象向量或活跃度较高的资源对象如曝光度、时效性较高的资源对象的对象向量,进而当接收到针对目标用户的资源召回指令时,能够根据第一对象向量集合及第二对象向量集合,确定针对目标用户的召回资源。由此可以通过第一对象向量集合和第二对象向量集合确定目标用户的召回资源,使得到的召回资源准确度更高。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法,比如执行上述电子设备执行的方法,此处不赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法的实施例中所执行的步骤。例如,该计算机设备可以为电子设备,比如可以为服务器。
以上对本申请实施例所提供的一种资源召回方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种资源召回方法,其特征在于,所述方法包括:
获取多个对象的对象数据,所述对象为用户对象和资源对象中的至少一种;
根据每个对象的对象数据生成每个对象对应的对象向量;
根据所述每个对象对应的对象向量生成第一对象向量集合,并从所述第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;
当接收到针对目标用户的资源召回指令时,根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源;
其中,当所述对象包括用户对象时,所述第一对象向量集合和所述第二对象向量集合中的对象向量包括用户对象的对象向量;所述根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源,包括:从所述第一对象向量集合中确定所述目标用户对应的对象向量;从所述第二对象向量集合中选取与所述目标用户对应的对象向量的相似度满足第一相似度条件的对象向量,并确定选取出的对象向量对应的相似用户对象;获取与每个相似用户对象相连接的资源对象,并从所述与每个相似用户对象相连接的资源对象中提取针对所述目标用户的召回资源;
当所述对象包括资源对象时,所述第一对象向量集合和所述第二对象向量集合中的对象向量包括资源对象向量;所述根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源,包括:获取与所述目标用户相连接的目标资源对象,并从所述第一对象向量集合中确定所述目标资源对象对应的对象向量;从所述第二对象向量集合中选取与所述目标资源对象对应的对象向量的相似度满足第二相似度条件的对象向量,并确定选取出的对象向量对应的相似资源对象;从所述相似资源对象中提取针对所述目标用户的召回资源。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
获取样本训练数据,所述样本训练数据中包括样本中心结点及K个样本邻居结点,所述样本中心结点和每个样本邻居结点构成结点对,K为正整数;所述样本训练数据携带样本属性标签,所述样本属性标签用于指示每个结点对的属性值;
将所述样本训练数据输入初始向量生成模型中,得到所述样本中心结点对应的预测样本中心结点向量,以及每个样本邻居结点分别对应的预测样本邻居结点向量;
计算所述预测样本中心结点向量分别与每个预测样本邻居结点向量之间的预估值,并根据所述预估值与所述样本属性标签指示的属性值修正所述初始向量生成模型的模型参数,得到向量生成模型;
所述根据每个对象的对象数据生成每个对象对应的对象向量,包括:
调用所述向量生成模型并根据每个对象的对象数据得到所述每个对象的对象向量。
3.根据权利要求2所述方法,其特征在于,所述获取样本训练数据,包括:
获取多个样本对象的样本对象数据,所述样本对象包括样本用户对象和样本资源对象;
根据所述多个样本对象的样本对象数据生成全量图,所述全量图中包括所述样本用户对象和样本资源对象分别对应的样本结点,以及相连接的各个样本结点之间的边;
根据所述样本对象数据从所述多个样本对象中提取满足第二活跃度条件的样本子对象,并将所述样本子对象确定为起始结点;
分别以每个起始结点为起点从所述全量图中提取每个起始结点对应的连通子图;
基于所述起始结点对应的连通子图提取所述样本训练数据。
4.根据权利要求3所述方法,其特征在于,所述边包括第一连接边与第二连接边,所述根据所述多个样本对象的样本对象数据生成全量图,包括:
将所述多个样本对象映射为对应的样本结点;
根据所述多个样本对象的对象数据确定所述多个样本对象之间的连接关系;
针对所述多个样本对象中的各样本用户对象,基于与所述样本用户对象存在连接关系的样本资源对象,在所述样本用户对象对应的样本结点、以及与所述样本用户对象存在连接关系的样本资源对象对应的样本结点之间构建第一连接边;其中,所述与所述样本用户对象存在连接关系的样本资源对象包括所述样本用户对象发表的样本资源对象、以及所述样本用户对象参与互动的样本资源对象中的至少一种;
针对所述多个样本对象中的各样本用户对象,基于与所述样本用户对象存在连接关系的样本用户对象,在存在连接关系的样本用户对象对应的样本结点之间构建第二连接边;
基于各样本结点以及各样本结点之间的边构建所述全量图。
5.根据权利要求3所述方法,其特征在于,所述样本训练数据为正向样本训练数据;所述基于所述起始结点对应的连通子图提取所述样本训练数据,包括:
在所述连通子图中以所述起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;
以所述结点路径上的每个样本结点作为样本中心结点,获取以每个样本中心结点为中心的目标半径内的邻居结点作为样本邻居结点,根据所述样本中心结点和所述样本邻居结点得到所述正向样本训练数据。
6.根据权利要求3所述方法,其特征在于,所述样本训练数据为负向样本训练数据;所述基于所述起始结点对应的连通子图提取所述样本训练数据,包括:
在所述连通子图中以所述起始结点为起点生成多条结点路径,每个结点路径上包括多个样本结点;
以所述结点路径上的每个样本结点作为样本中心结点,针对每个样本中心结点从以其他样本中心结点为中心的目标半径内的邻居结点中获取样本邻居结点,根据所述样本中心结点和所述样本邻居结点得到所述负向样本训练数据。
7.根据权利要求5或6所述方法,其特征在于,所述全量图中相连接的各个样本结点之间的边具有对应的权重信息,其中,样本用户对象对应的样本结点与样本用户对象对应的样本结点之间的边的权重低于样本用户对象对应的样本结点与样本资源对象对应的样本结点之间的边的权重;
所述在所述连通子图中以所述起始结点为起点生成多条结点路径,包括:
以所述起始结点为起点,根据每个样本结点相连接的边的权重确定游走至的下一样本结点,根据游走到的每个样本结点与边生成结点路径;其中,所述结点路径中的多个样本结点不全为样本用户对象对应的样本结点。
8.一种资源召回装置,其特征在于,包括:
获取单元,用于获取多个对象的对象数据,所述对象为用户对象和资源对象中的至少一种;
处理单元,用于根据每个对象的对象数据生成每个对象对应的对象向量;
所述处理单元,还用于根据所述每个对象对应的对象向量生成第一对象向量集合,并从所述第一对象向量集合中提取满足第一活跃度条件的对象对应的对象向量,得到第二对象向量集合;
所述处理单元,还用于当接收到针对目标用户的资源召回指令时,根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源;
其中,当所述对象包括用户对象时,所述第一对象向量集合和所述第二对象向量集合中的对象向量包括用户对象的对象向量;所述处理单元根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源时,具体用于:从所述第一对象向量集合中确定所述目标用户对应的对象向量;从所述第二对象向量集合中选取与所述目标用户对应的对象向量的相似度满足第一相似度条件的对象向量,并确定选取出的对象向量对应的相似用户对象;获取与每个相似用户对象相连接的资源对象,并从所述与每个相似用户对象相连接的资源对象中提取针对所述目标用户的召回资源;
当所述对象包括资源对象时,所述第一对象向量集合和所述第二对象向量集合中的对象向量包括资源对象向量;所述处理单元根据所述第一对象向量集合及所述第二对象向量集合,确定针对所述目标用户的召回资源时,具体用于:获取与所述目标用户相连接的目标资源对象,并从所述第一对象向量集合中确定所述目标资源对象对应的对象向量;从所述第二对象向量集合中选取与所述目标资源对象对应的对象向量的相似度满足第二相似度条件的对象向量,并确定选取出的对象向量对应的相似资源对象;从所述相似资源对象中提取针对所述目标用户的召回资源。
9.一种电子设备,其特征在于,包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800099.3A CN113256190B (zh) | 2021-07-15 | 2021-07-15 | 资源召回方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800099.3A CN113256190B (zh) | 2021-07-15 | 2021-07-15 | 资源召回方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113256190A CN113256190A (zh) | 2021-08-13 |
CN113256190B true CN113256190B (zh) | 2021-10-29 |
Family
ID=77180484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110800099.3A Active CN113256190B (zh) | 2021-07-15 | 2021-07-15 | 资源召回方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113256190B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572852A (zh) * | 2014-12-16 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 资源的推荐方法及装置 |
CN110598118A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 资源对象的推荐方法、装置及计算机可读介质 |
CN111027595A (zh) * | 2019-11-19 | 2020-04-17 | 电子科技大学 | 双阶段语义词向量生成方法 |
CN112182460A (zh) * | 2019-07-04 | 2021-01-05 | 腾讯科技(北京)有限公司 | 资源的推送方法和装置、存储介质及电子装置 |
CN112650948A (zh) * | 2020-12-30 | 2021-04-13 | 华中师范大学 | 教育信息化评估的信息网构建方法、系统及应用 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9716697B2 (en) * | 2015-07-24 | 2017-07-25 | Google Inc. | Generating bridge match identifiers for linking identifiers from server logs |
-
2021
- 2021-07-15 CN CN202110800099.3A patent/CN113256190B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572852A (zh) * | 2014-12-16 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 资源的推荐方法及装置 |
CN112182460A (zh) * | 2019-07-04 | 2021-01-05 | 腾讯科技(北京)有限公司 | 资源的推送方法和装置、存储介质及电子装置 |
CN110598118A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 资源对象的推荐方法、装置及计算机可读介质 |
CN111027595A (zh) * | 2019-11-19 | 2020-04-17 | 电子科技大学 | 双阶段语义词向量生成方法 |
CN112650948A (zh) * | 2020-12-30 | 2021-04-13 | 华中师范大学 | 教育信息化评估的信息网构建方法、系统及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN113256190A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109919316B (zh) | 获取网络表示学习向量的方法、装置和设备及存储介质 | |
CN112115367B (zh) | 基于融合关系网络的信息推荐方法、装置、设备和介质 | |
US9754351B2 (en) | Systems and methods for processing content using convolutional neural networks | |
Wan et al. | A hybrid ensemble learning method for tourist route recommendations based on geo-tagged social networks | |
US20170046613A1 (en) | Systems and methods for content classification and detection using convolutional neural networks | |
WO2019132923A1 (en) | Automatic image correction using machine learning | |
CN111666502A (zh) | 一种基于深度学习的异常用户识别方法、装置及存储介质 | |
CN111651671B (zh) | 用户对象推荐方法、装置、计算机设备和存储介质 | |
US9710470B2 (en) | Social recommendation across heterogeneous networks | |
US10013480B2 (en) | Method and system for decomposing social relationships into domains of interactions | |
CN114282681A (zh) | 多任务处理及模型的训练方法、装置、介质及设备 | |
CN110795641A (zh) | 基于表示学习的网络谣言传播控制方法 | |
CN112395515B (zh) | 一种信息推荐方法、装置、计算机设备及存储介质 | |
CN107346333B (zh) | 一种基于链路预测的在线社交网络好友推荐方法与系统 | |
Amara et al. | Cross-network representation learning for anchor users on multiplex heterogeneous social network | |
US10699184B2 (en) | Updating predictions for a deep-learning model | |
Xhafa et al. | Modeling and processing for next-generation Big-Data technologies | |
CN111241850A (zh) | 提供业务模型的方法及装置 | |
CN113592593B (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
CN114428910A (zh) | 资源推荐方法、装置、电子设备、产品及介质 | |
CN111652451B (zh) | 社交关系的获取方法和装置及存储介质 | |
CN108614845B (zh) | 基于媒体文件的行为预估方法和装置 | |
CN113256190B (zh) | 资源召回方法及装置 | |
US11200284B1 (en) | Optimization of feature embeddings for deep learning models | |
CN114900435B (zh) | 一种连接关系预测方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051649 Country of ref document: HK |