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

Erweiterungen und Visualisierer

Visualisierung des Abhängigkeitsbaums, generiert mit dem Visualisierer displaCy
Visualisierung des Abhängigkeitsbaums, generiert mit dem Visualisierer displaCy

spaCy wird mit mehreren Erweiterungen und Visualisierungen geliefert, die als kostenlose Open-Source -Bibliotheken verfügbar sind:

Siehe auch

Referenzen

  1. ^ „Einführung von spaCy“ . explosion.ai. 19. Februar 2015. Abgerufen am 18. Dezember 2016 .
  2. ^ „Version 3.8.4“ . 14. Januar 2025. Abgerufen am 29. Januar 2025 .
  3. ^ Choi et al. (2015). Es kommt darauf an: Vergleich von Abhängigkeitsparsern mithilfe eines webbasierten Evaluierungstools .
  4. ^ „Googles neue künstliche Intelligenz kann diese Sätze nicht verstehen. Können Sie es?“ Washington Post . Abgerufen am 18.12.2016 .
  5. ^ „Fakten & Zahlen – spaCy“ . spacy.io . Abgerufen am 04.04.2020 .
  6. ^ 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 .
  7. ^ „PyTorch, TensorFlow & MXNet“ . thinc.ai . Abgerufen am 4. April 2020 .
  8. ^ „Explosion/thinc“ . GitHub . Abgerufen am 30.12.2016 .
  9. ^ „Modelle & Sprachen | spaCy-Nutzungsdokumentation“ . spacy.io . Abgerufen am 10.03.2020 .
  10. ^ "explosion/spaCy" . GitHub . Abgerufen am 08.02.2021 .
  11. ^ "explosion/spaCy" . GitHub . Abgerufen am 08.02.2021 .
  12. ^ "explosion/spaCy" . GitHub . Abgerufen am 08.02.2021 .
  13. ^ „Modelle & Sprachen – spaCy“ . spacy.io . Abgerufen am 8. Februar 2021 .
  14. ^ „Modelle & Sprachen | spaCy-Nutzungsdokumentation“ . spacy.io . Abgerufen am 8. Februar 2021 .
  15. ^ „Benchmarks | spaCy Usage Documentation“ . spacy.io . Abgerufen am 08.02.2021 .
  16. ^ Trask et al. (2015). sense2vec - Eine schnelle und genaue Methode zur Wortbedeutungsdisambiguierung in neuronalen Wort-Embeddings .