Finto AI is a service for automated subject indexing. It can be used to suggest subjects for text in Finnish, Swedish and English. It currently gives suggestions based e.g. on concepts of the General Finnish Ontology YSO.

Web Interface

Screenshot of Finto AI frontpage

Finto AI can be used via the form at . You can use the form by copy-pasting text to the large text field and then clicking the button "Get subject suggestions". In the drop-down menu you can choose the language of the text. You can also set the maximum number of suggestions you would like to receive. You can also copy the suggestion (as a word, URI or record) to the clipboard using a button.

REST-style API

Finto AI also has an API, which makes it easy to integrate with other systems. More information of the API can be found from this wiki on the page Finto AI open API service, a detailed OpenAPI/Swagger technical documentation is available at

An API integration is already in place at the University of Jyväskylä : students submitting their Master's thesis to the JYX repository get suggestions from Annif that they can use or discard, then a librarian/informatician does a final check. A similar workflow is being piloted in the Osuva repository of the University of Vaasa.

Vocabularies and Languages

Finto AI currently uses the latest version of the General Finnish Ontology including place names (YSO Places) and the Finnish Public Libraries Classification System in three languages ​​(Finnish, Swedish and English) as well as KAUNO (an ontology for fiction in Finnish).  We are planning to expand the choice of subject vocabularies and languages in the future.

In the development process we have discovered and tested several algorithms, and selected the currently best combination for Finto AI (MLLM, Omikuji and a TensorFlow based NN ensemble). The algorithms have been trained primarily with metadata from the Finna discovery service, but full text documents have also been used for fine-tuning the models. The development work of  is ongoing and we will offer updates and improvements to Finto AI accordingly.

From Annif API to Finto AI, the Production Version

Finto AI is based on Annif, a tool for automated subject indexing. You can read more about using Annif in it's GitHub Wiki. To work, Annif needs a controlled vocabulary (subject headings, thesaurus or classification) and existing metadata - Annif can then be used to assign subjects for new documents. This tool is built upon a combination of existing natural language processing and machine learning tools including e.g. Omikuji, fastText and Gensim. It is designed to be multilingual and it can support any subject vocabulary (in SKOS or a simple TSV format). It can be used either via a command-line interface or a microservice-style REST API. In fact, this demo API under and the demo form at are the basis of Finto AI. As a development tool, Annif offers more methods than Finto AI, successful features will be integrated to Finto AI in time.