The Sherpa.ai Custom Content Recommender API uses AI models to make recommendations from the data you provide.
There are three basic types of entities that make up the recommender system:
- Users: The subjects that receive the recommendations. For instance, the readers of a newspaper or the customers of a shop are good candidates to be considered users in the API. Users can have attributes that characterize them, and those attributes can be used to filter users and seek similarities among them.
- Items: The objects that are part of a product or service catalog. The articles in a newspaper or the clothes sold by a shop are item-type entities. Items can have attributes that characterize them, and those attributes can be used to filter items and seek similarities among them. Items are organized in tables.
- Interactions: The different types of relationships that can be established between users and items. For example, reading a news article or buying a piece of clothing are interactions. Interactions have a weight associated, which is dependent upon the relevance you give them.
From the graph theory point of view, users and items would be the nodes and the interactions would be the type of edges that join those nodes. Once those entities are defined, you can establish the actual edges of the graph, which are the key objects for building recommendations. A user (e.g., a customer) can interact with an item (e.g., a shirt) in a given manner (e.g., buy, rate, etc.) at a given time. This user-item interaction can also have a value associated with it (e.g., the customer can buy the shirt or just rate it 3 out of 5).
The basic workflow to create recommendations using catalog content follows these steps:
The tutorials provide step-by-step examples of how to proceed and begin working with the API.
The goal of the Sherpa.ai Custom Content API is to provide a recommender system that adapts to any kind of product or service catalog. In order to cover the wide variety of data types, the API currently offers two recommender engines.
The algorithm used by this engine extracts descriptive information from text attributes and builds recommendations based on the similarities to users' preferences, based upon users' past interactions. Therefore, the main data sources of this engine are the string fields of the item catalog, particularly, long texts. Some paradigmatic examples of items and fields that fit into this model are the headers and bodies of news items and the detailed description of a product.
Using NLP, the engine analyzes those texts to characterize the items. Based on information retrieval techniques, every user gets an individualized profile, which is updated after every interaction. When building a recommendation, the algorithm looks for items similar to those that the user has interacted with in the past, according to their profile.
The algorithm used by this engine combines collaborative filtering with content-based techniques. The relative importance between the two methods is determined automatically, depending on the available data, so as to optimize performance. The collaborative filtering side of the algorithm is based on matrix factorization and uses the users' past interactions with the items. On the other hand, the content-based side allows numerical and categorical data to be included for both the users and the items.
This engine is particularly effective when a new user or item is included in a so-called cold-start scenario. A prototypical example of how this engine can be used is for movie recommendations: in addition to the user-item interactions (i.e., ratings), there are also descriptive fields about the users and the movies.