训练用户兴趣挖掘模型、用户兴趣挖掘的方法和装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及训练用户兴趣挖掘模型、用户兴趣挖掘的方法和装置。
背景技术
在数字营销领域,运营需要根据对用户需求和偏好的理解,创造新的营销广告或内容素材。然而,用户数据往往是高维难以理解的,对高维用户行为数据进行降维和提供可解释性是帮助运营做营销的关键。假如把用户视为文档,访问对象(item)的行为当成词,那么使用主题模型来从用户行为数据挖掘用户意图是很自然的事情。其中,用户意图还可以称为用户兴趣。然而,现实中常存在大量不活跃的用户,这就给传统的主题模型带来了挑战,意味着大量的用户兴趣将无法被有效挖掘。
因此,希望能有改进的方案,对于不活跃的用户,也能有效挖掘用户兴趣。
发明内容
本说明书一个或多个实施例描述了一种训练用户兴趣挖掘模型、用户兴趣挖掘的方法和装置,对于不活跃的用户,也能有效挖掘用户兴趣。
第一方面,提供了一种训练用户兴趣挖掘模型的方法,所述用户兴趣挖掘模型包括图神经网络和兴趣分布预测网络,方法包括:
获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;
将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;
将所述多个样本用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;
将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;
通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。
在一种可能的实施方式中,所述行为日志特征通过向量表征,该向量的每个元素对应于一个对象,该元素的数值代表该对象是否被访问。
在一种可能的实施方式中,所述通过所述图神经网络,得到所述目标用户的融合用户表征向量,包括:
通过所述图神经网络,进行预定轮数的多轮迭代运算得到所述目标用户的融合用户表征向量;
所述多轮迭代运算中的任一轮迭代包括:
利用所述目标用户的上一轮迭代得到的融合用户表征向量,所述目标用户的邻居用户的上一轮迭代得到的融合用户表征向量,所述目标用户和所述邻居用户之间的权重参数,以及本轮的迭代参数,得到所述目标用户本轮迭代的融合用户表征向量。
在一种可能的实施方式中,所述用户兴趣先验分布为正态分布,所述正态分布具有已知均值和已知协方差;
所述将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数,包括:
将所述多个样本用户中任一样本用户对应的融合用户表征向量输入所述兴趣分布预测网络,通过所述兴趣分布预测网络输出该样本用户对应的预测均值和预测协方差。
进一步地,所述已知均值和已知协方差根据先验的狄利克雷的已知参数而确定,所述已知参数与预先假定的兴趣数目有关。
进一步地,所述兴趣分布预测网络包括多层感知器(muti-layer perception,MLP);所述通过所述兴趣分布预测网络输出该样本用户对应的预测均值和预测协方差,包括:
通过所述MLP的第一网络层,输出所述预测均值;
通过所述MLP的第二网络层,输出所述预测协方差。
进一步地,所述分布差异为KL散度,所述KL散度通过所述预测均值、所述预测协方差、所述已知均值和所述已知协方差而确定。
在一种可能的实施方式中,所述用户兴趣挖掘模型还包括线性映射网络;所述方法还包括:
获取各对象分别对应的语义表征向量;
将各语义表征向量输入所述线性映射网络,通过所述线性映射网络生成兴趣对象分布矩阵,所述兴趣对象分布矩阵中的同一行元素体现了同一兴趣下各对象分别出现的概率;
根据各样本用户分别对应的兴趣分布参数形成用户兴趣预测分布,通过对所述用户兴趣预测分布采样,得到用户兴趣分布矩阵,所述用户兴趣分布矩阵的同一行元素体现了同一样本用户针对各兴趣分别的概率;
根据所述兴趣对象分布矩阵和所述用户兴趣分布矩阵,确定各样本用户的预测行为日志;
所述目标函数还包括,根据各样本用户的预测行为日志和行为日志特征确定的似然概率;所述调整所述用户兴趣挖掘模型的网络参数还使得,所述似然概率增大。
进一步地,所述似然概率,通过计算各样本用户的预测行为日志和行为日志特征之间的相似度而确定。
进一步地,所述获取各对象分别对应的语义表征向量,包括:
将各对象中任一对象的描述性文本输入预先训练的表征模型,通过所述表征模型输出该对象对应的语义表征向量。
进一步地,所述表征模型通过如下方式进行训练:
将样本对象的描述性文本中抽取的第一分词,与该样本对象作为一组正样本;
将所有对象的描述性文本的语料中抽取的第二分词,与该样本对象作为一组负样本;
利用所述正样本和所述负样本对所述表征模型进行训练,训练目标为最大化所述样本对象的语义表征向量与所述第一分词的分词表征向量的第一相似度,以及最小化所述样本对象的语义表征向量与所述第二分词的分词表征向量的第二相似度。
第二方面,提供了一种用户兴趣挖掘的方法,所述方法基于第一方面所述的方法得到的训练后的用户兴趣挖掘模型而实现,包括:
根据待挖掘用户与其他用户的社交关系,将所述待挖掘用户加入所述关系网络图;
根据所述待挖掘用户的行为日志特征,确定所述待挖掘用户的初始用户表征向量;
将所述关系网络图中各用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述待挖掘用户的融合用户表征向量;
将所述待挖掘用户的融合用户表征向量输入所述兴趣分布预测网络,得到所述待挖掘用户对应的兴趣分布参数;
根据所述待挖掘用户对应的兴趣分布参数,形成用户兴趣分布,通过对所述用户兴趣分布采样,确定所述待挖掘用户针对各兴趣分别的概率。
在一种可能的实施方式中,所述用户兴趣挖掘模型还包括线性映射网络;所述方法还包括:
获取各对象分别对应的语义表征向量;
将各语义表征向量输入所述线性映射网络,通过所述线性映射网络生成兴趣对象分布矩阵,所述兴趣对象分布矩阵中的同一行元素体现了同一兴趣下各对象分别出现的概率。
第三方面,提供了一种训练用户兴趣挖掘模型的装置,所述用户兴趣挖掘模型包括图神经网络和兴趣分布预测网络,装置包括:
第一获取单元,用于获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;
第一确定单元,用于将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;
融合单元,用于将所述第一确定单元得到的多个样本用户分别对应的初始用户表征向量和所述第一获取单元获取的关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;
推断单元,用于将所述融合单元得到的多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;
调参单元,用于通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,所述推断单元得到的各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。
第四方面,提供了一种用户兴趣挖掘的装置,所述装置基于第三方面所述的装置得到的训练后的用户兴趣挖掘模型而实现,包括:
图更新单元,用于根据待挖掘用户与其他用户的社交关系,将所述待挖掘用户加入所述关系网络图;
确定单元,用于根据所述待挖掘用户的行为日志特征,确定所述待挖掘用户的初始用户表征向量;
融合单元,用于将所述关系网络图中各用户分别对应的初始用户表征向量和所述图更新单元得到的关系网络图输入所述图神经网络,通过所述图神经网络,得到所述待挖掘用户的融合用户表征向量;
推断单元,用于将所述融合单元得到的待挖掘用户的融合用户表征向量输入所述兴趣分布预测网络,得到所述待挖掘用户对应的兴趣分布参数;
采样单元,用于根据所述推断单元得到的待挖掘用户对应的兴趣分布参数,形成用户兴趣分布,通过对所述用户兴趣分布采样,确定所述待挖掘用户针对各兴趣分别的概率。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,用户兴趣挖掘模型包括图神经网络和兴趣分布预测网络,首先获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;然后将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;接着将所述多个样本用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;再将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;最后通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。由上可见,本说明书实施例,基于用户之间的社交关系,构建关系网络图,通过引入图神经网络对各用户的初始用户表征向量进行融合,使每个用户的融合用户表征向量聚合了邻居节点的信息,从而缓解了用户数据稀疏性的问题,并且结合兴趣分布预测网络来实现隐变量的推断和参数学习,通过最小化目标函数,训练用户兴趣挖掘模型,能够提高生成的用户兴趣分布质量,对于不活跃的用户,也能有效挖掘用户兴趣。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的训练用户兴趣挖掘模型的方法流程图;
图3示出根据一个实施例的获取融合用户表征向量的示意图;
图4示出根据一个实施例的确定预测兴趣分布的示意图;
图5示出根据一个实施例的生成兴趣对象分布矩阵的示意图;
图6示出根据一个实施例的用户兴趣挖掘的方法流程图;
图7示出根据一个实施例的训练用户兴趣挖掘模型的装置的示意性框图;
图8示出根据一个实施例的用户兴趣挖掘的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及用户兴趣挖掘,可以理解的是,通常根据用户的历史行为数据可以推断出该用户的兴趣,上述历史行为数据可以包括用户在一段时间内访问的对象,例如,图1中,历史行为数据表征出用户1在一段时间内依次访问了对象1、对象3、对象6、对象7、对象3。本说明书实施例,可以基于主题模型进行用户兴趣挖掘,也就是说,确定待挖掘用户针对各兴趣分别的概率,可选地,还可以确定同一兴趣下各对象分别出现的概率。主题模型:是用来在一系列文档中发现抽象主题的一类统计模型。如果把用户视为文档,访问对象的行为当成词,把兴趣作为主题,那么就可以基于主题模型来从用户访问行为挖掘用户的兴趣。
参照图1,现实中常存在大量不活跃的用户,这些用户仅具有很少量的行为数据,例如,用户2在一段时间内仅访问了对象1和对象2,这种情况下,用户2的行为稀疏,单纯根据用户2的历史行为数据,很难有效挖掘其兴趣。
本说明书实施例,不仅基于待挖掘用户的历史行为数据,挖掘其兴趣,而是通过建立社交网络,考虑了与待挖掘用户具有社交关系的其他用户的历史行为数据,基于群体数据,确定待挖掘用户的兴趣,从而对于不活跃的用户,也能有效挖掘用户兴趣。
本说明书实施例中提到的对象,可以为应用程序、网页、商品等,本说明书实施例对此不做限定。
图2示出根据一个实施例的训练用户兴趣挖掘模型的方法流程图,所述用户兴趣挖掘模型包括图神经网络(graph neural networks,GNN)和兴趣分布预测网络,该方法可以基于图1所示的实施场景。如图2所示,该实施例中训练用户兴趣挖掘模型的方法包括以下步骤:步骤21,获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;步骤22,将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;步骤23,将所述多个样本用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;步骤24,将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;步骤25,通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。下面描述以上各个步骤的具体执行方式。
首先在步骤21,获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边。可以理解的是,该关系网络图中的样本用户作为节点,该关系网络图可以理解为一种社交网络。
其中,上述社交关系可以但不限于包括通过某一应用建立的好友关系,转账关系,交易关系,点赞、评论等互动关系等。
然后在步骤22,将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象。可以理解的是,上述一段时间可以代表一段固定的时间长度,例如,当前时间点之前的一个月,或者一个星期等,也就是说,对于所有样本用户来说,上述一段时间都是一样的;上述一段时间还可以代表一段非固定的时间长度,例如,从用户初次访问对象至今的历史时间段等,也就是说,由于不同用户初次访问对象的起始时间点可能是不同的,因此对于所有样本用户来说,上述一段时间可能具有差异。
在一个示例中,所述行为日志特征通过向量表征,该向量的每个元素对应于一个对象,该元素的数值代表该对象是否被访问。
举例来说,用户1的行为日志特征通过向量(1,0,0)表征,其中,1代表对应的对象被访问,0代表对应的对象未被访问,向量中的各元素依次对应于对象1、对象2和对象3,则向量(1,0,0)表征出用户1访问了对象1,未访问对象2和对象3。
在另一个示例中,所述行为日志特征通过向量表征,该向量的每个元素对应于一个对象,该元素的数值不仅代表该对象是否被访问,还代表了该对象被访问的次数。
举例来说,用户1的行为日志特征通过向量(1,5,0)表征,其中,元素的数值非0代表对应的对象被访问,元素的数值为0代表对应的对象未被访问,向量中的各元素依次对应于对象1、对象2和对象3,则向量(1,5,0)表征出用户1访问对象1的次数为1,访问对象2的次数为5,未访问对象3。
接着在步骤23,将所述多个样本用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量。可以理解的是,图神经网络是一种可用于图数据挖掘的深度学习模型,包含一个节点表示的变换、聚合、更新的迭代过程。
在一个示例中,所述通过所述图神经网络,得到所述目标用户的融合用户表征向量,包括:
通过所述图神经网络,进行预定轮数的多轮迭代运算得到所述目标用户的融合用户表征向量;
所述多轮迭代运算中的任一轮迭代包括:
利用所述目标用户的上一轮迭代得到的融合用户表征向量,所述目标用户的邻居用户的上一轮迭代得到的融合用户表征向量,所述目标用户和所述邻居用户之间的权重参数,以及本轮的迭代参数,得到所述目标用户本轮迭代的融合用户表征向量。
图3示出根据一个实施例的获取融合用户表征向量的示意图。参照图3,将多个用户组成的社交网络和各用户的行为日志特征输入GNN,通过GNN得到目标用户的融合用户表征向量,其中,ui代表节点i对应的用户,hi代表节点i的融合用户表征向量,其中,GNN的编码层公式可以表示如下:
其中,ai,i′表示节点i和节点i′这两个节点之间是否存在有连接边,αi,i′表示两个节点之间的权重参数,W(l)指第l层的线性变化,σ指激活函数,h(l)(ui′)表示节点i′在第l轮迭代后得到的融合用户表征向量,h(l+1)(ui)表示节点i在第l+1轮迭代后得到的融合用户表征向量。
再在步骤24,将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数。可以理解的是,不同的样本用户对应的融合用户表征向量可能不同,相应地,其兴趣分布参数也可能不同。
本说明书实施例,兴趣分布预测网络具体可以为变分推断网络。
在一个示例中,已知用户兴趣先验分布,所述用户兴趣先验分布为正态分布,所述正态分布具有已知均值和已知协方差;
所述将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数,包括:
将所述多个样本用户中任一样本用户对应的融合用户表征向量输入所述兴趣分布预测网络,通过所述兴趣分布预测网络输出该样本用户对应的预测均值和预测协方差。
进一步地,所述已知均值和已知协方差根据先验的狄利克雷的已知参数而确定,所述已知参数与预先假定的兴趣数目有关。
进一步地,所述兴趣分布预测网络包括多层感知器(muti-layer perception,MLP);所述通过所述兴趣分布预测网络输出该样本用户对应的预测均值和预测协方差,包括:
通过所述MLP的第一网络层,输出所述预测均值;
通过所述MLP的第二网络层,输出所述预测协方差。
图4示出根据一个实施例的确定预测兴趣分布的示意图。参照图4,通过将用户兴趣的先验分布θ近似为正态分布,其均值为μ1,协方差为∑1,可以得到其均值与协方差的计算公式:
其中,μ1k是μ1的第k个元素,而∑1kk是对角矩阵∑1对角线上的第k个元素,αi是先验狄利克雷的已知参数,K为预先假定的兴趣数目。
然后使用两个独立的变分推断网络fμ和f∑近似变分参数,其中变分推断网络可以相当于前述MLP的第一网络层和第二网络层,具体可以基于深度神经网络(deep neuralnetworks,DNN)实现,通过公式表示如下:
其中,φ是网络参数,和是变分网络所近似的预测兴趣分布的变分参数。
本说明书实施例,在得到变分参数后,通过采样的方式可以得到用户兴趣分布矩阵,通过公式表示如下:
其中,θi表示节点i对应的用户兴趣分布,ε表示从标准正态分布中随机采样得到的随机变量。
最后在步骤25,通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。可以理解的是,上述调整所述用户兴趣挖掘模型的网络参数,包括调整前述图神经网络和兴趣分布预测网络的网络参数。
在一个示例中,所述用户兴趣先验分布为正态分布,所述正态分布具有已知均值和已知协方差;将所述多个样本用户中任一样本用户对应的融合用户表征向量输入所述兴趣分布预测网络,通过所述兴趣分布预测网络输出该样本用户对应的预测均值和预测协方差。所述分布差异为KL散度,所述KL散度通过所述预测均值、所述预测协方差、所述已知均值和所述已知协方差而确定。
举例来说,为了让变分参数能尽可能近似真实的意图分布,采用以下的公式:
其中,ui代表节点i对应的用户,DKL(ui)代表前述KL散度,μ1代表已知均值,∑1代表已知协方差,代表节点i对应的用户的预测兴趣分布的预测均值、代表节点i对应的用户的预测兴趣分布的预测协方差,K为预先假定的兴趣数目。
通过本说明书实施例提供的方法,用户兴趣挖掘模型包括图神经网络和兴趣分布预测网络,首先获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;然后将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;接着将所述多个样本用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;再将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;最后通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。由上可见,本说明书实施例,基于用户之间的社交关系,构建关系网络图,通过引入图神经网络对各用户的初始用户表征向量进行融合,使每个用户的融合用户表征向量聚合了邻居节点的信息,从而缓解了用户数据稀疏性的问题,并且结合兴趣分布预测网络来实现隐变量的推断和参数学习,通过最小化目标函数,训练用户兴趣挖掘模型,能够提高生成的用户兴趣分布质量,对于不活跃的用户,也能有效挖掘用户兴趣。
本说明书实施例,为了保证用户的预测兴趣分布尽可能的服从真实数据,可以最大化每个用户的行为日志似然概率。
在一个示例中,所述用户兴趣挖掘模型还包括线性映射网络;所述方法还包括:
获取各对象分别对应的语义表征向量;
将各语义表征向量输入所述线性映射网络,通过所述线性映射网络生成兴趣对象分布矩阵,所述兴趣对象分布矩阵中的同一行元素体现了同一兴趣下各对象分别出现的概率;
根据各样本用户分别对应的兴趣分布参数形成用户兴趣预测分布,通过对所述用户兴趣预测分布采样,得到用户兴趣分布矩阵,所述用户兴趣分布矩阵的同一行元素体现了同一样本用户针对各兴趣分别的概率;
根据所述兴趣对象分布矩阵和所述用户兴趣分布矩阵,确定各样本用户的预测行为日志;
所述目标函数还包括,根据各样本用户的预测行为日志和行为日志特征确定的似然概率;所述调整所述用户兴趣挖掘模型的网络参数还使得,所述似然概率增大。
进一步地,所述似然概率,通过计算各样本用户的预测行为日志和行为日志特征之间的相似度而确定。
图5示出根据一个实施例的生成兴趣对象分布矩阵的示意图。参照图5,Z表示各对象分别对应的语义表征向量,线性映射网络通过线性变化以及非线性激活函数,生成兴趣对象分布矩阵,β表示兴趣对象分布矩阵,可以通过公式表示如下:
β=ν(WzZT)
其中,v是softmax激活函数,Wz代表兴趣对象分布矩阵求解过程中的线性参数。
本说明书实施例中,前述似然概率可以通过下式表示:
其中,E代表求均值,xi代表节点i对应的用户的行为日志特征,β表示兴趣对象分布矩阵,θi表示节点i对应的用户兴趣分布,βθi表示节点i对应的用户的预测行为日志。
本说明书实施例中,目标函数可以包括前述KL散度和似然概率两部分,通过下式表示:
其中W和g是GNN相关参数,Wz代表兴趣对象分布矩阵求解过程中的线性参数,φ代表兴趣分布预测网络的参数。通过最大化上式,可以训练用户兴趣挖掘模型,从而利用训练后的用户兴趣挖掘模型能够得到用户兴趣分布矩阵以及兴趣对象分布矩阵。
进一步地,所述获取各对象分别对应的语义表征向量,包括:
将各对象中任一对象的描述性文本输入预先训练的表征模型,通过所述表征模型输出该对象对应的语义表征向量。
进一步地,所述表征模型通过如下方式进行训练:
将样本对象的描述性文本中抽取的第一分词,与该样本对象作为一组正样本;
将所有对象的描述性文本的语料中抽取的第二分词,与该样本对象作为一组负样本;
利用所述正样本和所述负样本对所述表征模型进行训练,训练目标为最大化所述样本对象的语义表征向量与所述第一分词的分词表征向量的第一相似度,以及最小化所述样本对象的语义表征向量与所述第二分词的分词表征向量的第二相似度。
本说明书实施例中,每个对象都拥有自己唯一的描述性文本,用于解释对象的功能。对于对象j的描述性文本wj,首先对其进行分词和停用词剔除。随后从wj中随机抽取分词得到与对象j构成正样本,并从整个描述性文本的语料S中抽取与对象j不相干的分词作为负样本。通过训练以下目标函数,可以得到各对象的语义表征向量:
其中,zj是可训练的对象j的语义表征向量,zp和zn分别是预训练好的分词p和分词n的语义表征,其中,wp代表分词p,wn代表分词n。
本说明书实施例,将对象的描述性文本信息融入到对象的语义表征向量中,并基于对象的语义表征向量得到兴趣对象分布矩阵,解决了传统主题模型无法为长尾对象正确划分兴趣的问题。
图6示出根据一个实施例的用户兴趣挖掘的方法流程图,该方法基于图2所述的方法得到的训练后的用户兴趣挖掘模型而实现。如图6所示,该实施例中用户兴趣挖掘的方法包括以下步骤:
首先在步骤61,根据待挖掘用户与其他用户的社交关系,将所述待挖掘用户加入所述关系网络图。可以理解的是,原本关系网络图中可能不包括该待挖掘用户,将所述待挖掘用户加入所述关系网络图,主要包括将待挖掘用户作为关系网络图的一个新增节点,建立该待挖掘用户与具有社交关系的其他用户之间的连接边。
然后在步骤62,根据所述待挖掘用户的行为日志特征,确定所述待挖掘用户的初始用户表征向量。可以理解的是,行为日志特征至少表征了用户在一段时间内访问的对象。
接着在步骤63,将所述关系网络图中各用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述待挖掘用户的融合用户表征向量。可以理解的是,所述关系网络图中除了待挖掘用户以外,还包括原有的其他用户,这些用户的初始用户表征向量可以是之前确定并保存的。
再在步骤64,将所述待挖掘用户的融合用户表征向量输入所述兴趣分布预测网络,得到所述待挖掘用户对应的兴趣分布参数。可以理解的是,该兴趣分布参数对应于待挖掘用户的预测用户兴趣分布。
最后在步骤65,根据所述待挖掘用户对应的兴趣分布参数,形成用户兴趣分布,通过对所述用户兴趣分布采样,确定所述待挖掘用户针对各兴趣分别的概率。例如,确定待挖掘用户针对兴趣1的概率1,待挖掘用户针对兴趣2的概率2,待挖掘用户针对兴趣3的概率3。
本说明书实施例,在步骤65之后,可以根据确定出的所述待挖掘用户针对各兴趣分别的概率,向该待挖掘用户推荐各兴趣下的对象。
在一个示例中,所述用户兴趣挖掘模型还包括线性映射网络;所述方法还包括:
获取各对象分别对应的语义表征向量;
将各语义表征向量输入所述线性映射网络,通过所述线性映射网络生成兴趣对象分布矩阵,所述兴趣对象分布矩阵中的同一行元素体现了同一兴趣下各对象分别出现的概率。
本说明书实施例中,线性映射网络可以仅用于模型训练中,辅助图神经网络和兴趣分布预测网络的网络参数的调整;在模型训练结束后,线性映射网络可以不使用,或者用于生成兴趣对象分布矩阵。
根据另一方面的实施例,还提供一种训练用户兴趣挖掘模型的装置,所述用户兴趣挖掘模型包括图神经网络和兴趣分布预测网络,该装置用于执行本说明书实施例提供的训练用户兴趣挖掘模型的方法。图7示出根据一个实施例的训练用户兴趣挖掘模型的装置的示意性框图。如图7所示,该装置700包括:
第一获取单元71,用于获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;
第一确定单元72,用于将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;
融合单元73,用于将所述第一确定单元72得到的多个样本用户分别对应的初始用户表征向量和所述第一获取单元71获取的关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;
推断单元74,用于将所述融合单元73得到的多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;
调参单元75,用于通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,所述推断单元74得到的各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。
可选地,作为一个实施例,所述融合单元73,具体用于通过所述图神经网络,进行预定轮数的多轮迭代运算得到所述目标用户的融合用户表征向量;
所述多轮迭代运算中的任一轮迭代包括:
利用所述目标用户的上一轮迭代得到的融合用户表征向量,所述目标用户的邻居用户的上一轮迭代得到的融合用户表征向量,所述目标用户和所述邻居用户之间的权重参数,以及本轮的迭代参数,得到所述目标用户本轮迭代的融合用户表征向量。
可选地,作为一个实施例,所述用户兴趣先验分布为正态分布,所述正态分布具有已知均值和已知协方差;
所述推断单元74,具体用于将所述多个样本用户中任一样本用户对应的融合用户表征向量输入所述兴趣分布预测网络,通过所述兴趣分布预测网络输出该样本用户对应的预测均值和预测协方差。
进一步地,所述已知均值和已知协方差根据先验的狄利克雷的已知参数而确定,所述已知参数与预先假定的兴趣数目有关。
进一步地,所述兴趣分布预测网络包括多层感知器MLP;所述推断单元74包括:
第一推断子单元,用于通过所述MLP的第一网络层,输出所述预测均值;
第二推断子单元,用于通过所述MLP的第二网络层,输出所述预测协方差。
进一步地,所述分布差异为KL散度,所述KL散度通过所述预测均值、所述预测协方差、所述已知均值和所述已知协方差而确定。
可选地,作为一个实施例,所述用户兴趣挖掘模型还包括线性映射网络;所述装置还包括:
第二获取单元,用于获取各对象分别对应的语义表征向量;
生成单元,用于将所述第二获取单元获取的各语义表征向量输入所述线性映射网络,通过所述线性映射网络生成兴趣对象分布矩阵,所述兴趣对象分布矩阵中的同一行元素体现了同一兴趣下各对象分别出现的概率;
采样单元,用于根据所述推断单元74得到的各样本用户分别对应的兴趣分布参数形成用户兴趣预测分布,通过对所述用户兴趣预测分布采样,得到用户兴趣分布矩阵,所述用户兴趣分布矩阵的同一行元素体现了同一样本用户针对各兴趣分别的概率;
第二确定单元,用于根据所述生成单元生成的兴趣对象分布矩阵和所述采样单元得到的用户兴趣分布矩阵,确定各样本用户的预测行为日志;
所述目标函数还包括,根据各样本用户的预测行为日志和行为日志特征确定的似然概率;所述调参单元75调整所述用户兴趣挖掘模型的网络参数还使得,所述似然概率增大。
进一步地,所述第二获取单元,具体用于将各对象中任一对象的描述性文本输入预先训练的表征模型,通过所述表征模型输出该对象对应的语义表征向量。
进一步地,所述表征模型通过如下方式进行训练:
将样本对象的描述性文本中抽取的第一分词,与该样本对象作为一组正样本;
将所有对象的描述性文本的语料中抽取的第二分词,与该样本对象作为一组负样本;
利用所述正样本和所述负样本对所述表征模型进行训练,训练目标为最大化所述样本对象的语义表征向量与所述第一分词的分词表征向量的第一相似度,以及最小化所述样本对象的语义表征向量与所述第二分词的分词表征向量的第二相似度。
通过本说明书实施例提供的装置,用户兴趣挖掘模型包括图神经网络和兴趣分布预测网络,首先第一获取单元71获取多个样本用户构成的关系网络图,所述关系网络图中具有社交关系的两个样本用户之间具有连接边;然后第一确定单元72将所述多个样本用户中的任一样本用户作为目标用户,根据所述目标用户的行为日志特征,确定所述目标用户的初始用户表征向量,所述行为日志特征表征了用户在一段时间内访问的对象;接着融合单元73将所述多个样本用户分别对应的初始用户表征向量和所述关系网络图输入所述图神经网络,通过所述图神经网络,得到所述目标用户的融合用户表征向量;推断单元74再将所述多个样本用户分别对应的融合用户表征向量输入所述兴趣分布预测网络,得到各样本用户分别对应的兴趣分布参数;最后调参单元75通过最小化目标函数,调整所述用户兴趣挖掘模型的网络参数,所述目标函数包括,各样本用户分别对应的兴趣分布参数所表征的预测兴趣分布与已知的用户兴趣先验分布之间的分布差异,所述调整至少使得所述分布差异减小。由上可见,本说明书实施例,基于用户之间的社交关系,构建关系网络图,通过引入图神经网络对各用户的初始用户表征向量进行融合,使每个用户的融合用户表征向量聚合了邻居节点的信息,从而缓解了用户数据稀疏性的问题,并且结合兴趣分布预测网络来实现隐变量的推断和参数学习,通过最小化目标函数,训练用户兴趣挖掘模型,能够提高生成的用户兴趣分布质量,对于不活跃的用户,也能有效挖掘用户兴趣。
根据另一方面的实施例,还提供一种用户兴趣挖掘的装置,所述装置基于图7所述的装置得到的训练后的用户兴趣挖掘模型而实现,该装置用于执行本说明书实施例提供的用户兴趣挖掘的方法。图8示出根据一个实施例的用户兴趣挖掘的装置的示意性框图。如图8所示,该装置800包括:
图更新单元81,用于根据待挖掘用户与其他用户的社交关系,将所述待挖掘用户加入所述关系网络图;
确定单元82,用于根据所述待挖掘用户的行为日志特征,确定所述待挖掘用户的初始用户表征向量;
融合单元83,用于将所述关系网络图中各用户分别对应的初始用户表征向量和所述图更新单元81得到的关系网络图输入所述图神经网络,通过所述图神经网络,得到所述待挖掘用户的融合用户表征向量;
推断单元84,用于将所述融合单元83得到的待挖掘用户的融合用户表征向量输入所述兴趣分布预测网络,得到所述待挖掘用户对应的兴趣分布参数;
采样单元85,用于根据所述推断单元84得到的待挖掘用户对应的兴趣分布参数,形成用户兴趣分布,通过对所述用户兴趣分布采样,确定所述待挖掘用户针对各兴趣分别的概率。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图6所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图6所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种基于深度学习的网络加密流量识别方法