spaCy ( ) és una biblioteca de programari de codi obert per al processament avançat del llenguatge natural, escrita en els llenguatges de programació Python i Cython. La biblioteca es publica sota la llicència MIT i els seus principals desenvolupadors són Matthew Honnibal i Ines Montani, els fundadors de l'empresa de programari Explosion.
A diferència de NLTK, que s'utilitza àmpliament per a la docència i la recerca, spaCy se centra en proporcionar programari per a ús en producció. spaCy també admet fluxos de treball d'aprenentatge profund que permeten connectar models estadístics entrenats per biblioteques d'aprenentatge automàtic populars com TensorFlow, PyTorch o MXNet a través de la seva pròpia biblioteca d'aprenentatge automàtic Thinc. Utilitzant Thinc com a backend, spaCy presenta models de xarxes neuronals convolucionals per a l'etiquetatge de categories gramaticals, l'anàlisi de dependències, la categorització de text i el reconeixement d'entitats amb nom (NER). Hi ha models de xarxes neuronals estadístiques preconstruïts per realitzar aquestes tasques disponibles per a 23 idiomes, inclosos l'anglès, el portuguès, el castellà, el rus i el xinès, i també hi ha un model NER multilingüe. La compatibilitat addicional amb la tokenització per a més de 65 idiomes permet als usuaris entrenar models personalitzats en els seus propis conjunts de dades.
Història La versió 1.0 es va publicar el 19 d'octubre de 2016 i incloïa suport preliminar per a fluxos de treball d'aprenentatge profund mitjançant la compatibilitat amb pipelines de processament personalitzades. A més, incloïa un comparador de regles que admetia anotacions d'entitats i una API d'entrenament documentada oficialment. La versió 2.0 es va publicar el 7 de novembre de 2017 i va introduir models de xarxes neuronals convolucionals per a 7 idiomes diferents. També admetia components de canalització de processament personalitzats i atributs d'extensió, i incloïa un component de classificació de text entrenable integrat. La versió 3.0 es va publicar l'1 de febrer de 2021 i va introduir pipelines basats en transformadors d'última generació. També va introduir un nou sistema de configuració i flux de treball d'entrenament, així com pistes de tipus i plantilles de projecte. Aquesta versió va deixar de ser compatible amb Python 2.
Característiques principals Tokenització no destructiva Compatibilitat amb la "tokenització alfabètica" per a més de 65 idiomes Suport integrat per a components de pipeline entrenables, com ara el reconeixement d'entitats amb nom, l'etiquetatge de categories gramaticals, l'anàlisi de dependències, la classificació de text, l'enllaç d'entitats i més. Models estadístics per a 19 idiomes Aprenentatge multitasca amb transformadors preentrenats com BERT Suport per a models personalitzats a PyTorch, TensorFlow i altres frameworks Velocitat i precisió d'última generació Sistema de formació llest per a la producció Visualitzadors integrats per a la sintaxi i les entitats amb nom Empaquetatge, desplegament i gestió del flux de treball de models fàcils
Extensions i visualitzadors alt=Dependency parse tree visualization generated with the displaCy visualizer|miniatura|500x500px|Visualització d'arbre d'anàlisi sintàctica de dependències generada amb el visualitzador displaCy spaCy inclou diverses extensions i visualitzacions disponibles com a biblioteques gratuïtes i de codi obert:
Thinc: Una biblioteca d'aprenentatge automàtic optimitzada per a l'ús de la CPU i l'aprenentatge profund amb entrada de text. sense2vec: Una biblioteca per calcular similituds de paraules, basada en Word2vec. displaCy: Un visualitzador d'arbre d'anàlisi sintàctica de dependències de codi obert construït amb JavaScript, CSS i SVG. displaCyENT: Un visualitzador d'entitats amb nom de codi obert construït amb JavaScript i CSS.
Referències
Categoria:Programari Categoria:Python Categoria:Processament de llenguatge natural