CN112085293A - 训练交互预测模型、预测交互对象的方法及装置 - Google Patents

训练交互预测模型、预测交互对象的方法及装置 Download PDF

Info

Publication number
CN112085293A
CN112085293A CN202010989982.7A CN202010989982A CN112085293A CN 112085293 A CN112085293 A CN 112085293A CN 202010989982 A CN202010989982 A CN 202010989982A CN 112085293 A CN112085293 A CN 112085293A
Authority
CN
China
Prior art keywords
node
vector
attribute
graph
coding
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.)
Granted
Application number
CN202010989982.7A
Other languages
English (en)
Other versions
CN112085293B (zh
Inventor
常晓夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010989982.7A priority Critical patent/CN112085293B/zh
Publication of CN112085293A publication Critical patent/CN112085293A/zh
Application granted granted Critical
Publication of CN112085293B publication Critical patent/CN112085293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/045Combinations of networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Development Economics (AREA)
  • Medical Informatics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种交互预测模型的训练和使用方法及装置。在该训练方法中,首先基于交互事件序列构建动态交互图,从中确定出对应于当前交互事件的第一节点和第二节点,且第一节点指向参与的上一交互事件对应的两个历史节点。利用图编码网络,获取两个历史节点对应的编码向量;并将编码向量和两个交互事件各自的发生时刻输入预测表征网络,得到第一节点的第一表征向量。此外,还将第二节点的属性特征输入属性编码网络,得到第二属性向量。于是,根据第一表征向量和第二属性向量,预测交互概率,并据此确定损失,更新上述图编码网络,预测表征网络和属性编码网络。

Description

训练交互预测模型、预测交互对象的方法及装置
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及训练交互预测模型,以及利用训练的交互预测模型来预测交互对象的方法和装置。
背景技术
在许多场景下,需要对用户交互事件进行分析和处理。交互事件是互联网事件的基本组成元素之一,例如,用户浏览页面时的点击行为,可以视为用户与页面内容区块之间的交互事件,电商中的购买行为可以视为用户与商品之间的交互事件,账户间转账行为则是用户与用户之间的交互事件。用户的一系列交互事件中蕴含了用户的细粒度习惯偏好等特点,以及交互对象的特点,是机器学习模型的重要特征来源。因此,在许多场景下,希望根据交互事件对交互参与方进行特征表达和建模,进而对交互对象和事件进行分析,特别是对交互事件的安全性进行分析,从而保障交互平台的安全性。
然而,交互事件涉及交互双方,并且各个参与方本身的状态可以是动态变化的,因此,综合考虑交互参与方的多方面特点对其进行准确的特征表达非常困难。由此,希望能有改进的方案,更为有效地对交互对象和交互事件进行分析处理。
发明内容
本说明书一个或多个实施例描述了一种交互预测模型的训练方法和装置,其中基于动态交互图,利用对比学习的方式,训练得到交互预测模型,从而可以更准确地针对目标对象预测其未来的交互对象。
根据第一方面,提供了一种训练交互预测模型的方法,所述方法包括:
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
从所述动态交互图中选择对应于第一交互事件的第一节点对,所述第一节点对包括第一节点和第二节点,所述第一交互事件发生于第一时刻;所述第一节点通过连接边指向对应于第二交互事件的第二节点对,所述第二节点对包括第三节点和第四节点,所述第二交互事件发生于第二时刻;
利用图编码网络,基于所述动态交互图,获取所述第三节点对应的第三编码向量,所述第四节点对应的第四编码向量;
将所述第三编码向量,第四编码向量,第一时刻,第二时刻输入第一预测表征网络,得到所述第一节点在第一时刻的第一表征向量;
将所述第二节点对应的对象的属性特征输入第一属性编码网络,得到所述第二节点对应的第二属性向量;
根据所述第一表征向量和第二属性向量,得到第一节点与第二节点交互的第一概率,至少根据所述第一概率确定第一预测损失,所述第一预测损失与所述第一概率负相关;
以减小所述第一预测损失为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络,以训练所述交互预测模型。
根据一种实施方式,通过以下方式获取第三节点对应的第三编码向量:以所述第三节点为根节点,在所述动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的子图;将所述子图输入所述图编码网络,所述图编码网络根据所述子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为所述第三编码向量。
进一步的,在一个实施例中,图编码网络可以包括LSTM层,所述LSTM层将所述子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。
在另一实施例中,图编码网络可以根据所述子图中各个节点之间的连接关系,确定各个节点相对于所述第三节点的注意力权重;然后根据所述注意力权重,对所述各个节点的节点属性特征进行聚合,得到所述第三编码向量。
根据一个实施例,得到第一节点在第一时刻的第一表征向量的步骤可以包括:计算所述第一时刻和第二时刻之间的时间差值;将所述第三编码向量,第四编码向量和所述时间差值拼接,得到拼接向量;在所述第一预测表征网络中,利用第一参数矩阵处理所述拼接向量,并对处理结果施加非线性函数,得到所述第一表征向量。
根据不同实施例,第一概率可以通过如下方式确定:计算所述第一表征向量和第二属性向量之间的相似度,根据所述相似度得到所述第一概率,所述第一概率正相关于所述相似度;或者,计算所述第一表征向量和第二属性向量之间的距离,根据所述距离得到所述第一概率,所述第一概率负相关于所述距离。
根据一个实施例,上述方法还包括,从所述动态交互图中采样多个第一负样本节点,所述第一负样本节点为所述第二节点之外的其他节点;将各个第一负样本节点对应的对象的属性特征分别输入所述第一属性编码网络,得到各个第一负样本节点分别对应的各个第一负样本向量;根据所述第一表征向量和各个第一负样本向量,得到各个第三概率。在这样的情况下,可以根据所述第一概率和各个第三概率,确定第一预测损失,所述第一预测损失与各个第三概率之和正相关。
根据一个实施例,所述第二节点通过连接边指向对应于第三交互事件的第三节点对,所述第三节点对包括第五节点和第六节点,所述第三交互事件发生于第三时刻;所述方法还包括:利用所述图编码网络,基于所述动态交互图,获取第五节点对应的第五编码向量,第六节点对应的第六编码向量;将所述第五编码向量,第六编码向量,第一时刻,第三时刻输入所述第一预测表征网络,得到所述第二节点在第一时刻的第二表征向量;将所述第一节点对应的对象的属性特征输入所述第一属性编码网络,得到所述第一节点对应的第一属性向量;根据所述第二表征向量和第一属性向量,得到第二节点与第一节点交互的第二概率,至少根据所述第二概率确定第二预测损失,所述第二预测损失与所述第二概率负相关;以所述第二预测损失减小为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络。
根据一种实施方式,所述动态交互图中每个节点对中的两个节点分别表示参与该交互事件的第一类对象和第二类对象;所述第一节点属于第一类对象,所述第二节点属于第二类对象。
进一步的,在一个实施例中,所述第一类对象和第二类对象分别为用户对象和物品对象;所述用户对象的属性特征包括以下中的至少一项:年龄、职业、教育程度、所在地区、注册时长、人群标签;所述物品对象的属性特征包括以下中的至少一项:物品类别、上架时间、销量、评论数。
在一个实施例中,所述第二节点通过连接边指向对应于第三交互事件的第三节点对,所述第三节点对包括第五节点和第六节点,所述第三交互事件发生于第三时刻;所述方法还包括:利用所述图编码网络,基于所述动态交互图,获取第五节点对应的第五编码向量,第六节点对应的第六编码向量;将所述第五编码向量,第六编码向量,第一时刻,第三时刻输入第二预测表征网络,得到所述第二节点在第一时刻的第二表征向量;将所述第一节点对应的对象的属性特征输入第二属性编码网络,得到所述第一节点对应的第一属性向量;根据所述第二表征向量和第一属性向量,得到第二节点与第一节点交互的第二概率,至少根据所述第二概率确定第二预测损失,所述第二预测损失与所述第二概率负相关;以所述第二预测损失减小为目标,更新所述图编码网络,所述第二预测表征网络和所述第二属性编码网络。
在一个进一步的实施例中,所述方法还包括,从所述动态交互图中采样多个第二负样本节点,所述第二负样本节点为所述第一节点之外的其他节点;将各个第二负样本节点对应的对象的属性特征输入所述第二属性编码网络,得到各个第二负样本节点分别对应的各个第二负样本向量;根据所述第二表征向量和各个第二负样本向量,得到各个第四概率;所述至少根据所述第二概率确定第二预测损失的步骤,包括:根据所述第二概率和各个第四概率,确定第二预测损失,所述第二预测损失与各个第四概率之和正相关。
根据第二方面,提供了一种预测交互对象的方法,所述方法包括:
获取根据第一方面的方法训练的交互预测模型,其中包括图编码网络,第一预测表征网络和第一属性编码网络;
针对有待评估的目标对象,从动态交互图中确定出所述目标对象参与的最近一次交互事件所对应的目标节点对,所述目标节点对包括与所述目标对象对应的目标节点,和与之交互的关联节点,且所述最近一次交互事件发生于第一过去时刻;
利用所述图编码网络,基于所述动态交互图,获取所述目标节点对应的目标编码向量,关联节点对应的关联编码向量;
将所述目标编码向量,关联编码向量,第一过去时刻,待预测的第二未来时刻输入所述第一预测表征网络,得到所述目标节点在第二未来时刻的未来表征向量;
将备选对象集合中各个备选对象的属性特征输入所述第一属性编码网络,得到对应的各个备选属性向量;
根据所述未来表征向量和各个备选属性向量,从所述各个备选对象中确定出预测对象,作为在所述第二未来时刻将与所述目标对象交互的对象。
根据第三方面,提供了一种训练交互预测模型的装置,所述装置包括:
动态图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
节点选择单元,配置为从所述动态交互图中选择对应于第一交互事件的第一节点对,所述第一节点对包括第一节点和第二节点,所述第一交互事件发生于第一时刻;所述第一节点通过连接边指向对应于第二交互事件的第二节点对,所述第二节点对包括第三节点和第四节点,所述第二交互事件发生于第二时刻;
图编码单元,配置为利用图编码网络,基于所述动态交互图,获取所述第三节点对应的第三编码向量,所述第四节点对应的第四编码向量;
向量表征单元,配置为将所述第三编码向量,第四编码向量,第一时刻,第二时刻输入第一预测表征网络,得到所述第一节点在第一时刻的第一表征向量;
属性编码单元,配置为将所述第二节点对应的对象的属性特征输入第一属性编码网络,得到所述第二节点对应的第二属性向量;
损失确定单元,配置为根据所述第一表征向量和第二属性向量,得到第一节点与第二节点交互的第一概率,至少根据所述第一概率确定第一预测损失,所述第一预测损失与所述第一概率负相关;
更新单元,配置为以减小所述第一预测损失为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络,以训练所述交互预测模型。
根据第四方面,提供了一种预测交互对象的装置,所述装置包括:
模型获取单元,配置为获取根据第三方面的装置训练得到的交互预测模型,其中包括图编码网络,第一预测表征网络和第一属性编码网络;
目标节点获取单元,配置为针对有待评估的目标对象,从动态交互图中确定出所述目标对象参与的最近一次交互事件所对应的目标节点对,所述目标节点对包括与所述目标对象对应的目标节点,和与之交互的关联节点,且所述最近一次交互事件发生于第一过去时刻;
图编码单元,配置为利用所述图编码网络,基于所述动态交互图,获取所述目标节点对应的目标编码向量,关联节点对应的关联编码向量;
向量表征单元,配置为将所述目标编码向量,关联编码向量,第一过去时刻,待预测的第二未来时刻输入所述第一预测表征网络,得到所述目标节点在第二未来时刻的未来表征向量;
属性编码单元,配置为将备选对象集合中各个备选对象的属性特征输入所述第一属性编码网络,得到对应的各个备选属性向量;
对象预测单元,配置为根据所述未来表征向量和各个备选属性向量,从所述各个备选对象中确定出预测对象,作为在所述第二未来时刻将与所述目标对象交互的对象。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
根据本说明书实施例提供的方法和装置,基于交互事件序列构建动态交互图,并基于这样的动态交互图,训练交互预测模型。在模型训练过程中,利用时序对比学习的思想,对于某个样本节点来说,根据其之前参与的历史交互事件对应的历史节点,确定其当前表征向量,以此预测当前交互,并据此对交互预测模型进行训练。在训练得到交互预测模型后,根据对比学习的思想,可以根据待分析对象当前参与的交互事件预测其未来的表征向量,从而预测未来交互。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的实施场景示意图;
图2示出根据一个实施例的训练交互预测模型的方法流程图;
图3示出根据一个实施例的动态交互序列和由此构建的动态交互图;
图4示出选取样本节点和相关节点进行训练的示意图;
图5示出以第三节点为根节点形成的子图的示例;
图6示出在一个实施例中针对两类对象的训练过程示意图;
图7示出在一个实施例中针对两类对象的训练过程流程图;
图8示出根据一个实施例预测交互对象的方法流程图;
图9示出预测交互对象的示意图;
图10示出根据一个实施例的交互预测模型的训练装置的示意性框图;
图11示出根据一个实施例的预测交互对象的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,希望能够基于交互对象发生的一系列交互事件,对交互对象以及交互事件进行特征表达和建模。
在一种方案中,基于历史交互事件构建静态的交互关系网络图,从而基于该交互关系网络图,分析各个交互对象和各个交互事件。具体地,可以以各个历史事件的参与者作为节点,在存在交互关系的节点之间建立连接边,从而形成交互网络图。然而,以上的静态网络图,尽管可以示出对象之间的交互关系,但是没有包含这些交互事件的时序信息。简单地基于这样的交互关系网络图进行图嵌入,获得的特征向量也没有表达出交互事件的时间信息对节点的影响。并且,这样的静态图可扩展性不够强,对于新增交互事件和新增节点的情况,难以灵活进行处理。
考虑到以上因素,根据本说明书的一个或多个实施例,将动态变化的交互事件序列构建成动态交互图,其中各个交互事件中涉及的各个交互对象对应于该动态交互图中的各个节点。这样的动态交互图可以反映出各个交互对象所经历的交互事件的时序信息。进一步地,为了基于上述动态交互图进行交互事件的分析和预测,在本说明书的实施例中,利用时序上对比学习的方式,训练交互预测模型。具体的,对于某个对象,利用交互预测模型,根据它过去参与的交互事件,得到当前时刻的表征,基于其当前参与的交互事件训练上述表征方式。如此,在经过训练后,交互预测模型就可以根据待评估对象当前参与的交互事件,得到其未来时刻的表征,从而预测未来的交互对象。
图1示出根据一个实施例的实施场景示意图。如图1所示,可以将依次发生的多个交互事件按时间顺序组织成动态交互序列<E1,E2,…,EN>,其中每个元素Ei表示一个交互事件,可以表示为交互特征组的形式Ei=(ai,bi,ti),其中ai和bi是事件Ei的两个交互对象,ti是交互时间。
根据本说明书的实施例,基于该动态交互序列构建动态交互图。在动态交互图中,将各个交互事件中的各个交互对象ai,bi用节点表示,并在包含同一对象的连续事件的节点之间建立父子关系连接边。动态交互图的结构将在后续进行更具体的描述。
为了更有效地进行节点分析和事件分析,训练交互预测模型,其中包括图编码网络,预测表征网络,属性编码网络。在对比学习过程中,对于动态交互图中当前交互事件涉及的某个节点u,首先确定出其连接的历史交互事件的历史节点(例如表示为u1,u2),和当前交互节点v。通过图编码网络,基于动态交互图的图结构,将历史节点(u1,u2)编码为编码向量,然后,通过预测表征网络,基于历史节点的编码向量,历史时间和当前交互时间,得到节点u当前时刻的预测表征向量Hu。另外,通过属性编码网络对当前交互节点v的属性特征进行编码,得到属性向量Ev。于是可以基于预测表征向量Hu和属性向量Ev,确定节点u和v当前交互的概率,据此训练整个交互预测模型。如此,通过对时序上先后发生的历史时刻和当前时刻的对比学习,可以实现模型的训练;根据训练后的模型,可以基于当前时刻预测未来时刻的节点表征,从而预测未来的交互对象。
下面描述以上构思的具体实现方式。
图2示出根据一个实施例的训练交互预测模型的方法流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。下面结合具体实施例,对如图2所示的训练方法中的各个步骤进行描述。
首先,在步骤21,获取用于反映交互事件关联关系的动态交互图。
一般地,可以如前所述将依次发生的多个交互事件按时间顺序组织成交互事件序列,基于这样的交互事件序列构建动态交互图,以此反映交互事件的关联关系。交互事件序列,例如表示为<E1,E2,…,EN>,可以包括按照时间顺序排列的多个交互事件,其中每个交互事件Ei可以表示为一个交互特征组Ei=(ai,bi,ti),其中ai和bi是事件Ei的两个交互对象,ti是交互时间。
在一个实施例中,每个交互事件涉及的两个交互对象分属于两类对象,以下称为第一类对象和第二类对象。例如,在电商平台中,交互事件可以是用户的购买行为,其中的两个对象可以是用户对象(第一类对象)和商品对象(第二类对象)。在另一例子中,交互事件可以是用户对页面区块的点击行为,其中的两个对象可以是用户对象(第一类对象)和页面区块对象(第二类对象)。在又一例子中,交互事件可以是推荐事件,例如一个用户(第一类对象)接受了向其推送的推荐内容(第二类对象),推荐内容具体可以是各种可以推送的内容,例如,一部电影,一件商品,一篇文章,等等。在其他业务场景中,交互事件还可以是其他在两个不同类的对象之间发生的交互行为。需要理解,尽管以上例子中,都是将用户对象作为第一类对象,但是这并不是必然的,第一类对象和第二类对象的设定可以根据交互事件而定,有些交互事件并不包含用户对象,而在包含用户对象的交互事件中,也可以将用户对象作为第二类对象。
对于以上所述的动态交互序列,可以构建动态交互图。具体的,用一对节点(两个节点)表示一个交互事件涉及的两个对象,将动态交互序列中各个交互事件中的各个对象分别用节点表示。在交互事件涉及两类对象的情况下,一个节点对的两个节点分别表示,参与一个交互事件的一个第一类对象和一个第二类对象。需要理解,一个节点可以对应到一个交互事件中的一个对象,但是同一物理对象可能对应到多个节点。例如,如果用户U1在t1时刻购买了商品A1,在t2时刻购买了商品A2,那么存在两个交互事件的特征组(U1,A1,t1)和(U1,A2,t2),那么则根据这两个交互事件分别为用户U1创建两个节点U1(t1),U1(t2)。因此可以认为,动态交互图中的节点对应于一个交互对象在一次交互事件中的状态。
对于动态交互图中的每个节点,按照以下方式构建连接边:对于任意节点i,假定其对应于交互事件i(交互时间为t),那么在动态交互序列中,从交互事件i向前回溯,也就是向早于交互时间t的方向回溯,将第一个同样包含节点i代表的对象的交互事件j(交互时间为t-,t-早于t)确定为该对象参与的上一交互事件。于是,建立从节点i指向该上一交互事件j中的两个节点的连接边。于是,这两个被指向的节点也称为节点i的关联节点。
下面结合具体例子进行描述。图3示出根据一个实施例的动态交互序列和由此构建的动态交互图。具体的,图3左侧示出按照时间顺序组织的动态交互序列,其中示例性示出分别在t1,t2,…,t6时刻发生的交互事件E1,E2,…,E6,每个交互事件包含交互涉及的两个交互对象以及交互时间(为了图示的清楚,省去了事件特征),其中第一列对象为用户类对象,例如David,Lucy等,第二列对象为物品类对象,例如可以是一些电影名字,在图中用M1到M4表示。图3右侧示出根据左侧的动态交互序列构建的动态交互图,其中,将各个交互事件中的两个交互对象分别作为节点。并且,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点。例如,节点u(t6)代表交互事件E6中的用户对象David,该用户参与的上一交互事件为E4,于是,节点u(t6)通过连接边指向E4对应的两个节点u(t4)和w(t4)。类似的,u(t4)指向E2对应的两个节点,等等。如此,在节点之间构建连接边,从而形成图3的动态交互图。
以上描述了基于动态交互序列构建动态交互图的方式和过程。对于图2所示的训练过程而言,构建动态交互图的过程可以预先进行也可以现场进行。相应地,在一个实施例中,在步骤21,根据动态交互序列现场构建动态交互图。构建方式如以上所述。在另一实施例中,可以预先基于动态交互序列构建形成动态交互图。在步骤21,读取或接收已形成的动态交互图。
在获取到上述动态交互图的基础上,在步骤22,从图中选择对应于第一交互事件的第一节点对,所述第一节点对包括第一节点和第二节点,所述第一交互事件发生于第一时刻;所述第一节点通过连接边指向对应于第二交互事件的第二节点对,所述第二节点对包括第三节点和第四节点,所述第二交互事件发生于第二时刻。
需要说明的是,以上的第一节点对是为了训练模型而选取的已知发生交互并且已知其交互时间的一对节点,其中的两个节点分别称为第一节点和第二节点,其中第一节点作为本次训练的样本节点。基于时序对比学习的思想,还获取作为样本节点的第一节点的历史节点,也就是,第一节点通过连接边指向的第二节点对中的两个节点,即第三节点和第四节点。需要理解的是,根据以上所述的动态交互图的特点,第二节点对对应的第二交互事件,是第一节点代表的对象所参与的上一交互事件。假定第一交互事件发生于第一时刻,第二交互事件发生于第二时刻,则第二时刻早于第一时刻。
例如,在图3中,假定选取了u(t6)作为样本节点,即第一节点,那么与其形成节点对的v(t6)则为第二节点,事件E6为第一交互事件,时刻t6为第一时刻。第一节点u(t6)通过连接边指向的两个历史节点为u(t4)和w(t4),这两个节点分别为第三节点和第四节点,事件E4对应于第二交互事件,时刻t4为第二时刻。
图4示出选取样本节点和相关节点进行训练的示意图。在图4的示意图和以下描述中,为了描述的简单,将第一节点简单表示为节点u,第二节点表示为节点v,第一节点的两个历史节点,即第三节点和第四节点,分别表示为u1和u2。第一时刻表示为t,第二时刻表示为tu-。
接着,如图2的步骤23和图4中所示,利用图编码网络,基于上述动态交互图,获取第三节点u1对应的第三编码向量hu1,第四节点u2对应的第四编码向量hu2
需要理解,图编码网络用于基于动态交互图的图结构和节点之间的连接关系,对其中任意的指定节点进行编码。为此,可以首先获取包含指定节点的子图,将其输入图编码网络,图编码网络基于该子图将指定节点编码为节点向量。下面以第三节点u1为例,描述图编码网络的实现方式和编码过程。
在一个实施例中,当需要对第三节点进行编码时,可以首先以该第三节点为根节点,在动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的子图;然后将该子图输入图编码网络,图编码网络根据子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为第三节点对应的第三编码向量。
延续图3的例子进行说明。如前所述,当将u(t6)作为第一节点,u(t4)可以作为第三节点。图5示出以第三节点为根节点形成的子图的示例。在图5中,以该节点u(t4)为根节点,沿父子关系的连接边指向进行遍历,确定预定范围内的节点。在图4例子中,假定上述预定范围为,至多经由预设数目K=2的连接边到达的子节点。那么,从当前根节点u(t4)出发,经由2条连接边可以达到的节点如图中虚线区域所示。该区域中的节点和连接关系即为第三节点u(t4)对应的子图。可以理解,在其他例子中,还可以以其他方式设置上述预定范围,例如包括向前回溯预定时长,等等。
在得到针对第三节点u1的子图的基础上,可以将这样的子图输入图编码网络。图编码网络于是根据输入子图中各个节点的节点属性特征以及节点之间的连接关系,输出第三节点u1的隐向量作为对应的第三编码向量hu1
在一个例子中,图编码网络可以是通过图嵌入的方式进行图处理的图神经网络,例如图卷积神经网络GNN。在图嵌入过程中,根据节点之间的连接关系,将输入子图中各个节点作为根节点的K阶邻居节点,进行邻居节点聚合,得到根节点的隐向量作为其编码向量。
在一个具体例子中,图编码网络用于,根据子图中各个节点之间的连接关系,确定各个节点相对于根节点(上述例子中的第三节点)的注意力权重;根据所述注意力权重,对所述各个节点的节点属性特征进行聚合,得到根节点的隐向量作为其编码向量,即第三编码向量。
在另一例子中,图编码网络可以包含时间递归层,例如循环神经网络RNN层,或长短期记忆LSTM层,从而通过递归迭代的方式,对以目标节点为根节点的子图进行图处理。具体的,在一个实施例中,图编码网络包括LSTM层,LSTM层将输入子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。通过从叶节点到根节点的迭代处理,最终得到根节点的隐向量作为其编码向量。
以上提及的节点属性特征根据节点代表的不同类对象而有所不同。例如,在节点表示用户的情况下,节点属性特征可以包括用户的属性特征,例如年龄、职业、教育程度、所在地区、注册时长、人群标签等等;在节点表示物品的情况下,节点属性特征可以包括物品的属性特征,例如物品类别、上架时间、销量、评论数等等。在节点表示其他交互对象的情况下,可以相应的基于交互对象自身的属性,得到节点属性特征。
于是,通过以上各种方式,图编码网络针对第三节点u1进行编码表征,将其编码为第三编码向量hu1。类似的,对于上述第四节点u2,图编码网络可以类似的进行编码表征,得到其对应的第四编码向量hu2
然后,如图2的步骤24和图4所示,将上述第三编码向量hu1,第四编码向量hu2,第一时刻t,第二时刻tu-输入第一预测表征网络,得到第一节点u在第一时刻t的第一表征向量Hu。
这里,将第一预测表征网络的计算过程表示为函数φ1,那么第一表征向量Hu可以表示为:
Hu=φ1(hu1,hu2,t,tu-) (1)
在不同实施例中,函数φ1可以有不同的具体形式。例如,在一个具体例子中,函数φ1可以进一步表示为:
φ1(hu1,hu2,t,tu-)=SoftPlus(W1[hu1;hu2;t-tu-]) (2)
其中,符号;表示拼接。公式(2)表示,将第三编码向量hu1,第四编码向量hu2,第一时刻t和第二时刻tu-输的差值t-tu-进行拼接,用网络参数W1处理拼接后的向量,再对处理结果施加SoftPlus函数,得到第一表征向量。
在其他例子中,函数φ1还可以具有其他形式,例如采用softmax函数,sigmoid函数,tanh函数等其他非线性函数。
另一方面,如图2的步骤25和图4所示,将第二节点v对应的对象的属性特征输入第一属性编码网络,得到第二节点v对应的第二属性向量Ev。
这里,将第一属性编码网络的计算过程表示为函数Ψ1,那么第二属性向量Ev可以表示为:
Ev=Ψ1(xv) (3)
其中,xv为第二节点v代表的对象的属性特征。例如,当第二节点v代表用户对象时,其对应的属性特征可以包括:年龄、职业、教育程度、所在地区、注册时长、人群标签,等等;当第二节点v代表物品对象时,其对应的属性特征包括:物品类别、上架时间、销量、评论数,等等。并且,函数Ψ1可以是神经网络可以实现的各种函数形式。
接着,在步骤26,根据第一表征向量Hu和第二属性向量Ev,得到第一节点u与第二节点v交互的第一概率P1,至少根据第一概率P1确定第一预测损失L1,其中第一预测损失L1与第一概率负相关。
具体的,在一个实施例中,可以计算第一表征向量Hu和第二属性向量Ev之间的相似度,根据相似度得到第一概率P1,第一概率正相关于上述相似度。在一个具体例子中,可以计算第一表征向量Hu和第二属性向量Ev之间的点乘作为其相似度,按照下式(4)确定第一概率P1:
P1∝Hu·Ev (4)
在另一具体例子中,可以计算Hu和Ev之间的余弦相似度,并据此确定第一概率P1,使其正比于该余弦相似度。
在另一实施例中,可以计算第一表征向量Hu和第二属性向量Ev之间的距离,例如欧式距离,余弦距离等,根据该距离得到第一概率P1,使得第一概率负P1相关于所述距离。
进一步的,在一个实施例中,可以将第一预测损失L1确定为:
L1=-logP1=-log(Hu·Ev) (5)
在其他例子中,第一预测损失还可以具有其他形式。
然后,在步骤27,以减小第一预测损失L1为目标,更新图编码网络,第一预测表征网络和第一属性编码网络,以训练交互预测模型。可以理解,由于第一预测损失L1与第一概率P1负相关,第一预测损失L1的减小意味着第一概率P1的增大,以此为目标调整图编码网络,第一预测表征网络和第一属性编码网络,可以得到各个节点更好的表征方式,这样的表征方式可以更好地反映节点的实际交互情况。
可以理解,以上的第二节点v是在t时刻与作为样本的第一节点u真实发生交互的节点,对于模型训练来说属于第一节点对应的正样本。为了更好地对模型进行训练,在一个实施例中,还针对第一节点采样一些负样本节点,基于正负样本两个方面,更好地训练交互预测模型。
具体的,根据一种实施方式,从动态交互图中采样多个第一负样本节点w,其中的第一负样本节点为第二节点v之外的其他节点。然后,将各个第一负样本节点w对应的对象的属性特征分别输入上述第一属性编码网络,得到各个第一负样本节点w分别对应的各个第一负样本向量Ew。接着,根据第一节点u对应的第一表征向量Hu和各个第一负样本向量Ew,得到各个第三概率P3。
在此基础上,上述步骤26,可以基于第一概率P1和各个第三概率P3确定第一预测损失L1,使得第一预测损失L1除了与第一概率P1负相关,还与各个第三概率P3之和正相关。
在一个具体例子中,第一预测损失L1可以确定为:
Figure BDA0002690543750000171
其中,Hu·Ev对应于第一概率,Hu·Ew对应于第三概率。
相应的,在步骤27中,训练的目标为,增大第一概率的同时,减小第三概率,也就是说,对于真实交互的节点对,给出更高的预测概率,对于负样本节点,给出更低的预测概率。
如此,通过以上过程训练的图编码网络、第一预测表征网络和第一属性编码网络即可构成交互预测模型,用于进行节点未来状态的表征预测。
以上结合图2和图4描述了以第一节点u为样本节点,根据其历史节点确定其当前的表征向量,据此训练模型的过程。可以理解,可以利用动态交互图中的任意节点作为样本节点进行上述训练。在一个实施例中,在以节点u为样本节点进行训练之后,还可以交换图4中第一节点u和第二节点v的位置,以第二节点v为样本节点,继续进行模型的训练。
在一个实施例中,当以第二节点v为样本节点时,可以完全参照以上过程进行类似的训练。具体的,可以获取第二节点v所连接到的上一交互事件(第三交互事件,发生于第三时刻tv-)的历史节点,称为第五节点和第六节点,记为v1和v2。类似的,利用图编码网络,基于动态交互图,得到第五节点和第六节点对应的第五和第六编码向量hv1和hv2。然后,将第五和第六编码向量hv1和hv2,第一时刻t,第三时刻tv-输入到第一预测表征网络,得到第二节点v在第一时刻的第二表征向量Hv。另一方面,将第一节点u代表的对象的属性特征输入第一属性编码网络,得到对应的第一属性向量Eu。类似的,基于第二表征向量Hv和第一属性向量Eu,确定第二节点v和第一节点u交互的第二概率P2,并据此确定第二预测损失,该预测损失与第二概率负相关。由此,在减小第二预测损失的方向,继续调整和更新图编码网络,第一预测表征网路和第一属性编码网络。
在另一实施例中,如前所述,动态交互图中的每个节点对中的两个节点,对应于两个不同类型的对象,第一类对象和第二类对象,例如,用户对象和物品对象。考虑到两个不同类型的对象在属性特征上的不同,在一个实施例中,针对两种不同类的对象,分别设计其对应的预测表征网络和属性编码网络。在这样的情况下,假定上述第一节点u为第一类对象,第二节点v为第二类对象,那么图4所示的第一预测表征网络可以视为针对第一类对象的预测表征网络,第一属性编码网络可以视为针对第二类对象的属性编码网络。在如图4所示以第一节点u为样本节点训练之后,可以将第二节点v作为样本节点,利用针对第二类对象设计的第二预测表征网络和针对第一类对象设计的第二属性编码网络,继续进行模型训练。下面结合图6和图7描述该过程。
图6示出在一个实施例中针对两类对象的训练过程示意图,图7示出在一个实施例中针对两类对象的训练过程流程图。如前所述,当将第二节点(对应于第二类对象)作为样本节点进行训练时,类似的从动态交互图中获得第二节点代表的对象参与的上一交互事件(第三交互事件,发生于第三时刻tv-)的历史节点,即第五节点v1和第六节点v2。
对于上述第五节点和第六节点,在步骤71,利用前述图编码网络,基于动态交互图,获取第五节点v1对应的第五编码向量hv1,第六节点v2对应的第六编码向量hv2。该过程与前述步骤23类似,不再赘述。
然后,如步骤72和图6所示,将第五编码向量hv1,第六编码向量hv2,第一时刻t,第三时刻tv-输入第二预测表征网络,得到第二节点v在第一时刻t的第二表征向量Hv。
可以将第二预测表征网络的计算过程表示为函数φ2,那么第二表征向量Hv可以表示为:
Hv=φ2(hv1,hv2,t,tv-) (7)
需要理解,第二预测表征网络是针对第二类对象设计的预测表征网络,可以与第一预测表征网络具有相同的结构和算法,只是不同的网络参数。换而言之,函数φ2和函数φ1可以具有相似的计算过程,只是不同的运算参数。
另一方面,如步骤73和图6所示,还将第一节点u对应的对象的属性特征输入第二属性编码网络,得到第一节点u对应的第一属性向量Eu。
这里,将第二属性编码网络的计算过程表示为函数Ψ2,那么第一属性向量Eu可以表示为:
Eu=Ψ2(xu) (8)
其中,xu为第一节点u代表的对象的属性特征。
需要理解,第二属性编码网络是针对第一类对象(第一节点u代表的对象为第一类对象)设计的属性编码网络,可以与第一属性编码网络具有相同的结构和算法,只是不同的网络参数。换而言之,函数Ψ2和函数Ψ1可以具有相似的计算过程,只是不同的运算参数。
接着,在步骤74,根据第二表征向量Hv和第一属性向量Eu,得到第二节点v与第一节点u交互的第二概率P2,至少根据第二概率确定第二预测损失L2,第二预测损失与第二概率负相关。第二概率的确定方式可以与步骤26中第一概率类似,第二预测损失的确定方式可以与步骤26中的第一预测损失类似,在此不再赘述。
于是,在步骤75,以减小第二预测损失为目标,更新图编码网络,第二预测表征网络和第二属性编码网络,其中图编码网络在针对第一节点和第二阶段的训练中均进行更新。
在图6和图7所示的实施例中,训练得到的交互预测模型包括图编码网络,第一预测表征网络,第二预测表征网络,第一属性编码网络和第二属性编码网络。该交互预测模型通过分别针对两类对象的样本节点进行训练而获得。
回顾以上过程,在以上各个实施例的方案中,利用时序对比学习的思想,对于某个样本节点来说,根据其之前参与的历史交互事件对应的历史节点,确定其当前表征向量,以此预测当前交互,并据此对交互预测模型进行训练。在训练得到交互预测模型后,根据对比学习的思想,可以根据待分析对象当前参与的交互事件预测其未来的表征向量,从而预测未来交互。
下面描述利用上述交互预测模型进行交互预测的过程。
图8示出根据一个实施例预测交互对象的方法流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图8所示,预测交互对象的方法可以包括以下步骤。
在步骤81,获取根据前述方法训练的交互预测模型,其中包括图编码网络,第一预测表征网络和第一属性编码网络。
在步骤82,针对有待评估的目标对象,从动态交互图中确定出该目标对象参与的最近一次交互事件所对应的目标节点对,所述目标节点对包括与所述目标对象对应的目标节点m,和与之交互的关联节点n,该最近一次交互事件发生于第一过去时刻T1。希望预测目标对象在未来的某个时刻T2的交互对象,该时刻T2又称为第二未来时刻。
图9示出预测交互对象的示意图。可以看到,图9的示例是对图3中动态交互图例子的延续。在图9的例子中,假定待评估的目标对象为David,希望预测该对象David在某个未来时刻,将会与哪个对象交互。
根据以上步骤82,可以从动态交互图中确定出,David参与的最近一次交互事件为E6,对应的节点对为u(t6)和v(t6),其中与David对应的节点u(t6)作为目标节点m,与之交互的节点v(t6)作为关联节点n。第一过去时刻T1=t6,第二未来时刻T2=t7
接着,在步骤83,利用图编码网络,基于动态交互图,获取目标节点m对应的目标编码向量hm,关联节点对应的关联编码向量hn
结合图9的示例,可以将目标节点u(t6)和关联节点v(t6)对应的子图分别输入经过训练的图编码网络,得到对应的目标编码向量hm和关联编码向量hn
然后,在步骤84,将目标编码向量hm,关联编码向量hn,第一过去时刻T1,待预测的第二未来时刻T2输入第一预测表征网络,得到目标节点m在该第二未来时刻的未来表征向量Hm。
在一个实施例中,交互预测模型包括针对两类对象分别设计的第一预测表征网络和第二预测表征网络,如图6所示。在这样的情况下,在步骤84,选择目标对象的种类所适用的预测表征网络作为上述第一预测表征网络。如此,预测得到目标节点m在时刻T2的未来表征向量Hm。
接着,在步骤85,将备选对象集合中各个备选对象c的属性特征输入第一属性编码网络,得到对应的各个备选属性向量Ec。
需要理解,备选对象集合是有可能与目标对象发生交互的所有可能对象的集合。在交互事件发生在两类对象之间的情况下,备选对象集合中的各个备选对象c,均为与目标对象相对种类的对象。例如,在图9的例子中,交互事件发生在用户对象和物品对象之间。而目标对象为David,属于用户对象;相应的,备选对象集合中的各个备选对象均为物品对象。
在一个实施例中,交互预测模型包括针对两类对象分别设计的第一属性编码网络和第二属性编码网络,如图6所示。在这样的情况下,在步骤85,选择备选对象的种类所适用的属性编码网络作为上述第一属性编码网络。通过将各个备选对象c的属性特征输入经过训练的第一属性编码网络,可以得到各个备选对象c对应的备选属性向量Ec。
接着,在步骤86,根据未来表征向量Hm和各个备选属性向量Ec,从各个备选对象中确定出预测对象,作为在第二未来时刻将与目标对象m交互的对象。
具体的,在一个实施例中,可以根据未来表征向量Hm与各个备选属性向量Ec的运算,例如求相似度,求距离等,确定目标对象m在目标时刻T2与各个备选对象c的交互概率,从各个备选对象中选择交互概率最大的对象作为上述预测对象。
在以上过程中,通过基于时序对比学习训练的交互预测模型,可以根据目标对象最近的已有交互事件,预测其未来时刻的表征向量,进而根据该未来表征向量,预测其未来的交互对象,实现基于时序的预测。对交互对象的预测,可以用于物品推荐,内容推荐等多种场景。
根据另一方面的实施例,提供了一种训练交互预测模型的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图10示出根据一个实施例的交互预测模型的训练装置的示意性框图。如图10所示,该训练装置100包括:
动态图获取单元101,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
节点选择单元102,配置为从所述动态交互图中选择对应于第一交互事件的第一节点对,所述第一节点对包括第一节点和第二节点,所述第一交互事件发生于第一时刻;所述第一节点通过连接边指向对应于第二交互事件的第二节点对,所述第二节点对包括第三节点和第四节点,所述第二交互事件发生于第二时刻;
图编码单元103,配置为利用图编码网络,基于所述动态交互图,获取所述第三节点对应的第三编码向量,所述第四节点对应的第四编码向量;
向量表征单元104,配置为将所述第三编码向量,第四编码向量,第一时刻,第二时刻输入第一预测表征网络,得到所述第一节点在第一时刻的第一表征向量;
属性编码单元105,配置为将所述第二节点对应的对象的属性特征输入第一属性编码网络,得到所述第二节点对应的第二属性向量;
损失确定单元106,配置为根据所述第一表征向量和第二属性向量,得到第一节点与第二节点交互的第一概率,至少根据所述第一概率确定第一预测损失,所述第一预测损失与所述第一概率负相关;
更新单元107,配置为以减小所述第一预测损失为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络,以训练所述交互预测模型。
根据一种实施方式,图编码单元103具体配置为:以所述第三节点为根节点,在所述动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的子图;将所述子图输入所述图编码网络,所述图编码网络根据所述子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为所述第三编码向量。
进一步的,在一个实施例中,图编码网络可以包括LSTM层,所述LSTM层将所述子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。
在另一实施例中,图编码网络可以根据所述子图中各个节点之间的连接关系,确定各个节点相对于所述第三节点的注意力权重;然后根据所述注意力权重,对所述各个节点的节点属性特征进行聚合,得到所述第三编码向量。
根据一个实施例,向量表征单元104具体配置为:计算所述第一时刻和第二时刻之间的时间差值;将所述第三编码向量,第四编码向量和所述时间差值拼接,得到拼接向量;在所述第一预测表征网络中,利用第一参数矩阵处理所述拼接向量,并对处理结果施加非线性函数,得到所述第一表征向量。
根据不同实施例,损失确定单元106可以配置为:计算所述第一表征向量和第二属性向量之间的相似度,根据所述相似度得到所述第一概率,所述第一概率正相关于所述相似度;或者,计算所述第一表征向量和第二属性向量之间的距离,根据所述距离得到所述第一概率,所述第一概率负相关于所述距离。
根据一个实施例,上述训练装置100还包括负样本采样单元(未示出),配置为,从所述动态交互图中采样多个第一负样本节点,所述第一负样本节点为所述第二节点之外的其他节点;
在该实施例中,属性编码单元105还配置为,将各个第一负样本节点对应的对象的属性特征分别输入所述第一属性编码网络,得到各个第一负样本节点分别对应的各个第一负样本向量;损失确定单元106进一步配置为,根据所述第一表征向量和各个第一负样本向量,得到各个第三概率,并根据所述第一概率和各个第三概率,确定第一预测损失,所述第一预测损失与各个第三概率之和正相关。
根据一个实施例,所述第二节点通过连接边指向对应于第三交互事件的第三节点对,所述第三节点对包括第五节点和第六节点,所述第三交互事件发生于第三时刻。在该实施例中,图编码单元103还配置为:利用所述图编码网络,基于所述动态交互图,获取第五节点对应的第五编码向量,第六节点对应的第六编码向量;向量表征单元104还配置为,将所述第五编码向量,第六编码向量,第一时刻,第三时刻输入所述第一预测表征网络,得到所述第二节点在第一时刻的第二表征向量;属性编码单元105还配置为,将所述第一节点对应的对象的属性特征输入所述第一属性编码网络,得到所述第一节点对应的第一属性向量;损失确定单元106还配置为,根据所述第二表征向量和第一属性向量,得到第二节点与第一节点交互的第二概率,至少根据所述第二概率确定第二预测损失,所述第二预测损失与所述第二概率负相关;更新单元107还配置为,以所述第二预测损失减小为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络。
根据一种实施方式,所述动态交互图中每个节点对中的两个节点分别表示参与该交互事件的第一类对象和第二类对象;所述第一节点属于第一类对象,所述第二节点属于第二类对象。
进一步的,在一个实施例中,所述第一类对象和第二类对象分别为用户对象和物品对象;所述用户对象的属性特征包括以下中的至少一项:年龄、职业、教育程度、所在地区、注册时长、人群标签;所述物品对象的属性特征包括以下中的至少一项:物品类别、上架时间、销量、评论数。
在一个实施例中,所述第二节点通过连接边指向对应于第三交互事件的第三节点对,所述第三节点对包括第五节点和第六节点,所述第三交互事件发生于第三时刻。在该实施例中,图编码单元103还配置为,利用所述图编码网络,基于所述动态交互图,获取第五节点对应的第五编码向量,第六节点对应的第六编码向量;向量表征单元104还配置为,将所述第五编码向量,第六编码向量,第一时刻,第三时刻输入第二预测表征网络,得到所述第二节点在第一时刻的第二表征向量;属性编码单元105还配置为,将所述第一节点对应的对象的属性特征输入第二属性编码网络,得到所述第一节点对应的第一属性向量;损失确定单元106还配置为,根据所述第二表征向量和第一属性向量,得到第二节点与第一节点交互的第二概率,至少根据所述第二概率确定第二预测损失,所述第二预测损失与所述第二概率负相关;更新单元107还配置为,以所述第二预测损失减小为目标,更新所述图编码网络,所述第二预测表征网络和所述第二属性编码网络。
在一个进一步的实施例中,前述负样本采样单元还配置为,从所述动态交互图中采样多个第二负样本节点,所述第二负样本节点为所述第一节点之外的其他节点;在该实施例中,属性编码单元105还配置为,将各个第二负样本节点对应的对象的属性特征输入所述第二属性编码网络,得到各个第二负样本节点分别对应的各个第二负样本向量;损失确定单元106进一步配置为,根据所述第二表征向量和各个第二负样本向量,得到各个第四概率;根据所述第二概率和各个第四概率,确定第二预测损失,所述第二预测损失与各个第四概率之和正相关。
通过以上各个实施例的训练装置,基于动态交互图,利用时序对比学习的思路,训练得到交互预测模型。
根据又一方面的实施例,提供了一种预测交互对象的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图11示出根据一个实施例的预测交互对象的装置的示意性框图。如图11所示,该预测装置110包括:
模型获取单元111,配置为获取训练得到的交互预测模型,其中包括图编码网络,第一预测表征网络和第一属性编码网络;
目标节点获取单元112,配置为针对有待评估的目标对象,从动态交互图中确定出所述目标对象参与的最近一次交互事件所对应的目标节点对,所述目标节点对包括与所述目标对象对应的目标节点,和与之交互的关联节点,且所述最近一次交互事件发生于第一过去时刻;
图编码单元113,配置为利用所述图编码网络,基于所述动态交互图,获取所述目标节点对应的目标编码向量,关联节点对应的关联编码向量;
向量表征单元114,配置为将所述目标编码向量,关联编码向量,第一过去时刻,待预测的第二未来时刻输入所述第一预测表征网络,得到所述目标节点在第二未来时刻的未来表征向量;
属性编码单元115,配置为将备选对象集合中各个备选对象的属性特征输入所述第一属性编码网络,得到对应的各个备选属性向量;
对象预测单元116,配置为根据所述未来表征向量和各个备选属性向量,从所述各个备选对象中确定出预测对象,作为在所述第二未来时刻将与所述目标对象交互的对象。
通过以上的预测装置110,利用训练得到的交互预测模型,基于对比学习的思路,对目标对象未来时刻的交互对象进行预测和评估。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (17)

1.一种训练交互预测模型的方法,所述方法包括:
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
从所述动态交互图中选择对应于第一交互事件的第一节点对,所述第一节点对包括第一节点和第二节点,所述第一交互事件发生于第一时刻;所述第一节点通过连接边指向对应于第二交互事件的第二节点对,所述第二节点对包括第三节点和第四节点,所述第二交互事件发生于第二时刻;
利用图编码网络,基于所述动态交互图,获取所述第三节点对应的第三编码向量,所述第四节点对应的第四编码向量;
将所述第三编码向量,第四编码向量,第一时刻,第二时刻输入第一预测表征网络,得到所述第一节点在第一时刻的第一表征向量;
将所述第二节点对应的对象的属性特征输入第一属性编码网络,得到所述第二节点对应的第二属性向量;
根据所述第一表征向量和第二属性向量,得到第一节点与第二节点交互的第一概率,至少根据所述第一概率确定第一预测损失,所述第一预测损失与所述第一概率负相关;
以减小所述第一预测损失为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络,以训练所述交互预测模型。
2.根据权利要求1所述的方法,其中,利用图编码网络,基于所述动态交互图,获取所述第三节点对应的第三编码向量,包括:
以所述第三节点为根节点,在所述动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的子图;
将所述子图输入所述图编码网络,所述图编码网络根据所述子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为所述第三编码向量。
3.根据权利要求2所述的方法,其中,所述图编码网络包括LSTM层,所述LSTM层将所述子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。
4.根据权利要求2所述的方法,其中,所述图编码网络用于,根据所述子图中各个节点之间的连接关系,确定各个节点相对于所述第三节点的注意力权重;
根据所述注意力权重,对所述各个节点的节点属性特征进行聚合,得到所述第三编码向量。
5.根据权利要求1所述的方法,其中,所述得到所述第一节点在第一时刻的第一表征向量,包括:
计算所述第一时刻和第二时刻之间的时间差值;
将所述第三编码向量,第四编码向量和所述时间差值拼接,得到拼接向量;
在所述第一预测表征网络中,利用第一参数矩阵处理所述拼接向量,并对处理结果施加非线性函数,得到所述第一表征向量。
6.根据权利要求1所述的方法,其中,根据所述第一表征向量和第二属性向量,得到第一节点与第二节点交互的第一概率,包括:
计算所述第一表征向量和第二属性向量之间的相似度,根据所述相似度得到所述第一概率,所述第一概率正相关于所述相似度;或者,
计算所述第一表征向量和第二属性向量之间的距离,根据所述距离得到所述第一概率,所述第一概率负相关于所述距离。
7.根据权利要求1所述的方法,还包括,从所述动态交互图中采样多个第一负样本节点,所述第一负样本节点为所述第二节点之外的其他节点;
将各个第一负样本节点对应的对象的属性特征分别输入所述第一属性编码网络,得到各个第一负样本节点分别对应的各个第一负样本向量;
根据所述第一表征向量和各个第一负样本向量,得到各个第三概率;
所述至少根据所述第一概率确定第一预测损失的步骤,包括:
根据所述第一概率和各个第三概率,确定第一预测损失,所述第一预测损失与各个第三概率之和正相关。
8.根据权利要求1所述的方法,其中,所述第二节点通过连接边指向对应于第三交互事件的第三节点对,所述第三节点对包括第五节点和第六节点,所述第三交互事件发生于第三时刻;所述方法还包括:
利用所述图编码网络,基于所述动态交互图,获取第五节点对应的第五编码向量,第六节点对应的第六编码向量;
将所述第五编码向量,第六编码向量,第一时刻,第三时刻输入所述第一预测表征网络,得到所述第二节点在第一时刻的第二表征向量;
将所述第一节点对应的对象的属性特征输入所述第一属性编码网络,得到所述第一节点对应的第一属性向量;
根据所述第二表征向量和第一属性向量,得到第二节点与第一节点交互的第二概率,至少根据所述第二概率确定第二预测损失,所述第二预测损失与所述第二概率负相关;
以所述第二预测损失减小为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络。
9.根据权利要求1所述的方法,其中,所述动态交互图中每个节点对中的两个节点分别表示参与该交互事件的第一类对象和第二类对象;
所述第一节点属于第一类对象,所述第二节点属于第二类对象。
10.根据权利要求9所述的方法,其中,所述第一类对象和第二类对象分别为用户对象和物品对象;
所述用户对象的属性特征包括以下中的至少一项:年龄、职业、教育程度、所在地区、注册时长、人群标签;
所述物品对象的属性特征包括以下中的至少一项:物品类别、上架时间、销量、评论数。
11.根据权利要求9所述的方法,其中,所述第二节点通过连接边指向对应于第三交互事件的第三节点对,所述第三节点对包括第五节点和第六节点,所述第三交互事件发生于第三时刻;所述方法还包括:
利用所述图编码网络,基于所述动态交互图,获取第五节点对应的第五编码向量,第六节点对应的第六编码向量;
将所述第五编码向量,第六编码向量,第一时刻,第三时刻输入第二预测表征网络,得到所述第二节点在第一时刻的第二表征向量;
将所述第一节点对应的对象的属性特征输入第二属性编码网络,得到所述第一节点对应的第一属性向量;
根据所述第二表征向量和第一属性向量,得到第二节点与第一节点交互的第二概率,至少根据所述第二概率确定第二预测损失,所述第二预测损失与所述第二概率负相关;
以所述第二预测损失减小为目标,更新所述图编码网络,所述第二预测表征网络和所述第二属性编码网络。
12.根据权利要求11所述的方法,还包括,从所述动态交互图中采样多个第二负样本节点,所述第二负样本节点为所述第一节点之外的其他节点;
将各个第二负样本节点对应的对象的属性特征输入所述第二属性编码网络,得到各个第二负样本节点分别对应的各个第二负样本向量;
根据所述第二表征向量和各个第二负样本向量,得到各个第四概率;
所述至少根据所述第二概率确定第二预测损失的步骤,包括:
根据所述第二概率和各个第四概率,确定第二预测损失,所述第二预测损失与各个第四概率之和正相关。
13.一种预测交互对象的方法,所述方法包括:
获取根据权利要求1的方法训练的交互预测模型,其中包括图编码网络,第一预测表征网络和第一属性编码网络;
针对有待评估的目标对象,从动态交互图中确定出所述目标对象参与的最近一次交互事件所对应的目标节点对,所述目标节点对包括与所述目标对象对应的目标节点,和与之交互的关联节点,且所述最近一次交互事件发生于第一过去时刻;
利用所述图编码网络,基于所述动态交互图,获取所述目标节点对应的目标编码向量,关联节点对应的关联编码向量;
将所述目标编码向量,关联编码向量,第一过去时刻,待预测的第二未来时刻输入所述第一预测表征网络,得到所述目标节点在第二未来时刻的未来表征向量;
将备选对象集合中各个备选对象的属性特征输入所述第一属性编码网络,得到对应的各个备选属性向量;
根据所述未来表征向量和各个备选属性向量,从所述各个备选对象中确定出预测对象,作为在所述第二未来时刻将与所述目标对象交互的对象。
14.一种训练交互预测模型的装置,所述装置包括:
动态图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
节点选择单元,配置为从所述动态交互图中选择对应于第一交互事件的第一节点对,所述第一节点对包括第一节点和第二节点,所述第一交互事件发生于第一时刻;所述第一节点通过连接边指向对应于第二交互事件的第二节点对,所述第二节点对包括第三节点和第四节点,所述第二交互事件发生于第二时刻;
图编码单元,配置为利用图编码网络,基于所述动态交互图,获取所述第三节点对应的第三编码向量,所述第四节点对应的第四编码向量;
向量表征单元,配置为将所述第三编码向量,第四编码向量,第一时刻,第二时刻输入第一预测表征网络,得到所述第一节点在第一时刻的第一表征向量;
属性编码单元,配置为将所述第二节点对应的对象的属性特征输入第一属性编码网络,得到所述第二节点对应的第二属性向量;
损失确定单元,配置为根据所述第一表征向量和第二属性向量,得到第一节点与第二节点交互的第一概率,至少根据所述第一概率确定第一预测损失,所述第一预测损失与所述第一概率负相关;
更新单元,配置为以减小所述第一预测损失为目标,更新所述图编码网络,所述第一预测表征网络和所述第一属性编码网络,以训练所述交互预测模型。
15.一种预测交互对象的装置,所述装置包括:
模型获取单元,配置为获取根据权利要求14的装置训练得到的交互预测模型,其中包括图编码网络,第一预测表征网络和第一属性编码网络;
目标节点获取单元,配置为针对有待评估的目标对象,从动态交互图中确定出所述目标对象参与的最近一次交互事件所对应的目标节点对,所述目标节点对包括与所述目标对象对应的目标节点,和与之交互的关联节点,且所述最近一次交互事件发生于第一过去时刻;
图编码单元,配置为利用所述图编码网络,基于所述动态交互图,获取所述目标节点对应的目标编码向量,关联节点对应的关联编码向量;
向量表征单元,配置为将所述目标编码向量,关联编码向量,第一过去时刻,待预测的第二未来时刻输入所述第一预测表征网络,得到所述目标节点在第二未来时刻的未来表征向量;
属性编码单元,配置为将备选对象集合中各个备选对象的属性特征输入所述第一属性编码网络,得到对应的各个备选属性向量;
对象预测单元,配置为根据所述未来表征向量和各个备选属性向量,从所述各个备选对象中确定出预测对象,作为在所述第二未来时刻将与所述目标对象交互的对象。
16.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
17.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
CN202010989982.7A 2020-09-18 2020-09-18 训练交互预测模型、预测交互对象的方法及装置 Active CN112085293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010989982.7A CN112085293B (zh) 2020-09-18 2020-09-18 训练交互预测模型、预测交互对象的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010989982.7A CN112085293B (zh) 2020-09-18 2020-09-18 训练交互预测模型、预测交互对象的方法及装置

Publications (2)

Publication Number Publication Date
CN112085293A true CN112085293A (zh) 2020-12-15
CN112085293B CN112085293B (zh) 2022-09-09

Family

ID=73738941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010989982.7A Active CN112085293B (zh) 2020-09-18 2020-09-18 训练交互预测模型、预测交互对象的方法及装置

Country Status (1)

Country Link
CN (1) CN112085293B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580789A (zh) * 2021-02-22 2021-03-30 支付宝(杭州)信息技术有限公司 训练图编码网络、预测交互事件的方法及装置
CN113673201A (zh) * 2021-07-15 2021-11-19 北京三快在线科技有限公司 一种文本表示向量生成方法、装置、存储介质及电子设备
CN114091669A (zh) * 2021-11-23 2022-02-25 支付宝(杭州)信息技术有限公司 一种基于事件的图神经网络训练方法及装置
CN116662638A (zh) * 2022-09-06 2023-08-29 荣耀终端有限公司 数据采集方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874914A (zh) * 2018-05-29 2018-11-23 吉林大学 一种基于图卷积与神经协同过滤的信息推荐方法
CN111159425A (zh) * 2019-12-30 2020-05-15 浙江大学 一种基于历史关系和双图卷积网络的时态知识图谱表示方法
CN111210008A (zh) * 2020-01-09 2020-05-29 支付宝(杭州)信息技术有限公司 利用lstm神经网络模型处理交互数据的方法及装置
CN111242283A (zh) * 2020-01-09 2020-06-05 支付宝(杭州)信息技术有限公司 评估交互事件的自编码器的训练方法及装置
CN111310068A (zh) * 2020-03-11 2020-06-19 广东工业大学 基于动态图的社交网络节点分类方法
CN111460832A (zh) * 2020-03-27 2020-07-28 北京百度网讯科技有限公司 对象编码的方法、装置、系统、设备及计算机存储介质
CN111523682A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 训练交互预测模型、预测交互对象的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874914A (zh) * 2018-05-29 2018-11-23 吉林大学 一种基于图卷积与神经协同过滤的信息推荐方法
CN111159425A (zh) * 2019-12-30 2020-05-15 浙江大学 一种基于历史关系和双图卷积网络的时态知识图谱表示方法
CN111210008A (zh) * 2020-01-09 2020-05-29 支付宝(杭州)信息技术有限公司 利用lstm神经网络模型处理交互数据的方法及装置
CN111242283A (zh) * 2020-01-09 2020-06-05 支付宝(杭州)信息技术有限公司 评估交互事件的自编码器的训练方法及装置
CN111310068A (zh) * 2020-03-11 2020-06-19 广东工业大学 基于动态图的社交网络节点分类方法
CN111460832A (zh) * 2020-03-27 2020-07-28 北京百度网讯科技有限公司 对象编码的方法、装置、系统、设备及计算机存储介质
CN111523682A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 训练交互预测模型、预测交互对象的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于图编码网络的社交网络节点分类方法: "基于图编码网络的社交网络节点分类方法", 《计算机应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112580789A (zh) * 2021-02-22 2021-03-30 支付宝(杭州)信息技术有限公司 训练图编码网络、预测交互事件的方法及装置
CN113673201A (zh) * 2021-07-15 2021-11-19 北京三快在线科技有限公司 一种文本表示向量生成方法、装置、存储介质及电子设备
CN114091669A (zh) * 2021-11-23 2022-02-25 支付宝(杭州)信息技术有限公司 一种基于事件的图神经网络训练方法及装置
CN116662638A (zh) * 2022-09-06 2023-08-29 荣耀终端有限公司 数据采集方法及相关装置
CN116662638B (zh) * 2022-09-06 2024-04-12 荣耀终端有限公司 数据采集方法及相关装置

Also Published As

Publication number Publication date
CN112085293B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN110598847B (zh) 处理交互序列数据的方法及装置
CN112085293B (zh) 训练交互预测模型、预测交互对象的方法及装置
CN111210008B (zh) 利用lstm神经网络模型处理交互数据的方法及装置
CN110555469B (zh) 处理交互序列数据的方法及装置
CN111814977B (zh) 训练事件预测模型的方法及装置
US11250088B2 (en) Method and apparatus for processing user interaction sequence data
CN113256367B (zh) 用户行为历史数据的商品推荐方法、系统、设备及介质
CN111737546B (zh) 确定实体业务属性的方法及装置
CN112580789B (zh) 训练图编码网络、预测交互事件的方法及装置
CN110543935B (zh) 处理交互序列数据的方法及装置
CN111738534B (zh) 多任务预测模型的训练、事件类型的预测方法及装置
CN111242283B (zh) 评估交互事件的自编码器的训练方法及装置
CN111523682B (zh) 训练交互预测模型、预测交互对象的方法及装置
CN116010684A (zh) 物品推荐方法、装置及存储介质
CN113610610B (zh) 基于图神经网络和评论相似度的会话推荐方法和系统
CN110689110B (zh) 处理交互事件的方法及装置
US20220253688A1 (en) Recommendation system with adaptive weighted baysian personalized ranking loss
CN113592593B (zh) 序列推荐模型的训练及应用方法、装置、设备及存储介质
CN114119123A (zh) 信息推送的方法和装置
WO2024051707A1 (zh) 训练推荐模型的方法、推荐资源的方法及其装置
CN111258469B (zh) 处理交互序列数据的方法及装置
CN112085279B (zh) 训练交互预测模型、预测交互事件的方法及装置
CN113449176A (zh) 基于知识图谱的推荐方法及装置
Buhmann SIMBAD: emergence of pattern similarity
CN111931058B (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
GR01 Patent grant
GR01 Patent grant