This website uses cookies to ensure you get the best experience. By clicking or navigating the site you agree to allow our collection of information through cookies. More info

Posted on Tuesday February 15, 2022

Updated on Monday November 6, 2023

The Recommendation System

The Recommendation System is an artificial intelligence based system which recommends cultural heritage objects on the Europeana website to users based on their previous interactions. The system was developed by Pangeanic, Anacode and Europeana Foundation under the Europeana Generic Services project Europeana XX.

main image
Screenshot of the Recommendation Engine on the Europeana website


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.

Recommendation API

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. 

Recommendation Engine

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. 

Embedding API

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 system:

  • Engages audiences with interesting and relevant content based on the previous interactions.

  • Provides audiences with an easier way to find connected items through the whole Europeana website. 

Technical information 

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 protected] or [email protected]. The Recommendation Engine will be further developed under Europeana CEF Telecom project Jewish Heritage Tours.