在异构视角下Moocs知识概念推荐的注意力机制的图卷积网络

摘要

海量的在线课程(Massive open online courses, MOOCs)正逐渐成为一种流行的教育方式,它们为学生获取、掌握知识提供了非常多的机会。【Background Info.】 为了吸引学生兴趣,Moocs providers使用推荐系统为学生推荐课程。【BG info.】 然而,一个课程常常会包含很多视频讲座,其中每一个视频讲座又涵盖了很多具体的知识概念,直接给学生推荐课程会忽视他们对某些具体知识、概念的兴趣。【Gap】To fill this gap, in this paper, we study the problem of knowledge concept recommendation. 【为了填补这个空缺,在该论文中我们研究了知识概念推荐的相关问题。】我们提出了一种端到端的图神经网络的方法,并称之为Attentional Heterogeneous Graph Convolutional Deep Knowledge Recommender(ACKRec)【注意力机制的异构图卷积深度知识推荐器】用于Moocs上的知识概念推荐。这个方法与其他推荐问题一样面临着数据稀疏问题。【Sparsity Issue】To address this issue, 我们使用了内容信息上下文信息,通过graph convolution network【GCN】来学习实体表示。除了学生和知识概念之外,我们也考虑到其他类型的实体数据,比如课程、视频、教师, 并且构造了一个Heterogeneous information network【异构信息网络, HIN】来捕获不同类型实体中相应的语义信息,并且把它们纳入到表示学习的过程。【incorporate sth into sth.】特别地,我们在HIN中使用了 meta-path【元路径】来引导传播学生的偏好。在元路径的帮助下,学生对候选知识概念的偏好分布就可以被捕获到。此外,我们还提出了一种注意力机制自适应地融合来自不同meta-paths的上下文信息,目的是获取到不同学生的不同兴趣。 为了学习到所提出模型用到的参数,我们打算使用扩展矩阵分解[matrix factorization, MF]. 我们开展了一系列的实验,并且与一系列的先进方法进行了比较,结果验证了ACKRec在多个流行指标的有效性。研究结果表明,我们提出的ACKRec能够有效地在MOOCs中为在线学习的学生进行知识概念推荐。

BG Info --> find the issue [Gap] --> Fill the Gap

  • 应对数据稀疏问题 --> 使用内容信息&上下文信息,GCN学习实体表示; --> 考虑更多实体,HIN捕获不同实体中的语义信息,纳入到表示学习; --> 使用meta path引导传播学生偏好; --> Attentional mechanism to adaptively fuse the context info.
  • 学习模型参数 --> 扩展矩阵分解

关键词

Recommender System; Graph Neural Networks; Heterogeneous Information Network;

介绍

近年来,MOOCs正逐渐成为一种替代全球教育的模式。比如Cousera, edX和Udacity这三大开创性的MOOCs平台为成百上千万的用户提供了全球知名大学的众多课程。同样在中国,数以百万记得用户在XuetangX学习,这是一个最大的MOOCs平台之一,里面提供了数千名不同学科的课程。[Although]尽管众多的学生能够在MOOCs平台持续学习、成长,但是这些平台本身也面临着很多困难。[challenge]一个具有挑战性的问题就是how to attract students to study continuously and efficiently on the platforms【如何吸引学生在平台上持续、高效地学习】,因为在这些平台上总体课程的完成率是低于5%。【Therefore】这需要更好的理解和掌握学生的兴趣所在。 为了在MOOCs上理解和把握学生的兴趣,人们已经做出了多项努力,包括课程推荐系统、行为预测、用户意图识别等待。在这些努力里面,MOOCs提供者使用推荐系统为学生推荐课程。【However】一个课程常常由众多的视频讲座组成,每一个讲座亦涵盖了很多具体的知识概念。直接进行课程推荐会忽视了学生们对某些具体知识概念的兴趣,比如计算机视觉[Computer Vision, CV]课程由不同教授来讲授从微观视角[microscopic view, cover different sets of knowledge concepts]会有很大的差异: 某些讲师可能只是讲授基于几何的方法,而另一些讲师可能只是介绍深度学习的方法,因此对基于深度学习方法感兴趣的学生推荐仅涵盖基于几何方法的CV课程并不是一个很好的匹配方案。因此需要从微观的视角去研究学生在线学习的兴趣,并且开展知识概念推荐。 传统的推荐策略,比如协同过滤[Collaborative filtering, CF]是通过考虑用户(在这里是学生)的历史交互信息,并根据兴趣相似的用户的潜在共同偏好提出的建议,这种方法已经取得巨大的成功。然而, CF所依据的方法存在着用户项(student-knowledge concept)关系稀疏的问题,这个问题限制了推荐系统的性能[GAP]。为了克服这个困难,人们利用辅助信息做出了大量的努力,比如社交网络[Social Network]、y用户/项目属性[User/Item Attributes]、图像[Images]、上下文[Contexts]等。在MOOCs平台上,我们通过观察发现,除了用户-知识概念实体关系,仍然存在着很多类型的实体(video, course, teacher)和众多不同实体之间的关系,Table 1展示了2018年1月1日到2018年3月31日期间真实世界XuetangX数据的统计数据。

这个数据集包含了9986个用户、43405个视频、7029个课程、5038个老师、1029个知识概念以及相关的多种类型关系。如Figure 1所示,“Course: V_9e77179”包含了"Knowledge concept: c++", "student: 207256"正在学习"Course: CaltechX","video: V_1a9aa686"是与"Knowledge concept: binary tree“相关,"Course: CaltechX"是由"teacher: Smith"讲授。比如,”user: 207256“点击"Knowledge Concept: c++"、”Knowledge concept: binary tree“和”Knowledge concept: depth-first search“.考虑到以上的多种关系,我们可以获得更多有效的事实,以及用户和知识概念之间的互动。【用户兴趣】

如果我们仅仅是依赖于基本的结构,这是很难发现"Knowledge Concept: depth-first search" 和"knowledge concept: time complexity"之间的显著互动结果,它们是属于两个不同的课程,但是由同一个用户来点击。正如图一所示,不同的知识概念包含了不同的上下文。仅仅利用单一的交互可能会忽视了用户和知识概念之间的相关性。比如,“knowledge concept: c++”和“Knowledge concept: binary tree”尽管包含在同一个视频中也有不同的语义信息。这些异构关系提供了丰富的边信息,并且对推荐系统有三方面的好处:(1) 可以在知识概念中引入语义关联,去帮助潜在的交互;(2)用户的兴趣可以合理的扩展,增加推荐知识概念的多样性;(3)用户的兴趣可以通过沿着这些关系追踪用户的历史记录来解释;因此,需要将这些异构信息整合到实体的表示学习中。 基于以上的观察发现,我们提出了ACKRec,这是一种基于MOOCs平台的端到端的知识概念推荐框架。为了捕获异构的复杂关系,我们将MOOCs平台数据建模为异构信息网络。然后,我们提出了一个基于注意力的GCNs来学习不同实体的表示。传统的GCNs只能捕获同构实体之间的同构关系,而忽略了异构关系中的丰富信息。[GAP]为了解决这种问题,我们使用Meta-Paths去引导,通过GCNs捕获HIN中的异构上下文信息。以这种方式使得异构关系能够更自然、更直观被利用起来。此外,考虑到不同的学生会有不一样的兴趣,我们进一步提出了一个注意力机制,以在多个元路径中自适应地利用上下文。最后我们通过扩展矩阵分解来优化所提出模型的参数,并获得最终的推荐列表。 (1. 建模为HIN -> 捕获异构关系; 2. 注意力机制的GCNs来学习不同实体表示; 3. 使用Meta-Paths引导引导GCNs捕获HIN中上下文信息;4. MF优化模型参数;)

本文所做出的的贡献能够总结如下:

  • 我们发现了知识概念推荐的重要问题,这是现有MOOCs推荐系统经常所忽略的问题。知识概念推荐填补了这个空缺,并且从一个更微观程度去推荐。
  • 我们提出了ACKRec,这是一个新颖的端到端框架,他利用丰富的异构的上下文信息来辅助知识概念推荐;
  • 我门提出了一种异构信息网络模型来捕获MOOCs平台中不同实体类型之间的各种复杂交互;
  • 我门设计了一种端到端的GCN,它能够将内容和异构上下文信息融合到不同实体的表示学习中。这个模型能够自动的发现用户的潜在兴趣,因为以一种注意力方式的元路径来引导传播用户的偏好;
  • 我们使用来源于XentangX收集的真实世界数据开展了大量的实验研究来全面评估所提出模型的性能表现。我们研究了以下参数:Meta-Paths组合、表示维度、潜在因素(number of latent factories)和GCNs的层数。与一系列强基线的比较,我们综合上说明了所提出模型的有效性。

问题陈述&系统框架

问题陈述

给定一个目标用在MOOCs中拥有相应的交互数据,目标是计算用户在一系列知识概念上的兴趣分数,推荐结果是一个知识概念的TOP-N列表。更正式而言,根据用户u的历史交互信息,学习预测函数f,并使用它来生成新的知识概念推荐列表K. (e.g., "c++", "binary tree", "linked list", etc.),比如:

系统架构

我们所提出的知识概念推荐系统的体系结构 ACKRec 如f2所示。它包含了下面所提的组件:

  • 特征提取(Feature Extraction) 通过使用MOOCs采集而来的数据,首先我们从知识概念名称解析内容信息作为内容特征,然后分析在不同类型实体(e.g., 知识概念,视频,课程)之间的各种关系(eg., concept-video, concept-course relations)来描述知识概念。同样,我们也为用户生成了概念特征和上下文特征(See Section 3.1 for details regarding feature extraction)。
  • 元路径选取(Meta-path Selection) 在这一个模块,根据从数据中提取出来的特征,我们构造了一个HIN结构来给不同类型实体的关系来建模,然后在HIN中选择不同的元路径来描述知识概念的相关性。(即具有不同的含义)比如,若两个用户同时参加了同一门课程,我们会在两个用户之间引入一条边。(See 3.2 for details regarding the meta-path builder on HIN.)
  • 异构实体的表示学习(Representation Learning of Heterogeneous Entities) 根据前一步构建的元路径,我们提出使用表示学习(representation learning)在异构视角下学习实体的低维表示。该模型能够捕获到异构实体之间结构的相关性。特别地,我们充分利用了挑选出来的元路径通过GCN来引导实体表示学习。之后我们会利用注意力机制(Attention mechanism)来自适应地融合来自不同元路径的实体表示。(See section 3.3 for details regarding our proposed model ACKRec)
  • 评分预测(Rating Prediction) 在生成了低维度的用户和知识概念的表示,将实体的稠密向量输入扩展矩阵分解,来学习模型参数。此外,我们预测用户的对为点击的知识概念兴趣是根据user-item(student-konwledge concept)评分矩阵。

分析

  1. 知识概念名称中提取内容信息作为内容特征(究竟从里面提取出了什么?)分析了各种实体之间的关系(找出各个实体之间可能存在的关系信息)来描述知识概念! (描述)
  2. 构造HIN给不同类型实体关系建模,选择不同元路径来描述知识概念的相关性;(相关性)
  3. 在异构视角下使用表示学习实体的低维度表示,捕获异构实体的相关性;利用元路径来引导表示学习,自适应融合实体表示;
  4. 评分预测

所建议的方法

在这个环节,我们引入细节部分来解释 1. 根据生成内容特征和上下文特征,我们是如何学习知识概念和用户的表示; 2. 根据所学习到的表示,我们是如何开展知识概念推荐;

特征抽取

内容特征

一般而言,知识概念的名字基本就是知识概念的概括。(e.g., "c++","binary tree", "linked list"), 里面包含了丰富的语义信息。因此,我们生成知识概念名称的单词嵌入,并将其作为知识概念的内容特征。不失一般性,我们使用Word2vector来生成词嵌入。对于用户概念,我们以同样的来方式生成。 在这里,直接使用了名字作为知识概念和用户概念(实体概念!)&W2v来生成嵌入

上下文特征

知识概念名称的单词嵌入等内容特征可以用来表示知识概念信息。此外,网络结构中存在着丰富的上下文信息,如不同实体之间的关系。(e.g., user:207256 watched video: v_9e77179 & video: v_1a9aa686; this behavior implies a relation between this two videos.)为了引入包含了不同类型实体的复杂关系,我们进一步将上下文信息建模为特征。特别地,在用户学习活动中考虑了以下关系。

  • R1u: 根据用户在线行为习惯的数据,我们建立了user-click-knowledge concept矩阵A1u, 其中每个 ci,j 属于{0, 1}用来表示用户 i在他的学习行为中点击了知识概念 j。
  • R2u: 为了描述用户和课程之间的关系,我们生成了user-learn-course 矩阵A2u,里面的每个 li, j属于 {0, 1}用来表示用户i选择了课程j;
  • R3u: 同样的,我们生成了user-watch-video矩阵 A3u,里面的每一个元素 wi, j属于 {0, 1}用来表示用户i学习了视频 j;
  • R4u: 为了描述用户参加由老师讲授课程的行为,我们生成了user-learn-course-taught by-teacher 矩阵A4u,里面的元素 ti,j 属于{0, 1}用来表示用户i学习老师j的课程。

我们生成这些关系用于描述HIN中与用户相关的交互信息。 对于知识概念,我们还发现了很多与之相关的关系。比如,视频中包含的关系知识概念表示视频中包含知识概念,而涉及课程的关系知识概念表示课程中包含知识概念

基于关系的元路径

为了以一种适当的关系对不同类型的实体和其复杂关系建模,我们首先描述了如何使用HIN来描述用户、知识概念和它们之间的异构关系。在开展我们的方法之前,我们先介绍一些相关的概念。 定义 1: 异构信息网络(异质信息网络, Heterogeneous information network, HIN) 表示为G = {V, E}由对象集V和链接集E组成。HIN还与对象映射函数相关联 ϕ \phi : V -> N 和链接映射函数相关联 φ \varphi : E -> R。N和R表示预定义的对象和链接类型的集合, 其中|N|+|R| > 2 在这个研究当中,我们把MOOCs数据建模为HIN。明确地,我们所构造的HIN包含了5种实体:(i.e. user(U), course(C), video(V), teacher(T), knowledge concept(K) f2所示)以及一系列的关系(e.g. R1u, R2u, R3u, R4u)。 基于所构造的HIN,我们可以定义网络模式,它们的定义如下。 定义2: 网络模式(Netowork schema) 网络模式定义为 S = (N, R)。它是一个信息网络G={V, E}的元模板,对象类型映射为 ϕ \phi : V -> N 和链接类型映射为 φ \varphi :E-R, 这是一个定义在对象类型N上、边是R的关系的有向图。我们在f3中定义了网络模式,它在MOOCs数据集中全面的表示语义和相关信息。基于网络模式,我们可以发现一对实体之间的语义路径,也就是元路径(Meta-path)。

定义3: Meta-path 在网络模式S=(N, R)上定义了元路径,并且以 N 1 R 1 N 2 R 2 . . . R t N l N_1 \stackrel{R_1}{\rightarrow} N_2 \stackrel{R_2}{\rightarrow} ... \stackrel{R_t}{\rightarrow} N_l 方式来表示(缩写为 N 1 , N 2 , . . . , N l N_1,N_2,...,N_l ),这是在描述一种在对象 N 1 N l N_1 和 N_l 之间的复合关系 R = R 1 R 2 . . . R m R = R_1 \circ R_2 ... \circ R_m (其中m+1=l),其中 \circ 描述关系上的复合运算。

两个用户之间的典型元路径可以定义为如下: U c l i c k K c l i c k 1 U U \stackrel{click}{\rightarrow} K \stackrel{click^{-1}}{\rightarrow} U 它表示两个不同的用户是相关的,因为他们点击了同一个知识概念。 U l e a r n C t a u g h t b y T t a u g h t b y 1 C l e a r n 1 U U \stackrel{learn}{\rightarrow} C \stackrel{taught by}{\rightarrow} T \stackrel{taught by^{-1}}{\rightarrow} C \stackrel{learn^{-1}}{\rightarrow} U ,这表示两个用户通过包含同一位教师讲授的不同课程的路径相互关联。特别注意,HIN产生的潜在元路径可以是无限的,但是并非每个人都与感兴趣的特定任务关联并且有用。幸运的是,最近提出一些算法,用于自动的选择特定任务的元路径。 考虑到所有关于HIN的概念,我们现在开始讨论异构信息网络中表示学习的问题。在文章中我们使用到的符号总结在Table 2中。

基于注意力的HIN表征学习图卷积网络

在获得内容特征和上下文特征之后,我们将实体内容特征反馈给GCNs以学习潜在的实体表示。给定与一组元路径 MP = {MP1, MP2, ..., MP||MP||}相关的HING=(V, E),以及相应的邻接矩阵(adjacency matrix)A = {A1, A2}, ..., A|MP|}表示元路径的数量,其中|MP|为元路径的数目。我们采用具有以下传播规则的多层GCN:

在这里,我们为了简化,删除了所有图像相关符号的元路径指示符、用户指示符、知识概念指示符的下标。 h ( l + 1 ) h^{(l+1)} 表示实体的新表示形式。特别地, h 0 h^{0} 是我们从第一步抽取出来的内容特征。 P = D ~ 1 / 2 A ~ D ~ 1 / 2 P = \widetilde{D}^{-1/2}\widetilde{A}\widetilde{D}^{-1/2} , A ~ = A + I \widetilde{A}=A+I 是对应于具有特定自连接元路径的邻接矩阵, I是单位矩阵, D ~ = d i a g ( A ~ 1 ) \widetilde{D}= diag(\widetilde{A}1) , 其中 1是全1的向量。这里的 σ ( ) \sigma (·) 定义为 ReLU(·), 其中ReLU(a) = max {0, a}是一个关于入口的按条目校正的线性激活函数。l是层数指示器。 W l W^l 是 层l 所有实体可共享的可训练权重矩阵。权重共享是有意的,因为它在统计和计算上比传统的嵌入方法(embedding method)更有效。使用权值共享,模型可以更好的正则化,参数的数目也可以大幅度减少。

内容或者上下文的信息传播过程可以看做收敛到平稳分布的马尔科夫过程 P R n n P \in R^{n*n} (The information propagation process of content or context can be regarded as a Markov process converges to a stationary distribution P ), 第i行表示知识概念i的传播可能性。这种扩散过程的平稳分布被证实了有一个封闭形式的解。当考虑扩散过程的一步截断(1-step truncation), 传播层计算上下文当前表示的加权和。 我们把 P 0 = P 1 = P 2 = D ~ 1 / 2 A ~ D ~ 1 / 2 P^0 = P^1 = P^2 = \widetilde{D}^{-1/2}\widetilde{A}\widetilde{D}^{-1/2} , 以及这三个传播层定义如下:

其中 e M P R d e_{MP} \in R^d 是实体最终的表示。 通过三个传播层, 我们可以学习到每一个元路径的表示, 但是【GAP】不同的Meta-path不应该同等考虑!为了解决这个问题,我们利用注意力机制来融合不同元路径指导下的实体学习表示,并且生成注意联合表征(attentional joint representation) 特别地,我们用以下方式学习不同元路径的注意力权重:

其中, att(·)指的是attention function, e指的是最终的实体表示,里面已经整合了不同元路径的注意权重。在这个问题里面,我们主要关注用户和知识概念,目标实体是用户或者知识概念。形式上给定每个元路径MPi 属于{MP1, MP2, MP|MP| }对应表示形式 e   M P i MP_i , 我们把权重定义如下:

其中 e M P i MP_i 是基于目标元路径的实体表示,e M P j MP_j 是基于其他元路径的实体表示. a是可训练的 attention vector, σ \sigma 是非线性的门函数。我们建立了一个前馈神经网络来计算一条元路径和其他云路径之间的相关性,并且使用softmax function来进行正则化,注意力联合表征可以表示如下:

其中,

e表示知识概念的最终表示。 Meta-path注意力机制通过利用不同元路径的相关性和学习实体表示,使得我们更好地推断不同元路径的重要性。 算法框架如 Algorithm 1所示。

知识概念推荐的矩阵分解

到目前为止,我们已经研究了了如何用户和知识概念的文本特征和上下文特征。使用基于注意力机制的GCNs进行表示学习,我们可以得到知识概念 ek、用户eu的表示。在这一模块,我们提出一种基于扩展矩阵分解(MF)的方法来为用户进行知识1概念推荐。我们用用户对知识概念的点击次数构造评级矩阵。用户对知识概念的评分可以定义为如下:

其中 x u R D m x_u \in R^{D*m} 指示用户的潜在因素, y k R D n y_k \in R^{D*n} 指示知识概念的潜在因素。D是潜在因素的数目。mn是用户实体和知识概念实体的数目。因为我们已经获得了 用户u和知识概念k的表示,我们以以下方式将它们输入到评价矩阵中:

其中 用户和知识概念用 e u e^u e k e^k 来表示。可训练参数 t u t^u t k t^k 的引入是为了确保 e u e^u e k e^k 在同一个向量空间。 β u β k \beta_u 和\beta_k 是调整参数。为了达到适当的评级预测的目的,MF的目标函数定义如下:

我们在函数中添加了正则项,因此以上目标函数的最终形式如下:

其中 λ \lambda 是正则项参数,我们利用梯度下降算法优化最终目标函数的局部最小值。

实验

数据集

我们收集了真实世界MOOC平台XuetangX的数据。我们选择了注册行为发生在 2016年10月1日到2017年12月31日期间的数据作为训练集,其他的那些发生在2018年1月1日到2018年3月31日的数据作为测试集。训练集或测试集中每一个实体表示用户点击历史的序列。在训练的过程中,对于训练数据中的每个序列,我们将最后点击的知识概念作为目标,剩余部分作为过去的行为。此外,对于每一个正实例,我们随机生成一个负实例来替换目标知识概念【?】。在测试的过程中,我们把测试集中登记的每个知识概念作为目标知识概念;在训练集中同一个用户相关的知识概念被视为表示单击的知识概念的历史序列。为了评估推荐的性能,在测试集中每一个正实例都与99个随机抽样的负实例配对,并输出100个实例的预测分数(1个正99个负)。

评估矩阵

我们依据广泛使用的评价指标评估了所有方法,包括 HR@K(Hit Ratio of top-K items, 前k项命中率)、NDCG@K(Normalized Discounted Cumulative Gain of top-K items, top-k项目的标准化贴现累积收益)。其中HR@K是一个召回指标(recall-based metric),用户衡量前k名中成功推荐的真值比例,NDCG@K 是一个基于精度的度量,用于说明真值的预测预测位置。我们把K设置为5、10、20,并计算每100个实例的所有指标(1个正99个负)。最终给用户u推荐的列表是 R u = { r u 1 , r u 2 , . . . , r u K } R_u = \{r_u^1, r_u^2, ..., r_u^K\} , r u i r_u^i 表示基于预测分数在 R u R_u 中的第i个位置。 T u T_u 是测试数据中用户u的交互集,N是测试集中全部用户数。

其中, I(x) 是一个指示函数,当 x>0表示 1, 其他情况值为0。HR@K的值越大,表示模型的效果越好。

其中, Z是一个归一化常数,相当于DCG@K可能的最大值。我们同样使用平均倒数排名(MRR)。 通过定义,我们知道,MRR越大表示模型的性能越好。

其中, ranki表示在100个实例中 正实例的排名位置。此外,我们同样添加了ROC曲线下面的面积(AUC)作为度量。

所提方法的细节分析

评估不同元路径的组合

在实验的这一模块,我们分析了元路径组合的选择如何影响ACKRec的性能,因为少量的高质量元路径可以带来可观的性能。我们考虑了单个的元路径,已经它们的组合。特别地,我们选出了四种元路径来描述用户对之间的关系,包括: M P 1 : U K 1 U MP_1: U {\rightarrow} K \stackrel{-1}{\rightarrow} U , M P 2 : U C 1 U MP_2: U {\rightarrow} C \stackrel{-1}{\rightarrow} U , M P 3 : U V 1 U MP_3: U {\rightarrow} V \stackrel{-1}{\rightarrow} U M P 4 : U C T 1 C 1 U MP_4: U {\rightarrow} C {\rightarrow} T \stackrel{-1}{\rightarrow} C \stackrel{-1}{\rightarrow} U , 我们还选择了三种元路径来描述这对知识概念之间的相关性,包括 K K K \leftrightarrow K K U 1 K K {\rightarrow} U \stackrel{-1}{\rightarrow} K K C 1 K K {\rightarrow} C \stackrel{-1}{\rightarrow} K , 为了分析少量元路径中不同组合的影响,我们使用了三种元路径来给知识概念建模,同时也研究了 单用户相关元路径及其组合的性能,实验结果如T3所示。 分析T3我们可以发现, 每一条元路径(i.e., MP1、MP2、MP3, MP4)呈现了不同的性能,并且按照表现排序为: M P 3 > M P 1 > M P 2 > M P 4 MP_3 > MP_1 > MP_2 > MP_4 并且组合的元路径的表现趋势也是一致的, 比如MP_1&MP_3 > MP_1&MP_2。这说明了不同的元路径表示不同的关系。此外,尽管模型性能的增长并没有很明显,但是包含了更多的元路径的组合将表现出更好的性能,并且通过组合所有四个元路径达到了最佳表现。

评估模型参数

在基于矩阵分解的方法里,潜在因素的数量是一个重要参数。因此我们对不同数量的潜在因素所获得的的性能进行了比较。如f4所示,我们使用了HR@K、NDCG@K、MRR、AUC来展示潜在因素数目改变对ACKRec的性能影响。我们以10位增量,将数字10调整到40。我们可以发现,尽管潜在因素数量在增加,但是性能增长变得平稳。并且 潜在因素数量为30时,性能表现是最佳的。

当我们将 the number of latent factors = 30之后, 我们研究了实体表示的维度设置,实验结果f5所示。我们使用了不同的维度来开展实验,包括(i.e., 20, 50, 100, 150, 200), 并且发现 维度为100时达到了最佳。因此,用户和知识概念都设置为100维的向量。结果同样说明了 在HIN中用户和知识概念的表示在提高推荐任务性能同样具有重要的作用。 我们也实验验证了GCN层数对模型表现的影响。正如f6所示,我们可以清晰看到不同GCN层数(1,2,3,4)对所提模型性能的影响,同时 层数为3时为最优!

基线方法

为了评估所提模型方法的性能表现,我们考虑了以下基线方法:

  • BPR: 它以贝叶斯方式优化推荐任务的成对排名损失;
  • MLP: 它将多层感知器(MLP)应用于一对用户表示和相应的知识概念推荐表示,以了解向用户推荐知识概念的概率;
  • FM: 这是一种原则性方法,可以很容易地结合任何启发式特征。然而,为了确保与其他方法进行公平性比较,我们只使用用户和知识概念的表示;
  • FISM: 这是一种逐项协同过滤算法,基于所有的历史行为的平均嵌入和目标知识概念嵌入来执行建议;
  • NAIS: 这是一种逐项协同过滤算法,但是使用了注意力机制区分不同在线学习行为的权重;
  • NASR: 这是一种改善的GRU模型,根据GRU输出的响应隐藏向量估计每个行为历史的注意系数。GRU是一个门控循环单元模型, 它接收历史行为列表作为输入;
  • metapath2vec: 这是一种基于元路径和HIN的随机游走和跳跃图表示算法。在ACKRec模型中,用户和知识概念的元路径相同的情况下,我们使用metapath2vec生成具有相同维度ACKRec的用户和知识概念表示;
  • ACKRech ACKRec的变种,忽视了异构信息网络中实体的异构性。我们重新生成邻接矩阵来表示不同类型的实体;
  • ACKRecc ACKRec的变种, 没有注意力机制方法,并且将不同的元路径连接在一起;
  • ACKRecs 基于内容特征的ACKRec, 该模型的输入只是实体的内容特征;
  • ACKRecr 基于上下文的ACKRec, 与ACKRecs模型相似,上下文特征输入到该模型里面;
  • ACKRecs+r 该方法结合了异构上下文特征和内容特征,从而最限度描述HIN中的实体。

对于MOOCs中的数据集,我们将用户历史数据分割成训练集和测试集。我们所提方法和基线方法的训练时间如下: BPR 2hrs, MLP 2hrs, FM 2.5hrs, FISM 4hrs, NAIS 3.5 hrs, NASR 4.5 hrs, metapath2vec 5.5hrs, ACKRec(our method): 4.5hrs。在T4中,我们比较了ACKRec和其他ML方法。 对于基于HIN的方法,我们在第3.1.2节中选择了性能最好的元路径组合,如T4所示, 基于HIN方法优于其他所有方法。这表明了MOOCs数据中异构的重要性。此外,实验结果表明融合了 内容特征上下文特征的ACKRecs+r展示了最佳的性能 与metapath2vec基于随机游走策略生成的表示和skip-gram方法生成的节点不同,我们的模型利用GCN学习表示和自适应注意力机制学习不同的元路径权重,能够更好地捕捉数据中的异构性。 此外,与ACKRech方法不同,实验结果明显展示了ACKRec利用基于HIN的元路径方法可以更高效地捕获异构关系。与ACKRecc比较,我们可以发现在不同的元路径中学习的自适应融合表示更优于简单的级联,因为不同的元路径对于不同任务权重会有所不同。此外,与ACKRecs和ACKRecr比较可以发现,仅利用内容特征或上下文特征的方法将丢失实体表示所需的信息,因此它们将不能全面地描述MOOC中用户和知识概念的特征。最终的方法ACKRecs+r在HIN上使用了自适应权重和基于元路径的方法,能够更全面地整合实体丰富的内容特征和不同类型实体的结构关系,并且达到最优性能。

个案研究

在这一模块,我们通过一个案例来证明我们所提方法ACKRec的有效性。 我们随机选择了一个学生 student:2481307并根据单个元路径 M P 2 MP_2 和组合元路径 M P 1 M P 2 M P 3 M P 4 MP_1-MP_2-MP_3-MP_4 获得top-10推荐列表。如f7所示,凭直觉我们可以发现,该模型在不同的实体条件下产生了不同的结果。随着用户和知识概念之间的关系更有意义,推荐列表将包含对应用户更多相关知识概念。比如,从student:2481037的点击历史列表我们可以知道,该学生对计算机网络相关领域比较感兴趣,元路径 M P 1 M P 2 M P 3 M P 4 MP_1-MP_2-MP_3-MP_4 的结果表名ACKRec可以捕捉到学生对知识概念的兴趣,匹配他下一次点击的是异步传输模式,用蓝色标明。其他的推荐结果,比如protocol data unitswitched telephone networkswitchIPV4同样是高度相关。特别地,推荐结果非常依赖于元路径的选择!

相关工作

HIN中的GCN

在现在的ML领域,图扮演者至关重要的角色。近年来,GCN已经成为机器学习中经常出现的话题,并且具有广泛的应用。然而,在真实世界,图经常是异构的。Wang et al.[28] 提出了DeepHGNN,这是一种注意力机制的异构图神经网络模型,能够从异构程序行为图中学习以指导重新识别过程。 Wang et al.[29]提出 HAGNN,这是一种分层注意图神经编码器,并且将其用于程序行为图分析。此外,GEM模型也是一种异构图神经网络方法,用来检测支付宝上的恶意账户。但是与这些方法不同,我们所提出的方法利用了注意力机制的GCNs来表示在HIN中的用户和知识概念。

HIN中的推荐系统

一些信息推荐模型是基于HIN网络的。?提出一种基于图模型用来解决异构网络中的一般推荐问题。 Yu et al.[32]提出使用根据潜在特征的元路径来表示用户和实体之间的关联性以及不同类型的路径。 此外,沿着前面以及做过的工作,Shi et al.[10, 23, 24]提出使用元路径概念来在HIN中给异构信息建模。这与先前的工作不同,本研究侧重于获取HIN网络上的不同类型实体的表示,并且将不同类型实体的结构融合在一起,以完成知识概念的推荐任务。

结论

在我们所做的工作当中,我们调研了MOOCs系统中知识概念推荐的问题,且这个问题常常被人忽视。【GAP】我们提出ACKRec是一种端到端的图神经网络方法,该方法自然的将丰富的异构上下文信息整合到知识概念推荐中。为了以更自然、更直观的方式利用丰富的上下文信息,我们把MOOCs建模为一个HIN网络。我们设计了一个基于注意力机制的GCN来学习不同实体的表示,并且以一种注意力的方法使用元路径来传播上下文信息。在所提出的注意力GCN,用户的兴趣能够有效地被发现和聚合。从XuetangX采集的真实数据进行了全面的实验研究。我们所提方法的性能表现胜于强基线,实验结果表明了该方法的有效性。

猜你喜欢

转载自juejin.im/post/7107040764512698376