The Recommendation System is composed of three components: the Recommendation API, Recommendation Engine and Embedding API. This system was created to help users on the Europeana website by either suggesting similar items while they browse through the collections or new items for their User Galleries.
Every time a user opens an item or gallery page, a set of recommended items is presented at the end of the page, helping them to engage with more items on the Europeana website.
The current system is only available for use on the Europeana website.
The recommendation API connects the Europeana website and the Recommendation Engine (via its dedicated API) by relaying a user’s requests and interactions on the website to the engine and obtaining back new recommendations that can help the user. The recommendation API ensures that the website is provided with the appropriate information for display to the end-user by interacting with other Europeana APIs such as the Europeana Search API.
The recommendation API was developed by Europeana Foundation.
The recommendation engine is accessed by Europeana services via a dedicated API developed by Pangeanic. The API allows users to make requests for recommendations and obtain results based on their context.
The recommendation engine was developed by Pangeanic.
The embedding API takes into account the semantic similarity between the metadata of the records to support the needs of the recommendation engine. It is built by combining and encoding of the most important fields (dc:title, dc:creator, dc:subject, dc:date and dc:description) into a sentence embedding.
The embedding API was developed by Anacode.
The recommendation engine is developed in Python and it uses an open source vector engine called Milvus. Internally, it implements complex algorithms and logic which allow it to find relevant items based on vector’s similarity. Vectors are encoded with the help of a custom state-of-the-art neural network which uses LASER for embeddings. The Recommendation System is now integrated and fully functional on the Europeana website.
The embedding API, provides information about semantic similarity between records by using records’ description fields and named entity recognition (NER) based on the multilingual LASER model.
The codebase of the Recommendation Engine and Embeddings API is released under Apache 2.0 licence and is available here and installation instructions are here. The codebase of the Recommendation API is released under EUPL1.2 and available here.
Use the tool
If you want to try out the Pangeanic API or learn more about the recommendation engine, please contact email@example.com or firstname.lastname@example.org. The Recommendation Engine will be further developed under Europeana CEF Telecom project Jewish Heritage Tours.