用户建模是各项个性化服务(如推荐系统)中的关键技术。基于用户行为的用户建模,是实际推荐系统中的主要建模方法。已有的基于用户行为的用户建模方法,通常将用户建模为他们行为的集合或序列,亦或是用户-物品二分图上的节点。但是这些建模方法难以对行为之间的复杂联系和上下文信息进行充分建模。为了解决这一问题,微软亚洲研究院的研究员们提出了 User-as-Graph 方法。该方法将用户建模为一个由行为组成的异构图,这样就可以更好地理解行为之间复杂的关系和上下文信息,进而更加准确地表示用户,以实现“一人一图,千图千面”。
在 User-as-Graph 方法中,每个用户都被表示为一个个性化异构图。图7展示了一个构建示例。图中的节点是一个用户的异构行为,边是行为之间的关系。
此外,用户建模的任务可以转化为一个异构图池化的问题,即从个性化的异构图中学习用户的表示。然而,对异构图池化方面的研究非常稀缺,并且现有的同构图池化方法对于异构图池化可能不是最优的。基于此,研究员们又提出了一种名为 HG-Pool 的异构图池化方法,如图8所示。该方法的核心思想是经过多次迭代,将一个大的异构图池化,并不断压缩为一个更小的异构图,直到获得最终的用户表示。在每次迭代中,研究员们使用类型特定的 GNN 模型从整个异构图的信息中学习每种节点的池化函数,这样能够充分考虑异构节点的特性。
HG-Pool 方法的框架如图9所示。对于每种节点,首先使用一个不同的池化 GNN 模型来学习类型特定的节点表示。然后使用带 softmax 激活函数的线性变换,将这些节点表示转换为类型特定的池化矩阵。最后使用 padding 后的池化矩阵,将当前邻接矩阵和节点特征矩阵转换为更小的矩阵。
研究员们基于 MIND 新闻推荐数据集进行了实验。表4的结果显示 User-as-Graph 可以显著提升新闻推荐中用户建模的效果,从而取得更好的个性化新闻推荐的性能。