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.
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.
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.
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.