CN112015788A - 向目标用户展示目标对象序列的方法和装置 - Google Patents
向目标用户展示目标对象序列的方法和装置 Download PDFInfo
- Publication number
- CN112015788A CN112015788A CN202010885692.8A CN202010885692A CN112015788A CN 112015788 A CN112015788 A CN 112015788A CN 202010885692 A CN202010885692 A CN 202010885692A CN 112015788 A CN112015788 A CN 112015788A
- Authority
- CN
- China
- Prior art keywords
- target
- target object
- sequence
- vector
- user
- 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 48
- 239000013598 vector Substances 0.000 claims abstract description 150
- 238000012512 characterization method Methods 0.000 claims abstract description 53
- 238000012163 sequencing technique Methods 0.000 claims abstract description 22
- 230000007246 mechanism Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 17
- 230000006399 behavior Effects 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000000306 recurrent effect Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 claims description 4
- 230000003542 behavioural effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/903—Querying
- G06F16/9038—Presentation of query results
-
- 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/906—Clustering; Classification
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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/0282—Rating or review of business operators or products
-
- 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本说明书实施例提供一种向目标用户展示目标对象序列的方法和装置,方法包括:确定待展示的目标对象序列中各目标对象的初始排序,初始排序按照各目标对象与目标用户的相关度由高到低进行排序;获取各目标对象分别对应的对象特征;将各目标对象分别对应的对象特征按照初始排序输入预先训练的重排序模型,重排序模型包括编码器和解码器,编码器对于各对象特征进行编码,得到目标对象序列对应的上下文表征向量,解码器根据上下文表征向量输出目标对象序列中各目标对象的重排序;按照重排序的各目标对象的位置,向目标用户展示目标对象序列。能够通过对目标对象的合理排序,从而基于该排序向目标用户展示目标对象序列时,达到用户反馈的最大化。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及向目标用户展示目标对象序列的方法和装置。
背景技术
当前,常常会向目标用户展示目标对象序列,以向该目标用户推荐该目标对象序列中的多个目标对象,为了实现特定的业务目标,需要从大量的目标对象中筛选出用户可能会感兴趣的多个目标对象,由这多个目标对象构成目标对象序列,以及确定展示目标对象序列时各目标对象的位置,这些均要基于对目标对象的排序而进行。
现有技术中,在对目标对象进行排序时,通常按照各目标对象与目标用户的相关度由高到低进行排序,上述相关度体现了目标用户对目标对象的偏好,根据上述排序向目标用户展示目标对象序列时,常常无法达到用户反馈的最大化,例如,目标用户对各目标对象的点击率最大化、或者转化率最大化等。
因此,希望能有改进的方案,能够通过对目标对象的合理排序,从而基于该排序向目标用户展示目标对象序列时,达到用户反馈的最大化。
发明内容
本说明书一个或多个实施例描述了一种向目标用户展示目标对象序列的方法和装置,能够通过对目标对象的合理排序,从而基于该排序向目标用户展示目标对象序列时,达到用户反馈的最大化。
第一方面,提供了一种向目标用户展示目标对象序列的方法,方法包括:
确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;
获取所述目标对象序列中各目标对象分别对应的对象特征;
将各目标对象分别对应的对象特征按照所述初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;
按照所述重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。
在一种可能的实施方式中,所述获取所述目标对象序列中各目标对象分别对应的对象特征,包括:
获取所述目标对象序列中各目标对象分别对应的属性特征;
获取各目标对象与所述目标用户的相关度;
获取所述目标用户的用户特征;
根据任一目标对象的属性特征、该目标对象与所述目标用户的相关度、所述目标用户的用户特征,组合成该目标对象对应的对象特征。
进一步地,所述重排序模型用于预测所述目标用户对于各目标对象的偏好度,并根据预测的偏好度对各个目标对象进行重排序;
所述重排序模型基于样本对象序列进行训练;所述样本对象序列中的各样本对象具有初始排序;各样本对象具有对应的对象特征,对象特征根据样本对象的属性特征、样本对象与样本用户的相关度、样本用户的用户特征组合而成,样本对象序列具有表示样本用户对各个样本对象的用户偏好的样本标签。
进一步地,所述样本标签根据所述样本用户的历史行为数据而确定。
进一步地,所述历史行为数据包括是否点击的数据,和/或是否转化的数据。
在一种可能的实施方式中,所述编码器为转换器Transformer网络;所述编码器对于所述各对象特征进行编码,包括:
Transformer网络基于多头注意力机制对所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量。
进一步地,Transformer网络基于多头注意力机制对所述各对象特征进行编码,包括:
确定所述各对象特征分别对应的查询向量、键向量和值向量;
根据第一对象特征对应的查询向量和第二对象特征对应的键向量,确定所述第二对象特征对所述第一对象特征的权重,其中,所述第一对象特征和所述第二对象特征为所述各对象特征中的任意两个对象特征;
根据所述各对象特征对所述第一对象特征的权重和所述各对象特征的值向量,确定所述第一对象特征的编码向量,从而得到所述各对象特征对应的编码向量。
进一步地,所述解码器包括全连接层,回归层和输出层;所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
通过所述全连接层,将所述上下文表征向量处理为第一输出向量,所述第一输出向量具有与各目标对象相同数目的维度;
在所述回归层,对所述第一输出向量施加softmax函数,得到各个目标对象的打分;
通过所述输出层,按照各个目标对象的打分由高到低的顺序,输出所述目标对象序列中各目标对象的重排序。
在一种可能的实施方式中,所述编码器为循环神经网络(recurrent neuralnetwork,RNN);
所述编码器对于所述各对象特征进行编码,包括:
RNN将所述各对象特征依次进行编码,每次编码得到一个隐层向量,最后一次编码得到的隐层向量为所述目标对象序列对应的上下文表征向量。
进一步地,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
对于当前解码位置,根据当前解码位置的上下文表征向量解码出第一解码向量;
利用注意力机制,分别计算编码中每一次编码得到的隐层向量对所述上下文表征向量的权重,并将每一次编码得到的隐层向量按照对应的权重加权组合,将组合结果叠加到所述第一解码向量上,得到更新隐层向量;
根据解码的更新隐层向量,使用softmax函数,确定各目标对象的概率,根据概率的最大值,解码出当前位置对应的目标对象。
第二方面,提供了一种向目标用户展示目标对象序列的装置,装置包括:
第一排序单元,用于确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;
获取单元,用于获取所述目标对象序列中各目标对象分别对应的对象特征;
第二排序单元,用于将所述获取单元获取的各目标对象分别对应的对象特征按照所述第一排序单元确定的初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;
展示单元,用于按照所述第二排序单元得到的重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;然后获取所述目标对象序列中各目标对象分别对应的对象特征;接着将各目标对象分别对应的对象特征按照所述初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;最后按照所述重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。由上可见,本说明书实施例中,在得到上述初始排序后,不是直接根据该初始排序的各目标对象的位置,向所述目标用户展示所述目标对象序列,而是在该初始排序的基础上,通过重排序模型对各目标对象进行重排序,由于重排序模型考虑了各目标对象之间的影响,因此对各目标对象的排序更为合理,能够通过对目标对象的合理排序,从而基于该排序向目标用户展示目标对象序列时,达到用户反馈的最大化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的向目标用户展示目标对象序列的方法流程图;
图3示出根据一个实施例的重排序模型的结构示意图;
图4示出根据另一个实施例的重排序模型的结构示意图;
图5示出根据一个实施例的重排序系统结构示意图;
图6示出根据一个实施例的向目标用户展示目标对象序列的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及向目标用户展示目标对象序列。可以理解的是,目标对象序列包括多个目标对象,这多个目标对象同时展示给目标用户,多个目标对象之间具有相对位置关系,可以根据目标对象的排序确定展示目标对象的位置。本说明书实施例中,先确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序,然后在该初始排序的基础上,对各目标对象进行重排序,由于重排序考虑了各目标对象之间的影响,因此对各目标对象的排序更为合理,能够通过对目标对象的合理排序,从而基于该排序向目标用户展示目标对象序列时,达到用户反馈的最大化。
一个典型的实施场景为商品推荐场景,目标对象为推荐的商品。现代推荐系统的商品物料库越来越庞大,为了实现工程和推荐效果的平衡,推荐流程一般会分为多个阶段,例如,包括召回,粗排,精排等阶段,整个过程如同漏斗式过滤,逐步精细化排序结果。召回阶段一般通过用户画像和商品标签进行匹配,找到一批用户可能感兴趣的商品集合;基于这一集合,粗排使用一个小规模的模型将商品集合进行排序,找到用户相对更感兴趣的商品,从而交给下一步精排模型。精排模型通过考虑商品丰富的多维度特征,用户的多维度静态特征以及用户各种行为序列,精细化地刻画用户对商品的喜好。精排模型的结果已经相对不错了,早期很多推荐系统的精排结果直接展示给用户。但精排模型一般只考虑了单个商品与用户的相关度,没有考虑多个商品一起展示对用户带来的影响。本说明书实施例,在得到各商品的初始排序后,可以通过推荐系统的重排阶段,得到各商品的重排序,在综合考虑用户对商品的价格、颜色、品类等属性的显性偏好以及用户对商品排序的隐形偏好的条件下,获得用户反馈的最大化,比如提升用户的点击、转化或者是推荐系统的平台收入等。
参照图1,目标对象序列包括9个目标对象,这9个目标对象按照与目标用户的相关度由高到低进行排序,得到的初始排序依次为x1、x2、x3、x4、x5、x6、x7、x8、x9,在该初始排序的基础上,对各目标对象进行重排序,重排序考虑了各目标对象之间的影响,得到的重排序依次为x5、x7、x2、x9、x1、x6、x3、x8、x4,经过实践检验,相对于按初始排序展示目标对象序列,按重排序展示目标对象序列通常能够获得更佳的用户反馈。
图2示出根据一个实施例的向目标用户展示目标对象序列的方法流程图,该方法可以基于图1所示的实施场景。如图2所示,该实施例中向目标用户展示目标对象序列的方法包括以下步骤:步骤21,确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;步骤22,获取所述目标对象序列中各目标对象分别对应的对象特征;步骤23,将各目标对象分别对应的对象特征按照所述初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;步骤24,按照所述重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。下面描述以上各个步骤的具体执行方式。
首先在步骤21,确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序。可以理解的是,在确定初始排序时,针对各目标对象分别确定其与目标用户的相关度,未考虑各目标对象一起展示时对用户带来的影响。
本说明书实施例中,步骤21可以对应于前述对商品排序的精排阶段,具体的确定初始排序的方式不做限定,可以采用通常的确定各目标对象与所述目标用户的相关度的方法,来获得初始排序。
然后在步骤22,获取所述目标对象序列中各目标对象分别对应的对象特征。可以理解的是,上述对象特征可以包括多个类别的特征。
在一个示例中,所述获取所述目标对象序列中各目标对象分别对应的对象特征,包括:
获取所述目标对象序列中各目标对象分别对应的属性特征;
获取各目标对象与所述目标用户的相关度;
获取所述目标用户的用户特征;
根据任一目标对象的属性特征、该目标对象与所述目标用户的相关度、所述目标用户的用户特征,组合成该目标对象对应的对象特征。
可以理解的是,上述对象特征不仅包括目标对象本身的属性特征,还包括目标用户的用户特征。以目标对象为商品为例,上述属性特征可以但不限于包括商品的价格、颜色、品类等,上述用户特征可以但不限于包括用户的年龄、性别、学历等。上述相关度可以是初始排序中确定的各目标对象与所述目标用户的相关度。
接着在步骤23,将各目标对象分别对应的对象特征按照所述初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序。可以理解的是,可以将各目标对象分别对应的对象特征按照所述初始排序依次输入预先训练的重排序模型,或者,将各目标对象分别对应的对象特征按照所述初始排序同时输入预先训练的重排序模型。
在一个示例中,所述重排序模型用于预测所述目标用户对于各目标对象的偏好度,并根据预测的偏好度对各个目标对象进行重排序;
所述重排序模型基于样本对象序列进行训练;所述样本对象序列中的各样本对象具有初始排序;各样本对象具有对应的对象特征,对象特征根据样本对象的属性特征、样本对象与样本用户的相关度、样本用户的用户特征组合而成,样本对象序列具有表示样本用户对各个样本对象的用户偏好的样本标签。
进一步地,所述样本标签根据所述样本用户的历史行为数据而确定。
进一步地,所述历史行为数据包括是否点击的数据,和/或是否转化的数据。
在一个示例中,所述编码器为转换器Transformer网络;所述编码器对于所述各对象特征进行编码,包括:
Transformer网络基于多头注意力机制对所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量。
进一步地,Transformer网络基于多头注意力机制对所述各对象特征进行编码,包括:
确定所述各对象特征分别对应的查询向量、键向量和值向量;
根据第一对象特征对应的查询向量和第二对象特征对应的键向量,确定所述第二对象特征对所述第一对象特征的权重,其中,所述第一对象特征和所述第二对象特征为所述各对象特征中的任意两个对象特征;
根据所述各对象特征对所述第一对象特征的权重和所述各对象特征的值向量,确定所述第一对象特征的编码向量,从而得到所述各对象特征对应的编码向量。
进一步地,所述解码器包括全连接层,回归层和输出层;所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
通过所述全连接层,将所述上下文表征向量处理为第一输出向量,所述第一输出向量具有与各目标对象相同数目的维度;
在所述回归层,对所述第一输出向量施加softmax函数,得到各个目标对象的打分;
通过所述输出层,按照各个目标对象的打分由高到低的顺序,输出所述目标对象序列中各目标对象的重排序。
图3示出根据一个实施例的重排序模型的结构示意图,该重排序模型主要包括Transformer编码器和全连接网络。其中,x1、x2和x3代表目标对象序列中各目标对象的对象特征,可以理解的是,该实施例中以目标对象序列包含3个目标对象为例进行说明,Transformer编码器对于各对象特征进行编码,在充分考虑各对象特征之间的相互影响下得到目标对象序列对应的上下文表征向量。然后,全连接神经网络对上下文表征向量进行处理,输出各目标对象的打分s1、s2和s3,可以理解的是,s1代表x1对应的目标对象的打分,s2代表x2对应的目标对象的打分,s3代表x3对应的目标对象的打分。按照各个目标对象的打分由高到低的顺序,输出所述目标对象序列中各目标对象的重排序。
Transformer编码器依赖于多头自注意力机制,通过反向传播算法优化得到多头自注意力网络。为了更多信息的保留,多头自注意力网络的输出会结合一个残差网络,将结果输出给下一步。残差网络是将模型的原始输入与多头自注意力网络的输出进行一次加和操作。为了确保模型训练过程中的稳定性,不会出现因为数值过大带来的梯度爆炸问题,残差网络后可以接一层层规范化网络,将结果进行同比例放缩,得到更加稳定的数值结果。
以目标对象为商品为例,重排序模型的输入除了商品序列(包括用户信息)外,还包含了每个商品的位置信息。为了建模位置相对关系的影响,还对位置进行了编码,将位置编码与其它特征一起输入到模型中。
该实施例是基于数据驱动的,建模目标与业务目标一致,实现了端到端的解决方案,最大粒度优化了业务目标。并且,建模各目标对象之间长短距离的相互影响,隐式考虑了各目标对象之间的影响,无论是短距离的影响还是长距离的影响,都可以很好的刻画这些关系。基于神经网络模型训练端到端的特性,优化了注意力机制中的相关参数,由于Transformer利用了自注意力机制,商品之间长短影响得到了充分的考虑,从而得到更优的排列方式。
在另一个示例中,所述编码器为循环神经网络(recurrent neural network,RNN);所述编码器对于所述各对象特征进行编码,包括:RNN将所述各对象特征依次进行编码,每次编码得到一个隐层向量,最后一次编码得到的隐层向量为所述目标对象序列对应的上下文表征向量。
进一步地,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
对于当前解码位置,根据当前解码位置的上下文表征向量解码出第一解码向量;
利用注意力机制,分别计算编码中每一次编码得到的隐层向量对所述上下文表征向量的权重,并将每一次编码得到的隐层向量按照对应的权重加权组合,将组合结果叠加到所述第一解码向量上,得到更新隐层向量;
根据解码的更新隐层向量,使用softmax函数,确定各目标对象的概率,根据概率的最大值,解码出当前位置对应的目标对象。
图4示出根据另一个实施例的重排序模型的结构示意图,该重排序模型将自然语言处理中先进的指针网络(pointer network)框架应用到推荐排序中,首先将经过初始排序的目标对象序列输入到RNN中进行编码,获取整体序列对应的上下文表征向量。然后,结合简化的注意力机制,一步一步地选择一个输入序列中最优的目标对象进行输出。这里每一步解码的时候,由于注意力机制的存在,充分考虑了各目标对象之间的相互影响。参照图4,各目标对象的初始排序为x1、x2、x3、x4,s代表解码部分的初始的输入,经过重排序模型得到的重排序为x2、x4、x1、x3。
其中,还可以引入长短期记忆(long short-term memory,LSTM)网络或门控循环单元(gated recurrent unit,GRU)网络等RNN的变形网络来代替RNN。
该实施例中,直接输出重排序后的目标对象序列而不是各目标对象的打分,突破了按照分数倒排的模式,采用了一种端到端的解决方案,对一次展现的数据进行整体建模,通过模型的不断迭代优化,直接输出重排序后的目标对象序列,保证最终的结果是最优展现结果。利用神经网络中的注意力机制,充分考虑上下文的目标对象的对象特征的各个维度的相互影响,通过训练重排序模型可以充分学习到各目标对象间的相互作用,最终的排序结果更为合理。
最后在步骤24,按照所述重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。可以理解的是,上述位置具体为排序位置,当展示目标对象序列时,相应的展示位置可以具有预设的与排序位置的映射关系。
例如,参照图1所示的实施场景,可以将各展示位置从上到下、从左到右依次顺序编号,例如,编号为1至9,对于重排序后的各目标对象,可以根据重排序的顺序,将各目标对象依次对应到各编号的展示位置。
通过本说明书实施例提供的方法,首先确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;然后获取所述目标对象序列中各目标对象分别对应的对象特征;接着将各目标对象分别对应的对象特征按照所述初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;最后按照所述重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。由上可见,本说明书实施例中,在得到上述初始排序后,不是直接根据该初始排序的各目标对象的位置,向所述目标用户展示所述目标对象序列,而是在该初始排序的基础上,通过重排序模型对各目标对象进行重排序,由于重排序模型考虑了各目标对象之间的影响,因此对各目标对象的排序更为合理,能够通过对目标对象的合理排序,从而基于该排序向目标用户展示目标对象序列时,达到用户反馈的最大化。
图5示出根据一个实施例的重排序系统结构示意图。参照图5,该重排序系统包括数据埋点模块51、离线数据模块52、离线训练模块53、模型存储与部署模块54、在线特征服务模块55和在线重排服务模块56,下面以目标对象为商品为例进行说明。
其中,数据埋点模块51主要解决:将用户的曝光、点击、转化以及其它历史行为数据从客户端上收集起来,通过网络传输到服务器上,供离线数据模块52使用。埋点,也有称打点,就是借助埋点代码来采集数据,在需要监测用户行为数据的地方加上一段代码,通过在客户端埋下确定的点,采集相关数据到服务器上。该模块是整个系统中最基础的模块,用于收集用户的历史数据,后续根据用户的历史上对目标对象的反馈数据,基于数据驱动的方法,指导系统更好地给用户推荐目标对象。埋点过程中,系统需要捕捉用户曝光的目标对象序列,曝光每个目标对象的位置,用户点击目标对象的行为或者转化目标对象的行为,用户的其它行为序列等等。当系统拥有更全面的用户数据时,系统就可以更精准的刻画用户偏好,从而更好的满足用户需求。
离线数据模块52主要解决:整理目标对象相关数据和用户相关数据,加工成重排序模型特定的输入格式。数据整理好后需要存储起来,给后续训练重排序模型提供原料。本方案将多个目标对象放到同一行数据中。
离线数据包括用户的曝光数据、点击数据、转化数据、用户的静态特征数据、用户的历史行为数据、商品的特征数据,最终需要将这些数据全部拼接起来,每一行是某个用户的一个曝光序列,对应的有用户的静态特征数据、用户的历史行为数据、商品的特征序列、商品的点击序列标签、商品的转化序列标签,以及相关的序列长度等信息;此外,为了充分利用精排信息,每一行还可以输入精排打分序列。可以理解的是,精排打分序列包括各商品的打分,即用户与各商品的相关度。
每一条曝光数据都有一个轨迹标识(ID),同一次曝光的商品可以通过轨迹ID串联起来;曝光与点击的拼接也可以通过轨迹ID拼接起来;通常采用最后一次曝光数据与转化数据串接,二者可以通过用户和商品拼接起来。
由于用户与商品存在很多离散类特征,比如商品属于什么类别,用户拥有一些什么离散属性等。为了能够将离线的特征数据输入到神经网络模型中,离散特征需要进行ID化处理。具体做法是,将各个离散数值枚举到一张表格中,然后统计各个枚举值出现的次数,将出现次数低于阈值的枚举值从表中去除,然后将表中结果从0开始标号,每一个标号与一个枚举值对应,完成ID化,形成一张特征查找表。然后,处理的数据全部用标号代替。
数据整理完成后,需要对数据进行检查,确保输入模型的数据无误。一般通过一些宏观统计值可以判断整体数据是否处理后有缺失或者有冗余;此外,还可以通过抽取样本的方式来检查。
离线数据最终分为三个部分,第一部分是训练表,用于模型训练,参数更新;第二部分是离线评估表,用于离线评测模型效果,第三部分是特征表,用于离散特征ID的查询以及特征嵌入(embedding)。
训练表和评估表的形式相同,每一行表示一次完整的曝光序列;每一行包括用户的完整特征,以及每个商品的完整特征。此外,根据业务需要,每行还有各个标签的信息。为了方便模型的使用,每一行还增加了商品序列的长度以及每个商品位置。
特征表每行是一个特征ID与特征值的组合,同时为了标志不同特征类型,有一个特征类型的字段。为了构造分组特征,最后一列还记录了特征属于哪一组。除了原始特征,特征数据中还可能包含人工交叉的特征。
离线训练模块53主要解决:构建重排序模型,例如,构建Transformer模型,通过数据驱动的方法,同时考虑商品对于用户的相关性和商品之间的相互作用,产出一个一般化的模型,以指导在线重排模块,产出排序结果提交给用户。
训练模式:由于输入商品序列的长度可能长短不一,为了训练的方便,设置了一个最大序列长度,不足这一长度的序列统一补齐到这一长度。由于补齐的商品不应该对模型训练过程起作用,模型中需要一个掩码,将后面补齐的商品涉及到的输入全部置为0。同时考虑到预估模式下长短不一的问题,这里在模型结构设计的时候,给预估模式构建了一套新的网络,但与训练模式下共用参数。模型损失函数使用了交叉熵函数,各个商品的打分与各个商品的标签(比如点击或者转化)计算交叉熵损失。模型优化采用了小批次随机梯度优化(mini-batch SGD)+动量(momentum)的方法。
预估模式:和训练模式共用一套参数,但输入长度不受到固定长度的限制。为了在线上服务开始之前,验证模型的效果,使用离线数据模块52处理好的评估表,在预估模式下通过模型计算,得到商品新排序结果。然后计算推荐排序中常见指标,得到模型的大致效果,指导模型后续的改进。
当重排序模型采用指针网络框架时,该模块从海量的离线数据中,构建重排序模型,学习出用户对商品的偏好以及商品之间的相互影响,得到一个泛化的模型,以作用于后续的在线服务模块,最终提供排序结果给用户。
在训练模式下,模型输入特征数据,一直计算到解码的前一步,得到上下文表征向量。从解码开始,模型根据注意力机制得到新的解码隐层向量,通过一个softmax函数得到序列中各个商品的概率。该方案采用交叉熵函数,计算当前模型预估的损失;每计算下一步解码的损失的时候,都会使用到上一步的解码结果。为了避免重复解码的问题,如果上一步某个商品已经解码过了,这里的解码概率会减去一个很大的数字,从而将其解码的概率减小到0。最终的损失函数就是将每一步的损失全部加起来。模型优化采用常见的随机梯度优化+动量的方式。
预估模式使用的是训练模式最终优化后的网络参数,大体上与训练模式下的训练类似,需要导入训练好的模型,然后输入特征数据,计算完整个编码过程;然后在解码过程中,需要结合注意力机制依次解码输出各个商品。为了验证模型的有效性,预估的结果需要离线存储起来计算一些常见的推荐排序中的指标,这些指标也侧面指导模型的调优。模型准备完毕之后,需要存储部署到特定的位置,以供后续线上服务使用。
模型存储与部署模块54主要解决:衔接离线训练和线上服务,将离线训练产出的模型保存起来,然后部署到分布式集群上,供后续排序服务使用。
模型存储分为两个阶段,第一个阶段是离线训练过程中,根据离线评估的指标的提升,不断导出更优质的模型,存储在一个临时的可以更改的路径下。第二阶段是,将最终离线评估最优的模型导出到一个特定地址,这个地址权限很高,不能轻易更改,这是为了保障线上服务的稳定性。
模型部署到分布式集群是将存储好的模型拉取到线上分布式服务器的过程。为了确保线上服务质量,模型部署到服务器后需要进行详细测试。通过构造一些简单的请求,包括单条数据和一批数据,确保服务返回的结果是正常的。
在线特征服务模块55主要解决:模型在线上服务阶段获取数据来源的问题,其中数据包括用户特征和商品特征。在线特征服务的特殊性有两个方面。首先,由于用户和商品的特征可能随着时间变化,相对应的数据更新会比较频繁;其次,为了更好的满足用户体验,线上服务模型请求的响应时间需要尽可能短。总之,该模块要求很高的实时性。此外,在线特征服务还会做一些特征转换的工作:由于神经网络模型的输入只能是数值数据,特征平台要根据真实的特征到特征表中查找对应的特征ID,然后输入到模型中;另外,为了提升模型的效果,通常会构造一些人工交叉特征,特征服务平台还需要根据原始特征构造出交叉特征。
在线重排服务模块56主要解决:接收上游的排序结果,通过模型计算出更优的排列组合,将结果返回给用户终端。该模块会直接对用户体验负责,作为核心模块,与其它各个模块都有着密切的联系。当用户向推荐系统发出请求的时候,经过一系列召回精排后,就会开始请求该模块了。该模块的模型来自于离线训练完后模型存储与部署模块54部署的模型,系统会加载到内存中。接着,会请求在线特征服务模块55,以获取模型的输入数据。然后重排序模型计算优质的排列输出,再返回给用户终端。由于模型考虑了商品之间的相互影响,模型请求是一个曝光序列一次请求,直接获取排列结果。与传统的一个商品一次请求的模式相比,本方案有着节省计算资源,加速模型响应时间的优势。
根据另一方面的实施例,还提供一种向目标用户展示目标对象序列的装置,该装置用于执行本说明书实施例提供的向目标用户展示目标对象序列的方法。图6示出根据一个实施例的向目标用户展示目标对象序列的装置的示意性框图。如图6所示,该装置600包括:
第一排序单元61,用于确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;
获取单元62,用于获取所述目标对象序列中各目标对象分别对应的对象特征;
第二排序单元63,用于将所述获取单元62获取的各目标对象分别对应的对象特征按照所述第一排序单元61确定的初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;
展示单元64,用于按照所述第二排序单元63得到的重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。
可选地,作为一个实施例,所述获取单元62包括:
第一获取子单元,用于获取所述目标对象序列中各目标对象分别对应的属性特征;
第二获取子单元,用于获取各目标对象与所述目标用户的相关度;
第三获取子单元,用于获取所述目标用户的用户特征;
组合子单元,用于根据所述第一获取子单元获取的任一目标对象的属性特征、所述第二获取子单元获取的该目标对象与所述目标用户的相关度、所述第三获取子单元获取的所述目标用户的用户特征,组合成该目标对象对应的对象特征。
进一步地,所述重排序模型用于预测所述目标用户对于各目标对象的偏好度,并根据预测的偏好度对各个目标对象进行重排序;
所述重排序模型基于样本对象序列进行训练;所述样本对象序列中的各样本对象具有初始排序;各样本对象具有对应的对象特征,对象特征根据样本对象的属性特征、样本对象与样本用户的相关度、样本用户的用户特征组合而成,样本对象序列具有表示样本用户对各个样本对象的用户偏好的样本标签。
进一步地,所述样本标签根据所述样本用户的历史行为数据而确定。
进一步地,所述历史行为数据包括是否点击的数据,和/或是否转化的数据。
可选地,作为一个实施例,所述编码器为转换器Transformer网络;所述编码器对于所述各对象特征进行编码,包括:
Transformer网络基于多头注意力机制对所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量。
进一步地,Transformer网络基于多头注意力机制对所述各对象特征进行编码,包括:
确定所述各对象特征分别对应的查询向量、键向量和值向量;
根据第一对象特征对应的查询向量和第二对象特征对应的键向量,确定所述第二对象特征对所述第一对象特征的权重,其中,所述第一对象特征和所述第二对象特征为所述各对象特征中的任意两个对象特征;
根据所述各对象特征对所述第一对象特征的权重和所述各对象特征的值向量,确定所述第一对象特征的编码向量,从而得到所述各对象特征对应的编码向量。
进一步地,所述解码器包括全连接层,回归层和输出层;所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
通过所述全连接层,将所述上下文表征向量处理为第一输出向量,所述第一输出向量具有与各目标对象相同数目的维度;
在所述回归层,对所述第一输出向量施加softmax函数,得到各个目标对象的打分;
通过所述输出层,按照各个目标对象的打分由高到低的顺序,输出所述目标对象序列中各目标对象的重排序。
可选地,作为一个实施例,所述编码器为循环神经网络RNN;
所述编码器对于所述各对象特征进行编码,包括:
RNN将所述各对象特征依次进行编码,每次编码得到一个隐层向量,最后一次编码得到的隐层向量为所述目标对象序列对应的上下文表征向量。
进一步地,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
对于当前解码位置,根据当前解码位置的上下文表征向量解码出第一解码向量;
利用注意力机制,分别计算编码中每一次编码得到的隐层向量对所述上下文表征向量的权重,并将每一次编码得到的隐层向量按照对应的权重加权组合,将组合结果叠加到所述第一解码向量上,得到更新隐层向量;
根据解码的更新隐层向量,使用softmax函数,确定各目标对象的概率,根据概率的最大值,解码出当前位置对应的目标对象。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (22)
1.一种向目标用户展示目标对象序列的方法,所述方法包括:
确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;
获取所述目标对象序列中各目标对象分别对应的对象特征;
将各目标对象分别对应的对象特征按照所述初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;
按照所述重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。
2.如权利要求1所述的方法,其中,所述获取所述目标对象序列中各目标对象分别对应的对象特征,包括:
获取所述目标对象序列中各目标对象分别对应的属性特征;
获取各目标对象与所述目标用户的相关度;
获取所述目标用户的用户特征;
根据任一目标对象的属性特征、该目标对象与所述目标用户的相关度、所述目标用户的用户特征,组合成该目标对象对应的对象特征。
3.如权利要求2所述的方法,其中,所述重排序模型用于预测所述目标用户对于各目标对象的偏好度,并根据预测的偏好度对各个目标对象进行重排序;
所述重排序模型基于样本对象序列进行训练;所述样本对象序列中的各样本对象具有初始排序;各样本对象具有对应的对象特征,对象特征根据样本对象的属性特征、样本对象与样本用户的相关度、样本用户的用户特征组合而成,样本对象序列具有表示样本用户对各个样本对象的用户偏好的样本标签。
4.如权利要求3所述的方法,其中,所述样本标签根据所述样本用户的历史行为数据而确定。
5.如权利要求4所述的方法,其中,所述历史行为数据包括是否点击的数据,和/或是否转化的数据。
6.如权利要求1所述的方法,其中,所述编码器为转换器Transformer网络;所述编码器对于所述各对象特征进行编码,包括:
Transformer网络基于多头注意力机制对所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量。
7.如权利要求6所述的方法,其中,Transformer网络基于多头注意力机制对所述各对象特征进行编码,包括:
确定所述各对象特征分别对应的查询向量、键向量和值向量;
根据第一对象特征对应的查询向量和第二对象特征对应的键向量,确定所述第二对象特征对所述第一对象特征的权重,其中,所述第一对象特征和所述第二对象特征为所述各对象特征中的任意两个对象特征;
根据所述各对象特征对所述第一对象特征的权重和所述各对象特征的值向量,确定所述第一对象特征的编码向量,从而得到所述各对象特征对应的编码向量。
8.如权利要求6所述的方法,其中,所述解码器包括全连接层,回归层和输出层;所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
通过所述全连接层,将所述上下文表征向量处理为第一输出向量,所述第一输出向量具有与各目标对象相同数目的维度;
在所述回归层,对所述第一输出向量施加softmax函数,得到各个目标对象的打分;
通过所述输出层,按照各个目标对象的打分由高到低的顺序,输出所述目标对象序列中各目标对象的重排序。
9.如权利要求1所述的方法,其中,所述编码器为循环神经网络RNN;
所述编码器对于所述各对象特征进行编码,包括:
RNN将所述各对象特征依次进行编码,每次编码得到一个隐层向量,最后一次编码得到的隐层向量为所述目标对象序列对应的上下文表征向量。
10.如权利要求9所述的方法,其中,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
对于当前解码位置,根据当前解码位置的上下文表征向量解码出第一解码向量;
利用注意力机制,分别计算编码中每一次编码得到的隐层向量对所述上下文表征向量的权重,并将每一次编码得到的隐层向量按照对应的权重加权组合,将组合结果叠加到所述第一解码向量上,得到更新隐层向量;
根据解码的更新隐层向量,使用softmax函数,确定各目标对象的概率,根据概率的最大值,解码出当前位置对应的目标对象。
11.一种向目标用户展示目标对象序列的装置,所述装置包括:
第一排序单元,用于确定待展示的目标对象序列中各目标对象的初始排序,所述初始排序按照各目标对象与所述目标用户的相关度由高到低进行排序;
获取单元,用于获取所述目标对象序列中各目标对象分别对应的对象特征;
第二排序单元,用于将所述获取单元获取的各目标对象分别对应的对象特征按照所述第一排序单元确定的初始排序输入预先训练的重排序模型,所述重排序模型包括编码器和解码器,所述编码器对于所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序;
展示单元,用于按照所述第二排序单元得到的重排序的各目标对象的位置,向所述目标用户展示所述目标对象序列。
12.如权利要求11所述的装置,其中,所述获取单元包括:
第一获取子单元,用于获取所述目标对象序列中各目标对象分别对应的属性特征;
第二获取子单元,用于获取各目标对象与所述目标用户的相关度;
第三获取子单元,用于获取所述目标用户的用户特征;
组合子单元,用于根据所述第一获取子单元获取的任一目标对象的属性特征、所述第二获取子单元获取的该目标对象与所述目标用户的相关度、所述第三获取子单元获取的所述目标用户的用户特征,组合成该目标对象对应的对象特征。
13.如权利要求12所述的装置,其中,所述重排序模型用于预测所述目标用户对于各目标对象的偏好度,并根据预测的偏好度对各个目标对象进行重排序;
所述重排序模型基于样本对象序列进行训练;所述样本对象序列中的各样本对象具有初始排序;各样本对象具有对应的对象特征,对象特征根据样本对象的属性特征、样本对象与样本用户的相关度、样本用户的用户特征组合而成,样本对象序列具有表示样本用户对各个样本对象的用户偏好的样本标签。
14.如权利要求13所述的装置,其中,所述样本标签根据所述样本用户的历史行为数据而确定。
15.如权利要求14所述的装置,其中,所述历史行为数据包括是否点击的数据,和/或是否转化的数据。
16.如权利要求11所述的装置,其中,所述编码器为转换器Transformer网络;所述编码器对于所述各对象特征进行编码,包括:
Transformer网络基于多头注意力机制对所述各对象特征进行编码,得到所述目标对象序列对应的上下文表征向量。
17.如权利要求16所述的装置,其中,Transformer网络基于多头注意力机制对所述各对象特征进行编码,包括:
确定所述各对象特征分别对应的查询向量、键向量和值向量;
根据第一对象特征对应的查询向量和第二对象特征对应的键向量,确定所述第二对象特征对所述第一对象特征的权重,其中,所述第一对象特征和所述第二对象特征为所述各对象特征中的任意两个对象特征;
根据所述各对象特征对所述第一对象特征的权重和所述各对象特征的值向量,确定所述第一对象特征的编码向量,从而得到所述各对象特征对应的编码向量。
18.如权利要求16所述的装置,其中,所述解码器包括全连接层,回归层和输出层;所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
通过所述全连接层,将所述上下文表征向量处理为第一输出向量,所述第一输出向量具有与各目标对象相同数目的维度;
在所述回归层,对所述第一输出向量施加softmax函数,得到各个目标对象的打分;
通过所述输出层,按照各个目标对象的打分由高到低的顺序,输出所述目标对象序列中各目标对象的重排序。
19.如权利要求11所述的装置,其中,所述编码器为循环神经网络RNN;
所述编码器对于所述各对象特征进行编码,包括:
RNN将所述各对象特征依次进行编码,每次编码得到一个隐层向量,最后一次编码得到的隐层向量为所述目标对象序列对应的上下文表征向量。
20.如权利要求19所述的装置,其中,所述解码器根据所述上下文表征向量输出所述目标对象序列中各目标对象的重排序,包括:
对于当前解码位置,根据当前解码位置的上下文表征向量解码出第一解码向量;
利用注意力机制,分别计算编码中每一次编码得到的隐层向量对所述上下文表征向量的权重,并将每一次编码得到的隐层向量按照对应的权重加权组合,将组合结果叠加到所述第一解码向量上,得到更新隐层向量;
根据解码的更新隐层向量,使用softmax函数,确定各目标对象的概率,根据概率的最大值,解码出当前位置对应的目标对象。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-10中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项的所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885692.8A CN112015788A (zh) | 2020-08-28 | 2020-08-28 | 向目标用户展示目标对象序列的方法和装置 |
US17/349,861 US11386099B2 (en) | 2020-08-28 | 2021-06-16 | Methods and apparatuses for showing target object sequence to target user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885692.8A CN112015788A (zh) | 2020-08-28 | 2020-08-28 | 向目标用户展示目标对象序列的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112015788A true CN112015788A (zh) | 2020-12-01 |
Family
ID=73502486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010885692.8A Pending CN112015788A (zh) | 2020-08-28 | 2020-08-28 | 向目标用户展示目标对象序列的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11386099B2 (zh) |
CN (1) | CN112015788A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094581A (zh) * | 2021-03-30 | 2021-07-09 | 联想(北京)有限公司 | 数据处理方法及设备 |
CN113378546A (zh) * | 2021-06-10 | 2021-09-10 | 电子科技大学 | 一种非自回归的句子排序方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579416B (zh) * | 2022-03-09 | 2024-05-03 | 北京字节跳动网络技术有限公司 | 一种指标确定方法、装置、服务器和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195440A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | Ranking results using multiple nested ranking |
CN101359331A (zh) * | 2008-05-04 | 2009-02-04 | 索意互动(北京)信息技术有限公司 | 对搜索结果重新排序的方法和系统 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
US20200027444A1 (en) * | 2018-07-20 | 2020-01-23 | Google Llc | Speech recognition with sequence-to-sequence models |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103975323A (zh) * | 2011-11-21 | 2014-08-06 | 微软公司 | 搜索结果的基于原型的重排名 |
US10127904B2 (en) * | 2015-05-26 | 2018-11-13 | Google Llc | Learning pronunciations from acoustic sequences |
US9799327B1 (en) * | 2016-02-26 | 2017-10-24 | Google Inc. | Speech recognition with attention-based recurrent neural networks |
-
2020
- 2020-08-28 CN CN202010885692.8A patent/CN112015788A/zh active Pending
-
2021
- 2021-06-16 US US17/349,861 patent/US11386099B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060195440A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | Ranking results using multiple nested ranking |
CN101322125A (zh) * | 2005-12-05 | 2008-12-10 | 微软公司 | 使用多嵌套排序来改善排序结果 |
CN101359331A (zh) * | 2008-05-04 | 2009-02-04 | 索意互动(北京)信息技术有限公司 | 对搜索结果重新排序的方法和系统 |
US20200027444A1 (en) * | 2018-07-20 | 2020-01-23 | Google Llc | Speech recognition with sequence-to-sequence models |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
Non-Patent Citations (1)
Title |
---|
孙肖依;刘华锋;景丽萍;于剑;: "基于列表级排序的深度生成推荐方法", 计算机研究与发展, no. 08, 6 August 2020 (2020-08-06) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094581A (zh) * | 2021-03-30 | 2021-07-09 | 联想(北京)有限公司 | 数据处理方法及设备 |
CN113378546A (zh) * | 2021-06-10 | 2021-09-10 | 电子科技大学 | 一种非自回归的句子排序方法 |
CN113378546B (zh) * | 2021-06-10 | 2022-06-14 | 电子科技大学 | 一种非自回归的句子排序方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220067055A1 (en) | 2022-03-03 |
US11386099B2 (en) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446374B (zh) | 用户意图预测方法、装置、电子设备、存储介质 | |
CN111680217B (zh) | 内容推荐方法、装置、设备及存储介质 | |
CN112015788A (zh) | 向目标用户展示目标对象序列的方法和装置 | |
WO2021027256A1 (zh) | 处理交互序列数据的方法及装置 | |
CN111241394B (zh) | 数据处理方法、装置、计算机可读存储介质及电子设备 | |
US20210103858A1 (en) | Method and system for model auto-selection using an ensemble of machine learning models | |
CN111651692A (zh) | 基于人工智能的信息推荐方法、装置及电子设备 | |
CN110458638B (zh) | 一种商品推荐方法及装置 | |
EP2860672A2 (en) | Scalable cross domain recommendation system | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN114186084A (zh) | 在线多模态哈希检索方法、系统、存储介质及设备 | |
CN113627995A (zh) | 商品推荐列表更新方法及其装置、设备、介质、产品 | |
CN111915414B (zh) | 向目标用户展示目标对象序列的方法和装置 | |
CN113705698B (zh) | 基于点击行为预测的信息推送方法及装置 | |
CN111340605B (zh) | 训练用户行为预测模型、用户行为预测的方法和装置 | |
CN113032676B (zh) | 基于微反馈的推荐方法和系统 | |
CN114445121A (zh) | 一种广告点击率预测模型构建及广告点击率预测方法 | |
US20220198487A1 (en) | Method and device for processing user interaction information | |
CN113449182A (zh) | 一种知识信息个性化推荐方法及系统 | |
CN115760201B (zh) | 智能销售线索推荐理由生成方法及系统 | |
CN113254795A (zh) | 一种推荐模型的训练方法和装置 | |
CN112989174A (zh) | 信息推荐方法及装置、介质和设备 | |
CN113486248A (zh) | 一种应用程序中功能模块的推荐方法及装置 | |
CN113641915A (zh) | 对象的推荐方法、装置、设备、存储介质和程序产品 | |
CN110706772A (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 |