基于深度学习的情境感知推荐系统研究进展①

2020-03-23 06:03李其娜李廷会
计算机系统应用 2020年2期
关键词:神经网络建模深度

李其娜, 李廷会

(广西师范大学 电子工程学院, 桂林 541004)

1 引言

伴随着新信息技术时代的到来, 云计算、大数据、物联网、人工智能等信息技术得到了快速发展,传统产业数字化也要面临着转型等问题.IDC《数字宇宙》的研究报告表明, 2020 年全球新建和复制的信息量是2012 年的12 倍, 将超过40 ZB.然而, 几何级增长的数据量为人们的生活带来便利的同时也附带了许多的问题.商家与客户的信息需求矛盾, 商家是想要把产品信息提供给尽可能多的客户, 而客户难于从这庞大的信息中寻找到对自己最有用的商品信息.于是推荐系统就应运而生, 它能根据用户的需求、兴趣以及隐藏的个性, 为用户推荐个性化的项目信息, 极大方便了用户对有用信息的获取.传统的推荐系统有基于内容推荐、协同过滤推荐和混合推荐, 但是它们只是建立在用户和物品的二者关系上, 忽略了需要融入如用户地点、当前时间、天气及温度等特定情境信息.如果能把自适应的情境信息整合到推荐系统中, 并且考虑用户、物品、情境三者之间的相关性, 就能极大地提高推荐系统的匹配效果.近几年, 深度学习技术取得了重大突破, 已经成为人工智能领域研究热点之一.由于深度学习表征学习能力较强, 因此也实用于推荐系统领域.国际计算机学会(ACM)主办的推荐系统专场(Recsys)是推荐系统领域的顶级会议之一.从2007 年召开第一次会议以来, 每一年都针对推荐系统领域的研究现状提出不同的研究热点.2008 年, 会议开始考虑把情境信息融入到推荐系统当中, 使得推荐系统能够根据当时所在时间和位置给出更合适宜的推荐, 比如旅行推荐.到了2016 年第一次召开了把深度学习技术融入到推荐系统当中的专题研讨会, 就是在这一年深度学习成为推荐系统研究的主流方法.

2 情境感知推荐系统相关理论研究基础

2.1 情境与情境感知定义

情境的定义一直在学术界众说纷纭, 不同领域都有其自己的说法, 至今依然没有一个统一的定论.情境,又称上下文、情景, 是指任何一切可以用来描述实体状况的信息, 包括位置、时间、空间、对象、系统和服务等.沈旺等学者认为情境是用于表征用户及其应用程序相关的实体状况的所有信息的集合, 包括时间、物理环境、系统功能和服务、人和计算实体参与的活动和任务及其相互的关系等内容[1].在前人研究的基础上, 我们认为情境是辅助用户决策的额外信息.因此可以把情境信息分为两大类: 环境情境和用户情境.环境情境指的是所有可以被传感器、智能手机或可穿戴设备应用软件感知或者从外部信息服务获取的特征,例如地点、时间和温度等.用户情境则表示更抽象的用户信息如用户偏好特征、用户活动或者用户社交环境等, 这些情境信息变化复杂, 很难直接去感知和衡量.而且大部分相关用户情境信息都受环境情境的影响.

1994 年Schilit 等提出情境感知这一概念之后, 情境感知技术便随之而兴起, 推动了推荐系统在各个领域的发展[2].2004 年万亚红等认为情境感知是指系统利用情境信息, 智能判断用户行为及目的并主动提供相关信息或服务, 人性化调整人与情境交互的方式和内容[3].而我们认为任何可以用相关情境信息为用户提供相对应的产品和信息服务的都可以称之为情境感知,让用户能在情境信息不断变化时, 依然能感受贴合实际的个性化服务.

2.2 情境信息融合模式

情境感知推荐系统就是在传统的推荐系统中融入情境信息, 效用函数由s: U×I→R 变为s: U×I×C→R, 其中U 表示所有用户集合, I 表示所有项目集合, C 表示所有情境集合[4].目前, 情境感知推荐系统的情境信息融合模式有情境预过滤, 情境后过滤和情境建模[5,6].

情境预过滤, 指由当前情境信息筛选相关性最强的用户和项目数据信息用于推荐, 让数据信息圈定在特定的情境范围内, 即系统只考虑与当前情境相关的数据.例如, 用户想在春季去旅行, 则系统只保留用户春季旅行相关评分数据, 然后采用传统的二维推荐模型来评分预测.目前最流行且有效的情境预过滤技术是情境感知拆分方法[7-9], 分为用户拆分, 项目拆分, 以及用户和项目拆分的组合-UI 拆分.针对不同的情境,分别把用户或项目拆分成不同的表现形式, 然后转变成二维的评分矩阵进行预测推荐.而最佳的情境组合比单一的情境推荐效果更好.

情境后过滤, 与情境预过滤相反, 首先采用传统的二维推荐技术进行预测而不考虑情境信息, 再根据给定情境信息滤除不相关的推荐结果和调整推荐列表的顺序.例如, 用户想在春季旅行时去爬山, 那么在推荐列表里只保留与爬山相关的信息.殷聪等学者提出基于TF-IDF 的情境后过滤推荐算法用于餐饮业用户评分预测上, 缓解信息过载问题并提升推荐效果[10].

情境建模, 不同于前两种模式, 是把情境信息作为显式因素融入到二维推荐函数中, 将用户、项目和情境信息整体考虑, 生成多维预测模型(决策树、LDA主题模型等)[11,12].

在以上3 种模式中, 情境预过滤和情境后过滤模式都是对情境因素单独考虑, 有利于采用传统的二维推荐模型进行评分预测.但是容易面临数据稀疏问题,而且这样的降维方法只针对特定部分数据建立局部模型进行推荐, 忽略了全部数据的完整性, 影响推荐性能.而情境建模不存在以上问题, 但是面对高维度的数据处理, 计算难度大.深度学习的强特征表达能力和计算能力, 正好完善了情境建模的方法, 提升推荐效果.

3 深度学习在情境感知推荐系统中的应用

3.1 深度学习理论研究

机器学习技术在现代社会的各个方面表现出了强大的功能, 从Web 搜索到社会网络内容过滤, 再到电子商务网站上的商品推荐都有涉足.机器学习系统被用来识别图片中的目标, 将语音转换成文本, 匹配新闻元素, 根据用户兴趣提供职位或产品, 选择相关的搜索结果[13].然而传统的机器学习技术在处理未加工过的数据时, 体现出来的能力是有限的.深度学习能够突破传统机器学习数据处理能力的限制, 拥有后者无可比拟的计算优势, 能对数据特征进行更深层次的表示, 从容应对海量数据处理.

深度学习就是一种特征学习方法, 把原始数据通过一些简单的但是非线性的模型转变为更高层次的,更加抽象的表达.通过足够多的转换的组合, 非常复杂的函数也可以被学习.经过众多研究人员坚持不懈的努力, 应用在情境感知推荐系统的深度学习模型主要有: 自编码器(AE)、循环神经网络(RNN)、多层感知机(MLP)等.

3.1.1 自编码器

Rumelhart 等在1986 年首先提出自编码器(Auto-Encoder, AE)的概念, 并将其用于复杂高维数据的降维处理和特征表达[14].自编码器是一种能通过无监督学习, 利用编码和解码对输入数据进行高效表示的人工神经网络[15].基本的自编码器结构如图1 所示[16], 是由一个输入层x、一个隐层h 和一个输出层y 组成的三层神经网络结构, 其中输入层和输出层拥有相同的结构, 目的是利用反向传播算法使得输出值等于输入值.自编码器在推荐系统中主要通过学习用户和项目信息的隐表示, 然后基于这种隐表示预测用户对项目的偏好, 主要应用在评分预测、新闻推荐和图像推荐等场景.

图1 自编码器结构示意图

3.1.2 循环神经网络

Rumelhart 等在1986 年首次提出循环神经网络(Recurrent Neural Network, RNN)的概念[14].循环神经网络RNN 的结构如图2 所示[16], 它可以模拟序列数据.该结构以顺序数据作为输入, 并定义了一个神经网络, 其中权重在不同的时间步骤之间共享.因此, RNN可以捕获过去的记忆, 并且通过展开RNN 进行基于时间的反向传播算法(BPTT)的训练.然而, 简单的RNN 常常无法捕获长距离的时间依赖关系.长短时记忆网络(LSTM)和门控循环单元(GRU)是针对这一问题提出的两种单元[17].RNN 使推荐系统能够对评分数据中的内容序列或时间动态进行建模.

图2 循环神经网络结构示意图

循环神经网络在推荐系统中的应用主要能够建模序列数据中不同时刻数据之间的依赖关系, 获取用户和项目的隐表示.目前循环神经网络的应用场景主要包括评分预测、图像推荐、文本推荐和基于位置社交网络中的兴趣点推荐等.

3.1.3 多层感知机

多层感知机(MLP)是一种非常简单的神经网络,其结构如图3 所示.多层感知机是一种前向结构的人工神经网络, 映射一组输入向量到一组输出向量.MLP 可以被看作是一个有向图, 由多个的节点层所组成, 每一层都全连接到下一层.除了输入节点, 每个节点都是一个带有非线性激活函数的神经元(或称处理单元), 两个相邻层的神经元通过加权边连接.一种称为反向传播算法的监督学习方法(BP 算法)常被用来训练MLP[17], 即利用随机梯度下降等方法可以根据预测输出和实际输出最小化损失函数来学习MLP 的权值, 此损失被反复反向传播到前一层, 以更新权重, 直到满足停止条件.

多层感知机在推荐系统中的应用主要是在梯度下降法的基础上, 利用反向传播算法对用户、项目和情境数据进行训练, 学习到用户和项目的隐表示, 进而产生推荐列表.目前多层感知机在推荐系统应用场景主要包括广告点击率预测、视频推荐、基于位置社交网络中的兴趣点推荐等.

图3 多层感知机结构示意图

3.2 深度学习在情境感知推荐系统中的建模影响

情境感知推荐系统就是把相关情境信息融入推荐系统中为用户提供个性化的产品和服务.然而用传统的机器学习方法处理多源异构的情境数据却较为困难.这时把深度学习应用于情境感知推荐系统, 是推荐系统发展的一个创新性举动.基于深度学习的情境感知推荐系统的基本的框架如图4 所示, 由输入层、模型层和输出层组成.一般是将用户、项目和情境相关数据作为输入, 然后通过深度学习模型学习到用户、项目和情境信息的隐表示, 在此基础上为用户产生个性化推荐[16,18].

图4 基于深度学习的情境感知推荐系统框架

情境建模是基于深度学习的情境感知推荐系统的核心内容, 主要体现在基于深度学习的情境信息表示和基于深度学习的情境感知推荐这两个方面.

3.2.1 基于深度学习的情境信息表示

传统的情境信息表示方法有张量分解技术[19,20]、图模型[21]、本体模型[22]等.但当情境数据维度过高时,将会产生严重的数据稀疏问题.而这时通过深度学习技术对情境数据进行有效建模, 并利用降维技术来缓解数据稀疏问题[23], 从而提高推荐系统的性能.

Kim 等提出一种新的情境感知推荐模型—卷积矩阵分解(ConvMF), 将卷积神经网络集成到概率矩阵分解中[24].ConvMF 通过捕获文档的情境信息, 可有效解决用户项目评分数据稀疏性对推荐系统的影响, 进一步提高评分预测的准确性.Unger 等提出一种新的基于传感器的情境数据自动编码方法[25].该方法根据过去用户与系统的交互信息, 利用情境数据通过自动编码器训练每个用户的偏好, 是处理高维传感器数据时对情境模式进行建模最有效的方法.Ma 等提出一种门控注意力自动编码模型(GET), 该模型可通过神经门结构学习项目的内容和二进制等级的融合隐藏表示[26].利用最先进的情境感知推荐系统方法将用户或项目和情境之间的关系表示为张量, 并模拟上下文和用户或项目之间复杂、非线性的交互作用基础上, Mei 等提出一种新的神经网络模型—注意力交互网络(AIN), 通过自适应捕获情境和用户或项目之间的交互来增强情境感知推荐系统的性能[27].Hu 等在利用异构信息网络(HIN)进行复杂情境信息建模基础上, 开发一种新的深度神经网络[28].该神经网络具有协同注意力机制, 可利用基于丰富元路径的情境进行推荐.该模型可对用户、项目和基于元路径的情境进行有效表示, 以实现强大的交互功能, 增强了模型的可解释性.

总的来说, 利用深度学习模型对情境信息进行有效表示可以对数据进行降维.一方面.利用自动编码器提取情境数据的深层次特征, 将情境信息的隐表示融入到二维评分矩阵中, 提高推荐系统的性能.另一方面,利用注意力机制对用户、项目和情境数据进行有效表示, 对高维多源异构数据进行降维, 有效缓解数据稀疏问题, 提升推荐效果.但由于深度学习模型是利用隐藏层对情境信息进行特征表示, 易导致推荐模型解释性不足而使其应用领域受到限制.

3.2.2 基于深度学习的情境感知推荐

传统的情境感知推荐是在用户和物品的二维关系上简单整合情境信息, 可提升一定推荐效果.但类似序列推荐这样复杂的推荐场景, 在推荐系统中融入情境信息却有困难.Liu 等提出一种新的情境感知循环神经网络(CA-RNN)[29].CA-RNN 将特定的情境输入矩阵(时间, 天气等)替代常数输入矩阵, 适应性强的情境转换矩阵(时间间隔长度)替代常规的转移矩阵, 这两种矩阵的改进结合可有效进行情境信息的建模.Smirnova 等提出一种新的情境循环神经网络推荐系统(CRNNs), 通过将情境嵌入与项目嵌入相结合来修改RNN 行为, 并通过参数化将隐藏的单元转换为情境信息的函数进行情境序列建模[30], CRNNs 方法优于一般的RNNS.信息的爆炸性增长, 使得多行为的场景更复杂, 循环神经网络已不能满足情境感知推荐的性能要求.Liu 等通过用特定的转移矩阵来解决多种类型的行为情境, 而提出循环对数双线性模型(RLBL), 对短期情境和长期情境都能进行有效的建模[31].为了解决动态行为预测中情境连续时间差异问题, 在RLBL 模型基础上, 作者提出了一种基于时间感知的循环双线性模型(TA-RLBL), 用具体时间的转移矩阵进行时差建模, 这两种模型提升了多行为情境预测的质量.此外,Rakkappan 等提出了一种新的基于层叠循环神经网络的情境感知序列推荐方法, 对上下文和时间间隔的动态特性进行有效建模[32].Cui 等提出了一种新的基于层次情境的注意力循环控制网络(HCA-GRU)[33].模型中的隐藏状态在一定程度上是长期依赖和短期兴趣的结合, 通过基于注意力的情境输入与隐藏状态的融合能更好的建立模型, 为用户生成个性化推荐列表.2017 年提出自注意力机制(self-attention)以来[34], 成为了神经网络的研究热点.Huang 等在传统RNN 整体嵌入和固定编码的基础上, 提出了一种新的自注意力情境网络[35].该网络利用嵌入方式、自注意力机制和位置编码来处理用户序列行为的异构性、多义性和动态情境依赖性, 可以准确地捕获用户的兴趣和序列推荐的关键信息, 大大提高推荐性能.

目前来说, 基于深度学习的情境感知推荐研究主要集中在用户序列推荐问题上.一方面, 传统的RNN作为一种经典的序列建模方法, 在长短期情境建模上仍有不足.经过一系列改进的RNN 模型[36], 在输入层上通过转换矩阵对情境信息进行有效建模, 能够将长短期情境信息有效融入到推荐系统中.另一方面, 由于注意力模型和人类视觉的相似性, 利用注意力机制识别用户多序列行为情境有效信息和自注意力机制建模序列依赖关系和用户短期行为, 提升推荐性能.因此,将注意力机制与RNN 系列改进模型相结合, 不仅对情境信息进行有效建模, 还对用户的多序列行为进行精确预测, 为用户提供个性化的决策与服务.

3.3 基于深度学习的情境感知推荐系统的应用领域

将深度学习应用到情境感知推荐系统中, 能有效缓解数据稀疏问题, 提高推荐系统的性能, 因而被广泛应用在电子商务、兴趣点(POI)推荐、引文推荐、文档评分预测和新闻推荐等领域中.相信未来会有更多的深度学习模型应用到情境感知推荐系统的更多应用领域.表1 展示了基于深度学习的情境感知推荐系统的部分应用领域模型及其特点.

表1 基于深度学习的情境感知推荐系统的部分应用领域模型

4 情境感知推荐系统研究的不足与展望

虽然在推荐系统中应用深度学习技术已经成为当前国内外的研究热点, 但真正把深度学习技术与情境感知推荐系统相结合的研究才刚起步, 下面将探讨基于深度学习情境感知推荐系统研究的不足与对未来的展望.

(1)情境感知推荐系统模型的评价

情境感知推荐系统的一般流程如下: 首先通过传感器采集有效的数据, 识别和选择对推荐过程有利的因素; 充分考虑用户的情境信息, 以便梳理用户、项目、情境之间基本的关系; 然后构建各种情境感知推荐模型生成情境推荐列表, 更进一步深究用户偏好、项目和情境之间隐藏的关系; 最后, 评价情境感知推荐系统的性能使得推荐结果更精确.然而目前推荐系统没有一个统一的评价体系用来评判推荐系统性能的好坏, 使得无法用合适的理由向用户解释为什么系统产生这样的推荐是合理的.特别是深度学习技术融入推荐系统当中, 使得推荐系统的解释性更弱.在未来, 应重点构建一个统一的推荐系统评价体系, 提升情境感知推荐系统模型的解释性.

(2)知识图谱与图神经网络在情境感知推荐系统中的应用

目前为止, 深度学习的不透明性使神经网络整体看起来仍然是一个黑箱.目前大多数的深度学习情境感知推荐系统采用深度学习对用户、项目和情境信息进行特征表示, 而没有整体考虑用户、项目和情境之间的关系并以一个可视化的方式展现出来.所以构建用户、项目和情境信息之间的知识图谱, 输入图神经网络模型进行特征表示, 将是未来的一个研究方向.知识图谱是用多关系图以可视化的方式展现实体以及实体之间关系的知识库, 广泛应用于语义搜索、智能决策和个性化推荐等领域[50].而图神经网络模型的贡献在于如何去学习一个非结构数据并将其表征, 是目前深度学习的研究热点[51].知识图谱与图神经网络相结合, 在增强情境感知推荐能力的同时也提升了模型的可解释性.目前, 知识图谱与图神经网络在情境感知推荐系统中的应用有新闻推荐和社会推荐等领域[52,53], 这方面的研究还较少, 未来还应有更深入的研究.

(3)深度学习情境感知推荐系统的潜在应用模型

深度学习有效的融入情境感知推荐系统中, 使得情境感知推荐系统研究受到越来越多学者的青睐.除了图神经网络, 还有生成对抗网络(GAN)也可以用到情境感知推荐系统中.因此面对不同的推荐场景, 模型所需的情境因素不一样, 从而无法构建统一的深度学习情境感知推荐模型.在未来, 应针对不同的推荐系统应用领域, 充分考虑用户、项目和情境等相关数据, 构建不同的深度学习情境感知推荐系统框架, 从而提高推荐系统的性能.

5 结语

在选择众多的互联网上, 需要对相关信息进行过滤、排序和高效传递, 以缓解信息过载的问题, 这给许多互联网用户带来了潜在的问题.因此, 推荐系统通过使用算法搜索大量动态生成的信息来解决这个问题,为用户提供个性化的内容和服务.近年来, 这些系统都在使用人工智能领域的机器学习算法.然而, 在推荐系统中选择合适的机器学习算法是很困难的.但是深度学习技术的发展, 却给推荐系统带来新的机遇与挑战,带动推荐系统在各个领域的发展.本文通过从情境感知推荐系统相关概念入手, 介绍了基于深度学习的情境感知推荐系统及其应用.深度学习在情境感知的推荐系统中的应用是目前的研究热点也是难点, 希望未来更多的研究人员对此有更多的突破.

猜你喜欢
神经网络建模深度
基于神经网络的船舶电力系统故障诊断方法
四增四减 深度推进
深度思考之不等式
MIV-PSO-BP神经网络用户热负荷预测
物理建模在教与学实践中的应用
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
在经历中发现在探究中建模
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
简约教学 深度学习