Piloting Microservices NLP tools at an e-library platform: case Ellibs

In this blog post we'll describe how open source speech and language processing tools linked with the Microservices at Your Service project funded by the European Union were used to develop new processes and services for Ellibs. Ellibs is a Finnish company specializing in the sale, marketing and technology of e-books, audiobooks and other e-content and the leading provider of e-library services in Finland. Ellibs is part of Lingsoft Group Ltd.

Language is an essential part of producing a service focusing on e-books - first of all, books are always written in a language, but also user interfaces, bookstore pages and product information contain text. Accurate information is also an important part of running a successful service. This is why we can think of many potential language technology use cases for Ellibs. In the scope of the Microservices project, we explored two use cases for Ellibs. 

Improving metadata with language identification tools 

The first use case was linked with book metadata. Metadata is in practice product information (language of the book, keywords, description etc…) that is shown both in the bookstore and the Ellibs Library platform. Metadata helps users find books they are interested in buying or reading. Publishers provide the metadata for their works. 
Ellibs store and library platform operates in three different languages and there are books in several languages. Sometimes the metadata language code telling what language the title is written in can be wrong, and there are also cases where the book description language and/or keywords are in different language than the actual book. These errors might cause confusion to the users of the service or cause problems when using accessibility tools such as screen readers. 

To mitigate this problem, we defined a work process in which we could identify cases where wrong language or language code is used. For this purpose, we experimented with the HeLI OTS language identification tool, and verified that it provides language identification results which, even from short text fragments, such as book names, are very often correct. On longer fragments such as book descriptions, it works almost perfectly. After establishing errors, erroneous metadata can be recognized, a human editor alerted and the book metadata can be corrected. 

Aligning e-books with audiobooks and recognizing named entities

In our second use case we tested aligning e-book and audiobook versions of the same book title. Some streaming services for literature already use a similar feature. The idea is that the reader can easily switch between the two formats and continue the book at the same place where they left off in the other format. We investigated the alignment of the two formats with a tool called Aalto Kaldi align for Finnish, that aligns text and the corresponding audio.

The alignment had its own issues: even if the question is about two versions of the same title, the versions might not be completely identical, which poses a challenge for the alignment tool. For example, footnotes and captions need to be dealt with differently in an e-book and an audiobook and, in addition, audiobooks often include opening and closing notes and credits which the e-book is lacking. Some preprocessing would also be needed for characters, numbers, etc. for a smooth alignment process. 

Aligning the book text with the audio with Aalto align and determining time stamps for the text can improve the findability of an audiobook. Audiobooks can in most cases only be browsed by chapter names, and sometimes even this is not possible if the whole book consists of only one file. Time stamps offer new possibilities for example for creating an index. 

We tested a tool TurkuNLP NER for determining the named entities occurring in a book. A named entity is a real-world object that has a proper name. It can, for example, be a person, location, organization, product, or an expression of time. The aim of combining the use of Aalto align and TurkuNLP NER was to get time-stamped text of the audiobook with relevant entities recognized and searchable. In addition to NER terms, the same idea can be applied in determining more general keywords with the help of tools like Finto AI or Lingsoft’s proprietary text analysis tools. 

The biggest challenge with automating named entity recognition or keyword processing within e-books is deciding what level one should operate: a more general or a very detailed one or something in between. Readers want to find named entities that are relevant for them.

To create an alignment tool or named entity searchable text to Ellibs, one would ultimately need to build a feature to the reading app or software where the user could switch between book formats and/or browse the book based on recognized named entities. That is something we will continue to work with at a later stage. Based on our experiments in connection with the microservices project, these NLP tools offer exciting possibilities for developing new kinds of possibilities for online reading.

Blue and grey logo of Microservices at your service, Bridging the gap between NLP Research and Industry. On the left is a speech bubble with text and a cog connecting to each other.
Back to blog