spaCy ( / speɪ ˈsiː / spay- SEE ) ist eine Open-Source - Softwarebibliothek für fortgeschrittene Verarbeitung natürlicher Sprache , geschrieben in den Programmiersprachen Python und Cython . [ 3 ] [ 4 ] Die Bibliothek wird unter der MIT-Lizenz veröffentlicht und ihre Hauptentwickler sind Matthew Honnibal und Ines Montani , die Gründer des Softwareunternehmens Explosion.
Im Gegensatz zu NLTK , das in Lehre und Forschung weit verbreitet ist, konzentriert sich spaCy auf die Bereitstellung von Software für den Produktiveinsatz. [ 5 ] [ 6 ] spaCy unterstützt zudem Deep-Learning- Workflows, die es ermöglichen, statistische Modelle, die mit gängigen Machine-Learning- Bibliotheken wie TensorFlow , PyTorch oder MXNet trainiert wurden , über die eigene Machine-Learning-Bibliothek Thinc zu verbinden. [ 7 ] [ 8 ] Mit Thinc als Backend bietet spaCy Convolutional-Neural-Network- Modelle für Part-of-Speech-Tagging , Dependency Parsing , Textkategorisierung und Named Entity Recognition (NER) . Vorgefertigte statistische neuronale Netzwerkmodelle für diese Aufgaben sind für 23 Sprachen verfügbar, darunter Englisch, Portugiesisch, Spanisch, Russisch und Chinesisch. Zusätzlich gibt es ein mehrsprachiges NER-Modell . Die Unterstützung für Tokenisierung in über 65 Sprachen ermöglicht es Nutzern außerdem, eigene Modelle mit ihren eigenen Datensätzen zu trainieren. [ 9 ]
Geschichte
- Version 1.0 wurde am 19. Oktober 2016 veröffentlicht und bot erste Unterstützung für Deep-Learning-Workflows durch die Unterstützung benutzerdefinierter Verarbeitungspipelines. [ 10 ] Sie enthielt außerdem einen Regelabgleich, der Entitätsannotationen unterstützte , sowie eine offiziell dokumentierte Trainings-API.
- Version 2.0 wurde am 7. November 2017 veröffentlicht und führte Convolutional-Neural-Network-Modelle für 7 verschiedene Sprachen ein. [ 11 ] Sie unterstützte außerdem benutzerdefinierte Verarbeitungspipeline-Komponenten und Erweiterungsattribute und verfügte über eine integrierte, trainierbare Textklassifizierungskomponente .
- Version 3.0 wurde am 1. Februar 2021 veröffentlicht und führte hochmoderne, auf Transformer basierende Pipelines ein. [ 12 ] Außerdem wurden ein neues Konfigurationssystem und ein Trainings-Workflow sowie Typhinweise und Projektvorlagen eingeführt. Die Unterstützung für Python 2 wurde in dieser Version eingestellt .
Hauptmerkmale
- Zerstörungsfreie Tokenisierung
- Unterstützung für „Alpha-Tokenisierung“ in über 65 Sprachen [ 13 ]
- Integrierte Unterstützung für trainierbare Pipeline-Komponenten wie Named Entity Recognition , Part-of-Speech-Tagging , Dependency Parsing, Textklassifizierung , Entity Linking und mehr.
- Statistische Modelle für 19 Sprachen [ 14 ]
- Multitasking-Lernen mit vortrainierten Transformatoren wie BERT
- Unterstützung für benutzerdefinierte Modelle in PyTorch, TensorFlow und anderen Frameworks
- Höchste Geschwindigkeit und Genauigkeit [ 15 ]
- Produktionsreifes Trainingssystem
- Integrierte Visualisierungsfunktionen für Syntax und benannte Entitäten
- Einfaches Modellpaket, Bereitstellung und Workflow-Management
Erweiterungen und Visualisierer

spaCy wird mit mehreren Erweiterungen und Visualisierungen geliefert, die als kostenlose Open-Source -Bibliotheken verfügbar sind:
- Thinc: Eine Machine-Learning- Bibliothek, optimiert für CPU- Auslastung und Deep Learning mit Texteingabe.
- sense2vec: Eine Bibliothek zur Berechnung von Wortähnlichkeiten, basierend auf Word2vec . [ 16 ]
- displaCy: Ein Open-Source -Visualisierer für Abhängigkeitsstrukturen , entwickelt mit JavaScript , CSS und SVG .
- displaCy ENT : Ein Open-Source -Visualisierer für benannte Entitäten, entwickelt mit JavaScript und CSS .
Siehe auch
Referenzen
- ^ „Einführung von spaCy“ . explosion.ai. 19. Februar 2015. Abgerufen am 18. Dezember 2016 .
- ^ „Version 3.8.4“ . 14. Januar 2025. Abgerufen am 29. Januar 2025 .
- ^ Choi et al. (2015). Es kommt darauf an: Vergleich von Abhängigkeitsparsern mithilfe eines webbasierten Evaluierungstools .
- ^ „Googles neue künstliche Intelligenz kann diese Sätze nicht verstehen. Können Sie es?“ Washington Post . Abgerufen am 18.12.2016 .
- ^ „Fakten & Zahlen – spaCy“ . spacy.io . Abgerufen am 04.04.2020 .
- ^ Bird, Steven; Klein, Ewan; Loper, Edward; Baldridge, Jason (2008). „Multidisziplinärer Unterricht mit dem Natural Language Toolkit“ (PDF) . Proceedings of the Third Workshop on Issues in Teaching Computational Linguistics, ACL : 62. doi : 10.3115/1627306.1627317 . ISBN 9781932432145. S2CID 16932735 .
- ^ „PyTorch, TensorFlow & MXNet“ . thinc.ai . Abgerufen am 4. April 2020 .
- ^ „Explosion/thinc“ . GitHub . Abgerufen am 30.12.2016 .
- ^ „Modelle & Sprachen | spaCy-Nutzungsdokumentation“ . spacy.io . Abgerufen am 10.03.2020 .
- ^ "explosion/spaCy" . GitHub . Abgerufen am 08.02.2021 .
- ^ "explosion/spaCy" . GitHub . Abgerufen am 08.02.2021 .
- ^ "explosion/spaCy" . GitHub . Abgerufen am 08.02.2021 .
- ^ „Modelle & Sprachen – spaCy“ . spacy.io . Abgerufen am 8. Februar 2021 .
- ^ „Modelle & Sprachen | spaCy-Nutzungsdokumentation“ . spacy.io . Abgerufen am 8. Februar 2021 .
- ^ „Benchmarks | spaCy Usage Documentation“ . spacy.io . Abgerufen am 08.02.2021 .
- ^ Trask et al. (2015). sense2vec - Eine schnelle und genaue Methode zur Wortbedeutungsdisambiguierung in neuronalen Wort-Embeddings .