本文是一篇计算机论文,本文主要的研究工作是基于交互行为分析的群组推荐系统研究。首先介绍了群组推荐的研究背景和研究现状,并阐述了群组推荐相关的基础理论知识;其次,从群组发现的角度,探讨了如何利用图卷积神经网络对用户的交互信息以及社交信息进行显式编码以得到丰富的用户特征表示以及如何结合多任务学习对用户特征进行修正并完成用户聚类,进而生成具有高内在相似度的群组。
第一章 绪论
1.1 研究背景
随着移动互联网的快速发展,信息数据正呈现指数级增长,人们很难有效地获取到满足自身需求的信息。为了解决这种“信息过载”问题,推荐系统已经成为人们有效地选择信息的不可缺少的工具。推荐系统目前已经应用于电子商务、社交网络、内容共享平台以及流媒体服务等多个领域,典型的平台包括 Amazon、Facebook、Instagram 和 Youtube 等[1]。推荐系统能够需要用户的偏好推送符合他们需求的服务,一个有效的推荐系统能够帮助用户找到他们感兴趣的服务,为企业创造巨大的商业价值。因此,推荐系统的相关理论和技术不断受到学术界和工业界的关注。
近十年来尽管推荐系统在电子商务等领域已经有成熟的落地应用,但目前的推荐系统大多是针对个体用户设计的。伴随着当今世界人与人之间的联系越来越紧密,向一组用户推荐项目或服务也成为一种普遍的需求[2-3]。比如:①同事们聚餐时,根据他们的不同口味推荐他们整体喜爱度较高的餐品;②家庭观看电视节目时,根据他们的浏览记录和配置信息推荐他们感兴趣的电视节目;③音乐论坛的听友们互动时,根据他们偏好的风格为他们生成音乐排行榜单。因此,为了满足这些需求,群组推荐应运而生。
现有的群组推荐系统大多为固定群组进行推荐,然而很多时候群组还未形成[4],因此,群组推荐系统通常要完成两个重要的任务:发现潜在的群组(简称为“群组发现”)并建模群组推荐过程。近年来,交互行为分析涉及的一系列方法对群组发现和群组推荐中进行用户或群组的偏好表示具有重要研究价值,其中主要包括对显性交互行为(历史的交互信息)的处理方法以及对潜在交互行为(潜在的偏好交互关系)的推理方法[5-6]。但是,现有的群组发现和群组推荐在利用交互行为分析的相关技术来获取用户、群组的偏好时仍存在着一定的缺陷。
群组发现的核心思路是利用机器学习或深度学习相关方法获取到用户的特征(偏好)并对用户进行聚类,从而划分得到群组。然而,目前大多数群组发现方法在用户特征嵌入过程中仅利用描述性信息(ID、属性等)进行初始化[7],缺少对交互信息的显式编码,无法充分反映用户间的潜在相似性,群组发现性能偏低。虽然直观上可以将交互信息集成到嵌入函数中,但是当交互的规模达到百万以上时这种方式存在较大的计算延迟。因此,如何高效地处理交互信息以完善用户的特征表示,成为提升群组发现性能的主要问题[8]。
..............................
1.2 研究现状
1.2.1 交互行为分析
在大部分推荐场景中,交互行为分析是提升推荐结果准确性和可解释性的重要环节。交互行为通常分为两种:显性的交互行为和潜在的交互行为。显性的交互行为指的是已产生的历史交互信息,如用户的评分、点击、点赞、关注等信息以及经过数据分析统计产生的社交信息[14];而潜在的交互行为则是指对象之间偏好的相互作用或影响[15],这类交互行为通常需要学习潜在的交互关系以挖掘。因此,推荐过程中对这两类交互行为进行分析分别涉及两个关键技术点:交互信息的处理和交互关系的推理。应用这两个技术对交互行为进行细粒度地分析,有助于丰富用户偏好、群组偏好和项目特征表示,最终可实现提高群组推荐整体满意度的目标。
多数研究[16-18]认为应用交互信息对于获取具备可解释性的用户(或项目)特征具有重要意义。然而推荐场景中多数模型仅将交互信息用于后期的特征或偏好的优化,较多地使用描述性信息(如 ID、属性等)来初始化用户或项目特征表示,几个典型的例子包括矩阵分解(Matrix Factorization,MF)[19]、神经协同过滤(Neural Collaborative Filtering,NCF)[20]等。然而这类模型的一个固有缺点是没有将交互信息编码进用户或项目的特征中,它们学习到的用户/项目特征可能不能充分反映用户或项目的潜在相似性。因此,现有的研究关注到这个问题,开始探索将交互信息显式编码为用户特征的方式。例如,Shenbin 等人[21]提出了一种基于变分自编码器的推荐模型(Recommender VAE,RecVAE),该模型首先利用变分编码器对用户和项目的评分信息进行重构,然后输出自编码器的隐层特征作为用户和项目的特征。虽然这种通过嵌入函数对交互信息进行编码的方式直观上是可行的,但是当交互的规模达到上百万是这种方法存在的较大的计算延迟。针对以上的问题,目前的研究者提出了图神经网络的方法应对这个问题,典型的例子如 NGCF(Neural Graph Collaborative Filtering)模型[22]、GraphRec(Graph Neural Networks for Social Recommendation)模型[23]等,由于推荐场景中的交互信息多数呈现为图结构,图神经网络可以通过建模这些结构化数据的高阶连通性从而将交互信息编码进用户的特征表示。
..........................
第二章 相关背景知识介绍
2.1 群组推荐系统
近年来,随着社交网络的发展,群组活动越来越普遍,这也推动了群组推荐系统的快速发展。不同于传统的个性化推荐方法,群组推荐为一组用户推荐他们感兴趣的项目或者服务。群体推荐目前已经应用于各个领域,如电子商务、娱乐、社交媒体、旅游等。群组推荐过程通常需要考虑以下问题:(1)如何建模用户的交互行为发现潜在群组;(2)如何聚合用户偏好生成群组偏好从而为群组生成推荐结果。因此,该小节将介绍群组发现和偏好聚合的关键技术。
2.1.1 群组发现的深度聚类技术
随着深度学习的迅速发展,群组发现目前已经逐渐开始研究基于深度特征表示学习的聚类技术,即深度聚类技术。深度聚类方法旨在将深度表示与聚类目标相结合,它包含四种类型,分别是基于自编码器(Auto-Encoder,AE)的深度聚类算法、基于聚类深度神经网络(Clustering Deep Neural Network,CDNN)的深度聚类算法、基于变分自编码器(Variational Auto-Encoder,VAE)的深度聚类算法以及生成对抗网络(Generative Adversarial Networks,GAN)的深度聚类算法[37]。下面分别简要介绍这四种深度聚类技术。
基于自编码器的深度聚类算法的基本思想是利用自编码器来提取特征,优化时必须考虑考虑自编码器的特征重构损失和聚类损失,典型算法有DCN(Deep Clustering Network)算法[38]、DMC(Deep Multi-Manifold Clustering)算法[39]等。DCN是一种结合自编码器和K-means算法的聚类算法,其预先训练自动编码器来初始化聚类样本的潜在特征,然后联合优化自编码器的重构损失和K-means聚类损失。DMC是一种基于深度学习的多流形聚类框架,它主要包含两个部分,第一个部分将自编码器学习到的特征到内在流形中,并且利用自编码器重构损失和局部保持度损失来对特征进行优化;第二个部分根据每个聚类样本的特征表示与每个簇中心的接近程度对特征表示进行微调,使得特征表示能够保持簇内的相似性和簇间的区分性。
..............................
2.2 GRU 网络
门控循环单元(Gated Recurrent Unit,GRU)最早是由K.Cho等人[45]提出。GRU受长短期记忆单元(Long Short-Term Memory,LSTM)的启发,通过门控机制来避免标准循环神经网络(Recurrent Neural Network,RNN)中产生的梯度消失问题并且能够记住输入流中的一长串步骤。GRU不需要保留内部记忆就能控制信息流。它只会在没有任何控制的情况下暴露所有的隐藏内容。
图卷积神经网络(Graph Convolutional Network,GCN)是一种利用图的结构特征和节点本身信息进行图计算的神经网络结构,该模型在许多任务(如聚类、推荐等)中都取得了很大的成功。图卷积神经网络的核心思想是在低维向量空间中学习节点表示或嵌入,对图的信息进行编码。图卷积神经网络主要包含两种卷积方式:基于谱域的卷积方式和基于空间域的卷积方式。基于谱域的卷积方式的有目前使用较多的标准的GCN模型[46],基于空间域的卷积方式的有GAT(Graph Attention Net)模型[47]和GraphSage(Graph Sample and Aggregate)模型[48]。下面将详细介绍这三种模型的核心计算步骤。
GraphSage是Hamilton等人提出的另一种基于空间域的图卷积神经网络,它是一个归纳式学习(Inductive Learning)框架。GraphSage利用文本属性等节点特征信息,可以高效地帮助之前未观察到的数据生成节点嵌入。GraphSage算法不是为每个节点独立地训练嵌入表示,而是通过采样和聚合节点的局部邻域的特征进行来为自身生成嵌入。GraphSage算法的主要步骤包括:1)先对目标节点的邻居进行随机采样以降低计算的复杂度; 2)假如传播范围限定为两跳,需要先聚合相对较远的邻居,生成相对靠近的邻居的嵌入,然后聚合所有直接连接的邻居的嵌入生成目标节点的嵌入; 3)将节点嵌入输入全连接层,预测节点标签。
计算机论文怎么写
计算机论文怎么写
..............................
第三章 基于结构化交互信息处理的群组发现方法 .............................. 16
3.1 研究思路 ........................... 16
3.2 模型框架 .............................. 17
3.3 基于图卷积神经网络的用户特征表示..................................... 17
第四章 基于双重交互关系..................... 30
4.1 研究思路 .................................................. 30
4.2 模型框架 ...................................... 30
4.3 基于 GRU 的用户动态偏好表示 .................................. 32
第五章 原型系统与应用示范 .............................................. 41
5.1 群组推荐原型系统...................................... 41
5.1.1 背景介绍 ........................................ 41
5.1.2 系统结构 .................................... 41
第五章 原型系统与应用示范
5.1 群组推荐原型系统
5.1.1 背景介绍
近年来,随着社交网络的发展,群体活动越来越普遍,这也推动了群组推荐系统的快速发展。不同于传统的个性化推荐方法,群组推荐为一组用户推荐他们的偏好项目。在群组推荐系统中,群组-用户-项目三者之间存在着大量的历史交互信息和潜在的偏好交互关系。交互信息的处理和交互关系的推断属于交互行为分析的范畴,这些技术对挖掘用户以及群组偏好具有重要影响。因此,基于交互行为分析的相关技术和理论逐渐成为群组推荐热门的研究课题,如何高效地进行交互信息的处理以及交互关系的推理以获取用户或群组的偏好表示,成为目前群组推荐亟待解决的问题。
5.1.2 系统结构
本文提出的电影群组推荐原型系统的开发平台为CenOS 7.0操作系统,开发模式采用B/S架构。主要使用的语言为Python,开发软件使用了Pycharm 2018.1.4 x64,深度学习框架主要使用Tensorflow。其余web开发相关技术涉及CSS、html5、javascript、django、bootstrap等等,数据库选用了MySQL。
本文提出的电影群组推荐系统在最初设计时的定位是最大程度上满足群组用户的电影偏好需求的Web应用。本文根据“高内聚,低耦合”的特点将系统分为四个层次,以此让系统结构设计更加明确,也方便后续业务的增加和优化。电影群组推荐系统的结构如图5.1所示:
计算机论文参考
计算机论文参考
.................................
第六章 总结与展望
6.1 总结
本文主要的研究工作是基于交互行为分析的群组推荐系统研究。首先介绍了群组推荐的研究背景和研究现状,并阐述了群组推荐相关的基础理论知识;其次,从群组发现的角度,探讨了如何利用图卷积神经网络对用户的交互信息以及社交信息进行显式编码以得到丰富的用户特征表示以及如何结合多任务学习对用户特征进行修正并完成用户聚类,进而生成具有高内在相似度的群组。然后,从提高群组推荐质量的角度,探讨如何利用GRU网络对用户的长短期偏好进行分析以获取用户的动态偏好以及如何结合局部和全局注意力单元对多种交互关系进行全面地推理以获取群组偏好,以达到提升群组内用户对推荐项目整体满意度地需求。最后,通过仿真实验和群组推荐原型系统对本文提出的方法进行可行性与有效性检验,主要贡献成果如下所示:
(1)提出了一种基于结构化交互信息提取的群组发现方法。该方法首先利用图卷积神经网络对对输入数据中多种呈现结构化特点的交互信息(用户-项目交互图、用户社交图)进行显式编码以获取用户特征表示。然后,该方法采用了一种基于多任务学习的群组划分模型,该模型通过联合训练用户偏好预测任务和用户聚类任务,分别实现了用户特征的修正以及群组的合理划分。
(2)提出了一种基于双重交互关系推理的群组推荐方法。该方法先利用GRU网络提取用户的动态偏好,然后通过局部和全局注意力单元全面地推理用户与用户之间的交互关系以及用户与项目之间的交互关系可以得到每个用户的局部影响力权重和全局影响力权重,针对不同的影响力对用户的偏好进行聚合最终可以获得群组偏好,通过计算群组偏好和项目特征的相似度完成推荐。
(3)设计并实现了一个基于交互行为分析的群组推荐原型系统并给出了一个基于电影场景的应用示范。在原型系统的设计与实现中,详细介绍了需求分析、概要设计、详细设计、具体实现等步骤,并实现了群组发现、群组推荐、个性化推荐、电影排行榜、用户评价反馈等功能,验证了本文提出的群组发现和群组推荐方法的可行性与有效性。