Browser Session Based Recommendation
Overview
Session-based recommendations provide personalized suggestions based on real-time user interactions within a session. This approach is ideal for environments where users' preferences might shift rapidly, such as during a single visit to a website.
Use Case
This method is suited for scenarios where users interact with various items in a short period, and these interactions can be leveraged to recommend additional, relevant items before the session ends.
Gathering Session Information
To implement session-based recommendations, first collect user interactions within the current session. This typically involves tracking clicks, views, or other forms of engagement with items, and can be achieved using client-side scripting (like JavaScript) to capture these events and timestamps.
Example of Gathering User Interactions in a Browser
Use JavaScript to listen for user interactions and store them in an object, which will later be passed to the recommendation engine. Here's a basic example:
// Object to store user interactions
let userInteractions = {};
// Function to add interactions
function addInteraction(itemId, rating) {
userInteractions[itemId] = {
timestamp: Math.floor(Date.now() / 1000), // Current UNIX timestamp
rating: rating // A simulated rating based on user interaction
};
}
// Example interaction
document.getElementById('item-89898').addEventListener('click', function() {
addInteraction('89898', 4.5);
});
Making the API Call
After gathering the necessary data, make an API request to retrieve recommendations. Set recommend_seen
to true
to allow the model to recommend items the user has already interacted with during the session, which can be useful for re-engagement.
API Call Using CURL
Here is how you would send the collected interaction data to your recommendation API using CURL:
POST /iid_recommend HTTP/1.1
Host: demo-33fxfdfr.apps.pigeonsai.cloud
Content-Type: application/json
{
"user_interactions": {
"89898": {"timestamp": 1704060026, "rating": 4.5},
"22898": {"timestamp": 1704060026, "rating": 4.5},
"21255": {"timestamp": 1704060026, "rating": 4.5}
},
"k": 10,
"recommend_seen": true
}
Key Parameters
user_interactions
(object): An object containing user interactions, with each key being an item ID and its value being an object that includestimestamp
andrating
.k
(int): The number of recommendations to return.recommend_seen
(bool): If set to true, the model will include items the user has previously interacted with in the recommendations.
Understanding the Recommendations Output
The response from the API will include a list of recommended items along with their relevance scores, indicating the potential interest for the user.
Example Output
{
"recommendations": [
{"id": "21098", "score": 0.950},
{"id": "22139", "score": 0.900},
{"id": "23000", "score": 0.850},
// additional recommendations
],
"message": "Recommendations based on session interactions."
}
Last updated