计算机系统应用  2024, Vol. 33 Issue (1): 289-296   PDF    
基于知识图谱的双端知识感知图卷积推荐模型
马汉达, 胡志鹏     
江苏大学 计算机科学与通信工程学院, 镇江 212013
摘要:针对现有基于知识图谱的推荐模型仅从用户或项目一端进行特征提取, 从而缺乏对另一端的特征提取的问题, 提出一种基于知识图谱的双端知识感知图卷积推荐模型. 首先, 对于用户、项目及知识图谱中的实体进行随机初始化表征得到初始特征表示; 接着, 采用基于用户和项目的知识感知注意力机制同时从用户、项目两端在知识图谱中进行特征提取; 其次, 使用图卷积网络采用不同的聚合方式聚合知识图谱传播过程中的特征信息并预测点击率; 最后, 为了验证模型的有效性, 在Last.FM和Book-Crossing两个公开数据集上与4个基线模型进行对比实验. 在Last.FM数据集上, AUCF1分别比最优的基线模型提升了4.4%、3.8%, ACC提升了1.1%. 在Book-Crossing数据集上, AUCF1分别提升了1.5%、2.2%, ACC提升了1.4%. 实验结果表明, 本文的模型在AUCF1和ACC指标上比其他的基线模型具有更好的鲁棒性.
关键词: 知识图谱    知识感知    注意力机制    图卷积网络    
Knowledge Graph-based Recommendation Model with Bipartite Knowledge Aware GCN
MA Han-Da, HU Zhi-Peng     
School of Computer Science and Communication Engineering, Jiangsu University, Zhenjiang 212013, China
Abstract: To address the problem that existing knowledge graph-based recommendation models only perform feature extraction from one end of users or items, missing the feature extraction from the other end, a bipartite knowledge-aware graph convolution recommendation model based on knowledge graph is proposed. First, the initial feature representation is obtained by random initialization characterization of users, items and entities in the knowledge graph; then, a user and item-based knowledge-aware attention mechanism is used to simultaneously extract features from both users and items in the knowledge graph; next, a graph convolutional network is used to aggregate feature information in the knowledge graph propagation process using different aggregation methods and predict the click-through rate; finally, the effectiveness of the model is verified by comparing it with four baseline models on two publicly available datasets, Last.FM and Book-Crossing. On the Last.FM dataset, AUC and F1 improve by 4.4% and 3.8% respectively, and ACC improves by 1.1%, compared with the optimal baseline model. On the Book-Crossing dataset, AUC and F1 improve by 1.5% and 2.2% respectively, and ACC improves by 1.4% . The experimental results show that the model in this study has better robustness than other baseline models in AUC, F1 and ACC metrics.
Key words: knowledge graph     knowledge aware     attention mechanism     graph convolutional network (GCN)    

随着网络技术的不断发展, 现如今的网络上充满了数量庞大的信息, 例如文章、视频和音乐等, 这使得人们很难快速有效地筛选出自己想要的信息, 也就是所谓的“信息过载”问题[1]. 因此, 基于用户历史行为或兴趣偏好对用户进行信息推荐的推荐系统被提出[2]. 传统的推荐模型大致可以分为3类: 基于内容、基于协同过滤和基于混合的推荐[3]. 基于内容的推荐根据用户、项目自身的信息来为用户推荐相似内容的项目. 基于协同过滤的推荐从大量的人群行为和数据中收集信息, 获取某种趋势或人群中共性的部分, 并基于此对用户进行推荐[4]. 混合推荐通过融合不同算法或模型的优点来对用户进行推荐, 具体融合方式根据应用场景的变化而变化. 传统推荐模型存在数据稀疏、冷启动以及推荐解释性方面的问题[5], 基于知识图谱的推荐可以很好地缓解这些问题.

近年来, 随着推荐系统可利用的数据形式以及结构的多样化和复杂化, 基于图数据和图神经网络的推荐成为研究的热点, 这使得知识图谱在推荐系统中得到了很好的应用. 知识图谱是谷歌公司提出的, 旨在描述真实世界中各种实体和概念以及它们之间的联系[6]. 知识图谱可以包含各种辅助信息, 包括丰富的用户信息、项目信息以及用户项目交互信息. 使用知识图谱进行推荐可以有效缓解推荐数据存在的数据稀疏和冷启动问题并提高推荐的可解释性[7], 其常应用于电子商务、社交媒体以及文本推荐等领域. 同时, 图神经网络在处理知识图谱中的非欧氏数据时具有非常好的效果[8], 尤其是图卷积神经网络能够对图数据进行有效的特征提取和表示, 帮助用户更好地挖掘出兴趣点.

目前, 将知识图谱应用于推荐系统存在以下问题. 首先, 知识图谱中普遍存在的噪声, 阻碍了用户偏好的提取, 影响推荐效果. 其次, 图规模过大带来的计算机运算负担大的问题. 同时, 在基于知识图谱和图神经网络的经典推荐模型如KGCN (knowledge graph convolutional networks)[9]、RippleNet[10]中, 存在特征建模不充分问题, 它们仅从用户或项目一端通过知识图谱进行邻域信息聚合提取特征, 对于另一端的特征建模不够. 基于特征建模不充分问题, 本文提出基于知识图谱的双端知识感知图卷积推荐模型KGBCN (knowledge graph based bipartite knowledge-aware graph convolution network). 模型从目标用户和项目出发, 同时考虑用户的偏好信息以及项目属性信息, 在知识图谱中分别采样不同数量的邻居节点并聚合邻域信息.

本文的主要贡献有: (1)模型根据知识图谱的异构信息, 结合图卷积网络和图注意力网络分别在用户、项目两端同时聚合知识图谱中的辅助信息, 融入用户的偏好信息以及项目属性信息, 丰富用户、项目的特征表示. (2)用户、项目两端在知识图谱传播过程中并未将所有邻居节点纳入计算, 而是分别采样不同数量的邻居节点, 一定程度缓解了噪声问题并减少了运算负担. (3)在公共数据集Last.FM和Book-Crossing上进行大量的实验来验证KGBCN模型的有效性, 与其他基线模型相比, 在评价指标AUCF1和ACC上, 性能有较为显著的提升.

1 相关工作 1.1 基于知识图谱的推荐

知识图谱是人工智能技术的重要分支, 它是结构化的语义知识库, 其基本组成单位是由头实体、关系和尾实体组成的三元组[11]. 三元组主要用于存储实体之间的关系或实体的属性. 将知识图谱引入到推荐系统不仅可以为用户及项目的特征提取提供更多的信息, 还可以增强推荐的可解释性. 现有的用于推荐的知识图谱主要可以分为两类, 其中最普遍的一种是文献[12]中使用的项目知识图谱IKG (item knowledge graph); 另一种是文献[13]中将用户、项目之间存在的交互关系构建成用户项目交互知识图谱, 并与项目知识图谱进行连接构成的协同知识图谱CKG (collaborative knowledge graph).

现有基于知识图谱的推荐模型主要依赖3种核心技术, 知识图谱嵌入、路径实例挖掘以及高阶信息聚合[14]. 依赖知识图谱嵌入的推荐主要通过图嵌入的方法对实体和关系进行表征, 从而扩充用户、项目表征的语义信息, 代表模型有TransE[15], TransH[16], TransR[17]. 依赖路径实例挖掘的推荐利用知识图谱中的关系信息来对用户和目标项目进行连接从而增强推荐效果, 一般需要手动设置元路径以进一步挖掘用户、项目之间的路径实例, 通过训练得到预测用户、项目连接关系的模型, 代表模型有PER[18], MG-HIF[19], MCRec[20]. 依赖高阶信息聚合的推荐是目前较为热门的方法. 基于知识图谱的高阶信息聚合推荐方法将嵌入的语义信息与知识图谱中的路径结合起来, 通过多个邻居丰富用户和项目的表示. 代表模型有KGCN、RippleNet、KGAT[21]等. KGCN根据项目信息在知识图谱中的传播聚合邻域信息以构建项目向量表示. RippleNet将用户交互过的项目集与知识图谱的实体对齐, 然后在知识图谱中传播并捕捉高阶语义信息以构建用户向量表示. KGAT使用注意力机制识别知识图谱中不同关系的重要性从而有效地学习高阶信息表示并聚合得到最终向量表示.

目前已有的基于知识图谱的双端推荐模型中, 文献[22]提出一种改进的交叉压缩单元来对项目端进行特征建模, 但其建模过程复杂, 需要参与训练的参数过多并且在对用户端建模过程中未能充分捕获用户偏好信息. 文献[23]提出一种基于知识图谱卷积网络的双端推荐算法DEGKCN, 使用卷积网络对用户和物品的属性以及它们之间的关系进行推荐, 但其忽略了用户项目交互信息的重要性.

1.2 KGCN模型

KGCN是将知识图谱与图卷积神经网络融合的经典模型, 由上海交通大学王鸿伟博士在微软亚洲研究院实习时和他的团队一起提出. 其通过挖掘知识图谱上的关联属性来有效地捕捉项目间的相关性, 关键思想是在计算知识图谱中给定实体的表示时, 有偏差地聚合邻域信息[24]. 该模型对知识图谱中的每个实体的邻居实体进行采样得到传播集并将其定义为“感受野”, 然后在计算目标项目的表示时融入根据传播集中的实体提取到的邻域信息. 以目标项目为起点在知识图谱中进行邻居实体采样得到的传播集如图1所示.

图 1 对灰色实体进行邻居采样得到的传播集 Fig. 1 The propagation set from neighbor sampling of gray entities

感受野可以扩展到多跳之外, 通过向外传播的方式获得高阶邻域信息并捕捉用户潜在的远距离兴趣. 在传播的过程中, 不同用户对于不同关系的重视程度不一样, 比如有的用户在搜寻书籍时关注书籍的作者多一些, 而有的则关注书籍的类型多一些. 这就是KGCN模型在聚合邻域信息时的关键, 根据用户以及关系的表征得到用户关于关系的权重, 通过计算用户对于感受野中不同项目的权重来聚合邻域信息, 这样既表征了知识图谱的语义信息, 也表征了用户在关系中的个性化兴趣. 即对于用户u和项目v, $N\left( v \right)$代表与v相连的实体, 也就是第1层的感受野, r代表实体之间的关系, 权重公式如式(1)所示:

$ {{\pi}}_{{r}}^{{u}}{{ = g}}\left( {{{u, r}}} \right) $ (1)

其中, $u \in {\mathbb{R}^d}$, $v \in {\mathbb{R}^d}$分别为uv的初始表征向量, d表示向量维度. $g$代表函数, 使uv进行内积运算. 根据每一层感受野中用户对于不同实体得到的不同权重进行归一化作为用户偏好的权重, 然后加权求和得到该层感受野提取到的特征向量. 最后, 对于每层感受野提取到的特征向量使用求和、拼接、邻域聚合3种不同的聚合方式进行有偏差的聚合.

KGCN模型通过邻域聚合捕获实体中的邻居信息, 既表征了知识图谱的语义信息, 也表征了用户的偏好信息, 但其仅从项目一端出发, 根据用户偏好在知识图谱中的传播聚合邻域信息, 对于用户一端没有进行有效的特征提取. 同时, 对于大规模的知识图谱, 计算复杂度高, 需要较大的计算资源和时间. 受此模型的启发, 本文提出KGBCN模型, 增加了对用户端的特征建模, 从用户、项目两端在知识图谱传播过程中分别采样不同数量的邻居节点并聚合邻域信息以及高阶语义信息.

2 模型框架

在典型的推荐场景中, 会有一组用户集${{U}} = \{ {{{u}}_1}, {{{u}}_2}, \cdots , {{{u}}_{{M}}} \}$、一组项目集$V = \left\{ {{v_1}, {v_2}, \cdots , {v_N}} \right\}$以及用户项目交互矩阵$Y \in {\mathbb{R}^{M \times N}}$. $Y$是根据用户的隐式反馈定义的, 其中${y_{uv}} = 1$表示用户u与项目v产生了交互, 例如点击、浏览或购买行为; 否则${y_{uv}} = 0$. 此外, 有一个知识图谱$\mathcal{G}$, 由大量基于头实体、关系和尾实体构成的三元组$\left( {h, r, t} \right)$组成. 其中$h \in \mathcal{E}$, $r \in \mathcal{R}$$t \in \mathcal{E}$, $\mathcal{E}$$\mathcal{R}$分别为知识图谱中的实体集和关系集. 给定用户项目交互矩阵$Y$和知识图谱$\mathcal{G}$, 通过学习一个预测函数${\hat y_{uv}} = \mathcal{F}(u, v|{{\Theta }}, Y, \mathcal{G})$ 来学习用户u参与项目v的概率. 其中, ${\hat y_{uv}}$表示用户u参与项目v的概率, ${{\Theta }}$代表函数$\mathcal{F}$的模型参数.

针对KGCN模型的特征建模不充分问题, 本文提出KGBCN模型, 从用户和项目两端出发更好地进行特征提取. 模型主要分为嵌入层、注意力嵌入传播层、聚合层和预测层. 其中, 嵌入层将模型所需的用户实体、项目知识图谱实体以及实体之间的关系进行初始化向量嵌入; 注意力嵌入传播层通过设计基于用户及项目知识感知的注意力机制提取用户、项目在知识图谱中传播时不同层的特征信息; 聚合层将不同层提取的特征信息进行聚合得到最终用户项目的特征向量; 预测层将用户项目特征向量进行内积运算求得点击率. 模型优点如下: 结构简洁, 复杂度低, 无需对知识图谱及用户项目交互数据进行预训练; 同时, 从用户、项目两端在知识图谱中传播, 融合了用户偏好信息和项目属性信息; 分别采样不同数量的邻居节点, 一定程度上减少了训练负担, 节省了计算资源. 模型的缺点为涉及的超参数较多从而导致调参困难以及数据规模越大, 训练的时间越长. 模型结构如图2所示.

图 2 KGBCN模型的结构 Fig. 2 Structure of the proposed KGBCN model

2.1 嵌入层

嵌入层对用户以及项目知识图谱实体进行初始化向量嵌入, 将每一个实体根据设定好的嵌入维度随机初始化成固定大小的向量, 然后把初始化的嵌入向量作为输入进入到注意力嵌入传播层提取知识图谱中的特征.

2.2 注意力嵌入传播层

注意力嵌入传播层将用户和项目分别在知识图谱中进行传播并基于知识感知的注意力机制提取每层的特征向量, 即捕获目标用户和项目的高阶邻域信息. 对于目标用户u和项目v, 使用$N_o^L$表示用户或项目在知识图谱中传播L层时的传播集, o表示用户u或项目v, 使用e作为传播集中的实体. $N_u^0$为用户u交互过的项目集合, $N_v^0$为项目v在知识图谱中相连接的实体集合. 根据初始传播集的实体在知识图谱中向外传播L层, 传播过程中, ${r_{{e_i}, {e_j}}}$表示实体${e_i}$${e_j}$之间的关系. 由于不同实体的邻居数量不同, 在数量过大的情况下会导致训练的参数过多, 影响模型计算时间, 因此, 对于目标用户、项目分别在知识图谱中随机抽取固定大小为${K_o}$的邻居实体作为下一层的传播集. 对于每一层的传播集, 采用基于知识感知的注意力机制提取集合中每个实体的权重, 公式如式(2)所示:

$ \pi _r^o = o \cdot {r^{\rm{T}}} $ (2)

其中, o为占位符, 表示用户u或项目v的初始嵌入表示. r为实体传播时关系的嵌入表示. 对于每一层的传播集的各实体的权重进行Softmax归一化处理并加权求和得到该层的特征表示, 公式如式(3)、式(4)所示:

$ \tilde \pi _r^o = {\textit{Softmax}} (\pi _r^o) $ (3)
$ e_o^{(L)} = \sum\limits_{e \in {N_o}^L}^{} {\tilde \pi _r^oe} $ (4)

其中, o为占位符, 表示用户u或项目v, e为第L层传播集的实体的嵌入表示.

2.3 聚合、预测层

聚合层使用3种不同的聚合方式将每一层得到的特征向量进行聚合并应用非线性变换, 分别为求和聚合器、拼接聚合器和池化聚合器.

(1)求和聚合器, 将不同层的特征向量相加, 公式如式(5)所示:

$ ag{g_{_{{\rm{sum}}}}} = \sigma \left(W \cdot \left(e_o^{({\rm{origin}})} + \sum\limits_{L = 0}^N {e_o^{(L)}} \right) + b\right) $ (5)

(2)拼接聚合器, 将不同层的特征向量进行连接, 公式如式(6)所示:

$ ag{g_{{\rm{concat}}}} = \sigma \left(W \cdot (e_o^{({\rm{origin}})}\parallel e_o^{(0)}\parallel \cdots \parallel e_o^{(L)}) + b\right) $ (6)

(3)池化聚合器, 将从不同的特征向量中取最大值, 公式如式(7)所示:

$ ag{g_{{\rm{pool}}}} = \sigma \left(W \cdot poo{l_{\max }}\left\{ {e_o^{({\rm{origin}})}, e_o^{(0)}, \cdots , e_o^{(L)}} \right\} + b\right) $ (7)

其中, $e_o^{({\rm{origin}})}$代表用户项目的初始向量表示, $ e_o^{(L)} $代表用户项目在知识图谱中传播的不同层提取到特征向量, $ W $代表可训练的权值, b代表偏差, $ \sigma $为非线性激活函数Sigmoid, $ poo{l_{\max }} $代表取最大值的操作.

经过聚合后得到最终用户、项目的嵌入表示并计算用户u对项目v的点击率, 公式如式(8)所示:

$ {\hat y_{uv}} = f({e_u}, {e_v}) $ (8)

其中, $ {e_u} $$ {e_v} $分别代表用户项目的最终嵌入表示, $ f $代表执行点积操作.

2.4 优化算法

模型的最终目标为预测用户点击项目的概率, 是一个二分类问题. 因此, 模型训练阶段, 使用BCE loss (binary cross-entropy loss)交叉熵损失函数来对模型进行训练, 同时在后面加入L2正则化项以防止过拟合. 交叉熵损失函数是卷积神经网络中最常用的分类损失函数, 可以有效避免梯度消散. 通过Adam优化器来对参数进行优化. 最后的损失函数如式(9)所示:

$ \begin{split} L = &\mathop \sum \limits_{u \in U} \left( {\mathop \sum \limits_{v \in \left\{ {v|\left( {u, v} \right) \in {P^ + }} \right\}} BCE\left( {{y_{uv}}, {{\hat y}_{uv}}} \right)} \right. \\ & -\left. {\mathop \sum \limits_{v \in \left\{ {v|\left( {u, v} \right) \in {P^ - }} \right\}} BCE\left( {{y_{uv}}, {{\hat y}_{uv}}} \right)} \right) + \lambda \parallel \Theta \parallel _2^2 \end{split} $ (9)

其中, $ {P^ + } $为正样本, 代表用户交互过的项目集合, $ {P^ - } $为负样本, 从目标用户没交互过的项目中随机提取与正样本相同数量的项目. $ \Theta $代表模型的所有参数. $ \lambda $为L2正则化系数, 防止模型过拟合.

3 实验结果与分析

本模型的实验环境为: Windows 10专业版操作系统; CPU为AMD R5 5600X 6-Core Processor, GPU为NVIDIA GeForce RTX 3060. 使用PyTorch作为机器学习框架. 本文将数据集以6:2:2的比例划分为训练集、验证集与测试集. 本文将与主流的MKR、KGCN、RippleNet等模型作为基线模型进行性能对比.

3.1 实验数据集

为了验证KGBCN模型的性能, 在公开数据集Last.FM和Book-Crossing上与多个同类模型进行比较. Last.FM[25]包含来自Last.FM在线音乐系统的2000名用户的收听信息. Book-Crossing[26]数据集包含来自Book-Crossing市场的100万本书籍评分信息, 并且包含书籍辅助信息27万多条. 数据集对应的知识图谱使用的是从经典模型KGCN、RippleNet中由Microsoft Satori构建的知识图谱. 数据集信息如表1所示.

表 1 数据集信息 Table 1 Statistics of the datasets

3.2 基线模型与实验设置

将提出的KGBCN模型与以下基线模型进行了比较.

PER: 将知识图谱视为异构信息网络, 并通过设计元路径来提取特征, 表示用户和项目之间的连接.

MKR[27]: 通过一个交叉压缩单元交替学习项目与知识图谱中实体的嵌入表示, 以此丰富项目端的表示并对用户进行推荐.

RippleNet: 一种基于传播的模型, 它使用类似内存的网络, 传播用户在知识图谱中的潜在偏好, 以丰富用户表示.

KGCN: 将图卷积网络引入知识图谱中, 基于此聚合项目的辅助信息, 丰富项目端的表示, 得到用户对项目的偏好信息并进行推荐.

对于每个数据集, 按照6:2:2的比例随机构成训练集、验证集和测试集. 在实验中, 超参数的设置参考KGCN模型, 经过多次实验得到本模型相对于每个数据集的超参数最佳设置如表2所示.

表 2 超参数设置 Table 2 Hyperparameter setting

表2中, batch size表示每轮训练是分批次进行训练的数据量; L表示目标用户和项目在知识图谱中传播的深度; lr表示梯度下降时的学习速率; l2表示正则化系数; dim表示嵌入维度; Ku表示从用户端在知识图谱中进行邻居采样的数量; Kv表示从项目端在知识图谱中进行邻居采样的数量; agg表示邻域聚合使用的聚合方式.

3.3 评价指标及结果分析

KGBCN模型在CTR点击率预测任务中采用AUCF1和ACC评价指标来评价模型的性能. AUC指标的普遍定义是ROC (receiver operator curve)曲线下的面积[28], 但更常用的定义是从样本集中随机抽取一个正样本和一个负样本, 正样本预测值大于负样本预测值的概率. 其反映了模型对样本的排序能力, 但由于ROC曲线绘制步骤比较繁琐, 可以用式(10)来近似计算AUC:

$ AUC = \frac{{\displaystyle\mathop \sum \nolimits_i^n ({p_{{\rm{pos}}}} > {p_{{\rm{neg}}}}) + 0.5 \times \displaystyle\mathop \sum \nolimits_i^n ({p_{{\rm{pos}}}} = {p_{{\rm{neg}}}})}}{{{N_{{\rm{pos}}}} \times {N_{{\rm{neg}}}}}} $ (10)

其中, ${p_{{\rm{pos}}}}$表示正样本的预测值, ${p_{{\rm{neg}}}}$表示负样本的预测值, $n$代表样本总数, ${N_{{\rm{pos}}}}$${N_{{\rm{neg}}}}$代表正负样本的数量. F1指标是模型查准率和查全率的调和平均, 定义如式(11)所示:

$ F1=\frac{2\times precision\times recall}{precision+recall} $ (11)

其中, precision为查准率, 即被分为正样本中真正的正样本的比例, recall为查全率, 即在真正的正样本中被预测为正样本的比例. ACC指标代表所有样本中预测正确的概率.

经过多次实验得到本模型在两个数据集上的CTR预测结果如表3所示.

表 3 CTR预测实验结果 Table 3 Results of CTR Experiment

从实验结果中可以看出, 本文提出的KGBCN模型与各对比模型在3个指标上都取得了较好的结果. 在Last.FM数据集中, 使用sum聚合器取得了最佳的效果. 相比于表现最佳的MKR模型, AUC提升了4.4%, F1提升了3.8%, ACC提升了1.1%. 在Book-Crossing数据集中, 使用pool聚合器取得了最佳的效果. 相比于表现最佳的KGCN模型, AUC提升了1.5%, F1提升了2.2%. ACC相比与对比模型中的最佳效果提升了1.4%. PER模型在所有模型中表现最差, 表明了基于元路径从知识图谱中提取特征的效果不如基于嵌入以及高阶信息聚合的方法. MKR模型使用知识图谱嵌入的方式从知识图谱中提取项目特征, 虽然效果相对来说优于RippleNet和KGCN, 但其没有利用到知识图谱的路径信息, 因此效果不如本文提出的模型. 而RippleNet和KGCN分别从用户和项目端在知识图谱中的传播提取特征信息, 缺少了对另一端的特征提取, 从而表现不佳. 相较于以上模型, 本文提出的模型从用户项目两侧同时利用知识图谱提取相关信息并聚合得到最终用户项目的特征向量, 有效利用了知识图谱中的辅助信息. 上述结果验证了本文提出模型的有效性.

3.4 参数分析

为了验证不同参数对模型的影响, 本文从传播深度L、嵌入维度dim、用户和项目两端在知识图谱中进行邻居采样的采样数Ku、Kv等几方面进行实验探究它们对实验结果的影响.

(1)通过将L的取值从1变到4来探究传播深度对模型的影响, 结果如表4所示.

表4中可以观察到, 对于Last.FM数据集来说, 当L=1时, 模型性能最好, 之后随着传播深度的加深, 推荐效果开始下降. 对于Book-Crossing数据集来说, 当L=3时, 模型性能最好. 一般来说, 传播深度低时, 模型学习到的信息也少, 随着深度的增加, 模型会学习到更多有用的信息, 但继续加深后会导致模型学习到一些冗余的信息, 造成推荐效果下降. Book-Crossing数据集的结果符合这一特点, 而Last.FM数据集可能因为它的数据稀疏性导致在第1层传播深度的时候就学习到了足够多的特征信息.

表 4 不同深度对AUC的影响 Table 4 Effect of different depths on AUC

(2)研究嵌入维度dim对模型的影响, 探究dim取值为16、32、64、128、256时模型AUC指标的变化, 结果如表5所示.

表 5 不同嵌入维度对AUC的影响 Table 5 Effect of different dimensions on AUC

表5中可以观察到, 在Last.FM数据集上, 当dim=64时, 模型能够学习到足够的特征信息, 推荐效果最佳. 在Book-Crossing数据集上, 当dim=128时, 推荐效果最好. 在最初增加dim可以提高模型性能, 因为较大的dim可以编码更多的用户和项目信息, 而随着dim的增加则会导致过拟合, 使得模型效果下降.

(3)研究用户项目两端在知识图谱中进行邻居采样的采样数量对模型的影响, 对于用户端的采样数量Ku和项目端采样数量Kv取值分别为4、8、16、32和16、32、64、128, 结果如表6表7所示.

表 6 用户端邻居采样数量对AUC的影响 Table 6 Influence of the number of user neighbor samples on AUC

表 7 项目端采样数量对AUC的影响 Table 7 The influence of the number of item neighbor samples on the AUC

表6表7中可以看出, 当Ku和Kv分别取一个比较合适的值时, 模型取得最佳效果. 这个合适的值取决于数据集的稀疏程度, 数据越稀疏, 学习到的信息少, 最合适的采样数Ku和Kv也会比较小. 在Last.FM数据集中, 当Ku=8, Kv=64时, 推荐效果最佳. 在Book-Crossing数据集中, 当Ku=16, Kv=64时, 推荐效果最佳.

3.5 消融分析

为了进一步验证模型同时从用户、项目两端进行基于知识感知的图卷积操作的贡献与有效性, 故在本节对模型根据仅从用户或项目之中的某一端进行知识感知图卷积操作进行消融实验. 使用KGBCN/u代表仅从用户一端进行知识感知图卷积操作, KGBCN/v代表仅从项目一端进行知识感知图卷积操作. 实验结果见表8.

表 8 实验结果 Table 8 Results of Ablation study

从消融实验结果可以看出, 仅从用户端进行知识感知图卷积操作在Last.FM和Book-Crossing数据集上AUC下降约2.9%和1.5%, F1下降约2%和5.5%, 仅从项目端进行知识感知图卷积操作在Last.FM和Book-Crossing数据集上AUC下降约5.9%和1.6%, F1下降约6.3%和6.7%. 实验结果表明采用双端知识感知图卷积比仅从一端进行知识感知图卷积效果更好, 去除其中任何一个都将影响模型的效果, 证明了双端知识感知图卷积可以有效提高模型的性能.

4 结束语

基于传统的推荐模型存在数据稀疏及冷启动问题, 本文将知识图谱中的辅助信息结合图卷积网络和图注意力网络融入到用户、项目的特征嵌入中, 缓解了上述的两个问题并增加了推荐结果的可解释性. 针对KGCN模型特征建模不充分问题, 本文提出的KGBCN模型从用户、项目两端同时出发, 在知识图谱中进行传播, 根据不同层的传播实体集结合基于用户和项目知识感知的注意力机制提取特征信息, 融入了用户偏好和物品属性信息. 在两个经典的公开数据集当中进行实验并取得了较好的效果. 实验证明, 使用双端图卷积结合注意力机制对用户、项目进行特征提取可以有效提升推荐的质量. 在未来的工作当中, 可以继续探究在知识图谱中如何提取对于用户和项目更重要的信息以及在样本集中如何进行高质量的负采样, 从而进一步提高推荐模型的性能. 同时, 知识图谱与时序模型的结合、知识图谱与基于强化学习的推荐系统的结合也是新的研究方向.

参考文献
[1]
唐宏, 范森, 唐帆. 融合协同知识图谱与优化图注意网络的推荐算法. 计算机工程与应用, 2022, 58(19): 98-106. DOI:10.3778/j.issn.1002-8331.2201-0183
[2]
马汉达, 景迪. 基于SSD和时序模型的微博好友推荐算法. 计算机工程与科学, 2021, 43(7): 1291-1298. DOI:10.3969/j.issn.1007-130X.2021.07.019
[3]
黄立威, 江碧涛, 吕守业, 等. 基于深度学习的推荐系统研究综述. 计算机学报, 2018, 41(7): 1619-1647. DOI:10.11897/SP.J.1016.2018.01619
[4]
马汉达, 戴季国, 薛艳飞. 一种基于贝叶斯分类的个性化导购推荐算法. 信息技术, 2017, 41(11): 133-138. DOI:10.13274/j.cnki.hdzj.2017.11.034
[5]
胡琪, 朱定局, 吴惠粦, 等. 智能推荐系统研究综述. 计算机系统应用, 2022, 31(4): 47-58. DOI:10.15888/j.cnki.csa.008403
[6]
常亮, 张伟涛, 古天龙, 等. 知识图谱的推荐系统综述. 智能系统学报, 2019, 14(2): 207-216. DOI:10.11992/tis.201805001
[7]
张雪茹, 官磊. 基于知识图谱的用户偏好推荐算法. 计算机应用, 2021, 41(S2): 59-65. DOI:10.11772/j.issn.1001-9081.2021020302
[8]
吴静, 谢辉, 姜火文. 图神经网络推荐系统综述. 计算机科学与探索, 2022, 16(10): 2249-2263. DOI:10.3778/j.issn.1673-9418.2203004
[9]
Wang HW, Zhao M, Xie X, et al. Knowledge graph convolutional networks for recommender systems. Proceedings of the 2019 World Wide Web Conference. San Francisco: ACM, 2019. 3307–3313.
[10]
Wang HW, Zhang FZ, Wang JL, et al. RippleNet: Propagating user preferences on the knowledge graph for recommender systems. Proceedings of the 27th ACM International Conference on Information and Knowledge Management. Torino: ACM, 2018. 417–426.
[11]
赵晔辉, 柳林, 王海龙, 等. 知识图谱推荐系统研究综述. 计算机科学与探索, 2023, 17(4): 771-791. DOI:10.3778/j.issn.1673-9418.2205052
[12]
Wang HW, Zhang FZ, Xie X, et al. DKN: Deep knowledge-aware network for news recommendation. Proceedings of the 2018 World Wide Web Conference. Lyon: International World Wide Web Conferences Steering Committee, 2018. 1835–1844.
[13]
Palumbo E, Rizzo G, Troncy R. Entity2Rec: Learning user-item relatedness from knowledge graphs for top-n item recommendation. Proceedings of the 11th ACM Conference on Recommender Systems. Como: ACM, 2017. 32–36.
[14]
张明星, 张骁雄, 刘姗姗, 等. 利用知识图谱的推荐系统研究综述. 计算机工程与应用, 2023, 59(4): 30-42. DOI:10.3778/j.issn.1002-8331.2209-0033
[15]
Bordes A, Usunier N, Garcia-Durán A, et al. Translating embeddings for modeling multi-relational data. Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe: Curran Associates Inc., 2013. 2787–2795.
[16]
Wang Z, Zhang JW, Feng JL, et al. Knowledge graph embedding by translating on hyperplanes. Proceedings of the 28th AAAI Conference on Artificial Intelligence. Québec City: AAAI, 2014. 1112–1119.
[17]
Lin YK, Liu ZY, Sun MS, et al. Learning entity and relation embeddings for knowledge graph completion. Proceedings of the 29th AAAI Conference on Artificial Intelligence. Austin: AAAI, 2015. 2181–2187.
[18]
Yu X, Ren X, Sun YZ, et al. Personalized entity recommendation: A heterogeneous information network approach. Proceedings of the 7th ACM International Conference on Web Search and Data Mining. New York: ACM, 2014. 283–292.
[19]
Zhang CY, Wang Y, Zhu L, et al. Multi-graph heterogeneous interaction fusion for social recommendation. ACM Transactions on Information Systems, 2021, 40(2): 28. DOI:10.1145/3466641
[20]
Hu BB, Shi C, Zhao WX, et al. Leveraging meta-path based context for top- N recommendation with a neural co-attention model. Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. London: ACM, 2018. 1531–1540.
[21]
Wang X, He XN, Cao YX, et al. KGAT: Knowledge graph attention network for recommendation. Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. Anchorage: ACM, 2019. 950–958.
[22]
唐彦, 卢镘旭. 基于知识图谱与深度涟漪网络的推荐系统. 计算机工程, 2023, 49(5): 63-72, 80. DOI:10.19678/j.issn.1000-3428.0065210
[23]
李想, 杨兴耀, 于炯, 等. 基于知识图谱卷积网络的双端推荐算法. 计算机科学与探索, 2022, 16(1): 176-184. DOI:10.3778/j.issn.1673-9418.2103072
[24]
郭晓旺, 夏鸿斌, 刘渊. 融合知识图谱与图卷积网络的混合推荐模型. 计算机科学与探索, 2022, 16(6): 1343-1353. DOI:10.3778/j.issn.1673-9418.2110057
[25]
Zhang JN, Shi XJ, Zhao SL, et al. STAR-GCN: Stacked and reconstructed graph convolutional networks for recommender systems. Proceedings of the 28th International Joint Conference on Artificial Intelligence. Macao: AAAI, 2019. 4264–4270.
[26]
Tang XL, Wang TY, Yang HZ, et al. AKUPM: Attention-enhanced knowledge-aware user preference model for recommendation. Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. Anchorage: ACM, 2019. 1891–1899.
[27]
Wang HW, Zhang FZ, Zhao M, et al. Multi-task feature learning for knowledge graph enhanced recommendation. Proceedings of the 2019 World Wide Web Conference. San Francisco: ACM, 2019. 2000–2010.
[28]
沈旭, 王淑营, 田媛梦, 等. 基于知识图谱和图注意力的众包任务推荐算法. 计算机应用研究, 2023, 40(1): 115-121. DOI:10.19734/j.issn.1001-3695.2022.06.0284