CN112085279B - 训练交互预测模型、预测交互事件的方法及装置 - Google Patents
训练交互预测模型、预测交互事件的方法及装置 Download PDFInfo
- Publication number
- CN112085279B CN112085279B CN202010955099.6A CN202010955099A CN112085279B CN 112085279 B CN112085279 B CN 112085279B CN 202010955099 A CN202010955099 A CN 202010955099A CN 112085279 B CN112085279 B CN 112085279B
- Authority
- CN
- China
- Prior art keywords
- node
- vector
- network
- interaction
- target
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (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)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Probability & Statistics with Applications (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种交互预测模型的训练和使用方法及装置。在该方法中,首先基于交互事件序列构建动态交互图,从中确定出包含第一节点和第二节点的样本节点对,其对应于样本交互事件。从第一生成网络和第一判别网络分别获取,对应于两个节点各自的生成向量和判别向量。利用第二生成网络,基于两个生成向量预测样本交互事件的发生时间。接着,基于两个生成向量和该预测时间形成第一输入,基于两个判别向量和真实时间形成第二输入,通过第二判别网络,判别第一输入和第二输入各自为真实事件的概率。基于此对抗训练第二生成网络和第二判别网络。训练后的第一生成网络和第二生成网络作为用于预测交互事件的交互预测模型。
Description
技术领域
本说明书一个或多个实施例涉及机器学习领域,尤其涉及训练交互预测模型,以及利用训练的交互预测模型来预测交互事件的方法和装置。
背景技术
在许多场景下,需要对用户交互事件进行分析和处理。交互事件是互联网事件的基本组成元素之一,例如,用户浏览页面时的点击行为,可以视为用户与页面内容区块之间的交互事件,电商中的购买行为可以视为用户与商品之间的交互事件,账户间转账行为则是用户与用户之间的交互事件。用户的一系列交互事件中蕴含了用户的细粒度***台的安全性。
然而,交互事件涉及交互双方,并且各个参与方本身的状态可以是动态变化的,因此,综合考虑交互参与方的多方面特点对其进行准确的特征表达非常困难。由此,希望能有改进的方案,更为有效地对交互对象和交互事件进行分析处理。
发明内容
本说明书一个或多个实施例描述了一种交互预测模型的训练方法和装置,其中基于动态交互图,利用两级级联的生成对抗网络,以对抗训练方式,训练得到交互预测模型,从而可以更准确地针对目标对象预测其接下来的交互对象以及交互时间。
根据第一方面,提供了一种训练交互预测模型的方法,所述方法包括:
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
从所述动态交互图中选择样本节点对,所述样本节点对包括第一节点和第二节点,并标注有该样本节点对对应的样本交互事件的真实发生时间;
从第一生成网络获取,对应于第一节点的第一生成向量,和对应于第二节点的第二生成向量;从第一判别网络获取,对应于第一节点的第一判别向量,和对应于第二节点的第二判别向量;所述第一生成网络和第一判别网络通过第一对抗训练过程而训练;
将所述第一生成向量,第二生成向量和噪声向量,输入第二生成网络,得到针对所述样本交互事件的预测发生时间;
基于所述第一生成向量,第二生成向量和所述预测发生时间形成第一输入,通过第二判别网络,得到所述第一输入对应于真实事件的第一概率;
基于所述第一判别向量,第二判别向量和所述真实发生时间形成第二输入,通过所述第二判别网络,得到所述第二输入对应于真实事件的第二概率;
执行第二对抗训练过程,其中包括,以增大第二概率,减小第一概率为目标,训练所述第二判别网络;以增大第一概率为目标,训练所述第二生成网络;训练后的第一生成网络和第二生成网络构成所述交互预测模型。
在一个实施例中,所述第一生成网络和所述第一判别网络为结构相同,参数独立的两个神经网络。
根据一种实施方式,从第一生成网络获取,对应于第一节点的第一生成向量,包括:以所述第一节点为根节点,在所述动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的第一子图;将所述第一子图输入所述第一生成网络,所述第一生成网络根据第一子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为所述第一生成向量。
进一步的,在一个实施例中,第一生成网络包括LSTM层,所述LSTM层将输入子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。
根据一种实施方式,在将所述第一生成向量,第二生成向量和噪声向量输入第二生成网络时,可以将所述第一生成向量和第二生成向量进行拼接,作为先验条件向量;从高斯分布中进行采样,得到所述噪声向量;将所述先验条件向量和所述噪声向量拼接后,输入所述第二生成网络。
在一个实施例中,第一输入通过以下方式形成:对所述第一生成向量,第二生成向量进行融合操作,得到第一融合向量;将所述第一融合向量和所述预测发生时间进行拼接组合,将组合结果作为所述第一输入。
根据一种实施方式,所述第一对抗训练过程包括:
从所述动态交互图中确定出对应于所述第一节点的多个备选节点,其中包括所述第二节点;
利用所述第一生成网络,生成所述第一生成向量,以及所述多个备选节点分别对应的多个备选生成向量;利用所述第一判别网络,生成所述第一判别向量,以及所述多个备选节点分别对应的多个备选判别向量;
根据所述第一生成向量和所述多个备选生成向量,确定各个备选节点与所述第一节点交互的概率分布,并根据所述概率分布确定与所述第一节点交互的预测节点;
根据所述多个备选判别向量和所述概率分布,拟合所述预测节点的判别向量;
基于所述第一判别向量和所述预测节点的判别向量,确定所述预测节点为真实交互节点的第三概率;并基于所述第一判别向量和所述第二判别向量,确定所述第二节点为真实交互节点的第四概率;
以增大所述第四概率,减小所述第三概率为目标,训练所述第一判别网络;以增大所述第三概率为目标,训练所述第一生成网络。
在一个实施例中,动态交互图中每个节点对中的两个节点分别表示参与该交互事件的第一类对象和第二类对象;并且,在所述第一节点属于第一类对象的情况下,所述多个备选节点均属于第二类对象。
根据一个实施例,可以利用Gumbel-softmax函数,拟合得到各个备选节点与所述第一节点交互的概率分布。
根据一种实施方式,第一对抗训练过程在所述第二对抗训练过程之前完成。
根据另一种实施方式,第一对抗训练过程与所述第二对抗训练过程交替进行。
根据第二方面,提供了一种预测交互事件的方法,所述方法包括:
获取根据第一方面的方法训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
获取有待分析的第一目标对象,并在所述动态交互图中构建与所述第一目标对象对应的第一目标节点;
通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;其中,所述第二目标节点为第一生成网络预测的将与所述第一目标对象发生预测交互事件的对象所对应的节点;
将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到针对所述预测交互事件的预测发生时间。
根据第三方面,提供了一种预测交互事件的方法,所述方法包括:
获取根据第一方面的方法训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
从所述动态交互图中获取有待分析的第一目标节点和第二目标节点;
通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;
将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到预测发生时间,该预测发生时间表示,所述第一目标节点和所述第二目标节点分别代表的对象预期发生交互的时间。
根据第四方面,提供了一种训练交互预测模型的装置,所述装置包括:
交互图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
节点对选择单元,配置为从所述动态交互图中选择样本节点对,所述样本节点对包括第一节点和第二节点,并标注有该样本节点对对应的样本交互事件的真实发生时间;
向量获取单元,配置为从第一生成网络获取,对应于第一节点的第一生成向量,和对应于第二节点的第二生成向量;从第一判别网络获取,对应于第一节点的第一判别向量,和对应于第二节点的第二判别向量;所述第一生成网络和第一判别网络通过第一对抗训练过程而训练;
时间预测单元,配置为将所述第一生成向量,第二生成向量和噪声向量,输入第二生成网络,得到针对所述样本交互事件的预测发生时间;
第一输入判别单元,配置为基于所述第一生成向量,第二生成向量和所述预测发生时间形成第一输入,通过第二判别网络,得到所述第一输入对应于真实事件的第一概率;
第二输入判别单元,配置为基于所述第一判别向量,第二判别向量和所述真实发生时间形成第二输入,通过所述第二判别网络,得到所述第二输入对应于真实事件的第二概率;
第二对抗训练单元,配置为执行第二对抗训练过程,包括,以增大第二概率,减小第一概率为目标,训练所述第二判别网络;以增大第一概率为目标,训练所述第二生成网络;训练后的第一生成网络和第二生成网络构成所述交互预测模型。
根据第五方面,提供了一种预测交互事件的装置,所述装置包括:
模型获取单元,配置为获取根据第四方面的装置训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;;
交互图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
目标节点获取单元,配置为获取有待分析的第一目标对象,并在所述动态交互图中构建与所述第一目标对象对应的第一目标节点;
目标向量获取单元,配置为通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;其中,所述第二目标节点为第一生成网络预测的将与所述第一目标对象发生预测交互事件的对象所对应的节点;
时间预测单元,配置为将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到针对所述预测交互事件的预测发生时间。
根据第六方面,提供了一种预测交互事件的装置,所述装置包括:
模型获取单元,配置为获取根据第四方面的装置训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;;
交互图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
目标节点获取单元,配置为从所述动态交互图中获取有待分析的第一目标节点和第二目标节点;
目标向量获取单元,配置为通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;
时间预测单元,配置为将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到预测发生时间,该预测发生时间表示,所述第一目标节点和所述第二目标节点分别代表的对象预期发生交互的时间。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面到第三方面中任意一个的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面到第三方面中任意一个的方法。
根据本说明书实施例提供的方法和装置,基于交互事件序列构建动态交互图,并基于这样的动态交互图,训练两级级联的对抗生成网络GAN。其中,一级GAN通过对发生交互的对象之间的概率分布进行对抗学习,得到交互图中节点的向量表征;二级GAN基于一级GAN的向量表征,通过对抗训练,学习和预测交互对象之间的交互时间,据此,两级级联GAN可以全面预测交互对象和交互时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的实施场景示意图;
图2示出根据一个实施例的训练交互预测模型的方法流程图;
图3示出根据一个实施例的动态交互序列和由此构建的动态交互图;
图4示出第一子图的一个例子;
图5示出在一个实施例中第一对抗训练过程的步骤流程;
图6示出在一个实施例中级联GAN的结构和训练过程示意图;
图7示出根据一个实施例预测交互事件的方法流程图;
图8示出根据另一实施例预测交互事件的方法流程图;
图9示出根据一个实施例的交互预测模型的训练装置的示意性框图;
图10示出根据一个实施例的预测交互事件的装置的示意性框图;
图11示出根据一个实施例的预测交互事件的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,希望能够基于交互对象发生的一系列交互事件,对交互对象以及交互事件进行特征表达和建模。
在一种方案中,基于历史交互事件构建静态的交互关系网络图,从而基于该交互关系网络图,分析各个交互对象和各个交互事件。具体地,可以以各个历史事件的参与者作为节点,在存在交互关系的节点之间建立连接边,从而形成交互网络图。然而,以上的静态网络图,尽管可以示出对象之间的交互关系,但是没有包含这些交互事件的时序信息。简单地基于这样的交互关系网络图进行图嵌入,获得的特征向量也没有表达出交互事件的时间信息对节点的影响。并且,这样的静态图可扩展性不够强,对于新增交互事件和新增节点的情况,难以灵活进行处理。
考虑到以上因素,根据本说明书的一个或多个实施例,将动态变化的交互事件序列构建成动态交互图,其中各个交互事件中涉及的各个交互对象对应于该动态交互图中的各个节点。这样的动态交互图可以反映出各个交互对象所经历的交互事件的时序信息。进一步地,为了基于上述动态交互图进行交互事件的分析和预测,在本说明书的实施例中,利用两级级联的生成对抗网络GAN(Generative Adversarial Networks),进行节点的分析和预测。其中,一级GAN通过对发生交互的对象之间的概率分布进行对抗学习,得到交互图中节点的向量表征;二级GAN基于一级GAN的向量表征,通过对抗训练,学习和预测交互对象之间的交互时间,据此,两级级联GAN可以全面预测交互对象和交互时间。
图1示出根据一个实施例的实施场景示意图。如图1所示,可以将依次发生的多个交互事件按时间顺序组织成动态交互序列<E1,E2,…,EN>,其中每个元素Ei表示一个交互事件,可以表示为交互特征组的形式Ei=(ai,bi,ti),其中ai和bi是事件Ei的两个交互对象,ti是交互时间。
根据本说明书的实施例,基于该动态交互序列构建动态交互图。在动态交互图中,将各个交互事件中的各个交互对象ai,bi用节点表示,并在包含同一对象的连续事件的节点之间建立父子关系连接边。动态交互图的结构将在后续进行更具体的描述。
为了更有效地进行节点分析和事件分析,首先通过一级GAN,即GAN1,将动态交互图中的节点表征为节点向量。具体的,GAN1包括第一生成网络和第一判别网络,这两个网络分别利用各自的网络参数,将动态交互图中的节点表征为向量。例如,对于在t时刻发生交互的节点u和节点v,第一生成网络可以分别生成向量g(u)和g(v),第一判别网络可以分别生成向量d(u)和d(v)。第一生成网络和第一判别网络通过对发生交互的对象之间的概率分布进行对抗学习而进行训练。
GAN1得到的节点向量进一步输入给二级GAN,即GAN2。GAN2包括第二生成网络和第二判别网络。第二生成网络基于第一生成网络生成的节点向量g(u)和g(v),生成节点u和节点v的交互时间t’。第二判别网络用于判别和区分,基于g(u),g(v)和t’的生成输入,和基于d(u),d(v)和t的真实输入,从而与第二生成网络形成对抗。
通过两级级联GAN的对抗训练,GAN1中的第一生成网络可以生成各个节点的向量表示,并预测交互节点;GAN2中的第二生成网络可以基于GAN1得到的交互节点对的向量表示,预测该交互节点对的交互时间,从而实现对交互事件的全面分析和预测。
下面描述以上构思的具体实现方式。
图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中,假定选取了事件E6对应的两个节点为样本节点对,则第一节点可以为u(t6),第二节点为v(t6),E6为样本交互事件,其真实发生时间为t6。当然还可以选取其他交互的节点对作为样本节点对。
以下为了描述的简单,将第一节点记为节点u,第二节点记为节点v,样本交互事件的真实发生时间记为t。
接着,在步骤23,利用第一级GAN中包括的第一生成网络和第一判别网络,分别对第一节点u和第二节点v进行表征。也就是,从第一生成网络获取,对应于第一节点u的第一生成向量g(u),和对应于第二节点v的第二生成向量g(v);从第一判别网络获取,对应于第一节点u的第一判别向量d(u),和对应于第二节点v的第二判别向量d(v)。
在一个实施例中,第一生成网络和第一判别网络为结构相同,参数独立的两个神经网络,这两个神经网络可以各自利用其网络参数,对动态交互图中任意的目标节点进行表征,得到对应的节点向量。下面以第一生成网络将第一节点u作为目标节点进行向量表征的过程为例进行说明。然而需要理解,该过程也可以适用于第一判别网络对任意节点的表征。
具体的,根据一种实施方式,当需要表征第一节点u时,可以首先从动态交互图中提取出包含第一节点u的子图,即第一子图。具体的,在一个例子中,以第一节点u为根节点,在动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的子图作为第一子图。
图4示出第一子图的一个例子。在图4中,假定u(t6)为第一节点。于是,以该节点u(t6)为根节点,沿父子关系的连接边指向进行遍历,确定预定范围内的节点。在图4例子中,假定上述预定范围为,至多经由预设数目K=2的连接边到达的子节点。那么,从当前根节点u(t6)出发,经由2条连接边可以达到的节点如图中虚线区域所示。该区域中的节点和连接关系即为节点u(t6)对应的子图,即第一子图。可以理解,在其他例子中,还可以以其他方式设置上述预定范围,例如包括向前回溯预定时长,等等。
在得到针对第一节点u的第一子图的基础上,可以将这样的第一子图输入第一生成网络。第一生成网络于是根据第一子图中各个节点的节点属性特征以及节点之间的连接关系,输出第一节点的隐向量作为对应的第一生成向量。
在一个例子中,第一生成网络可以是通过图嵌入的方式进行图处理的图神经网络,例如图卷积神经网络GNN。在图嵌入过程中,根据节点之间的连接关系,将输入子图中各个节点作为根节点的K阶邻居节点,进行邻居节点聚合,得到目标节点的隐向量作为其生成向量。
在另一例子中,第一生成网络可以包含时间递归层,例如循环神经网络RNN层,或长短期记忆LSTM层,从而通过递归迭代的方式,对以目标节点为根节点的子图进行图处理。具体的,在一个实施例中,第一生成网络包括LSTM层,LSTM层将输入子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。通过从叶节点到根节点的迭代处理,最终得到根节点的隐向量作为其生成向量。
以上提及的节点属性特征根据节点代表的不同类对象而有所不同。例如,在节点表示用户的情况下,节点属性特征可以包括用户的属性特征,例如年龄、职业、教育程度、所在地区、注册时长、人群标签等等;在节点表示物品的情况下,节点属性特征可以包括物品的属性特征,例如物品类别、上架时间、销量、评论数等等。在节点表示其他交互对象的情况下,可以相应的基于交互对象自身的属性,得到节点属性特征。
于是,通过以上各种方式,第一生成网络针对第一节点u进行向量表征,将其表征为第一生成向量g(u)。对于动态交互图中的其他节点,第一生成网络可以类似的进行表征。于是,对于第二节点v,第一生成网络可以将其表征为第二生成向量g(v)。
如前所述,第一判别网络与第一生成网络具有相同的网络结构和算法。因此,第一判别网络也可以采用以上的方式,对于动态交互图中任意的目标节点,基于包含该目标节点的子图,处理得到目标节点的判别向量。因此,相对应的,对于以上作为样本的第一节点u和第二节点v,可以通过第一判别网络获取第一节点u对应的第一判别向量d(u),和第二节点v对应的第二判别向量d(v)。
以上描述了第一生成网络和第一判别网络处理得到各个节点的表征向量的方式。如前所述,第一生成网络和第一判别网络虽然网络结构和算法相同,但是其网络参数互相独立。作为第一级GAN的两个子网络,第一生成网络和第一判别网络各自的网络参数通过第一对抗训练过程而训练,该第一对抗训练过程以对象之间的交互概率分布为对抗学习的目标。
下面具体描述第一对抗训练过程的步骤。
图5示出在一个实施例中第一对抗训练过程的步骤流程。如图5所示,为了训练第一级GAN,首先在步骤51,从动态交互图中确定出对应于第一节点的多个备选节点,其中包括第二节点。需要理解,备选节点是为了GAN的训练所选择的、有可能作为第一节点所在节点对的另一节点的所有可能节点。因此,备选节点中包括与第一节点实际交互从而构成节点对的第二节点。备选节点的集合构成采样空间V。
在一个实施例中,动态交互图中节点所代表的对象可以划分为第一类对象和第二类对象,每个交互事件均发生在上述两类对象之间,因此每个节点对中的两个节点分别表示一个第一类对象和一个第二类对象。这里假定上述第一节点u为第一类对象。在一个例子中,在选取对应于第一节点u的备选节点时,可以将动态交互图中所有属于第二类对象的节点均认为是备选节点。在另一实施例中,在动态交互图比较庞大,节点数目超过一定阈值时,将动态交互图中距离第一节点u一定范围内的、属于第二类对象的节点作为备选节点。上述一定范围例如可以是,距离第一节点u所在交互事件的发生时刻一定时间范围内的节点。
延续图3的例子进行说明。假定节点u(t6)为第一节点,该节点表示的是对象David,为用户对象。因此可以选取动态交互图中的物品类对象对应的节点作为备选节点。在一个例子中,将图3中所有物品类对象(M1到M4)对应的节点均作为备选节点,其中必然包括第二节点v(t6)。
接着,在步骤52,利用上述第一生成网络,生成第一节点对应的第一生成向量g(u),以及所述多个备选节点分别对应的多个备选生成向量;并且,利用第一判别网络,生成第一节点u对应的第一判别向量d(u),以及所述多个备选节点分别对应的多个备选判别向量。第一生成网络和第一判别网络针对任意目标节点生成对应的向量的过程如以上所述,不再赘述。
图6示出在一个实施例中级联GAN的结构和训练过程示意图。在图6中,第一生成网络表示为G1,第一判别网络表示为D1。第一节点u对应的采样空间V中各个备选节点分别表示为v1,v2,…,vn。相应的,第一生成网络G1针对第一节点u生成第一生成向量g(u),针对各个备选节点,分别生成备选生成向量g(v1),g(v2),…,g(vn)。另一方面,第一判别网络D1针对第一节点u生成第一判别向量d(u),针对各个备选节点,分别生成备选判别向量d(v1),d(v2),…,d(vn)。
然后,在步骤53,根据第一生成向量和多个备选生成向量,确定各个备选节点与第一节点交互的概率分布,并根据该概率分布确定与第一节点交互的预测节点。
在一个例子中,对于备选节点vi,可以通过以下公式(1)确定其与第一节点u交互的概率p(vi|u),由此得到各个备选节点与节点u交互的概率分布P。
其中,vj为属于采样空间V的任意备选节点,f(u,vi)为计算节点u和节点vi交互可能性的函数,其依赖于节点u对应的第一生成向量g(u)和节点vi对应的生成向量g(vi)。
例如,在一个具体例子中:
f(u,vi)=g(u)·g(vi) (2)
即,f(u,vi)为向量g(u)与向量g(vi)的点乘结果。
在另一例子中,f(u,vi)可以定义为,基于向量g(u)和g(vi)计算得到的余弦相似度。在更多例子中,还可以采用更多方式,基于g(u)和g(vi),得到备选节点vi和节点u交互的概率。
根据一种实施方式,在以上公式(1)基础上,采用softmax函数,拟合备选节点vj与第一样本节点u交互的概率p(vi|u):
在又一例子中,利用Gumbel-softmax函数,拟合得到各个备选节点与第一节点u交互的概率分布。Gumbel-softmax函数,是在softmax拟合的基础上,进一步引入Gumbel分布下的随机采样,从而避免从离散分布中进行采样导致的可能的梯度断开问题,更加有利于网络的训练和调参。
在得到各个备选节点与第一节点交互的概率分布的基础上,可以根据该概率分布,确定与第一节点交互的预测节点v’。
在一个实施例中,可以从上述概率分布中,选择概率最大的备选节点作为预测节点v’。在另一实施例中,以一个虚拟节点作为预测节点v’,该虚拟节点可以用one-hot向量进行表示,并且该虚拟节点对应于上述概率分布。
于是,可以将上述预测节点v’和概率分布,传递给第一判别网络。相应的,在步骤54,根据多个备选节点分别对应的多个备选判别向量d(v1),d(v2),…,d(vn)和上述概率分布,拟合预测节点v’的判别向量d(v’)。
如前所述,在一个实施例中,预测节点v’是从上述多个备选节点中选择的一个节点,此时,直接将该选择节点对应的判别向量作为预测节点的判别向量d(v’)。在另一实施例中,预测节点v’是一个虚拟节点。此时,可以基于上述概率分布,对各个备选节点的判别向量加权求和,拟合得到预测节点v’的判别向量d(v’),即:
d(v′)=∑wi*d(vi) (4)
其中,备选节点vi对应的权重wi,根据公式(1)或公式(3)得到的交互概率p(vi|u)而确定。于是,得到了预测节点v’的判别向量d(v’)。
可以理解的是,预测节点是根据第一生成网络针对各个节点的生成向量而确定的与第一节点u交互的节点,因此,可以将第一节点u的第一判别向量d(u)和预测节点对应的判别向量d(v’),作为第一生成网络生成的交互事件的表示。另一方面,已知第一节点u与第二节点v构成节点对,因此,可以将第一节点u对应的第一判别向量d(u)和第二节点对应的第二判别向量d(v),作为真实交互事件的表示。接着,将以上两种表示分别输入第一判别网络进行判别。
也就是,在步骤55,基于第一判别向量d(u)和预测节点的判别向量d(v’),确定输入表示为真实事件的概率,或者说,确定预测节点为真实交互节点的概率。将该概率称为第三概率P3。另一方面,基于第一判别向量d(u)和第二判别向量d(v),确定第二节点为真实交互节点的概率,即第四概率P4。
接着,基于以上概率进行对抗训练,即在步骤56,以增大第四概率,减小第三概率为目标,训练第一判别网络。也就是,第一判别网络的训练目标为,能够区分出输入表示是否为真实事件。另一方面,以增大第三概率为目标,训练第一生成网络。也就是说,第一生成网络的训练目标是,生成的交互事件足以被判定为真实的交互事件。
如此,通过对发生交互的对象之间的概率分布进行对抗学习的第一对抗训练过程,对第一生成网络和第一判别网络进行训练。如此训练的第一生成网络和第一判别网络,可以对动态交互图中各个节点进行更好地表征,表征的向量可以很好地拟合节点间真实的交互情况。
回到图2。基于上述第一级GAN中第一生成网络和第一判别网络的节点表征能力,如上所述,在步骤23,从第一生成网络获取第一节点u和第二节点v分别对应的第一生成向量g(u)和第二生成向量g(v),以及从第一判别网络获取第一节点u对应的第一判别向量d(u)和第二节点对应的第二判别向量d(v)。接着,可以基于以上向量,对第二级GAN进行训练。
具体的,接下来,在步骤24,将第一生成向量g(u),第二生成向量g(v)和噪声向量,输入第二生成网络,得到针对样本交互事件的预测发生时间t’。
在一个实施例中,可以将第一生成向量g(u)和第二生成向量g(v)作为第二生成网络的先验条件输入,使得第二生成网络基于该先验条件,生成预测发生时间。更具体的,在一个例子中,可以将第一生成向量g(u)和第二生成向量g(v)进行拼接,作为先验条件向量。此外,从高斯分布中进行采样,得到一个噪声向量。将上述先验条件向量和噪声向量拼接后,输入第二生成网络。第二生成网络于是基于输入的拼接向量,输出预测发生时间t’。
第二判别网络用于对包含有时间的生成事件表示和真实事件表示进行判别。于是,可以分别构造生成事件表示和真实事件表示,并输入到第二判别网络进行判别。
具体的,在步骤25,基于第一生成向量g(u),第二生成向量g(v)和预测发生时间t’形成第一输入,通过第二判别网络,得到所述第一输入对应于真实事件的第一概率P1。可以理解,第一生成向量g(u)和第二生成向量g(v)均为第一生成网络生成的向量,预测发生时间t’则为第二生成网络生成的时间,因此,第一输入对应于生成事件表示。
第一输入的构造和形成可以有多种方式。在一个例子中,可以首先对第一生成向量g(u)和第二生成向量g(v)进行融合操作,得到第一融合向量。其中融合操作可以包括,拼接,求和,加权求和,按位相乘等多种操作。然后,可以将上述第一融合向量和预测发生时间t’进行拼接组合,将组合结果作为第一输入。
另一方面,在步骤26,基于第一判别向量d(u),第二判别向量d(v)和真实发生时间t形成第二输入,通过第二判别网络,得到第二输入对应于真实事件的第二概率P2。可以理解,第一判别向量d(u)和第二判别向量d(v)为第一判别网络处理得到的向量,t为样本事件的真实发生时间,因此,第二输入对应于真实事件表示。第二输入的构造和形成方式与第一输入相对应一致。
接着,基于上述第一概率P1和第二概率P2,执行针对第二级GAN的第二对抗训练过程。具体的,在步骤27,以增大第二概率P2,减小第一概率P1为目标,训练第二判别网络;以增大第一概率P1为目标,训练第二生成网络。
由此可以看到,第二判别网络的训练目标为,对于生成事件表示(第一输入),给出尽量小的预测概率(该概率表示输入为真实事件的概率),对于真实事件表示(第二输入),给出尽量大的预测概率,从而尽可能区分出生成事件表示和真实事件表示。而第二生成网络的训练目标为,基于生成的预测发生时间t’构建的生成事件表示,足以被判定为真实事件表示,也就是说,使得预测发生时间t’尽可能接近真实发生时间t。第二生成网络和第二判别网络就第一概率P1的训练目标形成对抗。
继续参看图6描述第二对抗训练的过程示例。在图6中,第二级GAN包括第二生成网络G2和第二判别网络D2。
如前所述,在第一对抗训练过程中,第一生成网络G1针对第一节点u和各个备选节点均生成有对应的生成向量。可以从中获取第一节点对应的第一生成向量g(u),和第二节点生成的第二生成向量g(v),将其作为先验条件输入第二生成网络G2,使得G2基于该先验条件和噪声,生成预测发生时间t’。进一步地,生成向量g(u),g(v)和预测发生时间t’可以形成第一输入,输入到第二判别网络D2。
另一方面,第一判别网络D1针对第一节点u和各个备选节点均生成有对应的判别向量。可以从中获取第一节点对应的第一判别向量d(u),第二节点对应的第二判别向量d(v),连同样本事件的真实发生时间t,形成第二输入,输入到第二判别网络D2。
于是,第二判别网络D2可以分别对第一输入和第二输入进行判别和区分,针对第一输入的判别结果与第二生成网络G2的训练目标形成对抗。
在一个实施例中,可以首先进行第一对抗训练过程,在完成对第一级GAN中的第一生成网络和第一判别网络的训练之后,固定第一级GAN中的参数,再执行第二对抗训练过程,训练第二生成网络和第二判别网络。
在另一实施例中,可以交替执行第一对抗训练过程和第二对抗训练过程,从而交替训练第一级GAN和第二级GAN,使其预测性能交替逐步提升。
经过以上第一对抗训练和第二对抗训练,最终可以得到两级级联的GAN网络。在训练完成之后,可以仅使用两级GAN中的生成网络,即第一生成网络和第二生成网络,形成交互预测模型。
下面描述利用以上形成的交互预测模型进行交互事件预测的过程。
图7示出根据一个实施例预测交互事件的方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图7所示,首先在步骤71,获取根据上述方法训练得到的交互预测模型,所述交互预测模型包括第一生成网络和第二生成网络。换而言之,第一判别网络和第二判别网络用于以对抗方式辅助训练第一和第二生成网络,在完成训练之后的预测阶段,可以不再使用第一和第二判别网络,而是由第一和第二生成网络构成交互预测模型。
然后,在步骤72,获取反映交互事件关联关系的动态交互图,该步骤与图2的步骤21相似,不再赘述。
接着,在步骤73,获取有待分析的第一目标对象,并在所述动态交互图中构建与所述第一目标对象对应的第一目标节点。具体的,可以在动态交互图中新增单个节点,该单个节点表示第一目标对象。与其他节点类似的,在该单个节点与第一目标对象参与的上一交互事件对应的两个节点之间建立连接边,从而使得该单个节点通过连接边指向上一交互事件的两个节点。但是与其他节点不同的是,由于交互对象未知,该单个节点独立存在,尚不具有对应的形成节点对的节点。
然后,在步骤74,通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;其中,所述第二目标节点为第一生成网络预测的、将与所述第一目标对象发生预测交互事件的对象所对应的节点。
在以上步骤74中,利用第一生成网络进行节点向量表征和交互对象预测。如前所述,训练后的第一生成网络可以将动态交互图中任意的节点表征为节点向量,因此,对于上述第一目标节点,第一生成网络可以输出其对应的第一目标向量。
为了进行交互对象预测,在一个实施例中,可以确定出与第一目标节点对应的多个备选节点。例如,当第一目标对象为第一类对象时,可以从动态交互图中确定出属于第二类对象的多个备选节点。然后,利用第一生成网络生成各个备选节点对应的备选生成向量。根据第一目标向量和各个备选生成向量,利用公式(1)或(3),计算各个备选节点与第一目标节点交互的概率,选择概率最大的节点作为上述第二目标节点。
于是,第一生成网络除了输出第一目标节点对应的第一目标向量,还可以预测出将与第一目标对象发生交互事件(以下称为预测交互事件)的第二目标节点,并输出其对应的第二目标向量。
然后,在步骤75,将上述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到针对所述预测交互事件的预测发生时间。该步骤与前述步骤24过程相类似,不再赘述。
在以上过程中,利用第一生成网络进行节点向量的表征,并预测与第一目标节点发生交互事件的交互对象;接着利用第二生成网络预测交互事件的发生时间。从而,对于给定的目标对象,交互预测模型可以从交互对象到交互时间,给出全面的预测分析。
根据另一种实施方式,也可以针对假定的两个对象节点,利用交互预测模型预测其未来交互时间。
图8示出根据另一实施例预测交互事件的方法流程图。该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图8所示,首先在步骤81,获取根据上述方法训练得到的交互预测模型,所述交互预测模型包括第一生成网络和第二生成网络。
在步骤82,获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点。该步骤与图2的步骤21相似,不再赘述。
在步骤83,从所述动态交互图中获取有待分析的第一目标节点和第二目标节点。这里,第一目标节点和第二目标节点为指定的两个节点,假定这两个节点代表的对象会在未来发生交互。
接着,在步骤84,通过第一生成网络获取,对应于第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量。在该步骤中,只需要利用第一生成网络进行节点向量表征。表征的方式和过程如前所述,不复赘述。
然后,在步骤85,将第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到预测发生时间;该预测发生时间表示,所述第一目标节点和所述第二目标节点分别代表的对象预期发生交互的时间。
在以上过程中,针对指定的两个目标节点,利用第一生成网络进行节点向量的表征,接着利用第二生成网络预测其未来交互发生时间。从而,对于给定的两个目标对象,交互预测模型可以对其交互时间给出准确的预测分析。
回顾以上过程,在本说明书实施例的方案中,基于交互事件序列构建动态交互图,并基于这样的动态交互图,训练两级级联的对抗生成网络GAN。其中,一级GAN通过对发生交互的对象之间的概率分布进行对抗学习,得到交互图中节点的向量表征;二级GAN基于一级GAN的向量表征,通过对抗训练,学习和预测交互对象之间的交互时间,据此,两级级联GAN可以全面预测交互对象和交互时间。对交互对象的预测,可以用于物品推荐,内容推荐等多种场景。
根据另一方面的实施例,提供了一种训练交互预测模型的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图9示出根据一个实施例的交互预测模型的训练装置的示意性框图。如图9所示,该训练装置90包括:
交互图获取单元91,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
节点对选择单元92,配置为从所述动态交互图中选择样本节点对,所述样本节点对包括第一节点和第二节点,并标注有该样本节点对对应的样本交互事件的真实发生时间;
向量获取单元93,配置为从第一生成网络获取,对应于第一节点的第一生成向量,和对应于第二节点的第二生成向量;从第一判别网络获取,对应于第一节点的第一判别向量,和对应于第二节点的第二判别向量;所述第一生成网络和第一判别网络通过第一对抗训练过程而训练;
时间预测单元94,配置为将所述第一生成向量,第二生成向量和噪声向量,输入第二生成网络,得到针对所述样本交互事件的预测发生时间;
第一输入判别单元95,配置为基于所述第一生成向量,第二生成向量和所述预测发生时间形成第一输入,通过第二判别网络,得到所述第一输入对应于真实事件的第一概率;
第二输入判别单元96,配置为基于所述第一判别向量,第二判别向量和所述真实发生时间形成第二输入,通过所述第二判别网络,得到所述第二输入对应于真实事件的第二概率;
第二对抗训练单元97,配置为执行第二对抗训练过程,包括,以增大第二概率,减小第一概率为目标,训练所述第二判别网络;以增大第一概率为目标,训练所述第二生成网络;训练后的第一生成网络和第二生成网络构成所述交互预测模型。
在一个实施例中,所述第一生成网络和所述第一判别网络为结构相同,参数独立的两个神经网络。
根据一种实施方式,向量获取单元93具体配置为:以所述第一节点为根节点,在所述动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的第一子图;将所述第一子图输入所述第一生成网络,所述第一生成网络根据第一子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为所述第一生成向量。
进一步的,在一个实施例中,第一生成网络包括LSTM层,所述LSTM层将输入子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。
根据一种实施方式,时间预测单元94具体配置为,将所述第一生成向量和第二生成向量进行拼接,作为先验条件向量;从高斯分布中进行采样,得到所述噪声向量;将所述先验条件向量和所述噪声向量拼接后,输入所述第二生成网络。
在一个实施例中,第一输入判别单元95具体配置为:对所述第一生成向量,第二生成向量进行融合操作,得到第一融合向量;将所述第一融合向量和所述预测发生时间进行拼接组合,将组合结果作为所述第一输入。
根据一种实施方式,所述第一对抗训练过程包括:
从所述动态交互图中确定出对应于所述第一节点的多个备选节点,其中包括所述第二节点;
利用所述第一生成网络,生成所述第一生成向量,以及所述多个备选节点分别对应的多个备选生成向量;利用所述第一判别网络,生成所述第一判别向量,以及所述多个备选节点分别对应的多个备选判别向量;
根据所述第一生成向量和所述多个备选生成向量,确定各个备选节点与所述第一节点交互的概率分布,并根据所述概率分布确定与所述第一节点交互的预测节点;
根据所述多个备选判别向量和所述概率分布,拟合所述预测节点的判别向量;
基于所述第一判别向量和所述预测节点的判别向量,确定所述预测节点为真实交互节点的第三概率;并基于所述第一判别向量和所述第二判别向量,确定所述第二节点为真实交互节点的第四概率;
以增大所述第四概率,减小所述第三概率为目标,训练所述第一判别网络;以增大所述第三概率为目标,训练所述第一生成网络。
在一个实施例中,动态交互图中每个节点对中的两个节点分别表示参与该交互事件的第一类对象和第二类对象;并且,在所述第一节点属于第一类对象的情况下,所述多个备选节点均属于第二类对象。
根据一个实施例,可以利用Gumbel-softmax函数,拟合得到各个备选节点与所述第一节点交互的概率分布。
根据一种实施方式,第一对抗训练过程在所述第二对抗训练过程之前完成。
根据另一种实施方式,第一对抗训练过程与所述第二对抗训练过程交替进行。
根据又一方面的实施例,提供了一种预测交互事件的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图10示出根据一个实施例的预测交互事件的装置的示意性框图。如图10所示,该预测装置100包括:
模型获取单元101,配置为获取训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
交互图获取单元102,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
目标节点获取单元103,配置为获取有待分析的第一目标对象,并在所述动态交互图中构建与所述第一目标对象对应的第一目标节点;
目标向量获取单元104,配置为通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;其中,所述第二目标节点为第一生成网络预测的将与所述第一目标对象发生预测交互事件的对象所对应的节点;
时间预测单元105,配置为将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到针对所述预测交互事件的预测发生时间。
根据再一方面的实施例,提供了一种预测交互事件的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图11示出根据一个实施例的预测交互事件的装置的示意性框图。如图11所示,该预测装置110包括:
模型获取单元111,配置为获取根据第四方面的装置训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;;
交互图获取单元112,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
目标节点获取单元113,配置为从所述动态交互图中获取有待分析的第一目标节点和第二目标节点;
目标向量获取单元114,配置为通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;
时间预测单元115,配置为将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到预测发生时间,该预测发生时间表示,所述第一目标节点和所述第二目标节点分别代表的对象预期发生交互的时间。
通过以上训练装置90,基于动态交互图,训练得到基于两级级联GAN的交互预测模型;通过以上预测装置100和110,可以利用训练得到的交互预测模型,对目标对象的交互对象和交互时间进行预测和评估。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (18)
1.一种训练交互预测模型的方法,所述方法包括:
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
从所述动态交互图中选择样本节点对,所述样本节点对包括第一节点和第二节点,并标注有该样本节点对对应的样本交互事件的真实发生时间;
从第一生成网络获取,对应于第一节点的第一生成向量,和对应于第二节点的第二生成向量;从第一判别网络获取,对应于第一节点的第一判别向量,和对应于第二节点的第二判别向量;所述第一生成网络和第一判别网络通过第一对抗训练过程而训练;
将所述第一生成向量,第二生成向量和噪声向量,输入第二生成网络,得到针对所述样本交互事件的预测发生时间;
基于所述第一生成向量,第二生成向量和所述预测发生时间形成第一输入,通过第二判别网络,得到所述第一输入对应于真实事件的第一概率;
基于所述第一判别向量,第二判别向量和所述真实发生时间形成第二输入,通过所述第二判别网络,得到所述第二输入对应于真实事件的第二概率;
执行第二对抗训练过程,其中,以增大第二概率,减小第一概率为目标,训练所述第二判别网络;以增大第一概率为目标,训练所述第二生成网络;训练后的第一生成网络和第二生成网络构成所述交互预测模型。
2.根据权利要求1所述的方法,其中,所述第一生成网络和所述第一判别网络为结构相同,参数独立的两个神经网络。
3.根据权利要求1所述的方法,其中,从第一生成网络获取,对应于第一节点的第一生成向量,包括:
以所述第一节点为根节点,在所述动态交互图中确定出从根节点出发,经由连接边到达的预定范围的节点所形成的第一子图;
将所述第一子图输入所述第一生成网络,所述第一生成网络根据第一子图中各个节点的节点属性特征以及节点之间的连接关系,输出根节点的隐向量作为所述第一生成向量。
4.根据权利要求3所述的方法,其中,所述第一生成网络包括LSTM层,所述LSTM层将输入子图中从叶节点到根节点的各个节点分别作为当前节点,依次迭代处理各个节点,所述迭代处理包括,至少根据当前节点的节点属性特征,以及当前节点通过连接边指向的两个节点的隐向量,确定该当前节点的隐向量。
5.根据权利要求1所述的方法,其中,将所述第一生成向量,第二生成向量和噪声向量,输入第二生成网络,包括:
将所述第一生成向量和第二生成向量进行拼接,作为先验条件向量;
从高斯分布中进行采样,得到所述噪声向量;
将所述先验条件向量和所述噪声向量拼接后,输入所述第二生成网络。
6.根据权利要求1所述的方法,其中,基于所述第一生成向量,第二生成向量和所述预测发生时间形成第一输入,包括:
对所述第一生成向量,第二生成向量进行融合操作,得到第一融合向量;
将所述第一融合向量和所述预测发生时间进行拼接组合,将组合结果作为所述第一输入。
7.根据权利要求1-6中任一项所述的方法,其中,所述第一对抗训练过程包括:
从所述动态交互图中确定出对应于所述第一节点的多个备选节点,其中包括所述第二节点;
利用所述第一生成网络,生成所述第一生成向量,以及所述多个备选节点分别对应的多个备选生成向量;利用所述第一判别网络,生成所述第一判别向量,以及所述多个备选节点分别对应的多个备选判别向量;
根据所述第一生成向量和所述多个备选生成向量,确定各个备选节点与所述第一节点交互的概率分布,并根据所述概率分布确定与所述第一节点交互的预测节点;
根据所述多个备选判别向量和所述概率分布,拟合所述预测节点的判别向量;
基于所述第一判别向量和所述预测节点的判别向量,确定所述预测节点为真实交互节点的第三概率;并基于所述第一判别向量和所述第二判别向量,确定所述第二节点为真实交互节点的第四概率;
以增大所述第四概率,减小所述第三概率为目标,训练所述第一判别网络;以增大所述第三概率为目标,训练所述第一生成网络。
8.根据权利要求7所述的方法,其中,所述动态交互图中每个节点对中的两个节点分别表示参与该交互事件的第一类对象和第二类对象;
所述第一节点属于第一类对象,所述多个备选节点均属于第二类对象。
9.根据权利要求7所述的方法,其中,确定各个备选节点与所述第一节点交互的概率分布,包括:利用Gumbel-softmax函数,拟合得到所述概率分布。
10.根据权利要求7所述的方法,其中,所述第一对抗训练过程在所述第二对抗训练过程之前完成。
11.根据权利要求7所述的方法,其中,所述第一对抗训练过程与所述第二对抗训练过程交替进行。
12.一种预测交互事件的方法,所述方法包括:
获取根据权利要求1的方法训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
获取有待分析的第一目标对象,并在所述动态交互图中构建与所述第一目标对象对应的第一目标节点;
确定出与所述第一目标节点对应的多个备选节点;
通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和各个备选节点对应的备选生成向量;根据所述第一目标向量和各个备选生成向量,计算各个备选节点与第一目标节点交互的概率,选择概率最大的节点作为第二目标节点,将其备选生成向量作为第二目标向量;其中,所述第二目标节点为第一生成网络预测的将与所述第一目标对象发生预测交互事件的对象所对应的节点;
将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到针对所述预测交互事件的预测发生时间。
13.一种预测交互事件的方法,所述方法包括:
获取根据权利要求1的方法训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
从所述动态交互图中获取有待分析的第一目标节点和第二目标节点;
通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;
将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到预测发生时间,该预测发生时间表示,所述第一目标节点和所述第二目标节点分别代表的对象预期发生交互的时间。
14.一种训练交互预测模型的装置,所述装置包括:
交互图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
节点对选择单元,配置为从所述动态交互图中选择样本节点对,所述样本节点对包括第一节点和第二节点,并标注有该样本节点对对应的样本交互事件的真实发生时间;
向量获取单元,配置为从第一生成网络获取,对应于第一节点的第一生成向量,和对应于第二节点的第二生成向量;从第一判别网络获取,对应于第一节点的第一判别向量,和对应于第二节点的第二判别向量;所述第一生成网络和第一判别网络通过第一对抗训练过程而训练;
时间预测单元,配置为将所述第一生成向量,第二生成向量和噪声向量,输入第二生成网络,得到针对所述样本交互事件的预测发生时间;
第一输入判别单元,配置为基于所述第一生成向量,第二生成向量和所述预测发生时间形成第一输入,通过第二判别网络,得到所述第一输入对应于真实事件的第一概率;
第二输入判别单元,配置为基于所述第一判别向量,第二判别向量和所述真实发生时间形成第二输入,通过所述第二判别网络,得到所述第二输入对应于真实事件的第二概率;
第二对抗训练单元,配置为执行第二对抗训练过程,包括,以增大第二概率,减小第一概率为目标,训练所述第二判别网络;以增大第一概率为目标,训练所述第二生成网络;训练后的第一生成网络和第二生成网络构成所述交互预测模型。
15.一种预测交互事件的装置,所述装置包括:
模型获取单元,配置为获取根据权利要求14的装置训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
交互图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
目标节点获取单元,配置为获取有待分析的第一目标对象,并在所述动态交互图中构建与所述第一目标对象对应的第一目标节点;
目标向量获取单元,配置为确定出与所述第一目标节点对应的多个备选节点;通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和各个备选节点对应的备选生成向量;根据所述第一目标向量和各个备选生成向量,计算各个备选节点与第一目标节点交互的概率,选择概率最大的节点作为第二目标节点,将其备选生成向量作为第二目标向量;其中,所述第二目标节点为第一生成网络预测的将与所述第一目标对象发生预测交互事件的对象所对应的节点;
时间预测单元,配置为将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到针对所述预测交互事件的预测发生时间。
16.一种预测交互事件的装置,所述装置包括:
模型获取单元,配置为获取根据权利要求14的装置训练得到的交互预测模型,其中包括第一生成网络,和第二生成网络;
交互图获取单元,配置为获取动态交互图,其中包括多个节点对,每个节点对对应于一个交互事件,其中的两个节点分别表示参与该交互事件的两个对象,任意节点通过连接边指向该节点所代表的对象参与的上一交互事件对应的两个节点;
目标节点获取单元,配置为从所述动态交互图中获取有待分析的第一目标节点和第二目标节点;
目标向量获取单元,配置为通过第一生成网络获取,对应于所述第一目标节点的第一目标向量,和对应于第二目标节点的第二目标向量;
时间预测单元,配置为将所述第一目标向量,第二目标向量和噪声向量,输入第二生成网络,得到预测发生时间,该预测发生时间表示,所述第一目标节点和所述第二目标节点分别代表的对象预期发生交互的时间。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
18.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010955099.6A CN112085279B (zh) | 2020-09-11 | 2020-09-11 | 训练交互预测模型、预测交互事件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010955099.6A CN112085279B (zh) | 2020-09-11 | 2020-09-11 | 训练交互预测模型、预测交互事件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112085279A CN112085279A (zh) | 2020-12-15 |
CN112085279B true CN112085279B (zh) | 2022-09-06 |
Family
ID=73737622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010955099.6A Active CN112085279B (zh) | 2020-09-11 | 2020-09-11 | 训练交互预测模型、预测交互事件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112085279B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580789B (zh) * | 2021-02-22 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 训练图编码网络、预测交互事件的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543935A (zh) * | 2019-08-15 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 处理交互序列数据的方法及装置 |
CN110689110A (zh) * | 2019-08-28 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 处理交互事件的方法及装置 |
US10650306B1 (en) * | 2017-09-29 | 2020-05-12 | Amazon Technologies, Inc. | User representation using a generative adversarial network |
CN111241291A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 利用对抗生成网络生成对抗样本的方法及装置 |
CN111259906A (zh) * | 2020-01-17 | 2020-06-09 | 陕西师范大学 | 含多级通道注意力的条件生成对抗遥感图像目标分割方法 |
CN111444967A (zh) * | 2020-03-30 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 生成对抗网络的训练方法、生成方法、装置、设备及介质 |
CN111523682A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 训练交互预测模型、预测交互对象的方法及装置 |
-
2020
- 2020-09-11 CN CN202010955099.6A patent/CN112085279B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650306B1 (en) * | 2017-09-29 | 2020-05-12 | Amazon Technologies, Inc. | User representation using a generative adversarial network |
CN110543935A (zh) * | 2019-08-15 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 处理交互序列数据的方法及装置 |
CN110689110A (zh) * | 2019-08-28 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 处理交互事件的方法及装置 |
CN111259906A (zh) * | 2020-01-17 | 2020-06-09 | 陕西师范大学 | 含多级通道注意力的条件生成对抗遥感图像目标分割方法 |
CN111444967A (zh) * | 2020-03-30 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 生成对抗网络的训练方法、生成方法、装置、设备及介质 |
CN111241291A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 利用对抗生成网络生成对抗样本的方法及装置 |
CN111523682A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 训练交互预测模型、预测交互对象的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于生成对抗模型的异质信息网络语义表征方法研究;赵瑜;《中文信息学报》;20191115;第33卷(第11期);第83-94页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112085279A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598847B (zh) | 处理交互序列数据的方法及装置 | |
CN110569437B (zh) | 点击概率预测、页面内容推荐方法和装置 | |
CN111210008B (zh) | 利用lstm神经网络模型处理交互数据的方法及装置 | |
US11188928B2 (en) | Marketing method and apparatus based on deep reinforcement learning | |
CN111523682B (zh) | 训练交互预测模型、预测交互对象的方法及装置 | |
CN112085293B (zh) | 训练交互预测模型、预测交互对象的方法及装置 | |
CN110543935B (zh) | 处理交互序列数据的方法及装置 | |
US11250088B2 (en) | Method and apparatus for processing user interaction sequence data | |
CN111814921B (zh) | 对象特征信息获取、对象分类、信息推送方法及装置 | |
CN112580789B (zh) | 训练图编码网络、预测交互事件的方法及装置 | |
CN110555050A (zh) | 一种基于元路径的异构网络节点表示学习方法 | |
CN110689110B (zh) | 处理交互事件的方法及装置 | |
CN111242283B (zh) | 评估交互事件的自编码器的训练方法及装置 | |
CN110490274B (zh) | 评估交互事件的方法及装置 | |
Ailon | Improved bounds for online learning over the permutahedron and other ranking polytopes | |
Chen et al. | Generative inverse deep reinforcement learning for online recommendation | |
CN111476223B (zh) | 评估交互事件的方法及装置 | |
CN112085279B (zh) | 训练交互预测模型、预测交互事件的方法及装置 | |
CN113610610B (zh) | 基于图神经网络和评论相似度的会话推荐方法和*** | |
WO2021139513A1 (zh) | 处理交互序列数据的方法及装置 | |
CN113449176A (zh) | 基于知识图谱的推荐方法及装置 | |
Liu et al. | Ordinal random fields for recommender systems | |
CN112328835A (zh) | 对象的向量表示的生成方法、装置、电子设备及存储介质 | |
CN112541129A (zh) | 处理交互事件的方法及装置 | |
Alinia et al. | Link Prediction for Recommendation based on Complex Representation of Items Similarities |
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 |