<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article article-type="research-article" xml:lang="EN" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">LIBER</journal-id>
<journal-title-group>
<journal-title>LIBER QUARTERLY</journal-title>
</journal-title-group>
<issn pub-type="epub">2213-056X</issn>
<publisher>
<publisher-name>openjournals.nl</publisher-name>
<publisher-loc>The Hague, The Netherlands</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">lq.19422</article-id>
<article-id pub-id-type="doi">10.53377/lq.19422</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Automatic Subject Cataloguing at the German National Library</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-6803-5299</contrib-id>
<name>
<surname>Poley</surname>
<given-names>Christoph</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0009-0001-5261-7315</contrib-id>
<name>
<surname>Uhlmann</surname>
<given-names>Sandro</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Busse</surname>
<given-names>Frank</given-names>
</name>
<xref ref-type="aff" rid="aff2"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Jacobs</surname>
<given-names>Jan-Helge</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-4695-0565</contrib-id>
<name>
<surname>K&#x00E4;hler</surname>
<given-names>Maximilian</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-4685-8577</contrib-id>
<name>
<surname>Nagelschmidt</surname>
<given-names>Matthias</given-names>
</name>
<xref ref-type="aff" rid="aff3"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Schumacher</surname>
<given-names>Markus</given-names>
</name>
<xref ref-type="aff" rid="aff1"/>
</contrib>
<aff id="aff1">German National Library, Leipzig, Germany</aff>
<aff id="aff2">German National Library, Frankfurt, Germany</aff>
<aff id="aff3">Formerly at German National Library, Frankfurt, Germany</aff>
</contrib-group>
<pub-date pub-type="epub">
<month>03</month>
<year>2025</year>
</pub-date>
<volume>35</volume>
<fpage>1</fpage>
<lpage>29</lpage>
<permissions>
<copyright-statement>Copyright 2025, The copyright of this article remains with the author</copyright-statement>
<copyright-year>2025</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International License (CC BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See <uri xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</uri>.</license-p>
</license>
</permissions>
<self-uri xlink:href="http://www.liberquarterly.eu/article/10.53377/lq.19422"/>
<abstract>
<p>The German National Library (DNB) began developing solutions for automatic subject cataloguing 15 years ago. The main reason for this was the huge and ever-growing number of digital media works that needed to be indexed. Today, the DNB uses open source algorithms and frameworks to assign various types of thematic meta information in this way.</p>
<p>This practice paper provides a deeper insight into automatic subject cataloguing at the DNB. We look at the data and vocabularies used as well as at the different methods and approaches. The vocabulary for classification is based on the Dewey Decimal Classification (DDC). For verbal subject indexing we use the German Integrated Authority File (GND).</p>
<p>The use case of automatic classification is divided into the assignment of DDC Subject Categories and DDC Short Numbers. Due to the large size of the GND vocabulary, the use case of automatic indexing is an extreme multi-label classification (XMLC) problem. A brief report is given about the construction and the performance of our models.</p>
<p>Based on these use cases, we present some implementation aspects of our &#x201C;subject cataloguing machine&#x201D; EMa, the environment for automatic subject cataloguing in productive use. We point out the basic feature set and provide a high-level introduction of the productive EMa system. The modular design of the EMa software architecture with the open source software Annif as a central toolkit is described.</p>
<p>The development of EMa is an ongoing task at the DNB. It requires continuous development and maintenance, technological and human resources. Applied research activities in the DNB&#x2019;s AI project are closely related to the EMa ensuring that relevant scientific findings get integrated into its development.</p>
</abstract>
<kwd-group>
<kwd>German National Library</kwd>
<kwd>automatic classification</kwd>
<kwd>automatic indexing</kwd>
<kwd>natural language processing</kwd>
<kwd>machine learning</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1. Introduction</title>
<p>In 1998, the German National Library (DNB) started collecting, cataloguing and archiving digital media works, in particular digital dissertations and later also e-books and digital journals. When the Law Regarding the German National Library came into force in 2006, this task became part of our legal mandate. Digital media works today make up the largest part of the DNB&#x2019;s annual acquisitions. The trend is rising. In 2023, the holdings increased by around 900,000 physical media works as opposed to 2.6 million digital publications including around 180,000 e-books, 23,000 digital university publications, as well as more than 1.9 million digital journal articles, 340,000 e-paper editions and 12,000 snapshots of websites. The DNB&#x2019;s total collection currently amounts to 49.7 million media works, of which 14.9 million are digital media works (<xref ref-type="bibr" rid="r8">German National Library, 2024</xref>). The large and increasing volumes are a continuous challenge for collecting, cataloguing, archiving, and data provision. At the same time, these developments have offered many new perspectives, for example by making many items freely available worldwide or by making it possible to search for and find individual articles. In this paper, we will focus on the aspects of subject cataloguing. Retrieval questions are further areas of research and beyond the scope of this paper.</p>
<p>Subject cataloguing makes it possible to structure large collections thematically and to make resources on certain topics searchable and findable. Our efforts towards the automation of subject cataloguing date back to the mid-2000s and have always aimed for providing the most consistent and complete content-describing metadata. This comes along with specific challenges, such as handling the increasing number of publications to be processed, as well as opportunities, like making accessible types of publications that would remain unconsidered in a non-automated world due to limited resources (e.g. journal articles) (<xref ref-type="bibr" rid="r14">Junger, 2014</xref>).</p>
<p>Major milestones on the DNB&#x2019;s road to automation include the termination of the intellectual cataloguing of digital publications in 2010, followed by the evaluation of the technological, conceptual, and procedural guidelines for automatic subject cataloguing (<xref ref-type="bibr" rid="r24">Sch&#x00F6;ning-Walter, 2010</xref>). These steps led to a first productive setup for automatic subject cataloguing with Subject Categories based on the Dewey Decimal Classification (DDC Subject Categories) from 2012 on and descriptors from the German Integrated Authority File (GND) from 2014 on (<ext-link ext-link-type="uri" xlink:href="https://gnd.network/Webs/gnd/EN/Home/home_node.htm">https://gnd.network/Webs/gnd/EN/Home/home_node.htm</ext-link>), based on proprietary third-party software (<xref ref-type="bibr" rid="r15">Junger, 2018</xref>). As a compromise between the broadness of our subject categories and the preciseness of DDC numbers, the development and machine-based assignment of so called &#x2018;DDC Short Numbers&#x2019; was initiated in 2015. It started with the subject category &#x201C;Medicine, Health&#x201D; and moved onwards to now more than 50 different subject categories (<xref ref-type="bibr" rid="r5">German National Library, 2021</xref>). Furthermore, language codes according to the ISO 639-2 standard have been assigned automatically since 2018.</p>
<p>Between 2019 and 2022, a new system and infrastructure for automatic subject cataloguing was set up as part of the EMa project (EMa is the abbreviation for &#x201C;Erschlie&#x00DF;ungsmaschine&#x201D;, which translates into &#x201C;subject cataloguing machine&#x201D;) (<xref ref-type="bibr" rid="r7">German National Library, 2023</xref>). Based on the previous experience gained, EMa&#x2019;s objectives were to evaluate, select, and apply new technologies and processes. Modularity, flexibility, and the use of open source tools were our design principles for an open and expandable system with reasonable maintenance costs. This enables continuous improvement of quality of the automatically generated subject metadata. These requirements led us consequently to the Annif framework (<xref ref-type="bibr" rid="r27">Suominen, 2019</xref>), an open source software toolbox for automatic subject indexing and classification (<xref ref-type="bibr" rid="r28">Suominen, 2024</xref>) developed at the National Library of Finland. Annif provides various continuously evolving technologies in the area of natural language processing and machine learning that are available under a well described interface layer. It is made both for operation by experts and automatic processing. With regard to openness and networking, a user community has formed around Annif with libraries such as the ZBW Leibniz Information Centre for Economics, the KB National Library of the Netherlands and the National Library of Sweden. After prototype testing and a subsequent development period with Annif as core component, our new EMa system went into operation in spring 2022.</p>
<p>Innovation projects and the continuous operation of automatic subject cataloguing in production and further development require resources in personnel and hardware (<xref ref-type="bibr" rid="r16">Kasprzik, 2023</xref>). Therefore, a specialized organisational unit for automatic subject cataloguing has been established in 2014, which is permanently responsible for the maintenance and further development of automatic subject cataloguing procedures in cooperation with DNB&#x2019;s IT department. This requires staff with expertise in areas such as data management, machine learning, text mining, natural language processing, and specialised library knowledge as well as IT skills like software engineering and hardware provisioning. The implementation and operation of test and productive environments is only possible with a correspondingly high level of effort and professionalisation in terms of staff and resources. In addition, a suitable technological infrastructure with all the associated pipelines and tools must be established (<xref ref-type="bibr" rid="r22">Poley, 2022</xref>).</p>
<p>In this practice paper, we give a deeper insight into the DNB&#x2019;s &#x201C;subject cataloguing machine&#x201D;. We describe and discuss the underlying data and vocabulary (DDC Subject Categories, DDC Short Numbers, and GND descriptors), data management, and methods for processing texts and metadata. Different use cases of automatic subject cataloguing and their results are presented. The main requirements and architecture design principles are shown as well as the pipeline for our daily productive workflow. Last but not least, an outlook is given on the next steps and the future of automatic cataloguing at the DNB.</p>
</sec>
<sec id="s2">
<title>2. Foundations: Data and Vocabulary for Knowledge Representation and Approaches for Automation</title>
<p>For knowledge representation, the content of collections of publications can be structured thematically through subject cataloguing. In the DNB, automatic subject cataloguing consists of two main use-cases, automatic classification (assignment of DDC Subject Categories and DDC Short Numbers) and automatic indexing which applies the German Integrated Authority File GND as vocabulary. The use case of classification is a typical application of a multiclass classification problem, with one target category per document. On the other hand, the use case of indexing constitutes a multi-label classification problem, where a varying number of predefined target labels is assigned to each document.</p>
<p>The ingredients for automatic subject cataloguing include the data (publications and their bibliographic metadata), the vocabulary used for cataloguing, and the methods and approaches applied to automation. These aspects are described in more detail below.</p>
<sec id="s2a">
<title>2.1. Data and Vocabulary</title>
<p>The DNB&#x2019;s collection mandate covers all publications in written, visual and audio form that have been published in Germany, in German, as a translation from German, or about Germany since 1913. The media works that are subject to collection include all publications in physical form such as books, periodicals, newspapers, maps, music, standards, music recordings, and audio books. Since 2006, the collection mandate also includes publications without a physical medium, such as e-books, e-journals, e-papers, digital audio books, music publications, or websites.</p>
<p>The media works currently used for automatic subject cataloguing are those parts of the DNB collection that have machine readable text available, for example full texts or digital tables of contents, blurbs, or metadata such as the title of a publication. Image-based media or audio files are not included in the workflow. As many methods for automatic cataloguing are language-specific and therefore do not work with cross-lingual collections, the language in which a publication is written is a fundamental criterion for processing. Currently, German and English publications are processed. The publications&#x2019; full texts and tables of contents are available as EPUB or PDF files. They have to be converted into plain text in order to be readable for further processing steps.</p>
<p>The vocabularies for knowledge representation are used for both intellectual and automatic subject cataloguing. Therefore, all publications that have previously been catalogued intellectually can be utilised to form the gold standard for the purpose of training and evaluating automatic subject cataloguing processes. We use publications with at least one label of the DDC Subject Categories or regular DDC numbers (which can be used to establish a DDC Short Number if required) or a descriptor from the GND (<xref ref-type="table" rid="tb001">Table 1</xref>).</p>
<table-wrap id="tb001">
<label>Table 1:</label>
<caption><p>Quantities of German-language full texts, tables of contents, blurbs, and titles with gold standard in December 2023.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Kind of text</th>
<th align="left" valign="top">DDC Subject Categories</th>
<th align="left" valign="top">DDC numbers</th>
<th align="left" valign="top">GND descriptors</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">Full text</td>
<td align="left" valign="top">322,224</td>
<td align="left" valign="top">237,121</td>
<td align="left" valign="top">218,682</td>
</tr>
<tr>
<td align="left" valign="top">Title</td>
<td align="left" valign="top">2,154,843</td>
<td align="left" valign="top">1,236,335</td>
<td align="left" valign="top">1,459,554</td>
</tr>
<tr>
<td align="left" valign="top">Table of contents</td>
<td align="left" valign="top">1,004,721</td>
<td align="left" valign="top">743,539</td>
<td align="left" valign="top">745,331</td>
</tr>
<tr>
<td align="left" valign="top">Blurb</td>
<td align="left" valign="top">365,708</td>
<td align="left" valign="top">316,617</td>
<td align="left" valign="top">292,605</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2b">
<title>2.2. Data Analysis and Management</title>
<p>To prepare the data for automatic subject cataloguing, it is necessary to analyse and to pre-process the data in multiple steps. How much of each kind of text is available within the gold standard? What kind of metadata is available to structure the collections for different use cases? In detail, the data management has to perform tasks such as processing the bibliographic metadata, extracting the text from PDF/EBUB to plain text, as well as data-cleaning and splitting.</p>
<p>In the DNB&#x2019;s catalogue system, more than 49.7 million bibliographic records and approximately 10 million GND records are hosted and encoded in the internal format PICA&#x002B;. PICA&#x002B; is a data format with multiple fields and subfields. To handle the large amount of data in an efficient way and to convert the needed information into data formats of lower complexity, we implemented the toolkit pica-rs (<xref ref-type="bibr" rid="r33">Wagner, 2024</xref>). It is written in Rust and enables very fast processing and conversion of PICA&#x002B; data to tabular representations. It also includes comprehensive functionalities to determine and process elementary and statistical values from the metadata. We use pica-rs as base software for data analysis and it forms the entry point for the automation of metadata workflows in our data management.</p>
<p>The requested texts are retrieved from the DNB repository and extracted from the PDF/EPUB format in plain text. Another step is data cleaning, such as separating out broken texts. Pre-processing steps, such as shortening full texts or adding a title to another kind of text, may be necessary (<xref ref-type="bibr" rid="r25">Serrano, 2021</xref>, p. 387). According to the classification and indexing use cases, the data must be compiled into a bundled dataset that can serve for training or evaluation. A feasible approach to validating machine learning systems is the three-way-hold-out method of splitting up the dataset into train, validate, and test corpora (<ext-link ext-link-type="uri" xlink:href="https://huyenchip.com/machine-learning-systems-design/toc.html">https://huyenchip.com/machine-learning-systems-design/toc.html</ext-link>). However, splitting bibliographic records has its pitfalls: many publications arise as reprint or new edition of a previous work, others are parallel editions in print and digital representation. Inserting different manifestations of the same work into training and test data may result in unwanted bias during performance estimation.</p>
<p>Due to the large amount of data, it was necessary to set up a specialised management environment to meet the requirements of the DNB. One objective was to automate the underlying workflows in order to make their management traceable and less error-prone. The combination of pica-rs, Git (<ext-link ext-link-type="uri" xlink:href="https://github.com/">https://github.com/</ext-link>), and Data Version Control (<ext-link ext-link-type="uri" xlink:href="https://dvc.org/">https://dvc.org</ext-link>) as well as various Python scripts formed the base to set up a processing pipeline that makes it possible to select, structure and process the data.</p>
<p>The pipeline structure is described in the configuration files. The use of Git allows version control to manage source code and configuration files so that they can be reproduced at any time. The combination of Git with DVC as a workflow management and pipelining tool provides a complex toolset to handle metadata and large text files on a huge scale in a deterministic way. It establishes the possibility of sharing and synchronising pipelines and data within the team.</p>
</sec>
<sec id="s2c">
<title>2.3. Methods and Approaches</title>
<p>The DNB currently uses two main approaches for automatic classification and indexing. The first one is a supervised machine learning approach, also known as associative approach. Here, a model is trained using labelled data in order to make predictions (assign descriptors, subject categories, etc.) about unknown data. Labels, such as notations of a classification system or descriptors of a controlled vocabulary, that have been assigned intellectually to a publication, are learnt by an algorithm using the words (features) from the publication. The trained model is then applied to make predictions for a new publication. In this kind of supervised learning approach, only labels that occur during training can be predicted in productive use. This approach is suitable for notations and descriptors that have a high occurrence in the training data.</p>
<p>In the second approach, also known as the lexical approach, terms (words or parts of words) from a digital publication are compared with the terms (labels) of a vocabulary (e.g. the GND descriptors). If a term from the text and a term from a descriptor match, the descriptor can be assigned to the publication from which the term was taken. Unlike the supervised machine learning approach, the lexical approach does not require training material. It is also suitable to predict rare or previously unused descriptors.</p>
<p>Various machine learning and lexical approaches are available in the open-source toolbox Annif (<xref ref-type="bibr" rid="r28">Suominen et al., 2024</xref>). Machine learning approaches in Annif are TF-IDF, fastText, Omikuji and SVC. Lexical approaches in Annif are MLLM, STWFSA, and YAKE. To combine the advantages of the methods, there are three fusion/ensemble backends in which individual results from the methods can be merged together: ensemble, PAV and nn_ensemble (<xref ref-type="bibr" rid="r12">Inkinen, 2024</xref>, section Backends/Algorithms).</p>
<p>To decide whether a model performs well, it is necessary to measure its performance. A good level of quality must be guaranteed for productive models and configured methods in operation. The quality of a model is not always trivial to measure. Various metrics and appropriate tools for evaluation have to be used (<xref ref-type="bibr" rid="r25">Serrano, 2021</xref>, p. 177). Standard metrics are e.g. precision (usefulness of the result), recall (completeness of the result) (<xref ref-type="bibr" rid="r23">&#x201C;Precision and recall&#x201D;, 2024</xref>), F1 score (harmonic mean of Precision and Recall) (<xref ref-type="bibr" rid="r4">&#x201C;F-Score&#x201D;, 2024</xref>) and NDCG (<xref ref-type="bibr" rid="r21">&#x201C;Normalised Discounted Cumulative Gain&#x201D;, 2024</xref>). The Annif toolbox already includes an evaluation command that can be used to calculate various evaluation metrics such as precision, recall, and F1 score. In order to obtain more detailed information about the usefulness of the predictions and to continuously evaluate and improve the quality of the results, regular feedback from our subject cataloguing experts is an important component of the performance analysis. This also means that creating and improving the models is an ongoing process. Several times a year, newly trained models based on current vocabulary and training material are put into production.</p>
</sec>
</sec>
<sec id="s3">
<title>3. Use Case 1: Automatic Classification</title>
<p>The automatic classification of publications is one of our two major use cases for automatic subject cataloguing. In terms of classification, there are actually two tasks in the DNB: the machine-based assignment of DDC Subject Categories and the machine-based assignment of DDC Short Numbers.</p>
<sec id="s3a">
<title>3.1. Modelling</title>
<p>The DDC Subject Categories were introduced in 2004 in order to structure the German National Bibliography. They are mostly based on the top two notational levels of the Dewey Decimal Classification (DDC). Since 2012, the machine-based assignment of DDC Subject Categories has been applied for daily incoming digital publications based on the full text and selected print publications based on the table of contents.</p>
<p>The results and findings from the automatic classification based on the DDC Subject Categories gave reason to examine whether this approach could also be suitable for complete DDC numbers. Because of the large amount of possible DDC numbers and the small amount of available training material for so many numbers, initial investigations did not lead us to satisfactory results. In order to still enable DDC numbers to be used in automated processes, the DDC Short Numbers were developed in 2015. These abbreviated DDC numbers are selected from sets of valid regular DDC numbers and represent specific topics with more general classes. Thus, DDC Short Numbers are the trade-off between broad subject categories and the full descriptive capability of the DDC classification system. The short numbers are selected intellectually by domain experts. Their selection is primarily oriented towards the library&#x2019;s holdings and collection mandate on the basis of subject-specific aspects (<xref ref-type="bibr" rid="r17">M&#x00F6;dden, 2022</xref>).</p>
<p>Two separate models are trained for automatic classification using DDC Subject Categories, one for German-language publications and one for English-language publications. The model for the machine-based assignment of DDC Subject Categories to German-language publications is described in more detail below.</p>
<p>The first challenge on the way to create a model is to identify publications that can be used for training and testing the model. The publications for training must be written in German, have a digital kind of text (full text, table of contents, blurb or bibliographic metadata such as the title) and have to be classified intellectually into a DDC Subject Category. These publications form the gold standard.</p>
<p>After taking these criteria into account, in 2023 around 3.8 million objects were available as material for training and testing the models (see also <xref ref-type="table" rid="tb001">Table 1</xref>).</p>
<p>For the development of a classification model, the set of full texts was randomly split into 85 percent for training, another 10 percent for testing and the remaining 5 percent for validation. Thus, they form disjoint sets. The individual DDC Subject Categories occur with varying frequencies in these text corpora, but the frequency distribution of the individual subject categories is approximately the same in all three text corpora types. The decision to include only full texts in the test and validation text corpora is based on the later intended primary use of the model for the classification of full texts.</p>
<p>However, there is one important constraint applied to the full text data. The processing of full text data which can often comprise several hundreds of thousands of characters can become a significant cost driver as it leads to an increasing computational and time-consuming effort. In order to keep these costs as minimal as possible without affecting the F1 score and other relevant metrics too much, many iterations of tests were performed. For this use case, the best balance between a reduced, fast processable full text and a sufficiently high F1 score that we found is to take the first 30,000 characters for further processing and cutting off the rest of the text.</p>
<p><xref ref-type="table" rid="tb002">Table 2</xref> gives a first impression of how the individual categories are represented in the training text corpora. It contains an overview of the five largest and the five smallest subject categories. As can be seen, a lot of training data is available for the subject categories &#x201C;Medicine&#x201D; and &#x201C;Law&#x201D;, while very little training data is available for &#x201C;History of other regions&#x201D; or &#x201C;Manuscripts and rare books&#x201D;. Depending on the machine learning method used, these large differences in quantity can have a major influence on the performance of a model for each category.</p>
<table-wrap id="tb002">
<label>Table 2:</label>
<caption><p>Number of training data in the top 5/smallest 5 DDC Subject Categories.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="top">DDC Subject Category</th>
<th align="left" valign="top">Training data</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">610</td>
<td align="left" valign="top">Medicine, health</td>
<td align="left" valign="top">387,492</td>
</tr>
<tr>
<td align="left" valign="top">340</td>
<td align="left" valign="top">Law</td>
<td align="left" valign="top">271,319</td>
</tr>
<tr>
<td align="left" valign="top">230</td>
<td align="left" valign="top">Theology, Christianity</td>
<td align="left" valign="top">167,376</td>
</tr>
<tr>
<td align="left" valign="top">650</td>
<td align="left" valign="top">Management</td>
<td align="left" valign="top">160,294</td>
</tr>
<tr>
<td align="left" valign="top">370</td>
<td align="left" valign="top">Education</td>
<td align="left" valign="top">125,370</td>
</tr>
<tr>
<td align="left" valign="top">&#x2026;</td>
<td align="left" valign="top"/>
<td align="left" valign="top"/>
</tr>
<tr>
<td align="left" valign="top">030</td>
<td align="left" valign="top">Encyclopedic works</td>
<td align="left" valign="top">1,045</td>
</tr>
<tr>
<td align="left" valign="top">090</td>
<td align="left" valign="top">Manuscripts and rare books</td>
<td align="left" valign="top">984</td>
</tr>
<tr>
<td align="left" valign="top">480</td>
<td align="left" valign="top">Greek</td>
<td align="left" valign="top">703</td>
</tr>
<tr>
<td align="left" valign="top">980</td>
<td align="left" valign="top">History of South America</td>
<td align="left" valign="top">694</td>
</tr>
<tr>
<td align="left" valign="top">990</td>
<td align="left" valign="top">History of other regions</td>
<td align="left" valign="top">135</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Two machine learning approaches in Annif, Omikuji and SVC, proved to be suitable for solving our classification tasks. SVC is an implementation of a support vector machine algorithm (<xref ref-type="bibr" rid="r29">&#x201C;Support vector machine&#x201D;, 2024</xref>) and the Omikuji algorithm is based on decision trees (<xref ref-type="bibr" rid="r3">&#x201C;Decision tree learning&#x201D;, 2024</xref>). A large amount of testing and analyses was needed to find the best performing approach.</p>
</sec>
<sec id="s3b">
<title>3.2. Evaluation</title>
<p>Over all DDC Subject Categories, the SVC model for German-language publications was able to achieve a document average F1 score of about 0.774 on a test corpus of 29,872 full texts. The Omikuji model achieves a document average F1 score of about 0.766. The result covers all DDC Subject Categories.</p>
<p>Hence, to get more stratified results, it is worth to have a more detailed look into the data. <xref ref-type="table" rid="tb003">Table 3</xref> provides an overview of the 10 subject groups with the highest F1 score. Some individual DDC subject categories score significantly higher than the average F1 score. As stated before, one reason for the differences is the number of available training data for each subject category which has an important impact on the performance. The category&#x2019;s content definition must also be taken into account. In addition to the subject categories with a large proportion of training material (such as categories 340, 610, and 230), there are also some in the top ten for which only a small amount of training material is available. It seems that the number of documents in the training material is not the only criterion for achieving better results. The F1 scores show that SVC performs slightly better than Omikuji in our use case. Therefore, the decision was made to use SVC for the DDC Subject Categories.</p>
<table-wrap id="tb003">
<label>Table 3:</label>
<caption><p>The 10 DDC Subject Categories with the highest F1 scores.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="2" align="left" valign="top">DDC Subject Category</th>
<th align="left" valign="top">SVC F1 score</th>
<th align="left" valign="top">Omikuji F1 score</th>
<th align="left" valign="top">Training data</th>
<th align="left" valign="top">Test data</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">741.5</td>
<td align="left" valign="top">Comics, cartoons, caricatures</td>
<td align="left" valign="top">0.9437</td>
<td align="left" valign="top">0.8797</td>
<td align="left" valign="top">30,997</td>
<td align="left" valign="top">115</td>
</tr>
<tr>
<td align="left" valign="top">340</td>
<td align="left" valign="top">Law</td>
<td align="left" valign="top">0.9234</td>
<td align="left" valign="top">0.9251</td>
<td align="left" valign="top">271,319</td>
<td align="left" valign="top">2,551</td>
</tr>
<tr>
<td align="left" valign="top">610</td>
<td align="left" valign="top">Medicine, health</td>
<td align="left" valign="top">0.8955</td>
<td align="left" valign="top">0.8879</td>
<td align="left" valign="top">387,492</td>
<td align="left" valign="top">4,573</td>
</tr>
<tr>
<td align="left" valign="top">770</td>
<td align="left" valign="top">Photography, videography, computer art</td>
<td align="left" valign="top">0.8791</td>
<td align="left" valign="top">0.8595</td>
<td align="left" valign="top">34,985</td>
<td align="left" valign="top">185</td>
</tr>
<tr>
<td align="left" valign="top">630</td>
<td align="left" valign="top">Agriculture, veterinary medicine</td>
<td align="left" valign="top">0.8494</td>
<td align="left" valign="top">0.8465</td>
<td align="left" valign="top">69,941</td>
<td align="left" valign="top">696</td>
</tr>
<tr>
<td align="left" valign="top">780</td>
<td align="left" valign="top">Music</td>
<td align="left" valign="top">0.8488</td>
<td align="left" valign="top">0.8482</td>
<td align="left" valign="top">54,454</td>
<td align="left" valign="top">248</td>
</tr>
<tr>
<td align="left" valign="top">004</td>
<td align="left" valign="top">Computer science</td>
<td align="left" valign="top">0.8442</td>
<td align="left" valign="top">0.8362</td>
<td align="left" valign="top">44,683</td>
<td align="left" valign="top">597</td>
</tr>
<tr>
<td align="left" valign="top">230</td>
<td align="left" valign="top">Theology, Christianity</td>
<td align="left" valign="top">0.8375</td>
<td align="left" valign="top">0.8241</td>
<td align="left" valign="top">167,376</td>
<td align="left" valign="top">1,071</td>
</tr>
<tr>
<td align="left" valign="top">510</td>
<td align="left" valign="top">Mathematics</td>
<td align="left" valign="top">0.8240</td>
<td align="left" valign="top">0.7958</td>
<td align="left" valign="top">16,065</td>
<td align="left" valign="top">235</td>
</tr>
<tr>
<td align="left" valign="top">910</td>
<td align="left" valign="top">Geography and travel</td>
<td align="left" valign="top">0.8223</td>
<td align="left" valign="top">0.8148</td>
<td align="left" valign="top">117,114</td>
<td align="left" valign="top">665</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>How does the SVC model for German perform in productive use? The model has been running since the beginning of August 2023. The period looked at here spans from the beginning of August 2023 until March 2024. In this time range 58,828 German-language digital publications were processed with this model and thus classified with a DDC Subject Category. To verify how well the model has predicted the respective subject category, publications are required that have intellectually assigned categories as well as automatically assigned categories. Of the 58,828 digital publications, 6,571 publications have an intellectually assigned subject category that is taken from the printed parallel edition in addition to the automatically assigned category. This means a sample of around 11&#x0025; of the processed texts is available for analysis.</p>
<p>For 5,289 publications, there is a match between the subject category assigned by machine and the one assigned intellectually, i.e. the subject category assigned by the machine was correctly assigned to 80.49&#x0025; of the sample.</p>
<p>As <xref ref-type="table" rid="tb004">Table 4</xref> shows, the F1 score of 17 subject categories lies between 1 and 0.85. These 17 subject categories comprise a total of 3.036 publications and thus account for 46.20&#x0025; of the total sample. The most frequently assigned subject categories are &#x201C;Law&#x201D; with an F1 score of 0.95 and the category &#x201C;Medicine, Health&#x201D; with an F1 score of 0.85. For a further 26 categories, totalling 2,414 publications, the F1 score is between 0.85 and 0.7. 51 subject categories have an F1 score of less than 0.7 but with a total number of 1,121 publications, they account for only 17&#x0025; of the sample.</p>
<table-wrap id="tb004">
<label>Table 4:</label>
<caption><p>Frequency distribution of the F1 scores of German-language digital publications over 100 DDC Subject Categories.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">F1 score range</th>
<th align="left" valign="top">Number of DDC Subject Categories</th>
<th align="left" valign="top">Number of publications</th>
<th align="left" valign="top">Sample share</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">0.85 &#x2264; F1 &#x2264; 1.00</td>
<td align="left" valign="top">17</td>
<td align="left" valign="top">3,036</td>
<td align="left" valign="top">46.20&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">0.70 &#x2264; F1 &#x003C; 0.85</td>
<td align="left" valign="top">26</td>
<td align="left" valign="top">2,414</td>
<td align="left" valign="top">36.74&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">0.50 &#x2264; F1 &#x003C; 0.70</td>
<td align="left" valign="top">33</td>
<td align="left" valign="top">958</td>
<td align="left" valign="top">14.58&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">0.00 &#x003C; F1 &#x003C; 0.50</td>
<td align="left" valign="top">12</td>
<td align="left" valign="top">156</td>
<td align="left" valign="top">2.37&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">F1 &#x003D; 0</td>
<td align="left" valign="top">6</td>
<td align="left" valign="top">7</td>
<td align="left" valign="top">0.11&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">not available</td>
<td align="left" valign="top">6</td>
<td align="left" valign="top">0</td>
<td align="left" valign="top">0</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>One challenge concerning the analysis of automatically assigned subject categories for digital publications is the composition of each sample that is analysed. It always depends on the type of publications and which of these publications have an intellectually assigned subject category. This can mean that not all subject categories are always represented (not available) in the evaluations. It is therefore important to carry out the evaluations at regular intervals and over a long period of time in order to make long-term statements about which subject categories perform with a satisfying F1-Score.</p>
</sec>
</sec>
<sec id="s4">
<title>4. Use Case 2: Automatic Indexing</title>
<p>The machine-based indexing with GND descriptors is the second of our two major use cases of automatic subject cataloguing. The components and evaluation details of our approach using the example of German-language digital publications are explained. We report about the challenges posed by the GND&#x2019;s extremely large vocabulary and our experiences of using different kinds of text to get more accurate results.</p>
<sec id="s4a">
<title>4.1. Modelling</title>
<p>The German Integrated Authority File GND currently contains about 9.6 million standardised German descriptors and is growing continuously. A subset of about 1.4 million GND descriptors is marked for usage in subject indexing. As the GND is a joint vocabulary cooperatively managed and enriched by multiple institutions, not every single descriptor of this 1.4 million GND subset is necessarily linked to one or more publications in the DNB&#x2019;s collection and can be used for training. As already shown in <xref ref-type="sec" rid="s2">Section 2</xref>, currently around 218,000 records with digital publications (full text), around 745,000 records with digital tables of contents and around 292,000 records with digital blurbs in German language have been intellectually linked to at least one GND descriptor. In addition, various parts of the metadata such as the title can be used for training.</p>
<p>From a machine learning perspective, the use of up to 1.4 million GND descriptors as controlled vocabulary for automatic subject indexing can be interpreted as an extreme multi-label classification (XMLC) problem (<xref ref-type="bibr" rid="r2">Dasgupta et al., 2023</xref>). XMLC problems are characterised by a large set of classifying labels, from which only a small subset is used with a high frequency. The large majority of the labels is rarely or never used. The visualisation of these distributions is better known as the &#x2018;long tail&#x2019; (<xref ref-type="bibr" rid="r13">Jain et al., 2016</xref>).</p>
<p><xref ref-type="table" rid="tb005">Table 5</xref> provides an overview of the frequency of occurrence of GND descriptors in the library&#x2019;s collection. It shows the &#x2018;long tail&#x2019; in absolute and relative numbers: Over 1.18 million GND descriptors are not linked in the DNB&#x2019;s collection at all. 167,126 GND descriptors are linked between 1 and less than 10 times (tail labels). It means that not even 5&#x0025; of the GND descriptors are used more than 10 times. Only 997 GND descriptors are linked at least 1,000 times. They represent the head labels.</p>
<table-wrap id="tb005">
<label>Table 5:</label>
<caption><p>Overview of the frequency of occurrence of GND descriptors in the library&#x2019;s collection.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Frequency of occurrence (x): GND descriptors in the library&#x2019;s collection</th>
<th align="left" valign="top">Absolute</th>
<th align="left" valign="top">Relative</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">x &#x003D; &#x003D; 0</td>
<td align="left" valign="top">1,181,836</td>
<td align="left" valign="top">84.2&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">1 &#x2264; x &#x003C; 10</td>
<td align="left" valign="top">167,126</td>
<td align="left" valign="top">11.9&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">10 &#x2264; x &#x003C; 100</td>
<td align="left" valign="top">43,463</td>
<td align="left" valign="top">3.1&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">100 &#x2264; x &#x003C; 1.000</td>
<td align="left" valign="top">9,545</td>
<td align="left" valign="top">0.68&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">1.000 &#x2264; x &#x003C; 10.000</td>
<td align="left" valign="top">964</td>
<td align="left" valign="top">0.07&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">10.000 &#x2264; x</td>
<td align="left" valign="top">33</td>
<td align="left" valign="top">0.002&#x0025;</td>
</tr>
<tr>
<td align="left" valign="top">All</td>
<td align="left" valign="top">1,402,967</td>
<td align="left" valign="top">100&#x0025;</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>While supervised machine learning is suitable for labels with medium or high frequency of occurrence in the training data, other approaches can help to assign labels with few or no occurrences. Lexical approaches are able to assign rarely or never assigned GND descriptors and can basically use all 1.4 million GND descriptors. In order to make use of the advantages of different approaches, it is useful to fuse their results in an ensemble.</p>
<p>A useful machine learning approach is letting the data for training and the data for prediction follow similar data-generating distributions in order to avoid unfavourable model bias and loss of performance in productive use (<xref ref-type="bibr" rid="r10">Goodfellow et al., 2016</xref>). We found this fact to be of particular importance with regard to the selection of the kind of texts. A series of experiments for the indexing use case showed that machine learning models deliver more accurate results if the kind of texts for which predictions are to be provided also correspond to the kind of text that the models were trained on. For example, it can have a positive effect if a model trained with titles is applied to titles. A model trained on tables of contents should be applied to tables of contents, etc. Otherwise the models could learn from a feature distribution that may be different in the data for prediction. In particular, mixing training material of various kind of texts (e.g. titles, tables of contents, blurbs, full text) may confuse models. We found that it is beneficial to train and apply models on a single kind of text only and combine predictions at a later fusion stage as described in <xref ref-type="bibr" rid="r30">Toepfer and Seifert (2020)</xref>.</p>
<p>The ensemble for automatic indexing with the GND descriptors for German-language digital publications consists of four differently configured models. Three models use the supervised learning approach Omikuji and one model uses the lexical approach MLLM. The MLLM method was parameterised and provided with the entire GND, i.e. about 1.4 million descriptors. The first Omikuji model (Omikuji-1) was trained with the full texts of about 218,000 German-language digital publications. They were pre-processed by cutting them down to 50,000 characters and always adding the title of a publication to the beginning of the text. The second Omikuji model (Omikuji-2) was trained with about 1.4 million German-language titles. Finally, the third Omikuji model (Omikuji-3) was trained with about 720,000 German-language digital tables of contents.</p>
<p>With Annif, it is possible to train each model with a distinct training corpus, in particular we can define model-specific corpora for each kind of text. Thus for example we can train a model <italic>for</italic> the kind of text &#x201C;title&#x201D; <italic>with</italic> titles. Several specialised models can then be used for prediction in an ensemble. All models in an Annif ensemble, however, can only be given one specific kind of text for prediction, i.e. at inference time it is not possible to pass on different kinds of text to each model. For our purposes, ideally, we want to be able to direct different kinds of texts to each of the models simultaneously. Annif provides only the functionality of the &#x2018;transform limit&#x2019; parameter to cut the text to an individual length separately for each underlying model (<xref ref-type="bibr" rid="r11">Inkinen, 2023</xref>). To approximate different kinds of text we can cut the text length with the transform parameter. We evaluated that the maximum number of characters of 90&#x0025; of all titles in the DNB collection is about 150. 90&#x0025; of the DNB&#x2019;s tables of contents have a maximum size of 10,000 characters.</p>
<p>We do not use the transform parameter in Annif for training (see <xref ref-type="table" rid="tb006">Table 6</xref>). We do use it for prediction for new unknown publications to approximate the length of a title and the assumed length of a table of contents for the ensemble (see <xref ref-type="table" rid="tb007">Table 7</xref>). The text for prediction consists of a full text that is cut down to 50,000 characters beforehand and a title added at the beginning of the full text. This text then forms the base text. Corresponding to the different models, the transform parameter of Annif is now applied: the entire base text is transferred to Omikuji-1 for prediction. Only the first 150 characters are passed to Omikuji-2. To Omikuji-3, 10,000 characters are given for prediction. Last but not least, MLLM gets the entire base text.</p>
<table-wrap id="tb006">
<label>Table 6:</label>
<caption><p>Training: kinds of text and the transform parameter for each model.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Models</th>
<th align="left" valign="top">Transform parameter for training</th>
<th align="left" valign="top">Kind of text for training</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">Omikuji-1</td>
<td align="left" valign="top">None</td>
<td align="left" valign="top">Title &#x002B; full text 50,000 characters</td>
</tr>
<tr>
<td align="left" valign="top">Omikuji-2</td>
<td align="left" valign="top">None</td>
<td align="left" valign="top">Title</td>
</tr>
<tr>
<td align="left" valign="top">Omikuji-3</td>
<td align="left" valign="top">None</td>
<td align="left" valign="top">Table of content</td>
</tr>
<tr>
<td align="left" valign="top">MLLM</td>
<td align="left" valign="top">None</td>
<td align="left" valign="top">Title &#x002B; full text 50,000 characters</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="tb007">
<label>Table 7:</label>
<caption><p>Prediction: kinds of text and the transform parameter for each model in ensemble.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Ensemble with</th>
<th align="left" valign="top">Transform parameter for prediction</th>
<th align="left" valign="top">Kind of text for prediction</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">Omikuji-1</td>
<td align="left" valign="top">None</td>
<td align="left" valign="top">Title &#x002B; full text 50,000 characters</td>
</tr>
<tr>
<td align="left" valign="top">Omikuji-2</td>
<td align="left" valign="top">Transform limit 150</td>
<td align="left" valign="top"/>
</tr>
<tr>
<td align="left" valign="top">Omikuji-3</td>
<td align="left" valign="top">Transform limit 10,000</td>
<td align="left" valign="top"/>
</tr>
<tr>
<td align="left" valign="top">MLLM</td>
<td align="left" valign="top">None</td>
<td align="left" valign="top"/>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4b">
<title>4.2. Evaluation</title>
<p>We tested the ensemble of Omikuji-1, Omikuji-2, Omikuji-3, and MLLM in an experiment with 10,682 digital German-language publications (full texts).</p>
<p>To measure the quality of the results, the following evaluation metrics were obtained for each model: precision, recall, F1 score, and NDCG (<xref ref-type="table" rid="tb008">Table 8</xref>, all calculated as document averages). In the experiment, each publication was assigned a maximum of seven GND descriptors with a minimum confidence score of 0.04. The metrics were obtained by comparing the machine-assigned GND descriptors with the intellectually assigned GND descriptors from the gold standard.</p>
<table-wrap id="tb008">
<label>Table 8:</label>
<caption><p>Evaluation of different models compared with an ensemble.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Model</th>
<th align="left" valign="top">Precision</th>
<th align="left" valign="top">Recall</th>
<th align="left" valign="top">F1 score</th>
<th align="left" valign="top">NDCG</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">Omikuji-1</td>
<td align="left" valign="top">0.3929</td>
<td align="left" valign="top">0.5118</td>
<td align="left" valign="top">0.3902</td>
<td align="left" valign="top">0.5137</td>
</tr>
<tr>
<td align="left" valign="top">Omikuji-2</td>
<td align="left" valign="top">0.4423</td>
<td align="left" valign="top">0.4941</td>
<td align="left" valign="top">0.4142</td>
<td align="left" valign="top">0.5025</td>
</tr>
<tr>
<td align="left" valign="top">Omikuji-3</td>
<td align="left" valign="top">0.3904</td>
<td align="left" valign="top">0.4573</td>
<td align="left" valign="top">0.3573</td>
<td align="left" valign="top">0.4632</td>
</tr>
<tr>
<td align="left" valign="top">MLLM</td>
<td align="left" valign="top">0.1899</td>
<td align="left" valign="top">0.4259</td>
<td align="left" valign="top">0.2402</td>
<td align="left" valign="top">0.3971</td>
</tr>
<tr>
<td align="left" valign="top">Ensemble</td>
<td align="left" valign="top">0.4550</td>
<td align="left" valign="top">0.6124</td>
<td align="left" valign="top">0.4738</td>
<td align="left" valign="top">0.6093</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The individual MLLM method produces an F1 value of 0.2402, the Omikuji-1 model an F1 value of 0.3902, the Omikuji-2 model an F1 value of 0.4142 and the Omikuji-3 model an F1 value of 0.3573. All four combined in an ensemble yield a joint F1 value of 0.4738. It can be seen that the fusion of the results from the MLLM lexical approach and Omikuji&#x2019;s supervised learning models in an ensemble leads to the best results.</p>
<p>In addition, for each model the precision-recall curve and the derived area under the curve &#x201C;PR AUC&#x201D; (<xref ref-type="bibr" rid="r1">Boyd et al., 2013</xref>) were calculated from a total of 10,682 publications. The precision recall curve visualises the various possible trade-offs between precision and recall, when varying a models decision threshold (minimum confidence score). High thresholds lead to predictions of high precision and low recall (upper-left area of the diagram), low thresholds achieve high recall but low precision (lower-right area). For every publication, the first 25 GND descriptors with the highest confidence value were included in the ranking. The ensemble reaches the best result with a PR AUC of 0.5232. As can be seen in <xref ref-type="fig" rid="fg001">Figure 1</xref>, the ensemble can outperform the precision of the best performing Omikuji model by more than 0.15 at a fixed recall level of 0.5.</p>
<fig id="fg001">
<label>Fig. 1:</label>
<caption><p>Area under the precision-recall curve (PR AUC) for the different models and the ensemble.</p></caption>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="figures/LIBER_2025_35_Poley_fig1.jpg"/></fig>
<p>Another way to measure the quality of automatic indexing is through assessment by subject indexing experts (see also the suggestions for evaluating quality in <xref ref-type="bibr" rid="r9">Golub et al. (2016)</xref>). What is assessed is the degree of correlation between the machine-assigned GND descriptors and the topic(s) of a publication. Is the topic of a publication described correctly and meaningfully by the individual GND descriptors? Is the GND descriptor useful to describe the topic? Each GND descriptor is assigned a value on a 4-point scale: &#x201C;very useful&#x201D;, &#x201C;useful&#x201D;, &#x201C;slightly useful&#x201D;, or &#x201C;wrong&#x201D;. In order to assign one of the three &#x201C;useful&#x201D; levels, the GND descriptor must match a topic of the publication or describe a partial aspect of the topic.</p>
<p>In an earlier assessment involving subject indexing experts, a sample of 702 German-language digital publications was evaluated with GND descriptors from an ensemble of Omikuji and MLLM (<xref ref-type="bibr" rid="r32">Uhlmann &#x0026; Grote, 2021</xref>). The analyses led to the result that 38&#x0025; of the descriptors fell into the &#x201C;very useful&#x201D; category, 30&#x0025; were rated as &#x201C;useful&#x201D; and 22&#x0025; as &#x201C;slightly useful&#x201D;. 10&#x0025; of the machine-assigned GND descriptors were labelled as &#x201C;wrong&#x201D;. A positive trend can be observed from the first models we used productively in the DNB to assign GND descriptors in 2014 to the present day. The proportion of descriptors rated as &#x201C;very useful&#x201D; and &#x201C;useful&#x201D; has increased and the proportion rated as &#x201C;wrong&#x201D; has decreased (compare the older results from 2013 in <xref ref-type="bibr" rid="r31">Uhlmann (2013)</xref> and 2018 in <xref ref-type="bibr" rid="r19">M&#x00F6;dden et al. (2018)</xref>).</p>
<p>Finally, the experts added missing GND descriptors in order to correct and complete subject indexing of a publication. Thus, these analysed and revisited sample datasets form new gold standard. The datasets then get joined with the other training data to improve our next models. This closes a circle and the work of the subject indexing experts becomes indispensable in the sense of &#x201C;human-in-the-loop&#x201D; (<xref ref-type="bibr" rid="r20">Monarch, 2021</xref>).</p>
</sec>
</sec>
<sec id="s5">
<title>5. EMa: Implementation of an Automatic Subject Cataloguing System</title>
<p>In the following, we provide an overview of the foundations and design principles of the EMa system which was developed and subsequently implemented between 2019 and 2022.</p>
<sec id="s5a">
<title>5.1. Main Requirements</title>
<p>Requirements engineering is an essential aspect and a prerequisite in the development of professional software. Therefore, the first step to what would later become the EMa system, was formulating a set of main requirements that outlined the questions &#x201C;What features do we need?&#x201D; and &#x201C;What should the software do?&#x201D;.</p>
<p>The basic feature set for the EMa project includes the following items:</p>
<list list-type="bullet">
<list-item><p>Automatic subject cataloguing: Classification with different classification systems (DDC Subject Categories and DDC Short Numbers) and indexing with a controlled vocabulary (GND) for German and English</p></list-item>
<list-item><p>Automatic assignment of text language codes</p></list-item>
<list-item><p>Processing of text data, metadata, and controlled vocabulary in a fully automated workflow</p></list-item>
<list-item><p>Assessment of the quality of automatic subject cataloguing results by using adequate metrics and providing tools for measuring and evaluation</p></list-item>
</list>
<p>The automatic subject cataloguing system has to be designed to work on DNB&#x2019;s hardware resources. The generic, design-related requirements of maintainability, expandability, and interoperability were given a high priority beside the above mentioned. As any automatic subject cataloguing is a highly technology-driven task, the implementation of more innovative features in the future has to be planned for. In order to keep the system at the state of the art, implementation costs for new features have to be kept low by designing the system in an expandable way.</p>
<p>This leads us to the design principle of a modular and service-based architecture, where new services and &#x201C;backends&#x201D; for automatic subject cataloguing can easily be added with an acceptable degree of maintenance. Interoperability from an intrasystem perspective stands for reusable and exchangeable processes and methods, from an intersystem perspective it stands for a seamless fit in the organisation&#x0060;s system infrastructure.</p>
<p>In 2024, it can be stated that most of the requirements are satisfied by the EMa system and the main features are implemented.</p>
</sec>
<sec id="s5b">
<title>5.2. Daily Productive Workflow</title>
<p>In the following, we provide a high-level introduction of the productive EMa system.</p>
<p>As <xref ref-type="fig" rid="fg002">Figure 2</xref> shows, the <italic>EMa environment</italic> (1) is the backbone and the workflow engine of the entire EMa system. Every day it retrieves a stack of identifiers that represent newly arrived publications which have been selected for automatic cataloguing. This component implements for every publication the flow control of automatic cataloguing in interaction with the EMa services, the catalogue system and the text storage. It comes with a command line interface and gets triggered by automated scheduled processes (cronjobs).</p>
<fig id="fg002">
<label>Fig. 2:</label>
<caption><p>Scheme of the productive EMa system.</p></caption>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="figures/LIBER_2025_35_Poley_fig2.jpg"/></fig>
<p>The main parts of the workflow engine&#x2019;s configuration and the connected services are held in the central yaml configuration file. The file is easy to edit and contains basic configuration items such as parameters for the Annif models like the maximum number of returned descriptors and thresholds. It is provided by the <italic>EMa config service</italic> (2) and is visible in the entire system.</p>
<p>Every publication has to pass a processing pipeline of several stages. In the first stage, the <italic>EMa environment</italic> calls the <italic>Text providing service</italic> (3). It carries out a plain UTF-8 text extraction from PDF and EPUB files out of the repository. For PDF files we use the open source tool PDFBox (<ext-link ext-link-type="uri" xlink:href="https://pdfbox.apache.org/">https://pdfbox.apache.org/</ext-link>), for EPUBs we use a software developed in-house. A basic method to get relevant content is to cut the text at its beginning and end.</p>
<p>The <italic>PICA record service</italic> (4) next gets the metadata needed for an object (e.g. the title). The <italic>Language guesser</italic> (5) determines the most probable language for a text and returns it as ISO 639-2/B codes. The results from this service are important for the selection of the models for classification and indexing. The language code becomes also part of the catalogue&#x2019;s data record, if there is no other language code available. The <italic>Language guesser</italic> currently encapsulates two models of freely available software: Lingua (<xref ref-type="bibr" rid="r26">Stahl, 2024</xref>) and Apache Tika (<ext-link ext-link-type="uri" xlink:href="https://tika.apache.org/">https://tika.apache.org/</ext-link>).</p>
<p>At that point in time, all of the required information for the automatic suggestions is available. The <italic>Classification and indexing service</italic> (6) defines an important layer to encapsulate the underlying suggestion tools and toolkits for indexing and classification from the <italic>EMa environment</italic>. Basically, the service hands the extracted German or English text data (title, table of contents, full text &#x2013; if available) to the suggestion backends. Currently, we only connect the Annif toolkit for our purpose of use. In the future, we will also have the ability to make other algorithms, software, and services available for the EMa in a flexible manner.</p>
<p>The connected <italic>Annif service</italic> (7) suggests the DDC Subject Categories, DDC Short Numbers, and GND descriptors as a key functionality of the EMa. Annif provides a REST interface that suits the flexible service-based architecture of the EMa system. Inside, for every use case, we provide an Annif project in a separate Docker container that we configure with Docker Compose files. Furthermore, we have developed a semiautomatic workflow to transfer trained Annif models, ensembles, and their configurations in the productive system in a comfortable and deterministic way.</p>
<p>Finally, the <italic>PICA cataloguing service</italic> (8) converts the automatically generated subject cataloguing results into the PICA&#x002B; format and the <italic>PICA record import service</italic> (9) writes them back into the catalogue system. After that, the next publication&#x2019;s identifier gets processed until the stack of identifiers is done.</p>
</sec>
<sec id="s5c">
<title>5.3. The EMa in Numbers</title>
<sec id="s5c1">
<title>5.3.1. DDC Subject Categories and DDC Short Numbers</title>
<p>The daily productive workflow of the EMa currently utilises two distinct models, one for German and one for English, for the automatic assignment of DDC Subject Categories.</p>
<p><xref ref-type="table" rid="tb009">Table 9</xref> shows the number of publications that were assigned machine-generated DDC Subject Categories in 2023 and in total. In the case of DDC Short Numbers, one model is used for each of the 54 subject categories respectively, which assigns short numbers to both German and English-language publications.</p>
<table-wrap id="tb009">
<label>Table 9:</label>
<caption><p>Publications with machine-generated DDC Subject Categories.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Automatic classification with DDC Subject Categories</th>
<th align="left" valign="top">2023</th>
<th align="left" valign="top">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">German-language digital publications</td>
<td align="left" valign="top">188,057</td>
<td align="left" valign="top">1,662,355</td>
</tr>
<tr>
<td align="left" valign="top">English-language digital publications</td>
<td align="left" valign="top">1,123,751</td>
<td align="left" valign="top">4,562,769</td>
</tr>
<tr>
<td align="left" valign="top">German-language printed publications</td>
<td align="left" valign="top">13,115</td>
<td align="left" valign="top">99,226</td>
</tr>
<tr>
<td align="left" valign="top">English-language printed publications</td>
<td align="left" valign="top">3,178</td>
<td align="left" valign="top">22,457</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><xref ref-type="table" rid="tb010">Table 10</xref> shows the number of publications that were assigned machine-generated DDC Short Numbers in 2023 and in total.</p>
<table-wrap id="tb010">
<label>Table 10:</label>
<caption><p>Publications with machine-generated DDC short numbers.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Automatic classification with DDC Short Numbers</th>
<th align="left" valign="top">2023</th>
<th align="left" valign="top">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">German-language digital publications</td>
<td align="left" valign="top">109,104</td>
<td align="left" valign="top">625,664</td>
</tr>
<tr>
<td align="left" valign="top">English-language digital publications</td>
<td align="left" valign="top">949,888</td>
<td align="left" valign="top">3,225,775</td>
</tr>
<tr>
<td align="left" valign="top">German-language printed publications</td>
<td align="left" valign="top">2,755</td>
<td align="left" valign="top">20,041</td>
</tr>
<tr>
<td align="left" valign="top">English-language printed publications</td>
<td align="left" valign="top">924</td>
<td align="left" valign="top">8,615</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5c2">
<title>5.3.2. GND Descriptors</title>
<p>The daily productive workflow of the EMa currently uses four differently configured Annif ensembles for the automatic assignment of GND descriptors. The first ensemble processes German-language digital publications based on the title and full text. A second ensemble processes English-language digital theses, likewise by utilising the title and the full text. The third one processes printed German-language theses based on the title and table of contents.</p>
<p>One more ensemble is used for the assignment of GND descriptors for children&#x2019;s and young adults&#x2019; literature based exclusively on metadata. Specifically, the title and free keywords supplied by the publisher are used in order to assign the matching GND descriptors. For that ensemble, a separate and reduced dictionary is used. It contains about 10,000 GND descriptors that have been intellectually assigned at least once in the field of children&#x2019;s and young adults&#x2019; literature.</p>
<p><xref ref-type="table" rid="tb011">Table 11</xref> contains the number of publications annotated with GND descriptors in 2023 and in total.</p>
<table-wrap id="tb011">
<label>Table 11:</label>
<caption><p>Publications with machine-generated GND descriptors.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Automatic indexing with GND descriptors</th>
<th align="left" valign="top">2023</th>
<th align="left" valign="top">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left" valign="top">German-language digital publications</td>
<td align="left" valign="top">142,792</td>
<td align="left" valign="top">1,039,305</td>
</tr>
<tr>
<td align="left" valign="top">English-language digital theses</td>
<td align="left" valign="top">10,313</td>
<td align="left" valign="top">56,257</td>
</tr>
<tr>
<td align="left" valign="top">German-language printed theses</td>
<td align="left" valign="top">2,069</td>
<td align="left" valign="top">23,243</td>
</tr>
<tr>
<td align="left" valign="top">Publications in children&#x2019;s and young adult literature</td>
<td align="left" valign="top">12,246</td>
<td align="left" valign="top">53,452</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec id="s6">
<title>6. Conclusion</title>
<p>Automatic subject cataloguing offers the possibility of classifying or verbally indexing publications that would otherwise not be indexed at all or only partially. For the DNB whose current holdings of 49.7 million media works have grown by 900,000 physical media works and 2.6 million digital publications in 2023 alone, machine support for indexing work is indispensable.</p>
<p>The establishment of automatic subject cataloguing as a well-introduced service in the DNB is not a one-off, completed process. Rather, the continuous development and maintenance of automatic processes have become new, ongoing tasks. Like all processes in library work, they must be regularly put to the test, also in order to incorporate and implement new findings. These ongoing tasks require specialized technological and human resources.</p>
<p>One prerequisite to make our routines suitable for automatic subject cataloguing is to introduce a professional data management that fits into the DNB&#x2019;s ecosystem. The tool pica-rs forms the base to work with PICA data. The usage of DVC and Git provides the framework for setting up data pipelines which form adequate and clean text corpora and provide access to the metadata. This enables us to conduct experiments that lead us to valuable indicators concerning the realisation of optimised models. In parallel, we are able to learn more about the underlying text data to obtain information that will help us to further develop automatic processes.</p>
<p>DDC Subject Categories, DDC Short Numbers and the controlled vocabulary of the GND are assigned automatically to selected publication groups in the DNB. In the use case of the automatic assignment of DDC Subject Categories, we work with two machine learning approaches in Annif, Omikuji and SVC, both of which have shown to be suitable for solving our classification task. Because of the large set of 1.4 million GND descriptors, the use case of automatic subject indexing is a more complex problem. We use an ensemble of models for this use case, consisting of different Omikuji models in combination with MLLM, a lexical approach that also caters to the large subset of labels without training data.</p>
<p>Automatic subject cataloguing is not error-free. Thus, inaccurate and incorrect assignments create ballast. The task of quality control is to critically monitor the error rates and their effects and to make adjustments if necessary. The goal is to ensure that the indexing data are reliable, regardless of whether it was generated intellectually or in a machine-based manner. Intellectual and machine-based processes should be interlinked more closely (&#x201C;human-in-the-loop&#x201D;). Quality checks should also be used to control and evaluate which publication groups can be indexed automatically and which should be indexed intellectually. Intellectual subject cataloguing is also necessary to establish the gold standard. For example, new GND descriptors are needed for new topics, as a well-maintained, up-to-date vocabulary is important for the quality of any subject indexing. In addition, subject areas where automatic subject cataloguing does not work, or does not work well, must first be intellectually indexed in order to generate training data to improve possible machine models.</p>
<p>The DNB&#x2019;s broad collection mandate and the resulting heterogeneous holdings place high demands on the product of automatic subject cataloguing. Considerable efforts are still needed to improve the EMa&#x2019;s capabilities, for example by expanding and combining methods. According to the DNB&#x2019;s strategy, the further development of the EMa service is an essential part of automation and digitisation.</p>
<p>Since 2019, the DNB organizes the conference &#x201C;Netzwerk maschinelle Verfahren in der Erschlie&#x00DF;ung&#x201D; (Network for automated processes in subject cataloguing) in order to get in touch with the growing research communities in German and European libraries and encourage knowledge exchange about questions of automatic subject cataloguing (<xref ref-type="bibr" rid="r18">M&#x00F6;dden, 2024</xref>). Furthermore, the DNB carries out workshops in this context to discuss relevant topics with specialists from libraries and research departments.</p>
<p>Another effort is the DNB research project &#x201C;Automatic Cataloguing System&#x201D; (<xref ref-type="bibr" rid="r6">German National Library, 2022</xref>) which has a close connection to the EMa. The project evaluates new scientific approaches in the area of natural language processing and machine learning with regard to performance and feasibility in order to improve the indexing of German scientific publications with GND descriptors. New methods, such as fine-tuned transformer architectures and large language models, are subjected to a broad screening to determine which technological advances can be incorporated into our EMa service. Transferring the latest research findings into our own production environment, which includes introducing new prototypes and experimenting with new approaches, is an ongoing process and will continue to present us with exciting challenges in the future.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="r1"><mixed-citation>Boyd, K., Eng, K., &#x0026; Page, C. (2013). Area under the precision-recall curve: Point estimates and confidence intervals. In H. Blockeel, K. Kersting, S. Nijssen &#x0026; F. &#x017D;elezn&#x00FD; (Eds.), <italic>Lecture Notes in Computer Science: Vol. 8190. Machine learning and knowledge discovery in databases</italic> (pp. 451&#x2013;466). Springer. <ext-link ext-link-type="doi" xlink:href="10.1007/978-3-642-40994-3_29">https://doi.org/10.1007/978-3-642-40994-3_29</ext-link></mixed-citation></ref>
<ref id="r2"><mixed-citation>Dasgupta, A., Katyan, S., Das, S., &#x0026; Kumar, P. (2023). <italic>Review of Extreme Multilabel Classification</italic>. arXiv. <ext-link ext-link-type="doi" xlink:href="10.48550/arXiv.2302.05971">https://doi.org/10.48550/arXiv.2302.05971</ext-link></mixed-citation></ref>
<ref id="r3"><mixed-citation>Decision tree learning. (2024, July 16). In <italic>Wikipedia</italic>. <ext-link ext-link-type="uri" xlink:href="https://en.wikipedia.org/w/index.php?title=Decision_tree_learning&amp;oldid=1234846759">https://en.wikipedia.org/w/index.php?title&#x003D;Decision_tree_learning&#x0026;oldid&#x003D;1234846759</ext-link></mixed-citation></ref>
<ref id="r4"><mixed-citation>F-Score. (2024, July 24). In <italic>Wikipedia</italic>. <ext-link ext-link-type="uri" xlink:href="https://en.wikipedia.org/w/index.php?title=F-score&amp;oldid=1236366682">https://en.wikipedia.org/w/index.php?title&#x003D;F-score&#x0026;oldid&#x003D;1236366682</ext-link></mixed-citation></ref>
<ref id="r5"><mixed-citation>German National Library. (2021, February 24). <italic>DDC at the German National Library</italic>. <ext-link ext-link-type="uri" xlink:href="https://www.dnb.de/EN/Professionell/DDC-Deutsch/DDCinDNB/ddcindnb_node.html">https://www.dnb.de/EN/Professionell/DDC-Deutsch/DDCinDNB/ddcindnb_node.html</ext-link></mixed-citation></ref>
<ref id="r6"><mixed-citation>German National Library. (2022, October 13). <italic>Automatic cataloguing system</italic>. <ext-link ext-link-type="uri" xlink:href="https://www.dnb.de/EN/Professionell/ProjekteKooperationen/Projekte/KI/KI.html">https://www.dnb.de/EN/Professionell/ProjekteKooperationen/Projekte/KI/KI.html</ext-link></mixed-citation></ref>
<ref id="r7"><mixed-citation>German National Library. (2023, September 19) <italic>Launch of Cataloguing Machine EMa</italic>. <ext-link ext-link-type="uri" xlink:href="https://jahresbericht.dnb.de/Webs/jahresbericht/EN/2022/Hoehepunkte/Erschliessungsmaschine/erschliessungsmaschine_node.html">https://jahresbericht.dnb.de/Webs/jahresbericht/EN/2022/Hoehepunkte/Erschliessungsmaschine/erschliessungsmaschine_node.html</ext-link></mixed-citation></ref>
<ref id="r8"><mixed-citation>German National Library. (2024). <italic>Annual Report 2023</italic>. <ext-link ext-link-type="uri" xlink:href="https://jahresbericht.dnb.de/Webs/jahresbericht/EN/2023/Home/home_node.html">https://jahresbericht.dnb.de/Webs/jahresbericht/EN/2023/Home/home_node.html</ext-link></mixed-citation></ref>
<ref id="r9"><mixed-citation>Golub, K., Soergel, D., Buchanan, G., Tudhope, D., Lykke, M., &#x0026; Hiom, D. (2016). A framework for evaluating automatic indexing or classification in the context of retrieval. <italic>Journal of the Association for Information Science and Technology</italic>, <italic>67</italic>(1), 3&#x2013;16. <ext-link ext-link-type="doi" xlink:href="10.1002/asi.23600">https://doi.org/10.1002/asi.23600</ext-link></mixed-citation></ref>
<ref id="r10"><mixed-citation>Goodfellow, I., Bengio, Y., &#x0026; Courville, A. (2016). <italic>Deep learning</italic>. The MIT Press.</mixed-citation></ref>
<ref id="r11"><mixed-citation>Inkinen, J. (2023, January 20). Transforms. <italic>Github Annif</italic>. <ext-link ext-link-type="uri" xlink:href="https://github.com/NatLibFi/Annif/wiki/Transforms">https://github.com/NatLibFi/Annif/wiki/Transforms</ext-link></mixed-citation></ref>
<ref id="r12"><mixed-citation>Inkinen, J. (2024, October 3). Annif Wiki. <italic>Github Annif</italic>. <ext-link ext-link-type="uri" xlink:href="https://github.com/NatLibFi/Annif/wiki">https://github.com/NatLibFi/Annif/wiki</ext-link></mixed-citation></ref>
<ref id="r13"><mixed-citation>Jain, H., Prabhu, Y., &#x0026; Varma, M. (2016). Extreme multi-label loss functions for recommendation, tagging, ranking &#x0026; other missing label applications. KDD. In <italic>Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</italic> (pp. 935&#x2013;944). <ext-link ext-link-type="doi" xlink:href="10.1145/2939672.2939756">https://doi.org/10.1145/2939672.2939756</ext-link></mixed-citation></ref>
<ref id="r14"><mixed-citation>Junger, U. (2014). Can indexing be automated? The example of the Deutsche Nationalbibliothek. <italic>Cataloging &#x0026; Classification Quarterly</italic>, <italic>52</italic>(1), 102&#x2013;109. <ext-link ext-link-type="doi" xlink:href="10.1080/01639374.2013.854127">https://doi.org/10.1080/01639374.2013.854127</ext-link></mixed-citation></ref>
<ref id="r15"><mixed-citation>Junger, U. (2018, August 24&#x2013;30). <italic>Automation first &#x2013; the subject cataloguing policy of the Deutsche Nationalbibliothek</italic> [Conference paper]. IFLA WLIC 2018 &#x2013; Transform Libraries, Transform Societies in Session 115 - Subject Analysis and Access. Kuala Lumpur, Malaysia. <ext-link ext-link-type="uri" xlink:href="https://library.ifla.org/id/eprint/2213/1/115-junger-en.pdf">https://library.ifla.org/id/eprint/2213/1/115-junger-en.pdf</ext-link></mixed-citation></ref>
<ref id="r16"><mixed-citation>Kasprzik, A. (2023). Automating subject indexing at ZBW &#x2013; Making research results stick in practice. <italic>LIBER Quarterly</italic>, <italic>33</italic>(1). <ext-link ext-link-type="doi" xlink:href="10.53377/lq.13579">https://doi.org/10.53377/lq.13579</ext-link></mixed-citation></ref>
<ref id="r17"><mixed-citation>M&#x00F6;dden, E. (2022). Artificial intelligence, machine learning and bibliographic control. DDC Short Numbers &#x2013; Towards machine-based classifying. <italic>JLIS.it</italic>, <italic>13</italic>(1), 256&#x2013;264. <ext-link ext-link-type="doi" xlink:href="10.4403/jlis.it-12775">https://doi.org/10.4403/jlis.it-12775</ext-link></mixed-citation></ref>
<ref id="r18"><mixed-citation>M&#x00F6;dden, E. (2024, December 23). <italic>Netzwerk maschinelle Verfahren in der Erschliessung.</italic> Deutsche Nationalbibliothek - Wiki. <ext-link ext-link-type="uri" xlink:href="https://wiki.dnb.de/display/FNMVE">https://wiki.dnb.de/display/FNMVE</ext-link></mixed-citation></ref>
<ref id="r19"><mixed-citation>M&#x00F6;dden, E., Sch&#x00F6;ning-Walter, C., &#x0026; Uhlmann, S. (2018). Maschinelle Inhaltserschlie&#x00DF;ung in der Deutschen Nationalbibliothek. <italic>Forum Buch und Bibliothek</italic>, <italic>70</italic>(1), 30&#x2013;35.</mixed-citation></ref>
<ref id="r20"><mixed-citation>Monarch, R. (2021). <italic>Human-in-the-Loop Machine Learning - Active learning and annotation for human-centered AI</italic>. Manning.</mixed-citation></ref>
<ref id="r21"><mixed-citation>Normalised Discounted Cumulative Gain. (2024, May 12). In <italic>Wikipedia</italic>. <ext-link ext-link-type="uri" xlink:href="https://en.wikipedia.org/w/index.php?title=Discounted_cumulative_gain&amp;oldid=1223546723">https://en.wikipedia.org/w/index.php?title&#x003D;Discounted_cumulative_gain&#x0026;oldid&#x003D;1223546723</ext-link></mixed-citation></ref>
<ref id="r22"><mixed-citation>Poley, C. (2022, November 28&#x2013;December 2). <italic>Insight into the machine-based subject cataloguing at the German National Library</italic>. [Conference presentation]. SWIB22 Online Conference - 14th Semantic Web in Libraries Conference. <ext-link ext-link-type="uri" xlink:href="https://swib.org/swib22/slides/20221201_poley_dnb_final.pdf">https://swib.org/swib22/slides/20221201_poley_dnb_final.pdf</ext-link></mixed-citation></ref>
<ref id="r23"><mixed-citation>Precision and recall. (2024, October 2). In <italic>Wikipedia</italic>. <ext-link ext-link-type="uri" xlink:href="https://en.wikipedia.org/w/index.php?title=Precision_and_recall&amp;oldid=1249020015">https://en.wikipedia.org/w/index.php?title&#x003D;Precision_and_recall&#x0026;oldid&#x003D;1249020015</ext-link></mixed-citation></ref>
<ref id="r24"><mixed-citation>Sch&#x00F6;ning-Walter, C. (2010). PETRUS &#x2013; Prozessunterst&#x00FC;tzende Software F&#x00FC;r Die Digitale Deutsche Nationalbibliothek. <italic>Dialog mit Bibliotheken</italic>, <italic>22</italic>(1), 15&#x2013;19. <ext-link ext-link-type="uri" xlink:href="https://nbn-resolving.org/urn%3Anbn%3Ade%3A101-2011012844">https://nbn-resolving.org/urn:nbn:de:101-2011012844</ext-link></mixed-citation></ref>
<ref id="r25"><mixed-citation>Serrano, L. G. (2021). <italic>Grokking machine learning</italic>. Manning.</mixed-citation></ref>
<ref id="r26"><mixed-citation>Stahl, P. M. (2024). <italic>Lingua</italic> (Version 1.2.2) [Computer software]. <ext-link ext-link-type="uri" xlink:href="https://github.com/pemistahl/lingua">https://github.com/pemistahl/lingua</ext-link></mixed-citation></ref>
<ref id="r27"><mixed-citation>Suominen, O. (2019). Annif - DIY automated subject indexing using multiple algorithms. <italic>LIBER Quarterly</italic>, <italic>29</italic>(1), 1&#x2013;25. <ext-link ext-link-type="doi" xlink:href="10.18352/lq.10285">https://doi.org/10.18352/lq.10285</ext-link></mixed-citation></ref>
<ref id="r28"><mixed-citation>Suominen, O., Inkinen, J., Virolainen, T., F&#x00FC;rneisen, M., Kinoshita, B. P., Veldhoen, S., Sj&#x00F6;berg, M., Zumstein, P., Neatherway, R., &#x0026; Lehtinen, M. (2024). <italic>Annif</italic> (Version 1.1.0) [Computer software]. National Library of Finland. <ext-link ext-link-type="doi" xlink:href="10.5281/zenodo.2578948">https://doi.org/10.5281/zenodo.2578948</ext-link></mixed-citation></ref>
<ref id="r29"><mixed-citation>Support vector machine. (2024, August 26). In <italic>Wikipedia</italic>. <ext-link ext-link-type="uri" xlink:href="https://en.wikipedia.org/w/index.php?title=Support_vector_machine&amp;oldid=1242363493">https://en.wikipedia.org/w/index.php?title&#x003D;Support_vector_machine&#x0026;oldid&#x003D;1242363493</ext-link></mixed-citation></ref>
<ref id="r30"><mixed-citation>Toepfer, M., &#x0026; Seifert, C. (2020). Fusion architectures for automatic subject indexing under concept drift. Analysis and empirical results on short texts. <italic>International Journal on Digital Libraries</italic>, <italic>21</italic>, 169&#x2013;189. <ext-link ext-link-type="doi" xlink:href="10.1007/S00799-018-0240-3">https://doi.org/10.1007/S00799-018-0240-3</ext-link></mixed-citation></ref>
<ref id="r31"><mixed-citation>Uhlmann, S. (2013). Automatische Beschlagwortung von deutschsprachigen Netzpublikationen mit dem Vokabular der Gemeinsamen Normdatei (GND). <italic>Dialog mit Bibliotheken</italic>, <italic>25</italic>(2), 26&#x2013;36. <ext-link ext-link-type="uri" xlink:href="https://nbn-resolving.org/urn%3Anbn%3Ade%3A101-20140305238">https://nbn-resolving.org/urn:nbn:de:101-20140305238</ext-link></mixed-citation></ref>
<ref id="r32"><mixed-citation>Uhlmann, S., &#x0026; Grote, C. (2021, November 29&#x2013;December 3). <italic>Automatic subject indexing with Annif at the German National Library (DNB)</italic> [Conference presentation]. SWIB21 Online Conference &#x2013; 13th Semantic Web in Libraries Conference. <ext-link ext-link-type="uri" xlink:href="https://swib.org/swib21/slides/03-02-uhlmann.pdf">https://swib.org/swib21/slides/03-02-uhlmann.pdf</ext-link></mixed-citation></ref>
<ref id="r33"><mixed-citation>Wagner, N. (2024). <italic>pica-rs</italic> (Version 0.25.0) [Computer software]. German National Library. <ext-link ext-link-type="uri" xlink:href="https://github.com/deutsche-nationalbibliothek/pica-rs">https://github.com/deutsche-nationalbibliothek/pica-rs</ext-link></mixed-citation></ref>
</ref-list>
</back>
</article>