Andorfer, Peter; peter.andorfer@oeaw.ac.at / Schlögl, Matthias; matthias.schloegl@oeaw.ac.at
SpaCy ist eine in Python (Cython) geschriebene Programmbibliothek für natürliche Sprachverarbeitung (NLP). Im Gegensatz zu dem ebenfalls in Python implementierten NLP-Framework NLTK, das auf Forschung und Lehre fokussiert, will spaCy Lösungen für die Industrie bereitstellen. Dafür wird eine saubere und einfach zu verwendende API bereitgestellt, die sich auf die performante Erledigung von Standard-NLP-Aufgaben konzentriert. SpaCy stellt momentan Sprachmodelle für zehn Sprachen in verschiedenen Ausbaustufen zur Verfügung und erlaubt – je nach Modell – Tokenizing, Sentence Splitting, Tagging, Parsing, Named Entity Recognition und Word Similarity Calculations. Zudem erlaubt spaCy die relativ einfache Erweiterung der Kernfunktionen. So können etwa in der spaCy-Pipeline auch externe Komponenten aufgerufen oder in der Tokenklasse Custom Attributes registriert werden (eine Anwendungsmöglichkeit, die z. B. acdh-spacytei nutzt).
Ein Großteil der von spaCy zur Verfügung gestellten Modelle, Klassen und Funktionen basiert auf Deep-Learning-Technologien. Neben der Python-Bibliothek stellt spaCy auch Shell-Skripte zur Verfügung, mit deren Hilfe neue Modelle auf Basis eigener Trainingsdaten erstellt sowie bestehende Modelle weiter trainiert werden können.