文献标识码:A
DOI: 10.19358/j.issn.2096-5133.2020.05.008
引用格式:陈细玉,林穗.一种融合注意力和记忆网络的序列推荐算法[J].信息技术与网络安全,2020,39(5):37-41.
协同过滤(Collaborative Filtering,CF),分为基于用户的协同过滤(UBCF)、基于项目的协同过滤(IBCF)和基于模型的协同过滤。基于用户的协同过滤是根据用户的历史行为计算出用户之间的相似度,将相似度高的用户的历史项目推荐给该用户;基于项目的协同过滤是计算项目之间的相似度,推荐与该用户历史项目相似度高且历史行为中没有的项目。基于模型的协同过滤如矩阵分解(Matrix Factorization,MF)通过用户和项目的低维特征向量预测评分进行推荐;EBESU T等人提出协同记忆网络,使用记忆网络学习用户项目对的特定邻居,用户和项目记忆共同利用邻居来产生排名分数。这些模型通常对静态的用户和项目交互进行建模,所表示的用户偏好是静态的。
但在现实生活中,用户的历史行为是动态的,人们的兴趣是随着时间变化的。早先的基于马尔科夫链的序列推荐将项目之间的转移矩阵分解为两个低秩矩阵,此序列推荐取得了良好的效果,然而k阶马尔科夫链只能根据有限的前k个行为预测下一个行为。近年来基于循环神经网络(Recurrent Neural Network,RNN)的序列推荐能够依赖更多用户历史行为。FU H等人使用双向长短期记忆网络(BiLSTM)捕获项目的序列特征,取得了更好的推荐效果。下一个项目的预测并不取决于用户所有的历史项目,只与部分有关联,且对当前的预测影响是不一致的。LUO A等人提出了自适应注意感知门控循环单元(3AGRU),采用注意力机制来适应用户顺序偏好的表示。LV F等人提出了一种新的顺序深度匹配(SDM)模型,使用门控融合模块结合长期和短期偏好特征,来获取用户的动态偏好。LIN X等人将K最近邻算法(K-Nearest Neighbor,KNN)与RNN相结合,利用动态邻居序列优化用户序列表示。
item2vec是BARKAN O等人借鉴自然语言处理中的Word2vec词向量表示方法,学习项目的向量表示并计算项目的相似度进行推荐。
RNN存在长距离依赖问题,且项目之间的影响主要取决于相对位置而不是项目的属性。LSTM增加遗忘门和更新门优化了长距离依赖问题,但仍旧没有彻底解决。注意力机制能从全局模式上既解决长距离依赖问题,又能解决序列中各项目的区分度差问题。实际生活中,短期偏好的用户会向资深固定偏好的用户靠拢,兴趣变化也会向这些用户的兴趣发展。
由此提出融合注意力和记忆网络的序列推荐算法,使用Word2vec学习并初始化用户和项目的固定表示,自注意力机制结合LSTM解决长距离依赖和区分度问题,学习用户的初级动态表示,并利用记忆网络获取动态邻居学习用户的终级动态表示,拼接固定表示和终级动态表示作为用户最终表示并进行推荐,提高用户的推荐效果并体现出可解释性。
本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003112
作者信息:陈细玉,林穗(广东工业大学 计算机学院,广东 广州 510006)