基于深度学习的资源个性化推荐算法及模型设计
2018-10-31梁婷婷李丽琴
梁婷婷, 李丽琴
(广西民族师范学院 数学与计算机科学学院, 广西 崇左 532200)
引言
在大数据环境下,网络学习环境存在着“信息过载”和“信息迷航”的问题。在线学习过程中,与传统的标准化服务方式不同,若能获得有智能化的、具有针对性、个性化的学习资源推荐服务,将大大提高学习者的学习效率和学习体验。个性化学习资源推荐技术逐渐成为教育领域与智能信息处理领域的一个重要研究课题。
近年来,深度学习算法在人工智能相关热门应用中发挥了重要作用,在广泛领域中大大提升原有算法的性能。将深度学习与推荐算法结合也成为近几年的研究热点。ACM RecSys是一个推荐系统的专门会议,特别开设了深度学习与推荐系统讨论组。深度学习在推荐系统中的应用领域包括构建特征、生成推荐候选集合、以及预测推荐分值等。
1 推荐算法与深度学习算法简述
主流的推荐算法包括:基于知识推荐、基于内容推荐、协同过滤算法和组合推荐。其各自的优缺点比较见表1。深度学习的主要模型有神经网络、卷积神经网络、自动编码机等[1]。本文着重使用了几个相关算法,下面简要描述其特点。
基于协同过滤的推荐算法又可分为两大类:基于内存和基于模型的协同过滤。基于内存的协同过滤再细分为基于用户和基于项目的协同过滤。前者适用于用户数远小于项目数的系统,后者则适用于项目数远小于用户数的系统。比如在新闻推荐系统中,新闻的类别(项目)就只分为有限几类,如财经、军事、体育等,则适用于基于项目的协同过滤。对于整体来说,第一类的计算量过大。第二类会为数据事先设计好一个训练模型,用户和项目数据都隐藏在该低维度结构的模型中,每次计算都基于该模型进行,从而提高了算法准确度、运算速度与系统伸缩性。
表1 各推荐算法的优缺点
推荐算法本质上属于机器学习。深度学习也是机器学习的一种,深度学习起源于人工神经网络,模拟人脑的机制来解释数据,其通过组合低层特征,形成更加抽象的高层表示,发现数据的分布式特征表示。深度学习为理解图像、声音等数据的意义,进行多层次的表示和抽取的学习,逐层学习,每一层提取数据的一个或多个不同方向的特征,每一层学习到的知识(特征)作为下一层的输入,逐层学习的次数就是学习的深度。
卷积神经网络CNN是一种深度前馈人工神经网络,具有两层基本结构,一为特征提取层,二是特征映射层,可隐式地从训练数据中进行并行学习。循环神经网络RNN是一种节点定向连接成环的人工神经网络。处理单元之间既有内部的反馈连接又有前馈连接,可以展示动态时序行为,比前馈神经网络具有更强的动态行为和计算能力。
2 结合深度学习与推荐系统的研究动态
推荐算法是个性化资源推荐服务技术中的核心,很大程度上决定了推荐服务性能的优劣。
讨论结合深度学习与推荐系统的问题,始于2013年K.Georgiev等人的基于受限玻尔兹曼机的协同过滤算法(RBM-CF)[2]。2015年,S.Sedhain等人提出在实验中表现良好的基于自动编码机的协同过滤推荐模型(AutoRec算法)[3]。这两者中使用了全新的推荐框架,但更多的信息较难融入其中,扩展性弱。
针对解析多媒体资源的能力问题,很多学者提出了一些基于内容的推荐算法,改进传统的矩阵分解模型表达能力弱的特点,实验效果良好,提高了推荐效果。如:FuZheng Zhang等采用CKE算法无监督的自动编码器与卷积自动编码器对各种信息进行特征提取,多维度地分析了推荐对象的结构化信息、文本和图片等[4]。Oord Aaron等利用深度卷积神经网络模型对音乐的语音信息进行分析(DeepMusic算法)[5];WangHao等利用自动编码机分析资源中的文本信息(CDL算法)[6]。
Wayn等人在产品推荐系统中,通过电商网站和社交网站中建立一座连接桥梁,将社交网络上用户特征映射为电商网站产品推荐中的特征表示,利用RNN与电商网上的用户数据,训练用户与产品的特征表示[7]。Covington等人推荐视频的研究中,利用DNN来学习和表示用户的视频观看历史记录和关键字搜索记录,用户个人信息也输入进DNN中,学习用户的潜在特征向量表示[8]。
在企业级的推荐系统应用中,音乐平台Spotify利用循环神经网络来对用户的行为进行预测,利用深度学习分析歌曲风格,根据音乐风格进行推荐[5];Netflix 和Google公司将深度神经网络RNN成功应用到其视频推荐系统[8]中;而微软公司将深度学习应用于应用程序和新闻的推荐,都取得了较好的结果。
笔者以“深度学习”、“个性化推荐”为关键字,在中国知网(CNKI)中针对主题进行检索,共检出34篇文章,发表时间为2015年1月至2018年9月,每年分别发表4、5、8、17篇,呈逐年上升的趋势。其中,结合深度学习和个性化推荐算法应用在视频、论文、图书馆、游戏、电商、学习资源等领域。
随着分布式技术的发展,提升大数据处理能力,深度学习得到了更加广泛的应用。相较于传统的个性化推荐算法,与深度学习结合的算法,具有对多源数据的优秀表达能力,自动提取抽象特征、挖掘用户的兴趣偏好等优势。
3 基于深度学习的学习资源个性化资源推荐算法
在学习资源个性化推荐服务中,学习者和学习资源的特点为:学习资源一般存储在在线课程学习平台上,平台上的学习者一般具有较为详细的个人信息和学习目的,学习者访问的学习资源往往和学习者本身属性相关,如专业、职业目标等。但是学习者访问学习资源时,可能并不是自己最喜欢的,而可能是仅仅和自己本身专业相关。学习资源之间会有彼此的关联性,资源的知识内容有一定的连贯性,下一次学习的内容可能与上一次访问的资源存在着依赖。也就是说,学习资源的访问顺序也应该是推荐算法所要考虑的范围,即考虑学习者兴趣变换的时间因素。然而目前的协同过滤方法鲜少考虑到学习者随时间变化的兴趣趋向。循环神经网络算法RNN已被证明对序列模型有效。
通过上诉的特点分析,本文结合神经网络算法,改进基于模型的协同过滤推荐算法,额外考虑学习者信息、学习资源序列信息、学习者兴趣变换的时间因素等,推荐框架如图1所示。
图1 结合深度学习的协同过滤推荐框架
Fig.1Collaborativefilteringrecommendationframeworkwithdeeplearning
该框架的数据处理流程大致如下:提取学习者的属性特征,包括用户ID、资源ID、学习者专业、学习资源大类、资源小类等,作为模型的输入;第一个神经网络CNN根据目标学习者与其它学习者的相似度,生成相似度靠前的学习资源推荐列表作为候选列表;与学习者访问学习资源的顺序序列的特征一起,作为第二个神经网络RNN的输入,最终输出符合下一个短期事件主题的排名靠前的n个推荐资源给学习者。
4 结束语
结合深度学习的神经网络算法和协同过滤推荐算法的框架,针对在短期推荐系统的学习者最近学习行为的现象,提高预测精度。传统的协同过滤算法中存在“冷启动”的问题,在下一步,可利用卷积神经网络依据学习资源中的文本信息进行基于内容的个性化推荐,从而提高针对新用户的精准推荐。