CN113283589B - 事件预测***的更新方法及装置 - Google Patents
事件预测***的更新方法及装置 Download PDFInfo
- Publication number
- CN113283589B CN113283589B CN202110631255.8A CN202110631255A CN113283589B CN 113283589 B CN113283589 B CN 113283589B CN 202110631255 A CN202110631255 A CN 202110631255A CN 113283589 B CN113283589 B CN 113283589B
- Authority
- CN
- China
- Prior art keywords
- event
- vector
- node
- network
- intensity
- 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
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Human Resources & Organizations (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例提供了一种事件预测***的更新方法,包括:将基于事件样本序列获取的样本输入事件预测***中进行事件处理,该事件处理包括:通过序列编码网络,确定截至该样本中发生时刻的子序列的序列编码向量,该子序列中各样本均对应第一用户;通过图传播网络,根据该序列编码向量,更新用户关系网络图中与第一用户节点相关的节点表征向量;通过强度拟合网络,根据更新后的节点表征向量,拟合与第一用户对应的事件发生强度函数;通过强度映射网络,将该事件发生强度函数映射至事件类型空间,得到第一用户在多个事件类型下的多个强度函数;之后,基于事件处理得到的多个强度函数和对应第一用户的标签样本,更新上述事件预测***中的网络参数。
Description
技术领域
本说明书一个或多个实施例涉及机器学习技术领域,尤其涉及一种事件预测***的更新方法及装置。
背景技术
随着经济的发展和科技的进步,用户越来越频繁地使用服务平台提供的各式各样的服务,以满足工作、生活中的多种需求。在用户使用服务的过程中,会产生大量的线上和线下行为数据。这些行为数据(或称事件数据、操作数据),反映了用户的个人兴趣、行为偏好,如果能够被深入挖掘并合理利用,可以有效指导服务的优化。在一种数据处理方式中,通过对用户行为序列进行建模,预测用户下一次在什么时间发生什么行为,能够帮助为用户提供贴合其需求的个性化服务,从而提高用户体验。点过程是一种序列建模技术,通过将用户行为抽象为空间的点,将用户行为序列抽象为点过程序列,模拟出后续行为事件发生的强度函数,从而实现对下一事件的预测。
然而,目前已有的点过程算法难以满足实际应用中对事件预测的高要求。因此,需要一种方案,可以有效提高对点过程算法的性能,从而优化事件预测结果的准确度和可用性。
发明内容
本说明书一个或多个实施例描述的事件预测***的更新方法及装置,对点过程算法进行优化,通过优化后的点过程算法得到的强度函数更加精准,从而有效提高事件预测结果的准确度和可用性。
根据第一方面,提供了一种事件预测***的更新方法,包括:从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识。将所述第一事件样本输入事件预测***中进行事件处理,该事件预测***包括序列编码网络、图传播网络、强度拟合网络和强度映射网络;所述事件处理包括:通过所述序列编码网络,确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;通过所述图传播网络,根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;通过所述强度拟合网络,根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;通过所述强度映射网络,将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数。基于所述多个强度函数和对应所述第一用户标识的第二事件样本,更新所述事件预测***中的网络参数;所述第二事件样本对应的第二发生时刻晚于所述第一发生时刻。
在一个实施例中,所述序列编码网络包括线性嵌入子网络和时序子网络;其中,确定截至所述第一发生时刻的子序列的序列编码向量,包括:通过所述线性嵌入子网络,确定所述子序列中各事件样本所对应事件类型的类型嵌入向量;通过所述时序子网络,基于依次输入的对应所述各事件样本的类型嵌入向量,输出所述序列编码向量。
在一个实施例中,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量,包括:将所述第一用户节点作为目标节点,执行针对目标节点的更新操作;其中,所述更新操作包括:根据目标节点对应的目标序列编码向量,该目标节点的目标邻居节点的当前表征向量,以及该目标节点自身的当前表征向量,确定更新后的目标节点的表征向量。
在一个具体的实施例中,在将所述第一用户节点作为目标节点,执行对目标节点表征向量的更新操作之后,所述方法还包括:将所述第一用户节点的邻居节点作为目标节点,并执行所述更新操作。
在一个更具体的实施例中,所述图传播网络包括局部传播层、自传播层、外源传播层和融合层;其中,所述更新操作具体包括:通过所述局部传播层,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量;通过所述自传播层,利用第一参数矩阵对所述目标节点自身的当前表征向量进行线性变换,得到自传播向量;通过所述外源传播层,利用第二参数矩阵对所述目标序列编码向量进行线性变换,得到外源传播向量;通过所述融合层,对所述局部传播向量、自传播向量和外源传播向量进行融合处理,得到所述更新后的目标节点的表征向量。
在一个示例中,所述目标邻居节点为所述目标节点的多个一阶邻居节点;其中,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量,包括:利用所述局部传播层中的权重参数向量,对所述多个一阶邻居节点的当前表征向量进行加权求和,得到所述局部传播向量。
在另一个示例中,所述目标邻居节点包括所述目标节点的多个一阶邻居节点和多个二阶邻居节点;其中,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量,包括:针对各个一阶邻居节点,利用该一阶邻居节点的当前表征向量,确定若干二阶邻居节点的若干当前表征向量对应的若干注意力权重;利用所述若干注意力权重,对所述若干当前表征向量进行加权求和,得到该一阶邻居节点的邻居聚合向量;利用所述局部传播层中的权重参数向量,对述多个一阶邻居节点的多个邻居聚合向量进行加权求和,得到所述局部传播向量。
在一个实施例中,所述事件发生强度函数中包括基准强度,所述强度拟合网络中包括基准强度确定层;其中,确定与所述第一用户对应的事件发生强度函数中的参数值,包括:通过所述基准强度确定层,对所述第一节点表征向量进行线性变换处理和激活处理,得到基准强度。
在一个具体的实施例中,所述事件发生强度函数中还包括历史刺激系数和时间衰减系数,所述强度拟合网络中还包括刺激系数确定层和衰减系数确定层;其中,确定与所述第一用户对应的事件发生强度函数中的参数值,还包括:通过所述刺激系数确定层,根据所述第一节点表征向量,确定所述第一用户节点的若干历史表征向量的若干注意力权重,该若干表征向量基于所述子序列中的若干其他事件样本而得到;并且,针对各个其他事件样本,将其对应的注意力权重和历史表征向量的乘积结果,确定为对应的历史刺激系数;通过所述衰减系数确定层,将所述第一节点表征向量分别与所述若干历史表征向量进行融合处理,得到若干融合向量,并对其中各个融合向量先后进行线性变换和激活处理,得到对应的时间衰减系数。
在一个实施例中,基于所述多个强度函数和对应所述第一用户标识的第二事件样本,更新所述事件预测***中的网络参数,包括:从所述多个强度函数中,确定与所述第二事件样本对应相同事件类型的强度函数;基于所述强度函数和所述第二事件样本对应的发生时刻,更新所述网络参数。
在一个实施例中,所述事件预测***中还包括邻接矩阵预测层;其中,在更新所述事件预测***中的网络参数之前,所述方法还包括:通过所述邻接矩阵预测层,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻阶矩阵;其中,更新所述事件预测***中的网络参数,包括:基于所述多个强度函数和第二事件样本,确定第一损失项;获取真实事件关系网络图,其中包括对应所述多个事件类型的多个类型节点,以及类型节点之间存在因果关系而形成的有向连接边;基于所述真实事件关系网络图的真值邻接矩阵和所述预测邻接矩阵,确定第二损失项;基于所述第一损失项和第二损失项,更新所述网络参数。
在一个具体的实施例中,获取真实事件关系网络图,包括:获取多个用户事件序列,其中各个用户事件序列包括对应用户做出的按照时间顺序排列的多个事件,任意相邻的两个事件所对应的事件类型之间存在所述因果关系;基于所述多个用户事件序列构建所述真实事件关系网络图。
在一个更具体的实施例中,所述真值邻接矩阵中包括所述有向连接边的权重,该权重基于所述因果关系的统计次数而确定。
进一步,在一个示例中,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻阶矩阵,包括:基于所述节点的表征向量,确定所述多个事件类型中各个事件类型的类型表征向量,形成类型表征矩阵;基于所述类型表征矩阵和所述邻接矩阵预测层中的学习参数矩阵,确定所述预测邻接矩阵。
在一个更具体的示例中,在更新所述事件预测***中的网络参数之前,所述方法还包括:将所述第一事件样本的事件类型所对应的类型表征向量,更新为所述第一节点表征向量。
根据第二方面,提供了一种事件预测***的更新装置,包括:序列获取单元,配置为从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识。事件处理单元,配置为将所述第一事件样本输入事件预测***中进行事件处理,该事件预测***包括序列编码网络、图传播网络、强度拟合网络和强度映射网络;所述事件处理单元包括以下模块:编码模块,配置为通过所述序列编码网络,确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;图传播模块,配置为通过所述图传播网络,根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;强度拟合模块,配置为通过所述强度拟合网络,根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;强度映射模块,配置为通过所述强度映射网络,将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数。参数更新单元,配置为基于所述多个强度函数和对应所述第一用户标识的第二事件样本,更新所述事件预测***中的网络参数;所述第二事件样本对应的第二发生时刻晚于所述第一发生时刻。
在一个具体的实施例中,所述图传播模块具体配置为:将所述第一用户节点作为目标节点,执行针对目标节点的更新操作;其中,所述更新操作包括:根据目标节点对应的目标序列编码向量,该目标节点的目标邻居节点的当前表征向量,以及该目标节点自身的当前表征向量,确定更新后的目标节点的表征向量。
在一个具体的实施例中,所述图传播网络包括局部传播层、自传播层、外源传播层和融合层;其中,所述图传播模块执行的更新操作具体包括:通过所述局部传播层,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量;通过所述自传播层,利用第一参数矩阵对所述目标节点自身的当前表征向量进行线性变换,得到自传播向量;通过所述外源传播层,利用第二参数矩阵对所述目标序列编码向量进行线性变换,得到外源传播向量;通过所述融合层,对所述局部传播向量、自传播向量和外源传播向量进行融合处理,得到所述更新后的目标节点的表征向量。
在一个更具体的实施例中,所述目标邻居节点包括所述目标节点的多个一阶邻居节点和多个二阶邻居节点;其中,所述图传播模块通过执行所述更新操作得到局部传播向量,具体包括:针对各个一阶邻居节点,利用该一阶邻居节点的当前表征向量,确定若干二阶邻居节点的若干当前表征向量对应的若干注意力权重;利用所述若干注意力权重,对所述若干当前表征向量进行加权求和,得到该一阶邻居节点的邻居聚合向量;利用所述局部传播层中的权重参数向量,对述多个一阶邻居节点的多个邻居聚合向量进行加权求和,得到所述局部传播向量。
在一个实施例中,所述事件发生强度函数中包括基准强度,所述强度拟合网络中包括基准强度确定层;其中,所述强度拟合模块具体配置为:通过所述基准强度确定层,对所述第一节点表征向量进行线性变换处理和激活处理,得到基准强度。
在一个更具体的实施例中,所述事件发生强度函数中还包括历史刺激系数和时间衰减系数,所述强度拟合网络中还包括刺激系数确定层和衰减系数确定层;其中,所述强度拟合模块还配置为:通过所述刺激系数确定层,根据所述第一节点表征向量,确定所述第一用户节点的若干历史表征向量的若干注意力权重,该若干表征向量基于所述子序列中的若干其他事件样本而得到;并且,针对各个其他事件样本,将其对应的注意力权重和历史表征向量的乘积结果,确定为对应的历史刺激系数;通过所述衰减系数确定层,将所述第一节点表征向量分别与所述若干历史表征向量进行融合处理,得到若干融合向量,并对其中各个融合向量先后进行线性变换和激活处理,得到对应的时间衰减系数。
在一个实施例中,所述事件预测***中还包括邻接矩阵预测层;所述装置还包括邻阶矩阵预测单元,配置为:通过所述邻接矩阵预测层,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻阶矩阵。其中,所述参数更新单元具体配置为:基于所述多个强度函数和第二事件样本,确定第一损失项;获取真实事件关系网络图,其中包括对应所述多个事件类型的多个类型节点,以及类型节点之间存在因果关系而形成的有向连接边;基于所述真实事件关系网络图的真值邻接矩阵和所述预测邻接矩阵,确定第二损失项;基于所述第一损失项和第二损失项,更新所述网络参数。
根据第三方面,提供一种事件预测***,包括:输入层,用于从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识;序列编码网络,用于确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;图传播网络,用于根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;强度拟合网络,用于根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;强度映射网络,用于将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数;输出层,用于基于所述多个强度函数,输出与所述第一用户标识对应的事件预测结果,该事件预测结果中包括预测事件类型和预测发生时刻。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第五方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
在本说明书实施例提供的方法和装置中,创新性地提出一种基于神经网络搭建的事件预测***框架,在此事件预测***的训练过程中,利用深度神经网络对事件样本进行特征抽取,以及在隐空间(或简称隐空间)中对强度函数的参数进行拟合,再将该强度函数映射回事件类型空间,从而得到各个事件类型对应的强度函数,进而结合标签样本实现对事件预测***的更新。进一步,在更新过程中,还可以引入图正则化处理,从而得到更好的训练效果。由此,通过多次迭代训练,可以得到训练好的事件预测***,从而用于建模目标用户的目标事件序列的强度函数,通过采用如此得到的更加精准、灵活性更高的强度函数,可以实现对未来在目标事件序列之后的下一事件的精准预测。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的更新事件预测***的实施架构图;
图2示出根据一个实施例的事件预测***的更新方法流程图;
图3示出根据一个示例的事件样本序列;
图4示出根据一个实施例的事件预测***的结构示意图;
图5示出根据一个实施例的事件预测***的更新装置结构图。
具体实施方式
下面将结合上述附图,对本说明书提供的方案进行描述。
如前所述,点过程可以用于事件序列的建模,从而实现事件预测。点过程算法的关键在于确定条件强度函数(conditional intensity function),条件强度函数可以被定义为下式:
其中,λt表示t时刻的强度;符号:=表示定义为;表示截至t时刻发生的历史事件;表示在给定的条件下,在时间间隔(t,t+Δ]内发生事件的期望数量。需理解,公式(1)示出的是强度函数的定义,而实际使用的强度函数是以时刻t为自变量,以强度为因变量的函数。
在根据历史事件建模强度函数后,可用其预测下一事件的发生时刻和事件类型。需理解,通过建模可以得到有限数量的事件类型中各个事件类型下的强度函数。
在强度函数的一种使用方式中,可以先根据强度函数计算事件传播至时刻t的概率密度函数:
其中,表示在需要预测的第i+1个事件之前,给定的历史事件;的函数值表示在t时刻发生第i+1个事件的概率密度;λ(t)=∑kλk(t),λk(t)表示第k个事件类型下的强度函数;ti表示第i个事件的发生时刻。需理解,也可被简写为pi+1(t)。
在得到概率密度函数pi+1(t)之后,可以分别根据以下公式(3)和公式(4),计算下一事件的发生时刻和事件类型。
举例来说,假如给定的某个用户的历史事件序列为:中午12点吃饭→下午1点睡觉→下午3点打球,据此建模强度函数后,可以预测出下一事件为:晚上6点吃饭。如此,可以基于历史事件序列建模强度函数,进而预测下一事件的发生时刻和事件类型。
由上可知,强度函数的建模效果决定了事件预测结果的准确度,因而至关重要。据此,本说明书实施例披露一种事件预测***,在此事件预测***中,利用深度神经网络对历史事件序列中的事件进行特征抽取,以及在隐空间(或简称隐空间)中对强度函数的参数进行拟合,再将该强度函数映射回事件类型空间,从而得到各个事件类型对应的可用性极高的强度函数。
图1示出根据一个实施例的更新事件预测***的实施架构图。如图1所示,根据用户u在时刻t做出类型c的事件的行为记录,得到对应的历史事件样本(或简称事件样本),相应,可以获取按照时间顺序排列的多个事件样本,形成事件样本序列,其中第i个事件样本xi的样本属性包括第i个事件的发生时刻ti,事件类型ci和用户标识ui,在图1中,ti-1<ti<ti+1。进一步,基于获取的事件样本序列,将其中各个事件样本依次输入事件预测***中进行事件处理,该事件处理包括依次利用序列编码网络101、图传播网络102、强度拟合网络103和强度映射网络104进行处理,分别对应得到序列编码向量、针对用户关系网络图中节点的更新后表征向量、隐空间的强度函数和事件类型空间的强度函数;之后,利用事件类型空间的强度函数和标签事件样本,更新事件预测***中的网络参数。如此,可以实现事件预测***的更新,并且,将更新后的事件预测***用于建模目标用户的目标事件序列的强度函数,可以得到更加精准的、灵活性更高的强度函数,从而实现对续接在目标事件序列之后的下一事件的精准预测。
下面结合图1、图2,以及具体的实施例,介绍上述发明构思的实施步骤。图2示出根据一个实施例的事件预测***的更新方法流程图。可以理解,所述更新方法的执行主体可以是任何具有计算、处理能力的平台、装置或设备集群。如图2所示,所述方法包括以下步骤:
步骤S210,从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识。步骤S220,将上述第一事件样本输入事件预测***中进行事件处理,该事件预测***包括序列编码网络101、图传播网络102、强度拟合网络103和强度映射网络104;其中事件处理包括:步骤S221,通过序列编码网络101,确定截至上述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应上述第一用户标识;步骤S222,通过图传播网络102,根据上述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;步骤S223,通过强度拟合网络103,根据更新后的上述第一用户节点的第一节点表征向量,确定与上述第一用户标识对应的事件发生强度函数中的参数值;步骤S224,通过强度映射网络104,将上述事件发生强度函数映射至事件类型空间,得到上述第一用户标识在多个事件类型下的多个强度函数。步骤S230,基于上述多个强度函数和对应上述第一用户标识的第二事件样本,更新上述事件预测***中的网络参数;上述第二事件样本对应的第二发生时刻晚于上述第一发生时刻。
针对以上步骤,首先需要说明的是,上述“第一事件样本”、“第一发生时刻”等中的“第一”,“第二事件样本”中的“第二”,以及文中他处的类似用语,均是为了区分同类事物,不具有排序等其他限定作用。
对以上步骤的展开介绍如下:
首先,在步骤S210,从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本。第一事件样本还可以称为当前待处理的样本、或待处理的当前样本。
第一事件样本的样本属性包括对应的第一事件的第一发生时刻,该第一发生时刻的精度可以根据需要设定,例如,精确到分(min)、秒(s)、天或月等。第一事件的样本属性还包括该第一事件的实施主体的主体标识,或称第二用户标识,主体标识可以是数字编号,或者数字和字母组成的序列号等。第一事件具有第一事件类型,相应,第一事件样本的样本属性中还可以包括该第一事件类型。
对于上述事件样本序列的获取,在一个实施例中,可以先定义离散的事件类型空间,其中包括有限数量的多种事件类型,之后,根据该多种事件类型,对用户行为事件进行埋点采集,采集得到大量的用户事件,再根据发生时刻的先后顺序,对采集的用户事件进行排序。进一步,在一个具体的实施例中,可以将排序得到的事件总序列直接作为上述事件样本序列。在另一个具体的实施例中,考虑到采集的用户事件数量较为庞大,而实际工程应用中的计算能力往往有限,因此,可以对排序得到的事件总序列进行滑窗采样,并利用滑窗滑取多个窗口序列,并在迭代训练的多个轮次中的任一轮次,从该多个窗口序列中抽取任一窗口序列,作为该训练轮次使用的事件样本序列。
由此,在获取事件样本序列后,依次获取其中的事件样本作为第一事件样本。在步骤S220,将该第一事件样本输入事件预测***中进行事件处理。为清楚描述,将第一事件样本记作事件样本xi,其中包括第i个事件的发生时刻ti,事件类型ci和用户标识ui。
上述事件处理包括以下步骤:
需理解,其中子序列是上述事件样本序列的子序列,子序列中的事件样本同样按照时间顺序排列,该子序列中包括发生在时刻ti的事件样本xi和发生在时刻ti之前的同样对应用户标识ui的事件样本。在一种可能的情况中,事件样本序列中仅包括事件样本xi。在一个例子中,图3示出根据一个示例的事件样本序列,即,x0→x1→x2→x3→x4→x5......。假定事件样本xi为x4,则可以得到截至2月10日的对应用户小白的子序列为x0→x2→x4。
在一个实施例中,如图4所示,序列编码网络101中包括线性嵌入子网络1011和时序子网络1012。基于此,在一个具体的实施例中,本步骤可以包括:通过线性嵌入子网络1011,确定上述子序列中各样本所对应事件类型的类型嵌入向量;再通过时序子网络1012,基于依次输入的对应该各样本的类型嵌入向量,输出序列编码向量在一个示例中,时序子网络1021可以实现为循环神经网络RNN或长短期时序记忆网络LSTM等。在另一个具体的实施例中,上述子序列中除事件样本xi以外的其他事件样本组成的样本序列对应上一序列编码向量相应,本步骤可以包括:通过线性嵌入子网络1011,确定事件样本xi的事件类型ci的类型嵌入向量再通过时序子网络1012,基于上一序列编码向量和类型嵌入向量输出序列编码向量在一个示例中,假定时序子网络1021实现为LSTM网络,相应,可以将序列编码向量的计算过程表示为
步骤S222,通过图传播网络102,根据上述序列编码向量,更新用户关系网络图中第一用户节点(记作)和其邻居节点的节点表征向量。需理解,其中第一用户节点对应上述第一用户标识ui,换言之,第一用户节点和第一用户标识ui均唯一对应同一用户。
需说明,上述用户关系网络图用于表征多个用户之间的关系,其中包括对应该多个用户的多个用户节点,以及用户节点之间存在关联关系而形成的连接边。在一个示例中,用户节点间的关联关系可以包括社交关系,例如,某两个用户是社交平台中的好友,或者,即使通讯的频次(如消息收发条数、累计通讯天数)超过预设阈值。在另一个示例中,用户节点间的关联关系可以包括亲戚关系,例如,母女、爷孙等。
在一个实施例中,本步骤可以包括:将所述第一用户节点作为目标节点(记作Nodeo),执行针对目标节点的表征向量的更新操作。此更新操作包括:根据目标节点Nodeo对应的目标序列编码向量该目标节点Nodeo的目标邻居节点(记作Noder,且 表示目标节点的邻居节点集)的当前表征向量以及该目标节点自身的当前表征向量确定更新后的目标节点的表征向量其中,
在一个具体的实施例中,如图4所示,图传播网络102包括局部传播层1021、自传播层1022、外源传播层1023和融合层1024。基于此,上述更新操作具体包括:通过局部传播层1021,对上述目标邻居节点的当前表征向量进行处理得到局部传播向量通过自传播层1022,利用第一参数矩阵W1对上述目标节点自身的当前表征向量进行线性变换,得到自传播向量通过外源传播层1023,利用第二参数矩阵W2对上述目标序列编码向量进行线性变换,得到外源传播向量通过融合层1024,对上局部传播向量自传播向量和外源传播向量进行融合处理,得到更新后的目标节点的表征向量
对于上述通过局部传播层1021确定局部传播向量在一个更具体的实施例中,上述目标邻居节点为多个一阶邻居节点,相应,可以利用局部传播层1021中的权重参数向量w,对该多个一阶邻居节点的当前表征向量进行加权求和,得到,具体可以表示为计算式:
在另一个更具体的实施例中,上述目标邻居节点包括多个一阶邻居节点和多个二阶邻居节点,并将一阶邻居节点记作Node r1,将二阶邻居节点记作Node r2。相应,局部传播向量的确定可以包括:针对各个一阶邻居节点,先利用该一阶邻居节点的当前表征向量确定若干二阶邻居节点的若干当前表征向量(记作)对应的若干注意力权重(记作),需理解,其中表示该若干二阶邻居节点是该一阶邻居节点的一阶邻居,并且,本文中的若干指代一个多个。然后,利用该若干注意力权重,对该若干当前表征向量进行加权求和,得到该一阶邻居节点的邻居聚合向量接着,利用局部传播层1021中的权重参数向量w,对上述多个一阶邻居节点的多个邻居聚合向量进行加权求和,得到局部传播向量
在公式(6)中,score表示注意力分数,其求解方式有多种。在一个具体的例子中,局部传播层1021中包括注意力打分子层,相应,可以将对应的两个向量进行拼接后输入该注意力打分子层,从而得到对应的注意力分数。在另一个具体的例子中,可以计算两个向量之间的相似度,作为对应的注意力分数。
对于上述通过融合层1024进行的融合处理,在一个实施例中,此融合处理可以包括相加处理、平均处理、或加权求和处理。
根据一个具体的例子,可以采用下式(7)进行上述更新操作,对其中数学符号的描述可参见上文。
以上,对针对目标节点表征向量的更新操作进行介绍。在将第一用户节点作为目标节点,执行针对目标节点的更新操作之后,可以得到更新后的第一用户节点的节点表征向量进一步,在一个具体的实施例中,在得到此节点表征向量之后,本步骤中还可以包括:基于此节点表征向量更新第一用户节点的邻居节点的表征向量。如此,可以实现上述事件样本xi中的事件信息在用户关系网络图中的传播。需理解,更新所对应的邻居节点的阶数,可以根据实际需求设定,例如,设定为1阶,或者,2阶以内。此外,针对第一用户节点采用的表征向量更新方式,与针对其邻居节点采用的表征向量更新方式之间,可以相同也可以不同。在一个示例中,可以将第一用户节点的各个邻居节点分别作为上述目标节点,并执行上述更新操作,得到更新后的邻居节点的节点表征向量。在另一个示例中,将第一用户节点的各个邻居节点分别作为中心节点,进行多阶邻居聚合操作,得到更新后的该各个邻居节点的节点表征向量。其中多阶邻居聚合操作可以借鉴图神经网络中常用的邻居聚合操作。
之后,在步骤S223,通过强度拟合网络103,根据更新后的第一用户节点的第一节点表征向量确定与上述第一用户标识对应的事件发生强度函数中的参数值。需理解,事件发生强度函数的数学形式可以是预先设定的,其中包括因变量时刻t以及参数项,参数项的数值可以基于强度拟合网络103和其输入而确定。
在一个实施例中,事件发生强度函数可以表示为下式:
在公式(8)中,表示用户标识ui在隐空间(标记为h)的事件强度函数,t∈[ti,ti+1),表示与用户标识ui对应的子序列中,第j个事件样本中包含的事件发生时刻;表示基准强度;αj,i和δj,i分别表示子序列中第j个事件样本对第i个事件样本的历史刺激系数和时间衰减系数;表示向量间的对位相乘运算。
进一步,在一个具体的实施例中,如图4所示,强度拟合网络103中包括基准强度确定层1031、刺激系数确定层1032和衰减系数确定层1033,分别用于确定公式(8)中的基准强度历史刺激系数αj,i和时间衰减系数δj,i。
在一个更具体的实施例中,通过基准强度确定层1031,对第一节点表征向量进行线性变换处理,和/或,激活处理,得到基准强度在一个具体的例子中,先利用权重矩阵对第一节点表征向量进行线形变换处理,之后对线形变换处理的结果进行激活处理,计算过程可以表示为下式:
其中,σ(·)表示机器学习中的激活函数;Wμ和bμ分别表示基准强度确定层1031中的权重矩阵和偏置向量,均为需要学习的训练参数。
在一个更具体的实施例中,通过刺激系数确定层1032,根据第一节点表征向量确定第一用户节点的若干历史表征向量(记作)的若干注意力权重(记作{βj,i,j∈[1,i-1]}),该若干表征向量基于所述子序列中的若干其他事件样本(记作{xj,j∈[1,i-1]})而得到;并且,针对各个其他事件样本xj,将其对应的注意力权重βj,i和历史表征向量的乘积结果确定为对应的历史刺激系数αj,i。需理解,对历史表征向量的确定,可以参见对第一节点表征向量的确定,在此不作赘述。
对于上述注意力权重βj,i的确定,在一个示例中,针对任一历史表征向量可以先利用第一节点表征向量确定该历史表征向量的注意力分数ωj,i,再对若干历史表征向量对应的若干注意力分数进行归一化处理,得到上述若干注意力权重。对于注意力分数ωj,i的确定,在一个具体的例子中,可以计算和之间的向量相似度,作为注意力分数ωj,i。在另一个具体的例子中,可以基于下式(10)计算注意力分数ωj,i。
在公式(10)中,[·;·]表示向量间的拼接;V和Wω是刺激系数确定层1032中需要学习的参数矩阵。
对于上述归一化处理,在一个具体的例子中,可以利用softmax函数实现归一化处理;在另一个具体的例子中,可以采用求占比的方式实现对注意力分数的归一化处理。
如此,可以利用刺激系数确定层1032确定历史刺激系数αj,i。注意到,历史刺激系数αj,i用于基于子序列捕捉事件之间激励作用的长期依赖。在学习过程中,历史刺激系数αj,i的取值可以为负,从而实现对抑制作用的捕捉。
在一个更具体的实施例中,通过衰减系数确定层1033,将第一节点表征向量分别与若干历史表征向量进行融合处理,得到若干融合向量,并对其中各个融合向量先后进行线性变换和激活处理,得到对应的时间衰减系数δj,i。在一个示例中,该融合处理可以包括拼接处理、相加处理、或对位相乘处理等。在一个具体的例子中,在衰减系数确定层1033中可以利用下式(11)计算出时间衰减系数δj,i。
其中,[·;·]表示向量间的拼接;Wδ和bδ分别是衰减系数确定层1033中需要学习的参数矩阵和偏置向量。
如此,可以利用衰减系数确定层1033确定时间衰减系数δj,i。
以上,可以通过强度拟合网络103中的基准强度确定层1031、刺激系数确定层1032和衰减系数确定层1033,确定出基准强度历史刺激系数αj,i和时间衰减系数δj,i的取值,进而在隐空间拟合出事件发生强度函数函数形式可参见公式(8)。可以理解,在子序列中仅包括事件样本xi的情况下,历史刺激系数αj,i和时间衰减系数δj,i均为0,因而只需确定基准强度
在另一个实施例中,事件发生强度函数的形式还可以表示为下式:
然后,在步骤S224,通过强度映射网络104,将事件发生强度函数映射到以事件类型为空间维度的事件类型空间,得到映射后的函数中的多个向量元素即为在多个事件类型下的多个强度函数,RK中的K等于多个事件类型的总数。
在一个具体的实施例中,强度映射网络104可以实现为以softplus函数为激活函数的全连接网络。在另一个具体的实施例中,强度映射网络104可以实现为多层全连接网络。
如此,可以得到第一用户标识ui在多个事件类型下的多个强度函数。接着,在步骤S230,基于该多个强度函数和对应上述第一用户标识ui的第二事件样本xi+1,更新上述事件预测***中的网络参数。其中第二事件样本xi+1被作为标签样本,其对应的第二发生时刻ti+1晚于上述第一事件样本xi对应的第一发生时刻ti。需理解,历史上,第一用户标识ui所标识的第一用户在做出第一事件样本中的第一事件后,接着做出第二事件样本xi+1中的第二事件;此外,第二事件样本xi+1可能被包含在上述事件样本序列中,也可能没有被包含在其中。
在一个实施例中,本步骤中可以包括:从上述对应多个事件类型的多个强度函数中,确定与所述第二事件样本xi+1对应相同事件类型的强度函数(记作或);基于此强度函数和第二事件样本xi+1对应的发生时刻ti+1,更新事件预测***中的网络参数。在一个具体的实施例中,可以基于强度函数和发生时刻ti+1,确定训练损失,从而利用该训练损失更新网络参数。在另一个具体的实施例中,可以基于强度函数发生时刻ti+1,以及其他K-1个事件类型对应的强度函数,确定训练损失,从而利用该训练损失更新网络参数。进一步,在一个示例中,基于负对数似然函数(negativelog-likelihood)计算训练损失,如下公式(13)所示。
在一个实施例中,通过设计图正则化(Graph Regularization)处理,建模事件类型之间的传播,从而进一步提高上述事件预测***的训练效果。具体,如图4所示,上述事件预测***中还包括邻接矩阵预测层105。在本步骤之前,所述方法还包括:通过邻接矩阵预测层105,根据上述用户关系网络图中节点的表征向量,确定基于上述多个事件类型构建的虚拟事件关系网络图的预测邻阶矩阵。基于此,本步骤中可以包括:一方面,基于上述多个强度函数和第二事件样本xi+1,确定第一损失项;另一方面,获取真实事件关系网络图,其中包括对应上述多个事件类型的多个类型节点,以及类型节点之间存在因果关系而形成的有向连接边;基于上述真实事件关系网络图的真值邻接矩阵和上述预测邻接矩阵,确定第二损失项;进而基于该第一损失项和第二损失项,更新事件预测***的网络参数。
在一个具体的实施例中,对于上述虚拟事件关系网络图的构建包括:设计与上述K个事件类型对应的K个节点,然后建立任意两个节点之间的有向连接边,相应可以得到边集合ε={epq}KxK,其中epq表示节点p是节点q的父节点,也即,类型p的事件可以导致类型q的事件的发生,二者之间存在事件类型p为因且事件类型q为果的因果关系。需说明,邻接矩阵用于记录关系网络图中节点之间的连接关系,例如,若关系网络图中存在从节点i指向节点j的有向边,则邻接矩阵B中的元素bpq=1,否则bpq=0。上述预测邻阶矩阵意味,其中矩阵元素的值是通过预测得到的,相应,若预测值为0,则表示对应有向边的连接强度低,等同于不存在;若预测出的数值越大,则表示对应有向边的连接强度越高。或者,可以认为矩阵元素的预测值是对应连接边的连接权重。
在一个具体的实施例中,对于上述预测邻阶矩阵的确定可以包括:基于用户关系网络图中节点的表征向量,确定上述多个事件类型中各个事件类型的类型表征向量,形成类型表征矩阵H;然后,基于该类型表征矩阵H和邻接矩阵预测层105中的学习参数矩阵,确定上述预测邻接矩阵A。
在一个更具体的实施例中,对于各个事件类型的类型表征向量的确定,在一个示例中,在上述步骤S222中,通过图传播网络102将第一用户节点的表征向量更新为之后,可以将事件样本xi中事件类型ci对应的类型表征向量更新为在另一个示例中,在上述步骤S222中,通过图传播网络102将第一用户节点的表征向量更新为之后,可以将事件样本xi中事件类型ci对应的当前类型表征向量更新为其与之间的均值。如此,通过将上述事件序列中的各个事件样本依次作为第一事件样本,可以得到多个事件类型对应的多个类型表征向量。
在一个更具体的实施例中,上述预测邻接矩阵A可以采用下式(14)计算得到:
A=HΩHT (14)
在公式(14)中,H表示上述类型表征矩阵,Ω表示邻接矩阵预测层105中的学习参数矩阵,T表示矩阵的转置运算。
在一个具体的实施例中,上述获取真实事件关系网络图,可以包括:获取多个用户事件序列,其中各个用户事件序列包括对应用户做出的按照时间顺序排列的多个事件,任意相邻的两个事件所对应的事件类型之间存在因果关系;基于该多个用户事件序列构建上述真实事件关系网络图。需理解,真值邻接矩阵记录真实事件关系网络图中节点之间的连接关系。在一个更具体的实施例中,真值邻接矩阵中还记录有向连接边的权重,该权重基于上述因果关系的统计次数而确定。在一个示例中,可以根据用户事件序列,统计出任意两个事件类型之间的传播次数,再通过下式计算出任意两个事件类型所对应节点之间的连接边权重。
式(15)中,Npq表示事件类型p传播到事件类型q的统计次数,Nmax表示所有统计次数中的最大值,epq表示节点p指向节点q的连接边的权重。
在一个具体的实施例中,基于上述真值邻接矩阵和预测邻接矩阵,确定第二损失项,可以实施为:采用KL散度(KL-divergence)或其他可以量化矩阵间距离的方式,确定第二损失项Lgraph。
需说明,对于第一损失项的确定,可以参见前述实施例中的相关描述。在确定第一损失项和第二损失项以后,以减小第一损失项和第二损失项间的综合损失为目标,更新上述事件预测***的网络参数。在一个示例中,该综合损失的计算式为:
min-Lnll+γLgraph (16)
在公式(16)中,第一损失项实现为Lnll,且Lnll的含义可参见公式(13);Lgraph表示第二损失项;γ表示Lgraph的权重系数,为超参,例如,可以设定为0.02。
以上,可以通过引入图正则化处理,实现对事件预测***的更加有效的训练。
综上,在本说明书实施例中,创新性地提出一种基于神经网络搭建的事件预测***框架,在此事件预测***的训练过程中,利用深度神经网络对事件样本进行特征抽取,以及在隐空间(或简称隐空间)中对强度函数的参数进行拟合,再将该强度函数映射回事件类型空间,从而得到各个事件类型对应的强度函数,进而结合标签样本实现对事件预测***的更新。进一步,在更新过程中,还可以引入图正则化处理,从而得到更好的训练效果。由此,通过多次迭代训练,可以得到训练好的事件预测***,从而用于建模目标用户的目标事件序列的强度函数,通过采用如此得到的更加精准、灵活性更高的强度函数,可以实现对未来在目标事件序列之后的下一事件的精准预测。
与上述更新方法相对应的,本说明书实施例还披露一种更新装置。图5示出根据一个实施例的事件预测***的更新装置结构图。如图5所示,所示装置500包括:
序列获取单元510,配置为从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识。事件处理单元520,配置为所述第一事件样本输入事件预测***中进行事件处理,该事件预测***包括序列编码网络、图传播网络、强度拟合网络和强度映射网络;所述事件处理单元520包括以下模块:编码模块521,配置为通过所述序列编码网络,确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;图传播模块522,配置为通过所述图传播网络,根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;强度拟合模块523,配置为通过所述强度拟合网络,根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;强度映射模块524,配置为通过所述强度映射网络,将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数。参数更新单元530,配置为基于所述多个强度函数和对应所述第一用户标识的第二事件样本,更新所述事件预测***中的网络参数;所述第二事件样本对应的第二发生时刻晚于所述第一发生时刻。
在一个实施例中,所述序列编码网络包括线性嵌入子网络和时序子网络;所述编码模块521具体配置为:通过所述线性嵌入子网络,确定所述子序列中各事件样本所对应事件类型的类型嵌入向量;通过所述时序子网络,基于依次输入的对应所述各事件样本的类型嵌入向量,输出所述序列编码向量。
在一个实施例中,图传播模块522具体配置为:将所述第一用户节点作为目标节点,执行针对目标节点的更新操作;其中,所述更新操作包括:根据目标节点对应的目标序列编码向量,该目标节点的目标邻居节点的当前表征向量,以及该目标节点自身的当前表征向量,确定更新后的目标节点的表征向量。
在一个具体的实施例中,所述图传播模块522还配置为:将所述第一用户节点的邻居节点作为目标节点,并执行所述更新操作。
在一个具体的实施例中,所述图传播网络包括局部传播层、自传播层、外源传播层和融合层;其中,所述更新操作具体包括:通过所述局部传播层,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量;通过所述自传播层,利用第一参数矩阵对所述目标节点自身的当前表征向量进行线性变换,得到自传播向量;通过所述外源传播层,利用第二参数矩阵对所述目标序列编码向量进行线性变换,得到外源传播向量;通过所述融合层,对所述局部传播向量、自传播向量和外源传播向量进行融合处理,得到所述更新后的目标节点的表征向量。
在一个更具体的实施例中,所述目标邻居节点为所述目标节点的多个一阶邻居节点;所述图传播模块522通过执行所述更新操作得到局部传播向量,具体包括:利用所述局部传播层中的权重参数向量,对所述多个一阶邻居节点的当前表征向量进行加权求和,得到所述局部传播向量。
在另一个更具体的实施例中,所述目标邻居节点包括所述目标节点的多个一阶邻居节点和多个二阶邻居节点;所述图传播模块522通过执行所述更新操作得到局部传播向量,具体包括:针对各个一阶邻居节点,利用该一阶邻居节点的当前表征向量,确定若干二阶邻居节点的若干当前表征向量对应的若干注意力权重;利用所述若干注意力权重,对所述若干当前表征向量进行加权求和,得到该一阶邻居节点的邻居聚合向量;利用所述局部传播层中的权重参数向量,对述多个一阶邻居节点的多个邻居聚合向量进行加权求和,得到所述局部传播向量。
在一个实施例中,所述事件发生强度函数中包括基准强度,所述强度拟合网络中包括基准强度确定层;其中,所述强度拟合模块523具体配置为:通过所述基准强度确定层,对所述第一节点表征向量进行线性变换处理和激活处理,得到基准强度。
在一个具体的实施例中,所述事件发生强度函数中还包括历史刺激系数和时间衰减系数,所述强度拟合网络中还包括刺激系数确定层和衰减系数确定层;所述强度拟合模块523还配置为:通过所述刺激系数确定层,根据所述第一节点表征向量,确定所述第一用户节点的若干历史表征向量的若干注意力权重,该若干表征向量基于所述子序列中的若干其他事件样本而得到;并且,针对各个其他事件样本,将其对应的注意力权重和历史表征向量的乘积结果,确定为对应的历史刺激系数;通过所述衰减系数确定层,将所述第一节点表征向量分别与所述若干历史表征向量进行融合处理,得到若干融合向量,并对其中各个融合向量先后进行线性变换和激活处理,得到对应的时间衰减系数。
在一个实施例中,所述参数更新单元530具体配置为:从所述多个强度函数中,确定与所述第二事件样本对应相同事件类型的强度函数;基于所述强度函数和所述第二事件样本对应的发生时刻,更新所述网络参数。
在一个实施例中,所述事件预测***中还包括邻接矩阵预测层;所述装置500还包括:邻阶矩阵预测单元540,配置为通过所述邻接矩阵预测层,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻阶矩阵。所述更新单元530具体配置为:基于所述多个强度函数和第二事件样本,确定第一损失项;获取真实事件关系网络图,其中包括对应所述多个事件类型的多个类型节点,以及类型节点之间存在因果关系而形成的有向连接边;基于所述真实事件关系网络图的真值邻接矩阵和所述预测邻接矩阵,确定第二损失项;基于所述第一损失项和第二损失项,更新所述网络参数。
在一个具体的实施例中,所述更新单元530配置为获取真实事件关系网络图,包括:获取多个用户事件序列,其中各个用户事件序列包括对应用户做出的按照时间顺序排列的多个事件,任意相邻的两个事件所对应的事件类型之间存在所述因果关系;基于所述多个用户事件序列构建所述真实事件关系网络图。
在一个更具体的实施例中,所述真值邻接矩阵中包括所述有向连接边的权重,该权重基于所述因果关系的统计次数而确定。
另一方面,在一个具体的实施例中,邻阶矩阵预测单元540具体配置为:基于所述节点的表征向量,确定所述多个事件类型中各个事件类型的类型表征向量,形成类型表征矩阵;基于所述类型表征矩阵和所述邻接矩阵预测层中的学习参数矩阵,确定所述预测邻接矩阵。
在一个更具体的实施例中,所述装置还包括:向量更新单元550,配置为将所述第一事件样本的事件类型所对应的类型表征向量,更新为所述第一节点表征向量。
综上,在本说明书实施例中,创新性地提出一种基于神经网络搭建的事件预测***框架,在此事件预测***的训练过程中,利用深度神经网络对事件样本进行特征抽取,以及在隐空间(或简称隐空间)中对强度函数的参数进行拟合,再将该强度函数映射回事件类型空间,从而得到各个事件类型对应的强度函数,进而结合标签样本实现对事件预测***的更新。进一步,在更新过程中,还可以引入图正则化处理,从而得到更好的训练效果。由此,通过多次迭代训练,可以得到训练好的事件预测***,从而用于建模目标用户的目标事件序列的强度函数,通过采用如此得到的更加精准、灵活性更高的强度函数,可以实现对未来在目标事件序列之后的下一事件的精准预测。
根据再一方面的实施例,本说明书实施例还披露一种事件预测***。所述事件预测***中包括:输入层,用于从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识;序列编码网络,用于确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;图传播网络,用于根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;强度拟合网络,用于根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;强度映射网络,用于将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数;输出层,用于基于所述多个强度函数,输出与所述第一用户标识对应的事件预测结果,该事件预测结果中包括预测事件类型和预测发生时刻。需说明,对事件预测***的描述可以参见前述实施例中的相关描述。此外,对于训练过程中,事件预测***中包括邻阶矩阵预测层105的情况,在对训练好的事件预测***进行使用时,可以将训练好的邻阶矩阵预测层105从事件预测***中移除,使用剩余网络部分即可实现强度函数的建模和未来事件的预测。
根据另一方面的实施例,还提供一种计算机读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (22)
1.一种事件预测***的更新方法,包括:
从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识;
将所述第一事件样本输入事件预测***中进行事件处理,该事件预测***包括序列编码网络、图传播网络、强度拟合网络和强度映射网络;所述事件处理包括:
通过所述序列编码网络,确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;
通过所述图传播网络,根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;
通过所述强度拟合网络,根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;所述事件发生强度函数中包括基准强度,所述强度拟合网络中包括基准强度确定层,所述参数值的确定包括:通过所述基准强度确定层,对所述第一节点表征向量进行线性变换处理和激活处理,得到基准强度;
通过所述强度映射网络,将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数;
从所述多个强度函数中,确定与对应所述第一用户标识的第二事件样本对应相同事件类型的强度函数,基于所述强度函数和所述第二事件样本对应的发生时刻,更新所述事件预测***中的网络参数;所述第二事件样本对应的第二发生时刻晚于所述第一发生时刻。
2.根据权利要求1所述的方法,其中,所述序列编码网络包括线性嵌入子网络和时序子网络;其中,确定截至所述第一发生时刻的子序列的序列编码向量,包括:
通过所述线性嵌入子网络,确定所述子序列中各事件样本所对应事件类型的类型嵌入向量;
通过所述时序子网络,基于依次输入的对应所述各事件样本的类型嵌入向量,输出所述序列编码向量。
3.根据权利要求1所述的方法,其中,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量,包括:
将所述第一用户节点作为目标节点,执行针对目标节点的更新操作;
其中,所述更新操作包括:根据目标节点对应的目标序列编码向量,该目标节点的目标邻居节点的当前表征向量,以及该目标节点自身的当前表征向量,确定更新后的目标节点的表征向量。
4.根据权利要求3所述的方法,其中,在将所述第一用户节点作为目标节点,执行对目标节点表征向量的更新操作之后,所述方法还包括:
将所述第一用户节点的邻居节点作为目标节点,并执行所述更新操作。
5.根据权利要求3或4所述的方法,其中,所述图传播网络包括局部传播层、自传播层、外源传播层和融合层;其中,所述更新操作具体包括:
通过所述局部传播层,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量;
通过所述自传播层,利用第一参数矩阵对所述目标节点自身的当前表征向量进行线性变换,得到自传播向量;
通过所述外源传播层,利用第二参数矩阵对所述目标序列编码向量进行线性变换,得到外源传播向量;
通过所述融合层,对所述局部传播向量、自传播向量和外源传播向量进行融合处理,得到所述更新后的目标节点的表征向量。
6.根据权利要求5所述的方法,其中,所述目标邻居节点为所述目标节点的多个一阶邻居节点;其中,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量,包括:
利用所述局部传播层中的权重参数向量,对所述多个一阶邻居节点的当前表征向量进行加权求和,得到所述局部传播向量。
7.根据权利要求5所述的方法,其中,所述目标邻居节点包括所述目标节点的多个一阶邻居节点和多个二阶邻居节点;其中,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量,包括:
针对各个一阶邻居节点,利用该一阶邻居节点的当前表征向量,确定若干二阶邻居节点的若干当前表征向量对应的若干注意力权重;
利用所述若干注意力权重,对所述若干当前表征向量进行加权求和,得到该一阶邻居节点的邻居聚合向量;
利用所述局部传播层中的权重参数向量,对述多个一阶邻居节点的多个邻居聚合向量进行加权求和,得到所述局部传播向量。
8.根据权利要求1所述的方法,其中,所述事件发生强度函数中还包括历史刺激系数和时间衰减系数,所述强度拟合网络中还包括刺激系数确定层和衰减系数确定层;其中,确定与所述第一用户对应的事件发生强度函数中的参数值,还包括:
通过所述刺激系数确定层,根据所述第一节点表征向量,确定所述第一用户节点的若干历史表征向量的若干注意力权重,该若干表征向量基于所述子序列中的若干其他事件样本而得到;并且,针对各个其他事件样本,将其对应的注意力权重和历史表征向量的乘积结果,确定为对应的历史刺激系数;
通过所述衰减系数确定层,将所述第一节点表征向量分别与所述若干历史表征向量进行融合处理,得到若干融合向量,并对其中各个融合向量先后进行线性变换和激活处理,得到对应的时间衰减系数。
9.根据权利要求1所述的方法,其中,所述事件预测***中还包括邻接矩阵预测层;其中,在更新所述事件预测***中的网络参数之前,所述方法还包括:
通过所述邻接矩阵预测层,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻接矩阵;
其中,更新所述事件预测***中的网络参数,包括:
基于所述多个强度函数和第二事件样本,确定第一损失项;
获取真实事件关系网络图,其中包括对应所述多个事件类型的多个类型节点,以及类型节点之间存在因果关系而形成的有向连接边;
基于所述真实事件关系网络图的真值邻接矩阵和所述预测邻接矩阵,确定第二损失项;
基于所述第一损失项和第二损失项,更新所述网络参数。
10.根据权利要求9所述的方法,其中,获取真实事件关系网络图,包括:
获取多个用户事件序列,其中各个用户事件序列包括对应用户做出的按照时间顺序排列的多个事件,任意相邻的两个事件所对应的事件类型之间存在所述因果关系;
基于所述多个用户事件序列构建所述真实事件关系网络图。
11.根据权利要求9或10所述的方法,其中,所述真值邻接矩阵中包括所述有向连接边的权重,该权重基于所述因果关系的统计次数而确定。
12.根据权利要求9所述的方法,其中,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻接矩阵,包括:
基于所述节点的表征向量,确定所述多个事件类型中各个事件类型的类型表征向量,形成类型表征矩阵;
基于所述类型表征矩阵和所述邻接矩阵预测层中的学习参数矩阵,确定所述预测邻接矩阵。
13.根据权利要求12所述的方法,其中,在更新所述事件预测***中的网络参数之前,所述方法还包括:
将所述第一事件样本的事件类型所对应的类型表征向量,更新为所述第一节点表征向量。
14.一种事件预测***的更新装置,包括:
序列获取单元,配置为从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识;
事件处理单元,配置为将所述第一事件样本输入事件预测***中进行事件处理,该事件预测***包括序列编码网络、图传播网络、强度拟合网络和强度映射网络;所述事件处理单元包括以下模块:
编码模块,配置为通过所述序列编码网络,确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;
图传播模块,配置为通过所述图传播网络,根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;
强度拟合模块,配置为通过所述强度拟合网络,根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;所述事件发生强度函数中包括基准强度,所述强度拟合网络中包括基准强度确定层,所述参数值的确定包括:通过所述基准强度确定层,对所述第一节点表征向量进行线性变换处理和激活处理,得到基准强度;
强度映射模块,配置为通过所述强度映射网络,将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数;
参数更新单元,配置为从所述多个强度函数中,确定与对应所述第一用户标识的第二事件样本对应相同事件类型的强度函数,基于所述强度函数和所述第二事件样本对应的发生时刻,更新所述事件预测***中的网络参数;所述第二事件样本对应的第二发生时刻晚于所述第一发生时刻。
15.根据权利要求14所述的装置,其中,所述图传播模块具体配置为:
将所述第一用户节点作为目标节点,执行针对目标节点的更新操作;
其中,所述更新操作包括:根据目标节点对应的目标序列编码向量,该目标节点的目标邻居节点的当前表征向量,以及该目标节点自身的当前表征向量,确定更新后的目标节点的表征向量。
16.根据权利要求15所述的装置,其中,所述图传播网络包括局部传播层、自传播层、外源传播层和融合层;其中,所述图传播模块执行的更新操作具体包括:
通过所述局部传播层,对所述目标邻居节点的当前表征向量进行处理,得到局部传播向量;
通过所述自传播层,利用第一参数矩阵对所述目标节点自身的当前表征向量进行线性变换,得到自传播向量;
通过所述外源传播层,利用第二参数矩阵对所述目标序列编码向量进行线性变换,得到外源传播向量;
通过所述融合层,对所述局部传播向量、自传播向量和外源传播向量进行融合处理,得到所述更新后的目标节点的表征向量。
17.根据权利要求16所述的装置,其中,所述目标邻居节点包括所述目标节点的多个一阶邻居节点和多个二阶邻居节点;其中,所述图传播模块通过执行所述更新操作得到局部传播向量,具体包括:
针对各个一阶邻居节点,利用该一阶邻居节点的当前表征向量,确定若干二阶邻居节点的若干当前表征向量对应的若干注意力权重;
利用所述若干注意力权重,对所述若干当前表征向量进行加权求和,得到该一阶邻居节点的邻居聚合向量;
利用所述局部传播层中的权重参数向量,对述多个一阶邻居节点的多个邻居聚合向量进行加权求和,得到所述局部传播向量。
18.根据权利要求14所述的装置,其中,所述事件发生强度函数中还包括历史刺激系数和时间衰减系数,所述强度拟合网络中还包括刺激系数确定层和衰减系数确定层;其中,所述强度拟合模块还配置为:
通过所述刺激系数确定层,根据所述第一节点表征向量,确定所述第一用户节点的若干历史表征向量的若干注意力权重,该若干表征向量基于所述子序列中的若干其他事件样本而得到;并且,针对各个其他事件样本,将其对应的注意力权重和历史表征向量的乘积结果,确定为对应的历史刺激系数;
通过所述衰减系数确定层,将所述第一节点表征向量分别与所述若干历史表征向量进行融合处理,得到若干融合向量,并对其中各个融合向量先后进行线性变换和激活处理,得到对应的时间衰减系数。
19.根据权利要求14所述的装置,其中,所述事件预测***中还包括邻接矩阵预测层;所述装置还包括邻接矩阵预测单元,配置为:
通过所述邻接矩阵预测层,根据所述用户关系网络图中节点的表征向量,确定基于所述多个事件类型构建的虚拟事件关系网络图的预测邻接矩阵;
其中,所述参数更新单元具体配置为:
基于所述多个强度函数和第二事件样本,确定第一损失项;
获取真实事件关系网络图,其中包括对应所述多个事件类型的多个类型节点,以及类型节点之间存在因果关系而形成的有向连接边;
基于所述真实事件关系网络图的真值邻接矩阵和所述预测邻接矩阵,确定第二损失项;
基于所述第一损失项和第二损失项,更新所述网络参数。
20.一种事件预测***,包括:
输入层,用于从按照时间顺序排列而形成的事件样本序列中,依次获取事件样本作为第一事件样本,其样本属性包括第一发生时刻和第一用户标识;
序列编码网络,用于确定截至所述第一发生时刻的子序列的序列编码向量,该子序列中各事件样本均对应所述第一用户标识;
图传播网络,用于根据所述序列编码向量,更新用户关系网络图中第一用户节点和其邻居节点的节点表征向量;
强度拟合网络,用于根据更新后的所述第一用户节点的第一节点表征向量,确定与所述第一用户标识对应的事件发生强度函数中的参数值;
强度映射网络,用于将所述事件发生强度函数映射至事件类型空间,得到所述第一用户标识在多个事件类型下的多个强度函数;所述事件发生强度函数中包括基准强度,所述强度拟合网络中包括基准强度确定层,所述参数值的确定包括:通过所述基准强度确定层,对所述第一节点表征向量进行线性变换处理和激活处理,得到基准强度;
输出层,用于基于所述多个强度函数,输出与所述第一用户标识对应的事件预测结果,该事件预测结果中包括预测事件类型和预测发生时刻。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-13中任一项的所述的方法。
22.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110631255.8A CN113283589B (zh) | 2021-06-07 | 2021-06-07 | 事件预测***的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110631255.8A CN113283589B (zh) | 2021-06-07 | 2021-06-07 | 事件预测***的更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113283589A CN113283589A (zh) | 2021-08-20 |
CN113283589B true CN113283589B (zh) | 2022-07-19 |
Family
ID=77283515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110631255.8A Active CN113283589B (zh) | 2021-06-07 | 2021-06-07 | 事件预测***的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113283589B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821374A (zh) * | 2023-07-27 | 2023-09-29 | 中国人民解放军陆军工程大学 | 一种基于情报的事件预测方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944610B (zh) * | 2017-11-17 | 2022-08-02 | 平安科技(深圳)有限公司 | 预测事件流行度方法、服务器及计算机可读存储介质 |
EP3564889A1 (en) * | 2018-05-04 | 2019-11-06 | The Boston Consulting Group, Inc. | Systems and methods for learning and predicting events |
CN109659033B (zh) * | 2018-12-18 | 2021-04-13 | 浙江大学 | 一种基于循环神经网络的慢性疾病病情变化事件预测装置 |
CN109961192B (zh) * | 2019-04-03 | 2021-11-26 | 南京中科九章信息技术有限公司 | 目标事件预测方法及装置 |
CN112183881A (zh) * | 2020-10-19 | 2021-01-05 | 中国人民解放军国防科技大学 | 一种基于社交网络的舆情事件预测方法、设备及存储介质 |
CN112905801B (zh) * | 2021-02-08 | 2023-07-25 | 携程旅游信息技术(上海)有限公司 | 基于事件图谱的行程预测方法、***、设备及存储介质 |
CN112580789B (zh) * | 2021-02-22 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 训练图编码网络、预测交互事件的方法及装置 |
-
2021
- 2021-06-07 CN CN202110631255.8A patent/CN113283589B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113283589A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Deep learning techniques for community detection in social networks | |
Tajeuna et al. | Modeling and predicting community structure changes in time-evolving social networks | |
CN107391542B (zh) | 一种基于文件知识图谱的开源软件社区专家推荐方法 | |
CN113792937B (zh) | 一种基于图神经网络的社交网络影响力预测方法、装置 | |
CN111079931A (zh) | 一种基于图神经网络的状态空间概率性多时间序列预测方法 | |
CN111651671B (zh) | 用户对象推荐方法、装置、计算机设备和存储介质 | |
CN110334208B (zh) | 基于贝叶斯信念网络的lkj故障预测诊断方法和*** | |
CN112529071B (zh) | 一种文本分类方法、***、计算机设备和存储介质 | |
CN114639483A (zh) | 一种基于图神经网络的电子病历检索方法及装置 | |
CN113592593A (zh) | 序列推荐模型的训练及应用方法、装置、设备及存储介质 | |
CN110335160B (zh) | 一种基于分组和注意力改进Bi-GRU的就医迁移行为预测方法及*** | |
CN113283589B (zh) | 事件预测***的更新方法及装置 | |
CN116308854A (zh) | 一种基于概率扩散的信息级联流行度预测方法及*** | |
CN114625969A (zh) | 一种基于交互近邻会话的推荐方法 | |
Wang et al. | Farewell to aimless large-scale pretraining: Influential subset selection for language model | |
JP2019095599A (ja) | 音響モデル学習装置、音声認識装置、それらの方法、及びプログラム | |
CN111957053A (zh) | 游戏玩家匹配方法、装置、存储介质与电子设备 | |
CN115829110A (zh) | 基于马尔可夫逻辑网预测用户行为的方法及装置 | |
CN115936802A (zh) | 基于用户画像和序列建模的个性化营销方法、装置、设备和存储介质 | |
CN115984025A (zh) | 基于深度学习图网络模型的影响力传播估计方法及*** | |
CN115952438A (zh) | 社交平台用户属性预测方法、***、移动设备及存储介质 | |
Chen et al. | Community Detection Based on DeepWalk Model in Large‐Scale Networks | |
CN115310590A (zh) | 图结构学习方法和装置 | |
CN111737419B (zh) | 机器阅读理解中的数值推理方法和装置 | |
CN114092269A (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 |