A Survey on Session-based Recommender Systems <s> Definition 2.1 (Session). <s> The cold start problem arises in various recommendation applications. In this paper, we propose a tensor factorization-based algorithm that exploits content features extracted from music audio to deal with the cold start problem for the emerging application next-song recommendation. Specifically, the new algorithm learns sequential behavior to predict the next song that a user would be interested in based on the last song the user just listened to. A unique characteristic of the algorithm is that it learns and updates the mapping between the audio feature space and the item latent space each time during the iterations of the factorization process. This way, the content features can be better exploited in forming the latent features for both users and items, leading to more effective solutions for cold-start recommendation. Evaluation on a large-scale music recommendation dataset shows that the recommendation result of the proposed algorithm exhibits not only higher accuracy but also better novelty and diversity, suggesting its applicability in helping a user explore new items in next-item recommendation. Our implementation is available at https://github.com/fearofchou/ALMM. <s> BIB001 </s> A Survey on Session-based Recommender Systems <s> Definition 2.1 (Session). <s> Session-based recommendations are highly relevant in many modern on-line services (e.g. e-commerce, video streaming) and recommendation settings. Recently, Recurrent Neural Networks have been shown to perform very well in session-based settings. While in many session-based recommendation domains user identifiers are hard to come by, there are also domains in which user profiles are readily available. We propose a seamless way to personalize RNN models with cross-session information transfer and devise a Hierarchical RNN model that relays end evolves latent hidden states of the RNNs across user sessions. Results on two industry datasets show large improvements over the session-only RNNs. <s> BIB002
A session is a set of items (e.g., referring to any objects, e.g., products, songs or movies) that are collected or consumed in one event (e.g., a transaction) or in a certain period of time or a collection of actions or events (e.g., listening to a song) that happened in a period of time (e.g., one hour). For instance, both a set of items purchased in one transaction and a list of songs listened by a user in one hour can be viewed as a session. In addition, the web pages that a user successively clicked in one hour can also be regarded as a session. An SBRS is a RS that is built on the base of sessions and takes a session as the basic data organization unit for analyzing the data and making recommendation. Here session differentiates SBRS from other representative recommendation models like content-based and collaborative filtering RS, in which the content in a session is usually split into smaller units, e.g., a single item or a user-item pair, forming their basic data organization units. Accordingly, we formally define the learning task of SBRS below. Definition 2.2 (Session-based recommender systems (SBRS)). Given partially known session information, e.g., part of a session or recent historical sessions, an SBRS aims to predict the unknown part of a session or the future sessions based on modelling the complex relations embedded within a session or between sessions. Accordingly, SBRS can be grouped into two research directions: next-item(s) recommendations that recommend a part of the current session, and next-session (e.g., next-basket) recommendations that recommend partial or whole of future sessions. Both will be formally defined later in this work. In general, a recommendation application, e.g., shopping-basket-based transactions, involves two basic objects and concepts: user u and item i, and all the users and items in a dataset constitute the user universal set U = {u 1 , u 2 , ..., u |U | } and item universal set I = {i 1 , i 2 , ..., i |I | } respectively. The interactions between users and items, e.g., "click" or "buy", form another important component in RS. The user-item interactions within a period of time form the foundation of a session. For instance, the clicks made by a user on all items in an online shopping transaction form a click session; the items purchased by a user in a shopping event form a transactional session, which is also called a transaction. In general, a collection of items that are interacted by a certain user during a certain period (e.g., one day) or in a certain event (e.g., one shopping visit) constitute a session s = {i 1 , i 2 , ..., i |s | }. All the sessions together in one dataset form the session universal set S = {s 1 , s 2 , ..., s |S | }. Generally, an SBRS makes the unknown session information as its target t to be predicted by taking the prior session information as the context and condition, which is called a session context C in this work. A session context can be either an intra-session context C I a or an inter-session context C I e according to whether the session context comes only from one session or across multiple sessions. A Survey on Session-based Recommender Systems • 5 Definition 2.3 (Intra-session context). Taking session s n as the current session for making recommendations (recommending unknown item i t in s n ), an intra-session context C I a is the set of items that are already known in s n , namely C I a = {i |i ∈ s n , i i t }. Definition 2.4 (Inter-session context). Taking session s n as the current session for recommendations, an intersession context C I e is the set of recent sessions happened before s n , namely C I e = {s n−1 , s n−2 , ..., s |c I e | }. We differentiate the above two kinds of session contexts because they actually involve different kinds of relations for the recommendation task: the intra-session context embeds the intra-session dependency while the inter-session context mainly conveys the inter-session dependency. Now we specify and formulate the session-based recommendation task as follows. Definition 2.5 (Session-based recommendation task). Given a session context C, the session-based recommendation is to learn a function f which maps C to the recommendation target t: t ⇐ f (C). Note that, a session context is the dominant information for session-based recommendations; sometimes, additional information like item features and user features may also be incorporated into session-based recommendations as complementary information. As discussed above, SBRS can be generally categorized into two main branches: next-item recommendations, and next-session recommendations. Definition 2.6 (Next-item(s) recommendations). Given an intra-session context C I a over the current session s n , the next-item(s) recommendations predict the next item(s) i t in s n conditional on C I a . It should be noted that most next-item(s) recommendations only take the current session into account BIB001  , a minority of work incorporates recent sessions into the context as an addition BIB002 . Definition 2.7 (Next-session (next-basket) recommendations). Given a inter session context C I e for current session s n , the next-session recommendations predict those items possibly occurring in session s n . The notations used in this paper are listed in Table 2 below.