论文部分内容阅读
推荐系统是大数据时代背景下不可或缺的重要应用之一。在大数据时代,信息过载是一种常态。在此背景下,无论是信息提供者还是信息使用者都面临着诸多难题:作为信息提供者,要将所存储的海量信息有针对性地展示给合适的受众以提高相关信息的关注程度,是项十分困难的任务;而作为信息使用者,如何从互联网海量数据中找到自己所需要的信息,同样也是件非常困难的事情。推荐系统的出现正是为了解决这些难题,它的主要作用体现在能够帮助用户从海量信息中更加快速地找到他们所感兴趣的内容。因此,当互联网信息资源越庞大时,推荐系统存在的意义就越大。推荐系统的核心是推荐算法。在常用的推荐系统算法中,通常假设与用户相关的历史记录都是可用的,例如用户的身份标识、用户所点击的条目以及用户的浏览行为等等。但是实际情况却不尽如此,在很多情况下,用户的身份标识对推荐算法并不可见,此时传统的基于特定用户身份的个性化推荐算法将不再适用。一种可替代的推荐思想叫做基于会话的推荐,给定一个电商网站的应用场景,在此场景中,用户的身份信息是不可获取的,基于会话推荐算法的目标就是只根据已有的会话信息(通常是用户在当前会话中的点击序列)为当前用户生成推荐商品列表。现有的解决基于会话推荐问题的主流算法是使用门限控制循环单元为基本结构的循环神经网络来进行建模。仍以电商网站应用场景为例,这类模型将当前用户点击的商品序列当作模型的初始化输入,通过模型生成所推荐的商品列表,接下来用户可能会点击推荐列表中的某一个商品,然后这个被点击的商品会再次被反馈回模型作为循环神经网络的下一个输入并产生商品推荐列表,如此循环直至满足用户需要或用户主动停止浏览为止。虽然现有的研究工作提出的基于循环神经网络的模型比多数传统的解决会话推荐的方法(如商品的k最近邻推荐算法、马尔科夫链算法等),在Recall和MRR两种推荐任务的主要评价指标上有着十分显著的提高,但是这些模型在建模的过程中只考虑了用户的序列化点击行为,而用户在当前会话中所体现出来的主要意图并没有被强调出来。在本文中,为了充分利用当前会话中所蕴含的信息,同时建模用户的序列化点击行为和用户主要意图,我们提出了一种新的神经网络模型——神经注意力推荐机。具体来说,我们首先利用一个结合注意力机制的混合编码器在建模用户序列化点击行为的同时,也捕捉用户在当前会话中的主要意图,将这两部分以不同的特征向量表示出来,再通过线性结合的方式将这两部分的特征拼接为一个统一的会话特征表示。然后,基于这个统一的会话特征表示,我们再使用一种bi-linear的匹配机制为每个候选物品计算出一个推荐打分值,从中选出分值最高的前k个物品作为模型的推荐结果。最后,通过共同学习物品和会话表示的方式来训练神经注意力推荐机中的各项参数。实验方面,我们在两个标准数据集上与已有的算法进行了详细的对比实验。结果表明,在不同数据集上,我们的神经注意力推荐机模型比之前绝大多数的会话推荐算法在Recall@20和MRR@20两个评价指标上都有明显提升。此外,我们还进一步发现在长会话上神经注意力推荐机的表现比短会话上要更好,因为一般来说长会话中会包含更多的用户意图信息,这也再次印证了同时建模当前用户序列化点击行为和主要意图在会话推荐任务上的优势。