Neural Network Language Model for Content Recommendation Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing recommendation systems do not effectively utilize the ordering and trajectory of user history when providing content recommendations, as they primarily group items together without considering the sequence of user interactions.
Innovation Solution
A neural network language model, specifically a recurrent neural network (RNN), is used to process user history as a sequence of tokens, allowing for the prediction of next items or actions based on the context of previously viewed media and actions, thereby accounting for the ordering and trajectory of user interactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If collaborative filtering and clustering techniques are used to group items together, then recommendation generation is simplified, but the ordering and trajectory of user history are not considered
Solution Approach 1:
The user history is segmented into a sequence of discrete tokens, where each token represents an item or action. This segmentation allows the system to process the history as an ordered sequence rather than a simple set, preserving the trajectory information while maintaining computational manageability.
Solution Approach 2:
The system transitions from a zero-dimensional set of items to a one-dimensional sequence of tokens, and further to a two-dimensional representation by considering both the sequence order and the token embeddings. This dimensional change enables the model to capture ordering information that was previously lost in traditional clustering approaches.
2Device complexity
If traditional N-gram models are used, then processing is simpler, but continuous inputs like location coordinates and viewing time cannot be accommodated
Solution Approach 1:
The system changes the parameter representation from discrete categorical labels to continuous vector embeddings. By representing items and actions as vectors in a high-dimensional space, the model can naturally accommodate both discrete data (item IDs) and continuous data (location coordinates, viewing time) without requiring separate processing mechanisms.
Solution Approach 2:
The neural network language model serves as a universal processor that can handle multiple input types simultaneously. The same architectural framework processes discrete item sequences and continuous feature vectors alike, eliminating the need for separate models for different data types and enhancing the system's versatility.
3Measurement precision
If sequence modeling is implemented to account for user history trajectory, then recommendation accuracy improves, but computational complexity increases
Solution Approach 1:
The system performs preliminary actions by pre-computing and storing embeddings for items and actions before the actual recommendation process. This pre-processing step transforms the computational burden from the inference time to the training time, allowing the recommendation system to make accurate predictions without requiring complex real-time computations.
Solution Approach 2:
The model creates a simplified representation (copy) of the complex user history sequence through token embeddings. Instead of processing the full complexity of the original history at inference time, the system uses these compressed vector representations that capture the essential patterns, reducing computational requirements while maintaining accuracy.
Data Source
AI summary
The present disclosure relates to applying techniques similar to those used in neural network language modeling systems to a content recommendation system. For example, by associating consumed media content to words of a language model, the system may provide content predictions based on an ordering. Thus, the systems and techniques described herein may produce enhanced prediction results for recommending content (e.g. word) in a given sequence of consumed content. In addition, the system may account for additional user actions by representing particular actions as punctuation in the language model.


