spaCy

Libreria per l'elaborazione del linguaggio naturale

spaCy è una libreria open source per l'elaborazione del linguaggio naturale, scritta in Python e Cython[1][2]. La libreria è rilasciata sotto licenza MIT ed attualmente implemeta modelli statistici di reti neurali in inglese, tedesco, spagnolo, portoghese, francese, italiano, olandese e greco; inoltre offre funzionalità di NER e di tokenizzazione per diverse altre lingue[3].

SpaCy
software
Logo
Logo
GenereElaborazione del linguaggio naturale
SviluppatoreExplosion AI
Data prima versionefebbraio 2015
Ultima versione3.7.4 (15 febbraio 2024)
Sistema operativoLinux
Microsoft Windows
macOS
OS X
LinguaggioPython
Licenzalicenza MIT
(licenza libera)
Sito webspacy.io

A differenza della suite NLTK, che è ampiamente utilizzata nel campo della ricerca e della didattica, spaCy è particolarmente adatto alla realizzazione di applicazioni software destinate alla produzione[4][5]. A partire dalla versione 1.0, spaCy supporta analisi basate sull'apprendimento profondo[6], consentendo di impiegare modelli statistici addestrati utilizzando librerie per l'apprendimento automatico quali TensorFlow, Keras, Scikit-learn e PyTorch[7]. Inoltre la libreria di apprendimento automatico di spaCy, denominata Thinc, è disponibile come libreria open source per Python.

Storia modifica

La versione 1.0 è stata rilasciata il 19 ottobre 2016 e includeva il supporto preliminare per i flussi di lavoro di deep learning supportando pipeline di elaborazione personalizzate.[8] Includeva inoltre un matcher di regole che supportava le annotazioni di entità e un'API di formazione ufficialmente documentata.

La versione 2.0 è stata rilasciata il 7 novembre 2017 e ha introdotto modelli di rete neurale convoluzionale per 7 lingue diverse.[9] Supportava anche componenti di pipeline di elaborazione personalizzati e attributi di estensione e presentava un componente di classificazione del testo addestrabile integrato.

La versione 3.0 è stata rilasciata il 1º febbraio 2021 e ha introdotto pipeline all'avanguardia basate su trasformatori.[10] Ha inoltre introdotto un nuovo sistema di configurazione e flusso di lavoro di formazione, oltre a suggerimenti sui tipi e modelli di progetto. Questa versione ha abbandonato il supporto per Python 2.

Note modifica

  1. ^ Choi et al. (2015). It Depends: Dependency Parser Comparison Using A Web-based Evaluation Tool.
  2. ^ Google’s new artificial intelligence can’t understand these sentences. Can you?, su Washington Post. URL consultato il 18 dicembre 2016.
  3. ^ Models & Languages | spaCy Usage Documentation, su spacy.io. URL consultato l'8 novembre 2017.
  4. ^ (EN) Facts & Figures - spaCy, su spacy.io. URL consultato l'8 novembre 2017.
  5. ^ Steven Bird, Klein, Ewan, Loper, Edward e Baldridge, Jason, Multidisciplinary instruction with the Natural Language Toolkit (PDF), in Proceedings of the Third Workshop on Issues in Teaching Computational Linguistics, ACL, 2008.
  6. ^ explosion/spaCy, su GitHub. URL consultato il 18 dicembre 2016.
  7. ^ Facts & Figures | spaCy Usage Documentation, su spacy.io. URL consultato l'8 novembre 2017.
  8. ^ explosion/spaCy, su GitHub. URL consultato l'8 febbraio 2021.
  9. ^ Jeremy Howard, Sylvain Gugger, Deep Learning for Coders with fastai and PyTorch, O'Reilly, 2020, ISBN 978-1492045526.
  10. ^ explosion/spaCy, su GitHub. URL consultato l'8 febbraio 2021.

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica