CN117258307A - 信息推荐方法、装置、电子设备及存储介质 - Google Patents
信息推荐方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117258307A CN117258307A CN202210689242.0A CN202210689242A CN117258307A CN 117258307 A CN117258307 A CN 117258307A CN 202210689242 A CN202210689242 A CN 202210689242A CN 117258307 A CN117258307 A CN 117258307A
- Authority
- CN
- China
- Prior art keywords
- image
- training
- target
- sample
- candidate recommended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000003993 interaction Effects 0.000 claims abstract description 80
- 238000012549 training Methods 0.000 claims description 349
- 238000000605 extraction Methods 0.000 claims description 148
- 238000013145 classification model Methods 0.000 claims description 93
- 238000003062 neural network model Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 21
- 230000004927 fusion Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 239000000523 sample Substances 0.000 description 214
- 230000006870 function Effects 0.000 description 32
- 239000013598 vector Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 15
- HDAJUGGARUFROU-JSUDGWJLSA-L MoO2-molybdopterin cofactor Chemical compound O([C@H]1NC=2N=C(NC(=O)C=2N[C@H]11)N)[C@H](COP(O)(O)=O)C2=C1S[Mo](=O)(=O)S2 HDAJUGGARUFROU-JSUDGWJLSA-L 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000002372 labelling Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010428 oil painting Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种信息推荐方法、装置、电子设备及存储介质,涉及人工智能、云技术及多媒体技术领域。该方法包括:获取目标应用对应的目标对象和至少一个候选推荐对象的对象数据、以及目标对象与每个候选推荐对象之间的交互数据;对于每个候选推荐对象,根据目标对象的头像偏好信息和该推荐对象的头像偏好信息,确定该推荐对象对应的第一关联特征,根据该推荐对象对应的交互数据,确定该推荐对象对应的第二关联特征,根据该推荐对象对应的各项关联特征,确定目标对象对于该推荐对象的感兴趣程度;根据各候选推荐对象对应的感兴趣程度,从各候选推荐对象中确定出目标推荐对象。基于本申请提供的方法,能够有效提升对象推荐的准确性。
Description
技术领域
本申请涉及人工智能、云技术以及计算机技术领域,具体而言,本申请涉及一种信息推荐方法、装置、电子设备及存储介质。
背景技术
近年来,随着互联网和信息技术的飞速发展,人们越来越倾向于借助互联网进行交互,具有交互功能的应用程序也日益增多。为了更好的满足应用程序的使用者的使用需求,向使用者进行信息推荐也是很多应用程序常有的功能之一,比如,可以向使用者推荐其可能感兴趣的其他对象,以便于使用者可以对其他使用者进行关注或者进行好友添加等等。
目前的推荐技术中,大多都是基于使用者的一些基础信息进行对象推荐,推荐的准确性不佳,不能够很好的满足应用需求。
发明内容
本申请实施例的目的旨在提供一种能够有效提升推荐准确性的信息推荐方法、装置、电子设备及存储介质。为了实现上述目的,本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种信息推荐方法,该方法包括:
获取目标应用对应的目标对象的对象数据、至少一个候选推荐对象的对象数据、以及所述目标对象与每个所述候选推荐对象之间的交互数据,其中,所述对象数据包括第一信息,每个对象的第一信息包括该对象在所述目标应用中的头像偏好信息;
对于每个所述候选推荐对象,根据所述目标对象的头像偏好信息和该候选推荐对象的头像偏好信息,确定所述目标对象和该候选推荐对象之间的第一关联特征,根据所述目标对象和该候选推荐对象之间的交互数据,确定所述目标对象与该候选推荐对象之间的第二关联特征;
对于每个所述候选推荐对象,根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度,其中,所述各项关联特征包括所述第一关联特征和所述第二关联特征;
根据各所述候选推荐对象对应的感兴趣程度,从各所述候选推荐对象中确定出所述目标对象的目标推荐对象。
另一方面,本申请实施例提供了一种信息推荐装置,该装置包括:
源数据获取模块,用于获取目标应用对应的目标对象的对象数据、至少一个候选推荐对象的对象数据、以及所述目标对象与每个所述候选推荐对象之间的交互数据,其中,所述对象数据包括第一信息,每个对象的第一信息包括该对象在所述目标应用中的头像偏好信息;
对象筛选模块,用于对于每个所述候选推荐对象,根据所述目标对象的头像偏好信息和该候选推荐对象的头像偏好信息,确定所述目标对象和该候选推荐对象之间的第一关联特征,根据所述目标对象和该候选推荐对象之间的交互数据,确定所述目标对象与该候选推荐对象之间的第二关联特征,以及根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度,其中,所述各项关联特征包括所述第一关联特征和所述第二关联特征;
对象推荐模块,用于根据各所述候选推荐对象对应的感兴趣程度,从各所述候选推荐对象中确定出所述目标对象的目标推荐对象。
可选的,所述对象数据还包括第二信息,每个对象的第二信息包括该对象的基本属性信息或该对象对于所述目标应用的使用情况信息中的至少一项;所述对象筛选模块还用于:
对于每个所述候选推荐对象,根据所述目标对象的第二信息和该候选推荐对象的第二信息,确定所述目标对象和该候选推荐对象之间的第三关联特征;
其中,每个所述候选推荐对象对应的各项关联特征还包括该候选推荐对象对应的第三关联特征。
可选的,对于每个所述候选推荐对象,所述对象筛选模块可以用于:将该候选推荐对象对应的各项关联特征进行拼接,得到拼接特征;对所述拼接特征进行特征提取,得到中间特征;基于所述拼接特征中的各特征值之间的关联性,确定所述中间特征中的各特征值对应的权重;根据所述中间特征中的各特征值对应的权重,对所述中间特征中的各特征值进行加权,得到所述各项关联特征对应的融合特征;根据所述融合特征,确定目标对象对于该候选推荐对象的感兴趣程度。
可选的,对于所述目标对象和所述至少一个候选推荐对象中的每个对象,该对象的头像偏好信息是通过以下方式获取到的:
获取该对象在所述目标应用中的头像;
通过训练好的图像特征提取模型对该对象的头像进行特征提取,得到该对象的头像特征,其中,所述头像特征包含了该对象的头像中的图像风格信息或图像语义信息中的至少一项,所述头像特征表征了该对象的头像偏好信息。
可选的,所述图像特征提取模型是由模型训练装置通过以下方式训练得到的:
获取第一训练集,所述第一训练集包括多个带有标签的第一图像,所述标签表征了所述第一图像的真实类别;
基于所述第一训练集对初始分类模型进行迭代训练,得到训练好的目标分类模型,所述初始分类模型包括级联的第一特征提取模块和分类模块;
获取第二训练集和待训练的特征提取模型,所述第二训练集中的每个第一样本包括一个第二图像、该第二图像的至少一个正样本图像和至少一个负样本图像,其中,该第二图像和该第二图像的正样本图像之间的相似度大于该第二图像和该第二图像的负样本之间的相似度,所述待训练的特征提取模型包括所述目标分类模型的第一特征提取模块和第二特征提取模块;
基于所述第二训练集对所述待训练的特征提取模型重复执行第一训练操作,直至满足第一训练结束条件,将满足该条件时的第一特征提取模块作为所述图像特征提取模型,所述第一训练操作包括:
对于每个所述第一样本,将该第一样本中的第二图像输入到第一特征提取模块中,得到该第二图像的图像特征,将该第一样本中的各个正样本图像和各个负样本图像分别输入到第二特征提取模块中,得到每个正样本图像和每个负样本图像的图像特征;
对于每个所述第一样本,根据该第一样本中的第二图像的图像特征和各个正样本图像的图像特征之间的相似度、以及第二图像的图像特征和各个负样本图像的图像特征之间的相似度,确定该第一样本对应的训练损失;
根据各所述第一样本对应的训练损失,确定所述待训练的特征提取模型的第一训练总损失,若不满足所述第一训练结束条件,则基于所述第一训练总损失对所述待训练的特征提取模型的模型参数进行调整。
可选的,所述第二训练集是通过以下方式获取到的:
获取多个第二图像;对于每个所述第二图像,对该第二图像进行图像增强处理,得到该第二图像对应的至少一个正样本图像;对于每个所述第二图像,将所述多个第二图像中除该第二图像之外的至少一个图像,作为该第二图像的至少一个负样本图像,基于该第二图像、该第二图像的至少一个正样本图像中至少一个图像、以及所述该第二图像的至少一个负样本图像,得到一个第一样本。
可选的,所述模型训练装置是通过以下方式得到训练好的目标分类模型的:
基于所述第一训练集,构建得到多个三元组,其中,每个所述三元组包括一个第一图像、该第一图像的正样本和该第一图像的负样本,其中,所述正样本为所述第一训练集与该第一图像属于相同类别的图像,所述负样本为所述第一训练集与该第一图像属于不同类别的图像;
将所述第一训练集中的每个第一图像分别输入到初始分类模型中,通过所述初始分类模型的第一特征提取模块得到该第一图像的图像特征,基于该第一图像的图像特征,通过所述初始分类模型的分类模块得到该第一图像的类别预测结果;
根据各所述第一图像的标签和类别预测结果,确定所述初始分类模型的第一训练损失;
对于每个所述三元组,根据该三元组中的第一图像的图像特征与正样本的图像特征之间的差异、以及第一图像的图像特征与负样本的图像特征之间的相似度,确定该三元组对应的训练损失;
根据各所述三元组对应的训练损失,确定所述初始分类模型的第二训练损失;
根据所述初始分类模型的第一训练损失和第二训练损失,确定所述初始分类模型的第二训练总损失;
若满足预设的第二训练结束条件,则将满足该条件时的分类模型作为所述目标分类模型,若不满足该条件,则基于所述第二训练总损失对分类模型的模型参数进行调整,并基于所述第一训练集对调整后的分类模型继续进行训练。
可选的,对于每个所述候选推荐对象,对象筛选模块在确定该候选推荐对象对应的各项关联特征、以及根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度时,是通过训练好的对象推荐模型实现的;其中,所述对象推荐模型是通过以下方式训练得到的:
获取第三训练集,所述第三训练集中包括带有标签的多个第二样本,每个所述第二样本包括第一对象和第二对象的对象数据、以及第一对象和第二对象之间的交互数据,所述第二样本的标签表征了在将该第二样本对应的第二对象推荐给对应的第一对象时,第一对象对于第二对象的真实推荐反馈结果;
基于所述第三训练集对神经网络模型重复执行第二训练操作,直至满足预设条件,得到训练好的对象推荐模型,所述第二训练操作包括:
对于每个所述第二样本,将该第二样本中的两个对象的对象数据、以及两个对象的交互数据输入到所述神经网络模型中,得到该第二样本对应的第一对象和第二对象之间的匹配程度,所述匹配程度表征了该第二样本对应的第一对象对于第二对象的预测推荐反馈结果;
根据各所述第二样本对应的匹配程度和标签,确定所述神经网络模型对应的第三训练总损失,若不满足所述预设条件,则基于所述第三训练总损失对神经网络模型的模型参数进行调整。
可选的,所述第三训练集是通过以下方式获取到的:
获取所述目标应用对应的历史推荐数据,所述历史推荐数据包括多个第一对象的第一相关数据,所述第一相关数据包括第一对象对应的已推荐对象集合、以及所述第一对象对于所述已推荐对象集合中的各个第二对象的真实推荐反馈结果;
对于每个所述第一对象,获取所述第一对象对应的第二相关数据,所述第二相关数据包括所述第一对象的对象数据、所述第一对象对应的至少一个第二对象的对象数据、以及所述第一对象与所述至少一个第二对象中每个第二对象之间的交互数据;
对于每个所述第一对象,根据所述第一对象对应的第二相关数据、以及所述第一对象对于所述至少一个第二对象中每个第二对象的真实推荐反馈结果,构建得到所述第一对象对应的至少一个第二样本;
基于各所述第一对象对应的至少一个第二样本,得到所述第三训练集。
再一方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序以实现本申请任一可选实施例提供的方法。
本申请实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现本申请任一可选实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,该计算机产品包括计算机程序,所述计算机程序被处理器执行时实现本申请任一可选实施例提供的方法。
本申请实施例提供的技术方案带来的有益效果如下:
本申请实施例提供的信息推荐方法,在从各个候选推荐对象为目标对象进行其很可能感兴趣的对象的推荐时,可以基于多种不同模态的数据,通过挖掘目标对象和候选推荐对象之间在多个不同维度的关联特征,实现了目标推荐对象的准确筛选。本申请实施例提供的该推荐方法,在进行对象推荐时,不仅仅考虑了目标对象和候选推荐对象之间的交互数据,还创新性的引入了对象的头像偏好信息,由于每个对象通常都有各自所偏好的头像风格和/或头像内容,因此,通过引入对象的头像偏好信息,可以使得目标对象对最终所筛选出的目标推荐对象感兴趣的可能性更高,实现了更加精确的推荐。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种信息推荐系统的结构示意图;
图2和图3为本申请实施例中的一种游戏应用的用户界面的示意图;
图4为本申请实施例提供的一种神经网络的训练及部署的实施原理示意图;
图5为本申请实施例中提供的基于图1中所示的系统的对象推荐方法的实施流程示意图;
图6为本申请实施例提供的一种通过训练得到图像特征提取模型的原理示意图;
图7为本申请实施例提供的一种采样无监督方式对图像特征提取模型进行训练的原理示意图;
图8为本申请实施例中提供的一种基于对象推荐模型实现对象推荐的实施流程示意图;
图9为本申请实施例中提供的一种对象推荐系统的结构及工作原理示意图;
图10a和图10b为本申请的示例中提供的通过两种方式得到的图像检索结果的示意图;
图11为本申请实施例提供的一种信息推荐方法的流程示意图;
图12为本申请实施例中提供的一种信息推荐装置的结构示意图;
图13为本申请实施例所适用的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数A包括A1、A2、A3”的描述,可以实现为参数A包括A1或A2或A3,还可以实现为参数A包括参数A1、A2、A3这三项中的至少两项。
本申请是针对现有对象推荐系统中推荐结果的准确性不佳的问题,而提出的一种信息推荐方法,基于该方法,能够有效提高推荐准确性,使得向目标对象推荐的对象更符合目标对象的需求,从而进一步提升了对象的社交活跃度。
可选的,本申请实施例提供的方案,可以基于人工智能(ArtificialIntelligence,AI)技术实现,具体可以涉及到神经网络模型的训练以及神经网络模型的应用。比如,可以基于申请实施例中提供的训练方式,采用机器学习(Machine Learning,ML)方式训练得到能够有效提取头像的图像特征的特征提取模型,以及用于预测目标对象和待推荐对象匹配程度的推荐模型。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。随着人工智能技术的研究和进步,人工智能技术已经在常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等多个领域展开研究和应用,相信随着技术的发展,该技术将在更多的领域得到应用,并发挥越来越重要的价值。
可选的,本申请实施例提供的方法中所涉及的数据处理可以基于云技术实现。例如,可以基于云技术实现本申请提供的训练方法,训练过程中所涉及的各种数据计算(如训练损失的计算、模型参数的调整等)可以采用云计算(cloud computing)的方式实现。可选的,训练过程中所使用的各个训练集的存储还可以采用云存储(cloud storage)的方式存储。
本申请实施例中所描述的目标应用可以是任意具有交互功能的应用程序,可以包括但不限于即时通信类应用、社交类应用或戏应用,其中,游戏应用可以是需要用户下载安装的游戏应用,也可以是云游戏应用,还可以是小程序中的游戏应用等,游戏应用的类型本申请实施例也不限定,可以是任意类型的游戏应用,例如,可以包括但不限于动作类、冒险类、模拟类、角色扮演类、休闲类等类型的游戏。在目标应用是游戏应用时,基于本申请实施例提供的方法,可以为目标应用中的目标对象(任一玩家)进行其他对象的推荐,目标对象可以基于推荐结果,对推荐的对象申请进行关注、添加好友等等。
可选的,本申请实施例提供的信息推荐方法可以实现为一独立的应用程序或者是应用程序(如目标应用)中的一个功能模块/插件,通过运行该独立的应用程序或者模块/插件,可以从多个候选推荐对象中确定出目标推荐对象。
本申请实施例提供的方法可以由任意的电子设备执行,如可以由终端设备或服务器执行,作为一可选方式,该方法可以由目标应用的应用服务器执行,应用服务器可以基于目标对象的对象数据、候选推荐对象的对象数据以及目标对象与候选推荐对象之间的交互数据,从候选推荐对象中确定出可以向目标对象进行推荐的目标推荐对象,并可以将确定出的目标推荐对象的相关信息(如头像、昵称、在应用程序中的对象名称等)发送给目标对象的终端设备,并通过目标应用的对象推荐页面展示给目标对象,目标对象可以通过该页面看到服务器向其推荐的对象的相关信息,并可以根据需要选择想要关注或者添加为好友的对象等。
其中,上述应用服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。上述用户终端(也可以称为用户设备)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、AR/VR设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请的可选实施例中,所涉及到的与对象有关的各种数据(如对象数据、对象之间的交互数据等等),当本申请的实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。也就是说,本申请实施例中如果涉及到与对象有关的数据,这些数据需要经由对象授权同意、且符合国家和地区的相关法律法规和标准的情况下获取的。
为了更好的说明和理解本申请实施例提供的方案以及其实用价值,下面先结合一个应用场景的实施例对本申请实施例提供的方法进行说明。该应用场景中,目标应用以游戏应用为例进行说明,目标对象和候选推荐对象为该游戏应用的玩家,基于本申请实施例提供的信息推荐方法,能够为该游戏应用的玩家进行更加准确地好友推荐。
图1示出了本场景实施例所适用的一种信息推荐系统的结构示意图,如图2所示,该信息推荐系统可以包括训练服务器10、游戏服务器20和终端设备30,其中,训练服务器10可以用于执行本申请实施例中涉及的神经网络的训练操作,如基于第一训练集和第二训练集训练得到图像特征提取模型的训练步骤,以及基于第三训练集训练得到符合需求的对象推荐模型的训练步骤。通过训练服务器10训练得到训练好的图像特征提取模型和信息推荐模型之后,可以将这两种模型部署到游戏服务器20中。游戏服务器20可以基于玩家的玩家数据以及玩家之间的交互数据,为游戏的玩家进行好友推荐,即目标推荐对象的推荐,游戏的玩家可以通过其终端设备30参与游戏,并可以通过游戏应用的好友推荐界面查看游戏服务器20为其推荐的好友列表,该列表中可以包括多个目标推荐对象的相关信息,如推荐的玩家在游戏中的名称、头像等信息,玩家可以根据其需求或者喜好从推荐的好友列表中选择其想要添加的好友。
作为一个示例,图2中示出了游戏应用的一种用户界面的示意图,该用户界面中显示了玩家的玩家信息,可以包括但不限于图2中所示的玩家在游戏中的玩家名称(游戏名称)、玩家头像A、玩家在游戏中的角色B、玩家在游戏中的当前段位、参与游戏的相关信息(如赛季档案)、以及玩家的其他基本信息(如个人战绩、历史战绩等数据)等,玩家在其终端设备30上可以通过游戏应用的该用户界面查看上述信息,可选的,玩家还可以通过该界面上的设置控件或者其他设置界面上设置控件出发对上述信息中的一项或多项信息的修改,例如,玩家可以修改自己的玩家头像。
在游戏应用中,游戏玩家还可以通过游戏应用的好友推荐页面查看游戏服务器20为其推荐的可能感兴趣的玩家(即目标推荐对象)、还可以通过输入搜索信息查找符合要求的玩家、还可以申请添加游戏服务器20为其推荐的或者玩家搜索到的其他玩家成为好友。
作为一个示例,图3示出了一种游戏应用的好友推荐界面的示意图,该界面中可以显示有游戏服务器20通过执行本申请实施例所提供的信息推荐方法为该玩家(目标对象)推荐的一个或多个其他玩家(目标推荐对象)的相关信息,如图3中所示的4个玩家的相关信息,这4个玩家的玩家名称分别为“名称1”、“名称2”、“名称3”和“名称4”,该界面中还显示了这些玩家的玩家头像,还可以显示有图3中所示的这些玩家的其他相关信息(具体详实哪些信息可以根据实际需求配置),以便于目标对象能够更好的了解被推荐的各个玩家,可选的,目标对象可以通过对界面进行下拉或者滑动操作来查看更多的为其推荐的玩家的信息。图3中所示的被推荐的玩家所对应的匹配度代表了目标对象对于该玩家的感兴趣程度,如目标对象与玩家名称为“名称1”的玩家的匹配度为83,目标对象与玩家名称为“名称2”的玩家的匹配度为86,被推荐的玩家所对应的匹配度越高,目标对象对该给玩家感兴趣的可能性越高。
可选的,在一个玩家的好友推荐界面中显示为其推荐的玩家时,可以按照这些玩家与该玩家的匹配度(也就是该玩家对推荐的玩家的感兴趣程度)进行排序显示,每个被推荐的玩家可以对应有好友添加控件(如图3中玩家名称左侧的带有“+”的控件),该玩家可以通过该控件选择是否添加某个或某些玩家成为好友。该玩家还可以通过对界面上的“游戏好友”控件进行操作来查看自己已有的好友,可以通过界面上的“最近互动”控件查看自己最近一段时间内进行过互动的其他玩家。
需要说明的是,游戏服务器20执行本申请实施例所提供的方法的具体实际本申请实施例不做限定,例如,可以按照一定的时间间隔通过执行方法确定为玩家推荐的其他玩家,在玩家查看好友推荐界面时,可以将最新确定出的玩家列表显示给该玩家;或者可以是在该玩家查看好友推荐界面时,游戏服务器20通过执行该方法,从多个候选推荐对象中确定出目标推荐对象,并将确定出的这些对象的相关信息通过玩家推荐界面展示给该玩家。
可选的,玩家也可以在其终端设备30上显示的该界面中输入搜索信息,如在“我想找”选项中输入或选择搜索信息、在“段位”选项中输入想要查找的玩家的段位,还可以在“精确搜索”这一选项中输入想要查找的玩家名称或者玩家的角色ID等,玩家通过点击界面上的“搜索”控件发起玩家搜索请求,游戏服务器20在收到该请求之后即可根据玩家输入的相关信息,确定出符合条件的其他玩家,并通过该界面将这些玩家的相关信息显示出来。
需要说明的是,本申请实施例提供的附图中所涉及的图像或头像只是一些示意性的说明,图像或头像中包含的具体内容并不应当解释成对本申请实施例的方案的限制或约束。
为了描述方便,下面以玩家A作为目标对象,多个其他玩家B作为候选推荐对象为例,对本申请提供的信息推荐方法的一种可选实施方式进行说明。其中,游戏服务器20在为玩家A进行其可能感兴趣的玩家的推荐时,可以基于通过图像特征提取模型和对象推荐模型实现,其中,图像特征提取模型用于提取玩家头像的图像特征,该特征代表了玩家的头像偏好信息,对象推荐模型可以基于玩家A和每个玩家B的多个维度的特征,预测出玩家A对每个玩家B的感兴趣程度,从而可以从多个玩家B中确定出要推荐给玩家A的目标推荐对象。
本申请实施例提供的该推荐方法,可以分为两个阶段,如图4中所示的模型训练阶段和模型部署阶段(也就是模型应用阶段),模型训练阶段可以由训练服务器10基于训练集训练得到符合应用需求的图像特征提取模型和对象推荐模型,模型部署阶段则可以是将训练好的图像特征提取模型和对象推荐模型部署到游戏服务器20中,游戏服务器20通过调用这两个模型为玩家进行其可能感兴趣的玩家的推荐。
图5示出了基于图1中所示的信息推荐系统进行玩家推荐的流程示意图,如图5所示,该推荐方法可以包括模型训练阶段的步骤S11至步骤S14、以及模型应用阶段的步骤S21至步骤S24,具体如下:
步骤S11:获取第一训练集和第二训练集。
步骤S12:基于第一训练集和第二训练集训练得到图像特征提取模型。
其中,第一训练集和第二训练集中的样本数据都是图像数据,第一训练集是带有类别标签的训练样本集,第二训练集是无标签的训练样本集。第一训练集中的每个训练样本为一张图像(称为第一图像),第二训练集中的每个训练样本为一个图像组合,可选的,该图像组合包括一张第二图像、该第二图像的一张正样本图像、以及该第二图像的多个负样本图像。
采用第一训练集和第二训练集训练得到符合需求的图像特征提取模型(以下可以称为图片特征提取器f)的过程可以分为如图6中所示的训练1和训练2两个阶段,训练1为基于第一训练集对初始分类模型进行训练得到满足要求(如满足训练结束条件,例如,训练次数达到设定次数或模型对应的损失函数收敛等)的目标分类模型,其中,初始分类模型包括第一特征提取模块(图6中所示的深度卷积网络)和分类模型,在基于带有类别标签的第一训练集中的图像训练得到满足一定需求的目标分类模型之后,训练2是基于第二训练集对阶段1训练得到的目标分类模型的第一特征提取模块进行进一步训练,得到所需的图像特征提取器f。训练好的图像特征提取器f可以在训练得到对象推荐模型时,用于提取第三训练集中的样本图像的图像特征,以及用于确定目标推荐对象时,用于提取目标对象和候选推荐对象的头像特征,也就是将图像/头像转化为特征向量,以用于后续的对象推荐任务,也就是图6中所示的推理阶段。
为了获取到能够更好的表征头像语义信息和风格信息的特征向量,本申请实施例中,可以采用深度特征,利用深度神经网络,基于大量的历史数据训练特征提取器f,自动学习的高效的头像表征。图片特征提取器f的神经网络模型可以为深度卷积网络,是一类包含卷积计算且具有深度结构的前馈神经网络,提取到头像特征后,对象推荐模型可以融合玩家多种模态的信息(包括头像特征,具体在后文中介绍)实现好友推荐任务。
图片特征提取器f的工作原理可以表示为:V=f(I),其中,I代表一张图像,V表示通过图片特征提取器f提取出来的图像I的特征向量。例如,输入到特征提取器中的是一个玩家在游戏应用中的头像,那么特征提取器输出的就是该玩家的头像特征。
可选的,用于训练得到图片特征提取器f的第一训练集中的大量第一图像可以是基于从公开数据集和网络中获取到了一些有标注的人物、卡通、游戏素材、风景等一些图片得到的,这是头像中常见的一些元素,标注信息是他们的类别,不同的人物、卡通以及风景视为不同的类别。可以基于这些带有类别标注的图片训练得到一个初步的图片特征提取器(目标分类模型的第一特征提取模块)。
可选的,可以将收集的数据集(即带有类别标签的图片集)作为训练数据,可以经过统一图像尺度、随机擦除、标准化或随机裁剪等方式中的一种或多种对这些图片进行预处理之后作为第一训练集中的第一图像,将这些第一图像分别输入到初始的深度卷积网络(即初始的图像特征提取模型)中,通过该网络提取得到每个第一图像的图像特征,进一步的,基于该图像特征可以通过分类模块预测得到每个第一图像的类别预测结果。可选的,该卷积神经网络可以为EfficientNet模型,该模型可以使用度量学习和分类学习两种任务进行训练。其中,度量学习目的是使得模型具有更好的拉近同类样本,隔远不同类样本的能力。分类学习是使得模型能正确预测输入样本的类别。可选的,可以基于第一训练集中的第一图像构建得到多个三元组,初始分类模型的度量学习的训练损失可以通过计算各个三元组对应的训练损失得到的,可选的,对于每个第一图像,可以将第一训练集中与该第一图像属于同类别的第一图像作为该图像的正样本、与该第一图像属于不同类别的第一图像作为该第一图像的负样本,将该第一图像、该图像的正样本和负样本组合作为一个三元组。初始分类模型(即训练1阶段的深度卷积网络和分类模块)的目标函数(损失函数)可以包括用于度量学习的三元组损失函数(该损失函数的值后文中的第二训练损失)与用于分类学习的交叉熵损失函数(该损失函数的值为后文中的第一训练损失),其中,三元组损失函数的表达式如下:
其中,Lt代表三元组损失函数的值,P和K分别代表一批样本(一个batch的样本)中的图像类别数和一个类别中样本的数目,α代表三元组损失的间隔,为预设值,xa,xp,xn分别代表三元组中的锚图像(第一图像),正类图像(第一图像的正样本)和负类图像(第一图像的负样本),分别表示第i个类别的第一图像、该第一图像的正样本(第i个类别的图像)和该第一图像的负样本(第j个类别的图像),/>和/>分别表示/>和/>的图像特征,||.||2表示L2距离,/>代表了/>和的图像特征之间的差异,/>代表了/>和/>的图像特征之间的相似度,+表示[.]内的值大于零的时候,取[.]内的值为损失,[.]内的值小于零的时候,取值为零。
交叉熵损失函数的表达式如下:
其中,Ls表示交叉熵损失函数的值,N表示一次训练所采用的第一训练集中的一批样本的样本总数即batchsize,也就是一次训练过程中使用的第一图像的数量,这里的i表示一批样本中的第i张第一图像,yi和pi分别代表第i张第一图像的真实类别标签和预测的类别标签(即上述预测类别结果),其中,预测的类别标签可以是第一图像属于各个类别的概率向量。
由于标注图像的成本比较高,可利用的有标注数据较有限。这会使得模型训练完成后依然存在较大领域差异。为了能缩小领域差异,可以继续采用无标注信息的海量头像数据(第二训练集)进行训练。由于这些头像数据集没有任何标注信息,所以可以采用无监督对比表征学习的方式训练卷积神经网络(基于第一训练集训练得到的分类模型中的深度卷积网络)。
可选的,可以采用MOCO(Momentum Contrast for Unsupervised VisualRepresentation Learning,用于无监督视觉表示学习的动量对比)训练方式,在之前监督训练的基础上对用于图像特征提取的深度卷积网络进一步进行训练。利用MOCO训练方式可以基于大量无标签样本学习一个鲁棒的图片编码器即图片特征提取器。
对于第二训练集,其中的每个第二图像的正样本图像(简称为正样本)可以是通过对该第二图像进行图像增强(即图像增广)处理得到的,具体的,可以首先获取大量的图片(第二图像),对于每个图片,可以将该图片进行一系列图像增广(图9中所示的Moco图像增强,如随机翻转、随机裁剪、高斯模糊等处理中的一项或多项)获得该图片的正样本,将获取的图片中除该图片之外的其他图片中的部分或全部(可以是一定数量的)作为该图片的负样本,可以将一个图片、该图片的一个正样本和多个负样本组合作为一个训练样本(后文中的第一样本)。
在进行MOCO训练时,将获取的图片分类输入到MOCO模型(包括基于第一训练集训练得到的第一特征提取模块和动量编码器)中,具体的,如图7所示,将每个训练样本中的第二图像(xq)输入到图片编码器(即第一特征提取模块,图7中的编码器),得到每个第二图像的图像特征(特征向量q),将每个训练样本中的第二图像的正样本和各个负样本(xk)分别输入到动量编码器中,得到正样本的图像特征和各个负样本的图像特征(特征向量k),之后,则可以基于每个训练样本对应的特征向量q和多个特征向量k,计算得到每个训练样本对应的对比损失,从而可以基于各个训练样本的对比损失得到MOCO模型的对比损失(即训练总损失,图9中所示的对比学习损失),通过使用该对比损失对MOCO模型进行不断的训练,可以得到满足训练结束条件的MOCO模型,将满足训练结束条件时的MOCO模型中的图片编码器作为训练好的图片特征提取器f,该提取器可以用于图像/头像特征向量的提取,如图6中所示的推理阶段,该阶段的深度卷积网络则是基于第一训练集和第二训练集训练得到的训练好的图片特征提取器,也就是进行推荐时使用的图像特征提取模型(图7中的编码器,图6中推理阶段的深度卷积网络,不包括分类模块和动量编码器),在推理阶段,图9中所示的图像增强步骤也无需执行,将图像输入到训练好的图像特征提取模块中得到图像特征即可。
为了实现对象的推荐,需要进一步训练得到满足需求的对象推荐模型。对象推荐模型可以融合包括玩家的头像信息在内的玩家的多种模态的信息实现目标推荐对象的筛选。其中,多种模态的信息可以包括玩家的第一信息、第二信息或玩家之间的交互数据中的一项或多项。其中,第一信息为表征头像偏好信息的信息,可以是基于上述训练好的深度卷积网络提取到的玩家的头像特征,交互数据代表了两个对象之间的交互情况,第二信息(也可以称为画像数据)可以包括对象的基本属性信息或对象对于游戏应用的使用情况信息中的至少一项。
可选的,两个对象之间的交互数据可以包括但不限于共同好友数目、共同对局数、历史对局时长、大盘的游戏亲密度(表征两个对象在其他应用里的关联程度)或两个玩家在目标应用中的排名信息(如PageRank分数)中的一项或多项,可选的,交互数据中的每一项可以对应一个特征值,例如,上述各项各自对应的数值(如好友数目)可以直接作为特征值或者对多项对应的特征值进行归一化处理得到的数值作为特征值,可以将这些特征值组合作为交互特征,用于对象推荐。对象的第二信息可以包括但不限于对象在目标应用中的在线时长、曝光次数(如打开好友推荐界面的次数)、游戏等级、性别或年龄等信息中的一项或多项,可以基于这些信息得到对应的第二信息对应的特征向量,用于对象推荐。
也就是说,在进行推荐时,所使用的源数据可以包括对象的源数据以及对象之间的交互数据,对象的源数据可以对象在目标应用中所使用头像、以及除头像之外的其他信息(即上述第二信息),在采用对象推荐模型预测目标对象对于候选推荐对象的感兴趣程度时,输入到推荐模型中的可以是基于多个维度的数据获取到的特征向量,如基于头像提取到的头像特征、基于第二信息处理得到的画像特征、基于交互数据处理得到的交互特征。
如图8所示,基于对象推荐模型进行对象推荐的过程可以包括训练集获取(正负样本采样以及特征提取)、模型训练以及分布式预测(基于训练好的推荐模型进行目标推荐对象的预测)这几个方面。其中,训练集获取和模型训练对应于图5中所示的步骤S13和步骤S14,分布式预测对应于图5中所示的步骤S21至步骤S24。具体如下:
步骤S13:基于图像特征提取模型和历史推荐数据,构建得到第三训练集。
步骤S14:基于第三训练集训练得到对象推荐模型。
其中,第三训练集中的第二样本包括多个正样本和多个负样本,第三训练集的构建包括正样本和负样本的采集、以及对样本中图像进行特征提取的步骤,其中,每个样本对应两个样本对象(第一对象和第二对象),正样本和负样本中的“正”和“负”可以理解为了样本的标签,表示真实推荐反馈结果,正样本代表在将样本对应的第二对象推荐给第一对象时,第一对象会申请添加该第二对象成为其好友,负样本代表指将样本对应的第二对象推荐给第一对象时,第一对象会不会申请添加该第二对象成为其好友。可选的,可以通过下述方式获取正样本和负样本:
正样本和负样本可以是基于游戏应用中的历史推荐数据得到的,每个样本是样本对的形式。具体的,可以获取游戏应用一段时间(如过往一周)内的历史数据,历史数据可以包括历史推荐数据以及历史推荐数据中涉及的对象的相关数据、以及具有推荐关系的对象之间的交互数据。其中,历史推荐数据中可以包括多个玩家(第一对象)、为每个玩家推荐过的对象集合(一个或多个第二对象)、以及每个玩家对于为其推荐的第二对象的反馈,如是否申请了添加推荐的对象为好友。对象的相关数据可以包括历史推荐数据中所涉及的各个玩家的玩家数据,如玩家的头像、玩家的画像数据等,还可以包括具有推荐关系的对象之间的交互数据。
其中,一个正样本可以对应一个曝光对象(第一对象)以及他所选择添加的候选对象(为第一对象推荐的第二对象),具体可以包括这两个对象各自的玩家数据、以及这两个对象之间的交互数据,而负样本则对应于曝光对象和他未点击的候选对象组成。考虑到在实际实施时,正样本的数目远少于负样本,可以对负样本进行过滤或降采样处理,以平衡正负样本的数目,比如,可以过滤掉负样本中从未有过对候选对象进行添加的对象进行过滤掉。
在基于历史数据得到上述多个正样本和多个负样本之后,可以通过特征提取步骤获取到每个样本对应的样本特征,也就是训练模型时模型的输入特征。其中,样本特征可以由对象的头像特征、基于对象的画像数据获取的画像特征、以及基于交互数据获取到的交互特征三部分。
具体的,对于上述大量正样本和负样本中的每个样本,可以将该负样本所涉及的两个对象的头像,分别输入到训练好的图片特征提取器中,得到这两对象各自的头像特征(头像偏好信息),并基于该样本所涉及的两个对象各自的玩家数据中除头像之外的第二信息得到这两个对象各自的画像特征,基于这两个对象之间的交互数据得到的交互特征。每个样本对应的两个对象的头像特征、画像特征以及交互特征作为待训练的神经网络模型(信息推荐模型)的输入信息,对该模型进行不断的训练,可以得到训练后的对象推荐模型。对于待训练的信息推荐模型的模型结构本申请实施例不做限定,可以根据实际需求选择。可选的,该推荐模型可以采用基于注意力机制的信息推荐模型。图9中示出了本申请实施例提供的一种对象推荐模型的结构示意图,如图9中所示,该模型可以包括依次级联(图9中由右到左)的多层感知机(MLP)、自注意力机制模型、多层感知机(MLP)以及激活函数层(Sigmoid层)。在基于第三训练集中多个样本对应的样本特征对该模型进行训练时,步骤可以如下:1、将每个样本对应的两个对象的头像特征(图9中的图片特征)、画像特征、以及交互特征这三类特征通过推荐模型的MLP分别映射到高维空间,得到三种特征映射后的特征。可选的,可以将两个对象的头像特征拼接后输入到MLP中,MLP输出两个对象之间的第一关联特征,可以将两个对象之间的交互特征输入到MLP中,MLP输出两个对象之间的第二关联特征,可以将两个对象之间的画像特征拼接后输入到MLP中,得到两个对象之间的第三关联特征。
2、在高维空间上基于自注意力机制将通过MLP映射得到的三种特征进行融合,得到融合特征。
其中,自注意力机制的原理可以表示如下:
这里的Q,K,V均为上述三种特征进行拼接后的特征向量,或者是三种特征进行拼接后的特征向量进行进一步特征提取后得到的特征向量,可选的,可以将三种特征拼接后的特征向量分别通过三个模型参数不同的特征提取模块对拼接后的向量进行特征提取,得到三个向量维度相同的向量Q,K,V。dk则为的Q,K,V向量的维度。
由上述自注意力机制的表达式可以看出,通过注意力机制,可以基于Q和K之间的关联性(QKT)确定出V所对应的权重向量(即也就是向量V中每个特征值对应的权重),采用该权重向量对向量V进行加权得到了带有注意力信息的、融合了样本所对应的两个对象的多模态信息的融合特征。
3、在得到上述融合特征之后,对于每个样本,可以将该样本对应的融合特征输入到MLP中,通过MLP进行进一步特征提取后的特征输入到Sigmoid激活层中,即可得到样本对应的第一对象对于第二对象的预测推荐反馈结果(代表了在将第二对象推荐给第一对象时,第一对象是否会添加该第二对象为好友或者添加该第二对象为好友的可能性,即感兴趣程度),由于知道每个样本是正样本(样本中的第一对象选择了第二对象为好友)还是负样本(样本中的第一对象未选择第二对象为好友),因此,可以基于各个样本的预测推荐反馈结果和真实的推荐反馈结果,计算出推荐模型的训练总损失,如果不满足训练结束条件,则基于该算是对模型的模型参数进行条件,并重复上述训练过程,直至得到满足训练结束条件的信息推荐模型,可以将该模型作为最终的对象推荐模型。
在得到训练好的图片特征提取器f和对象推荐模型之后,则可以将这两个神经网络模型部署到游戏服务器20中。游戏服务器可以通过调用这两个模型实现对目标对象的对象推荐。如图5所示的步骤S21至步骤S24,具体如下:
步骤S21:获取目标对象和候选推荐对象的相关数据。
其中,假设目标对象为玩家A,候选推荐对象可以有多个,为多个玩家B,该处的相关数据可以包括该玩家A的头像和画像数据、每个玩家B的头像和画像数据、以及玩家A与每个玩家B之间的交互数据。
步骤S22:通过图像特征提取模型提取各个对象的头像特征,基于头像特征、交互特征和画像特征,通过对象推荐模型预测目标对象对于候选推荐对象的感兴趣程度,即目标对象和候选推荐对象的匹配程度。
步骤S23:基于目标对象对于各个候选推荐对象的感兴趣程度,从候选推荐对象中筛选出目标推荐对象。
步骤S24:将包含目标推荐对象的相关信息的推荐列表数据发送给目标对象的终端设备,以通过终端设备将推荐结果展示给目标对象。
其中,对于玩家A与每个玩家B,可以通过图片特征提取器对每个玩家的头像进行特征提取,得到每个玩家的头像特征,可以基于每个玩家的画像数据得到每个玩家的画像特征,玩家A和每个文件B之间的交互特征可以基于玩家A和每个玩家B之间的交互数据得到。
在得到上述三种特征之后,对于每个玩家B,可以基于玩家A和该玩家B的头像特征、画像特征、以及玩家A和该玩家B之间的交互特征输入到训练好的图9中所示的对象推荐模型中,由模型基于两个玩家的头像特征提取得到两个玩家之间的第一关联特征,基于两个玩家的交互特征提取得到两个玩家之间的第二关联特征,基于两个玩家的画像特征提取得到两个玩家之间的第三关联特征,之后,可以进一步基于这三项关联特征通过模型输出得到玩家A对于该玩家B的感兴趣程度(Sigmoid激活层输出的置信度),也就是玩家A会与玩家B建立好友关系的概率。在得到每个玩家B对应的感兴趣程度之后,可以将多个玩家B对应的感兴趣程度按照由高到低的顺序排序,将排序靠前的若干个玩家B作为最终筛选出的对象推荐给玩家A,玩家A在通过终端设备的好友推荐界面看到这几个玩家B的相关信息。
本申请实施例提供的基于深度神经网络的信息推荐系统,可以利用有监督学习和无监督学习结合的方式训练得到高性能的特征提取器,通过该提取器可能捕捉到包含头像风格信息或语义信息中至少一项的头像特征。由于目标对象在关注其他对象或添加其他对象为好友时,在推荐界面通常首先看到的重要信息之一就是待添加对象的头像,一些对象通常会对某些类型的头像的风格和语义有特别的偏好(例如,偏好卡通宠物头像),所以头像特征在对象推荐中可以发挥很好作用,本申请实施例提供的该推荐系统,正是考虑这一因素,将头像特征引入到了对象推荐中,用于挖掘目标对象对头像的偏好,并在此基础上,通过融合对象之间的交互信息、对象的基本属性信息或对象对于应用程序的使用信息中的一项或多项,实现了融入多模态、多维度信息的对象推荐,与现有技术相比,本申请实施例提供的推荐方法,可以使得确定出的目标推荐对象更符合目标对象的需求,为进一步提升对象之间的交互活跃度提供了技术支持。
本申请实施例提供的推荐方案,可以适用于但不限于上述游戏场景中对象推荐。为了验证本申请实施例提供的图像特征提取的有效性以及推荐模型的效果,进行了如下实验:
1.对比本申请实施例提供方案的特征提取器以及在ImageNet数据集上的预训练模型(现有技术),通过提取头像的特征并计算相似度,对比两种模型的检索效果。
图10a和图10b分别给出了现有模型和本申请实施例提供的训练方式训练得到的特征提取器所提取的特征进行图像召回时的召回结果的效果示意图,其中,图10a对应现有技术,图10b对应本申请实施例,图10a和图10b中的Probe一列的图像为实验测试时的多个查询图像(可以理解为测试时目标对象的头像),注册集(Gallery)中每一行的图像是为该行的查询头像所对应的召回头像(根据查询图像召回的其他图像),通过对比10a和图10b可以看出,采样本申请实施例提供的方案召回的图像的内容和风格与查询图像的内容及风格更为接近。可见,本申请实施例提供的方案提取出来的图像特征,更可以将内容及风格比较接近的图片召回,验证了本申请实施例提供的方案所得到的图像特征的优越性。
2.对比了两种推荐模型,分别是添加头像特征和不添加头像特征的推荐模型。在实验时,基于游戏应用的前一天的数据做训练,当天的数据做测试,通过计算基于两种推荐模型所预测出的对象推荐列表和和线上实际点击好友对的重合度来验证模型的效果,效果比对结果如下:
其中,NDCG是指归一化折损累计增益,用来评价推荐系统得到的排序列表与用户真实交互列表的差距,HIT是指命中率,是一种常用的衡量召回率的指标。HIT指标后的@n表示n命中率,表示模型预测出的推荐列表(可以按照感兴趣程度排序)中前n个推荐对象中被实际点击为好友的对象的比例,NDCG@n表示在计算NDCG时只看排序靠前的n个推荐对象,NDCG和HIT越高代表算法的效果越好。通过对比证明了添加头像特征在对象推荐中的有效性。
下面通过对几种可选的实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1示出了本申请实施例提供的一种信息推荐方法的流程示意图,该方法可以由服务器执行,如图1所示,该方法包括以下步骤S110至步骤S140。
步骤S110:获取目标应用对应的目标对象的对象数据、至少一个候选推荐对象的对象数据、以及目标对象与每个候选推荐对象之间的交互数据,其中,对象数据包括第一信息,每个对象的第一信息包括该对象在目标应用中的头像偏好信息。
步骤S120:对于每个候选推荐对象,根据目标对象的头像偏好信息和该候选推荐对象的头像偏好信息,确定目标对象和该候选推荐对象之间的第一关联特征,根据目标对象和该候选推荐对象之间的交互数据,确定目标对象与该候选推荐对象之间的第二关联特征。
其中,目标应用可以是任意应用,目标对象可以是目标应用对应的任一对象(也就是使用该目标应用的任一对象),一个候选推荐对象可以是目标应用对应的除目标对象之外的任一对象,比如,目标应用是游戏应用,目标对象和候选推荐对象可以是该游戏应用中的玩家,可以理解的是,在实际实施时,目标应用对应的对象可以通过对象在目标应用中的唯一对象标识(如对象在应用中的昵称、名称、登录账号或者其他标识等)来表征。
对于目标应用和至少一个候选推荐对象中的每个对象,该对象的对象数据指的是与该对象自身有关的信息,理论上可以包括能够一定程度上反映该对象的偏好的任意数据。本申请实施例中,每个对象的对象数据包括该对象在目标应用中的头像偏好信息,其中,对于一个对象而言,头像(也可以称为头像图像)是该对象在目标应用中的图像格式的标识信息,该头像偏好信息可以表征该对象在目标应用中对于头像信息的喜好,头像信息可以包括但不限于头像的图像风格信息(可以理解为图像的艺术风格,比如卡通、漫画、油画、水彩、水墨等)或图像语义信息(即图像内容,比如,人物图像中的人物信息、建筑图像中的建筑)中的至少一项。
本申请实施例中,目标应用中每个对象的头像的来源本申请不做限定,可以是对象从目标应用所提供的头像列表中根据自己的喜好选择的一个头像,也可以是对象自己编辑或者采用其他方式获取到并上传到目标应用中的头像。不同对象的头像可能相同,也可能不同的。对于一个对象,该对象的头像偏好信息可以是该对象的头像,也可以是通过对头像进行特征提取,所提取到的能够表征头像的语义信息或风格信息中的至少一项图像特征。
经研究发现,绝大部分的应用使用者都有各自的头像偏好,而头像偏好从一个维度上反映了使用者的喜好,因此,可以基于目标对象的头像偏好信息和候选推荐对象的头像偏好信息,来挖掘目标对象和候选推荐对象之间的关联信息(即上述第一关联特征),该关联信息从头像偏好这一维度上代表了目标对象对于候选推荐对象的感兴趣程度,也就是说,关联特征可以理解为感兴趣特征。
本申请实施例中,对于任意两个对象,上述交互数据可以包括但不限于这两个对象在目标应用中的交互信息,还可以包括在对象授权同意的前提下能够获取到的这两个对象在其他应用中的交互信息。交互数据包括可以反映这两个对象之间交互程度的一种或多种数据,具体包括哪些本申请实施例不做限定,可选的,交互数据可以包括两个对象所共有的关联对象的数据(如共同好友数据、共同关注的对象的数据等)、两个对象同时出现在交互群组中的次数(比如,游戏应用中两个对象的共同对局数)、两个对象同时出现在交互群组中的时长、两个对象在其他应用中的关联程度(可以表征两个对象在其他应用中的亲密度)或两个对象各自在目标应用中的等级信息中的一项或多项,其中,等级信息可以反映对象在目标应用中的对象类型或者是排名信息的数据,如游戏应用中的玩家等级或者玩家的排名。
由于交互数据能够反映出两个对象之间的交互程度,因此,可以基于目标对象和候选推荐对象之间的交互数据,挖掘出目标对象与候选推荐对象之间的第二关联特征,该关联特征可以反映目标对象愿意与候选推荐对象进行交互的程度。
本申请的可选实施例中,除了对象的头像偏好信息和对象之间的交互数据,还可以融入更多维度的对象数据,可以包括但不限于上述对象的画像数据,以进一步提升推荐的准确性。
可选的,对于每个对象,该对象的对象数据还可以包括第二信息,其中,第二信息可以包括该对象的基本属性信息或该对象对于目标应用的使用情况信息中的至少一项,在对象数据包括第二信息时,本申请实施例提供的信息推荐方法还可以包括:
对于每个候选推荐对象,根据目标对象的第二信息和该候选推荐对象的第二信息,确定目标对象和该候选推荐对象之间的第三关联特征。
本申请实施例中,一个对象的第一信息反映的是该对象对于头像信息的喜好,第二信息反映的是该对象的对象画像,可以包括一项或多项能够反映对象形象的对象特征信息。其中,对象的基本属性信息可以包括但并限于对象所在的地理位置信息、年龄或性别等信息中的一项或多项,对象对于目标应用的使用情况信息可以包括但不限于对象使用目标应用的累计时长(通常所说的在线时长,可以是一定时段内对象的在线时长)、曝光次数(对象在目标应用中查看对象推荐结果的次数)或对象类型(如对象在游戏应用中的玩家等级)等信息中的一项或多项。
对于一个对象,由于该对象的第二信息能够反映该对象的基本属性或对于目标应用的使用情况,而具有相似第二信息的对象之间相互关注对方的可能性是相对较高的,因此,在从候选推荐对象中确定目标对象的目标推荐对象时,还可以根据目标对象的第二信息和候选推荐对象的第二信息,确定目标对象和候选推荐对象之间的关联特征,以进一步提升推荐的准确性。可选的,对于每个对象,可以基于该对象的第二信息处理得到对应的特征表达(即特征向量),对于每个候选推荐对象,可以基于目标对象的第二信息对应的特征表达和该候选推荐对象的第二信息对应的特征表达,确定目标对象和该候选推荐对象之间的第三关联特征。
步骤S130:对于每个候选推荐对象,根据该候选推荐对象对应的各项关联特征,确定目标对象对于该候选推荐对象的感兴趣程度,其中,各项关联特征包括第一关联特征和第二关联特征。
可以理解的是,在对象数据包括第二信息时,每个候选推荐对象对应的各项关联特征还包括该候选推荐对象对应的第三关联特征(也就是目标对象与候选推荐对象之间的第三关联特征)。其中,第一关联特征、第二关联特征和第三关联特征可以各作为一项关联特征。
步骤S140:根据各候选推荐对象对应的感兴趣程度,从各候选推荐对象中确定出目标对象的目标推荐对象。
对于每个候选推荐对象,在从多个维度(多模态数据)确定出目标对象与该候选推荐对象之间的关联特征之后,由于各项关联特征是能够从各个不同的维度分别反映目标对象对于该候选推荐对象的感兴趣可能性的,因此,可以基于多个维度的关联特征,准确地预测出目标对象对于该候选推荐对象的感兴趣程度(感兴趣程度越高,目标对象原意与该候选推荐对象进行交互的可能性越高,如目标对象选择将该候选推荐对象添加为好友的可能性越大),可选的,可以通过将候选推荐对象对应的多个维度的关联特征进行融合,基于融合后的特征预测出目标对象对于该候选推荐对象的感兴趣程度。
在确定出目标推荐对象对于各个候选推荐对象的感兴趣程度之后,则可以根据感兴趣程度的高低,从各个候选推荐对象中确定出该目标对象的目标推荐对象,也就是推荐给该目标对象的对象。可选的,可以根据各候选推荐对象对应的感兴趣程度,将大于或等于设定阈值的感兴趣程度对应的候选推荐对象,确定为目标推荐对象,或者,可以按照感兴趣程度由高到低的顺序,将排序靠前的设定数量的感兴趣程度对应的候选推荐对象,确定为目标推荐对象。
本申请实施例提供的信息推荐方法,在从各个候选推荐对象为目标对象进行其很可能感兴趣的对象的推荐时,可以基于多种不同模态的数据,通过挖掘目标对象和候选推荐对象之间在多个不同维度的关联特征,实现了目标推荐对象的准确筛选。本申请实施例提供的该推荐方法,在进行对象推荐时,不仅仅考虑了目标对象和候选推荐对象之间的交互数据,还创新性的引入了对象的头像偏好信息,由于每个对象通常都有自己偏好的头像风格和/或头像内容,因此,通过引入对象的头像偏好信息,可以使得目标对象对最终所筛选出的目标推荐对象感兴趣的可能性更高,实现了更加精确的推荐。
可以理解的是,对于每个候选推荐对象,该候选推荐对象对应的各项关联特征(第一关联特征、第二关联特征或第三关联特征中的一项或多项的组合)中的每一项关联特征(也就是特征向量)是基于相应的输入信息所提取到的能够反映目标对象和候选推荐对象之间关联关系的特征,对于每项关联特征的具体获取方式本申请实施例不做限定,可以根据实际需求配置。可选的,可以通过预先训练好的特征提取模型来提取各项关联特征,其中,对于每项关联特征而言,特征提取模型的输入可以是该特征对应的源数据,也可以是对源数据进行一些预处理后的信息。
例如,对于第一关联特征,源数据是目标对象的头像偏好信息和一个候选推荐对象的头像偏好信息,可以是将目标对象和该候选推荐对象的头像偏好信息输入到训练好的特征提取模型中,得到该候选推荐对象对应的第一关联特征。再例如,对于第二关联特征,源数据是目标对象与每个候选推荐对象之间的交互数据,该源数据对应的特征提取模型的输入可以是交互数据,也可以是基于交互数据处理得到的初始交互特征(初始的特征向量),可以将初始交互特征输入到特征提取模型中,得到对应的第二关联特征。
对于特征提取模型的具体模型结构本申请实施例不做限定,不同的关联特征所对应的特征提取模型的模型结构可以相同,也可以不同,比如,特征图提取模型可以是基于MLP的特征提取模型,或者也可以是基于卷积网络的特征提取模型。
本申请实施例中,每个对象的头像偏好信息可以直接采样该对象在目标应用中的头像来表征,也可以是通过对头像进行特征提取得到。可选的,对于目标对象和至少一个候选推荐对象中的每个对象,该对象的头像偏好信息可以是通过以下方式获取到的:
获取该对象在目标应用中的头像;
通过训练好的图像特征提取模型对该对象的头像进行特征提取,得到该对象的头像特征,其中,头像特征包含了该对象的头像中的图像风格信息或图像语义信息中的至少一项,所述头像特征表征了该对象的头像偏好信息。
其中,对于每个对象,该对象在目标应用中的头像可以包括至少一个头像,该至少一个头像至少包括该对象在目标应用中当前所使用的头像,可选的,还可以包括该对象在目标应用中使用过的头像,比如,以当前时间为基准时间,该至少一个头像还可以包括设定时长的历史时段中该对象还使用过的至少一个其他头像。如果是基于至少两个头像获取该对象的头像偏好信息,可以是通过训练好的图像特征提取模型对至少两个头像进行特征提取,得到头像偏好信息,例如,分别对每个头像进行头像特征提取,将至少两个头像对应的头像特征通过拼接、相加或其他方式进行融合,得到该对象的头像偏好信息。
可以理解的是,图像特征提取模型是基于训练集对初始的神经网络模型进行不断的训练得到的。对于基于训练集对神经网络模型进行训练得到训练好的图像特征提取模型的方式,本申请实施例不做限定,可选的,可以基于现有常用的训练方式训练得到。
目前,为了获取到性能较好的神经网络模型,可以采用带有标注标签的训练样本对模型进行有监督的训练,但在实际实施中,带有标签的训练样本的数量一般比较有限,且样本的标注成本也较高,针对该问题,且为了能够保证训练得到的图像特征提取模型的模型性能,本申请实施例提供了一种将有监督训练和无监督训练相结合的模型训练方式,基于该方式,可以基于相对较少的有标签的训练样本和大量的无标签的训练样本,训练得到能够对头像的语义信息或风格信息中至少一项进行提取的图像特征提取模型。可选的,本申请实施例中的图像特征提取模型可以是通过以下方式训练得到的:
获取第一训练集,第一训练集包括多个带有标签的第一图像,每个第一图像的标签表征了该第一图像的真实类别;
基于第一训练集对初始分类模型进行迭代训练,得到训练好的目标分类模型,初始分类模型包括级联的第一特征提取模块和分类模块;
获取第二训练集和待训练的特征提取模型,第二训练集中的每个第一样本包括一个第二图像、该第二图像的至少一个正样本图像和至少一个负样本图像,其中,该第二图像和该第二图像的正样本图像之间的相似度大于该第二图像和该第二图像的负样本之间的相似度,待训练的特征提取模型包括目标分类模型的第一特征提取模块和第二特征提取模块;
基于第二训练集对待训练的特征提取模型重复执行第一训练操作,直至满足第一训练结束条件,将满足该条件时的第一特征提取模块作为图像特征提取模型,第一训练操作包括:
对于每个第一样本,将该第一样本中的第二图像输入到第一特征提取模块中,得到该第二图像的图像特征,将该训练样本中的各个正样本图像和各个负样本图像分别输入到第二特征提取模块中,得到每个正样本图像和每个负样本图像的图像特征;
对于每个第一样本,根据该第一样本中的第二图像的图像特征和各个正样本图像的图像特征之间的相似度、以及第二图像的图像特征和各个负样本图像的图像特征之间的相似度,确定该第一样本对应的训练损失;
根据各第一样本对应的训练损失,确定待训练的特征提取模型的第一训练总损失,若不满足第一训练结束条件,则基于第一训练总损失对待训练的特征提取模型的模型参数进行调整。
本申请实施例中,上述第一训练集是带有标注标签的样本集,第二训练集是未标注的样本集。第一训练集中的每个样本为一张图像,该图像的标签代表了该图像的真实类别,其中,对于第一训练集中图像的类别的划分方式本申请实施例不做限定,可以根据实际应用需求配置,可选的,可以根据图像包含的至少一种元素进行划分,例如,可以根据图像风格或图像内容(语义信息)中的至少一项元素进行图像类别的划分。第一训练集中可以包括多种不同类别的第一图像。
对于第一训练集中多个第一图像的获取方式,本申请实施例也不做限定。可选的,可以从公开数据集和/或网络中获取一些带有标注的包含头像中场景的一些元素的图像,例如,可以获取一些带有标注的人物、卡通、游戏素材、风景等一些图像,图像的标注信息(即标签)就是图像的类别,可以是图像中包含的元素的类别,不同的人物、卡通以及风景等元素可以视为不同的类别,基于带有类别标签的第一训练集可以对包含第一特征提取模块的初始分类模型进行不断的训练,至少满足预设的训练结束条件,得到目标分类模型,目标分类模型的分类模块可以基于第一特征提取模块提取出第一图像的图像特征比较准确地预测出第一图像的类别。
其中,对于初始分类模型中第一特征提取模块和分类模块的具体网络结构本申请实施例不做限定,可以是现有任意的图像分类模型。可选的,初始分类模型可以是基于卷积神经网络的分类模型,比如,初始分类模型的第一特征提取模块可以采用基于EfficientNet模型的深度卷积神经网络。初始分类模型对应的训练结束条件可以根据需求配置,可以是初始分类模型的训练损失小于设定值或者是训练次数达到设定次数等。其中,初始分类模型的损失函数可以根据需求选择,模型的训练损失可以基于模型的分类模块预测出的第一图像的图像类别和图像的真实类别(即标签代表的类别)之间的差异计算得到。
作为一可选方案,目标分类模型可以通过以下方式训练得到:
基于第一训练集,构建得到多个三元组,其中,每个三元组包括一个第一图像、该第一图像的正样本和该第一图像的负样本,其中,每个第一图像的正样本为第一训练集与该第一图像属于相同类别的图像,负样本为第一训练集与该第一图像属于不同类别的图像;
将第一训练集中的每个第一图像分别输入到初始分类模型中,通过初始分类模型的第一特征提取模块得到该第一图像的图像特征,基于该第一图像的图像特征,通过初始分类模型的分类模块得到该第一图像的类别预测结果;
根据各第一图像的标签和类别预测结果,确定初始分类模型的第一训练损失;
对于每个三元组,根据该三元组中的第一图像的图像特征与正样本之间的差异、以及第一图像的图像特征与负样本之间的相似度,确定该三元组对应的训练损失;
根据各三元组对应的训练损失,确定初始分类模型的第二训练损失;
根据初始分类模型的第一训练损失和第二训练损失,确定初始分类模型的第二训练总损失;
若满足预设的第二训练结束条件,则将满足该条件时的分类模型作为目标分类模型,若不满足该条件,则基于第二训练总损失对分类模型的模型参数进行调整,并基于第一训练集对调整后的分类模型继续进行训练。
其中,第二训练结束条件可以包括初始分类模型对应的损失函数收敛(如第二训练总损失小于设定值、或者是连续次数的训练对应的第二训练总损失均小于设定值、且连续次数的训练对应的训练总损失之间的差异小于预设值)或者是训练次数达到设定次数。
本申请实施例提供的该训练方式,分类模型的第二训练总损失包含了两部分损失,一部分是分类学习的损失即分类损失(第一训练损失),另一部分是度量学习的损失(第二训练损失),通过分类学习可以使得模型能够正确预测出输入到模型中的样本(即第一图像)的类别,通过这两方面的不断学习,可以使得目标分类模型的第一特征提取模型所提取出的图像特征具有很好的表征表达能力,能够很好的表达出不同类别的特征信息。
对于分类学习和度量学习的损失函数的具体形式可以根据需求选择,可选的,分类学习的损失函数可以采用交叉熵函数,度量学习的损失函数可以采用三元组损失。
基于第一训练集,采用上述训练方式可以得到能够较好的提取图像语义信息或图像风格信息中至少一项的第一特征提取模块(也就是目标分类模型的第一特征提取模块)。由于标注图像的成本较高,可以利用的标注数据(带有标签的第一图像)的数量较有限,这可能会使得训练得到的该特征提取模块依然存在较大的领域差异,在不用的应用场景或者对于不同类型的应用程序而言,模型的特征提取效果可能会有差别。为了能缩小领域差异,在得到目标分类模型之后,本申请实施例中,可以采用无标注信息的海量图像数据对目标分类模型的第一特征提取模块继续进行训练,以进一步提升该特征提取模型的特征提取性能,使得该模型能够更好的适应于各个领域。
本申请实施例中,无标注信息的海量图像数据集上述第二训练集,该训练集中的每个第一样本可以包括至少三张图像,即一个第二图像、该第二图像的至少一个正样本图像、该第二图像的至少一个负样本图像,这些图像均未标注,只需要理论上满足第二图像的正样本图像和该第二图像的相似程度大于第二图像的负样本图像和该第二图像的相似程度。基于第二训练集中的大量第一样本,可以采用对比学习的方式(让相似的样本距离比非相似的样本更近即更相似)对目标分类模型的第一特征提取模块继续进行训练,提升第一特征提取模块的鲁棒性,从而得到满足应用需求的图像特征提取模型。
作为一可选方案,可以将第二训练集分为多批数据(即多个batch),每次训练操作可以基于一个batch中的多个第一样本进行,可以将每个第一样本中的每个图像输入到第一特征提取模块中,得到该样本中每个图像的图像特征,可以基于该样本中的第二图像的图像特征和正样本图像的图像特征之间的相似度、以及第二图像的图像特征和负样本图像的图像特征之间的相似度,来计算该样本对应的训练损失,进一步,可以基于各样本对应的训练损失,得到训练总损失。可以基于各个batch,通过不断的重复执行训练操作,得到满足条件的第一特征提取模块,将该模块作为最终的图像特征提取模块。
作为另一可选方案,为了进一步提升第一特征提取模块的泛化能力和鲁棒性,在基于第二训练集对第一特征提取模块进行进一步训练时,可以采用前文中所描述的MOCO训练方式进行训练。具体的,在训练过程中,可以增加一个第二特征提取模块(动量编码器),通过同时训练第一特征提取模块和第二特征提取模块,来提升第一特征提取模块的鲁棒性。在训练时,可以将每个batch中的各个第一样本中的第二图像输入到第一特征提取模块中,得到每个样本中的第二图像的图像特征,将各个第一样本中除第二图像之外的各个正样本图像和各个负样本图像输入到第二特征提取模块中,得到每个正样本图像和每个负样本图像的图像特征,进一步的,可以基于每个第一样本中各个图像的图像特征计算该样本对应的比对损失,如可以采用MOCO训练方式中的对比损失计算得到,进一步可以基于一个batch中的各个第一样本的训练损失,计算出训练总损失(即上述第一训练总损失)。
可选的,可以通过计算各个第一样本对应的对比损失得到上述训练总损失,对比损失函数的具体函数形式可以根据实际需求选择,只要计算出的损失函数的值即训练损失能够表征样本中的正样本对之间的差异以及负样本对之间的差异即可,可选的,损失函数可以采样InfoNCE损失函数,通过训练,能够让特征提取模块把每个第一样本中的第二图像从正样本图像和负样本图像中精确的匹配到对应的正样本,从而增加第一特征提取模块所提取出的图像特征的区分和表示能力。可选的,对于对特征提取模型的模型参数进行调整更新的方式,可以采用现有MOCO训练方式中模型参数的更新方式。
对于第二训练集中大量的第一样本的获取方式,本申请实施例不做限定。作为一种可选方式,第二训练集可以是通过以下方式获取到的:
获取多个第二图像;
对于每个第二图像,对该第二图像进行图像增强处理,得到该第二图像对应的至少一个正样本图像;
对于每个第二图像,将多个第二图像中除该第二图像之外的至少一个图像,作为该第二图像的至少一个负样本图像,基于该第二图像、该第二图像的至少一个正样本图像中至少一个图像、以及该第二图像的至少一个负样本图像,得到一个第一样本。
也就是说,对于每个第二图像,可以通过对第二图像进行增强处理,得到变换后的图像,将该变换后的图像作为该第二图像的正样本图像,将除该第二图像之外的其他第二图像作为该第二样本图像的负样本图像。其中,在基于各个第二图像、各个第二图像对应的正样本图像和负样本图像构建得到第二训练集时,每个第一样本中一个第二图像的正样本图像可以有一个或多个,负样本图像也可以有一个或多个。可选的,一个第一样本中第二图像的正样本图像为一个,负样本图像有至少两个。在对于第二图像进行增强处理时,具体的增强处理方式本申请实施例不做限定,可以包括但不限于如随机翻转、随机裁剪、高斯模糊等处理方式中的一种或多种,一个第二图像通过增强处理可以得到一个或多个正样本图像,该第二图像可以与其每一个正样本图像分别组合,得到该第二图像对应的第一样本。通过本申请实施例提供的第二训练集的获取方式,能够方便、快捷地获取到大量的第一样本。
在基于第二训练集训练得到满足条件的图像特征提取模型之后,则可以采用该模型对目标对象在目标应用中的头像以及每个候选推荐对象的头像分别进行特征提取,得到目标对象的头像偏好信息(也就是包含头像的语义信息或风格信息中至少一项的图像特征)、以及每个候选推荐对象的头像偏好信息,进一步的,可以基于目标对象的头像偏好信息和候选推荐对象的头像偏好信息,进一步进行特征提取得到目标对象和候选推荐对象之间的第一关联特征。
在确定出每个候选推荐对象对应的多项关联特征之后,对于每个候选推荐对象,由于该对象的每项关联特征都能够从至少一个维度反映出目标对象对其感兴趣的可能,或者每项关联特征都可以理解为目标对象与该候选推荐对象之间的匹配特征,因此,可以基于每个候选推荐对象对应的多项关联特征,来评估目标对象对于候选推荐对象的感兴趣程度。可选的,对于每个候选推荐对象,可以将该候选推荐对象的多项关联特征进行融合,基于融合特征来综合评估目标对象对于该候选推荐对象的感兴趣程度。
其中,对于将多项关联特征进行融合的方式本申请实施例不做限定,可选的,可以通过将多项关联特征进行拼接,得到拼接特征,将拼接特征作为融合特征,或者是将拼接特征进行进一步的特征提取,得到具有更好的特征表达能力的融合特征。
作为一可选方案,上述步骤S130中,对于每个候选推荐对象,根据该候选推荐对象对应的各项关联特征,确定目标对象对于该候选推荐对象的感兴趣程度,可以包括:
将该候选推荐对象对应的各项关联特征进行拼接,得到拼接特征;
对上述拼接特征进行特征提取,得到中间特征;
基于上述拼接特征中的各特征值之间的关联性,确定中间特征中的各特征值对应的权重;
根据中间特征中的各特征值对应的权重,对中间特征中的各特征值进行加权,得到各项关联特征对应的融合特征;
根据融合特征,确定目标对象对该候选推荐对象的感兴趣程度。
在实际应用中,由于每个维度的信息对于最终的推荐结果的影响程度通常是不同的,关联特征中的不同位置的元素(即特征值)的重要程度也是不同的,为了能够更加准确的评估目标对象对于各个候选推荐对象的感兴趣程度,在得到每个候选推荐对象对应的各项关联特征之后,可以将各项关联特征进行拼接,并可以基于拼接特征中特征值之间的关联性来确定每个特征值的重要性(即上述权重),进一步的可以各特征值对应的重要性对特征值进行加权,得到更加准确的融合特征。可选的,可以先对拼接特征进行进一步的特征提取,以得到能够更好的表征目标对象和候选推荐对象之间的关联性的中间特征,再基于拼接特征中特征值之间的关联性确定中间特征中各特征值的权重,其中,上述基于拼接特征中的各特征值之间的关联性,确定中间特征中的各特征值对应的权重,可以是对拼接特征基于两种特征提取结构(特征提取结构的模型参数不同)进行特征提取,得到与上述中间特征尺寸相同的两种特征,由于这两种特征也是基于对拼接特征进行进一步的特征提取得到的,因此,可以基于这两种特征之间的关联性确定出中间特征中每个特征值的权重。
其中,对于对拼接特征进行进一步特征提取的方式本申请实施不做限定,可选的,可以采用基于卷积神经网络的特征提取模型或者基于其他神经网络结构的特征提取模型进行拼接特征的特征提取。
作为一可选方案,可以采用基于注意力机制的神经网络实现上述基于拼接特征得到融合特征的步骤,注意力机制可以是自注意力机制,该神经网络的输入为上述拼接特征,输出为融合特征。可选的,可以通过该神经网络对拼接特征进行特征提取,得到拼接特征对应的查询特征(即Q)、键特征(K)和值特征(V),即三种特征,其中,可以将其中的值特征作为上述中间特征,通过计算计算键特征和查询特征之间的关联性可以得到中间特征中每个特征值对应的注意力得分,也就是上述权重,采用计算出的权重对中间特征进行加权,得到了各项关联特征对应的融合特征。
可选的,在得到候选推荐对象对应的各关联特征的融合特征之后,可以基于该融合特征预测出目标对象对于该候选推荐对象的感兴趣程度,可以通过神经网络结构预测该感兴趣程度,比如,可以将融合特征输入到神经网络结构中,通过该结构预测出目标对象对该候选推荐对象可能感兴趣的置信度,可以用置信度代表目标对象对该候选推荐对象的感兴趣程度,置信度越大,感兴趣的可能性越高。在得到各个候选推荐对象各自对象的感兴趣程度之后,则可以从各个候选推荐对象中挑选目标对象的目标推荐对象,如将感兴趣程度最高的若干个候选推荐对象作为目标推荐对象,或者是将对应的感兴趣程度大于设定阈值的候选推荐对象作为目标推荐对象。
作为在实际实施中的一种可选方案,本申请实施例中,对于每个候选推荐对象,确定该候选推荐对象对应的各项关联特征、以及根据该候选推荐对象对应的各项关联特征,确定目标对象对于该候选推荐对象的感兴趣程度,可以是通过训练好的对象推荐模型实现的,即在获取到每个候选推荐对象和目标推荐对象的各个维度的相关数据(头像偏好信息、第一信息、第二信息等)之后,可以基于这些数据,采用训练好的对象推荐模型确定候选推荐对象对应的第一关联特征和第二关联特征(还可以有第三关联特征),并基于这些关联特征预测出目标对象对于候选推荐对象的感兴趣程度,如上述置信度。其中,上述对象推荐模型可以是通过以下方式训练得到的:
获取第三训练集,第三训练集中包括带有标签的多个第二样本,每个第二样本包括第一对象和第二对象的对象数据、以及第一对象和第二对象之间的交互数据,第二样本的标签表征了在将该第二样本对应的第二对象推荐给对应的第一对象时,第一对象对于第二对象的真实推荐反馈结果;
基于第三训练集对神经网络模型重复执行第二训练操作,直至满足预设条件,得到训练好的对象推荐模型,第二训练操作包括:
对于每个第二样本,将该第二样本中的两个对象的对象数据、以及两个对象的交互数据输入到神经网络模型中,得到该第二样本对应的第一对象对于第二对象的感兴趣程度,该感兴趣程度表征了该第二样本对应的第一对象对于第二对象的预测推荐反馈结果;
根据各第二样本对应的感兴趣程度和标签,确定神经网络模型对应的第三训练总损失,若不满足预设条件,则基于第三训练总损失对神经网络模型的模型参数进行调整。
其中,该神经网络模型对应的损失函数的具体形式本申请实施例不做限定,可以包括但不限于交叉熵损失,例如,对于一个第二样本,如果该样本对应的真实反馈结果是第一对象选择将第二对象添加为其好友,标签可以为1,如果第一对象未选择将第二对象添加为其好友,标签可以为0,将该样本对应的对象数据和交互数据(具体可以是基于数据处理得到的特征向量)输入到该模型中,模型输出的预测推荐反馈结果可以是第一对象会选择将第二对象添加为其好友的概率和第一对象不会选择将第二对象添加为其好友的概率,即包含两个概率值的概率向量,那么可以基于样本的标签和预测出的概率向量,计算出该样本对应的交叉熵损失。
对于第三训练集中样本的具体获取方式本申请实施例不做限定,可以根据实际需求配置。作为一可选方式,第三训练集可以是基于目标应用的历史推荐数据获取到的,具体可以通过以下方式获取到:
获取目标应用对应的历史推荐数据,历史推荐数据包括多个第一对象的第一相关数据,第一相关数据包括第一对象对应的已推荐对象集合、以及第一对象对于已推荐对象集合中的各个第二对象的真实推荐反馈结果;
对于每个第一对象,获取第一对象对应的第二相关数据,第二相关数据包括第一对象的对象数据、第一对象对应的至少一个第二对象的对象数据、以及第一对象与至少一个第二对象中每个第二对象之间的交互数据;
对于每个第一对象,根据第一对象对应的第二相关数据、以及第一对象对于至少一个第二对象中每个第二对象的真实推荐反馈结果,构建得到第一对象对应的至少一个第二样本;
基于各第一对象对应的至少一个第二样本,得到第三训练集。
其中,第一对象和第二对象是目标应用对应的对象,对于每个第一对象,已推荐对象集合中是目标应用的服务器向该第一对象推荐过的第二对象,可以通过获取第一对象对于向其所推荐的对象的反馈信息,得到每个第二对象的真实推荐反馈结果。可以理解的是,如果第一对象没有对第二对象进行操作(如未选择添加该对象为好友),也认为是一种反馈,即该第二对象的真实推荐反馈结果代表第一对象对该第二对象不感兴趣。
在实际应用中,可以通过获取目标应用最近设定时段内的历史推荐数据来构建第三训练集,以基于各个样本对应的两个对象的对象数据、两个对象之间的交互数据、以及真实的推荐反馈结果,训练得到能够很好的预测出目标对象对于候选推荐对象感兴趣程度的推荐模型。其中,还可以通过周期性地获取目标应用最近时段的历史推荐数据来构建新的训练集,对对象推荐模型不断进行优化更新,提升模型的预测准确性。
可以理解的是,对于对象推荐模型,其训练阶段的模型输入和推理应用阶段的模型输入的数据形式是相同的,只是训练阶段输入的样本对应的两个对象的相关信息,推荐阶段输入的是目标对象和候选推荐对象的相关信息。
本申请实施例提供的信息推荐方法,通过设计头像特征提取器对头像特征进行提取,还可以利用自注意力对多种模态的特征进行融合,充分考虑了头像偏好对对象推荐的影响,将头像的偏好与其他维度的信息相结合,融入到了感兴趣对象的挖掘中,有效提升了最终所确定出的目标推荐对象的准确性,将这些目标推荐对象推荐给目标对象时,可以有效提升目标对象选择目标对象的可能性,提升了对象之间的主动交互的交互活跃性,更好的满足了实际应用需求。
对应于本申请实施例提供的信息推荐方法,本申请实施例还提供了一种信息推荐装置,可选的,该信息推荐装置可以是任意的电子设备,如服务器,如图12所示,该信息推荐装置100可以包括源数据获取模块110、对象筛选模块120和对象推荐模块130。其中,
源数据获取模块110,用于获取目标应用对应的目标对象的对象数据、至少一个候选推荐对象的对象数据、以及目标对象与每个候选推荐对象之间的交互数据,其中,对象数据包括第一信息,每个对象的第一信息包括该对象在目标应用中的头像偏好信息;
对象筛选模块120,用于对每个候选推荐对象执行以下操作:
根据目标对象的头像偏好信息和该候选推荐对象的头像偏好信息,确定目标对象和该候选推荐对象之间的第一关联特征,根据目标对象和该候选推荐对象之间的交互数据,确定目标对象与该候选推荐对象之间的第二关联特征,以及根据该候选推荐对象对应的各项关联特征,确定目标对象对于该候选推荐对象的感兴趣程度,其中,各项关联特征包括第一关联特征和第二关联特征;
对象推荐模块130,用于根据各候选推荐对象对应的感兴趣程度,从各候选推荐对象中确定出目标对象的目标推荐对象。
可选的,上述对象数据还包括第二信息,每个对象的第二信息包括该对象的基本属性信息或该对象对于目标应用的使用情况信息中的至少一项;对象筛选模块还用于对每个候选推荐对象执行以下操作:
根据目标对象的第二信息和该候选推荐对象的第二信息,确定目标对象和该候选推荐对象之间的第三关联特征;
其中,每个候选推荐对象对应的各项关联特征还包括该候选推荐对象对应的第三关联特征。
可选的,对于每个候选推荐对象,对象筛选模块可以通过以下方式确定目标对象对该候选推荐对象的感兴趣程度:
将该候选推荐对象对应的各项关联特征进行拼接,得到拼接特征;对拼接特征进行特征提取,得到中间特征;基于拼接特征中的各特征值之间的关联性,确定中间特征中的各特征值对应的权重;根据中间特征中的各特征值对应的权重,对中间特征中的各特征值进行加权,得到各项关联特征对应的融合特征;根据融合特征,确定目标对象对于该候选推荐对象的感兴趣程度。
可选的,对于目标对象和至少一个候选推荐对象中的每个对象,该对象的头像偏好信息是通过以下方式获取到的:
获取该对象在目标应用中的头像;
通过训练好的图像特征提取模型对该对象的头像进行特征提取,得到该对象的头像特征,其中,头像特征包含了该对象的头像中的图像风格信息或图像语义信息中的至少一项,头像特征表征了该对象的头像偏好信息。
可选的,图像特征提取模型是由模型训练装置通过以下方式训练得到的:
获取第一训练集,第一训练集包括多个带有标签的第一图像,标签表征了第一图像的真实类别;基于第一训练集对初始分类模型进行迭代训练,得到训练好的目标分类模型,初始分类模型包括级联的第一特征提取模块和分类模块;获取第二训练集和待训练的特征提取模型,第二训练集中的每个第一样本包括一个第二图像、该第二图像的至少一个正样本图像和至少一个负样本图像,其中,该第二图像和该第二图像的正样本图像之间的相似度大于该第二图像和该第二图像的负样本之间的相似度,待训练的特征提取模型包括目标分类模型的第一特征提取模块和第二特征提取模块;基于第二训练集对待训练的特征提取模型重复执行第一训练操作,直至满足第一训练结束条件,将满足该条件时的第一特征提取模块作为图像特征提取模型,第一训练操作包括:
对于每个第一样本,将该第一样本中的第二图像输入到第一特征提取模块中,得到该第二图像的图像特征,将该第一样本中的各个正样本图像和各个负样本图像分别输入到第二特征提取模块中,得到每个正样本图像和每个负样本图像的图像特征;对于每个第一样本,根据该第一样本中的第二图像的图像特征和各个正样本图像的图像特征之间的相似度、以及第二图像的图像特征和各个负样本图像的图像特征之间的相似度,确定该第一样本对应的训练损失;根据各第一样本对应的训练损失,确定待训练的特征提取模型的第一训练总损失,若不满足第一训练结束条件,则基于第一训练总损失对待训练的特征提取模型的模型参数进行调整。
可选的,第二训练集可以是通过以下方式获取到的:
获取多个第二图像;对于每个第二图像,对该第二图像进行图像增强处理,得到该第二图像对应的至少一个正样本图像;对于每个第二图像,将多个第二图像中除该第二图像之外的至少一个图像,作为该第二图像的至少一个负样本图像,基于第二图像、该第二图像的至少一个正样本图像中至少一个图像、以及第二图像的至少一个负样本图像,得到一个第一样本。
可选的,模型训练装置是通过以下方式得到训练好的目标分类模型的:
基于第一训练集,构建得到多个三元组,其中,每个三元组包括一个第一图像、该第一图像的正样本和该第一图像的负样本,其中,正样本为第一训练集与该第一图像属于相同类别的图像,负样本为第一训练集与该第一图像属于不同类别的图像;
将第一训练集中的每个第一图像分别输入到初始分类模型中,通过初始分类模型的第一特征提取模块得到该第一图像的图像特征,基于该第一图像的图像特征,通过初始分类模型的分类模块得到该第一图像的类别预测结果;
根据各第一图像的标签和类别预测结果,确定初始分类模型的第一训练损失;
对于每个三元组,根据该三元组中的第一图像的图像特征与正样本的图像特征之间的差异、以及第一图像的图像特征与负样本的图像特征之间的相似度,确定该三元组对应的训练损失;
根据各三元组对应的训练损失,确定初始分类模型的第二训练损失;
根据初始分类模型的第一训练损失和第二训练损失,确定初始分类模型的第二训练总损失;
若满足预设的第二训练结束条件,则将满足该条件时的分类模型作为目标分类模型,若不满足该条件,则基于第二训练总损失对分类模型的模型参数进行调整,并基于第一训练集对调整后的分类模型继续进行训练。
可选的,对于每个候选推荐对象,对象筛选模块在确定该候选推荐对象对应的各项关联特征、以及根据该候选推荐对象对应的各项关联特征,确定目标对象对于该候选推荐对象的感兴趣程度时,是通过训练好的对象推荐模型实现的;其中,对象推荐模型是通过以下方式训练得到的:
获取第三训练集,第三训练集中包括带有标签的多个第二样本,每个第二样本包括第一对象和第二对象的对象数据、以及第一对象和第二对象之间的交互数据,第二样本的标签表征了在将该第二样本对应的第二对象推荐给对应的第一对象时,第一对象对于第二对象的真实推荐反馈结果;
基于第三训练集对神经网络模型重复执行第二训练操作,直至满足预设条件,得到训练好的对象推荐模型,第二训练操作包括:
对于每个第二样本,将该第二样本中的两个对象的对象数据、以及两个对象的交互数据输入到神经网络模型中,得到该第二样本对应的第一对象对第二对象的感兴趣程度,该感兴趣程度表征了该第二样本对应的第一对象对于第二对象的预测推荐反馈结果;
根据各第二样本对应的感兴趣程度和标签,确定神经网络模型对应的第三训练总损失,若不满足上述预设条件,则基于第三训练总损失对神经网络模型的模型参数进行调整。
可选的,第三训练集是通过以下方式获取到的:
获取目标应用对应的历史推荐数据,历史推荐数据包括多个第一对象的第一相关数据,第一相关数据包括第一对象对应的已推荐对象集合、以及第一对象对于已推荐对象集合中的各个第二对象的真实推荐反馈结果;
对于每个第一对象,获取第一对象对应的第二相关数据,该第二相关数据包括第一对象的对象数据、第一对象对应的至少一个第二对象的对象数据、以及第一对象与至少一个第二对象中每个第二对象之间的交互数据;
对于每个第一对象,根据第一对象对应的第二相关数据、以及第一对象对于至少一个第二对象中每个第二对象的真实推荐反馈结果,构建得到第一对象对应的至少一个第二样本;
基于各第一对象对应的至少一个第二样本,得到第三训练集。
可以理解的是,本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行存储器中存储的计算机程序时可实现本申请任一可选实施例中的方法。
图13示出了本发明实施例所适用的一种电子设备的结构示意图,如图13所示,该电子设备可以为服务器或者用户终端,该电子设备可以用于实施本发明任一实施例中提供的方法。
如图13中所示,该电子设备2000主要可以包括至少一个处理器2001(图13中示出了一个)、存储器2002、通信模块2003和输入/输出接口2004等组件,可选的,各组件之间可以通过总线2005实现连接通信。需要说明的是,图13中示出的该电子设备2000的结构只是示意性的,并不构成对本申请实施例提供的方法所适用的电子设备的限定。
其中,存储器2002可以用于存储操作系统和应用程序等,应用程序可以包括在被处理器2001调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器2002可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是EEPROM(ElectricallyErasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(CompactDisc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器2001通过总线2005与存储器2002连接,通过调用存储器2002中所存储的应用程序实现相应的功能。其中,处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(FieldProgrammable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
电子设备2000可以通过通信模块2003(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块2003可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
电子设备2000可以通过输入/输出接口2004可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备200自身可以具有显示设备,还可以通过接口2004外接其他显示设备。可选的,通过该接口2004还可以连接存储装置,如硬盘等,以可以将电子设备2000中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器2002中。可以理解的,输入/输出接口2004可以是有线接口,也可以是无线接口。根据实际应用场景的不同,与输入/输出接口2004连接的设备,可以是电子设备2000的组成部分,也可以是在需要时与电子设备2000连接的外接设备。
用于连接各组件的总线2005可以包括一通路,在上述组件之间传送信息。总线2005可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。根据功能的不同,总线2005可以分为地址总线、数据总线、控制总线等。
可选的,对于本发明实施例所提供的方案而言,存储器2002可以用于存储执行本发明方案的计算机程序,并由处理器2001来运行,处理器2001运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
基于与本申请实施例提供的方法相同的原理,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
本申请实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (13)
1.一种信息推荐方法,其特征在于,包括:
获取目标应用对应的目标对象的对象数据、至少一个候选推荐对象的对象数据、以及所述目标对象与每个所述候选推荐对象之间的交互数据,其中,所述对象数据包括第一信息,每个对象的第一信息包括该对象在所述目标应用中的头像偏好信息;
对于每个所述候选推荐对象,根据所述目标对象的头像偏好信息和该候选推荐对象的头像偏好信息,确定所述目标对象和该候选推荐对象之间的第一关联特征,根据所述目标对象和该候选推荐对象之间的交互数据,确定所述目标对象与该候选推荐对象之间的第二关联特征;
对于每个所述候选推荐对象,根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度,其中,所述各项关联特征包括所述第一关联特征和所述第二关联特征;
根据各所述候选推荐对象对应的感兴趣程度,从各所述候选推荐对象中确定出所述目标对象的目标推荐对象。
2.根据权利要求1所述的方法,其特征在于,所述对象数据还包括第二信息,每个对象的第二信息包括该对象的基本属性信息或该对象对于所述目标应用的使用情况信息中的至少一项;
所述方法还包括:
对于每个所述候选推荐对象,根据所述目标对象的第二信息和该候选推荐对象的第二信息,确定所述目标对象和该候选推荐对象之间的第三关联特征;
其中,每个所述候选推荐对象对应的各项关联特征还包括该候选推荐对象对应的第三关联特征。
3.根据权利要求1或2所述的方法,其特征在于,对于每个所述候选推荐对象,所述根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度,包括:
将该候选推荐对象对应的各项关联特征进行拼接,得到拼接特征;
对所述拼接特征进行特征提取,得到中间特征;
基于所述拼接特征中的各特征值之间的关联性,确定所述中间特征中的各特征值对应的权重;
根据所述中间特征中的各特征值对应的权重,对所述中间特征中的各特征值进行加权,得到所述各项关联特征对应的融合特征;
根据所述融合特征,确定目标对象对于该候选推荐对象的感兴趣程度。
4.根据权利要求1所述的方法,其特征在于,对于所述目标对象和所述至少一个候选推荐对象中的每个对象,该对象的头像偏好信息是通过以下方式获取到的:
获取该对象在所述目标应用中的头像;
通过训练好的图像特征提取模型对该对象的头像进行特征提取,得到该对象的头像特征,其中,所述头像特征包含了该对象的头像中的图像风格信息或图像语义信息中的至少一项,所述头像特征表征了该对象的头像偏好信息。
5.根据权利要求4所述的方法,其特征在于,所述图像特征提取模型是通过以下方式训练得到的:
获取第一训练集,所述第一训练集包括多个带有标签的第一图像,所述标签表征了所述第一图像的真实类别;
基于所述第一训练集对初始分类模型进行迭代训练,得到训练好的目标分类模型,所述初始分类模型包括级联的第一特征提取模块和分类模块;
获取第二训练集和待训练的特征提取模型,所述第二训练集中的每个第一样本包括一个第二图像、该第二图像的至少一个正样本图像和至少一个负样本图像,其中,该第二图像和该第二图像的正样本图像之间的相似度大于该第二图像和该第二图像的负样本之间的相似度,所述待训练的特征提取模型包括所述目标分类模型的第一特征提取模块和第二特征提取模块;
基于所述第二训练集对所述待训练的特征提取模型重复执行第一训练操作,直至满足第一训练结束条件,将满足该条件时的第一特征提取模块作为所述图像特征提取模型,所述第一训练操作包括:
对于每个所述第一样本,将该第一样本中的第二图像输入到第一特征提取模块中,得到该第二图像的图像特征,将该第一样本中的各个正样本图像和各个负样本图像分别输入到第二特征提取模块中,得到每个正样本图像和每个负样本图像的图像特征;
对于每个所述第一样本,根据该第一样本中的第二图像的图像特征和各个正样本图像的图像特征之间的相似度、以及第二图像的图像特征和各个负样本图像的图像特征之间的相似度,确定该第一样本对应的训练损失;
根据各所述第一样本对应的训练损失,确定所述待训练的特征提取模型的第一训练总损失,若不满足所述第一训练结束条件,则基于所述第一训练总损失对所述待训练的特征提取模型的模型参数进行调整。
6.根据权利要求5所述的方法,其特征在于,所述获取第二训练集,包括:
获取多个第二图像;
对于每个所述第二图像,对该第二图像进行图像增强处理,得到该第二图像对应的至少一个正样本图像;
对于每个所述第二图像,将所述多个第二图像中除该第二图像之外的至少一个图像,作为该第二图像的至少一个负样本图像,基于该第二图像、该第二图像的至少一个正样本图像中至少一个图像、以及所述该第二图像的至少一个负样本图像,得到一个第一样本。
7.根据权利要求5所述的方法,其特征在于,所述基于所述第一训练集对初始分类模型进行迭代训练,得到训练好的目标分类模型,包括:
基于所述第一训练集,构建得到多个三元组,其中,每个所述三元组包括一个第一图像、该第一图像的正样本和该第一图像的负样本,其中,所述正样本为所述第一训练集与该第一图像属于相同类别的图像,所述负样本为所述第一训练集与该第一图像属于不同类别的图像;
将所述第一训练集中的每个第一图像分别输入到初始分类模型中,通过所述初始分类模型的第一特征提取模块得到该第一图像的图像特征,基于该第一图像的图像特征,通过所述初始分类模型的分类模块得到该第一图像的类别预测结果;
根据各所述第一图像的标签和类别预测结果,确定所述初始分类模型的第一训练损失;
对于每个所述三元组,根据该三元组中的第一图像的图像特征与正样本的图像特征之间的差异、以及第一图像的图像特征与负样本的图像特征之间的相似度,确定该三元组对应的训练损失;
根据各所述三元组对应的训练损失,确定所述初始分类模型的第二训练损失;
根据所述初始分类模型的第一训练损失和第二训练损失,确定所述初始分类模型的第二训练总损失;
若满足预设的第二训练结束条件,则将满足该条件时的分类模型作为所述目标分类模型,若不满足该条件,则基于所述第二训练总损失对分类模型的模型参数进行调整,并基于所述第一训练集对调整后的分类模型继续进行训练。
8.根据权利要求1或2所述的方法,其特征在于,对于每个所述候选推荐对象,确定该候选推荐对象对应的各项关联特征、以及根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度,是通过训练好的对象推荐模型实现的;其中,所述对象推荐模型是通过以下方式训练得到的:
获取第三训练集,所述第三训练集中包括带有标签的多个第二样本,每个所述第二样本包括第一对象和第二对象的对象数据、以及第一对象和第二对象之间的交互数据,所述第二样本的标签表征了在将该第二样本对应的第二对象推荐给对应的第一对象时,第一对象对于第二对象的真实推荐反馈结果;
基于所述第三训练集对神经网络模型重复执行第二训练操作,直至满足预设条件,得到训练好的对象推荐模型,所述第二训练操作包括:
对于每个所述第二样本,将该第二样本中的两个对象的对象数据、以及两个对象的交互数据输入到所述神经网络模型中,得到该第二样本对应的第一对象对于第二对象的感兴趣程度,所述感兴趣程度表征了该第二样本对应的第一对象对于第二对象的预测推荐反馈结果;
根据各所述第二样本对应的感兴趣程度和标签,确定所述神经网络模型对应的第三训练总损失,若不满足所述预设条件,则基于所述第三训练总损失对神经网络模型的模型参数进行调整。
9.根据权利要求8所述的方法,其特征在于,所述获取第三训练集,包括:
获取所述目标应用对应的历史推荐数据,所述历史推荐数据包括多个第一对象的第一相关数据,所述第一相关数据包括第一对象对应的已推荐对象集合、以及所述第一对象对于所述已推荐对象集合中的各个第二对象的真实推荐反馈结果;
对于每个所述第一对象,获取所述第一对象对应的第二相关数据,所述第二相关数据包括所述第一对象的对象数据、所述第一对象对应的已推荐对象集合中的至少一个第二对象的对象数据、以及所述第一对象与所述至少一个第二对象中每个第二对象之间的交互数据;
对于每个所述第一对象,根据所述第一对象对应的第二相关数据、以及所述第一对象对于所述至少一个第二对象中每个第二对象的真实推荐反馈结果,构建得到所述第一对象对应的至少一个第二样本;
基于各所述第一对象对应的至少一个第二样本,得到所述第三训练集。
10.一种信息推荐装置,其特征在于,包括:
源数据获取模块,用于获取目标应用对应的目标对象的对象数据、至少一个候选推荐对象的对象数据、以及所述目标对象与每个所述候选推荐对象之间的交互数据,其中,所述对象数据包括第一信息,每个对象的第一信息包括该对象在所述目标应用中的头像偏好信息;
对象筛选模块,用于对于每个所述候选推荐对象,根据所述目标对象的头像偏好信息和该候选推荐对象的头像偏好信息,确定所述目标对象和该候选推荐对象之间的第一关联特征,根据所述目标对象和该候选推荐对象之间的交互数据,确定所述目标对象与该候选推荐对象之间的第二关联特征,以及根据该候选推荐对象对应的各项关联特征,确定所述目标对象对于该候选推荐对象的感兴趣程度,其中,所述各项关联特征包括所述第一关联特征和所述第二关联特征;
对象推荐模块,用于根据各所述候选推荐对象对应的感兴趣程度,从各所述候选推荐对象中确定出所述目标对象的目标推荐对象。
11.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过执行所述计算机程序以实现权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210689242.0A CN117258307A (zh) | 2022-06-16 | 2022-06-16 | 信息推荐方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210689242.0A CN117258307A (zh) | 2022-06-16 | 2022-06-16 | 信息推荐方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117258307A true CN117258307A (zh) | 2023-12-22 |
Family
ID=89205056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210689242.0A Pending CN117258307A (zh) | 2022-06-16 | 2022-06-16 | 信息推荐方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117258307A (zh) |
-
2022
- 2022-06-16 CN CN202210689242.0A patent/CN117258307A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931062B (zh) | 一种信息推荐模型的训练方法和相关装置 | |
CN111460130B (zh) | 信息推荐方法、装置、设备和可读存储介质 | |
CN111061946B (zh) | 场景化内容推荐方法、装置、电子设备及存储介质 | |
CN111966914B (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
CN111444428A (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
CN111353091A (zh) | 信息处理方法、装置、电子设备及可读存储介质 | |
Su et al. | Personalized clothing recommendation based on user emotional analysis | |
CN115618024A (zh) | 多媒体推荐方法、装置及电子设备 | |
CN113656699B (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN116764236A (zh) | 游戏道具推荐方法、装置、计算机设备和存储介质 | |
CN114817692A (zh) | 确定推荐对象的方法、装置和设备及计算机存储介质 | |
JP2012194691A (ja) | 識別器の再学習方法、再学習のためのプログラム、及び画像認識装置 | |
CN117076763A (zh) | 基于超图学习的会话推荐方法、装置、电子设备及介质 | |
CN116977701A (zh) | 视频分类模型训练的方法、视频分类的方法和装置 | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN112749332B (zh) | 数据处理方法、装置以及计算机可读介质 | |
CN115017413A (zh) | 推荐方法、装置、计算设备及计算机存储介质 | |
CN112035740B (zh) | 项目使用时长预测方法、装置、设备及存储介质 | |
CN117258307A (zh) | 信息推荐方法、装置、电子设备及存储介质 | |
Ntalianis et al. | Wall-content selection in social media: A revelance feedback scheme based on explicit crowdsourcing | |
CN111782762A (zh) | 问答应用中相似问题确定方法、装置、电子设备 | |
CN116628310B (zh) | 内容的推荐方法、装置、设备、介质及计算机程序产品 | |
CN116628236B (zh) | 多媒体信息的投放方法、装置、电子设备及存储介质 | |
CN117786234B (zh) | 一种基于两阶段对比学习的多模态资源推荐方法 | |
CN114827654B (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 |