CN113901328A - 信息推荐方法和装置、电子设备和存储介质 - Google Patents
信息推荐方法和装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113901328A CN113901328A CN202111382306.4A CN202111382306A CN113901328A CN 113901328 A CN113901328 A CN 113901328A CN 202111382306 A CN202111382306 A CN 202111382306A CN 113901328 A CN113901328 A CN 113901328A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- training
- network
- candidate
- 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 75
- 238000012549 training Methods 0.000 claims abstract description 204
- 238000004590 computer program Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 30
- 230000006399 behavior Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000005457 optimization Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
- G06Q30/0256—User search
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/16—Real estate
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Tourism & Hospitality (AREA)
- Mathematical Physics (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种信息推荐方法和装置、电子设备和存储介质,其中,方法包括:获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型,多任务打分模型的输入包括多任务的共享输入和各任务的独享输入;基于第一用户数据及候选对象数据,确定共享输入对应的第一特征数据及各任务独享输入的第二特征数据;基于第一特征数据、各第二特征数据、多任务打分模型,获得打分结果;基于打分结果,从各候选对象中确定出待推荐的目标对象;将目标对象的相关信息推荐给第一用户。本公开有效提高了推荐信息的准确性。
Description
技术领域
本公开涉及信息推荐技术,尤其是一种信息推荐方法和装置、电子设备和存储介质。
背景技术
在业务服务领域,比如房产领域,通常需要为用户提供信息推荐业务,为了能够为用户推荐较符合用户需求的对象信息,比如房源信息,通常需要按照一定规则从海量对象信息中召回一定数量的对象作为推荐给用户的目标对象,但是现有技术通常基于点击概率的单任务打分模型,确定用户对各对象的点击概率,进而基于点击概率进行排序,确定出待推荐给用户的目标对象,这种推荐方式往往不够准确,用户点击后不一定产生商机,因此,如何进一步提高用户推荐信息的准确性、提高业务收益成为亟需解决的技术问题。
发明内容
本公开实施例提供一种信息推荐方法和装置、电子设备和存储介质,以解决现有技术信息推荐不够准确等问题。
本公开实施例的一个方面,提供一种信息推荐方法,包括:获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型,所述多任务打分模型的输入包括多任务的共享输入和各任务的独享输入;基于所述第一用户数据及所述候选对象数据,确定所述共享输入对应的第一特征数据及各任务独享输入的第二特征数据;基于所述第一特征数据、各所述第二特征数据、所述多任务打分模型,获得打分结果,所述打分结果包括各候选对象在各任务的得分;基于所述打分结果,从各候选对象中确定出待推荐的目标对象;将所述目标对象的相关信息推荐给所述第一用户。
在本公开一实施方式中,所述多任务打分模型包括至少两个任务,所述多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,所述共享网络包括多个并列的子网络;所述基于所述第一特征数据、各所述第二特征数据、所述多任务打分模型,获得打分结果,包括:将所述第一特征数据输入到所述共享网络中的各子网络,获得各子网络对应的第一输出结果;
针对每个第二特征数据,将所述第二特征数据和所述第一特征数据一起输入到对应任务的权重学习网络,获得该权重学习网络的第二输出结果,所述第二输出结果包括所述共享网络中各子网络的权重;针对每个所述第二输出结果,将所述第二输出结果及各所述第一输出结果输入到对应任务的输出网络,获得该任务的输出;将各任务的输出作为所述打分结果。
在本公开一实施方式中,所述基于所述打分结果,从各候选对象中确定出待推荐的目标对象,包括:根据各候选对象在至少一个任务的得分对各候选对象进行排序,将得分较高的预设数量的候选对象作为所述目标对象。
在本公开一实施方式中,在获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型之前,所述方法还包括:
获取训练特征数据及对应的标签数据,所述训练特征数据包括用于输入共享网络的第一训练特征数据及各任务对应的第二训练特征数据;将所述第一训练特征数据输入到所述共享网络的各子网络,将各所述第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;基于各任务的损失,确定综合损失;若所述综合损失满足预设条件,则结束训练,获得所述多任务打分模型;若所述综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
在本公开一实施方式中,所述候选对象为候选房源,所述多任务打分模型包括点击任务和商机任务两个任务;所述基于所述打分结果,从各候选对象中确定出待推荐的目标对象,包括:根据各候选房源在点击任务或商机任务的得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源;或者,根据各候选房源在点击任务和商机任务的综合得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源。
在本公开一实施方式中,所述基于所述第一用户数据及所述候选对象数据,确定所述共享输入对应的第一特征数据及各任务独享输入的第二特征数据,包括:根据预设特征规则,将所述第一用户数据及所述候选对象数据拆分为第一数据和各任务的第二数据;对所述第一数据进行特征提取获得所述第一特征数据,并对各所述第二数据进行特征提取获得各所述第二特征数据。
在本公开一实施方式中,获取候选对象对应的候选对象数据,包括:获取原始对象数据;按照至少一种召回规则从所述原始对象数据中召回至少一组对象数据;将召回的各组对象数据作为所述候选对象数据。
本公开实施例的另一个方面,提供一种多任务打分模型的训练方法,所述多任务打分模型的网络结构的输入包括多任务的共享输入和各任务的独享输入;所述方法包括:获取训练用户数据、训练对象数据及对应的标签数据;基于所述训练用户数据及所述训练对象数据,确定共享输入对应的第一训练特征数据及各任务独享输入的第二训练特征数据;基于所述第一训练特征数据和所述第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得所述多任务打分模型。
在本公开一实施方式中,所述多任务打分模型包括至少两个任务,所述多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,所述共享网络包括多个并列的子网络;所述基于所述第一训练特征数据和所述第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得所述多任务打分模型,包括:将所述第一训练特征数据输入到所述共享网络的各子网络,将各所述第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;基于各任务的损失,确定综合损失;若所述综合损失满足预设条件,则结束训练,获得所述多任务打分模型;若所述综合损失不满足预设条件,则根据预设规则调整参数后,继续进行训练,直至综合损失满足预设条件。
本公开实施例的再一个方面,提供一种信息推荐装置,包括:第一获取模块,用于获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型,所述多任务打分模型的输入包括多任务的共享输入和各任务的独享输入;第一确定模块,用于基于所述第一用户数据及所述候选对象数据,确定所述共享输入对应的第一特征数据及各任务独享输入的第二特征数据;第一处理模块,用于基于所述第一特征数据、各所述第二特征数据、所述多任务打分模型,获得打分结果,所述打分结果包括各候选对象在各任务的得分;第二确定模块,用于基于所述打分结果,从各候选对象中确定出待推荐的目标对象;发送模块,用于将所述目标对象的相关信息推荐给所述第一用户。
在本公开一实施方式中,所述多任务打分模型包括至少两个任务,所述多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,所述共享网络包括多个并列的子网络;所述第一处理模块,包括:第一单元,用于将所述第一特征数据输入到所述共享网络中的各子网络,获得各子网络对应的第一输出结果;第二单元,用于针对每个第二特征数据,将所述第二特征数据和所述第一特征数据一起输入到对应任务的权重学习网络,获得该权重学习网络的第二输出结果,所述第二输出结果包括所述共享网络中各子网络的权重;第三单元,用于针对每个所述第二输出结果,将所述第二输出结果及各所述第一输出结果输入到对应任务的输出网络,获得该任务的输出;第四单元,用于将各任务的输出作为所述打分结果。
在本公开一实施方式中,所述第二确定模块,具体用于:根据各候选对象在至少一个任务的得分对各候选对象进行排序,将得分较高的预设数量的候选对象作为所述目标对象。
在本公开一实施方式中,所述装置还包括:第二获取模块,用于获取训练特征数据及对应的标签数据,所述训练特征数据包括用于输入共享网络的第一训练特征数据及各任务对应的第二训练特征数据;第二处理模块,用于将所述第一训练特征数据输入到所述共享网络的各子网络,将各所述第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;第三处理模块,用于基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;第四处理模块,用于基于各任务的损失,确定综合损失;第五处理模块,用于:若所述综合损失满足预设条件,则结束训练,获得所述多任务打分模型;若所述综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
在本公开一实施方式中,所述候选对象为候选房源,所述多任务打分模型包括点击任务和商机任务两个任务;所述第二确定模块,具体用于:根据各候选房源在点击任务或商机任务的得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源;或者,根据各候选房源在点击任务和商机任务的综合得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源。
在本公开一实施方式中,所述第一确定模块,具体用于:根据预设特征规则,将所述第一用户数据及所述候选对象数据拆分为第一数据和各任务的第二数据;对所述第一数据进行特征提取获得所述第一特征数据,并对各所述第二数据进行特征提取获得各所述第二特征数据。
在本公开一实施方式中,所述第一获取模块,具体用于:获取原始对象数据;
按照至少一种召回规则从所述原始对象数据中召回至少一组对象数据;将召回的各组对象数据作为所述候选对象数据。
本公开实施例的又一个方面,提供一种多任务打分模型的训练装置,所述多任务打分模型的网络结构的输入包括多任务的共享输入和各任务的独享输入;所述装置包括:第三获取模块,用于获取训练用户数据、训练对象数据及对应的标签数据;第三确定模块,用于基于所述训练用户数据及所述训练对象数据,确定共享输入对应的第一训练特征数据及各任务独享输入的第二训练特征数据;第一训练模块,用于基于所述第一训练特征数据和所述第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得所述多任务打分模型。
在本公开一实施方式中,所述多任务打分模型包括至少两个任务,所述多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,所述共享网络包括多个并列的子网络;所述第一训练模块,具体用于:将所述第一训练特征数据输入到所述共享网络的各子网络,将各所述第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;基于各任务的损失,确定综合损失;若所述综合损失满足预设条件,则结束训练,获得所述多任务打分模型;若所述综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
据本公开实施例的再一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的方法。
根据本公开实施例的又一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的方法。
根据本公开实施例的再一方面,提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开上述任一实施例所述的方法。
本公开提供的信息推荐方法和装置、电子设备和存储介质,通过基于多任务打分模型针对不同用户获得各候选房源的各任务的得分,进而基于多任务的打分结果为用户确定待推荐的目标对象,为用户推荐更准确的对象信息,有效提高了推荐信息的准确性,并且多任务打分模型针对不同任务的特征依赖,将多任务打分模型的输入特征进行了划分,避免了训练过程中各任务之间的优化冲突,从而训练获得的多任务打分模型性能更优,进一步提高了推荐信息的准确性。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是本公开提供的信息推荐方法的一个示例性的应用场景;
图2是本公开一个示例性实施例提供的信息推荐方法的流程示意图;
图3是本公开一个示例性实施例提供的步骤203的流程示意图;
图4是本公开一示例性实施例提供的多任务打分模型的网络结构示意图;
图5是本公开一示例性实施例提供的多任务打分模型的一种示例性网络结构示意图;
图6是本公开一示例性实施例提供的多任务打分模型的训练方法的流程示意图;
图7是本公开一示例性实施例提供的信息推荐装置的结构示意图;
图8是本公开一示例性实施例提供的第一处理模块的结构示意图;
图9是本公开另一示例性实施例提供的信息推荐装置的结构示意图;
图10是本公开一示例性实施例提供的多任务打分模型的训练装置的结构示意图;
图11为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
本公开概述
在实现本公开的过程中,发明人发现,在如房产领域的业务服务领域,为用户推荐如房源信息的对象信息时,是服务平台先为用户曝光一批按一定因素排好序的房源,用户对感兴趣的房源发生点击行为,查看房源详细信息后,再发生商机行为,是一条曝光-点击-商机的路径,而在曝光时,现有技术通常以点击为目标进行召回和排序,即预估用户是否会点击当前房源,但用户点击后是否对房源满意却无法预知,因此,为用户推荐的房源信息往往不够准确,导致推荐产生的商机率较低。
示例性概述
图1是本公开提供的信息推荐方法的一个示例性的应用场景。
在房产领域,为了产生更多商机,主动为用户推荐相关房源信息,供用户选择,利用本公开提供的技术方案,可以针对不同用户综合考虑用户在各房源上产生点击行为、商机行为等至少两种行为的可能性,为用户提供更为准确的房源信息。房源信息的推荐可以是基于服务平台及用户应用程序APP来实现,服务平台可以部署在任意可实施的电子设备,比如服务器或其他计算机***,服务器可以是单个服务器、服务器集群,也可以是云服务器,用户应用程序APP可以部署在用户终端设备(比如其智能手机、平板、台式电脑等),用户可以根据自己需求下载安装。服务平台可以根据大量历史用户数据提取历史用户在各房源上的历史行为,形成训练数据,用于训练多任务打分模型,多任务打分模型用于在为用户推荐房源时,针对该用户对各候选房源在多个目标上进行打分,基于多任务打分结果对候选房源进行排序,选择排序TOP-N的候选房源作为待推荐的目标房源推荐给用户,供用户查看选择。由于排序所基于的打分结果可以综合点击行为、商机行为等至少两种任务,因此,可以有效提高推荐准确性,进而提高商机率,提高业务收益,同时也能有效提高用户体验。
示例性方法
图2是本公开一个示例性实施例提供的信息推荐方法的流程示意图。该方法包括以下步骤:
步骤201,获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型,多任务打分模型的输入包括多任务的共享输入和各任务的独享输入。
其中,第一用户可以是任意要推荐信息的用户,比如可以是当前维护的所有用户中的一个用户,第一用户数据可以包括第一用户的基本信息(比如浏览行为、活跃次数等)、偏好信息(比如通过用户在APP上的行为信息聚合得到的居室偏好、地址偏好等)、查询条件(用户历史搜索输入的查询条件)等。候选对象可以是当前维护的海量对象中的全部或部分对象,也可以是按照一种或多种因素从海量对象中召回的一批对象,比如按照点击量、热门度、商机率等因素中的一种或多种召回一批对象作为候选对象。候选对象数据包括候选对象的基本属性信息,比如候选对象为候选房源,候选房源数据包括各候选房源的基本属性信息,比如位置、价格、居室数量等。多任务打分模型用于在为用户推荐对象时,针对该用户对各候选对象在多个任务上进行打分,每个候选对象在每个任务的得分表示第一用户对该候选对象执行该任务的概率。
多任务打分模型需要预先训练获得,比如服务平台可以根据大量历史用户数据提取历史用户在各房源上的历史行为,形成训练数据,用于训练获得多任务打分模型。由于存在多个任务,不同任务的差异可能较大,导致不同任务之间可能存在不同的依赖特征,在训练过程中,一个任务的某些依赖特征可能会对另一个任务的优化产生负向影响,针对这一问题,本公开的多任务打分模型的网络架构针对多个任务设置有共享输入和各任务的独享输入,共享输入用于输入多任务共享的特征数据,各任务独享输入用于输入各任务的特有特征,从而使得各任务的独享特征只影响该任务,而不会影响其他任务,有效解决各任务之间的特征依赖冲突,提高多任务打分模型的性能。
步骤202,基于第一用户数据及候选对象数据,确定共享输入对应的第一特征数据及各任务独享输入的第二特征数据。
由于多任务打分模型的网络架构包括共享输入和各任务的独享输入,因此,在获取到第一用户数据和候选对象数据后,则可以根据预设特征规则,基于第一用户数据及候选对象数据,确定共享输入对应的第一特征数据及各任务独享输入的第二特征数据。其中,预设特征规则可以根据实际需求设置,特征的划分需与训练时特征的划分一致。
步骤203,基于第一特征数据、各第二特征数据、多任务打分模型,获得打分结果,打分结果包括各候选对象在各任务的得分。
其中,每个候选对象在每个任务的得分表示第一用户对该候选对象执行该任务的概率。在获得第一特征数据及各任务的第二特征数据后,则可以将第一特征数据作为多任务打分模型的共享输入,将各第二特征数据作为各任务的独享输入,输入到多任务打分模型,经多任务打分模型后获得各任务的得分,作为打分结果。
步骤204,基于打分结果,从各候选对象中确定出待推荐的目标对象。
在获得打分结果后,则可以基于打分结果对候选对象进行排序,根据排序结果从各候选对象中确定出待推荐的目标对象。
在一个可选示例中,排序可以按照任一任务的得分进行排序,也可以按照多任务中至少两个任务的综合得分进行排序,具体可以根据实际需求设置,本实施例不做限定。
示例性的,对于房源推荐业务,多任务打分模型可以包括点击任务和商机任务两个任务,在排序时,可以按照商机任务的得分进行排序,也可以按照点击任务的得分进行排序,还可以按照点击任务和商机任务的综合得分进行排序,综合得分可以是两任务的得分之和,也可以是按照不同的权重进行加权平均,具体可以根据实际需求设置。
获得的目标对象可以包括一个或多个对象,具体推荐数量可以根据实际需求设置。
步骤205,将目标对象的相关信息推荐给第一用户。
在获得待推荐的目标对象之后,则可以将目标对象的相关信息推荐给第一用户。
在一个可选示例中,为了进一步提高用户体验,推荐的目标对象可以是按照得分排序的对象列表,以使终端设备可以按照排序结果进行展示,使得用户可以最先看到最相关的推荐信息。
在一个可选示例中,推荐的目标对象的相关信息的具体内容可以根据实际需求设置,比如可以是先推荐目标房源的一些重要的信息,形成展示列表,当用户点击列表中每个房源时,可以进入详细信息页查看房源的详细信息。具体展示方式不做限定。
本公开实施例提供的信息推荐方法,通过基于多任务打分模型针对不同用户获得各候选房源的各任务的得分,进而基于多任务的打分结果为用户确定待推荐的目标对象,为用户推荐更准确的对象信息,有效提高了推荐信息的准确性,并且多任务打分模型针对不同任务的特征依赖,将多任务打分模型的输入特征进行了划分,避免了训练过程中各任务之间的优化冲突,从而训练获得的多任务打分模型性能更优,进一步提高了推荐信息的准确性。
在一个可选示例中,图3是本公开一个示例性实施例提供的步骤203的流程示意图。本示例中,多任务打分模型包括至少两个任务,多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,共享网络包括多个并列的子网络;相应的步骤203具体可以包括以下步骤:
步骤2031,将第一特征数据输入到共享网络中的各子网络,获得各子网络对应的第一输出结果。
其中,共享网络的各子网络用于学习第一特征数据的不同组合情况。
步骤2032,针对每个第二特征数据,将第二特征数据和第一特征数据一起输入到对应任务的权重学习网络,获得该权重学习网络的第二输出结果,第二输出结果包括共享网络中各子网络的权重。
每个任务的权重学习网络用于获得各子网络的第一输出结果对该任务的权重,其输入是该任务的独享特征(即该任务的第二特征数据)和共享特征(即第一特征数据)。
步骤2033,针对每个第二输出结果,将第二输出结果及各第一输出结果输入到对应任务的输出网络,获得该任务的输出。
步骤2034,将各任务的输出作为打分结果。
通过获得的各子网络在不同任务的不同权重,可以对各子网络的第一输出结果进行加权获得对应任务的输出网络的输入。
每个任务具有自己的输出网络,将该任务的权重学习网络输出的第二输出结果及共享网络输出的各子网络的第一输出结果输入到该任务对应的输出网络,输出网络会基于该第二输出结果的权重对各子网络的第一输出结果进行加权,及其他相关处理后获得该任务的输出,各子网络的第一输出结果经不同加权后的结果代表了共享特征对不同任务的不同影响,因此获得的打分结果在每个任务上都具有较高的准确率。
示例性的,图4是本公开一示例性实施例提供的多任务打分模型的网络结构示意图。本示例中以两个任务为例,其中共享网络包括的子网络的数量为4个,实际应用中可以根据实际需求设置子网络的数量,每个子网络包括的网络层数也可以根据实际需求设置,比如子网络可以是包括输入层、隐藏层、输出层的深度神经网络,其中隐藏层可以包括一层或多层神经网络层,圆表示神经元节点(简称节点),这里的网络层数、每层神经元节点的数量均为示例性的,在实际应用中均可以根据实际需求设置。共享网络中不同子网络用于学习第一特征数据的不同组合情况,因此不同子网络的具体结构不同,或者结构相同网络参数不同,具体可以根据实际需求设置。每个任务的权重学习网络用于学习各子网络在该任务中的权重,权重学习网络的具体结构可以是包括输入层、隐藏层和输出层的深度神经网络,其中,隐藏层可以包括一层或多层神经网络层,隐藏层的数量及每层的神经元节点数量均可以根据实际需求设置,权重的大小表示了该子网络学习输出的结果对该任务的重要程度,从而共享网络各子网络学习的不同特征组合对于不同的任务产生不同的影响,在训练优化过程中,可以有效减少差异较大的任务之间的优化冲突,进一步提高多任务打分模型在各任务上的有效性和准确性;每个任务的输出网络可以是任意可实施的分类网络,具体可以包括输入层、隐藏层和输出层,输出结果是用户对一个对象执行该任务的概率,或者输出结果可以包括执行该任务的概率和不执行该任务的概率,具体可以根据实际需求设置。需要说明的是,基于各部分网络之间的连接关系,一部分网络的输入层可以是另一部分网络的输出层。
示例性的,图5是本公开一示例性实施例提供的多任务打分模型的一种示例性网络结构示意图。其中,节点上的数字是为了清楚地表述各层节点的数量,共享网络包括4个子网络,每个子网络的输入层均包括7个节点,即为共享输入的7个节点,第一个子网络(从左边开始)总共包括2层,除了输入层外,还包括一个输出层(包括4个节点),第二个子网络总共包括3层,除7个节点的输入层外,还包括一个中间层(包括16个节点)和一个输出层(包括4个节点);第三个子网络总共包括4层,除输入层外还包括两个中间层(均为16个节点)和一个输出层(4个节点);第4个子网络共5层,除输入层外还包括3个中间层(节点数分别为16、32、16)和一个输出层(4个节点);可见,第一个子网络结构较简单,用于学习简单的特征组合;任务1的权重学习网络共包括5层,输入层(9个节点)包括任务1的独享输入的2个节点和共享输入的7个节点,3个中间层节点数均为16,输出层节点数为4;任务2的权重学习网络共包括5层,输入层(9个节点)包括任务2的独享输入的2个节点和共享输入的7个节点,3个中间层节点数均为16,输出层节点数为4;任务1的输出网络包括5层,输入层(20个节点)包括任务1的权重学习网络的输出层的4个节点和各子网络的输出层节点,3个中间层节点数分别为16、32、16,输出层1个节点;同样任务2的输出网络包括5层,输入层(20个节点)包括任务2的权重学习网络的输出层的4个节点和各子网络的输出层节点,3个中间层节点数分别为16、32、16,输出层1个节点。其中,任务1的独享输入比如可以是点击次数和点击房源均价两特征,任务2的独享输入比如可以是商机次数、商机房源均价两特征,共享输入比如可以包括用户相关特征和房源相关特征形成的特征。
在实际应用中,权重学习网络的输出层节点数量也可以不与子网络数量相同,比如子网络数量为4,权重学习网络的输出层节点数为3,即表示不同任务可以选择多个子网络中的一部分子网络进行加权。不同任务的加权学习网络的结构也可以设置为不同,不同任务的输出网络的结构也可以设置为不同,具体可以根据实际需求设置,不限于上述图中的结构。
在一个可选示例中,步骤204的基于打分结果,从各候选对象中确定出待推荐的目标对象,包括:根据各候选对象在至少一个任务的得分对各候选对象进行排序,将得分较高的预设数量的候选对象作为目标对象。
具体的,在获得各候选对象在各任务的得分后,对候选对象的排序可以按照其中任一个任务的得分进行排序,也可以按照各任务中至少两个任务的综合得分进行排序,综合得分可以是各任务的得分之和,也可以是按照不同的权重进行加权平均,具体可以根据实际需求设置。比如房源推荐业务,获得各候选房源在点击任务和商机任务上的得分,在排序时,可以按照商机任务的得分进行排序,也可以按照点击任务的得分进行排序,还可以按照点击任务和商机任务的综合得分进行排序。
在一个可选示例中,多任务打分模型需要预先训练获得,也即在步骤201获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型之前,本公开的方法还包括:获取训练特征数据及对应的标签数据,训练特征数据包括用于输入共享网络的第一训练特征数据及各任务对应的第二训练特征数据;将第一训练特征数据输入到共享网络的各子网络,将各第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;基于各任务的损失,确定综合损失;若综合损失满足预设条件,则结束训练,获得多任务打分模型;若综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
其中,标签数据是历史用户对各对象执行是否执行了各任务,比如历史用户是否对某房源进行了点击行为,是否产生了商机。每条训练样本数据即包括一个历史用户的用户数据、一个对象的对象数据及该历史用户在该对象的行为标签,行为标签可以用1或0表示,比如1表示该历史用户在该对象上执行了该行为所对应的任务,比如对该房源执行了点击任务,也即对该房源产生了点击行为,训练特征数据则可以基于训练样本数据及预设特征规则来获得,获得的训练特征数据包括共享输入的第一训练特征数据和各任务的第二训练特征数据。将第一训练特征数据和各第二训练特征数据分别输入到对应的网络部分,即可获得各任务的输出结果,称为训练输出结果,基于各任务的训练输出结果及对应的标签数据,采用预设损失函数可以确定各任务的损失,进而可以基于各任务的损失及预设加权规则,来确定综合损失,预设加权规则可以根据实际需求设置,若综合损失满足预设条件,则表示训练趋于收敛,可以结束训练,获得训练好的多任务打分模型,若综合损失不满足预设条件,则需要调整参数继续训练,其中参数可以包括网络参数、各部分网络的层数、子网络个数等等,具体可以根据实际需求设置,本公开不做限定。
在一个可选示例中,以房源匹配的多任务打分模型的训练优化为例,对训练过程进行详细说明。参见图4的网络结构,任务1为点击任务,任务2为商机任务,模型的训练包括以下步骤:
1、准备数据集
比如可以应用近一段时间(比如7天、30天)的业务数据,提取出用户对每个房源的行为作为标签label,也即标签包括是否点击和是否产生商机两个值,可以用不同的符号进行表示。基于业务数据,通过用户标识(比如用户ID)、房源标识(比如房源ID)关联上用户和房源数据,包括但不限于用户基础信息、用户偏好信息、用户行为信息、房源基础信息等。
将近一段时间中每个用户对每个房源的行为及用户数据和房源数据进行关联整合,作为训练数据集,其中每条样本数据比如为<用户数据,房源数据,行为/标签label>。
2、构建模型网络
可以使用TensorFlow或PyTorch框架构建模型网络,按照业务逻辑构建具有一定网络层数结构的网络,最终输出有两个目标任务,对应点击任务和商机任务。
3、模型训练
构建模型网络后,基于上述获得的训练数据集进行训练优化,可选地,训练的优化方式可以采用任意可实施的优化器,比如Adam优化器、SGD等,具体可以根据实际需求设置。
4、参数调整
根据模型训练的输出结果及标签数据,调整模型参数,该参数可以包括网络层数、子网络个数等。
本公开通过一次建模,完成多个任务的训练优化,有效提高优化效率,还通过共享网络与权重学习网络结合,实现了不同任务之间关联与冲突的分别学习,使得一个任务的对其他任务优化有负向影响的依赖特征只用于该任务的依赖,不参与到共享网络中,而通过权重学习网络实现了共享网络中选择对该任务更重要的特征组合情况具有较大的权重,而对该任务不太重要的特征组合则具有较小的权重,从而实现了不同任务对不同特征的依赖选择,进一步提高优化效率及模型性能。
在一个可选示例中,候选对象为候选房源,多任务打分模型包括点击任务和商机任务两个任务;基于打分结果,从各候选对象中确定出待推荐的目标对象,包括:根据各候选房源在点击任务或商机任务的得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源;或者,根据各候选房源在点击任务和商机任务的综合得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源。
在一个可选示例中,基于第一用户数据及候选对象数据,确定共享输入对应的第一特征数据及各任务独享输入的第二特征数据,包括:根据预设特征规则,将第一用户数据及候选对象数据拆分为第一数据和各任务的第二数据;对第一数据进行特征提取获得第一特征数据,并对各第二数据进行特征提取获得各第二特征数据。
其中,预设特征规则可以根据实际场景下不同任务所依赖的特征是否对其他任务的优化有负向影响来设置。特征提取可以采用任意可实施的方式,本公开不做限定。
在一个可选示例中,候选对象可以是当前维护的海量对象。也即本公开的方法应用于匹配业务中的召回阶段,召回阶段指为用户从海量对象中找到一定数量的对象,比如从海量房源中找到一定数量的房源。针对用户获得的目标房源作为一个召回结果。
在一个可选示例中,获取候选对象对应的候选对象数据,包括:获取原始对象数据;按照至少一种召回规则从原始对象数据中召回至少一组对象数据;将召回的各组对象数据作为候选对象数据。也即本公开的方法还可以用于匹配业务的排序阶段,首先经多路召回(比如按点击量、热门度、商机率),获得每路召回的一批对象,将各路召回的对象融合后作为候选对象,在基于本公开的多任务打分模型进行打分,对候选对象进行排序,将用户最可能发生行为的对象排在靠前位置。
本公开实施例提供的任一种信息推荐方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种信息推荐方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种信息推荐方法。下文不再赘述。
本公开另一实施例还可以提供一种多任务打分模型的训练方法,用于上述实施例中所涉及的多任务打分模型的训练。该方法可以由任意可实施的电子设备执行,比如服务器,该电子设备可以是与上述信息推荐方法的电子设备为同一设备,也可以是不同的设备。图6是本公开一示例性实施例提供的多任务打分模型的训练方法的流程示意图。本实施例中多任务打分模型的网络结构的输入包括多任务的共享输入和各任务的独享输入;该方法包括以下步骤:
步骤301,获取训练用户数据、训练对象数据及对应的标签数据。
步骤302,基于训练用户数据及训练对象数据,确定共享输入对应的第一训练特征数据及各任务独享输入的第二训练特征数据。
步骤303,基于第一训练特征数据和第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得多任务打分模型。
在一个可选示例中,多任务打分模型包括至少两个任务,多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,共享网络包括多个并列的子网络;基于第一训练特征数据和第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得多任务打分模型,包括:将第一训练特征数据输入到共享网络的各子网络,将各第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;基于各任务的损失,确定综合损失;若综合损失满足预设条件,则结束训练,获得多任务打分模型;若综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
需要说明的是模型训练过程的具体操作已在前述实施例进行了详细说明,在此不再赘述。
示例性装置
图7是本公开一示例性实施例提供的信息推荐装置的结构示意图。该实施例的装置可用于实现本公开相应的方法实施例,如图7所示的装置包括:第一获取模块501、第一确定模块502、第一处理模块503、第二确定模块504和发送模块505。
第一获取模块501,用于获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型,多任务打分模型的输入包括多任务的共享输入和各任务的独享输入。
第一确定模块502,用于基于第一获取模块501获取的第一用户数据及候选对象数据,确定共享输入对应的第一特征数据及各任务独享输入的第二特征数据。
第一处理模块503,用于基于第一确定模块502确定的第一特征数据、各第二特征数据、多任务打分模型,获得打分结果,打分结果包括各候选对象在各任务的得分。
第二确定模块504,用于基于第一处理模块503获得的打分结果,从各候选对象中确定出待推荐的目标对象。
发送模块505,用于将第二确定模块504获得的目标对象的相关信息推荐给第一用户。
在一个可选示例中,图8是本公开一示例性实施例提供的第一处理模块的结构示意图。本示例中,多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,共享网络包括多个并列的子网络;相应的,第一处理模块503,包括:第一单元5031、第二单元5032、第三单元5033和第四单元5034。第一单元5031,用于将第一确定模块502确定的第一特征数据输入到共享网络中的各子网络,获得各子网络对应的第一输出结果;第二单元5032,用于针对第一确定模块502确定的每个第二特征数据,将第二特征数据和第一特征数据一起输入到对应任务的权重学习网络,获得该权重学习网络的第二输出结果,第二输出结果包括共享网络中各子网络的权重;第三单元5033,用于针对第二单元5032获得的每个第二输出结果,将第二输出结果及各第一输出结果输入到对应任务的输出网络,获得该任务的输出;第四单元5034,用于将第三单元5033获得的各任务的输出作为打分结果。
在一个可选示例中,第二确定模块504,具体用于:根据各候选对象在至少一个任务的得分对各候选对象进行排序,将得分较高的预设数量的候选对象作为目标对象。
图9是本公开另一示例性实施例提供的信息推荐装置的结构示意图。
在一个可选示例中,本公开的装置还包括:第二获取模块506、第二处理模块507、第三处理模块508、第四处理模块509、第五处理模块510。第二获取模块506,用于获取训练特征数据及对应的标签数据,训练特征数据包括用于输入共享网络的第一训练特征数据及各任务对应的第二训练特征数据;第二处理模块507,用于将第二获取模块获取的第一训练特征数据输入到共享网络的各子网络,将第二获取模块获取的各第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;第三处理模块508,用于基于第二处理模块获得的各任务的训练输出结果及对应的标签数据,确定各任务的损失;第四处理模块509,用于基于第三处理模块确定的各任务的损失,确定综合损失;第五处理模块510,用于:若第四处理模块获得的综合损失满足预设条件,则结束训练,获得多任务打分模型;若第四处理模块获得的综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
在一个可选示例中,候选对象为候选房源,多任务打分模型包括点击任务和商机任务两个任务;第二确定模块504,具体用于:根据各候选房源在点击任务或商机任务的得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源;或者,根据各候选房源在点击任务和商机任务的综合得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源。
在一个可选示例中,第一确定模块502,具体用于:根据预设特征规则,将第一用户数据及候选对象数据拆分为第一数据和各任务的第二数据;对第一数据进行特征提取获得第一特征数据,并对各第二数据进行特征提取获得各第二特征数据。
在一个可选示例中,第一获取模块501,具体用于:获取原始对象数据;按照至少一种召回规则从原始对象数据中召回至少一组对象数据;将召回的各组对象数据作为候选对象数据。
本公开又一实施例还提供一种多任务打分模型的训练装置,该实施例的装置可以用于实现本公开相应的多任务打分模型的训练方法实施例,图10是本公开一示例性实施例提供的多任务打分模型的训练装置的结构示意图,本示例中多任务打分模型的网络结构的输入包括多任务的共享输入和各任务的独享输入;该装置包括:第三获取模块401、第三确定模块402和第一训练模块403。
第三获取模块401,用于获取训练用户数据、训练对象数据及对应的标签数据。第三确定模块402,用于基于训练用户数据及训练对象数据,确定共享输入对应的第一训练特征数据及各任务独享输入的第二训练特征数据。第一训练模块403,用于基于第一训练特征数据和第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得多任务打分模型。
在一个可选示例中,多任务打分模型包括至少两个任务,多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,共享网络包括多个并列的子网络;相应的,第一训练模块403,具体用于:将第一训练特征数据输入到共享网络的各子网络,将各第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;基于各任务的损失,确定综合损失;若综合损失满足预设条件,则结束训练,获得多任务打分模型;若综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
另外,本公开实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的信息推荐方法。
图11为本公开电子设备一个应用实施例的结构示意图。如图11所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的信息推荐方法以及/或者其他期望的功能。
在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入装置还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图11中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的信息推荐方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的信息推荐方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于***实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种信息推荐方法,其特征在于,包括:
获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型,所述多任务打分模型的输入包括多任务的共享输入和各任务的独享输入;
基于所述第一用户数据及所述候选对象数据,确定所述共享输入对应的第一特征数据及各任务独享输入的第二特征数据;
基于所述第一特征数据、各所述第二特征数据、所述多任务打分模型,获得打分结果,所述打分结果包括各候选对象在各任务的得分;
基于所述打分结果,从各候选对象中确定出待推荐的目标对象;
将所述目标对象的相关信息推荐给所述第一用户。
2.根据权利要求1所述的方法,其特征在于,所述多任务打分模型包括至少两个任务,所述多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,所述共享网络包括多个并列的子网络;
所述基于所述第一特征数据、各所述第二特征数据、所述多任务打分模型,获得打分结果,包括:
将所述第一特征数据输入到所述共享网络中的各子网络,获得各子网络对应的第一输出结果;
针对每个第二特征数据,将所述第二特征数据和所述第一特征数据一起输入到对应任务的权重学习网络,获得该权重学习网络的第二输出结果,所述第二输出结果包括所述共享网络中各子网络的权重;
针对每个所述第二输出结果,将所述第二输出结果及各所述第一输出结果输入到对应任务的输出网络,获得该任务的输出;
将各任务的输出作为所述打分结果。
3.根据权利要求2所述的方法,其特征在于,所述基于所述打分结果,从各候选对象中确定出待推荐的目标对象,包括:
根据各候选对象在至少一个任务的得分对各候选对象进行排序,将得分较高的预设数量的候选对象作为所述目标对象。
4.根据权利要求2所述的方法,其特征在于,在获取第一用户对应的第一用户数据、候选对象对应的候选对象数据及预先训练获得的多任务打分模型之前,所述方法还包括:
获取训练特征数据及对应的标签数据,所述训练特征数据包括用于输入共享网络的第一训练特征数据及各任务对应的第二训练特征数据;
将所述第一训练特征数据输入到所述共享网络的各子网络,将各所述第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;
基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;
基于各任务的损失,确定综合损失;
若所述综合损失满足预设条件,则结束训练,获得所述多任务打分模型;
若所述综合损失不满足预设条件,则根据预设规则调整参数后,进入下一轮训练,直至综合损失满足预设条件。
5.根据权利要求2所述的方法,其特征在于,所述候选对象为候选房源,所述多任务打分模型包括点击任务和商机任务两个任务;
所述基于所述打分结果,从各候选对象中确定出待推荐的目标对象,包括:
根据各候选房源在点击任务或商机任务的得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源;或者,
根据各候选房源在点击任务和商机任务的综合得分对各候选房源进行排序,将得分较高的第一预设数量的候选房源作为目标房源。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第一用户数据及所述候选对象数据,确定所述共享输入对应的第一特征数据及各任务独享输入的第二特征数据,包括:
根据预设特征规则,将所述第一用户数据及所述候选对象数据拆分为第一数据和各任务的第二数据;
对所述第一数据进行特征提取获得所述第一特征数据,并对各所述第二数据进行特征提取获得各所述第二特征数据。
7.根据权利要求1-6任一所述的方法,其特征在于,获取候选对象对应的候选对象数据,包括:
获取原始对象数据;
按照至少一种召回规则从所述原始对象数据中召回至少一组对象数据;
将召回的各组对象数据作为所述候选对象数据。
8.一种多任务打分模型的训练方法,其特征在于,所述多任务打分模型的网络结构的输入包括多任务的共享输入和各任务的独享输入;
所述方法包括:
获取训练用户数据、训练对象数据及对应的标签数据;
基于所述训练用户数据及所述训练对象数据,确定共享输入对应的第一训练特征数据及各任务独享输入的第二训练特征数据;
基于所述第一训练特征数据和所述第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得所述多任务打分模型。
9.根据权利要求8所述的方法,其特征在于,所述多任务打分模型包括至少两个任务,所述多任务打分模型的网络结构包括共享网络、各任务对应的权重学习网络及各任务的输出网络,所述共享网络包括多个并列的子网络;
所述基于所述第一训练特征数据和所述第二训练特征数据对预先建立的多任务打分网络进行训练,当网络的损失满足预设条件时,结束训练,获得所述多任务打分模型,包括:
将所述第一训练特征数据输入到所述共享网络的各子网络,将各所述第二训练特征数据输入到对应任务的权重学习网络,获得各任务的训练输出结果;
基于各任务的训练输出结果及对应的标签数据,确定各任务的损失;
基于各任务的损失,确定综合损失;
若所述综合损失满足预设条件,则结束训练,获得所述多任务打分模型;
若所述综合损失不满足预设条件,则根据预设规则调整参数后,继续进行训练,直至综合损失满足预设条件。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111382306.4A CN113901328A (zh) | 2021-11-19 | 2021-11-19 | 信息推荐方法和装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111382306.4A CN113901328A (zh) | 2021-11-19 | 2021-11-19 | 信息推荐方法和装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113901328A true CN113901328A (zh) | 2022-01-07 |
Family
ID=79194904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111382306.4A Pending CN113901328A (zh) | 2021-11-19 | 2021-11-19 | 信息推荐方法和装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901328A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221928A1 (zh) * | 2022-05-17 | 2023-11-23 | 华为技术有限公司 | 一种推荐方法、训练方法以及装置 |
-
2021
- 2021-11-19 CN CN202111382306.4A patent/CN113901328A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221928A1 (zh) * | 2022-05-17 | 2023-11-23 | 华为技术有限公司 | 一种推荐方法、训练方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021258049B2 (en) | Cooperatively operating a network of supervised learning processors to concurrently distribute supervised learning processor training and provide predictive responses to input data | |
CN110321422B (zh) | 在线训练模型的方法、推送方法、装置以及设备 | |
US10552488B2 (en) | Social media user recommendation system and method | |
WO2020135535A1 (zh) | 一种推荐模型训练方法及相关装置 | |
US20190364123A1 (en) | Resource push method and apparatus | |
US11004123B2 (en) | Method for trading goods on a computer network based on image processing for interest, emotion and affinity detection | |
CN111444428A (zh) | 基于人工智能的信息推荐方法、装置、电子设备及存储介质 | |
US9064212B2 (en) | Automatic event categorization for event ticket network systems | |
CN108021708B (zh) | 内容推荐方法、装置与计算机可读存储介质 | |
US20200394448A1 (en) | Methods for more effectively moderating one or more images and devices thereof | |
Ben-Shimon et al. | An ensemble method for top-N recommendations from the SVD | |
CN112070545A (zh) | 用于优化信息触达的方法、装置、介质和电子设备 | |
WO2023024408A1 (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN113901328A (zh) | 信息推荐方法和装置、电子设备和存储介质 | |
CN116823410B (zh) | 数据处理方法、对象处理方法、推荐方法及计算设备 | |
CN112116393B (zh) | 用于实现事件用户维护的方法、装置和设备 | |
CN112801226A (zh) | 数据筛选方法和装置、计算机可读存储介质、电子设备 | |
CN112905885A (zh) | 向用户推荐资源的方法、装置、设备、介质和程序产品 | |
CN111897910A (zh) | 信息推送方法和装置 | |
CN116777529B (zh) | 一种对象推荐的方法、装置、设备、存储介质及程序产品 | |
CN114547455B (zh) | 热门对象确定方法、装置、存储介质及电子设备 | |
CN117033756A (zh) | 资源内容推送方法及相关设备 | |
CN117216256A (zh) | 意图识别方法、装置、设备及计算机存储介质 | |
CN117743673A (zh) | 资源召回方法 | |
CN116467586A (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 |