Small-Text provides active learning for text classification. It is designed to offer a robust and modular set of components for both experimental and applied active learning.

Why Small-Text?

  • Interchangeable components: All components are based around the ActiveLearner class. You can mix and match different many initialization strategies, query strategies, and classifiers.

  • Integrations: Optional Integrations allow you to use GPU-based models from the pytorch and transformers libraries.

  • Common patterns: We provide solutions to common challenges when building experiments and/or applications, such as Data Management and Serialization.

  • Multiple scientifically evaluated components are pre-implemented and ready to use (query strategies, initialization strategies, and stopping criteria).

Getting Started


Small-Text has been introduced in detail in the EACL23 System Demonstration Paper Small-Text: Active Learning for Text Classification in Python which can be cited as follows:

    title = "Small-Text: Active Learning for Text Classification in Python",
    author = {Schr{\"o}der, Christopher  and  M{\"u}ller, Lydia  and  Niekler, Andreas  and  Potthast, Martin},
    booktitle = "Proceedings of the 17th Conference of the European Chapter of the Association for Computational Linguistics: System Demonstrations",
    month = may,
    year = "2023",
    address = "Dubrovnik, Croatia",
    publisher = "Association for Computational Linguistics",
    url = "",
    pages = "84--95"


MIT License

Index | Module Index | Search Page