WO2022016522A1 - 推荐模型的训练方法、推荐方法、装置及计算机可读介质 - Google Patents

推荐模型的训练方法、推荐方法、装置及计算机可读介质 Download PDF

Info

Publication number
WO2022016522A1
WO2022016522A1 PCT/CN2020/104487 CN2020104487W WO2022016522A1 WO 2022016522 A1 WO2022016522 A1 WO 2022016522A1 CN 2020104487 W CN2020104487 W CN 2020104487W WO 2022016522 A1 WO2022016522 A1 WO 2022016522A1
Authority
WO
WIPO (PCT)
Prior art keywords
training
recommendation
user
training sample
training samples
Prior art date
Application number
PCT/CN2020/104487
Other languages
English (en)
French (fr)
Inventor
李璟洁
祝宏
董振华
张小莲
殷实
冯新华
何秀强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2020/104487 priority Critical patent/WO2022016522A1/zh
Priority to EP20946442.9A priority patent/EP4181026A4/en
Priority to CN202080103030.9A priority patent/CN115917535A/zh
Publication of WO2022016522A1 publication Critical patent/WO2022016522A1/zh
Priority to US18/156,512 priority patent/US20230153857A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Abstract

提供了人工智能领域中的一种推荐模型的训练方法、推荐方法、装置及计算机可读介质。该训练方法包括:获取第一推荐模型(S610),第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的;确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值(S620);基于每个第一训练样本对验证损失的影响函数值确定每个第一训练样本对应的权重(S630);根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型,得到目标推荐模型(S640)。能够减轻训练样本的数据分布不一致对推荐模型训练的影响,提高推荐模型的准确性。

Description

推荐模型的训练方法、推荐方法、装置及计算机可读介质 技术领域
本申请实施例涉及人工智能领域,尤其涉及一种推荐模型的训练方法、推荐方法、装置及计算机可读介质。
背景技术
推荐系统通过综合考虑多种因素来为用户推荐物品。具体来说,推荐系统通过综合考虑多种因素预测用户对物品的选择概率,按照概率高低对物品进行排序并将部分或全部排序结果作为推荐结果进行展示。
通常推荐系统会从用户的历史数据中学习用户的偏好,例如,从用户的行为日志中学习用户的偏好,以提高预测准确率,为用户提供更适合的推荐结果。
然而,由于推荐模型通常是基于用户的历史数据训练得到的,因此用户的历史数据对推荐模型的预测效果具有较大的影响。当用户的历史数据不准确时,推荐系统的预测效果也会受到影响。例如,当用户的历史数据为有偏置的数据时,基于该数据训练得到的推荐模型也是有偏置的模型,造成马太效应,影响用户体验。
因此,如何提高推荐模型的准确性成为一个亟待解决的问题。
发明内容
本申请提供一种推荐模型的训练方法、推荐方法、装置及计算机可读介质,以提高推荐模型的准确率。
第一方面,提供了一种推荐模型的训练方法,该训练方法包括:获取第一推荐模型,第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的,第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签,第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作,n为大于1的整数;确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值,第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签,第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作,m为大于1的整数;基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定每个第一训练样本对应的权重;根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型,得到目标推荐模型。
根据本申请实施例的方案,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布,减少第一训练样本和第二训练样本的数据分布不一致对推荐模型的影响,提高推荐模型在预测第二 训练样本时的准确率。这样可以提升用户体验,增强用户粘性,吸引更多供应商的加入,增加推荐系统的收益。
推荐对象指的是推荐系统为用户推荐的对象,例如,推荐对象可以为终端设备的应用市场中的推荐应用程序;或者,推荐对象可以为搜索系统推荐的搜索词。应理解,在不同的推荐场景中,推荐对象的具体内容可以不同,本申请实施例对推荐对象的具体内容不作任何限定。
示例性地,用户的信息可以包括用户的标识,例如,用户的ID。用户的信息还可以包括用户个性化的一些属性信息,例如,用户的性别、用户的年龄、用户的职业、用户的收入、用户的兴趣爱好或用户的教育情况等。第一用户的信息可以包括上述用户的信息中的一项或多项。第二用户的信息可以包括上述用户的信息中的一项或多项。
示例性地,推荐对象的信息可以包括推荐对象标识,例如推荐对象ID。推荐对象的信息还包括推荐对象的一些属性,例如,推荐对象的名称、推荐对象的类型等。第一推荐对象的信息可以包括上述推荐对象的信息中的一项或多项。第二推荐对象的信息可以包括上述推荐对象的信息中的一项或多项。
示例性地,第一训练样本还可以包括第一上下文信息。第二训练样本还可以包括第二上下文信息。
上下文信息可以包括与操作行为有关的状态信息。例如,用户与推荐对象的交互时间、用户与推荐对象的交互地点或用户与推荐对象发生交互时使用的网络,比如4G或Wi-Fi等。
第一上下文信息可以包括上述上下文信息中的一项或多项。第二上下文信息可以包括上述上下文信息中的一项或多项。用户对推荐对象的操作动作可以包括用户的点击行为、用户的下载行为、用户的购买行为、用户的浏览行为和用户的差评行为等。
需要说明的是,n个第一训练样本中的n个第一用户可以相同,也可以不同。n个第一训练样本中的n个第一推荐对象可以相同,也可以不同。m个第二训练样本中的m个第二用户可以相同,也可以不同。m个第二训练样本中的m个第二推荐对象可以相同,也可以不同。第一用户和第二用户可以相同,也可以不同。第一推荐对象和第二推荐对象可以相同,也可以不同。
m个第二训练样本在第一推荐模型上的验证损失用于表示通过第一推荐模型对m个第二训练样本进行处理得到的m个第二训练样本的预测标签与m个第二训练样本的样本标签之间的差异。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定每个第一训练样本对应的权重,包括:每个第一训练样本对应的权重与每个第一训练样本对m个第二训练样本的验证损失的影响函数值呈负相关关系。
结合第一方面,在第一方面的某些实现方式中,每个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值满足如下公式:
Figure PCTCN2020104487-appb-000001
其中,z i表示第i个第一训练样本,φ(z i)表示第i个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示 第i个第一训练样本对第j个第二训练样本在第一推荐模型上的验证损失的影响函数值,
Figure PCTCN2020104487-appb-000002
表示z i在第一推荐模型
Figure PCTCN2020104487-appb-000003
上的梯度,
Figure PCTCN2020104487-appb-000004
表示m个第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000005
上的梯度的和,
Figure PCTCN2020104487-appb-000006
表示所有第一训练样本的海森矩阵的逆矩阵。
第j个第二训练样本在第一推荐模型上的验证损失用于表示通过第一推荐模型对第j个第二训练样本进行处理得到的第j个第二训练样本的预测标签与第j个第二训练样本的样本标签之间的差异。
结合第一方面,在第一方面的某些实现方式中,基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定每个第一训练样本对应的权重,包括,每个第一训练样本对应的权重满足如下公式:
Figure PCTCN2020104487-appb-000007
其中,π i表示第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示n个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值的集合。
根据本申请实施例的方案,通过sigmoid函数计算权重值,既能够满足凸优化条件,又能够满足单调映射,这样得到的权重能够使得训练得到的推荐模型的准确率更高。
结合第一方面,在第一方面的某些实现方式中,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,第二推荐对象为候选推荐对象集合中的一个候选推荐对象。
根据本申请实施例的方案,由于第二训练样本为没有偏置的训练样本,基于第二训练样本调整第一训练样本的权重可以使推荐模型更准确地拟合没有偏置的数据分布,减少避免偏置问题对训练带来的影响,减轻马太效应,提高推荐模型准确率。本申请实施例的方案基于反事实的方法纠正已观测到的样本的数据分布,增强了推荐结果的多样性,能够破除茧房效应,提升用户使用体验,增强用户粘性,让用户能更长时间的沉浸在推荐系统中,促进了推荐系统的良性循环,增加了供应商的收益,吸引更多供应商的加入,保证推荐系统的长期稳定发展。
此外,在训练过程中,只需少量的第二训练样本就能减轻偏置问题带来的影响,提升推荐模型的准确率,避免由于大规模采集第二训练样本而大规模随机展示推荐对象,导致系统整体收入下降,同时也避免需要大量的特征用于训练导致训练效率降低。
第二训练样本为没有偏置的训练样本。
示例性地,m个第二训练样本可以是在候选推荐对象集合中的候选推荐对象被展示的概率相同,且被展示的位置相同的情况下获得的。
结合第一方面,在第一方面的某些实现方式中,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:m个第二训练样本是在候选推荐对象集合中的候选推荐对象被随机展示给第二用户的情况下获得的;或者m个第二训练样本是在第二用户搜索第二推荐对象的情况下获得的。
m个第二训练样本可以是通过随机投放策略获得的训练样本。在随机展示的情况下,各个候选推荐对象被推荐给用户的概率是相同的,在该情况下得到的训练样本为没有偏置的训练样本。
M个第二训练样本可以是在用户主动搜索候选推荐对象的情况下获得的训练样本。在用户主动搜索的情况下,用户不是基于展示出的推荐对象进行交互,而是主动进行交互,对于用户而言,候选推荐对象集合中的候选推荐对象无论是否被展示,其展示给用户的概率均相同,也就是可以理解为候选推荐对象集合中的候选推荐对象被以相同的概率被展示给用户,在该情况下得到的训练样本为没有偏置的训练样本。
结合第一方面,在第一方面的某些实现方式中,m个第二训练样本属于源域的数据,n个第一训练样本属于目标域的数据。
根据本申请实施例的方案,第一训练样本为目标域的数据,第二训练样本为源域的数据,基于第二训练样本调整第一训练样本的权重可以使推荐模型更准确地拟合源域的数据分布,学习更准确的用户的偏好,提高推荐模型在目标域的准确率。
第二方面,提供了一种推荐方法,包括:获取目标用户的信息和候选推荐对象的信息;将目标用户的信息和候选推荐对象的信息输入至推荐模型,预测目标用户对候选推荐对象有操作动作的概率;其中,推荐模型的模型参数是根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型得到的,第一推荐模型是基于n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签,第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作,n为大于1的整数,第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签,第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作,m为大于1的整数。
根据本申请实施例的方案,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布,通过该方式训练得到的推荐模型在预测第二训练样本时具有更高的准确率。这样可以提升用户体验,增强用户粘性,吸引更多供应商的加入,增加推荐系统的收益。
结合第二方面,在第二方面的某些实现方式中,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,包括:每个第一训练样本对应的权重与每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值呈负相关关系。
结合第二方面,在第二方面的某些实现方式中,每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值满足如下公式:
Figure PCTCN2020104487-appb-000008
其中,z i表示第i个第一训练样本,φ(z i)表示第i个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示第i个第一训练样本对第j个第二训练样本在第一推荐模型上的验证损失的影响函数值,
Figure PCTCN2020104487-appb-000009
表示z i在第一推荐模型
Figure PCTCN2020104487-appb-000010
上的梯度,
Figure PCTCN2020104487-appb-000011
表示m个第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000012
上的梯度的和,
Figure PCTCN2020104487-appb-000013
表示所有第一训练样本的海森矩阵的逆矩阵。
结合第二方面,在第二方面的某些实现方式中,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,包括,每个第一训练样本对应的权重满足如下公式:
Figure PCTCN2020104487-appb-000014
其中,π i表示第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示n个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值的集合。
结合第二方面,在第二方面的某些实现方式中,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,第二推荐对象为候选推荐对象集合中的一个候选推荐对象。
结合第二方面,在第二方面的某些实现方式中,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:m个第二训练样本是在候选推荐对象集合中的候选推荐对象被随机展示给第二用户的情况下获得的;或者m个第二训练样本是在第二用户搜索第二推荐对象的情况下获得的。
结合第二方面,在第二方面的某些实现方式中,m个第二训练样本属于源域的数据,n个第一训练样本属于目标域的数据。
第三方面,提供了一种推荐方法,该方法包括:显示第一界面,第一界面包括至少一个应用程序的学习列表,该至少一个应用程序的学习列表中的第一应用程序的学习列表包括至少一个选项,至少一个选项中的每个选项关联一个应用程序;感知到用户在第一界面上的第一操作;响应于第一操作,打开或关闭第一应用程序在第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能。
根据本申请实施例中的方案,通过在不同域间进行知识(例如,用户的兴趣偏好)进行迁移和共享,将源域和目标域的用户交互历史记录都纳入到学习中,以使推荐模型能够更好地学习用户的偏好,使推荐模型在目标域也能很好的拟合用户的兴趣偏好,给用户推荐符合其兴趣的推荐结果,实现跨域推荐,缓解冷启动问题。
示例性地,该至少一个选项中的每个选项关联一个应用程序,与应用程序相关联的选项用于控制第一应用程序获取该应用程序中的数据,以进行跨域推荐。
也就是说,第一操作后用户可以从界面上看出第一应用程序的跨域推荐功能处于打开状态或关闭状态。
可选地,第一操作可以为点击操作、双击操作、长按操作或滑动操作等。
结合第三方面,在第三方面的某些实现方式中,所述方法还包括:第一操作作用于第一选项,响应于第一操作,打开或关闭第一应用程序在第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能,包括:响应于用户对第一选项的第一操作,打开或关闭第一应用程序在第一选项所关联的应用程序中的跨域推荐功能;其中,第一选项位于第一应用程序的学习列表中。
结合第三方面,在第三方面的某些实现方式中,第一操作作用于第一应用程序的学习列表对应的开关控件,响应于第一操作,打开或关闭第一应用程序在第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能,包括:响应于用户对开关控件的第一操作,打开或关闭第一应用程序在第一应用程序的学习列表中全部选项所关联的 应用程序中的跨域推荐功能。
结合第三方面,在第三方面的某些实现方式中,方法还包括:显示第二界面,第二界面用于呈现一个或多个推荐对象以及一个或多个推荐对象的提示信息,一个或多个推荐对象的提示信息用于指示一个或多个推荐对象是基于至少一个应用程序中的应用程序中的用户行为数据确定的。
结合第三方面,在第三方面的某些实现方式中,一个或多个推荐对象是通过将用户的信息和候选推荐对象的信息输入推荐模型中,预测用户对候选推荐对象有操作动作的概率确定的。
结合第三方面,在第三方面的某些实现方式中,推荐模型的模型参数是根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型得到的,第一推荐模型是基于n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签,第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作,n为大于1的整数,第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签,第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作,m为大于1的整数,m个第二训练样本是基于至少一个选项所关联的应用程序中的应用程序中的用户行为数据确定的,n个第一训练样本是基于第一应用程序中的用户行为数据确定的。
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面即第三方面中相同的内容。
第四方面,提供了一种推荐模型的训练装置,该装置包括用于执行第一方面以及第一方面中任意一种实现方式中的方法的各个模块/单元。
第五方面,提供了一种推荐装置,该装置包括用于执行第二方面以及第二方面中任意一种实现方式中的方法的各个模块/单元。
第六方面,提供了一种装置,该装置包含在电子设备中,该装置具有实现上述第三方面上述第三方面的任一种可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。
第七方面,提供一种推荐模型的训练装置,包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该训练装置执行上述第一方面以及第一方面中的任意一种实现方式中的方法。
可选地,上述训练装置可以是终端设备/服务器,也可以是终端设备/服务器内的芯片。
可选地,上述存储器可以位于处理器内部,例如,可以是处理器中的高速缓冲存储器(cache)。上述存储器还可以位于处理器外部,从而独立于处理器,例如,训练装置的内部存储器(memory)。
第八方面,提供一种推荐装置,包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得装置执行上述第二方面以及第二方面中的任意一种实现方式 中的方法。
可选地,上述装置可以是终端设备/服务器,也可以是终端设备/服务器内的芯片。
可选地,上述存储器可以位于处理器内部,例如,可以是处理器中的高速缓冲存储器(cache)。上述存储器还可以位于处理器外部,从而独立于处理器,例如,装置的内部存储器(memory)。
第九方面,提供了一种电子设备,包括处理器和存储器。该存储器与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,使得电子设备执行上述第三方面以及第三方面中任一项可能的实现中的推荐方法。
第十方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
需要说明的是,上述计算机程序代码可以全部或者部分存储在第一存储介质上,其中,第一存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本申请实施例对此不作具体限定。
第十一方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
附图说明
图1是本申请实施例提供的应用场景的示意图。
图2是本申请实施例提供的一种推荐系统的架构图。
图3是本申请实施例提供的一种系统架构的结构示意图。
图4是本申请实施例提供的一种系统架构的示意图。
图5是本申请实施例提供的一种推荐框架的示意性框图。
图6是本申请实施例提供的一种推荐模型的训练方法的示意性流程图。
图7是本申请实施例提供的一种推荐方法的示意性流程图。
图8是本申请实施例提供的一种应用市场的示意图。
图9是一种推荐过程的示意性流程图。
图10是本申请实施例提供的一种终生学习的示意性框图。
图11是一种跨域推荐的示意性流程图。
图12是本申请实施例提供的一种跨域推荐的示意性流程图。
图13是本申请实施例提供的一组图形用户界面的示意图。
图14是本申请实施例提供的另一组图形用户界面的示意图。
图15是本申请实施例提供的又一组图形用户界面的示意图。
图16是本申请实施例提供的一种推荐方法的示意性流程图。
图17是本申请实施例提供的推荐模型的训练装置的示意性框图。
图18是本申请实施例提供的推荐装置的示意性框图。
图19是本申请实施例提供的推荐模型的训练装置的示意性框图。
图20是本申请实施例提供的推荐装置的示意性框图。
图21是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了本申请实施例的部分应用场景。本申请实施例提供的推荐方法能够应用在所有需要推荐的场景中。例如,如图1所示,本申请实施例提供的推荐方法能够应用在应用市场推荐、音乐应用程序推荐、视频网站推荐、电商推荐、搜索词推荐、跨域推荐等需要进行推荐的场景。下面分别对三种常用的应用场景进行简单的介绍。
应用场景一:应用市场推荐
在应用市场中可以展示部分应用程序。推荐系统可以用于决定被展示的应用程序以及该应用程序相应的展示位置。当用户进入应用市场,会触发一个推荐请求(request)。由于用于应用程序展示的位置有限,当推荐系统收到一个推荐请求时,可以对所有待展示的应用程序都按照期望收入进行排序,然后选择最有价值一个或多个应用程序展示在相应的展示位置。例如,在点击付费(cost per click,CPC)的系统中只有当应用程序被用户点击时,广告商才需要付费。在CPC系统中,应用程序的价值通常是由应用程序的期望收入决定的。每个应用程序的期望收入与该应用程序的预估点击通过率(click-through rate,CTR)有关。在该情况下,CTR可以理解为每个应用程序(application,APP)被点击的概率。为了得到期望收入的排序,需要得到预估CTR。
具体地,确定所有待展示的应用程序的预估CTR,根据每个应用程序的预估CTR计算每个应用程序的期望收入并进行排序,根据排序结果确定被展示的应用程序以及该应用程序相应的展示位置。
其中,确定所有待展示应用程序的预估CTR可以由本申请实施例中的推荐方法来执行,根据得到的预估CTR能够对所有待展示的应用程序进行排序,进而可以根据该排序结果确定被展示的应用程序以及相应的展示位置。
应用场景二:搜索词推荐
在用户进行搜索时,搜索词通常包括两个来源:用户主动输入的搜索词和系统推荐给用户的搜索词。用户主动输入搜索词的行为是系统无法干预的用户行为。系统推荐给用户的搜索词指的是,当用户进入搜索场景,会触发一个推荐请求,当推荐系统收到推荐请求时,可以计算所有待展示的搜索词的分数,并对该分数进行排序,例如,搜索词的分数可以为搜索词被点击的概率,根据排序结果可以确定被展示的搜索词以及该搜索词相应的展示位置。
其中,计算所有搜索词的分数可以由本申请实施例中的推荐方法来执行,根据得到的分数能够对所有待展示的搜索词进行排序,进而可以根据该排序结果确定被展示的搜索词以及相应的展示位置。
应用场景三:跨域推荐
推荐系统通常采用单领域推荐的方式为用户进行推荐,具体来说,根据推荐场景中用户的历史数据学习用户在该推荐场景或者说该域的偏好,然后根据用户的偏好进行推荐。在推荐模型的学习阶段(训练阶段)以及实施阶段(应用阶段)均只考虑单个域的数据。然而,在新的推荐场景上限初期,用户的交互历史匮乏,若采用本域的历史数据学习用户的兴趣偏好,可能导致学习到的模型准确率较低,也就是存在冷启动问题。
跨域推荐是通过整合源域的用户的历史数据,学习用户在该域中的偏好,然后根据学 习到的用户的偏好指导目标域中的推荐结果。
跨域推荐可以应用于终生学习项目中。图10示出了一种终生学习框架的示意图。图10中的框架中主要包括事件采集模块、大数据平台模块、跨域学习模块和业务验证模块。
在多个场景中,如图10中的视频APP、音乐APP和浏览器APP等场景中获取用户的交互行为数据,然后经过事件采集模块进行处理,得到事件日志,并存储至大数据平台模块中。示例性地,事件采集模块对用户的交互行为数据进行处理,可以包括生成事件、采集事件、字段拼接和字段清洗等操作。跨域学习模块可以从大数据平台模块中导出相关域(源域和目标域)的数据进行训练,例如,通过关联分析、因果推理和知识迁移等操作后生成推荐模型,并推入业务验证模块,例如,信息流推荐引擎,上线生效。推荐模型用于指导平台为用户进行推荐。模型上线后,用户发起推荐请求,推荐模型通过对候选内容做召回、精排等流程处理后,在信息流APP里为用户推荐相关内容,供用户进行交互,实现系统闭环。
跨域推荐可以应用于跨域学习模块中。
应理解,图10中的终生学习框架仅为示意,终生学习框架中还可以包括比图10所示的模块更多或更少的模块,以执行相应的功能。
其中,跨域推荐可以由本申请实施例中的方法来执行,利用在源域学习到的用户的偏好指导目标域中的推荐模型的训练过程,得到能够应用于目标域的推荐模型,进而在目标域中为用户进行推荐。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的推荐模型的训练方法,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的第一训练样本)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的推荐模型;并且,本申请实施例提供的推荐方法可以运用上述训练好的推荐模型,将输入数据(如本申请中的目标用户的信息和候选推荐对象的信息)输入到所述训练好的推荐模型中,得到输出数据(如本申请中的预测目标用户对候选推荐对象有操作动作的概率)。需要说明的是,本申请实施例提供的推荐模型的的训练方法和推荐方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
为了便于理解本申请实施例,下面先对本申请实施例涉及的相关术语的相关概念进行介绍。
(1)推荐系统
推荐系统是指根据用户的历史数据进行分析,根据分析结果对新的推荐请求进行预测,得到推荐结果的系统。
推荐系统的任务是综合考虑用户、物品以及当前上下文信息等因素来为用户推荐用户最感兴趣的物品,在实际建模过程中往往采用用户最有可能点击的概率或转化的概率来对物品进行排序并展示推荐结果。
图2示出了本申请实施例中提供的一种推荐系统的架构图。当用户进入系统,会触发一个推荐请求,推荐系统将该推荐请求以及相关信息输入推荐模型中,预测用户对系统内的物品的选择率。进一步,根据预测的选择率或基于该选择率的某个函数对商品进行排序。推荐系统可以根据排序结果确定将要展示给用户的物品以及物品展示的位置,并将要展示 给用户的物品以及物品展示的位置作为推荐结果反馈给用户。用户浏览被展示的物品并可能发生操作动作,例如浏览行为、下载行为等。用户的操作动作可以存入用户行为日志中,对用户行为日志进行处理可以得到训练数据。利用该训练数据可以训练推荐模型,或者说不断更新推荐模型的模型参数,以提高推荐模型的预测效果。
例如,用户打开智能终端(例如,手机)中的应用市场可以触发应用市场中的推荐系统,也就是在该推荐系统中触发一条推荐请求。推荐系统可以根据用户的历史行为日志,例如,用户的历史下载记录,以及应用市场的自身特征,比如时间、地点等环境特征信息,预测用户下载推荐系统中各个候选应用程序的概率。推荐系统可以按照预测的下载概率大小降序展示候选应用程序,提高候选应用程序的下载概率。
比如,当应用市场的展示位置为p个时,p为正整数,推荐系统可以选择预测的下载概率最高的p个候选应用程序进行展示,并将p个候选应用程序中预测的下载概率较高的应用程序展示在靠前的位置,将p个候选应用程序中预测的下载概率较低的应用程序展示在靠后的位置。
上述推荐模型可以是神经网络模型,下面对本申请实施例中可能涉及的神经网络的相关术语和概念进行介绍。
(2)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以x s和截距1为输入的运算单元,该运算单元的输出可以如公式(1)所示:
Figure PCTCN2020104487-appb-000015
其中,s=1、2、……n,n为大于1的自然数,W s为x s的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),该激活函数用于对神经网络中的特征进行非线性变换,将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(3)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure PCTCN2020104487-appb-000016
其中,
Figure PCTCN2020104487-appb-000017
是输入向量,
Figure PCTCN2020104487-appb-000018
是输出向量,
Figure PCTCN2020104487-appb-000019
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量。由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例,假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure PCTCN2020104487-appb-000020
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure PCTCN2020104487-appb-000021
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(4)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(5)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的数值,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
下面结合图3对本申请实施例的系统架构进行详细的介绍。
图3是本申请实施例的系统架构的示意图。如图3所示,系统架构100包括执行设备110、训练设备120、数据库130、客户设备140、数据存储系统150、以及数据采集系统160。
另外,执行设备110包括计算模块111、I/O接口112、预处理模块113和预处理模块114。其中,计算模块111中可以包括目标模型/规则101,预处理模块113和预处理模块114是可选的。
数据采集设备160用于采集训练数据。针对本申请实施例的推荐模型的训练方法来说,可以通过训练数据对推荐模型进行进一步训练。
例如,在本申请实施例中,训练数据可以包括第一训练样本以及第一训练样本的样本标签。第一训练样本可以包括第一用户的属性信息和第一推荐对象的信息。第一训练样本的样本标签表示第一用户对第一推荐对象是否有操作动作。第一用户对第一推荐对象是否有操作动作可以理解为第一用户是否选择第一推荐对象。
在采集到训练数据之后,数据采集设备160将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120 对输入的训练样本进行处理,将输出的预测标签与样本标签进行对比,直到训练设备120输出的预测标签与样本标签的差异小于一定的阈值,从而得到训练好的推荐模型,即训练后的推荐模型可以是目标模型/规则101。
上述目标模型/规则101能够用于预测用户是否选择推荐对象或预测用户选择推荐对象的概率。本申请实施例中的目标模型/规则101具体可以为神经网络、逻辑回归模型等。
需要说明的是,在实际应用中,数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图3所示的执行设备110,所述执行设备110可以是终端,如手机终端、平板电脑、笔记本电脑、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)或车载终端等,还可以是服务器或者云端等。在图3中,执行设备110配置有输入/输出
(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的训练数据或者用户触发的推荐请求等。这里的客户设备140具体可以是终端设备。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据进行预处理。示例性地,预处理模块113可以用于对输入数据进行数据清洗,例如,提取关键字段等。示例性地,预处理模块114可以用于提取输入数据的特征。
在本申请实施例中,可以没有预处理模块113和预处理模块114或者只有的一个预处理模块。当不存在预处理模块113和预处理模块114时,可以直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果提供给用户,如,目标模型/规则101可以用于推荐系统中预测目标用户是否候选推荐对象或选择候选推荐对象的概率,根据目标用户是否候选推荐对象或选择候选推荐对象的概率得到推荐结果,呈现给客户设备140,从而提供给用户。
例如,在本申请实施例中,上述推荐结果可以为根据目标用户选择候选推荐对象的概率得到的候选推荐对象的推荐排序,或者,上述推荐结果可以为根据目标用户选择候选推荐对象的概率得到的目标推荐对象,目标推荐对象可以为概率最高的一个或多个候选推荐对象。
值得说明的是,训练设备120可以针对不同的目标或不同的任务,基于不同的训练样本生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图3中所示情况下,在一种情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。
另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的训练数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图3仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图3中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
图4示出了本申请实施例提供了一种应用本申请实施例的推荐模型的训练方法以及推荐方法的系统架构200。该系统架构200可以包括本地设备220、本地设备230以及执行设备210和数据存储系统250,其中,本地设备220和本地设备230通过通信网络与执行设备210连接。
执行设备210由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码实现本申请实施例的推荐模型的训练方法以及推荐方法。
示例性地,数据存储系统250可以部署于本地设备220或者本地设备230中,例如,数据存储系统250可以用于存储训练数据。
需要说明的是,上述执行设备210也可以称为云端设备,此时执行设备210可以部署在云端。
具体地,执行设备210可以执行以下过程:
获取第一推荐模型,第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的,第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签,第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作,n为大于1的整数;确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值,第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签,第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作,m为大于1的整数;基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定每个第一训练样本对应的权重;根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型,得到目标推荐模型。
执行设备210能够通过执行上述过程训练得到推荐模型,通过该推荐模型可以更准确地预测目标用户对候选推荐对象有操作动作的概率。
在一种可能的实现方式中,上述执行设备210执行的训练方法可以是在云端执行的训练方法。
用户可以操作各自的用户设备(例如本地设备220和本地设备230)与执行设备210 进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备220、本地设备230可以从执行设备210获取到推荐模型的相关参数,本地设备220、本地设备230上利用该推荐模型预测目标用户对候选推荐对象有操作动作的概率。
在另一种实现中,执行设备210上可以直接部署推荐模型,执行设备210通过从本地设备220和本地设备230获取推荐请求以及相关信息,例如目标用户的信息和候选推荐对象的信息,并通过推荐模型预测目标用户对候选推荐对象有操作动作的概率。
示例性地,数据存储系统250可以是部署在本地设备220或者本地设备230中,用于存储本地设备的训练数据。
示例性地,数据存储系统250可以独立于本地设备220或本地设备230,单独部署在存储设备上,存储设备可以与本地设备进行交互,获取本地设备中用户行为日志,并存入存储设备中。
通常推荐模型可以从用户的历史数据中学习用户的偏好,进而基于用户的偏好预测用户选择候选推荐对象的概率,然后基于预测的概率高低确定推荐结果,并将推荐结果展示给用户。
推荐模型是基于用户的历史数据训练得到的,因此,用于训练的用户的历史数据对推荐模型的预测结果具有较大的影响。当用于训练的数据的分布情况与实际的数据分布情况不一致时,用于训练的数据相对于实际的数据是有偏置的。基于有偏置的数据训练得到的推荐模型也是有偏置的,影响预测结果的准确率。
因此,如何提高推荐模型的准确性成为一个亟待解决的问题。
本申请实施例提供了一种推荐模型的训练方法以及推荐方法,能够解决数据分布不一致的问题,提高推荐结果的准确性。
图5是本申请实施例的推荐框架500的示意图。为了更好的了解本申请实施例中的方法,下面对图5中的各个模块的功能进行简单的描述。
推荐框架500中包括特征工程模块510、模型训练模块520、影响函数模块530和权重调整模块540。
特征工程模块510可以用于从数据集的原始数据中提取特征,得到训练样本。
例如,原始数据可以为用户行为日志。
从数据集的原始数据中提取的特征包括用户的信息和推荐对象的信息等特征。
如图5所示,将第一数据集和第二数据集输入特征工程模块510中,可以得到第一训练集和第二训练集,第一训练集中包括n个第一训练样本。第二训练集中包括m个第二训练样本。n为大于1的整数,m为大于1的整数。
第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签。第一训练样本的样本标签用于表示第一用户对第一推荐对象是否有操作动作。
第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本 标签,第二训练样本的样本标签用于表示第二用户对第二推荐对象是否有操作动作。
进一步地,特征工程模块510可以用于对数据集中的数据进行处理,以得到统一格式的训练样本,例如,libSVM等格式的训练样本。
需要说明的是,特征工程模块510为可选模块,还可以通过其他方式获得训练样本。例如,利用神经网络从数据集的原始数据中提取特征,得到训练样本。或者,该训练样本为预先存储的,例如,训练样本可以存储于图2中所示的数据库130中。或者,该训练样本可以是从其他设备接收的。
模型训练模块520可以用于对推荐模型进行训练,得到推荐模型的模型参数。
推荐模型可以用于预测输入数据中的用户对候选推荐对象有操作动作的概率。
具体地,如图5所示,模型训练模块520可以用于基于第一训练集对推荐模型进行训练得到第一推荐模型,或者说是,得到第一推荐模型的模型参数。该第一推荐模型即为基于第一训练集训练得到的推荐模型。
模型训练模块520还可以用于基于带有权重的第一训练集对第一推荐模型进行训练,得到目标推荐模型,或者说是,得到目标推荐模型的模型参数。
带有权重的第一训练集包括带有权重的第一训练样本。
影响函数模块530可以用于确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值。
权重调整模块540可以用于基于每个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值确定每个第一训练样本对应的权重。
由第一训练样本和第一训练样本对应的权重可以得到带有权重的第一训练样本。
示例性地,推荐框架500可以用于执行两个阶段的流程,即训练阶段和推荐阶段。下面分别对训练阶段和推荐阶段进行说明。
训练阶段:
S1:获取第一训练集和第二训练集。
第一训练集中包括n个第一训练样本。第二训练集中包括m个第二训练样本。
例如,如图5所示,将第一数据集和第二数据集分别输入特征工程模块510中,分别得到第一训练集和第二训练集。
需要说明的是,步骤S1为可选步骤。示例性地,第一训练集和第二训练集还可以为预先存储的数据。例如,第一训练集和第二训练集可以为存储在图2的数据库130中的数据。
S2:基于第一训练集对推荐模型进行训练得到第一推荐模型的模型参数。
例如,如图5所示,将第一训练集中的n个第一训练样本输入模型训练模块520中进行训练,得到第一推荐模型,或者说是,得到第一推荐模型的模型参数。
需要说明的是,步骤S2为可选步骤。示例性地,第一推荐模型还可以是从其他设备接收到的推荐模型。该第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的。
S3:确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值
如图5所示,步骤S3可以由影响函数模块530执行。
S4:基于每个第一训练样本对第二训练集在第一推荐模型上的预测损失的影响函数值确定每个第一训练样本对应的权重。
也就是,基于每个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值确定每个第一训练样本对应的权重。
如图5所示,步骤S4可以由权重调整模块540执行。
S5:基于带有权重的第一训练集对第一推荐模型进行训练,得到目标推荐模型的模型参数。
也就是,基于n个第一训练样本和第一训练样本的权重对第一推荐模型进行训练,得到目标推荐模型,或者说是,得到目标推荐模型的模型参数。
如图5所示,步骤S5可以由模型训练模块520执行。
示例性地,上述推荐模型可以为低秩模型。例如,推荐模型可以为矩阵分解(matrix factorization,MF)模型、因子分解机(factorization machine,FM)或FFM等。
推荐阶段:
在推荐阶段,只需要部署目标推荐模型,推荐系统收到推荐请求后,将目标用户的信息和候选推荐对象的信息输入目标推荐模型中,通过目标推荐模型预测目标用户对候选推荐对象有操作动作的概率或者预测目标用户对候选推荐对象是否有操作动作。
例如,目标用户可以为触发推荐请求的用户。
示例性地,推荐系统可以构建基于特征信息的输入向量,通过目标推荐模型预测用户对推荐对象有操作动作的概率。其中,特征信息包括目标用户的信息和候选推荐对象的信息。
上述训练阶段的具体描述参见后文中的方法600,上述推荐阶段的具体描述参见后文中的方法700。
根据本申请实施例的方法,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布,以提高推荐模型在预测第二训练样本时的准确率。这样可以提升用户体验,增强用户粘性,吸引更多供应商的加入,增加推荐系统的收益。
下面结合图6至图12对本申请实施例的推荐模型的训练方法以及推荐方法进行说明。
图6示出了本申请实施例提供的一种推荐模型的训练方法600,图6所示的方法可以由推荐模型的训练装置来执行,该训练装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行推荐模型的训练方法的装置,也可以是由云服务设备和终端设备构成的系统。示例性地,方法600可以由图3中的训练设备120或图4中的执行设备210或本地设备执行。
例如,方法600具体可以由如图3所示的训练设备120执行,所述方法600中的第一训练样本和第二训练样本可以是如图3所示的数据库130中维护的训练数据。
方法600包括步骤S610至步骤S640。下面对步骤S610至步骤S640进行详细介绍。
S610,获取第一推荐模型。
第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的。第一训练样本包 括第一用户的信息和第一推荐对象的信息以及第一推荐样本的样本标签。第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作。n为大于1的整数。
需要说明的是,n个第一训练样本中的n个第一用户可以相同,也可以不同。n个第一训练样本中的n个第一推荐对象可以相同,也可以不同。
例如,训练样本1#(第一训练样本中的一例)中的第一用户为用户A,第一推荐对象为物品A,训练样本2#(第一训练样本中的一例)中的第一用户为用户B,第一推荐对象为物品A。再如,训练样本1#(第一训练样本中的一例)中的第一用户为用户A,第一推荐对象为物品A,训练样本2#(第一训练样本中的一例)中的第一用户为用户A,第一推荐对象为物品B。
用户的信息可以包括用户的标识,例如,用户ID。用户的信息还可以包括用户个性化的一些属性信息,例如,用户的性别、用户的年龄、用户的职业、用户的收入、用户的兴趣爱好或用户的教育情况等。
第一用户的信息可以包括上述用户的信息中的一项或多项。
推荐对象指的是推荐系统为用户推荐的对象,例如,推荐对象可以为前述应用场景一中的终端设备的应用市场中的推荐应用程序;或者,推荐对象可以为前述应用场景二中的系统推荐的搜索词。应理解,在不同的推荐场景中,推荐对象的具体内容可以不同,本申请实施例对推荐对象的具体内容不作任何限定。
第一推荐对象可以为上述推荐对象中的一种。
推荐对象的信息可以包括推荐对象的标识,例如推荐对象ID。推荐对象的信息还可以包括推荐对象的一些属性信息,例如,推荐对象的名称、推荐对象的类型等。不同的推荐场景下,推荐对象的属性信息可以不同。
例如,在前述应用场景一中,推荐对象可以为应用市场中的应用程序,推荐对象的信息可以为应用程序的信息。应用程序的信息可以包括应用程序的标识,例如,应用程序的id。应用程序的信息还可以包括应用程序的一些属性信息,例如,应用程序的名称、应用程序的开发者、应用程序的类型、应用程序的安装包大小、应用程序的打分或应用程序的评论等。
再如,在内容推荐场景中,推荐对象可以为文章,推荐对象的信息可以为文章的类型、文章的关键词、文章的主题、文章的评论或文章的表现形式等。
再如,在广告推荐场景中,推荐对象可以为广告,推荐对象的信息可以为广告的类型或广告的受众等。
第一推荐对象的信息可以包括上述推荐对象的信息中的一项或多项。
第一用户的信息和第一推荐对象的信息可以作为第一训练样本的第一特征信息。
进一步地,第一特征信息还包括第一上下文信息。也就是说,第一训练样本还可以包括第一上下文信息。
上下文信息可以包括与操作行为有关的状态信息。例如,用户与推荐对象的交互时间、用户与推荐对象的交互地点或用户与推荐对象发生交互时使用的网络,比如4G或Wi-Fi等。
用户与推荐对象的交互指的是用户对推荐对象有操作行为或没有操作行为。
第一上下文信息可以包括上述上下文信息中的一项或多项。
样本标签可以用于标记训练样本为正样本还是负样本。例如,标签可以为0或1,正样本的标签可以为1,负样本的标签可以为0。再例如,标签也可以为具体数值,也就是通过具体数值标记训练样本为正样本或负样本的概率。
样本标签可以基于用户对推荐对象是否有操作动作获得。
用户对推荐对象有操作动作可以包括用户的点击行为、用户的下载行为、用户的购买行为、用户的浏览行为或用户的差评行为等。
样本标签用于表示用户对推荐对象是否有操作动作。示例性地,根据用户对推荐对象是否有操作动作确定样本标签可以包括以下几种情况。
情况1:用户对推荐对象有操作动作,样本标签为1,用户对推荐对象没有操作动作,样本标签为0。
示例性地,在应用市场的推荐场景中,该操作动作可以为下载行为。具体地,当训练样本1#(第一训练样本中的一例)中的用户对训练样本1#中的推荐对象有下载行为,则训练样本1#为正样本,训练样本1#的样本标签为1;当训练样本1#中的用户对训练样本1#中的推荐对象没有下载行为,则训练样本1#为负样本,训练样本1#的样本标签为0。
情况2:用户对推荐对象有操作动作,样本标签为0,用户对推荐对象没有操作动作,样本标签为1。
示例性地,在应用市场的推荐场景中,该操作动作可以为差评行为。具体地,当训练样本1#(第一训练样本中的一例)中的用户对训练样本1#中的推荐对象有差评行为,则训练样本1#为负样本,训练样本1#的样本标签为0;当训练样本1#中的用户对训练样本1#中的推荐对象没有差评行为,则训练样本1#为正样本,训练样本1#的样本标签为1。
情况3:用户对推荐对象有第一类操作动作,则样本标签为1,用户对推荐对象有第二类操作动作,样本标签为0。
示例性地,在付费音乐推荐的应用场景中,该第一类操作动作可以包括购买行为等,该第二类操作动作可以包括浏览行为等。具体地,当训练样本1#(第一训练样本中的一例)中的用户对训练样本1#中的推荐对象有浏览行为,则训练样本1#为负样本,训练样本1#的样本标签为0;当训练样本1#中的用户对训练样本1#中的推荐对象有购买行为,则训练样本1#为正样本,训练样本1#的样本标签为1。应理解,本申请实施例中仅以购买行为和浏览行为为例对确定样本标签的过程进行说明,不应视为对本申请实施例的限制。在实际应用中,可以根据具体的应用场景确定操作动作对应的样本标签。例如,在一些场景中,该第一类操作动作可以包括浏览行为等,该第二类操作动作可以包括差评行为等。
还应理解,本申请实施例中仅以一类操作行为(情况1和情况2)和两类操作行为(情况3)为例对确定样本标签的过程进行说明,不应视为对本申请实施例的限制。在实际应用中,还可能包括两类以上的操作动作,可以根据具体的应用场景确定操作动作对应的样本标签。例如,第一类操作动作为下载行为,第二类操作动作为浏览行为,第三类操作动作为差评行为。用户对推荐对象仅有下载行为,则样本标签可以为1,用户对推荐对象仅有浏览行为,样本标签可以为0,用户对推荐对象有差评行为,样本标签可以为0。比如,当用户对推荐对象既有下载行为,又有差评行为,则样本标签为0。
下面举例说明训练样本。
例如,在应用市场的应用场景中,推荐对象为应用程序。训练样本1#(第一训练样本中的一例)可以包括训练样本1#中的用户ID,用户的性别、用户的职业、应用程序ID和应用程序的类型这4类属性数据,即该训练样本1#的特征信息中包括4个特征。
以训练样本1#为正样本为例,该训练样本1#可以表示为z=[1,28a85y62,男,教师,78ht1c9a,社交],最前面的1表示该训练样本1#的样本标签为1。样本标签可以表示用户对该应用程序是否有下载行为,样本标签为1可以表示该用户下载了该应用程序。
再如,在广告推荐的应用场景中,推荐对象为广告。训练样本1#(第一训练样本中的一例)可以包括训练样本1#中的用户ID、广告ID、广告展示类别、广告提供商、广告内容分类和广告点击率这6类属性数据,即该训练样本1#的特征信息中包括6个特征。
以训练样本1#为正样本为例,训练样本1#的样本标签为1,该训练样本1#可以表示为z=[1,25c83c98,68fd1e64,图片,1号提供商,新闻,0.032],最前面的1表示该训练样本1#的样本标签为1,样本标签可以表示用户对该广告是否有点击行为,样本标签为1可以表示该用户点击了该广告。
应理解,上述训练样本的表示方式仅为示意,在具体的应用场景中,还可以采用其他形式表示的训练样本,或者,也可以对上述训练样本进一步处理后输入推荐模型中,本申请对此不做限定。
示例性地,第一训练样本可以是如图4所示的数据存储系统250中存储的数据或图3所示的数据库130中存储的数据。
示例性地,第一训练样本也可以是通过其他方式获取的。例如,从其他设备接收的第一训练样本。
再如,还可以通过以下方式获取第一训练样本。
对原始数据进行数据预处理,并提取特征,以获取训练样本。该训练样本可以为第一训练样本。
示例性地,该获取过程可以由图5中的特征工程模块510执行。也就是将第一数据集输入特征工程模块510中进行处理,得到第一训练集。该第一训练集中包括n个第一训练样本。
第一数据集包括原始数据,例如,该原始数据可以为用户行为日志。在该情况下,第一训练集可以理解为是根据用户行为日志确定的,也就是第一训练样本可以是根据用户行为日志确定的。
具体可以通过以下步骤获取训练样本。
步骤(1):对原始数据进行数据预处理。
例如,数据预处理可以包括数据清洗。
通过对原始数据(例如,用户行为日志)进行过滤,仅保留或挑选需要的内容,比如,挑选关键字段。
步骤(2):提取特征。
例如,可以通过特征工程提取特征。
具体地,可以将用户行为日志或预处理后的用户行为日志中的各个维度的特征进行人工交叉或特征挑选等处理,得到需要的特征。
再如,还可以通过神经网络模型提取特征。
具体地,可以将用户行为日志或预处理后的用户行为日志中的各个维度的特征输入神经网络模型中,由神经网络模型输出需要的特征。
步骤(3):处理缺失值。
由于数据拼接或用户未反馈等原因,部分字段存在缺失问题,对于缺失值通常可以采用设置默认值的方式补充。
步骤(4):离散化处理。
将连续特征转换为离散特征,或者,将多个类别归为一个类别。
离散化是指将连续属性、特征或变量转换或划分为离散或标称属性/特征/变量/间隔的过程。特征离散化后,模型会更稳定,降低了模型过拟合的风险。
示例性地,通过分桶离散化将连续特征转换为离散特征。
例如,在广告推荐场景中,广告点击率为连续特征,可以通过分桶离散化的方式将该连续特征转换为离散特征。
例如,在广告推荐场景中,广告展示类别包括图片、视频或文章等,将图片和视频归为视觉类别,将文章归为文字类别。
步骤(5):分配特征ID。
为每个特征值分配一个特征ID。
例如,可以采用生成哈希值(hash)的方式或者自增的方式分配特征ID。具体描述参见后文中的方法900。
应理解,以上步骤的顺序仅为描述顺序,不应视为实际的执行顺序。在执行过程中,可以按照上述步骤的顺序执行,也可以不按照上述步骤的顺序执行。例如,先执行步骤(3)再执行步骤(2)等。
第一训练样本可以参考上述方式获取。
示例性地,第一推荐模型可以是预先存储的或者是预训练的模型。例如,第一推荐模型可以存储于如图4所示的数据存储系统250中或图3所示的数据库130中。
示例性地,第一推荐模型也可以是通过其他方式获取的。例如,从其他设备接收的第一推荐模型。
再如,还可以通过以下方式获取第一推荐模型。该获取过程也可以理解为训练过程。示例性地,该训练过程可以由图5中的模型训练模块520执行。也就是将第一训练集输入模型训练模块520中,得到第一推荐模型。
基于n个第一训练样本对推荐模型进行训练,得到第一推荐模型,或者说,得到第一推荐模型的模型参数。
具体地,以第一特征信息作为第一推荐模型的输入,以第一训练样本的样本标签作为第一推荐模型的目标输出值进行训练,得到第一推荐模型。
第一特征信息包括第一用户的信息和第一推荐对象的信息。进一步地,第一特征信息还可以包括第一上下文信息。
推荐模型可以用于预测当向用户推荐推荐对象时,用户是否对推荐对象有操作动作。预测模型输出的值即为预测标签。该预测标签用于表示用户对推荐对象是否有操作动作的预测。例如。该预测标签可以为0或1,也就是用0或1表示用户是否对推荐对象有操作动作。该预测标签也可以为概率值,也就是用概率值表示用户对推荐对象有操作动作的概 率。也就是说推荐模型的输出可以为0或1,也可以为概率值。本申请实施例对推荐模型输出值的具体形式不做限定。
示例性地,本申请实施例中的推荐模型可以为多种类型的模型。例如,推荐模型可以为广告平均CTR模型、逻辑回归(logistic regression,LR)模型等较为简单的模型。再如,推荐模型可以为矩阵分解(matrix factorization,MF)模型、因子分解机(factorization machine,FM)或域感知因子分解机(field-aware factorization machines,FFM)等低秩模型。再如,推荐模型可以为深度FM(deepFM)或DNN等深度模型。
示例性地,推荐模型可以是利用自动微分的深度学习框架构建的,例如,通过TensorFlow或pytorch等框架构建的。
推荐模型中包括损失函数,损失函数用于指示第一训练样本的预测标签和第一训练样本的样本标签之间的差异。
示例性地,训练过程可以为不断减小损失函数的值直至收敛,得到第一推荐模型的模型参数。
第一推荐模型可以满足如下公式。
Figure PCTCN2020104487-appb-000022
其中,w表示模型参数,R(w)表示正则项,λ表示决定正则项的超参数。y i表示第i个第一训练样本的样本标签,
Figure PCTCN2020104487-appb-000023
表示第i个第一训练样本的预测标签,n表示第一训练样本的数量。
Figure PCTCN2020104487-appb-000024
表示第i个第一训练样本的样本标签与第i个第一训练样本的预测标签之间的差异。
S620,确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值。
第二训练样本包括第二特征信息以及第二训练样本的样本标签。第二特征信息包括:第二用户的信息和第二推荐对象的信息。第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作。m为大于1的整数。
示例性地,步骤S620可以由图5中的影响函数模块530执行。
需要说明的是,m个第二训练样本中的m个第二用户可以相同,也可以不同。m个第二训练样本中的m个第二推荐对象可以相同,也可以不同。
例如,训练样本1#(第二训练样本中的一例)中的第二用户为用户A,第二推荐对象为物品A,训练样本2#(第二训练样本中的一例)中的第二用户为用户B,第二推荐对象为物品A。再如,训练样本1#(第二训练样本中的一例)中的第二用户为用户A,第二推荐对象为物品A,训练样本2#(第二训练样本中的一例)中的第二用户为用户A,第二推荐对象为物品B。
还应理解,第一用户和第二用户可以相同,也可以不同。第一推荐对象和第二推荐对象可以相同,也可以不同。
n个第一训练样本中可以包括m个第二训练样本中的部分或全部,也可以不包括第二训练样本。
第二用户的信息可以包括步骤S610中所述的用户的属性信息中的一项或多项。
第二推荐对象可以为步骤S610中所述的推荐对象中的一种。
第二推荐对象的信息可以包括步骤S610中所述的推荐对象的信息中的一项或多项。
第二用户的信息和第二推荐对象的信息可以作为第二训练样本的第二特征信息。
进一步地,第二特征信息还包括第二上下文信息。也就是说,第二训练样本还可以包括第二上下文信息。
第二上下文信息可以包括步骤S610中所述的上下文信息中的一项或多项。
关于第二样本的样本标签的描述可以如步骤S610中所述,此处不再赘述。
示例性地,第二训练样本可以是如图4所示的数据存储系统250中存储的数据或图3所示的数据库130中存储的数据。
示例性地,第二训练样本也可以是通过其他方式获取的。例如,从其他设备接收的第二训练样本。
再如,还可以通过以下方式获取第二训练样本。
对原始数据进行数据预处理,并提取特征,以获取训练样本。该训练样本可以为第二训练样本。
示例性地,该获取过程可以由图5中的特征工程模块510执行。也就是将第二数据集输入特征工程模块510中进行处理,得到第二训练集。该第二训练集中包括m个第二训练样本。
第二数据集包括原始数据,例如,该原始数据可以为用户行为日志。在该情况下,第二训练集可以理解为是根据用户行为日志确定的,也就是第二训练样本可以是根据用户行为日志确定的。
具体的基于原始数据获取第二训练样本的方式可以参见步骤S610中的描述,此处不再赘述。
可选地,第二训练样本为没有偏置的训练样本。第一训练样本可以为有偏置的训练样本。具体过程参见后文中的方法900。
有偏置的训练样本可以理解为在当推荐对象为按照一定规则展示给用户的情况下获得的训练样本。例如,在收到推荐请求时,将候选推荐对象按照候选推荐对象的期望收入进行排序,按照期望收入的高低确定被展示给用户的候选推荐对象,也就是说在该情况下,各个推荐对象被展示给用户的概率是不同的,期望收入较高的推荐对象被展示给用户的概率较高,在该情况下得到的训练样本即为有偏置的训练样本。
在没有偏置的训练样本中,推荐对象的曝光几率均等且展示位置分布一致。也就是说,没有偏置的训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的训练样本。当推荐系统中展示位置多于一个时,没有偏置的训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同,且被展示的位置相同的情况下获得的。
例如,没有偏置的训练样本是通过随机投放策略获得的训练样本。
随机投放策略指的是将候选推荐对象集合中的候选推荐对象按照随机展示的方式展示给用户的投放策略。在随机展示的情况下,各个候选推荐对象被推荐给用户的概率是相同的,在该情况下得到的训练样本为没有偏置的训练样本。
再如,没有偏置的训练样本是在用户主动搜索候选推荐对象的情况下获得的训练样本。在用户主动搜索的情况下,用户不是基于展示出的推荐对象进行交互,而是主动进行交互,对于用户而言,候选推荐对象集合中的候选推荐对象无论是否被展示,其展示给用户的概率均相同,也就是可以理解为候选推荐对象集合中的候选推荐对象被以相同的概率 被展示给用户。
可选地,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,第二推荐对象为候选推荐对象集合中的一个候选推荐对象。
可选地,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被随机展示给第二用户的情况下获得的。
或者,m个第二训练样本是在第二用户搜索第二推荐对象的情况下获得的。
下面以推荐对象为应用市场中的推荐应用程序为例对没有偏置的训练样本和有偏置的训练样本进行说明。
针对一条推荐请求,通过随机投放策略展示应用程序,也就是将多个候选应用程序中的一个或多个应用程序随机展示给该推荐请求对应的用户,各个候选应用程序被展示给该推荐请求对应的用户的概率相同,在该情况下得到的训练样本即为没有偏置的训练样本。针对一条推荐请求,将多个候选应用程序按照期望收入进行排序,按照排序决定被展示给用户的应用程序,在该情况下得到的训练样本为有偏置的训练样本。
当用户进入应用市场主动搜索应用程序,在该情况下得到的训练样本即为没有偏置的训练样本。例如,该用户可以作为第二用户,用户主动搜索的应用程序可以作为第二推荐对象。
可选地,第一训练样本的获取时间早于第二训练样本的获取时间。具体过程参见后文中的方法1000。
可选地,第一训练样本可以是根据目标域的数据确定的,第二训练样本可以是根据源域的数据确定的。具体过程参见后文中的方法1100。
m个第二训练样本在第一推荐模型上的验证损失指的是通过第一推荐模型对m个第二训练样本进行处理得到的m个第二训练样本的预测标签与m个第二训练样本的样本标签之间的差异。为了便于描述,将m个第二训练样本在第一推荐模型上的验证损失简称为验证损失,第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值简称为第一训练样本对验证损失的影响函数值。
影响函数值是通过给第一训练样本进行数据扰动,评价扰动后的第一推荐模型对验证损失的影响得到的。
通过该方式能够确定第一训练样本对验证损失的重要性。第一训练样本的数据分布与第二训练样本的数据分布越接近,该第一训练样本对验证损失越重要,该第一训练样本的影响函数值越小。
具体地,影响函数值满足如下公式。
Figure PCTCN2020104487-appb-000025
其中,z i表示第i个第一训练样本,φ(z i)表示第i个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值,也就是第i个第一训练样本对所有第二训练样本在第一推荐模型上的验证损失的影响函数值。z j表示第j个第二训练样本,φ(z i,z j)表示第i个第一训练样本对第j个第二训练样本在第一推荐模型上的验证损失的影响函数值。第j个第二训练样本的验证损失指的是第j个第二训练样本输入第一推荐模型中得到的预测标签和第j个第二训练样本的样本标签之间的差异。
Figure PCTCN2020104487-appb-000026
表示z i在第一推荐模型
Figure PCTCN2020104487-appb-000027
上的梯度,
Figure PCTCN2020104487-appb-000028
表示m个第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000029
上的梯度的和,上 角标T表示求该矩阵的转置矩阵。
Figure PCTCN2020104487-appb-000030
表示所有第一训练样本的海森矩阵的逆矩阵,所有第一训练样本的海森矩阵表示所有第一训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000031
上的二阶导数的平均值,具体地,
Figure PCTCN2020104487-appb-000032
示例性地,可以通过以下步骤计算影响函数的值。
步骤(1):计算所有第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000033
上的梯度,进而得到所有第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000034
上的梯度的和
Figure PCTCN2020104487-appb-000035
步骤(2):计算所有第一训练样本的海森矩阵。
通常采用隐式海森向量积(Hessian-vector products,HVP)近似的求解海森矩阵的逆矩阵,无需显式计算海森矩阵,例如,可以采用共轭梯度(conjugate gradients,CG)法或者随机估计(Stochastic estimation)法求解海森矩阵的逆矩阵。
步骤(3):将步骤(1)得到的矩阵的逆矩阵与步骤(2)得到的海森矩阵的逆矩阵相乘即得到上述影响函数的左半部分IF L。对于所有的第一训练样本的影响函数值而言,左半部分的值均相同,因此该部分仅需计算一次。
步骤(4):计算每个第一训练样本的影响函数值。具体地,将步骤(3)中的IF L分别与每个第一训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000036
上的梯度相乘,得到每个第一训练样本的影响函数值。
应理解,以上计算过程仅为示例,还可以通过其他方式计算得到第一训练样本的影响函数值,本申请实施例对此不做限定。
S630,基于每个第一训练样本对m个第二训练样本在第一预测模型上的验证损失的影响函数值调整每个第一训练样本对应的权重。
示例性地,步骤S630可以由图5中的权重调整模块540执行。
如前所述,第一训练样本的分布与第二训练样本的分布越接近,该第一训练样本的影响函数值越小。而且,第一训练样本的分布与第二训练分布越接近,该第一训练样本对预测损失越重要。因此,对重要的第一训练样本设置更大的权重,能够使所有第一训练样本的分布朝着第二训练样本的分布方向发展。
示例性地,权重可以满足如下公式。
Figure PCTCN2020104487-appb-000037
其中,π i表示第i个第一训练样本对应的权重,π i=1+nε i,π i∈[0,B],其中,B表示权重的最大值,ε i表示对第i个第一训练样本的扰动值。
Figure PCTCN2020104487-appb-000038
为n个第一训练样本对应的权重集合。
理论上来说,该方法为最优的权重计算方法。然而,根据凸优化理论,该方法不满足利普希茨连续(Lipschitz continuous)的凸优化条件,采用该方法确定权重容易使训练过拟合。
可选地,第一训练样本对应的权重与第一训练样本对验证损失的影响函数值呈负相关关系。也就是说第一训练样本对于预测损失的影响函数值越大,第一训练样本对应的权重越小。
可选地,权重满足如下公式。
Figure PCTCN2020104487-appb-000039
其中,α表示调权系数,max()表示对操作对象求最大值,min()表示对操作对象求最小值,操作对象{φ(z i)}表示所述n个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值的集合,该部分能够用于统一尺度。
该权重计算方法是通过sigmoid函数计算权重值,既能够满足凸优化条件,又能够满足单调映射,由该方法得到的权重能够使得训练得到的推荐模型的准确率更高。
需要说明的是,以上通过sigmoid函数计算权重值的方法仅为示例,其他能够满足凸优化条件,且满足单调映射的方法也能够用于计算权重值,例如,线性映射法。
S640,基于n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型,得到目标推荐模型。
示例性地,步骤S640可以由图5中的模型训练模块520执行。
n个第一训练样本和n个第一训练样本对应的权重组成的训练样本即为带有权重的n个第一训练样本。
如图5所示,第一训练集和第一训练样本对应的权重得到带有权重的第一训练集,带有权重的第一训练集中包括n个带有权重的第一训练样本。
具体的训练方法可以参见前述步骤S610中的描述。
推荐模型中包括损失函数,损失函数用于指示第一训练样本的预测标签和第一训练样本的样本标签之间的差异。
示例性地,步骤S640的训练过程可以为不断减小所有带有权重的第一训练样本对应的损失函数的值的总和直至收敛,得到目标推荐模型的模型参数。也就是说,通过第一训练样本对应的权重,调整第一训练样本的损失函数值在所有损失函数值的总和中所占的比例。
目标推荐模型可以满足如下公式。
Figure PCTCN2020104487-appb-000040
其中,w表示模型参数,R(w)表示正则项,λ表示决定正则项的超参数。y i表示第i个第一训练样本的样本标签,
Figure PCTCN2020104487-appb-000041
表示第i个第一训练样本的预测标签,n表示第一训练样本的数量。
Figure PCTCN2020104487-appb-000042
表示第i个第一训练样本的样本标签与第i个第一训练样本的预测标签之间的差异,π i表示第i个第一训练样本对应的权重。
根据本申请实施例的方法,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布,以提高推荐模型在预测第二训练样本时的准确率。这样可以提升用户体验,增强用户粘性,吸引更多供应商的加入,增加推荐系统的收益。
图7示出了本申请实施例提供的推荐方法700的示意图。图7所示的方法可以由推荐装置来执行,该装置可以是云服务设备,也可以是终端设备,例如,电脑、服务器等运算能力足以用来执行推荐方法的装置,也可以是由云服务设备和终端设备构成的系统。示例 性地,方法700可以由图3中的执行设备110或图4中的执行设备210或本地设备执行。
例如,方法700具体可以由如图3所示的执行设备110执行,所述方法700中的目标用户和候选推荐对象可以是如图3所示的I/O接口112输入的数据。
方法700包括步骤S710和步骤S720。下面对步骤S710至步骤S720进行详细介绍。
S710,获取目标用户的信息和候选推荐对象的信息。
例如,当用户进入推荐系统时,会触发推荐请求。推荐系统可以将触发该推荐请求的用户作为目标用户,将推荐系统中可以展示给用户的推荐对象作为候选推荐对象。
示例性地,目标用户的信息可以包括用户的标识,例如目标用户ID,目标用户的信息还可以包括用户个性化的一些属性信息,例如,目标用户的性别、目标用户的年龄、目标用户的职业、目标推荐用户的收入、目标用户的爱好或目标用户的教育情况等。
示例性地,候选推荐对象的信息可以包括候选推荐对象的标识,例如候选推荐对象ID。候选推荐对象的信息还可以包括候选推荐对象的一些属性信息,例如,候选推荐对象的名称或候选推荐对象的类型等。
S720,将目标用户的信息和候选推荐对象的信息输入至推荐模型,预测目标用户对候选推荐对象有操作动作的概率。
示例性地,可以通过预测目标用户对候选推荐对象有操作动作的概率对候选推荐集合中的候选推荐对象进行排序,从而得到候选推荐对象的推荐结果。例如,选择概率最高的候选推荐对象展示给用户。比如,候选推荐对象可以是候选推荐应用程序。
如图8所示,图8示出了应用市场中的“推荐”页,该页面上可以有多个榜单,比如,榜单可以包括精品应用和精品游戏。以精品游戏为例,应用市场的推荐系统根据用户的信息和候选推荐应用程序的信息预测用户对候选推荐应用程序有下载(安装)行为的概率,并以此概率将候选推荐应用程序降序排列,将最可能被下载的应用程序排在最靠前的位置。
示例性地,在精品应用中推荐结果可以是App5位于精品游戏中的推荐位置一、App6位于精品游戏中的推荐位置二、App7位于精品游戏中的推荐位置三、App8位于精品游戏中的推荐位置四。当用户看到应用市场的推荐结果之后,可以根据自身的兴趣爱好对上述推荐结果进行操作动作,用户的操作动作执行后会被存入用户行为日志中。
图8所示的应用市场可以通过用户行为日志得到训练数据训练推荐模型。
应理解,上述举例说明是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
其中,该推荐模型可以是利用方法600训练得到的目标推荐模型,此处不再赘述。
推荐模型的模型参数是根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型得到的,第一推荐模型是基于上述n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的。
第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签,第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作,n为 大于1的整数。
第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签,第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作,m为大于1的整数。
可选地,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,包括:
每个第一训练样本对应的权重与每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值呈负相关关系。
可选地,每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值满足如下公式:
Figure PCTCN2020104487-appb-000043
其中,z i表示第i个第一训练样本,φ(z i)表示第i个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示第i个第一训练样本对第j个第二训练样本在第一推荐模型上的验证损失的影响函数值,
Figure PCTCN2020104487-appb-000044
表示z i在第一推荐模型
Figure PCTCN2020104487-appb-000045
上的梯度,
Figure PCTCN2020104487-appb-000046
表示m个第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000047
上的梯度的和,
Figure PCTCN2020104487-appb-000048
表示所有第一训练样本的海森矩阵的逆矩阵。
可选地,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,包括,每个第一训练样本对应的权重满足如下公式:
Figure PCTCN2020104487-appb-000049
其中,π i表示第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示n个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值的集合。
可选地,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,第二推荐对象为候选推荐对象集合中的一个候选推荐对象。
可选地,m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:
m个第二训练样本是在候选推荐对象集合中的候选推荐对象被随机展示给第二用户的情况下获得的;或者m个第二训练样本是在第二用户搜索第二推荐对象的情况下获得的。
可选地,m个第二训练样本属于源域的数据,n个第一训练样本属于目标域的数据。
可以理解方法600为该推荐模型的训练阶段(如图3所示的训练设备120执行的阶段),具体训练是采用由方法600中提供的推荐模型进行的;而方法700则可以理解为是该推荐模型的应用阶段(如图3所示的执行设备110执行的阶段),具体可以体现为采用由方法600训练得到的推荐模型,并根据目标用户的信息和候选推荐对象的信息,从而得到输出结果,即目标用户对候选推荐对象有操作的概率。
下面通过三个示例(示例1、示例2和示例3)对本申请实施例的方案应用于不同场景进行说明,应理解,下面描述的推荐模型的训练方法可以视为方法600的一种具体实现 方式,下面描述的推荐方法可以视为方法700的一种具体实现方式,为了避免不必要的重复,下面在介绍本申请实施例的三个示例时适当省略重复的描述。
示例1:
如图9所示,对于每个推荐请求,推荐系统中通常需要基于用户画像对全量库中的所有物品执行召回、精排或者人工规则等多个流程来生成最终的推荐结果,然后展示给用户。被推荐给用户的物品的数量远远小于物品的总数量,在该过程中引入了多种偏置问题,例如,位置偏置和选择偏置。
用户画像指的是用户个性化偏好的标签集合。例如,用户画像可以由用户的交互历史生成。
选择偏置指的是由于物品被展示的概率不同导致采集到的数据有偏置。理想的训练数据是在将物品按照相同的展示概率展示给用户的情况下得到的。现实情况中,由于展示位的数量限制,无法展示所有物品。推荐系统通常根据预测的用户对物品的选择率为用户进行推荐,用户只能与被展示出来的物品中进行交互,而没有得到展示的机会的物品无法被选择,即无法参与交互,这样导致物品得到展示的机会并不相同。在整个推荐流程中,例如召回、精排等多个流程,均会出现截断操作,即从候选推荐对象中选择部分推荐对象进行展示。
位置偏置指的是由于物品展示的位置不同导致采集到的数据有偏置。推荐系统通常按照从上到下或从左到右的先后顺序依次展示推荐结果。按照人们的浏览习惯,位于前面的物品更容易被看到,用户的选择率更高。例如,在应用市场的一个榜单中,同一个应用程序(application,APP)可以展示在第一位,也可以展示在最后一位。通过随机投放策略可以验证,该APP展示在第一位的下载率远高于展示在最后一位的下载率。如图9所示,通过执行精排流程,导致物品展示位置出现差异,由此引入位置偏置。
由于偏置问题的存在,导致展示机会多的物品被用户选择的概率更高,用户选择的概率越高,在之后的推荐中该物品更容易被推荐给用户,进而获得更多的展示机会,容易被其他用户点击,加剧了偏置问题的影响,造成马太效应,导致长尾问题的加剧。长尾问题导致绝大部分小众的个性化需求无法得到满足,影响了用户体验。此外,推荐系统中的很多物品由于没有曝光机会,也就无法产生实际的商业价值,空耗存储资源和计算资源,造成资源的浪费。
本申请实施例提出一种推荐模型的训练方法以及一种推荐方法,能够减少偏置问题对推荐结果的影响,提高推荐模型准确率。
该训练方法900可以视为方法600的一种具体实现方式,为了避免不必要的重复,下面在介绍该训练方法900时适当省略重复的描述。该训练方法900包括步骤S910至步骤S950。下面对步骤S910至步骤S950进行说明。
S910,获取n个第一训练样本和m个第二训练样本。
第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签。第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作。n为大于1的整数。
第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签。第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作。m为 大于1的整数。
进一步地,第一训练样本还可以包括第一上下文信息。第二训练样本还可以包括第二上下文信息。
第二训练样本为没有偏置的训练样本。
具体地,第二训练样本可以是在候选推荐对象集合中的候选推荐对象以相同的概率被展示给第二用户的情况下得到的。
例如,第二训练样本可以是采用随机投放策略的情况下获得的。
随机投放策略指的是将候选推荐对象集合中的候选推荐对象按照随机展示的方式展示给用户的投放策略。在该情况下,各个推荐对象被推荐给用户的概率是相同的,根据随机投放策略得到的训练样本为没有偏置的训练样本。
再如,第二训练样本可以是用户主动搜索的情况下获得的。
当用户主动发起搜索时,对于用户而言,候选推荐对象集合中的候选推荐对象无论是否被展示,其展示给用户的概率均相同,也就是可以理解为被以相同的概率被展示给用户。
需要说明的是,步骤S910为可选步骤,该步骤的具体描述可以参见方法600中的步骤S610,此处不再赘述。
下面以广告推荐场景为例说明步骤S910中获取训练样本的一种实现方式。
表1示出了广告推荐场景中基于用户的交互历史(例如,用户行为日志)获得的数据。
表1
标签 用户ID 广告ID 展示类别 广告提供商 广告内容分类 广告点击率
1 25c83c98 68fd1e64 图片 1号提供商 新闻 0.032
0 efea433b 0b153874 视频 2号提供商 娱乐 0.017
表1中的一行即为一个训练样本。以该训练样本为第一训练样本为例,第一训练样本包括第一用户的信息和第一推荐对象的信息。第一用户的信息包括第一用户的ID,第一推荐对象为广告,第一推荐对象的信息包括第一推荐对象的ID、第一推荐对象的展示类别、第一推荐对象的广告提供商、第一推荐对象的广告内容分类和第一推荐对象的广告点击率。也就是说第一训练样本中共包括6类特征。
应理解,表1仅为示意,用户的信息以及推荐对象的信息还可以包括比表1更多或更少项的信息,或者说更多或更少类特征信息。
如前所述,第二训练样本为没有偏置的训练样本。例如,若根据用户行为日志获得取第二训练样本,则该用户行为日志可以是通过随机投放策略或用户主动搜索的方式得到的。
示例性地,获取训练样本的具体过程包括步骤S911至步骤S912。第一训练样本和第二训练样本均可以按照该方式获取。
对原始数据进行格式化处理,得到统一格式的数据,作为训练样本。
S911,将连续特征进行离散化处理。
例如,可以采用分桶离散化的方式进行特征离散化。
以表1中的广告点击率为例,广告点击率为连续特征,将其进行分桶离散化后得到离 散化特征,如表2所示。
表2
广告点击率
18
7
S912,为每个特征分配特征ID。
示例性地,可以采用生成哈希值(hash)的方式或者自增的方式分配特征ID。
例如,采用自增的方式分配广告展示类别的特征ID可以为,表1中第一个训练样本中的广告展示类别的特征ID为10,第二个训练样本中的广告展示类别的特征ID为20。
采用生成hash的方式分配特征ID指的是将每个特征映射为hash值,例如,如表3所示。
表3
标签 用户ID 广告ID 展示类别 广告提供商 广告内容分类 广告点击率
1 91687 6150 60736 19822 70404 93221
0 71431 57276 31344 32068 34632 47800
进一步的,可以以统一格式存储步骤S912得到的数据。
示例性地,以libSVM格式存储步骤S912得到的数据。这样,可以将由特征ID编码后的字段以更为紧凑的方式存储。
例如,可以按照如下形式存储。
1 91687:1 6150:1 60736:1 19822:1 70404:1 93221:1
0 71431:1 57276:1 31344:1 32068:1 34632:1 47800:1
…;
其中,特征ID后面的1表示该值存在,或者说该特征值是基于用户的交互历史确定的。若特征ID后面为0,则表示该特征值缺失,例如,在数据采集过程中,可能出现部分特征值缺失的问题,在该情况下,该特征ID可以是默认值。
将上述数据划分为特征部分和标签部分两部分即得到训练样本。
例如,如表4所示。其中,特征部分用于表示用户的信息和推荐对象的信息。标签部分即为训练样本的样本标签。
表4
Figure PCTCN2020104487-appb-000050
示例性地,可以从步骤S911中得到的数据中采样部分数据得到用于n个第一训练样本的数据,即步骤S911中得到的数据量大于n。
可替换地,可以将步骤S911中得到的全部数据作为用于得到n个第一训练样本的数据,即步骤S911中得到的数据量为n。
应理解,上述训练样本的表示方式仅为示意,在具体的应用场景中,还可以采用其他形式表示的训练样本,或者,也可以对上述训练样本进一步处理后输入推荐模型中,本申请对此不做限定。
S920,基于n个第一训练样本进行训练,得到第一推荐模型。
具体地,以第一特征信息作为第一推荐模型的输入,以第一训练样本的样本标签作为第一推荐模型的目标输出值进行训练,得到第一推荐模型的模型参数。
需要说明的是,步骤S920为可选步骤,具体描述可以参见方法600中的步骤S610,此处不再赘述。
下面以广告推荐场景为例对步骤S920的一种实现方式进行说明。
第一特征信息即为前述广告推荐场景中的特征部分,第一训练样本的样本标签即为前述广告推荐场景中的标签部分。
示例性地,步骤S920的具体过程包括步骤S921至步骤S923。
S921,将第一特征信息输入第一推荐模型中进行前向推导得到预测标签。
例如,第一推荐模型为逻辑回归模型,前向推导得到预测标签满足如下公式。
P ctr=w 91687+w 6150+w 60736+w 19822+w 70404+w 93221+b;
其中,P ctr表示预测标签,例如,P ctr表示由逻辑回归模型预测得到的点击概率,w x表示特征x对应的权重,例如,w 91687表示特征ID为91687的特征对应的权重,b表示逻辑回归模型的偏置项。
S922,计算第一训练样本的预测标签与第一训练样本的样本标签之间的损失函数值,并基于该损失函数值反向梯度更新推荐模型的参数。
示例性地,损失函数可以采用logloss。
例如,第一推荐模型为逻辑回归模型,损失函数值loss满足如下公式。
loss=logP ctr+log(1-P ctr);
S923,在验证集上验证更新后的推荐模型的预测准确率,重复步骤S921至步骤S923直至满足第一迭代终止条件。
示例性地,第一迭代终止条件可以为推荐模型的预测准确率的提升率小于设定阈值。也就是说重复步骤21)至步骤23)直至推荐模型的准确率不再提高或者说不再显著提高,得到第一推荐模型的模型参数。
示例性地,预测准确率可以采用观测者操作特性(receiver operating characteristic,ROC)曲线下的面积(area under the ROC curve,AUC)指标评价。
示例性地,验证集可以包括m个第二训练样本。也就是可以基于m个第二训练样本评价推荐模型的预测准确率。
在该情况下,n个第一训练样本可以理解为训练集中的数据,m个第二训练样本可以理解为验证集中的数据。
S930,确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值。m个第二训练样本在第一推荐模型上的验证损失指的是通过第一推荐模型对m个第二训练样本进行处理得到的m个第二训练样本的预测标签与m个第二训练样本的 样本标签之间的差异。
步骤S930与前述方法600中的步骤S620对应,具体描述可以参见步骤S620,此处不再赘述。
S940,基于每个第一训练样本对验证损失的影响函数值确定每个第一训练样本对应的权重。
步骤S940与前述方法600中的步骤S630对应,具体描述可以参见步骤S630,此处不再赘述。
例如,基于sigmoid函数确定n个第一训练样本对应的权重。以前述广告推荐场景为例,可以将第一训练样本的权重与第一训练样本进行拼接,得到带有权重的第一训练样本,表4中的两个训练样本对应的权重如表5所示。
表5
Figure PCTCN2020104487-appb-000051
S950,基于n个第一训练样本和n个第一训练样本对应的权重对第一推荐模型进行训练,得到目标推荐模型的模型参数。
也就是基于带有权重的第一训练样本对第一推荐模型进行训练,得到目标推荐模型的模型参数。
步骤S950与前述方法600中的步骤S640对应,具体描述可以参见步骤S640,此处不再赘述。
以前述广告推荐场景为例,采用表5中的训练样本对第一推荐模型进行训练。例如,第一推荐模型为逻辑回归模型,其损失函数为带有权重的损失函数。
对于表5中的第一个训练样本,损失函数值loss满足如下公式。
loss=0.49*(logP ctr+log(1-P ctr));
基于该损失函数值反向梯度更新推荐模型的参数,直至满足第二迭代终止条件。例如第而迭代终止条件可以为推荐模型的预测准确率的提升率小于设定阈值。具体训练方法可以参考步骤S920。
根据本申请实施例的方案,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布。由于第二训练样本为没有偏置的训练样本,基于第二训练样本调整第一训练样本的权重可以使推荐模型更准确地拟合没有偏置的数据分布,减少避免偏置问题对训练带来的影响,减轻马太效应,提高推荐模型准确率。本申请实施例的方案基于反事实的方法纠正已观测到的样本的数据分布,增强了推荐结果的多样性,能够破除茧房效应,提升用户使用体验,增强用户粘性,让用户能更长时间的沉浸在推荐系统中,促进了推荐系统的良性循环,增加了供应商的收益,吸引更多供应商的加入,保证推荐系统的长期稳定发展。
此外,在训练过程中,只需少量的第二训练样本就能减轻偏置问题带来的影响,提升 推荐模型的准确率,避免由于大规模采集第二训练样本而大规模随机展示推荐对象,导致系统整体收入下降,同时也避免需要大量的特征用于训练导致训练效率降低。
方法600得到的目标推荐模型可以用于预测用户对推荐对象有操作动作的概率,也就是预测用户选择该推荐对象的概率。推荐系统可以基于该目标推荐模型的输出确定推荐结果展示给用户。
本申请实施例提出一种推荐方法,该推荐方法所采用的推荐模型可以为方法900训练得到的目标推荐模型。
该推荐方法包括如下步骤。
步骤S1,获取目标用户的信息和候选推荐对象的信息。
该步骤与前述方法700中的步骤S710对应,具体描述可以参见步骤S710,此处不再赘述。
以前述广告推荐场景为例,可以采用步骤S910中的方式处理原始数据,得到可以输入推荐模型的特征,即目标用户的信息和候选推荐对象的信息。
例如,通过查找特征表的方式得到特征ID。
24387:1 3215:1 9736:1 38274:1 28304:1 92472:1;
步骤S2,将目标用户的信息和候选推荐对象的信息输入推荐模型中进行处理,预测目标用户选择候选推荐对象的概率。
该步骤与前述方法700中的步骤S720对应,具体描述可以参见步骤S720,此处不再赘述。
以前述广告推荐场景为例,可以将特征ID输入推荐模型中进行前向推理得到预测概率,例如,推荐模型为前述步骤S950中得到的目标推荐模型。预测概率P ctr满足如下公式:
P ctr=w 24387+w 3215+w 9376+w 38274+w 28304+w 92472+b;
通过负对数损失(negative logarithmic loss,NLL)和观测者操作特性(receiver operating characteristic,ROC)曲线下的面积(area under the ROC curve,AUC)两个指标在公开数据集和原生广告数据集上对现有方法训练得到的推荐模型以及本申请提出的推荐模型进行测试,本申请实施例中的推荐模型的准确率相对于现有方法在AUC上有千分之三以上的提升。根据实际经验,该提升可以提升10%以上的点击率/转化率。
示例2:
推荐模型能够从用户的交互历史中学习用户的偏好,预测用户选择推荐对象的概率,进而为用户推荐相关内容。为了提高预测准确率,需要大量的用户交互历史数据来训练推荐模型。然而,由于人的习惯喜好可能会随着时间变化,之前的用户交互历史数据相对于目前的用户交互历史数据而言是有偏置的数据,也就是发生了数据分布的漂移。基于之前的用户交互历史数据训练得到的推荐模型无法学习到用户目前的偏好,导致预测准确率降低。而目前的用户交互历史数据较少,难以满足推荐模型的训练需求。例如,推荐模型是基于大量的离线数据训练得到的,当推荐模型上线之后执行在线预测。离线数据相对于在线数据是有偏置的,因此该推荐模型也是有偏置的,在线预测结果较差。
因此,如何提高推荐模型的预测准确率成为一个亟待解决的问题。
本申请实施例提出一种推荐模型的训练方法,能够减少数据分布的漂移对推荐模型训练结果的影响,提高推荐模型准确率。
该训练方法1000可以视为方法600的一种具体实现方式,为了避免不必要的重复,下面在介绍该训练方法1000时适当省略重复的描述。该训练方法1000包括步骤S1010至步骤S1050。下面对步骤S1010至步骤S1050进行说明。
应理解,方法1000的具体实现过程也可以参见前述方法900,方法1000与方法900的区别在于第一训练样本和第二训练样本不同。在方法1000中,第一训练样本的获取时间早于第二训练样本的获取时间。例如,第一训练样本时基于第一用户交互历史数据确定的,第二训练样本是基于第二用户交互历史数据确定的。其中,第一用户交互历史数据的采集时间早于第二用户交互历史数据的采集时间。
S1010,获取第一推荐模型。
第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的。第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一推荐样本的样本标签。第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作。n为大于1的整数。
步骤S1010与前述方法600中的步骤S610对应,具体描述可以参见前述步骤S610,此处不再赘述。
示例性地,通常可以基于大量离线数据训练推荐模型,以使推荐模型学习用户的偏好,然后将训练好的推荐模型用于在线预测。
例如,该n个第一训练样本可以是基于大量的离线数据得到的。该离线数据可以为用户行为日志。
S1020,获取m个第二训练样本。
第二训练样本包括第二特征信息以及第二训练样本的样本标签。第二特征信息包括:第二用户的信息和第二推荐对象的信息。第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作。m为大于1的整数。
例如,第二训练样本可以是基于近期获取的数据得到的。也就是说用于确定的第二训练样本的数据的采集时间晚于用于确定第一训练样本的数据的采集时间。
再如,训练好的推荐模型可以用于在线预测,第二训练样本可以是根据距离该推荐模型上线测试的时刻之前最近的一段时间的用户行为日志获得的。
步骤S1020的具体描述可以参见前述步骤S620中的描述,此处不再赘述。
S1030,确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值。
步骤S930与前述方法600中的步骤S620对应,具体描述可以参见步骤S620,此处不再赘述。
S1040,基于每个第一训练样本对验证损失的影响函数值确定每个第一训练样本对应的权重。
步骤S1040与前述方法600中的步骤S630对应,具体描述可以参见步骤S630,此处不再赘述。
例如,采用sigmoid函数确定每个第一训练样本对应的权重。
S1050,基于n个第一训练样本和n个第一训练样本对应的权重对第一推荐模型进行训练,得到目标推荐模型的模型参数。
步骤S1050与前述方法600中的步骤S640对应,具体描述可以参见步骤S640,此处 不再赘述。
根据本申请实施例的方案,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布。由于第二训练样本的获取时间晚于第一训练样本的获取时间,更能反映用户近期的偏好,基于第二训练样本调整第一训练样本的权重可以使推荐模型更准确地学习用户目前的偏好,减少避免由于用户的偏好发生变化导致的数据漂移对训练带来的影响,提高推荐模型准确率。本申请实施例的方案增强了推荐结果的多样性,能够破除茧房效应,适应用户不同阶段的兴趣爱好,提升用户使用体验,增强用户粘性,让用户能更长时间的沉浸在推荐系统中,促进了推荐系统的良性循环,增加了供应商的收益,吸引更多供应商的加入,保证推荐系统的长期稳定发展。
此外,在训练过程中,只需少量的第二训练样本就能减轻偏置问题带来的影响,能够不断调整推荐模型,提升推荐模型的准确率。
示例3:
终生学习项目指的是基于用户在视频、音乐、新闻等多个领域的历史数据,通过各种模型和算法,仿照人脑机制,构建认知大脑,实现终生学习的目标的项目。
图10中示出了一种终生学习框架的示意图。在该框架中包括视频APP、阅读APP和浏览器APP等多个推荐场景。传统的推荐学习方案是在每个推荐场景或者说每个域中学习用户在该域的历史行为中隐藏的规律,然后根据学习到的规律进行推荐,整个学习与实施过程完全不考虑域间的知识迁移与共享。
然而,在新的推荐场景上线初期,用户的交互历史匮乏,如果仅基于本域的交互历史学习得到的推荐模型难以发现用户的历史行为中隐藏的规律,进而导致预测结果不准确,也就是新的推荐场景中存在冷启动问题。
跨域推荐是学习用户在源域的偏好并应用于目标域的推荐方法。通过跨域推荐能够利用在源域学习到的规律指导目标域中的推荐结果,实现域间的知识迁移和共享,解决冷启动问题。
例如,通过根据用户在阅读App的推荐场景中的阅读喜好来预测其对音乐、视频的偏好,从而解决该用户在音乐App的推荐场景中的冷启动问题。
如图11所示,在阅读APP的推荐场景中,为用户A推荐图书,基于用户A的交互历史数据可以学习用户A在阅读APP的推荐场景中的兴趣偏好,基于该用户A在阅读APP的推荐场景中的兴趣偏好可以确定与该用户A的兴趣相同的邻居用户。在音乐APP的推荐场景中,为用户推荐音乐,基于邻居用户在音乐APP的推荐场景中的交互历史数据学习邻居用户的在音乐APP的推荐场景中的兴趣偏好,然后基于学习到的兴趣偏好指导在音乐APP的推荐场景中为用户A提供推荐结果。阅读APP的推荐场景即为源域,音乐APP的推荐场景即为目标域。然而,源域和目标域的数据分布往往不一致,那么源域的数据分布相对于目标域的数据分布是有偏的,直接利用上述关联规则等方式实现跨域推荐会导致在学习过程中引入偏置。模型会更多的考虑用户在源域的兴趣偏好来进行推荐,也就是说训练出来的模型是有偏的,这样导致在源域的数据上学习的模型不能在目标域得 到有效泛化,模型存在失真风险。
本申请实施例提出一种推荐模型的训练方法1100,能够减少源域数据和目标域数据分布不一致对推荐模型训练结果的影响,提高推荐模型准确率。
方法1100可以视为方法600的一种具体实现方式,为了避免不必要的重复,下面在介绍方法1100时适当省略重复的描述。方法1100包括步骤S1110至步骤S1150。下面对步骤S1110至步骤S1150进行说明。
应理解,方法1100的具体实现过程也可以参见前述方法900,方法1100与方法900的区别在于第一训练样本和第二训练样本不同。在方法1100中,第一训练样本是基于目标域的用户交互数据确定的,第二训练样本是基于源域的用户交互数据确定的。
S1110,获取n个第一训练样本和m个第二训练样本。
第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签。第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作。n为大于1的整数。
第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签。第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作。m为大于1的整数。
进一步地,第一训练样本还可以包括第一上下文信息。第二训练样本还可以包括第二上下文信息。
第一训练样本属于目标域的数据,第二训练样本属于源域的数据。
需要说明的是,步骤S1110为可选步骤,该步骤的具体描述可以参见方法600中的步骤S610,此处不再赘述。
下面以阅读APP的推荐场景作为源域、视频APP的推荐场景作为目标域为例对步骤S1110的一种实现方式进行说明。
阅读APP的推荐场景指的是为用户推荐图书的推荐场景,视频APP的推荐场景指的是为用户推荐视频的推荐场景。
如图12所示,第一训练样本是根据视频APP的推荐场景(目标域)中的用户的交互历史得到的。第一训练样本用于训练第一推荐模型,得到第一推荐模型的模型参数,因此,第一训练样本也可以理解为第一推荐模型的训练集中的数据。
表6示出了视频APP的推荐场景中基于用户的交互历史(例如,用户行为日志)获得的数据。
表6
标签 用户ID 视频ID 标签 制片商 演员 评分
1 13718bbd 5316a17f 惊悚 1号制片商 张三 6.8
0 0b153874 93bad2c0 文艺 2号制片商 李四 7.1
表6中的一行即为一个训练样本。以该训练样本为第一训练样本为例,第一训练样本包括第一用户的信息和第一推荐对象的信息。第一用户的信息包括第一用户的ID,第一推荐对象为视频,第一推荐对象的信息包括第一推荐对象的ID、第一推荐对象的标签、 第一推荐对象的制片商、第一推荐对象的演员和第一推荐对象的评分。也就是说第一训练样本中共包括6类特征。
应理解,表6仅为示意,用户的信息以及推荐对应的信息还可以包括比表6更多或更少项的信息,或者说更多或更少类特征信息。
进一步地,可以按照步骤S910中的方法对数据进行处理,以libSVM格式存储处理后的数据,例如表6中的数据可以按照如下形式存储:
1 25173:1 38553:1 50053:1 50216:1 59109:1 98079:1
0 19468:1 19850:1 79800:1 81901:1 85533:1 13010:1
…;
基于上述数据可以得到n个第一训练样本。
如图12所示,第二训练样本是根据阅读APP的推荐场景(源域)中的用户的交互历史得到的。需要说明的是,图12中仅为示意,源域中的数据还可以包括其他推荐场景的数据,也可以包括多个推荐场景的数据,例如,源域的数据可以包括阅读APP的推荐场景中的用户历史数据和音乐APP的推荐场景中的用户历史数据。
第二训练样本可以用于验证第一推荐模型的预测效果,因此,第二训练样本也可以用作第一推荐模型的验证集中的数据。应理解,图12中仅为示意,也可以不将第二训练样本作为验证集中的数据。
表7示出了阅读APP的推荐场景中基于用户的交互历史(例如,用户行为日志)获得的数据。
表7
标签 用户ID 图书ID 标签 出版社 作者 评分
1 25c83c98 68fd1e64 悬疑 1号出版社 张三 6.8
0 efea433b 0b153874 艺术 2号出版社 李四 7.1
表7中的一行即为一个训练样本。该训练样本为第二训练样本,第二训练样本包括第二用户的信息和第二推荐对象的信息。第二用户的信息包括第二用户的ID,第二推荐对象为图书,第二推荐对象的信息包括第二推荐对象的ID、第二荐对象的标签、第二推荐对象的出版社、第二推荐对象的作者和第二推荐对象的评分。也就是说第二训练样本中共包括6类特征。
应理解,表7仅为示意,用户的信息以及推荐对应的信息还可以包括比表7更多或更少项的信息,或者说更多或更少类特征信息。
进一步地,可以按照步骤S910中的方法对数据进行处理,以libSVM格式存储处理后的数据,例如表7中的数据可以按照如下形式存储:
1 77891:1 81901:1 82101:1 83267:1 83896:1 91899:1
0 55060:1 59115:1 60857:1 75847:1 97576:1 42803:1
…;
基于上述数据可以得到m个第二训练样本。
S1120,基于n个第一训练样本进行训练,得到第一推荐模型。
具体地,以第一特征信息作为第一推荐模型的输入,以第一训练样本的样本标签作为第一推荐模型的目标输出值进行训练,得到第一推荐模型的模型参数。
需要说明的是,步骤S1120为可选步骤,具体描述可以参见方法600中的步骤S610,此处不再赘述。
例如,如图12所示,以目标域的数据作为训练集进行训练得到第一推荐模型,以源域的数据作为验证集验证第一推荐模型的预测效果。
S1130,确定每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值。m个第二训练样本在第一推荐模型上的验证损失指的是通过第一推荐模型对m个第二训练样本进行处理得到的m个第二训练样本的预测标签与m个第二训练样本的样本标签之间的差异。
步骤S1130与前述方法600中的步骤S620对应,具体描述可以参见步骤S620,此处不再赘述。
S1140,基于每个第一训练样本对验证损失的影响函数值确定每个第一训练样本对应的权重。
步骤S1140与前述方法600中的步骤S630对应,具体描述可以参见步骤S630,此处不再赘述。
例如,基于sigmoid函数确定n个第一训练样本对应的权重。将第一训练样本的权重与第一训练样本进行拼接,可以得到带有权重的第一训练样本。例如,基于步骤S1110中的第一训练样本对应的权重得到带有权重的第一训练样本如下:
1 0.83 25173:1 38553:1 50053:1 50216:1 59109:1 98079:1
0 0.45 19468:1 19850:1 79800:1 81901:1 85533:1 13010:1
…;
S1150,基于n个第一训练样本和n个第一训练样本对应的权重对第一推荐模型进行训练,得到目标推荐模型的模型参数。
也就是基于带有权重的第一训练样本对第一推荐模型进行训练,得到目标推荐模型的模型参数。
步骤S1150与前述方法600中的步骤S640对应,具体描述可以参见步骤S640,此处不再赘述。
如图12所示,由训练集和训练样本的权重可以得到带有权重的训练集。基于该带有权重的训练集可以训练得到目标推荐模型。
该目标推荐模型可以应用于目标域中,例如,图12中的视频APP的推荐场景中。
相对于视频APP的推荐场景,阅读APP的推荐场景中的用户的交互数据更丰富,数据分布更能准确反映用户的偏好,根据直观推理以及用户在阅读场景与视频场景的兴趣的互通性,通过本申请实施例的方案,能够使推荐模型更好地把握用户在阅读场景的个性化偏好,进而指导在视频场景中的推荐结果,提高推荐结果的准确率。
根据本申请实施例的方案,通过影响函数值评价第一训练样本对验证损失的重要性,也就是衡量数据扰动对第一推荐模型在第二训练样本上的验证损失的影响大小来确定第一训练样本的重要性,并基于该重要性确定第一训练样本对应的权重,基于带有权重的第一训练样本重新训练得到的推荐模型能够更好地拟合第二训练样本的数据分布。第一训练 样本为目标域的数据,第二训练样本为源域的数据,基于第二训练样本调整第一训练样本的权重可以使推荐模型更准确地拟合源域的数据分布,学习更准确的用户的偏好,提高推荐模型在目标域的准确率。
通过在不同域间进行知识(例如,用户的兴趣偏好)进行迁移和共享,将源域(例如,阅读APP的推荐场景)和目标域(例如,视频APP的推荐场景)的用户交互历史记录都纳入到学习中,通过扰动目标域数据判断目标域数据对源域数据的验证效果的影响,基于该影响调整目标域数据的权重,进而基于调权后的数据进行训练,这样训练得到的模型在源域有较好的评估效果,此时训练得到的模型很好的捕获了用户在源域的兴趣偏好,而在近似的推荐场景中,用户的兴趣偏好也类似,因此推荐模型在目标域也能很好的拟合用户的兴趣偏好,给用户推荐符合其兴趣的推荐结果,实现跨域推荐,缓解冷启动问题。
方法1100得到的目标推荐模型可以在目标域中预测用户对推荐对象有操作动作的概率,也就是预测用户选择该推荐对象的概率。将目标推荐模型部署于目标域(例如,视频APP的推荐场景中),推荐系统可以基于该目标推荐模型的输出确定推荐结果展示给用户。
如前所述,传统的推荐学习方案是在每个推荐场景或者说每个域中学习用户在该域的历史行为中隐藏的规律,然后根据学习到的规律进行推荐,整个学习与实施过程完全不考虑域间的知识迁移与共享。
目前,很多电子设备例如手机、平板电脑中都具有多个应用程序,每个应用程序均可以视为一个应用场景。应用程序在为用户进行推荐时,通常仅基于用户在该应用程序中的交互数据学习用户的偏好,进而为用户进行推荐,不考虑用户在其他应用程序中的交互数据。
然而,在用户刚下载的应用程序中,用户的交互数据匮乏,如果仅基于本域的交互历史学习得到的推荐模型难以发现用户的历史行为中隐藏的规律,进而导致预测结果不准确,影响用户体验,也就是新的推荐场景中存在冷启动问题。
本申请实施例提供了一种推荐方法和电子设备,可以通过学习其他域中的用户的偏好,为用户进行推荐,从而提高预测结果的准确率,提升用户体验。
应理解,本申请实施例中,“用户行为数据”、“用户交互数据”、“交互数据”、“行为数据”等可以认为表达相同的含义,均可以理解为当推荐对象被展示给用户时,与用户的操作行为相关的数据。
为了便于理解,本申请将以手机作为电子设备,首先介绍本申请的一些人机交互实施例。图13是本申请实施例提供的一组图形用户界面(graphical user interface,GUI)示意图。
用户可以执行对手机中的设置应用程序的点击操作,响应于该点击操作,手机进行设置应用程序的主界面301,,设置应用程序的主界面可以显示如图13的(a)图所示的内容。在该主界面301中,可以包括批量管理控件、各个应用程序的跨域推荐管理控件以及侧边栏字母排序索引控件等。主界面301中还可以显示各个应用程序(例如音乐APP、阅读APP、浏览器APP、新闻APP、视频APP或购物APP等)的跨域推荐功能“已开启”或“已关闭”。在一些实施例中,主界面301中显示的各个应用程序的跨域推荐管理控件可以按照应用名称首字母从“A”到“Z”的顺序显示,其中每个应用程序都对应着各自的跨域推荐管理控件。应理解,主界面301还可以包括其他更多或更少或类似的显示内容,本申请 对此不作限定。
当用户点击某个应用程序的跨域推荐管理控件时,手机可以显示该应用程序对应的跨域推荐管理界面。示例性地,用户执行图13中的(a)图中所示的对浏览器APP的跨域推荐管理控件的点击操作,响应于该点击操作,手机进入浏览器APP跨域推荐管理界面302,跨域推荐管理界面302可以显示如图13中的(b)图所示的内容。在跨域推荐管理界面302中,可以包括允许跨域推荐控件。应理解,跨域推荐管理界面302还可以包括其他更多或更少类似的显示内容,跨域推荐管理界面302也可以依据应用的不同而包括不同的显示内容,本申请实施例对此不作限定。
可选地,跨域推荐管理控件的默认状态可以为关闭状态。
示例性地,如图13中的(b)图所示,允许跨域推荐控件处于开启状态,浏览器APP的跨域推荐功能开启,相应地,浏览器APP可以从多个APP中获取用户交互数据,并进行学习,以便为用户推荐相关视频。进一步地,当允许跨域推荐控件处于开启状态,跨域推荐管理界面302还可以呈现浏览器APP的学习列表,学习列表中包括多个选项。跨域推荐管理界面302上的一个选项可以理解为一个应用的名称及其对应的开关控件。因此,也可以说,跨域推荐管理界面302包括允许跨域推荐控件和多个选项,该多个选项中的每个选项关联一个应用程序,与该应用相关联的选项用于控制浏览器APP从该应用中获取用户行为数据的权限的开启和关闭。也可以理解为与某个应用相关联的选项用于控制浏览器APP基于该应用中的用户行为数据执行跨域推荐功能。为了方便理解,以下实施例中仍以开关控件来示意选项之义。
如前所述,学习列表中包括多个选项,也就是说跨域推荐管理界面302上呈现多个应用的名称及其对应的开关控件。如图13中的(b)所示,当一个应用对应的开关控件开启状态,视频APP可以从该APP中获取用户行为数据,并进行学习,以便为用户进行推荐。跨域推荐界面302中还可以显示“已允许”或“已禁止”开启跨域推荐功能的应用程序获取各个应用程序(例如音乐APP、阅读APP、浏览器APP、新闻APP、视频APP或购物APP等)中的用户数据。如图13中的(b)图所示,当允许跨域推荐控件处于开启状态,第一界面上呈现多个开关控件,该多个开关控件分别与音乐APP、阅读APP、购物APP、视频APP、新闻APP和聊天APP等应用程序对应。以音乐APP对应的控件为例,当“音乐APP对应的控件处于开启状态,即该音乐APP下方处于“已允许”状态,浏览器APP可以从音乐APP中获取用户行为数据,并进行学习,以为用户进行推荐。
若用户执行对音乐APP对应的控件的关闭操作,响应于该关闭操作,手机呈现如图13中的(c)所示的内容,浏览器APP不再从音乐APP中获取用户行为数据,即不允许浏览器APP获取音乐APP中的用户行为数据。若用户执行对允许跨域推荐控件的关闭操作,响应于该关闭操作,浏览器APP将关闭跨域推荐功能,即不允许浏览器APP获取其他APP中的用户交互数据。例如,用户执行如图13中的(b)图所示的对允许跨域推荐控件的点击操作,响应于该点击操作,手机执行关闭浏览器APP的跨域推荐功能。跨域推荐管理界面可以显示如图13中(d)图所示的内容,浏览器APP在该学习列表中的所有应用中的跨域推荐功能被关闭。这样,可以提高管理效率,提升用户体验。
应用程序为用户推荐的内容即为推荐对象,推荐对象可以在应用程序中显示。当用户进入应用程序,可以触发一条推荐请求,由推荐模型针对该推荐请求为用户推荐相关内容。
示例性地,浏览器APP为用户推荐的信息流可以在浏览器APP的主界面中显示。
示例性地,当用户执行对浏览器APP的点击操作,响应于该点击操作,手机显示如图14的(a)中所示的浏览器APP的主界面303,该浏览器APP的主界面303中可以显示一个或多个推荐内容的推荐列表,该一个或多个推荐内容即为浏览器APP中的推荐对象。应理解,浏览器APP的主界面303中还可以包括其他更多或更少的显示内容,本申请对此不作限定。
用户可以对浏览器APP的主界面303的推荐列表所呈现的内容执行一定操作以查看推荐内容、删除(或忽略)推荐内容或查看推荐内容的相关信息等。例如用户点击某个推荐内容,响应于该点击操作,手机可以打开该推荐内容。再如用户向左快滑(或向右快滑)某个推荐内容,响应于该操作,手机可以将该推荐内容从推荐列表中删除。又如,用户长按某个推荐内容,响应于该长按操作,手机可以显示该推荐内容的相关信息。如图14中的(a)图所示,用户执行如图14中的(a)所示的长按操作,响应于该长按操作,手机可以显示如图所示的提示框。选择框中显示了提示信息,该提示信息用于提示用户该推荐内容是基于其他应用程序中的用户交互数据推荐的。如图14中的(a)所示,该提示信息用于提示用户该推荐内容是基于用户在视频APP中的数据为用户推荐的内容。
应理解,在一些其他实施例中,用户可以通过其他方式打开视频或删除推荐内容,也可以通过其他方式例如左右慢滑方式调出该推荐内容的相关信息,本申请实施例不作限定。
示例性地,当用户对浏览器APP的点击操作,响应于该点击操作,手机还可以显示如图14的(b)中所示的浏览器APP的主界面304,该主界面304中可以显示一个或多个推荐内容的推荐列表以及该一个或多个推荐内容对应的提示信息,该一个或多个推荐内容即为浏览器APP中的推荐对象。应理解,主界面304中还可以包括其他更多或更少的显示内容,本申请对此不作限定。该提示信息用于提示用户该推荐内容是基于其他应用程序中的用户交互数据推荐的。
用户可以对主界面304的推荐列表所呈现的视频执行一定操作以查看推荐内容、删除(或忽略)推荐内容等。例如用户点击某个推荐内容,响应于该点击操作,手机可以打开该推荐内容。再如用户向左快滑(或向右快滑)某个推荐内容,响应于该操作,手机可以将该推荐内容从推荐列表中删除。应理解,在一些其他实施例中,用户可以通过其他方式打开推荐内容或删除推荐内容,也可以通过其他方式例如左右慢滑方式删除该推荐内容的相关信息,本申请实施例不作限定。
应理解,提示信息主要是为用户提供参考信息,以便用户知晓当前推荐对象是基于跨域推荐的功能得到的,其提示信息的内容还可以有其他形式,本申请实施例不作限定。
需要说明的是,本申请实施例中,用户在主界面中删除推荐内容,可以理解为用户只是在主界面的推荐列表中删除了某个推荐内容,也就是说用户对该推荐内容不感兴趣。该行为可以被记录在用户行为日志中用作推荐模型的训练数据。例如,作为前述方法中的第一训练样本。
当手机上存在大量的应用时,对于一些需要跨域推荐的应用,可以打开应用程序的跨域推荐功能。示例性地,可以通过以下两种方式打开或关闭应用程序的跨域推荐功能。
一种是单点关闭或打开某个应用的跨域推荐功能。例如,如图13所示,在应用程序 对应的跨域推荐管理界面中,开启或关闭允许跨域推荐控件,可以实现单点打开或关闭该应用程序的跨域推荐功能。
另一种是批量关闭或打开全部应用的跨域推荐功能。例如,如图15的(a)图显示的是与图13的(a)图相同的界面。用户执行图15的(a)图中所示的批量管理控件的点击操作,响应于该点击操作,用户进入批量管理界面305中,可以包括搜索应用控件、跨域推荐总开关控件、各个应用程序的跨域推荐开关控件或侧边栏字母排序索引控件等。用户可以通过控制跨域推荐总开关控件(即图中“全部”后的开关)的打开和关闭,实现整体打开全部应用程序的跨域学习功能或整体关闭全部应用程序的跨域推荐功能。在批量管理界面305还包括各个应用的跨域推荐开关控件,用户也可以通过控制某个应用程序的跨域推荐开关控件的打开和关闭,实现单个应用程序的跨域推荐功能的打开或关闭。在一些实施例中,批量管理界面305中显示的各个应用程序的跨域推荐开关控件可以按照应用名称首字母从“A”到“Z”的顺序显示,每个应用的跨域推荐功能都由各自的跨域推荐开关控件控制。
应理解,本申请实施例中,“关闭跨域推荐”、“关闭应用的跨域推荐”、“关闭跨域推荐功能”、“关闭应用的跨域推荐功能”可以认为是表达相同的含义,均可以理解为关闭了应用的跨域推荐功能,该应用程序不再进行跨域推荐。同理,“开启跨域推荐”、“开启应用的跨域推荐”、“打开跨域推荐功能”、“打开应用的跨域推荐功能”可以认为是表达相同的含义,均可以理解为打开了应用程序的跨域推荐功能,应用程序可以进行跨域推荐。
结合上述实施例及相关附图,本申请实施例提供了一种推荐方法,该方法可以在电子设备(例如手机、平板电脑等)中实现。图16是本申请实施例提供的推荐方法的示意性流程图,如图16所示,该方法1200可以包括以下步骤。图
S1210,显示第一界面。
该第一界面可以包括至少一个应用程序的学习列表,该至少一个应用程序的学习列表中的第一应用程序的学习列表包括至少一个选项,该至少一个选项中的每个选项关联一个应用程序。
示例性地,如图13中的(b)图所示,第一界面可以为浏览器APP的跨域推荐管理界面302。该跨域推荐管理界面302用于控制浏览器APP的跨域推荐功能的开启和关闭。
示例性地,如图13中的(b)图所示,第一应用程序的学习列表可以为浏览器APP的学习列表。
示例性地,如图13中的(b)图所示,该至少一个选项可以与应用名称相同,例如“购物”选项、“地图”选项、“健康”选项、“视频”选项等。该至少一个选项中的每个选项关联一个应用程序,与应用相关联的选项用于控制在该应用程序中学习用户的行为的功能的开启和关闭。换言之,与应用相关联的选项用于控制是否允许第一应用程序获取该应用程序的数据以进行跨域推荐。
S1220,感知到用户在第一界面上的第一操作。
第一操作可以为点击操作、双击操作、长按操作或滑动操作等。
S1230,响应于第一操作,打开或关闭第一应用程序在第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能。
也就是说,允许第一应用程序在部分或全部选项所关联的应用程序中获取用户行为数 据,学习在该应用程序中的用户的偏好,以在第一应用程序中为用户进行推荐。
第一操作后,用户可以从界面上看出第一应用程序的跨域推荐功能处于打开状态或关闭状态。
在一个实施例中,第一操作作用于第一选项,响应于用户对第一选项的第一操作,打开或关闭第一应用程序在第一选项所关联的应用程序中的跨域推荐功能;其中,第一选项位于第一应用程序的学习列表中。
示例性地,如图13中的(c)图所示,该第一选项可以为第一界面上的“音乐”选项。应理解,该第一选项可以为第一界面上第一应用程序的学习列表中的任意一个与应用相关联的选项,例如“音乐”选项、“购物”选项、“浏览器”选项等等。
示例性的,如图13中的(c)图所示,该第一操作可以是对第一选项所对应的开关控件的打开或关闭操作。例如当第一选项所对应的开关控件处于打开状态时,第一操作可以用于将第一选项所对应的开关控件关闭,相应地,关闭了第一应用程序在第一选项所关联的应用程序中进行跨域推荐的功能。例如,当第一选项所对应的开关控件处于关闭状态时,第一操作可以用于将第一选项所对应的开关控件打开,相应地,打开了第一应用程序在第一选项所关联的应用程序中进行跨域推荐的功能。这样,用户可以单独控制第一应用程序在其他每个应用程序中的跨域推荐功能的开和关。
一个实施例中,第一操作作用于第一应用程序的学习列表对应的开关控件,响应于用户对开关控件的第一操作,打开或关闭第一应用程序在第一应用程序的学习列表中全部选项所关联的应用程序中的跨域推荐功能。
示例性地,如图13中的(b)图所示,该第一操作可以是对允许跨域推荐控件的关闭操作。可选地,若允许跨域推荐控件在第一操作之前处于关闭状态,则第一操作可以是对允许跨域推荐控件的打开操作。这样,用户可以整体控制第一应用程序的跨域推荐功能,提高管理效率,提升用户体验。
一个实施例中,方法1200还包括:显示第二界面,所述第二界面用于呈现一个或多个推荐对象以及所述一个或多个推荐对象的提示信息,所述一个或多个推荐对象的提示信息用于指示所述一个或多个推荐对象是基于所述至少一个应用程序中的应用程序中的用户行为数据确定的。
示例性地,如图14中的(a)图所示,第二界面可以为浏览器APP的主界面303。
示例性地,如图14中的(b)图所示,第二界面可以为浏览器APP的主界面304。
示例性地,如图14所示,该提示信息可以用于提示用户当前推荐内容是基于视频APP的数据得到的。
一个实施例中,一个或多个推荐对象是通过将用户的信息和候选推荐对象的信息输入推荐模型中,预测用户对候选推荐对象有操作动作的概率确定的。
例如,将该视频APP中的用户行为数据作为源域的数据,将浏览器APP中的用户行为作为目标域的数据,执行前述方法1100可得到推荐模型,利用该推荐模型可以预测用户对候选推荐对象有操作动作的概率,基于该概率值确定推荐内容,进而显示如图14所示的内容。
在一个实施例中,推荐模型的模型参数是根据n个第一训练样本和n个第一训练样本对应的权重训练第一推荐模型得到的,第一推荐模型是基于n个第一训练样本进行训练得 到的,每个第一训练样本对应的权重是基于每个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值确定的,第一训练样本包括第一用户的信息和第一推荐对象的信息以及第一训练样本的样本标签,第一训练样本的样本标签用于表示第一用户是否对第一推荐对象有操作动作,n为大于1的整数,第二训练样本包括第二用户的信息和第二推荐对象的信息以及第二训练样本的样本标签,第二训练样本的样本标签用于表示第二用户是否对第二推荐对象有操作动作,m为大于1的整数,m个第二训练样本是基于至少一个选项所关联的应用程序中的应用程序中的用户行为数据确定的,n个第一训练样本是基于第一应用程序中的用户行为数据确定的。
例如,当用户允许第一应用程序开启跨域推荐功能时,第一应用程序可以从第一选项关联的应用程序中获取用户行为数据,将第一选择关联的应用程序中的用户行为数据作为源域的数据。应理解,源域的数据还可以包括其他应用中的用户行为数据。例如,当用户允许第一应用程序在第一应用程序的学习列表中的所有选项关联的应用程序中进行跨域学习时,第一应用程序可以从所有选项关联的应用程序中获取用户行为数据,并将获取到的用户行为数据均作为源域的数据。
示例性地,推荐模型可以采用前述方法1100训练得到的推荐模型。具体描述可以参见前述方法1100,此处不再赘述。
一个实施例中,在显示第一界面之前,方法1200还包括:显示第三界面,该第三界面包括至少一个应用对应的开关控件;在第三界面上检测用户对该至少一个应用程序对应的开关控件中的第一应用程序的开关控件的第三操作;响应于该第三操作,显示第一界面。
示例性地,如图13中的(a)图所示,第三界面可以为设置应用程序主界面301。
示例性的,如图13中的(a)图所示,第一应用程序的开关控件可以为浏览器APP的的跨域推荐管理控件。
示例性的,如图13中的(a)图所示,该第三操作可以是对第一应用程序对应的开关控件的点击操作,响应于该点击操作,显示如图13中的(b)所示的界面。
根据本申请实施例中的方案,通过在不同域间进行知识(例如,用户的兴趣偏好)进行迁移和共享,将源域和目标域的用户交互历史记录都纳入到学习中,以使推荐模型能够更好地学习用户的偏好,使推荐模型在目标域也能很好的拟合用户的兴趣偏好,给用户推荐符合其兴趣的推荐结果,实现跨域推荐,缓解冷启动问题。
下面结合附图对本申请实施例的训练装置和推荐装置进行详细的描述,应理解,下面描述的推荐装置能够执行前述本申请实施例的推荐模型的训练方法,推荐装置可以执行前述本申请实施例的推荐方法,为了避免不必要的重复,下面在介绍本申请实施例的推荐装置时适当省略重复的描述。
图17是本申请实施例的推荐模型的训练装置的示意性框图。图17所示的推荐模型的训练装置3000包括获取单元3010和处理单元3020。
获取单元3010和处理单元3020可以用于执行本申请实施例的推荐模型的训练方法,具体地,可以用于执行方法600、方法900、方法1000或方法1100。
获取单元3010用于获取获取第一推荐模型,所述第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第 一用户是否对所述第一推荐对象有操作动作,n为大于1的整数。处理单元3020用于确定每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数;基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重;根据所述n个第一训练样本和所述n个第一训练样本对应的权重训练所述第一推荐模型,得到目标推荐模型。
可选地,作为一个实施例,所述基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重,包括:
所述每个第一训练样本对应的权重与所述每个第一训练样本对所述m个第二训练样本的验证损失的影响函数值呈负相关关系
可选地,作为一个实施例,所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值满足如下公式:
Figure PCTCN2020104487-appb-000052
其中,z i表示第i个第一训练样本,φ(z i)表示第i个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示第i个第一训练样本对第j个第二训练样本在第一推荐模型上的验证损失的影响函数值,
Figure PCTCN2020104487-appb-000053
表示z i在第一推荐模型
Figure PCTCN2020104487-appb-000054
上的梯度,
Figure PCTCN2020104487-appb-000055
表示m个第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000056
上的梯度的和,
Figure PCTCN2020104487-appb-000057
表示所有第一训练样本的海森矩阵的逆矩阵。
可选地,作为一个实施例,所述处理单元3020具体用于:
所述每个第一训练样本对应的权重满足如下公式:
Figure PCTCN2020104487-appb-000058
其中,π i表示第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示n个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值的集合。
可选地,作为一个实施例,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,所述第二推荐对象为所述候选推荐对象集合中的一个候选推荐对象。
可选地,作为一个实施例,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:所述m个第二训练样本是在所述候选推荐对象集合中的候选推荐对象被随机展示给所述第二用户的情况下获得的;或者所述m个第二训练样本是在所述第二用户搜索所述第二推荐对象的情况下获得的。
可选地,作为一个实施例,所述m个第二训练样本属于源域的数据,所述n个第一训练样本属于目标域的数据。
图18是本申请实施例提供的推荐装置4000的示意性框图。图18所示的推荐装置4000包括获取单元4010和处理单元4020。
获取单元4010和处理单元4020可以用于执行本申请实施例的推荐方法,例如,可以用于执行方法700。
获取单元4010用于获取目标用户的信息和候选推荐对象的信息。处理单元4020用于将所述目标用户的信息和所述候选推荐对象的信息输入至推荐模型,预测所述目标用户对所述候选推荐对象有操作动作的概率;其中,所述推荐模型的模型参数是根据n个第一训练样本和所述n个第一训练样本对应的权重训练第一推荐模型得到的,所述第一推荐模型是基于所述n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数。
可选地,作为一个实施例,所述每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,包括:所述每个第一训练样本对应的权重与所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值呈负相关关系。
可选地,作为一个实施例,所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值满足如下公式:
Figure PCTCN2020104487-appb-000059
其中,z i表示第i个第一训练样本,φ(z i)表示第i个第一训练样本对m个第二训练样本在第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示第i个第一训练样本对第j个第二训练样本在第一推荐模型上的验证损失的影响函数值,
Figure PCTCN2020104487-appb-000060
表示z i在第一推荐模型
Figure PCTCN2020104487-appb-000061
上的梯度,
Figure PCTCN2020104487-appb-000062
表示m个第二训练样本在第一推荐模型
Figure PCTCN2020104487-appb-000063
上的梯度的和,
Figure PCTCN2020104487-appb-000064
表示所有第一训练样本的海森矩阵的逆矩阵。
可选地,作为一个实施例,所述每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,包括,所述每个第一训练样本对应的权重满足如下公式:
Figure PCTCN2020104487-appb-000065
其中,π i表示第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示n个第一训练样本对m个第二训练样本在第一推荐模型上的验证损失的影响函数值的集合。
可选地,作为一个实施例,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,所述第二推荐对象为所述候选推荐对象集合中的一个候选推荐对象。
可选地,作为一个实施例,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:所述m个第二训练样本是在所述候选推荐对象集合中的候选推荐对象被随机展示给所述第二用户的情况下获得的;或者所述 m个第二训练样本是在所述第二用户搜索所述第二推荐对象的情况下获得的。
可选地,作为一个实施例,所述m个第二训练样本属于源域的数据,所述n个第一训练样本属于目标域的数据。
需要说明的是,上述训练装置3000以及装置4000以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图19是本申请实施例提供的一种推荐模型的训练装置的硬件结构示意图。图19所示的训练装置5000(该装置5000具体可以是一种计算机设备)包括存储器5010、处理器5020、通信接口5030以及总线5040。其中,存储器5010、处理器5020、通信接口5030通过总线5040实现彼此之间的通信连接。
存储器5010可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器5010可以存储程序,当存储器5010中存储的程序被处理器5020执行时,处理器5020用于执行本申请实施例的推荐模型的训练方法的各个步骤,例如,执行图6所示的各个步骤。
应理解,本申请实施例所示的训练装置可以是服务器,例如,可以是云端的服务器,或者,也可以是配置于云端的服务器中的芯片。
处理器5020可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的推荐模型的训练方法。
处理器5020还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的推荐模型的训练方法的各个步骤可以通过处理器5020中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5020还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5010,处理器5020读取存储器5010中的信息,结合其硬件完成本申请实施中图17所示的训练装置中包括的 单元所需执行的功能,或者,执行本申请方法实施例的图6所示的推荐模型的训练方法。
通信接口5030使用例如但不限于收发器一类的收发装置,来实现训练装置5000与其他设备或通信网络之间的通信。
总线5040可包括在训练装置5000各个部件(例如,存储器5010、处理器5020、通信接口5030)之间传送信息的通路。
图20是本申请实施例提供的推荐装置的硬件结构示意图。图20所示的推荐装置6000(该装置6000具体可以是一种计算机设备)包括存储器6010、处理器6020、通信接口6030以及总线6040。其中,存储器6010、处理器6020、通信接口6030通过总线6040实现彼此之间的通信连接。
存储器6010可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器6010可以存储程序,当存储器6010中存储的程序被处理器6020执行时,处理器6020用于执行本申请实施例的推荐方法的各个步骤,例如,执行图7所示的各个步骤。
应理解,本申请实施例所示的装置可以是智能终端,或者,也可以是配置于智能终端中的芯片。
处理器6020可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的预测选择概率的方法。
处理器6020还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的预测选择概率的方法的各个步骤可以通过处理器6020中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6020还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6010,处理器6020读取存储器6010中的信息,结合其硬件完成本申请实施中图18所示的装置中包括的单元所需执行的功能,或者,执行本申请方法实施例的图7所示的推荐方法。
通信接口6030使用例如但不限于收发器一类的收发装置,来实现装置6000与其他设备或通信网络之间的通信。
总线6040可包括在装置6000各个部件(例如,存储器6010、处理器6020、通信接口6030)之间传送信息的通路。
应注意,尽管上述训练装置5000和装置6000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,训练装置5000和装置6000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要本领域的技术人员应当理解, 上述训练装置5000和装置6000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述训练装置5000和装置6000也可仅仅包括实现本申请实施例所必需的器件,而不必包括图19或图20中所示的全部器件。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图21示出了上述实施例中涉及的电子设备7000的一种可能的组成示意图,如图21所示,该电子设备7000可以包括:显示单元7001,处理单元7002。
显示单元7001可以用于支持电子设备7000执行上述步骤S1210等,和/或用于本文所描述的技术的其他过程。
处理单元7002可以用于支持电子设备7000执行上述步骤S1220等,和/或用于本文所描述的技术的其他过程。
显示单元7001还可以用于支持电子设备7000执行上述步骤S1230等,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述推荐方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行上述显示单元7001和处理单元7002所要执行的操作。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的推荐方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的推荐方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的推荐方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方 法中的有益效果,此处不再赘述。
还应理解,本申请实施例中,该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。处理器的一部分还可以包括非易失性随机存取存储器。例如,处理器还可以存储设备类型的信息。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(USB flash disk,UFD),UFD也可以简称为U盘或者优盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (44)

  1. 一种推荐模型的训练方法,其特征在于,包括:
    获取第一推荐模型,所述第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数;
    确定每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数;
    基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重;
    根据所述n个第一训练样本和所述n个第一训练样本对应的权重训练所述第一推荐模型,得到目标推荐模型。
  2. 如权利要求1所述的方法,其特征在于,所述基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重,包括:
    所述每个第一训练样本对应的权重与所述每个第一训练样本对所述m个第二训练样本的验证损失的影响函数值呈负相关关系。
  3. 如权利要求1或2所述的方法,其特征在于,所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值满足如下公式:
    Figure PCTCN2020104487-appb-100001
    其中,z i表示第i个第一训练样本,φ(z i)表示所述第i个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示所述第i个第一训练样本对所述第j个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,
    Figure PCTCN2020104487-appb-100002
    表示z i在第一推荐模型
    Figure PCTCN2020104487-appb-100003
    上的梯度,
    Figure PCTCN2020104487-appb-100004
    表示m个第二训练样本在第一推荐模型
    Figure PCTCN2020104487-appb-100005
    上的梯度的和,
    Figure PCTCN2020104487-appb-100006
    表示所有第一训练样本的海森矩阵的逆矩阵。
  4. 如权利要求3所述的方法,其特征在于,所述基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重,包括,所述每个第一训练样本对应的权重满足如下公式:
    Figure PCTCN2020104487-appb-100007
    其中,π i表示所述第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示所述n个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值的集合。
  5. 如权利要求1至4中任一项所述的方法,其特征在于,所述m个第二训练样本是 在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,所述第二推荐对象为所述候选推荐对象集合中的一个候选推荐对象。
  6. 如权利要求5所述的方法,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:
    所述m个第二训练样本是在所述候选推荐对象集合中的候选推荐对象被随机展示给所述第二用户的情况下获得的;
    或者所述m个第二训练样本是在所述第二用户搜索所述第二推荐对象的情况下获得的。
  7. 如权利要求1至5中任一项所述的方法,其特征在于,所述m个第二训练样本属于源域的数据,所述n个第一训练样本属于目标域的数据。
  8. 一种推荐方法,其特征在于,包括:
    获取目标用户的信息和候选推荐对象的信息;
    将所述目标用户的信息和所述候选推荐对象的信息输入至推荐模型,预测所述目标用户对所述候选推荐对象有操作动作的概率;
    其中,所述推荐模型的模型参数是根据n个第一训练样本和所述n个第一训练样本对应的权重训练第一推荐模型得到的,所述第一推荐模型是基于所述n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数。
  9. 如权利要求8所述的方法,其特征在于,所述每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,包括:
    所述每个第一训练样本对应的权重与所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值呈负相关关系。
  10. 如权利要求8或9所述的方法,其特征在于,所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值满足如下公式:
    Figure PCTCN2020104487-appb-100008
    其中,z i表示第i个第一训练样本,φ(z i)表示所述第i个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示所述第i个第一训练样本对所述第j个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,
    Figure PCTCN2020104487-appb-100009
    表示z i在第一推荐模型
    Figure PCTCN2020104487-appb-100010
    上的梯度,
    Figure PCTCN2020104487-appb-100011
    表示m个第二训练样本在第一推荐模型
    Figure PCTCN2020104487-appb-100012
    上的梯度的和,
    Figure PCTCN2020104487-appb-100013
    表示所有第一训练样本的海森矩阵的逆矩阵。
  11. 如权利要求10所述的方法,其特征在于,所述每个第一训练样本对应的权重是 基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,包括,所述每个第一训练样本对应的权重满足如下公式:
    Figure PCTCN2020104487-appb-100014
    其中,π i表示所述第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示所述n个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值的集合。
  12. 如权利要求8至11中任一项所述的方法,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,所述第二推荐对象为所述候选推荐对象集合中的一个候选推荐对象。
  13. 如权利要求12所述的方法,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:
    所述m个第二训练样本是在所述候选推荐对象集合中的候选推荐对象被随机展示给所述第二用户的情况下获得的;
    或者所述m个第二训练样本是在所述第二用户搜索所述第二推荐对象的情况下获得的。
  14. 如权利要求8至13中任一项所述的方法,其特征在于,所述m个第二训练样本属于源域的数据,所述n个第一训练样本属于目标域的数据。
  15. 一种推荐方法,其特征在于,包括:显示第一界面,所述第一界面包括至少一个应用程序的学习列表,所述该至少一个应用程序的学习列表中的第一应用程序的学习列表包括至少一个选项,所述至少一个选项中的每个选项关联一个应用程序;
    感知到用户在所述第一界面上的第一操作;
    响应于所述第一操作,打开或关闭所述第一应用程序在所述第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能。
  16. 如权利要求15所述的方法,其特征在于,所述第一操作作用于第一选项,所述响应于所述第一操作,打开或关闭所述第一应用程序在所述第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能,包括:
    响应于所述用户对第一选项的第一操作,打开或关闭所述第一应用程序在所述第一选项所关联的应用程序中的跨域推荐功能;
    其中,所述第一选项位于所述第一应用程序的学习列表中。
  17. 如权利权利15所述的方法,其特征在于,所述第一操作作用于所述第一应用程序的学习列表对应的开关控件,所述响应于所述第一操作,打开或关闭所述第一应用程序在所述第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能,包括:
    响应于所述用户对所述开关控件的第一操作,打开或关闭所述第一应用程序在所述第一应用程序的学习列表中全部选项所关联的应用程序中的跨域推荐功能。
  18. 如权利要求15至17中任一项所述的方法,其特征在于,所述方法还包括:
    显示第二界面,所述第二界面用于呈现一个或多个推荐对象以及所述一个或多个推荐对象的提示信息,所述一个或多个推荐对象的提示信息用于指示所述一个或多个推荐对象 是基于所述至少一个应用程序中的应用程序中的用户行为数据确定的。
  19. 如权利要求18所述的方法,其特征在于,所述一个或多个推荐对象是通过将所述用户的信息和候选推荐对象的信息输入推荐模型中,预测所述用户对所述候选推荐对象有操作动作的概率确定的。
  20. 如权利要求19所述的方法,其特征在于,所述推荐模型的模型参数是根据n个第一训练样本和所述n个第一训练样本对应的权重训练第一推荐模型得到的,所述第一推荐模型是基于所述n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数,所述m个第二训练样本是基于所述至少一个选项所关联的应用程序中的应用程序中的用户行为数据确定的,所述n个第一训练样本是基于所述第一应用程序中的用户行为数据确定的。
  21. 一种推荐模型的训练装置,其特征在于,包括:
    获取单元,用于获取第一推荐模型,所述第一推荐模型的模型参数是基于n个第一训练样本进行训练得到的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数;
    处理单元,用于:
    确定每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数;
    基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重;
    根据所述n个第一训练样本和所述n个第一训练样本对应的权重训练所述第一推荐模型,得到目标推荐模型。
  22. 如权利要求21所述的训练装置,其特征在于,所述基于所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定所述每个第一训练样本对应的权重,包括:
    所述每个第一训练样本对应的权重与所述每个第一训练样本对所述m个第二训练样本的验证损失的影响函数值呈负相关关系。
  23. 如权利要求21或22所述的训练装置,其特征在于,所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值满足如下公式:
    Figure PCTCN2020104487-appb-100015
    其中,z i表示第i个第一训练样本,φ(z i)表示所述第i个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本, φ(z i,z j)表示所述第i个第一训练样本对所述第j个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,
    Figure PCTCN2020104487-appb-100016
    表示z i在第一推荐模型
    Figure PCTCN2020104487-appb-100017
    上的梯度,
    Figure PCTCN2020104487-appb-100018
    表示m个第二训练样本在第一推荐模型
    Figure PCTCN2020104487-appb-100019
    上的梯度的和,
    Figure PCTCN2020104487-appb-100020
    表示所有第一训练样本的海森矩阵的逆矩阵。
  24. 如权利要求23所述的训练装置,其特征在于,所述处理单元具体用于:
    所述每个第一训练样本对应的权重满足如下公式:
    Figure PCTCN2020104487-appb-100021
    其中,π i表示所述第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示所述n个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值的集合。
  25. 如权利要求21至24中任一项所述的训练装置,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,所述第二推荐对象为所述候选推荐对象集合中的一个候选推荐对象。
  26. 如权利要求25所述的训练装置,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:
    所述m个第二训练样本是在所述候选推荐对象集合中的候选推荐对象被随机展示给所述第二用户的情况下获得的;
    或者所述m个第二训练样本是在所述第二用户搜索所述第二推荐对象的情况下获得的。
  27. 如权利要求21至26中任一项所述的训练装置,其特征在于,所述m个第二训练样本属于源域的数据,所述n个第一训练样本属于目标域的数据。
  28. 一种推荐装置,其特征在于,包括:
    获取单元,用于获取目标用户的信息和候选推荐对象的信息;
    处理单元,用于将所述目标用户的信息和所述候选推荐对象的信息输入至推荐模型,预测所述目标用户对所述候选推荐对象有操作动作的概率;
    其中,所述推荐模型的模型参数是根据n个第一训练样本和所述n个第一训练样本对应的权重训练第一推荐模型得到的,所述第一推荐模型是基于所述n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数。
  29. 如权利要求28所述的推荐装置,其特征在于,所述每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,包括:
    所述每个第一训练样本对应的权重与所述每个第一训练样本对所述m个第二训练样 本在所述第一推荐模型上的验证损失的影响函数值呈负相关关系。
  30. 如权利要求28或29所述的推荐装置,其特征在于,所述每个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值满足如下公式:
    Figure PCTCN2020104487-appb-100022
    其中,z i表示第i个第一训练样本,φ(z i)表示所述第i个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的预测损失的影响函数值,z j表示第j个第二训练样本,φ(z i,z j)表示所述第i个第一训练样本对所述第j个第二训练样本在所述第一推荐模型上的验证损失的影响函数值,
    Figure PCTCN2020104487-appb-100023
    表示z i在第一推荐模型
    Figure PCTCN2020104487-appb-100024
    上的梯度,
    Figure PCTCN2020104487-appb-100025
    表示m个第二训练样本在第一推荐模型
    Figure PCTCN2020104487-appb-100026
    上的梯度的和,
    Figure PCTCN2020104487-appb-100027
    表示所有第一训练样本的海森矩阵的逆矩阵。
  31. 如权利要求30所述的推荐装置,其特征在于,所述每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,包括,所述每个第一训练样本对应的权重满足如下公式:
    Figure PCTCN2020104487-appb-100028
    其中,π i表示所述第i个第一训练样本对应的权重,α表示调权系数,{φ(z i)}表示所述n个第一训练样本对所述m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值的集合。
  32. 如权利要求28至31中任一项所述的推荐装置,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,所述第二推荐对象为所述候选推荐对象集合中的一个候选推荐对象。
  33. 如权利要求32所述的推荐装置,其特征在于,所述m个第二训练样本是在候选推荐对象集合中的候选推荐对象被展示的概率相同的情况下获得的,包括:
    所述m个第二训练样本是在所述候选推荐对象集合中的候选推荐对象被随机展示给所述第二用户的情况下获得的;
    或者所述m个第二训练样本是在所述第二用户搜索所述第二推荐对象的情况下获得的。
  34. 如权利要求28至33中任一项所述的推荐装置,其特征在于,所述m个第二训练样本属于源域的数据,所述n个第一训练样本属于目标域的数据。
  35. 一种电子设备,其特征在于,包括:
    显示单元,所述显示单元用于显示第一界面,所述第一界面包括至少一个应用程序的学习列表,所述该至少一个应用程序的学习列表中的第一应用程序的学习列表包括至少一个选项,所述至少一个选项中的每个选项关联一个应用程序;
    处理单元,所述处理单元用于感知到用户在所述第一界面上的第一操作;
    所述显示单元还用于响应于所述第一操作,打开或关闭所述第一应用程序在所述第一应用程序的学习列表中部分或全部选项所关联的应用程序中的跨域推荐功能。
  36. 如权利要求35所述的电子设备,其特征在于,所述第一操作作用于第一选项,所述显示单元具体用于:
    响应于所述用户对第一选项的第一操作,打开或关闭所述第一应用程序在所述第一选项所关联的应用程序中的跨域推荐功能;
    其中,所述第一选项位于所述第一应用程序的学习列表中。
  37. 如权利要求35所述的电子设备,其特征在于,所述第一操作作用于所述第一应用程序的学习列表对应的开关控件,所述显示单元具体用于:
    响应于所述用户对所述开关控件的第一操作,打开或关闭所述第一应用程序在所述第一应用程序的学习列表中全部选项所关联的应用程序中的跨域推荐功能。
  38. 如权利要求35至37中任一项所述的电子设备,其特征在于,所述显示单元还用于:
    显示第二界面,所述第二界面用于呈现一个或多个推荐对象以及所述一个或多个推荐对象的提示信息,所述一个或多个推荐对象的提示信息用于指示所述一个或多个推荐对象是基于所述至少一个应用程序中的应用程序中的用户行为数据确定的。
  39. 如权利要求38所述的电子设备,其特征在于,所述一个或多个推荐对象是通过将所述用户的信息和候选推荐对象的信息输入推荐模型中,预测所述用户对所述候选推荐对象有操作动作的概率确定的。
  40. 如权利要求39所述的电子设备,其特征在于,所述推荐模型的模型参数是根据n个第一训练样本和所述n个第一训练样本对应的权重训练第一推荐模型得到的,所述第一推荐模型是基于所述n个第一训练样本进行训练得到的,每个第一训练样本对应的权重是基于所述每个第一训练样本对m个第二训练样本在所述第一推荐模型上的验证损失的影响函数值确定的,所述第一训练样本包括第一用户的信息和第一推荐对象的信息以及所述第一训练样本的样本标签,所述第一训练样本的样本标签用于表示所述第一用户是否对所述第一推荐对象有操作动作,n为大于1的整数,所述第二训练样本包括第二用户的信息和第二推荐对象的信息以及所述第二训练样本的样本标签,所述第二训练样本的样本标签用于表示所述第二用户是否对所述第二推荐对象有操作动作,m为大于1的整数,所述m个第二训练样本是基于所述至少一个选项所关联的应用程序中的应用程序中的用户行为数据确定的,所述n个第一训练样本是基于所述第一应用程序中的用户行为数据确定的。
  41. 一种推荐模型的训练装置,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行如权利要求1至7中任一项所述的训练方法。
  42. 一种推荐装置,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,以执行如权利要求8至14中任一项所述的推荐方法。
  43. 一种电子设备,其特征在于,包括:处理器;存储器;所述存储器存储一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求15至20中任一项所述的方法。
  44. 一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至7或权利要求8至14或权利要求15至20中任一项所述的方法。
PCT/CN2020/104487 2020-07-24 2020-07-24 推荐模型的训练方法、推荐方法、装置及计算机可读介质 WO2022016522A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2020/104487 WO2022016522A1 (zh) 2020-07-24 2020-07-24 推荐模型的训练方法、推荐方法、装置及计算机可读介质
EP20946442.9A EP4181026A4 (en) 2020-07-24 2020-07-24 RECOMMENDATION MODEL FORMING METHOD AND APPARATUS, RECOMMENDATION METHOD AND APPARATUS, AND COMPUTER READABLE MEDIUM
CN202080103030.9A CN115917535A (zh) 2020-07-24 2020-07-24 推荐模型的训练方法、推荐方法、装置及计算机可读介质
US18/156,512 US20230153857A1 (en) 2020-07-24 2023-01-19 Recommendation model training method, recommendation method, apparatus, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/104487 WO2022016522A1 (zh) 2020-07-24 2020-07-24 推荐模型的训练方法、推荐方法、装置及计算机可读介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/156,512 Continuation US20230153857A1 (en) 2020-07-24 2023-01-19 Recommendation model training method, recommendation method, apparatus, and computer-readable medium

Publications (1)

Publication Number Publication Date
WO2022016522A1 true WO2022016522A1 (zh) 2022-01-27

Family

ID=79729769

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/104487 WO2022016522A1 (zh) 2020-07-24 2020-07-24 推荐模型的训练方法、推荐方法、装置及计算机可读介质

Country Status (4)

Country Link
US (1) US20230153857A1 (zh)
EP (1) EP4181026A4 (zh)
CN (1) CN115917535A (zh)
WO (1) WO2022016522A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491283A (zh) * 2022-04-02 2022-05-13 浙江口碑网络技术有限公司 对象推荐方法、装置及电子设备
CN115062184A (zh) * 2022-06-29 2022-09-16 四川长虹电器股份有限公司 一种语音召回场景下的影片排序方法
CN115222486A (zh) * 2022-07-29 2022-10-21 平安科技(深圳)有限公司 物品推荐模型训练方法、物品推荐方法、装置及存储介质
CN116244501A (zh) * 2022-12-23 2023-06-09 重庆理工大学 基于一阶元学习和多监督者关联网络的冷启动推荐方法
CN116432039B (zh) * 2023-06-13 2023-09-05 支付宝(杭州)信息技术有限公司 协同训练方法及装置、业务预测方法及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220129794A1 (en) * 2020-10-27 2022-04-28 Accenture Global Solutions Limited Generation of counterfactual explanations using artificial intelligence and machine learning techniques
US20240045913A1 (en) * 2022-08-03 2024-02-08 Capital One Services, Llc Systems and methods for active web-based content filtering
CN116911928B (zh) * 2023-09-12 2024-01-05 深圳须弥云图空间科技有限公司 一种基于创意特征的广告推荐模型的训练方法及装置
CN117172887B (zh) * 2023-11-02 2024-02-27 深圳市灵智数字科技有限公司 商品推荐模型训练方法及商品推荐方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097412A (zh) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 物品推荐方法、装置、设备以及存储介质
CN110378726A (zh) * 2019-07-02 2019-10-25 阿里巴巴集团控股有限公司 一种目标用户的推荐方法、系统以及电子设备
CN110472145A (zh) * 2019-07-25 2019-11-19 维沃移动通信有限公司 一种内容推荐方法和电子设备
US20200142935A1 (en) * 2018-11-05 2020-05-07 Samsung Electronics Co., Ltd. System and method for cross-domain recommendations
CN111373419A (zh) * 2017-10-26 2020-07-03 奇跃公司 用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345302B (zh) * 2018-09-27 2023-04-18 腾讯科技(深圳)有限公司 机器学习模型训练方法、装置、存储介质和计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111373419A (zh) * 2017-10-26 2020-07-03 奇跃公司 用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法
CN110097412A (zh) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 物品推荐方法、装置、设备以及存储介质
US20200142935A1 (en) * 2018-11-05 2020-05-07 Samsung Electronics Co., Ltd. System and method for cross-domain recommendations
CN110378726A (zh) * 2019-07-02 2019-10-25 阿里巴巴集团控股有限公司 一种目标用户的推荐方法、系统以及电子设备
CN110472145A (zh) * 2019-07-25 2019-11-19 维沃移动通信有限公司 一种内容推荐方法和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4181026A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491283A (zh) * 2022-04-02 2022-05-13 浙江口碑网络技术有限公司 对象推荐方法、装置及电子设备
CN115062184A (zh) * 2022-06-29 2022-09-16 四川长虹电器股份有限公司 一种语音召回场景下的影片排序方法
CN115222486A (zh) * 2022-07-29 2022-10-21 平安科技(深圳)有限公司 物品推荐模型训练方法、物品推荐方法、装置及存储介质
CN115222486B (zh) * 2022-07-29 2024-02-02 平安科技(深圳)有限公司 物品推荐模型训练方法、物品推荐方法、装置及存储介质
CN116244501A (zh) * 2022-12-23 2023-06-09 重庆理工大学 基于一阶元学习和多监督者关联网络的冷启动推荐方法
CN116244501B (zh) * 2022-12-23 2023-08-08 重庆理工大学 基于一阶元学习和多监督者关联网络的冷启动推荐方法
CN116432039B (zh) * 2023-06-13 2023-09-05 支付宝(杭州)信息技术有限公司 协同训练方法及装置、业务预测方法及装置

Also Published As

Publication number Publication date
US20230153857A1 (en) 2023-05-18
CN115917535A (zh) 2023-04-04
EP4181026A1 (en) 2023-05-17
EP4181026A4 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
WO2022016522A1 (zh) 推荐模型的训练方法、推荐方法、装置及计算机可读介质
CN111444428B (zh) 基于人工智能的信息推荐方法、装置、电子设备及存储介质
WO2021159776A1 (zh) 基于人工智能的推荐方法、装置、电子设备及存储介质
WO2021047593A1 (zh) 推荐模型的训练方法、预测选择概率的方法及装置
CN111966914B (zh) 基于人工智能的内容推荐方法、装置和计算机设备
WO2022016556A1 (zh) 一种神经网络蒸馏方法以及装置
US11188830B2 (en) Method and system for user profiling for content recommendation
CN110008397B (zh) 一种推荐模型训练方法及装置
US9767417B1 (en) Category predictions for user behavior
CN111400603A (zh) 一种信息推送方法、装置、设备及计算机可读存储介质
WO2021155691A1 (zh) 用户画像生成方法、装置、存储介质及设备
US9767204B1 (en) Category predictions identifying a search frequency
US10474670B1 (en) Category predictions with browse node probabilities
WO2024002167A1 (zh) 一种操作预测方法及相关装置
WO2023185925A1 (zh) 一种数据处理方法及相关装置
CN115885297A (zh) 可区分用户-项目协同聚类
WO2024041483A1 (zh) 一种推荐方法及相关装置
US10387934B1 (en) Method medium and system for category prediction for a changed shopping mission
CN114358807A (zh) 基于可预测用户特征属性的用户画像方法及系统
CN114817692A (zh) 确定推荐对象的方法、装置和设备及计算机存储介质
CN117217284A (zh) 一种数据处理方法及其装置
CN116910357A (zh) 一种数据处理方法及相关装置
CN117057855A (zh) 一种数据处理方法及相关装置
CN116308640A (zh) 一种推荐方法及相关装置
CN116204709A (zh) 一种数据处理方法及相关装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20946442

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020946442

Country of ref document: EP

Effective date: 20230210