Recommender systems that can learn from cross-session data to dynamically predict the next item a user will choose are crucial for online platforms. However, existing approaches often use out-of-the-box sequence models which are limited by speed and memory consumption, are often infeasible for production environments, and usually do not incorporate cross-session information, which is crucial for effective recommendations. Here we propose Hierarchical Temporal Convolutional Networks (HierTCN), a hierarchical deep learning architecture that makes dynamic recommendations based on users' sequential multi-session interactions with items. HierTCN is designed for web-scale systems with billions of items and hundreds of millions of users. It consists of two levels of models: The high-level model uses Recurrent Neural Networks (RNN) to aggregate users' evolving long-term interests across different sessions, while the low-level model is implemented with Temporal Convolutional Networks (TCN), utilizing both the long-term interests and the short-term interactions within sessions to predict the next interaction. We conduct extensive experiments on a public XING dataset and a large-scale Pinterest dataset that contains 6 million users with 1.6 billion interactions. We show that HierTCN is 2.5x faster than RNN-based models and uses 90% less data memory compared to TCN-based models. We further develop an effective data caching scheme and a queue-based mini-batch generator, enabling our model to be trained within 24 hours on a single GPU. Our model consistently outperforms state-of-the-art dynamic recommendation methods, with up to 18% improvement in recall and 10% in mean reciprocal rank.
翻译:能够从跨层数据中学习并动态预测下一个项目的建议系统,用户将选择的下一个项目,这对在线平台至关重要。但是,现有方法往往使用受速度和记忆消耗限制的超框序列模型,对于生产环境而言往往不可行,通常不包含跨层信息,这对有效建议至关重要。我们在这里建议一个等级深层次的深层次学习架构,根据用户与项目之间的连续多部分互动,提出动态建议。HierTCN是为拥有数十亿项项目和数亿用户的网络规模系统设计的。它由两个层面的模式组成:高层次模型使用常规神经网络(RNN)来综合用户在不同会议中不断变化的长期利益,而低层次模型则与动态动态动态动态动态网络(TCN)一起实施,利用长期兴趣和短期互动来预测下一次互动。我们广泛进行了关于公共 XING 数据设置和大规模模型(NCN)超越了亿个用户。我们经过培训的18亿个在线数据模型,我们持续在18亿个在线数据模型中使用了比20亿个在线数据快速。