Analisi

SpaCy, cos’è e come il modulo NPL è utile in azienda  

La libreria SpaCy si distingue per la capacità di estrarre informazioni su larga scala, la velocità e l’accuratezza d’uso e per le estensioni che la completano. Si presta al Deep learning e può avere risvolti di rilievo nelle aziende in cui viene usata

Pubblicato il 30 Nov 2023

spaCy è una libreria open-source per il Natural Language Processing (NLP) in Python. È progettata specificamente per produzioni di larga scala e può essere utilizzata per costruire applicazioni che elaborano e comprendono grandi volumi di testo.

Nata nei laboratori Explosion AI, SpaCy è una libreria con una vocazione per l’elaborazione del linguaggio naturale (Natural Language Processing, Nlp) ed è prelevabile sotto licenza libera. È scritta in Python e Cython, estensione progettata per avere prestazioni tipiche del linguaggio C, più veloce nell’esecuzione del codice.

Oltre a essere di facile istallazione, SpaCy è veloce, accurata e si integra con librerie tipiche dell’apprendimento automatico, quali TensorFlow e Scikit-Learn.

La prima versione risale al 2015, è quindi recente e ha conquistato una posizione grazie alla sua versatilità, è la libreria di riferimento per estrarre valore da grandi volumi di dati e lavora su sistemi operativi Microsoft, Linux e MacOS.

Una libreria è un agglomerato di funzioni, oggetti e moduli che un’applicazione richiama per funzionalità specifiche. È dotata di API che, di norma, non richiedono troppe dipendenze e permette di usare codice già scritto, favorisce quello che viene chiamato “riutilizzo del codice”.

Introduzione a SpaCy e all’elaborazione del NLP

SpaCy è uno strumento particolarmente utile alla preparazione dei dati per il Deep learning e anche per il Nlp, un sottoinsieme dell’Intelligenza artificiale che si occupa di fare in modo che le macchine possano comprendere, interpretare e generare il linguaggio umano nel modo più naturale possibile, emulandone le capacità.

Il risultato più noto costruito grazie alle tecnologie NLP è ChatGPT, l’intelligenza artificiale generativa che più di ogni altra ha dato al grande pubblico un’idea del potenziale di quello che significa comprendere e generare testo.

Come SpaCy può migliorare i processi aziendali

Argomento che approfondiremo più avanti e che qui trattiamo soltanto in modo generico, l’impatto positivo di SpaCy in un contesto aziendale deriva dalla natura stessa della libreria, improntata all’elaborazione di grandi volumi di dati quali, per esempio, il web. Non è obbligatorio scomodare un servizio di internet, SpaCy può essere strumento per un’elaborazione più precisa e rapida dei dati interni all’azienda, a prescindere dalla loro origine.

Raccogliere dati è facile, elaborarli nel modo corretto per estrarne valore è questione ben più complessa. Nell’ambito aziendale propriamente detto SpaCy è molto utile per la classificazione documentale, per il Data mining e per l’estrazione di valore dai dati, tecniche di vitale importanza per le strategie commerciali e industriali in genere.

Cos'è SpaCy e come può essere utile alle aziende

I vantaggi dell’utilizzo di SpaCy per le aziende

Prendiamo in analisi alcuni casi tipici, lasciando in sospeso per il momento l’uso dei chatbot, sul quale torneremo in seguito.

Un’azienda necessita di consultare risorse web per analizzarne i contenuti, scenario classico della sentiment analysis, sistema per l’identificazione di opinioni che permette alle aziende, per esempio, di scandagliare i social alla ricerca di recensioni dei propri servizi o prodotti.

Tali opinioni vanno categorizzate secondo principi decisi a tavolino, supponiamo che siano “pareri negativi”, “pareri neutrali” e “pareri positivi”. Occorre che vengano individuate parole attinenti alle tre categorie affinché le attività di NLP le possano intercettare e classificare nel contenitore pertinente.

Un simile sistema può necessitare di un tuning sintattico e lessicale molto fine, perché alcune parole presenti nelle recensioni possono essere poco rivelatrici nel loro complesso. Per esempio, un utente Facebook può scrivere che è soddisfatto del prodotto ma che non lo consiglierebbe a nessuno, un simile commento non dovrebbe essere archiviato tra i pareri positivi, nonostante gli aggettivi usati nella recensione sembrerebbero tendere in tale direzione.

Inoltre, altro esempio d’uso, SpaCy può essere usata per contrastare i plagi, scandagliando un numero corposo di documenti per cercare affinità lessicali e semantiche.

Questi sono solo due dei molteplici casi di impiego di SpaCy, il cui file rouge è il facilitare e velocizzare quei compiti che l’uomo impiegherebbe molto tempo per svolgere.

Perché implementare SpaCy in azienda

SpaCy sfrutta al meglio la digitalizzazione e spinge le imprese ad abbracciare il digitale nella sua accezione più ampia del termine.

Laddove ci sono compiti automatizzabili SpaCy è una soluzione elastica e potente. Ogni progetto può essere allenato su dati proprietari e condotto passo a passo dalle fasi di test a quella di produzione, tenendo traccia di ogni singola trasformazione. Allo stesso modo, davanti a necessità di verifica o di estrapolazione dei dati, i metodi che mette a disposizione la libreria sono di aiuto a svolgere compiti complicati.

SpaCy si integra con altre librerie e framework, e questo ne fa uno strumento molto duttile capace di rispondere alle esigenze di una vasta gamma di imprese attive in qualsiasi comparto.

L’elemento che contraddistingue la praticità di SpaCy è la facilità con cui si installa, si amministra e si usa.

Come implementare SpaCy in azienda

Pure necessitando dell’intervento di programmatori, l’uso di SpaCy per compiti mediamente complessi è alla portata di chiunque abbia una certa dimestichezza con l’uso degli strumenti digitali. Online si trovano porzioni di codice e modelli che coprono diverse necessità.

Ciò che può risultare macchinoso nell’implementazione di SpaCy è l’ingegnerizzazione dei flussi dei dati. Qualsiasi processo aziendale, così come l’adozione di una qualsivoglia tecnologia, è prima di tutto un esercizio di organizzazione e come tale va svolto:

  • in concerto tra tutti i settori aziendali interessati
  • nel modo più orizzontale possibile
  • stilando un progetto di massima da cesellare a ritroso, laddove il punto di arrivo può essere rappresentato dalla data di consegna del progetto o dagli obiettivi che questo deve centrare. Uno degli errori più classici è cercare di ingegnerizzare un progetto che contempli ogni eventualità, senza arrendersi all’evidenza che, più è grande il progetto, più sarà necessario accettare delle eccezioni che andranno considerate come tali.

Nel caso di SpaCy devono essere chiari gli obiettivi da perseguire e quali dati utilizzare, considerando la loro provenienza (pipeline) o la necessità di concentrarli in un repository.

Spacy e PyTorch

Integrazione di SpaCy con altri strumenti di NLP

Fughiamo subito un dubbio che aleggia per il momento indisturbato e che usiamo per introdurre la possibilità che SpaCy lavori in concerto con altre librerie o framework: SpaCy non è lo strumento più indicato per la traduzione di testo, perché in sé la traduzione non è applicazione strettamente legata al Nlp ma una sua diramazione lungimirante.

Non è il solo ambito in cui SpaCy giova da una collaborazione con altri elementi, a partire dalle già citate Chatbot. Rasa è tra i framework Open source più apprezzati per le AI conversazionali e ha un occhio di riguardo per SpaCy, a cui dedica molte risorse.

La popolarità di SpaCy è in parte dovuta alla facilità con la quale può essere integrato con altri strumenti e piattaforme, tra le quali figurano TensorFlow, Scikit-Learn, PyTorch ma anche Bert.

TensorFlow

Automazione dei processi aziendali con SpaCy

SpaCy è indicato laddove c’è del testo non strutturato, contesto al cui interno si muove con disinvoltura permettendo di automatizzare pressoché qualsiasi attività. L’elenco dei flussi che possono essere consegnati a SpaCy è lungo, ne immaginiamo due:

  • consultazione di una mailbox alla quale vengono recapitate le fatture dei fornitori di un’impresa e relativa registrazione in contabilità individuando la corretta partita contabile, data di scadenza e prodotti o servizi citati nella fattura
  • lettura dei curricula indirizzati all’ufficio risorse umane al fine di creare dei riassunti di quelli in cui sono riportate delle parole confacenti alle posizioni aperte dell’azienda.

Al di là delle eccezioni, SpaCy può essere impiegato per creare automatismi trasversali che coprono ogni esigenza di un’impresa, confrontata con dati di diversa natura e provenienti da qualsivoglia fonte.

Generazione di report o gestione dei dati con SpaCy

La reportistica è parte di vitale importanza, così come lo è la visualizzazione grafica dei dati e dei loro risultati. Si tratta di mappe utili alla fase decisionale e sono redatte affinché siano comprensibili anche a chi non ha conoscenze approfondite di analisi dei dati.

Tra i tanti strumenti disponibili, ce ne sono che restituiscono visualizzazioni (grafici) ma anche profilati nel rendere più facilmente consultabili le metriche e i log delle operazioni svolte da SpaCy, così come strumenti che illustrano le dipendenze e l’individuazione della struttura sintattica delle parole e delle frasi analizzate.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2