CN116957833A - 一种数据处理方法及相关装置 - Google Patents
一种数据处理方法及相关装置 Download PDFInfo
- Publication number
- CN116957833A CN116957833A CN202211521661.XA CN202211521661A CN116957833A CN 116957833 A CN116957833 A CN 116957833A CN 202211521661 A CN202211521661 A CN 202211521661A CN 116957833 A CN116957833 A CN 116957833A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- candidate
- feature vector
- training
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 41
- 239000013598 vector Substances 0.000 claims abstract description 267
- 238000000034 method Methods 0.000 claims abstract description 68
- 230000008859 change Effects 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 208
- 230000006399 behavior Effects 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 32
- 238000001514 detection method Methods 0.000 claims description 27
- 238000013507 mapping Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 61
- 238000010586 diagram Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 15
- 238000013473 artificial intelligence Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 101001014572 Homo sapiens MARCKS-related protein Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 102100028162 ATP-binding cassette sub-family C member 3 Human genes 0.000 description 2
- 102100028187 ATP-binding cassette sub-family C member 6 Human genes 0.000 description 2
- 101000986633 Homo sapiens ATP-binding cassette sub-family C member 3 Proteins 0.000 description 2
- 101000986621 Homo sapiens ATP-binding cassette sub-family C member 6 Proteins 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100032514 MARCKS-related protein Human genes 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- 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/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/9536—Search customisation based on social or collaborative filtering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据处理方法及相关装置,其中该方法包括:获取目标业务平台上的目标对象的对象特征向量;获取目标业务平台对应的在线状态记录表,在线状态记录表用于反映目标业务平台上的各个候选对象各自的在线状态,其根据候选对象的在线状态的变化更新;根据目标对象的对象特征向量和在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;目标条件包括与目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征该候选对象在线;根据目标节点对应的候选对象,确定向目标对象推荐的目标推荐对象。该方法能够提高推荐功能的曝光通过率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种数据处理方法及相关装置。
背景技术
如今,很多应用程序为了丰富其使用对象的社交,会提供相关的推荐功能。具体的,使用对象触发使用应用程序提供的推荐功能时,该应用程序将相应地显示推荐列表,其中包括该使用对象可能感兴趣的若干推荐对象;该使用对象可以向任意一个或多个推荐对象发送对象添加申请,若收到对象添加申请的推荐对象同意该对象添加申请,则该使用对象与该推荐对象之间将建立好友关系。
然而,大多数应用程序目前提供的推荐功能所实现的推荐效果并不理想,基于这些推荐功能产生的曝光通过率普遍较低,所谓曝光通过率是指发送对象添加申请且被对方同意的概率,具体等于发送对象添加申请且被对方同意的对象的数量与总共曝光的推荐对象的数量的比值;也可以理解为,通过目前的推荐功能,产生新增的好友关系的概率较低。
发明内容
本申请实施例提供了一种数据处理方法及相关装置,能够提高相关推荐功能的曝光通过率,即提高通过相关推荐功能产生新增的好友关系的概率。
有鉴于此,本申请第一方面提供了一种数据处理方法,所述方法包括:
获取目标业务平台上的目标对象的对象特征向量;
获取所述目标业务平台对应的在线状态记录表;所述在线状态记录表用于反映所述目标业务平台上的各个候选对象各自的在线状态,所述在线状态记录表根据所述候选对象的在线状态的变化更新;
根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;所述参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的连接边,所述参考节点用于表征其对应的候选对象的对象特征向量,所述参考节点的连接边用于连接与所述参考节点满足参考相似条件的其它参考节点;所述目标条件包括与所述目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征所述候选对象在线;
根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象。
本申请第二方面提供了一种数据处理装置,所述装置包括:
向量获取模块,用于获取目标业务平台上的目标对象的对象特征向量;
状态获取模块,用于获取所述目标业务平台对应的在线状态记录表;所述在线状态记录表用于反映所述目标业务平台上的各个候选对象各自的在线状态,所述在线状态记录表根据所述候选对象的在线状态的变化更新;
节点搜索模块,用于根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;所述参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的连接边,所述参考节点用于表征其对应的候选对象的对象特征向量,所述参考节点的连接边用于连接与所述参考节点满足参考相似条件的其它参考节点;所述目标条件包括与所述目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征所述候选对象在线;
对象确定模块,用于根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象。
本申请第三方面提供了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的数据处理方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的数据处理方法的步骤。
本申请第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的数据处理方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种数据处理方法,在该方法中,先获取目标业务平台上目标对象的对象特征向量、以及该目标业务平台对应的在线状态记录表,该在线状态记录表用于反映该目标业务平台上各个候选对象各自的在线状态,其可以根据候选对象的在线状态的变化更新;然后,根据该目标对象的对象特征向量和该在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点,此处的参考搜索图中包括各个候选对象各自对应的参考节点以及参考节点的连接边,该参考节点用于表征其对应的候选对象的对象特征向量,参考节点的连接边用于连接与该参考节点满足参考相似条件的其它参考节点,此处的目标条件包括与目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态为在线;进而,根据所搜索到的目标节点对应的候选对象,确定向该目标对象推荐的目标推荐对象。上述方法在从候选对象中召回目标推荐对象的过程中,综合考虑了候选对象的对象特征向量和候选对象的在线状态;一方面需要保证所召回的目标推荐对象的对象特征向量与目标对象的对象特征向量之间满足目标相似条件,如此,保证所召回的目标推荐对象为目标对象感兴趣的候选对象;另一方面还需要保证所召回的目标推荐对象当前在线,由于在线的对象相比于离线的对象具有更高的概率通过他人的对象添加申请,因此,保证所召回的目标推荐对象当前在线,有助于提高目标对象向目标推荐对象发起对象添加申请被通过的概率,即提高相关推荐功能的曝光通过率,提高通过相关推荐功能新增好友关系的概率。
附图说明
图1为本申请实施例提供的数据处理方法的应用场景示意图;
图2为本申请实施例提供的数据处理方法的流程示意图;
图3为本申请实施例提供的召回模型的工作原理示意图;
图4为本申请实施例提供的多层级的参考搜索图的示意图;
图5为本申请实施例提供的一种对象推荐界面的示意图;
图6为本申请实施例提供的一种对象信息显示界面的示意图;
图7为本申请实施例提供的召回模型训练方法的流程示意图;
图8为本申请实施例提供的数据处理方法的整体实现示意图;
图9为本申请实施例提供的实验效果对比图;
图10为本申请实施例提供的数据处理装置的结构示意图;
图11为本申请实施例提供的终端设备的结构示意图;
图12为本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
本申请实施例提供的方案涉及人工智能技术,具体通过如下实施例进行说明:
本申请实施例提供的数据处理方法可以由具备数据处理能力的计算机设备执行,该计算机设备可以是终端设备或服务器。其中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。服务器可以是独立的物理服务器,也可以是由多个物理服务器构成的服务器集群或者分布式***,还可以是云服务器。
需要说明的是,本申请实施例涉及的信息(包括但不限于对象设备信息、对象账号信息、对象操作信息等)、数据(包括但不限于存储的数据、对象特征数据等)以及信号,均为经过相关对象授权或者经过各方充分授权的,且相关数据的收集、使用和处理均遵守相关国家和地区的相关法律法规和标准。例如,本申请实施例涉及的目标对象的基础特征、候选对象的基础特征,均是在充分授权的情况下获取的。
为了便于理解本申请实施例提供的数据处理方法,下面以该数据处理方法的执行主体为服务器为例,对该数据处理方法的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的数据处理方法的应用场景示意图。如图1所示,该应用场景中包括服务器110和数据库120,服务器110可以通过网络访问数据库120,或者数据库120也可以集成在服务器110中。其中,服务器110用于执行本申请实施例提供的数据处理方法,针对目标对象确定向其推荐的目标推荐对象;数据库120用于存储目标业务平台上对象的对象特征向量,此处的目标业务平台对应于提供好友推荐功能的目标应用程序。
在实际应用中,服务器110针对目标对象确定通过好友推荐功能向其推荐的目标推荐对象时,可以从数据库120中获取该目标对象的对象特征向量,该对象特征向量能够在一定程度上反映目标对象的行为习惯和个人偏好。
此外,服务器110还可以获取自身管理维护的目标业务平台对应的在线状态记录表,该在线状态记录表能够反映目标业务平台上各个候选对象各自的在线状态,也即反映目标业务平台上各个候选对象当前是否在线;服务器110会根据候选对象的在线状态的变化,实时地更新该在线状态记录表,从而保证该在线状态记录表反映的各个候选对象各自的在线状态持续准确有效。
然后,服务器110可以根据该目标对象的对象特征向量和在线状态记录表,在预先构建的参考搜索图中搜索满足目标条件的目标节点。此处的参考搜索图中包括目标业务平台上各个候选对象各自对应的参考节点、以及参考节点的连接边,其中,参考节点用于表征其对应的候选对象的对象特征向量,参考节点的连接边用于连接与该参考节点之间满足参考相似条件的其它参考节点。此处的目标条件包括与目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态为当前在线。应理解,所搜索的目标节点表征的对象特征向量与目标对象的对象特征向量满足目标相似条件,是为了保证搜索到的目标节点对应的候选对象与目标对象之间具有一定的相似性,从而在一定程度上保证目标节点对应的候选对象为目标对象感兴趣的对象;所搜索的目标节点对应的候选对象当前在线,是为了提高目标对象向其发送好友申请被通过的概率,也即提高好友推荐功能的曝光通过率,提高通过该好友推荐功能新增好友关系的概率。
进而,服务器110可以根据搜索到的目标节点对应的候选对象,确定向该目标对象推荐的目标推荐对象,并通过目标应用程序的好友推荐功能,将目标推荐对象推荐该目标对象,支持目标对象与目标推荐对象建立好友关系。
应理解,图1所示的应用场景仅为示例,在实际应用中,本申请实施例提供的数据处理方法也可以应用于其它场景,在此不对本申请实施例提供的数据处理方法的应用场景做任何限定。
下面通过方法实施例对本申请提供的数据处理方法进行详细介绍。
参见图2,图2为本申请实施例提供的数据处理方法的流程示意图。为了便于描述,下述实施例仍以该数据处理方法的执行主体为服务器为例进行介绍。如图2所示,该数据处理方法包括以下步骤:
步骤201:获取目标业务平台上的目标对象的对象特征向量。
在本申请实施例中,目标对象可以触发使用目标应用程序中的好友推荐功能,响应于目标对象触发使用好友推荐功能的操作,目标应用程序的后台服务器可以获取该目标对象的对象特征向量,以便据此在目标业务平台上的各个候选对象中召回向该目标对象推荐的目标推荐对象。
服务器具体获取目标对象的对象特征向量时,可以根据该目标对象的对象标识,从数据库中调取该目标对象的对象特征向量,此处的数据库可以是用于存储目标业务平台上的对象的对象特征向量的数据库;或者,服务器也可以获取目标对象的相关数据信息,例如目标对象在目标业务平台上的等级信息、目标对象通过目标应用程序产生的行为数据、目标对象注册目标应用程序时预留的信息等,进而,根据所获取的信息自主确定该目标对象的对象特征向量。当然,在实际应用中,服务器也可以通过其它方式获取目标对象的对象特征向量,本申请实施例对此不做任何限定。
需要说明的是,上述目标应用程序可以为任一具备好友推荐功能的应用程序,该目标应用程序例如可以为游戏应用程序、短视频应用程序、社交应用程序、购物应用程序等等。目标业务平台对应于该目标应用程序,其是以互联网为技术基础的、支持该目标应用程序开展各类服务的活动平台。
需要说明的是,上述目标对象可以为目标应用程序的任一使用对象,其具体可以为触发使用目标应用程序提供的好友推荐功能的对象。目标对象的对象特征向量是能够反映该目标对象的行为特点和偏好的特征向量,其具体可以根据目标对象在目标业务平台上的等级信息、该目标对象通过目标应用程序产生的行为数据、该目标对象注册目标应用程序时预留的信息等确定。
在一种可能的实现方式中,可以通过本申请实施例提供的召回模型确定该目标对象的对象特征向量;具体的,可以通过召回模型中的左端点塔结构,根据该目标对象的第一基础特征,确定该目标对象的对象特征向量。
本申请实施例提供了一种双塔结构的召回模型,该召回模型包括左端点塔结构和右端点塔结构;其中,左端点塔结构专用于针对触发使用好友推荐功能的目标对象构建对象特征向量,通过该左端点塔结构构建的目标对象的对象特征向量,能够较准确地反映该目标对象的行为习惯和偏好;右端点塔结构专用于针对候选对象构建对象特征向量,通过该右端点塔结构构建的候选对象的对象特征向量,与好友推荐功能中显示该的候选对象的信息相对应,该右端点塔结构的具体工作原理将在下文步骤203中介绍。
具体确定目标对象的对象特征向量时,可以将目标对象的第一基础特征输入召回模型的左端点塔结构中,该左端点塔结构通过对该第一基础特征进行分析处理,将相应地输出该目标对象的对象特征向量。
通常情况下,上述第一基础特征中包括第一连续特征和离散特征。其中,第一连续特征是能够反映目标对象在目标业务平台上的行为特点的连续特征,以该目标业务平台对应的目标应用程序为游戏应用程序为例,第一连续特征例如可以包括目标对象的游戏等级、目标对象的游戏段位、目标对象通过该游戏应用程序的活跃时长、目标对象的历史消费数据、目标对象获得的历史游戏成绩、目标对象的游戏胜率等等,应理解,当目标应用程序为其它类型的应用程序时,该第一连续特征可以为其它类型的连续特征,本申请实施例对此不做任何限定。其中,离散特征是能够反映目标对象在目标业务平台上的偏好情况的离散特征,仍以目标业务平台对应的目标应用程序为游戏应用程序为例,离散特征例如可以包括目标对象的标签(如根据目标对象的行为偏好为其配置的标签)、目标对象常用的虚拟角色、目标对象常用的虚拟道具等等,应理解,当目标应用程序为其它类型的应用程序时,该离散特征可以为其它类型的离散特征,本申请实施例对此不做任何限定。
在目标对象的第一基础特征中包括第一连续特征和离散特征的情况下,上述召回模型中的左端点结构具体可以通过以下方式,确定目标对象的对象特征向量:通过该左端点塔结构中的多层感知机(Multilayer Perceptron,MLP),根据第一基础特征中的第一连续特征,确定第一连续特征向量;以及,通过该左端点塔结构和右端点塔结构共享的离散特征映射层(Embedding Layer),根据第一基础特征中的离散特征,确定第一离散特征向量;进而,通过该左端点塔结构中的全连接层(Deep Neural Network,DNN),根据该第一连续特征向量以及该第一离散特征向量,确定该目标对象的对象特征向量。
图3为本申请实施例提供的一种召回模型的工作原理示意图。如图3所示,该召回模型包括左端点塔结构310,该左端点塔结构310中包括多层感知机311和全连接层312,且该左端点塔结构310与右端点塔结构共享离散特征映射层330;应理解,左端点塔结构与右端点塔结构之所以共享离散特征映射层330,是因为召回模型针对目标对象和候选对象所需处理的离散特征相一致,即目标对象的离散特征与候选对象的离散特征属于同一特征空间,基于此,召回模型可以使左端点塔结构与右端点塔结构共享离散特征映射层330,从而在一定程度上简化模型结构,减少模型参数,降低模型训练难度。
左端点塔结构310具体工作时,可以将目标对象的第一基础特征中的第一连续特征x1cont输入多层感知机311中,以及将该第一基础特征中的离散特征x1categ输入离散特征映射层330;多层感知机311通过如下公式(1)的处理得到第一连续特征向量h1cont,离散特征映射层330通过如下公式(2)的处理得到第一离散特征向量h1categ;进而,可以将第一连续特征向量h1cont与第一离散特征向量h1categ拼接起来得到第一特征向量,将并该第一特征向量输入全连接层312,全连接层312通过如下公式(3)的处理得到目标对象的对象特征向量y1。
h1cont=MLP1((x1cont) (I)
h1categ=Embedding(x1categ) (2)
其中,MLP1()为多层感知机311的处理函数,Embedding()为离散特征映射层330的处理函数,DNN1()为全连接层312的处理函数。
如此,通过上述召回模型中的左端点塔结构,利用左端点塔结构中的多层感知机311和离散特征映射层330,对目标对象的第一连续特征和离散特征进行分开处理,可以保证从第一连续特征和离散特征中分别提取出准确可靠的信息,相应地,后续根据所提取出的第一连续特征向量和第一离散特征向量确定目标对象的对象特征向量,能够保证所确定的对象特征向量较准确可靠地反映该目标对象的行为特点和个人偏好,进而,有利于后续根据该目标对象的对象特征向量,准确地召回目标对象感兴趣的目标推荐对象。
应理解,在实际应用中,也可以通过其它方式确定目标对象的对象特征向量,本申请实施例对此不做任何限定。
步骤202:获取所述目标业务平台对应的在线状态记录表;所述在线状态记录表用于反映所述目标业务平台上的各个候选对象各自的在线状态,所述在线状态记录表根据所述候选对象的在线状态的变化更新。
此外,服务器还需要获取目标业务平台对应的在线状态记录表。具体的,服务器可以自主管理目标业务平台对应的在线状态记录表,进而,直接获取自身管理的该在线状态记录表;或者,也可以由其它设备管理目标业务平台对应的在线状态记录表,相应地,服务器可以从该设备处获取其管理的在线状态记录表;当然,在实际应用中,服务器也可以通过其它方式获取目标业务平台对应的在线状态记录表,本申请实施例对此不做任何限定。
需要说明的是,上述在线状态记录表用于反映目标业务平台上各个候选对象各自的在线状态,具体的,该在线状态记录表中可以记录目标业务平台上各个候选对象各自当前的在线状态,例如记录每个候选对象当前是否在线;该在线状态记录表可以根据候选对象的在线状态的变化而更新,例如,假设某个候选对象的在线状态发生了变化(如由离线变为在线,或者由在线变为离线),那么在线状态记录表中该候选对象的在线状态将相应地变化。如此,通过根据候选对象的在线状态的变化实时地更新在线状态记录表,可以保证该在线状态记录表中记录的候选对象的在线状态始终是最新的在线状态,相应地,后续根据该在线状态记录表召回目标推荐对象,可以保证召回的目标推荐对象均是当前在线的候选对象。
需要说明的是,上述候选对象可以为目标业务平台上的任一对象,也即可以为目标应用程序的任一使用对象,候选对象支持被推荐给触发使用目标应用程序的好友推荐功能的目标对象。
在一种可能的实现方式中,上述在线状态记录表中可以包括在线列表和离线列表,该在线列表用于记录当前在线的候选对象的对象标识,该离线列表用于记录当前离线的候选对象的对象标识,此处的候选对象的对象标识是能够唯一标识该候选对象的信息,具体可以为ID。针对该在线状态记录表,可以通过以下方式更新:获取候选对象在目标业务平台上的实时行为日志;当该实时行为日志表征候选对象产生登录目标业务平台的行为时,将该候选对象的对象标识从离线列表迁移至在线列表;当该实时行为日志表征候选对象产生登出目标业务平台的行为时,将该候选对象的对象标识从在线列表迁移至离线列表。
示例性的,服务器可以通过实时任务获取每个候选对象的实时行为日志,该实时行为日志用于反映候选对象当前通过目标应用程序产生的行为。当某候选对象的实时行为日志表征该候选对象当前产生登录目标业务平台的行为(也即登录目标应用程序)时,可以将该候选对象的对象标识从离线列表中删除,并在在线列表中添加该候选对象的对象标识。当某候选对象的实时行为日志表征该候选对象产生登出目标业务平台(也即登出目标应用程序)的行为时,可以将该候选对象的对象标识从在线列表中删除,并在离线列表中添加该候选对象的对象标识。如此,根据候选对象的实时行为日志更新在线状态记录表中记录的在线状态,可以较好地保证该在线状态记录表中记录的在线状态的实时性。
应理解,在实际应用中,上述在线状态记录表也可以表现为其它形式,例如可以仅记录当前在线的候选对象的对象标识,本申请实施例对此不做任何限定。相应地,服务器也可以采用对应的方式更新该在线状态记录表,本申请实施例对此也不做任何限定。
需要说明的是,在实际应用中,可以先执行步骤201、后执行步骤202,也可以先执行步骤202、后执行步骤201,还可以同时执行步骤201和步骤202,本申请实施例在此不对步骤201和步骤202的执行顺序做任何限定。
步骤203:根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;所述参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的连接边,所述参考节点用于表征其对应的候选对象的对象特征向量,所述参考节点的连接边用于连接与所述参考节点满足参考相似条件的其它参考节点;所述目标条件包括与所述目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征所述候选对象在线。
服务器获取到目标对象的对象特征向量、以及目标业务平台对应的在线状态记录表后,可以根据该目标对象的对象特征向量和该在线状态记录表,在预先构建的参考搜索图中搜索满足目标条件的目标节点,即搜索既与目标对象的对象特征向量之间满足目标相似条件、同时所对应的候选对象的在线状态又表征该候选对象当前在线的目标节点。
需要说明的是,上述参考搜索图是预先根据目标业务平台上的各个候选对象各自的对象特征向量构建的图数据,该参考搜索图具体可以为NSW图(Navigable Small Worldgraphs)。该参考搜索图中包括各个候选对象各自对应的参考节点、以及参考节点的连接边。其中,参考节点用于表征其对应的候选对象的对象特征向量;该候选对象的对象特征向量是能够反映该候选对象的基本特征的向量,此处的基本特征具体可以对应于对象推荐界面中展示的候选对象的信息,如候选对象在目标应用程序中的等级信息、候选对象通过目标应用程序产生的行为信息、候选对象注册目标应用程序时预留的信息等。参考节点的连接边为有向连接边,其用于连接与该参考节点之间满足参考相似条件的其它参考节点,此处的参考相似条件例如可以是参考搜索图中与该参考节点表征的对象特征向量最相似的n(n为大于或等于1的整数)个参考节点;例如,假设上述n等于3,那么参考搜索图中每个参考节点均对应3条连接边,一个参考节点的3条连接边分别用于连接参考搜索图中与该参考节点表征的对象特征向量最相似的其它3个参考节点,假设参考搜索图中与参考节点a表征的对象特征向量最相似的3个参考节点分别为参考节点b、参考节点c和参考节点d,那么该参考节点a的3条连接边分别是从参考节点a出发连接参考节点b的连接边、从参考节点a出发连接参考节点c的连接边、以及从参考节点a出发连接参考节点d的连接边,若对参考节点b来说,参考节点a不属于与其表征的对象特征向量最相似的3个参考节点,则参考节点b的连接边将不会连接参考节点a。
需要说明的是,上述目标条件是预先设定的、用于在参考搜索图中搜索目标节点的条件,该目标条件具体包括与目标对象的对象特征向量之间满足目标相似条件、以及所对应的候选对象在在线状态列表中的在线状态为在线。也就是说,在参考搜索图中搜索到的目标节点至少要满足以下两个条件:1)目标节点表征的对象特征向量与目标对象的对象特征向量之间满足目标相似条件;2)目标节点对应的候选对象的在线状态为当前在线;服务器通过控制所召回的目标节点满足上述第一个条件,保证所召回的目标节点对应的候选对象为目标对象感兴趣的对象,通过控制所召回的目标节点满足上述第二个条件,保证目标对象向该目标节点对应的候选对象发送好友申请,具有较高的概率被对方同意该好友申请。上述的目标相似条件例如可以是在参考搜索图中每次搜索到的与目标对象的对象特征向量最相似的参考节点。
在一种可能的实现方式中,对于参考搜索图中参考节点表征的候选对象的对象特征向量,可以通过本申请实施例提供的召回模型来确定;具体的,可以通过召回模型中的右端点塔结构,根据候选对象的第二基础特征,确定该候选对象的对象特征向量。
正如上文步骤201中介绍的,本申请实施例提供了一种双塔结构的召回模型,该召回模型包括左端点塔结构和右端点塔结构;其中,左端点塔结构专用于针对触发使用好友推荐功能的目标对象构建对象特征向量;右端点塔结构专用于针对候选对象构建对象特征向量,通过该右端点塔结构构建的候选对象的对象特征向量能够反映该候选对象的基本特征,此处的基本特征与对象推荐界面(即响应目标对象触发使用好友推荐功能显示的界面)中显示的候选对象的相关信息对应。
具体确定候选对象的对象特征向量时,可以将候选对象的第二基础特征输入召回模型的右端点塔结构中,该右端点塔结构通过对该第二基础特征进行分析处理,将相应地输出该候选对象的对象特征向量。
通常情况下,上述第二基础特征中包括第二连续特征和离散特征。其中,第二连续特征是对象推荐界面中显示的该候选对象的连续特征,以目标应用程序为游戏应用程序为例,第二连续特征可以包括在对象推荐界面中显示的候选对象的游戏等级、候选对象的游戏段位、候选对象的好友期望标签(如表征候选对象所期望的好友的类型)、候选对象在当前赛季的游戏成绩、候选对象的历史最好游戏成绩、候选对象的获赞数等,应理解,当目标应用程序为其它类型的应用程序时,该第二连续特征可以为其它类型的连续特征,本申请实施例对此不做任何限定。其中,离散特征是能够反映候选对象在目标业务平台上的偏好情况的离散特征,此处候选对象的离散特征与上文中目标对象的离散特征的特征空间一致,仍以目标应用程序为游戏应用程序为例,离散特征可以包括候选对象的标签(如根据候选对象的行为偏好为其配置的标签)、候选对象常用的虚拟角色、候选对象常用的虚拟道具等等,应理解,当目标应用程序为其它类型的应用程序时,该离散特征可以为其它类型的离散特征,本申请实施例对此不做任何限定。
在候选对象的第二基础特征中包括第二连续特征和离散特征的情况下,上述召回模型中的右端点结构具体可以通过以下方式,确定候选对象的对象特征向量:通过右端点塔结构中的多层感知机,根据第二基础特征中的第二连续特征,确定第二连续特征向量;以及,通过该右端点塔结构和左端点塔结构共享的离散特征映射层,根据第二基础特征中的离散特征,确定第二离散特征向量;进而,通过该右端点塔结构中的全连接层,根据该第二连续特征向量以及该第二离散特征向量,确定该候选对象的对象特征向量。
图3为本申请实施例提供的一种召回模型的工作原理示意图。如图3所示,该召回模型包括右端点塔结构320,该右端点塔结构320中包括多层感知机321和全连接层322,且由于候选对象的离散特征与目标对象的离散特征的特征空间一致,因此该右端点塔结构320与左端点塔结构310共享离散特征映射层330。右端点塔结构320具体工作时,可以将候选对象的第二基础特征中的第二连续特征x2cont输入多层感知机321中,以及将该第二基础特征中的离散特征x2categ输入离散特征映射层330;多层感知机321通过如下公式(4)的处理得到第二连续特征向量h2cont,离散特征映射层330通过如下公式(5)的处理得到第二离散特征向量h2categ;进而,可以将第二连续特征向量h2cont与第二离散特征向量h2categ拼接起来得到第二特征向量,将并该第二特征向量输入全连接层322,全连接层322通过如下公式(6)的处理得到候选对象的对象特征向量y2。
h2cont=MLP2((x2cont) (4)
h2categ=Embedding((x2categ) (5)
其中,MLP2()为多层感知机321的处理函数,Embedding()为离散特征映射层330的处理函数,DNN2()为全连接层322的处理函数。
如此,通过上述召回模型中的右端点塔结构,根据候选对象的第二基础特征,确定候选对象的对象特征向量,能够保证所确定的对象特征向量与在对象推荐界面中针对该候选对象显示的相关信息准确对应,即保证该对象特征向量与实际呈现给目标对象的候选对象的相关信息相对应;相应地,基于该候选对象的对象特征向量构建参考搜索图,并在该参考搜索图中搜索目标对象可能感兴趣的目标节点,可以从目标对象实际了解到的信息的角度进行搜索,从而还原目标对象在对象推荐界面中选择对象的场景。
应理解,在实际应用中,也可以通过其它方式确定候选对象的对象特征向量,本申请实施例对此不做任何限定。
在一种可能的实现方式中,为了提高服务器在参考搜索图中的搜索效率,同时保证搜索到的目标节点对应的候选对象为目标对象感兴趣的候选对象,本申请实施例中的参考搜索图可以为多层级的参考搜索图,具体的,该参考搜索图可以包括原始参考搜索图、一级参考搜索图、以及二级参考搜索图;其中,原始参考搜索图包括各个候选对象各自对应的参考节点、以及参考节点的原始连接边,参考节点的原始连接边用于连接原始参考搜索图中、与该参考节点满足原始参考相似条件的其它参考节点;一级参考搜索图包括原始参考搜索图中的部分参考节点、以及参考节点的一级连接边,参考节点的一级连接边用于连接一级参考搜索图中、与该参考节点满足一级参考相似条件的其它参考节点;二级参考搜索图包括一级参考搜索图中的部分参考节点、以及参考节点的二级连接边,参考节点的二级连接边用于连接二级参考搜索图中、与该参考节点满足二级参考相似条件的其它参考节点。
图4为本申请实施例提供的一种多层级的参考搜索图的示意图。如图4所示,该参考搜索图中包括原始参考搜索图410(即最底层的参考搜索图)、一级参考搜索图420(即中间层的参考搜索图)、以及二级参考搜索图430(即最上层的参考搜索图),原始参考搜索图410包括的参考节点的数量大于一级参考搜索图420包括的参考节点的数量,一级参考搜索图420包括的参考节点的数量大于二级参考搜索图430包括的参考节点的数量。
其中,原始参考搜索图410中包括全量的参考节点,即原始参考搜索图410中包括目标业务平台上各个候选对象各自对应的参考节点。原始参考搜索图410中参考节点的连接边被称为原始连接边,参考节点的原始连接边用于连接该原始参考搜索图410中、与该参考节点表征的对象特征向量之间满足原始参考相似条件的其它参考节点,此处的原始参考相似条件例如可以是该原始参考搜索图410中与该参考节点表征的对象特征向量最相似的a个参考节点,此处的a为大于等于1的整数,也即在原始参考搜索图410中,每个参考节点具有a条原始连接边,分别连接与其表征的对象特征向量最相近的a个其它参考节点。
其中,一级参考搜索图420包括原始参考搜索图410中的部分参考节点,例如,可以按照预设比例(如50%),从原始参考搜索图410中随机抽取部分参考节点,进而利用所抽取的部分参考节点构建一级参考搜索图420。该一级参考搜索图420中参考节点的连接边被称为一级连接边,参考节点的一级连接边用于连接该一级参考搜索图420中、与该参考节点表征的对象特征向量之间满足一级参考相似条件的其它参考节点,此处的一级参考相似条件例如可以是该一级参考搜索图420中与该参考节点表征的对象特征向量最相似的b个参考节点,此处的b为大于等于1、且小于等于a的整数,也即在一级参考搜索图420中,每个参考节点具有b条一级连接边,分别连接与其表征的对象特征向量最相近的b个其它参考节点。
其中,二级参考搜索图430包括一级参考搜索图420中的部分参考节点,例如,可以按照预设比例(如50%),从一级参考搜索图420中随机抽取部分参考节点,进而利用所抽取的部分参考节点构建二级参考搜索图430。该二级参考搜索图430中参考节点的连接边被称为二级连接边,参考节点的二级连接边用于连接该二级参考搜索图430中、与该参考节点表征的对象特征向量之间满足二级参考相似条件的其它参考节点,此处的二级参考相似条件例如可以是该二级参考搜索图430中与该参考节点表征的对象特征向量最相似的c个参考节点,此处的c为大于等于1、且小于等于b的整数,也即在二级参考搜索图430中,每个参考节点具有c条二级连接边,分别连接与其表征的对象特征向量最相近的c个其它参考节点。
应理解,上述多层级的参考搜索图的形式仅为示例,在实际应用中,该参考搜索图也可以为单层级的参考搜索图,例如,仅包括一级参考搜索图,其中包括目标业务平台上各个候选对象各自对应的参考节点、以及参考节点的连接边,该参考搜索图还可以包括更多或更少的层级,本申请实施例在此不对该参考搜索图的形式做任何限定。
在参考搜索图为上述包括原始参考搜索图、一级参考搜索图、以及二级参考搜索图的形式的情况下,服务器可以通过以下方式,在该参考搜索图中搜索目标节点:根据目标对象的对象特征向量和在线状态记录表,在二级参考搜索图中搜索满足第一目标条件的二级目标节点;然后,根据该二级目标节点确定一级参考搜索图的搜索起始节点,根据目标对象的对象特征向量和在线状态记录表,从该搜索起始节点开始,在该一级参考搜索图中搜索满足第二目标条件的一级目标节点;进而,根据该一级目标节点确定原始参考搜索图的搜索起始节点,根据目标对象的对象特征向量和在线状态记录表,从该搜索起始节点开始,在该原始参考搜索图中搜索满足第三目标条件的原始目标节点。相应地,后续确定向目标对象推荐的目标推荐对象时,可以根据该原始目标节点对应的候选对象来确定。
具体的,在参考搜索图包括原始参考搜索图、一级参考搜索图、以及二级参考搜索图的情况下,服务器可以按照从上至下的搜索顺序(先搜索二级参考搜索图,再搜索一级参考搜索图、最后搜索原始参考搜索图),逐级地在各个参考搜索图中进行搜索,根据在上一级参考搜索图中的搜索结果,确定下一级参考搜索图的搜索起始节点,据此在该下一级参考搜索图中进行搜索,直至完成对于最下层的原始参考搜索图的搜索为止。
服务器可以先在所包括的参考节点最少的二级参考搜索图中进行搜索,在二级参考搜索图中搜索时,可以随机确定该二级参考搜索图中任一个参考节点作为搜索起始节点,然后从该搜索起始节点开始搜索,根据目标对象的对象特征向量和在线状态记录表,在该二级参考搜索图中搜索满足第一目标条件的二级目标节点;此处的第一目标条件包括与目标对象的对象特征向量之间满足第一目标相似条件、以及所对应的候选对象的在线状态为当前在线,该第一目标相似条件例如可以是本次在二级参考搜索图中搜索过的参考节点中,所表征的对象特征向量与目标对象的对象特征向量最相似。
服务器在二级参考搜索图中搜索到二级目标节点后,可以转移前往一级参考搜索图进行搜索,在一级参考搜索图中搜索时,可以确定一级参考搜索图中与该二级目标节点对应的参考节点作为搜索起始节点,然后从该搜索起始节点开始搜索,根据目标对象的对象特征向量和在线状态记录表,在该一级参考搜索图中搜索满足第二目标条件的一级目标节点;此处的第二目标条件包括与目标对象的对象特征向量之间满足第二目标相似条件、以及所对应的候选对象的在线状态为当前在线,该第二目标相似条件例如可以是本次在一级参考搜索图中搜索过的参考节点中,所表征的对象特征向量与目标对象的对象特征向量最相似。
服务器在一级参考搜索图中搜索到一级目标节点后,可以转移前往包括全量参考节点的原始参考搜索图进行搜索,在原始参考搜索图中搜索时,可以确定原始参考搜索图中与该一级目标节点对应的参考节点作为搜索起始节点,然后从该搜索起始节点开始搜索,根据目标对象的对象特征向量和在线状态记录表,在该原始参考搜索图中搜索满足第三目标条件的原始目标节点;此处的第三目标条件包括与目标对象的对象特征向量之间满足第三目标相似条件、以及所对应的候选对象的在线状态为当前在线,该第三目标相似条件例如可以是本次在原始参考搜索图中搜索过的参考节点中,所表征的对象特征向量与目标对象的对象特征向量最相似。
如此,通过上述方式,按照先二级参考搜索图,再一级参考搜索图、最后原始参考搜索图的顺序,先在所包括的参考节点最少的二级参考搜索图中进行搜索,再在所包括的参考节点相对较多的一级参考搜索图中进行搜索,最后在所包括的参考节点最多的原始参考搜索图中进行搜索,可以实现先在粗粒度的范围内确定二级目标节点,再在中粒度的范围内确定一级目标节点,最后在细粒度的范围内确定最终要找的原始目标节点,如此逐级搜索,可以大幅提高搜索效率,且在一定程度上保证最终搜索到的原始目标节点与目标对象的对象特征向量之间的相似度。
具体根据目标对象的对象特征向量和在线状态记录表,在参考搜索图中搜索目标节点时,可以通过以下方式实现:在参考搜索图中确定搜索起始节点;确定该搜索起始节点作为当前参考节点,根据在线状态记录表和目标对象的对象特征向量,对该当前参考节点进行目标检测操作;若目标检测操作的检测结果表征该当前参考节点并非目标节点,则根据目标检测操作的检测结果更新该当前参考节点,并且根据在线状态记录表和目标对象的对象特征向量,对更新后的当前参考节点进行目标检测操作;若目标检测操作的检测结果表征该当前参考节点为目标节点,则停止在该参考搜索图中搜索。
需要说明的是,此处的参考搜索图具体可以指代上文中的二级参考搜索图、一级参考搜索图和原始参考搜索图中的任一个,即针对二级参考搜索图、一级参考搜索图和原始参考搜索图中的每个参考搜素图,均可以通过下文介绍的方式搜索其中的目标节点(对于二级参考搜索图来说为二级目标节点,对于一级参考搜索图来说为一级目标节点,对于原始参考搜索图来说为原始目标节点)。此外,此处的参考搜索图具体也可以指代单层级的参考搜索图。
示例性的,服务器可以先针对执行搜索任务所依据的参考搜索图,确定其中的搜索起始节点;例如,当该参考搜索图为二级参考搜索图时,可以在该二级参考搜索图中随机确定一个参考节点,作为搜索起始节点;又例如,当该参考搜索图为一级参考搜索图时,可以根据在二级参考搜索图中搜索到的二级目标节点,确定一级参考搜索图中与该二级目标节点对应的参考节点,作为搜索起始节点;再例如,当该参考搜索图为原始参考搜索图时,可以根据在一级参考搜索图中搜索到的一级目标节点,确定原始参考搜索图中与该一级目标节点对应的参考节点,作为搜索起始节点。应理解,上述搜索起始节点的在线状态应为当前在线,若服务器随机确定的搜索起始节点的在线状态并非当前在线,则服务器需要重新确定搜索起始节点。
进而,服务器可以将该搜索起始节点作为当前参考节点,然后根据此前获取的在线状态记录表、以及目标对象的对象特征向量,对该当前参考节点执行目标检测操作。该目标检测操作具体包括:根据在线状态记录表,在该当前参考节点的连接边所连接的各个参考节点中,确定该当前参考节点关联的各个候选参考节点,该候选参考节点对应的候选对象的在线状态为在线;然后,针对该当前参考节点关联的每个候选参考节点,确定目标对象的对象特征向量与该候选参考节点表征的对象特征向量之间的相似度,作为该候选参考节点对应的相似度;若当前参考节点关联的各个候选参考节点各自对应的相似度中存在小于参考相似度的相似度,则确定该当前参考节点并非目标节点,并确定利用所对应的相似度最小的候选参考节点更新该当前参考节点;若当前参考节点关联的各个候选参考节点各自对应的相似度均不小于参考相似度,则确定该当前参考节点为目标节点;此处的参考相似度为目标对象的对象特征向量与该当前参考节点表征的对象特征向量之间的相似度。
即,服务器针对当前参考节点,可以先利用在线状态记录表,对该当前参考节点所连接的各个参考节点进行筛选处理,仅保留所对应的候选对象的在线状态为当前在线的参考节点,并将保留下来的参考节点作为该当前参考节点关联的候选参考节点。进而,判断当前参考节点关联的各个候选参考节点中,是否存在相比于该当前参考节点与目标对象的对象特征向量更相似的候选参考节点;若存在,则说明该当前参考节点并非所要寻找的与目标对象的对象特征向量之间满足目标相似条件的目标节点,相应地,可以利用与该目标对象的对象特征向量最相似的候选参考节点更新该当前参考节点,并对更新后的当前参考节点重新进行上述判断处理;若不存在,则说明该当前参考节点即为所要寻找的与目标对象的对象特征向量之间满足目标相似条件的目标节点,此时可以停止在该参考搜索图中的搜索操作。
如此,通过上述操作,服务器在在参考搜索图中搜索目标节点的过程中,先根据在线状态记录表中记录的候选对象的在线状态进行初筛,再基于初筛保留下来的候选参考节点,根据目标对象的对象特征向量判断当前参考节点是否为满足目标条件的目标节点。一方面,可以有效地保证所召回的目标节点对应的候选对象的在线状态为当前在线;另一方面,还可以有效地保证所召回的目标节点表征的对象特征向量与目标对象的对象特征向量之间具有较高的相似度,目标对象大概率对该目标节点对应的候选对象会感兴趣;再一方面,相比召回所有与目标对象的对象特征向量满足目标相似条件的节点后,再根据在线状态记录表对所召回的节点进行二次筛选的方式,上述方式在召回过程中先根据在线状态记录表对所召回的节点进行初筛,再根据保留下来的节点判断其与目标对象的对象特征向量之间的相似关系,可以有效地避免召回集合不足的情况发生。
需要说明的是,在实际应用中,目标对象触发使用目标应用程序的好友推荐功能时,目标应用程序通常会向目标对象推荐若干目标推荐对象,以便该目标对象在其中进行选择。因此,服务器通常需要执行多次步骤203,每次执行步骤203时选择不同的搜索起始节点,在参考搜索图中的不同区域进行局部区域搜索,以搜索该局部区域内的目标节点;通常情况下,当所召回的目标节点的数量达到K(K为大于1的整数,其是预先设定的通过好友推荐功能向目标对象推荐的目标推荐对象的数量)个时,服务器可以停止执行步骤203;或者,当服务器执行步骤203的次数达到预设的最大搜索次数阈值时,服务器可以停止执行步骤203。
步骤204:根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象。
服务器通过步骤203在参考搜索图中搜索到目标节点后,可以将所搜索到的目标节点对应的候选对象,作为通过好友推荐功能向目标对象推荐的目标推荐对象;即目标对象触发使用目标应用程序的好友推荐功能后,该目标应用程序可以显示对象推荐界面,该对象推荐界面中包括搜索到的目标节点对应的候选对象,具体包括候选对象的相关介绍信息。
以目标应用程序为游戏应用程序为例,图5为本申请实施例提供的一种对象推荐界面的示意图。如图5所示,在好友推荐功能(即图5中的“添加好友”)对应的对象推荐界面中,包括若干个目标推荐对象的推荐名片,其中可以包括目标推荐对象的头像、昵称、游戏等级、游戏段位、好友期望标签(如表征候选对象所期望的好友的类型)、匹配度(根据目标推荐对象的对象特征向量与目标对象的对象特征向量之间的相似度确定)等信息。对于任一目标推荐对象,目标对象还可以通过点击该目标推荐对象的推荐名片,查看该目标推荐对象的详细信息;图6为本申请实施例提供的一种对象信息显示界面的示意图,如图6所示,其中目标推荐对象的基本信息、游戏成就信息、收藏信息、以及历史战绩信息等信息。
目标对象可以根据上述目标推荐对象的相关信息,决定是否向某个目标推荐对象发送好友申请,以添加该目标推荐对象作为游戏好友;若接收到该目标对象发送的好友申请的目标推荐对象同意了该好友申请,那么目标对象与该目标推荐对象之间将建立游戏好友关系。相应地,该目标对象与该目标推荐对象之间可以进行好友聊天、赠送礼物、邀请组队参与游戏等游戏互动操作,从而促进提高二者间的活跃度。
本申请实施例提供的数据处理方法,在从候选对象中召回目标推荐对象的过程中,综合考虑了候选对象的对象特征向量和候选对象的在线状态;一方面需要保证所召回的目标推荐对象的对象特征向量与目标对象的对象特征向量之间满足目标相似条件,如此,保证所召回的目标推荐对象为目标对象感兴趣的候选对象;另一方面还需要保证所召回的目标推荐对象当前在线,由于在线的对象相比于离线的对象具有更高的概率通过他人的好友申请,因此,保证所召回的目标推荐对象当前在线,有助于提高目标对象向目标推荐对象发起好友申请被通过的概率,即提高好友推荐功能的曝光通过率,提高通过好友推荐功能新增好友关系的概率。
针对图2所示实施例中提及的召回模型,本申请实施例还提供了该召回模型的模型训练方法。参见图7,图7为本申请实施例提供的召回模型训练方法的流程示意图,为了便于描述,下述实施例以该召回模型训练方法的执行主体为服务器为例进行介绍,应理解,该召回模型训练方法的执行主体也可以为终端设备等其它计算机设备。如图7所示,该召回模型训练方法包括以下步骤:
步骤701:获取训练样本;所述训练样本中包括训练目标对象的第一训练基础特征、训练候选对象的第二训练基础特征、以及训练标签,所述训练标签用于表征向所述训练目标对象推荐所述训练候选对象时,所述训练目标对象是否向所述训练候选对象发送好友申请。
在本申请实施例中,服务器可以获取大量用于训练召回模型的训练样本。示例性的,训练样本可以根据通过目标应用程序的好友推荐功能产生的历史点击数据来构建;例如,服务器可以获取某历史时段内、通过目标应用程序的好友推荐功能产生的历史曝光数据和历史好友申请发送数据,其中,历史曝光数据用于表征向触发使用该好友推荐功能的对象推荐的推荐对象,历史好友申请发送数据用于表征触发使用好友推荐功能的对象发送了好友申请的推荐对象;进而,根据上述历史曝光数据和历史好友申请发送数据,构建用于训练召回模型的训练样本。
需要说明的是,上述训练样本中包括训练目标对象的第一训练基础特征、训练候选对象的第二训练基础特征、以及训练标签。其中,训练目标对象为历史触发使用目标应用程序的好友推荐功能的对象;该训练目标对象的第一训练基础特征是用于反映该目标对象的行为习惯和偏好的特征,其中可以包括第一训练连续特征和第一训练离散特征,该第一训练连续特征与图2所示实施例中第一连续特征相同,该第一训练离散特征与图2所示实施例中第一基础特征中的离散特征相同,详细可参见上文的相关介绍,此处不再赘述。其中,训练候选对象为通过目标应用程序的好友推荐功能向该训练目标对象推荐过的候选对象;该训练候选对象的第二训练基础特征与对象推荐界面中显示的该训练候选对象的相关信息对应,其中可以包括第二训练连续特征和第二训练离散特征,该第二训练连续特征与图2所示实施例中第二连续特征相同,该第二训练离散特征与图2所示实施例中第二基础特征中的离散特征相同,详细可参见上文的相关介绍,此处不再赘述。其中,训练标签用于表征该训练目标对象是否向该训练候选对象发送了好友申请;如果该训练目标对象向该训练候选对象发送了好友申请,那么训练标签可以配置为1,相应地,该训练样本可以视为正训练样本;如果该训练目标对象未向该训练候选对象发送好友申请,那么训练标签可以配置为0,相应地,该训练样本可以视为负训练样本。
步骤702:通过所述召回模型中的所述左端点塔结构,根据所述第一训练基础特征,确定所述训练目标对象的训练对象特征向量;通过所述召回模型中的所述右端点塔结构,根据所述第二训练基础特征,确定所述训练候选对象的训练对象特征向量。
服务器获取到大量训练样本后,可以利用所获取的每个训练样本训练该召回模型。具体的,可以将某训练样本中训练目标对象的第一训练基础特征输入召回模型的左端点塔结构,该左端点塔结构通过对该第一训练基础特征进行分析处理,可以相应地输出该训练目标对象的训练对象特征向量;同时,可以将该训练样本中训练候选对象的第二训练基础特征输入召回模型的右端点塔结构,该右端点塔结构通过对该第二训练基础特征进行分析处理,可以相应地输出该训练候选对象的训练对象特征向量。
在一种可能的实现方式中,当本申请实施例中的召回模型为上文中图3所示的召回模型时,该召回模型具体可以通过以下方式处理训练目标对象的第一训练基础特征和训练候选对象的第二训练基础特征:左端点塔结构可以通过其中的多层感知机处理第一训练基础特征中的第一训练连续特征,得到第一训练连续特征向量,并且可以通过自身与右端点塔结构共享的离散特征映射层,处理第一训练基础特征中的第一训练离散特征,得到第一训练离散特征向量,进而,左端点塔结构可以通过其中的全连接层,对第一训练连续特征向量和第一训练离散特征向量的拼接结果进行处理,得到训练目标对象的训练对象特征向量。右端点塔结构可以通过其中的多层感知机,处理第二训练基础特征中的第二训练连续特征,得到第二训练连续特征向量,并且可以通过自身与左端点塔结构共享的离散特征映射层,处理第二训练基础特征中的第二训练离散特征,得到第二训练离散特征向量,进而,右端点塔结构可以通过其中的全连接层,对第二训练连续特征向量和第二训练离散特征向量的拼接结果进行处理,得到训练候选对象的训练对象特征向量。
步骤703:确定所述训练目标对象的训练对象特征向量与所述训练候选对象的训练对象特征向量之间的相似度,作为训练相似度;根据所述训练相似度和所述训练标签,训练所述召回模型。
服务器通过召回模型中的左端点塔结构和右端点塔结构,分别生成训练目标对象的训练对象特征向量和训练候选对象的训练对象特征向量后,可以计算训练目标对象的训练对象特征向量与训练候选对象的训练对象特征向量之间的相似度,作为训练相似度,具体的,可以通过如下式(7)计算该训练相似度:
其中,sim(l,r)为训练目标对象的训练对象特征向量与训练候选对象的训练对象特征向量之间的相似度,即训练相似度,其具体可以是cos相似度;yl表示训练目标对象的训练对象特征向量,yr表示训练候选对象的训练对象特征向量。
进而,服务器可以根据上述训练相似度和训练样本中的训练标签,构建损失函数,并以最小化该损失函数为目的,调节召回模型的模型参数,从而实现对于该召回模型的训练。考虑到在本申请实施例中正训练样本与负训练样本的分布比例并不均衡,通常负训练样本的数量大于正训练样本的数量,为了避免因样本分布不均衡影响模型训练效果,本申请实施例可以使用Focal Loss构建损失函数,具体公式如下式(8)所示:
FL(p)=-α(1-p)γlog(p) (8)
其中,FL(p)为损失值,p为上述训练相似度,即sim(l,r);α和γ均为超参数,可以根据训练样本的类型对其进行调整,具体的,若p是根据正训练样本中的数据确定的,则可以适当增大α和γ,以强化该正训练样本的价值,若p是根据负训练样本中的数据确定的,则可以适当减小α和β,以弱化该负训练样本的价值,从而对正负训练样本不均衡的问题进行调节。
如此迭代执行多次上述步骤702和步骤703,直至所训练的召回模型满足训练结束条件为止。此处的训练结束条件例如可以是召回模型的模型参数收敛,又例如可以是召回模型的模型性能得到预设要求,再例如可以是对于该召回模型的迭代训练次数达到预设次数阈值,等等,本申请实施例对此不做任何限定。
如此,通过上述方式训练召回模型,可以保证所训练的召回模型能够区分目标对象和候选对象,准确地构建目标对象的对象特征向量和候选对象的对象特征向量,使所构建的目标对象的对象特征向量和候选对象的对象特征向量与好友推荐场景相匹配,在好友推荐场景中,准确地反映触发使用好友推荐功能的目标对象的行为偏好、以及所推荐的候选对象的对象特点。
为了便于进一步理解本申请实施例提供的数据处理方法,下面以本申请实施例提供的数据处理方法应用于游戏应用程序提供的好友推荐功能为例,对该数据处理方法进行整体示例性介绍。图8为本申请实施例提供的该数据处理方法的整体实现示意图。
如图8所示,当游戏应用程序的目标玩家触发使用该游戏应用程序中的好友推荐功能时,该游戏应用程序的后台服务器可以从数据库中获取该目标玩家的对象特征向量。需要说明的是,该目标玩家的对象特征向量是通过本申请实施例提供的召回模型中的左端点塔结构确定的。
同时,该后台服务器还会获取该游戏应用程序对应的在线状态记录表,该在线状态记录表中记录有使用该游戏应用程序的所有玩家的在线状态,该在线状态记录表可以根据玩家的实时行为日志实时更新。示例性的,该后台服务器可以通过实时任务获取各个玩家的实时行为日志,若某个玩家的实时行为日志表示该玩家当前发生了登录该游戏应用程序的行为,则可以将该玩家的标识从离线列表迁移至在线列表,若某个玩家的实时行为日志表示该玩家当前发生了登出该游戏应用程序的行为,则可以将该玩家的标识从在线列表迁移至离线列表;此处的在线列表为图8中在线标签为1对应的玩家标识列表,此处的离线列表为图8中在线状态为0对应的玩家标识列表。
进而,该后台服务器可以在预先构建的参考搜索图中,搜索与目标玩家的对象特征向量满足目标相似条件、且所对应的候选玩家的在线状态为当前在线的目标节点。需要说明的是,该参考搜索图是预先根据使用该游戏应用程序的各个候选玩家各自的对象特征向量构建的,其中包括各个候选玩家各自对应的参考节点、以及参考节点的连接边;此处的参考节点用于表征对应的候选玩家的对象特征向量,该候选玩家的对象特征向量是通过本申请实施例提供的召回模型中的右端点塔结构确定的;此处的参考节点的连接边用于连接该参考搜索图中与该参考节点之间满足参考相似条件的其它参考节点,该参考相似条件例如可以是参考搜索图中与该参考节点表征的对象特征向量最相似的n个参考节点。
正如上文图2所示实施例中介绍的,该参考搜索图可以是多层级的参考搜索图,其中包括原始参考搜索图、一级参考搜索图、以及二级参考搜索图,且原始参考搜索图包括的参考节点的数量大于一级参考搜索图包括的参考节点的数量,一级参考搜索图包括的参考节点的数量大于二级参考搜索图包括的参考节点的数量。在此情况下,该后台服务器可以按照从上至下的搜索顺序(先搜索二级参考搜索图,再搜索一级参考搜索图、最后搜索原始参考搜索图),逐级地在各个参考搜索图中进行搜索,根据在上一级参考搜索图中的搜索结果,确定下一级参考搜索图的搜索起始节点,据此在该下一级参考搜索图中进行搜索,直至完成对于最下层的原始参考搜索图的搜索为止;相应地,在最下层的原始参考搜索图中搜索到的原始目标节点,本质上即为所需召回的目标节点。具体在每个参考搜索图中搜索目标节点的实现方式,可以参见图2所示实施例中的相关内容,此处不再赘述。
后台服务器每完成一次逐级搜索,即可得到一个原始目标节点,如此,该后台服务器可以重复执行多次上述逐级搜索处理,直至所得到的原始目标节点的数量达到预设数量,或直至所执行的搜索次数达到预设最大搜索次数。进而,后台服务器可以将搜索到的所有原始目标节点各自对应的候选玩家,作为目标推荐玩家,并将这些目标推荐玩家推荐给触发使用好友推荐功能的目标玩家,以便该目标玩家在其中选择自身感兴趣的目标推荐玩家,并向其发送好友申请,以请求与该目标推荐玩家建立游戏好友关系。
应理解,在实际应用中,本申请实施例提供的数据处理方法除了可以应用于游戏应用程序的好友推荐功能外,也可以应用于其它应用程序的好友推荐功能,本申请实施例对此不做任何限定。
本申请发明人为了验证本申请实施例提供的方法的有效性和可靠性,其将本申请实施例中的方法、相关技术中基于规则召回推荐对象的方法、以及仅基于特征向量召回推荐对象的方法,均应用在某游戏应用程序的好友推荐功能中,以对这三种方法的效果进行评估。其以曝光通过率作为评估指标,得到图9所示的效果对比图;曝光通过率越高,则说明对应的方法促进玩家新增好友关系的概率越大。通过图9可以发现,本申请实施例中的方法相比相关技术中基于规则召回推荐对象的方法、和仅基于特征向量召回推荐对象的方法,平均曝光通过率分别提升了57.9%和143.3%。
针对上文描述的数据处理方法,本申请还提供了对应的数据处理装置,以使上述数据处理方法在实际中得以应用及实现。
参见图10,图10是与上文图2所示的数据处理方法对应的数据处理装置1000的结构示意图。如图10所示,该数据处理装置1000包括:
向量获取模块1001,用于获取目标业务平台上的目标对象的对象特征向量;
状态获取模块1002,用于获取所述目标业务平台对应的在线状态记录表;所述在线状态记录表用于反映所述目标业务平台上的各个候选对象各自的在线状态,所述在线状态记录表根据所述候选对象的在线状态的变化更新;
节点搜索模块1003,用于根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;所述参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的连接边,所述参考节点用于表征其对应的候选对象的对象特征向量,所述参考节点的连接边用于连接与所述参考节点满足参考相似条件的其它参考节点;所述目标条件包括与所述目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征所述候选对象在线;
对象确定模块1004,用于根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象。
可选的,所述参考搜索图包括原始参考搜索图、一级参考搜索图、以及二级参考搜索图;
所述原始参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的原始连接边,所述参考节点的原始连接边用于连接所述原始参考搜索图中、与所述参考节点满足原始参考相似条件的其它参考节点;
所述一级参考搜索图包括所述原始参考搜索图中的部分参考节点、以及所述参考节点的一级连接边,所述参考节点的一级连接边用于连接所述一级参考搜索图中、与所述参考节点满足一级参考相似条件的其它参考节点;
所述二级参考搜索图包括所述一级参考搜索图中的部分参考节点、以及所述参考节点的二级连接边,所述参考节点的二级连接边用于连接所述二级参考搜索图中、与所述参考节点满足二级参考相似条件的其它参考节点。
可选的,所述节点搜索模块1003具体用于:
根据所述目标对象的对象特征向量和所述在线状态记录表,在所述二级参考搜索图中搜索满足第一目标条件的二级目标节点;
根据所述二级目标节点确定所述一级参考搜索图的搜索起始节点,根据所述目标对象的对象特征向量和所述在线状态记录表,从所述搜索起始节点开始,在所述一级参考搜索图中搜索满足第二目标条件的一级目标节点;
根据所述一级目标节点确定所述原始参考搜索图的搜索起始节点,根据所述目标对象的对象特征向量和所述在线状态记录表,从所述搜索起始节点开始,在所述原始参考搜索图中搜索满足第三目标条件的原始目标节点;
则所述对象确定模块1004具体用于:
根据所述原始目标节点对应的候选对象,确定所述目标推荐对象。
可选的,所述节点搜索模块1003具体用于:
在所述参考搜索图中确定搜索起始节点;
确定所述搜索起始节点作为当前参考节点,根据所述在线状态记录表和所述目标对象的对象特征向量,对所述当前参考节点进行目标检测操作;
若所述目标检测操作的检测结果表征所述当前参考节点非所述目标节点,则根据所述目标检测操作的检测结果更新所述当前参考节点,并且根据所述在线状态记录表和所述目标对象的对象特征向量,对更新后的当前参考节点进行所述目标检测操作;若所述目标检测操作的检测结果表征所述当前参考节点为所述目标节点,则停止在所述参考搜索图中搜索。
可选的,所述节点搜索模块1003具体用于:
根据所述在线状态记录表,在所述当前参考节点的连接边所连接的各个参考节点中,确定所述当前参考节点关联的各个候选参考节点;所述候选参考节点对应的候选对象的在线状态为在线;
针对所述当前参考节点关联的每个候选参考节点,确定所述目标对象的对象特征向量与所述候选参考节点表征的对象特征向量之间的相似度,作为所述候选参考节点对应的相似度;
若所述各个候选参考节点各自对应的相似度中存在小于参考相似度的相似度,则确定所述当前参考节点非所述目标节点,并确定利用所对应的相似度最小的候选参考节点更新所述当前参考节点;若所述各个候选参考节点各自对应的相似度均不小于所述参考相似度,则确定所述当前参考节点为所述目标节点;所述参考相似度为所述目标对象的对象特征向量与所述当前参考节点表征的对象特征向量之间的相似度。
可选的,所述装置还包括:
第一向量确定模块,用于通过召回模型中的左端点塔结构,根据所述目标对象的第一基础特征,确定所述目标对象的对象特征向量;
第二向量确定模块,用于通过所述召回模型中的右端点塔结构,根据所述候选对象的第二基础特征,确定所述候选对象的对象特征向量。
可选的,所述第一基础特征中包括第一连续特征和离散特征,所述第一连续特征为用于反映所述目标对象在所述目标业务平台上的行为特点的连续特征;
所述第二基础特征中包括第二连续特征和离散特征,所述第二连续特征为对象推荐界面中显示的所述候选对象的连续特征。
可选的,所述第一向量确定模块具体用于:
通过所述左端点塔结构中的多层感知机,根据所述第一连续特征,确定第一连续特征向量;通过所述左端点塔结构和所述右端点塔结构共享的离散特征映射层,根据所述第一基础特征中的离散特征,确定第一离散特征向量;
通过所述左端点塔结构中的全连接层,根据所述第一连续特征向量以及所述第一离散特征向量,确定所述目标对象的对象特征向量;
所述第二向量确定模块具体用于:
通过所述右端点塔结构中的多层感知机,根据所述第二连续特征,确定第二连续特征向量;通过所述离散特征映射层,根据所述第二基础特征中的离散特征,确定第二离散特征向量;
通过所述右端点塔结构中的全连接层,根据所述第二连续特征向量以及所述第二离散特征向量,确定所述候选对象的对象特征向量。
可选的,所述装置还包括模型训练模块,所述模型训练模块用于:
获取训练样本;所述训练样本中包括训练目标对象的第一训练基础特征、训练候选对象的第二训练基础特征、以及训练标签,所述训练标签用于表征向所述训练目标对象推荐所述训练候选对象时,所述训练目标对象是否向所述训练候选对象发送好友申请;
通过所述召回模型中的所述左端点塔结构,根据所述第一训练基础特征,确定所述训练目标对象的训练对象特征向量;通过所述召回模型中的所述右端点塔结构,根据所述第二训练基础特征,确定所述训练候选对象的训练对象特征向量;
确定所述训练目标对象的训练对象特征向量与所述训练候选对象的训练对象特征向量之间的相似度,作为训练相似度;根据所述训练相似度和所述训练标签,训练所述召回模型。
可选的,所述在线状态记录表中包括在线列表和离线列表,所述装置还包括记录表更新模块,所述记录表更新模块用于:
获取所述候选对象在所述目标业务平台上的实时行为日志;
当所述实时行为日志表征所述候选对象产生登录所述目标业务平台的行为时,将所述候选对象的对象标识从所述离线列表迁移至所述在线列表;
当所述实时行为日志表征所述候选对象产生登出所述目标业务平台的行为时,将所述候选对象的对象标识从所述在线列表迁移至所述离线列表。
本申请实施例提供的数据处理装置,在从候选对象中召回目标推荐对象的过程中,综合考虑了候选对象的对象特征向量和候选对象的在线状态;一方面需要保证所召回的目标推荐对象的对象特征向量与目标对象的对象特征向量之间满足目标相似条件,如此,保证所召回的目标推荐对象为目标对象感兴趣的候选对象;另一方面还需要保证所召回的目标推荐对象当前在线,由于在线的对象相比于离线的对象具有更高的概率通过他人的好友申请,因此,保证所召回的目标推荐对象当前在线,有助于提高目标对象向目标推荐对象发起好友申请被通过的概率,即提高好友推荐功能的曝光通过率,提高通过好友推荐功能新增好友关系的概率。
本申请实施例还提供了一种用于数据处理的计算机设备,该计算机设备具体可以是终端设备或者服务器,下面将从硬件实体化的角度对本申请实施例提供的终端设备和服务器进行介绍。
参见图11,图11是本申请实施例提供的终端设备的结构示意图。如图11所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、销售终端(Point of Sales,POS)、车载电脑等任意终端设备,以终端为计算机为例:
图11示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图11,计算机包括:射频(Radio Frequency,RF)电路1110、存储器1120、输入单元1130(其中包括触控面板1131和其他输入设备1132)、显示单元1140(其中包括显示面板1141)、传感器1150、音频电路1160(其可以连接扬声器1161和传声器1162)、无线保真(wirelessfidelity,WiFi)模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1180是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行计算机的各种功能和处理数据。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
在本申请实施例中,该终端所包括的处理器1180还用于执行本申请实施例提供的数据处理方法的任意一种实现方式的步骤。
参见图12,图12为本申请实施例提供的一种服务器1200的结构示意图。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图12所示的服务器结构。
其中,CPU 1222还可以用于执行本申请实施例提供的数据处理方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种数据处理方法中的任意一种实施方式。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种数据处理方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种数据处理方法,其特征在于,所述方法包括:
获取目标业务平台上的目标对象的对象特征向量;
获取所述目标业务平台对应的在线状态记录表;所述在线状态记录表用于反映所述目标业务平台上的各个候选对象各自的在线状态,所述在线状态记录表根据所述候选对象的在线状态的变化更新;
根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;所述参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的连接边,所述参考节点用于表征其对应的候选对象的对象特征向量,所述参考节点的连接边用于连接与所述参考节点满足参考相似条件的其它参考节点;所述目标条件包括与所述目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征所述候选对象在线;
根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象。
2.根据权利要求1所述的方法,其特征在于,所述参考搜索图包括原始参考搜索图、一级参考搜索图、以及二级参考搜索图;
所述原始参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的原始连接边,所述参考节点的原始连接边用于连接所述原始参考搜索图中、与所述参考节点满足原始参考相似条件的其它参考节点;
所述一级参考搜索图包括所述原始参考搜索图中的部分参考节点、以及所述参考节点的一级连接边,所述参考节点的一级连接边用于连接所述一级参考搜索图中、与所述参考节点满足一级参考相似条件的其它参考节点;
所述二级参考搜索图包括所述一级参考搜索图中的部分参考节点、以及所述参考节点的二级连接边,所述参考节点的二级连接边用于连接所述二级参考搜索图中、与所述参考节点满足二级参考相似条件的其它参考节点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点,包括:
根据所述目标对象的对象特征向量和所述在线状态记录表,在所述二级参考搜索图中搜索满足第一目标条件的二级目标节点;
根据所述二级目标节点确定所述一级参考搜索图的搜索起始节点,根据所述目标对象的对象特征向量和所述在线状态记录表,从所述搜索起始节点开始,在所述一级参考搜索图中搜索满足第二目标条件的一级目标节点;
根据所述一级目标节点确定所述原始参考搜索图的搜索起始节点,根据所述目标对象的对象特征向量和所述在线状态记录表,从所述搜索起始节点开始,在所述原始参考搜索图中搜索满足第三目标条件的原始目标节点;
所述根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象,包括:
根据所述原始目标节点对应的候选对象,确定所述目标推荐对象。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点,包括:
在所述参考搜索图中确定搜索起始节点;
确定所述搜索起始节点作为当前参考节点,根据所述在线状态记录表和所述目标对象的对象特征向量,对所述当前参考节点进行目标检测操作;
若所述目标检测操作的检测结果表征所述当前参考节点非所述目标节点,则根据所述目标检测操作的检测结果更新所述当前参考节点,并且根据所述在线状态记录表和所述目标对象的对象特征向量,对更新后的当前参考节点进行所述目标检测操作;若所述目标检测操作的检测结果表征所述当前参考节点为所述目标节点,则停止在所述参考搜索图中搜索。
5.根据权利要求4所述的方法,其特征在于,所述根据所述在线状态记录表和所述目标对象的对象特征向量,对所述当前参考节点进行目标检测操作,包括:
根据所述在线状态记录表,在所述当前参考节点的连接边所连接的各个参考节点中,确定所述当前参考节点关联的各个候选参考节点;所述候选参考节点对应的候选对象的在线状态为在线;
针对所述当前参考节点关联的每个候选参考节点,确定所述目标对象的对象特征向量与所述候选参考节点表征的对象特征向量之间的相似度,作为所述候选参考节点对应的相似度;
若所述各个候选参考节点各自对应的相似度中存在小于参考相似度的相似度,则确定所述当前参考节点非所述目标节点,并确定利用所对应的相似度最小的候选参考节点更新所述当前参考节点;
若所述各个候选参考节点各自对应的相似度均不小于所述参考相似度,则确定所述当前参考节点为所述目标节点;所述参考相似度为所述目标对象的对象特征向量与所述当前参考节点表征的对象特征向量之间的相似度。
6.根据权利要求1所述的方法,其特征在于,所述目标对象的对象特征向量是通过以下方式确定的:
通过召回模型中的左端点塔结构,根据所述目标对象的第一基础特征,确定所述目标对象的对象特征向量;
所述候选对象的对象特征向量是通过以下方式确定的:
通过所述召回模型中的右端点塔结构,根据所述候选对象的第二基础特征,确定所述候选对象的对象特征向量。
7.根据权利要求6所述的方法,其特征在于,所述第一基础特征中包括第一连续特征和离散特征,所述第一连续特征为用于反映所述目标对象在所述目标业务平台上的行为特点的连续特征;
所述第二基础特征中包括第二连续特征和离散特征,所述第二连续特征为对象推荐界面中显示的所述候选对象的连续特征。
8.根据权利要求7所述的方法,其特征在于,所述通过召回模型中的左端点塔结构,根据所述目标对象的第一基础特征,确定所述目标对象的对象特征向量,包括:
通过所述左端点塔结构中的多层感知机,根据所述第一连续特征,确定第一连续特征向量;通过所述左端点塔结构和所述右端点塔结构共享的离散特征映射层,根据所述第一基础特征中的离散特征,确定第一离散特征向量;
通过所述左端点塔结构中的全连接层,根据所述第一连续特征向量以及所述第一离散特征向量,确定所述目标对象的对象特征向量;
所述通过所述召回模型中的右端点塔结构,根据所述候选对象的第二基础特征,确定所述候选对象的对象特征向量,包括:
通过所述右端点塔结构中的多层感知机,根据所述第二连续特征,确定第二连续特征向量;通过所述离散特征映射层,根据所述第二基础特征中的离散特征,确定第二离散特征向量;
通过所述右端点塔结构中的全连接层,根据所述第二连续特征向量以及所述第二离散特征向量,确定所述候选对象的对象特征向量。
9.根据权利要求6所述的方法,其特征在于,所述召回模型是通过以下方式训练的:
获取训练样本;所述训练样本中包括训练目标对象的第一训练基础特征、训练候选对象的第二训练基础特征、以及训练标签,所述训练标签用于表征向所述训练目标对象推荐所述训练候选对象时,所述训练目标对象是否向所述训练候选对象发送好友申请;
通过所述召回模型中的所述左端点塔结构,根据所述第一训练基础特征,确定所述训练目标对象的训练对象特征向量;通过所述召回模型中的所述右端点塔结构,根据所述第二训练基础特征,确定所述训练候选对象的训练对象特征向量;
确定所述训练目标对象的训练对象特征向量与所述训练候选对象的训练对象特征向量之间的相似度,作为训练相似度;根据所述训练相似度和所述训练标签,训练所述召回模型。
10.根据权利要求1所述的方法,其特征在于,所述在线状态记录表中包括在线列表和离线列表,所述在线状态记录表是通过以下方式更新的:
获取所述候选对象在所述目标业务平台上的实时行为日志;
当所述实时行为日志表征所述候选对象产生登录所述目标业务平台的行为时,将所述候选对象的对象标识从所述离线列表迁移至所述在线列表;
当所述实时行为日志表征所述候选对象产生登出所述目标业务平台的行为时,将所述候选对象的对象标识从所述在线列表迁移至所述离线列表。
11.一种数据处理装置,其特征在于,所述装置包括:
向量获取模块,用于获取目标业务平台上的目标对象的对象特征向量;
状态获取模块,用于获取所述目标业务平台对应的在线状态记录表;所述在线状态记录表用于反映所述目标业务平台上的各个候选对象各自的在线状态,所述在线状态记录表根据所述候选对象的在线状态的变化更新;
节点搜索模块,用于根据所述目标对象的对象特征向量和所述在线状态记录表,在参考搜索图中搜索满足目标条件的目标节点;所述参考搜索图包括所述各个候选对象各自对应的参考节点、以及所述参考节点的连接边,所述参考节点用于表征其对应的候选对象的对象特征向量,所述参考节点的连接边用于连接与所述参考节点满足参考相似条件的其它参考节点;所述目标条件包括与所述目标对象的对象特征向量满足目标相似条件、以及所对应的候选对象的在线状态表征所述候选对象在线;
对象确定模块,用于根据所述目标节点对应的候选对象,确定向所述目标对象推荐的目标推荐对象。
12.一种计算机设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至10中任一项所述的数据处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至10中任一项所述的数据处理方法。
14.一种计算机程序产品,包括计算机程序或者指令,其特征在于,所述计算机程序或者所述指令被处理器执行时,实现权利要求1至10中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211521661.XA CN116957833A (zh) | 2022-11-30 | 2022-11-30 | 一种数据处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211521661.XA CN116957833A (zh) | 2022-11-30 | 2022-11-30 | 一种数据处理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116957833A true CN116957833A (zh) | 2023-10-27 |
Family
ID=88457055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211521661.XA Pending CN116957833A (zh) | 2022-11-30 | 2022-11-30 | 一种数据处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116957833A (zh) |
-
2022
- 2022-11-30 CN CN202211521661.XA patent/CN116957833A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11070643B2 (en) | Discovering signature of electronic social networks | |
CN112084422B (zh) | 一种账号数据智能处理方法和装置 | |
CN112926990B (zh) | 欺诈识别的方法和装置 | |
CN111325417B (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
US9604148B2 (en) | Management server of game service and method of providing game service | |
US11514368B2 (en) | Methods, apparatuses, and computing devices for trainings of learning models | |
US20220374477A1 (en) | Recommendation of search suggestions | |
US20210173879A1 (en) | Data flood checking and improved performance of gaming processes | |
CN111659125B (zh) | 基于游戏的好友推荐方法、装置及计算机可读存储介质 | |
CN112052399B (zh) | 一种数据处理方法、装置和计算机可读存储介质 | |
CN110941769A (zh) | 目标帐号的确定方法和装置、电子装置 | |
CN109660582B (zh) | 帐号信号的推送方法、装置、存储介质和电子设备 | |
CN111949813A (zh) | 交友请求方法、装置、计算机设备和存储介质 | |
CN116957833A (zh) | 一种数据处理方法及相关装置 | |
CN110124306B (zh) | 一种资源配置信息推荐的方法、装置、设备和介质 | |
CN112818241B (zh) | 一种内容推广方法、装置、计算机设备和存储介质 | |
KR102173452B1 (ko) | 데이터 처리 방법 | |
CN116339932A (zh) | 资源调度方法、装置和服务器 | |
CN118051782B (zh) | 一种模型训练的方法、业务处理的方法以及相关装置 | |
US11617959B2 (en) | Detection of malicious games | |
CN117414586A (zh) | 对象确定方法、装置及存储介质 | |
CN117579688A (zh) | 一种信息推送方法及相关设备 | |
CN116561404A (zh) | 内容推荐方法、装置、电子设备和计算机可读存储介质 | |
CN116955837A (zh) | 一种对象的推荐方法、装置以及存储介质 | |
CN117258307A (zh) | 信息推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |