Oodi’s book recommendation service Obotti

AI systems > Oodi's book recommendation service Obotti
Culture and leisure


Oodi's book recommendation service Obotti



chatbot content recommendations library

Obotti is Central Library Oodi’s recommendation chatbot. The service recommends books from Oodi’s selection according to the customer’s interest and feedback. The service is aimed at all Central Library Oodi’s customers and can be downloaded as a mobile application for Android and IoS devices.

The service recommends books to the customer based on contextual analysis that the customer would not otherwise find. The purpose of the service is to present the material available in Oodi library to customers interestingly and to make it easier for customers to find interesting and new material. The recommended materials are freely available in the selections of the Central Library Oodi at the time of the recommendation.

The service is divided thematically into six chatbots, each recommending content according to their theme. You can ask the service for recommendations using ready-made answer options, or in free search terms in the form of text or speech. The service utilises contextual analysis of natural language to determine the customer’s interests, as well as to produce corresponding book recommendations.

Link to service

Contact information

  • Department

  • Helsinki Central Library Oodi
  • Contact team for inquiries

  • Suvi Bergman
  • External suppliers

  • HeadAI Oy
  • Contact email

  • suvi.bergman@hel.fi
  • Contact phone

More detailed information on the system

Here you can get acquainted with the information used by the system, the operating logic, and its governance in the areas that interest you.

DatasetsShow More Show Less

Key data sources utilised in the development and use of the system, their content and utilisation methods. The different data sources are separated by subheadings.

Sierra ILS

Sierra is the library system used by the Helsinki City Library (Innovative Interfaces Inc.). Sierra manages information related to the library’s production, e.g. customer information, procurement, book availability and book descriptions. The book recommendation service uses Sierra to check the availability of the book identified as interesting for a user, and based on this information, recommends the user with available books only.

Finna Link to dataset

Finna is an open service that provides access to materials from Finnish museums, libraries and archives. The open interface of the Finna service api.finna.fi offers free access to descriptive information produced by libraries, archives, and museums. The book recommendation service utilizes descriptive information about library selections, such as book title information, author information, synopsis, and abstracts. The information is used to generate recommendations that meet the searches and preferences of the user.

Discussion paths and thematic keywords

The discussion paths defined by the library’s experts and the keyword sets (top-of-mind) that determine the content of the theme. Discussion paths and keywords are defined by library employees using the interface provided by the service provider.

Linked Events Link to dataset

Linked Events is the event interface of the City of Helsinki. Events entered into the interface are automatically transferred to the city’s event calendar, service map, and also to various other calendar applications not maintained by the city. The book recommendation service utilises Linked Events data to recommend events that are limited to the vicinity of the city library Oodi based on geolocation.

Language model

The language model used by the book recommendation service is the result of HeadAI Oy’s over 10 years of scientific research and has been gradually made available since 2009. The language model has been produced by using HeadAI’s algorithms and by teaching it with hundreds of articles from different open data sources per each language. The language model and its knowledge structure have been subjected to long-term development operations related to expansion, contraction, themes, synonyms, and de-interference, to achieve a sufficient quality for performing analytics. The service uses HeadAI’s language model, along with customer-specific data, to create contextually weighted recommendations.

Data processingShow More Show Less

The operational logic of the automatic data processing and reasoning performed by the system and the models used.

Model architecture

The data processing of the service is described in detail in the attached model architecture process diagram. The recommendations generated by the service are created using HeadAI’s cognitive artificial intelligence, a semantic neural network consisting of five components: the cognitive core, analysis, modification, visualisations, and APIs. HeadAI uses JSON / XML feeds to store data that is further analysed, modified, and eventually visualised and returned in JSON format. HeadAI’s technology typically doesn’t need training because the knowledge base it utilises is based on a language model created by self-organising neural networks that has years of unsupervised training. The results are created with computational models between the main language model and the customer-specific language model. HeadAI Oy owns the intellectual property rights of neural networks.

Non-discriminationShow More Show Less

Promotion and realisation of equality in the use of the service.

The service is available in Finnish, Swedish, and English. The service enables the expression of the user’s interest based on selection menus, free text search, or by using speech recognition. In the development of the service, the requirements of the accessibility regulation have been identified as areas for further development.

Child users of the service have been taken into account by offering a choice in the service settings, with which the service only recommends material from children’s or youth collections. However, minor users may also wish to use the recommendations using the full material if they wish. When borrowing material, the age limits of the library’s materials are applied.

Human oversightShow More Show Less

Human oversight during the use of the service.

The service functionalities and recommendation logic are monitored and further developed by the library’s appointed experts. The supplier is responsible for the technical maintenance and support of the service, as well as for the continuous development of the language models.

Risk managementShow More Show Less

Risks related to the system and its use and their management methods.

The risk level of the service is estimated as low. The risks to the end-user are mainly related to the quality of the recommendations and the respective customer satisfaction. The quality of service recommendations is continuously monitored by metrics focused on the acceptance of recommendations.

The service utilises the content descriptions of the books in the library’s selections without filtering and does not make value-based evaluations between different books affecting the recommendations. Recommendations are implemented fully automatically based on the configurations taught to the service, and they do not utilise user personal information outside of the chatbot session.

It is possible to teach the service in a direction that could produce offensive recommendations. The service is taught by an expert using a dedicated user interface for this purpose. While teaching, the expert uses keywords to assign themes to each of the service’s thematic chatbots, which the service uses to determine thematic recommendations. Through this logic, an expert could also use keywords to teach the bot into a direction that produces offensive recommendations. To manage the risk, the service only accepts keywords that are known and can be linked to an existing language template. Most importantly, the teaching of the service is carried out by the library’s designated experts.

The service provider is not aware of any other risks associated with the service. The aim is to manage the environmental impacts of the service by actively measuring the speed, performance, and energy consumption of the system’s calculations, and by optimising the system’s operation accordingly.

Was this information useful?