NLP: una guida completa [parte 3]

Quali sono i modelli NLP che hanno fatto la storia? In questa guida scopriremo alcuni di questi oltre ad una panoramica delle librerie più utilizzate per sviluppare i modelli. Infine, tratteremo alcune controversie che sono nate in questo campo.

Share

Tempo di lettura: 5 minuti

Negli articoli precedenti, NLP: una guida completa [parte 1] e NLP: una guida completa [parte 2], abbiamo introdotto cos’è l’elaborazione del linguaggio naturale, le sue possibili applicazioni e le tecniche principali usate per manipolare il testo e generare dei modelli. Per concludere questa panoramica esploreremo alcuni dei modelli più importanti e quali linguaggi di programmazione e librerie utilizzare per gestire e generare dei modelli NLP. Infine, affronteremo alcune controversie che si stanno affermando relativamente all’impiego di questi modelli.

Sei importanti modelli di elaborazione del linguaggio naturale

Nel corso degli anni, molti modelli di NLP hanno fatto scalpore all’interno della comunità dell’IA e alcuni sono finiti sulle prime pagine dei giornali. I più famosi sono stati i chatbot e i modelli linguistici. Eccone alcuni.

Eliza

Questo software è stato sviluppato a metà degli anni Sessanta per tentare di risolvere il Test di Turing, ossia per ingannare le persone facendogli credere che stanno conversando con un altro essere umano e non con una macchina. Eliza utilizzava il confronto di modelli e una serie di regole senza codificare il contesto del linguaggio.

Tay

Questo era il primo chatbot lanciato da Microsoft nel 2016. Doveva twittare come un adolescente e imparare dalle conversazioni con utenti reali su Twitter. Il bot ha adottato frasi di utenti che hanno twittato commenti sessisti e razzisti e Microsoft lo ha disattivato non molto tempo dopo. Tay illustra alcuni punti del documento “Stochastic Parrots”, in particolare il pericolo di non analizzare i dati.

BERT

Molti modelli di deep learning per l’NLP prendono il nome dai personaggi dei Muppet, tra cui ELMo, BERT, Big BIRD, ERNIE, Kermit, Grover, RoBERTa e Rosita. La maggior parte di questi modelli è in grado di fornire incorporazioni contestuali e una migliore rappresentazione della conoscenza.

Generative Pre-Trained Transformer 3 (GPT-3)

GPT-3 è un modello da 175 miliardi di parametri in grado di scrivere prosa originale con una fluidità equivalente a quella umana in risposta a una richiesta di input. Il modello si basa sull’architettura del trasformatore. La versione precedente, GPT-2, è open source. Microsoft ha acquisito una licenza esclusiva per l’accesso al modello sottostante di GPT-3 dal suo sviluppatore OpenAI, ma altri utenti possono interagire con esso tramite un’interfaccia di programmazione delle applicazioni (API). Diversi gruppi, tra cui EleutherAI e Meta, hanno rilasciato interpretazioni open source del GPT-3. Ad oggi la sua versione GPT-4 (solo a pagamento) viene utilizzata in molti contesti applicativi.

Language Model for Dialogue Applications (LaMDA)

LaMDA è un chatbot conversazionale sviluppato da Google. Il suo modello è basato su trasformatori addestrati sul dialogo piuttosto che sul solito testo web. Il sistema mira a fornire risposte sensate e specifiche alle conversazioni. Blake Lemoine, sviluppatore di Google, è arrivato a credere che LaMDA sia senziente. Lemoine ha avuto conversazioni dettagliate con l’intelligenza artificiale sui suoi diritti e sulla sua personalità. Durante una di queste conversazioni, l’IA ha fatto cambiare idea a Lemoine sulla terza legge della robotica di Isaac Asimov. Lemoine ha affermato che LaMDA era senziente, ma l’idea è stata contestata da molti osservatori e commentatori. In seguito, Google ha messo Lemoine in congedo amministrativo per aver distribuito informazioni proprietarie e infine lo ha licenziato.

Miscela di esperti (MoE)

Mentre la maggior parte dei modelli di deep learning utilizza lo stesso insieme di parametri per elaborare ogni input, i modelli MoE mirano a fornire parametri diversi per input diversi basati su algoritmi di routing efficienti per ottenere prestazioni più elevate. Switch Transformer è un esempio di approccio MoE che mira a ridurre i costi di comunicazione e di calcolo.

Linguaggi di programmazione, librerie e framework per l’elaborazione del linguaggio naturale

Molti linguaggi e librerie supportano l’NLP. Ecco alcuni dei più utilizzati.

Python

È sicuramente il linguaggio di programmazione più utilizzato per gestire i compiti di NLP. La maggior parte delle librerie e dei framework per il deep learning sono scritti per Python. Eccone alcune librerie molto utili se si vuole lavorare in questo campo.

Natural Language Toolkit (NLTK)

È una delle prime librerie NLP scritte in Python. Fornisce interfacce facili da usare per i corpora e le risorse lessicali come WordNet. Fornisce inoltre una suite di librerie di elaborazione del testo per la classificazione, il tagging, lo stemming, il parsing e il ragionamento semantico.

spaCy

spaCy è una delle librerie NLP open source più versatili in quanto supporta più di 66 lingue. Fornisce anche vettori di parole pre-addestrati e implementa molti modelli popolari come BERT. Può essere utilizzato per costruire sistemi pronti per la produzione per il riconoscimento di entità denominate, il tagging part-of-speech, il parsing delle dipendenze, la segmentazione delle frasi, la classificazione del testo, la lemmatizzazione, l’analisi morfologica e il riconoscimento di entità.

Librerie di deep learning

Le più diffuse librerie di deep learning includono TensorFlow e PyTorch, che facilitano la creazione di modelli con caratteristiche come la differenziazione automatica. Queste librerie sono gli strumenti più comuni per lo sviluppo di modelli NLP.

Hugging Face

Questa piattaforma offre implementazioni open-source di oltre 135 modelli all’avanguardia. Il repository consente una facile personalizzazione e definizione di modelli.

Gensim

Questa libreria fornisce algoritmi di modellazione dello spazio vettoriale e di topic modeling.

R

Molti dei primi modelli di NLP sono stati scritti in R che è ancora ampiamente utilizzato dai data scientists e dagli statistici. Le librerie in R per l’NLP includono TidyText, Weka, Word2Vec, SpaCyR, TensorFlow e PyTorch. Nonostante ciò le prestazioni di questo linguaggio rispetto a Python sono nettamente inferiori.

Molti altri linguaggi, tra cui JavaScript, Java e Julia, dispongono di librerie che implementano metodi NLP.

Controversie sull’elaborazione del linguaggio naturale

L’NLP è stata al centro di numerose controversie. Alcune sono incentrate direttamente sui modelli e sui loro risultati, altre su questioni di secondo ordine, come l’accesso a questi sistemi e l’impatto della loro formazione sul mondo naturale.

Pappagalli stocastici

Un articolo del 2021 intitolato “On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?” di Emily Bender, Timnit Gebru, Angelina McMillan-Major e Margaret Mitchell esamina come i modelli linguistici possano ripetere e amplificare i pregiudizi riscontrati nei loro dati di addestramento. Gli autori sottolineano che gli enormi set di dati non curati, raccolti dal web, sono destinati a includere pregiudizi sociali e altre informazioni indesiderate, e i modelli che vengono addestrati su di essi assorbiranno questi difetti. I ricercatori invocano una maggiore attenzione nella cura e nella documentazione dei dataset, valutando l’impatto potenziale di un modello prima del suo sviluppo e incoraggiando la ricerca in direzioni diverse dalla progettazione di architetture sempre più grandi per ingerire dataset sempre più grandi.

Coerenza contro sensibilità

Di recente, un ingegnere di Google incaricato di valutare il modello linguistico LaMDA è rimasto talmente colpito dalla qualità della sua produzione di chat da credere che fosse senziente. L’errore di attribuire alle IA un’intelligenza simile a quella umana risale ad alcuni dei primi esperimenti di PNL.

Impatto ambientale

I modelli linguistici di grandi dimensioni richiedono molta energia sia per l’addestramento che per l’inferenza. Uno studio ha stimato che l’addestramento di un singolo modello linguistico di grandi dimensioni può emettere una quantità di anidride carbonica cinque volte superiore a quella di una singola automobile nel corso della sua vita operativa. Un altro studio ha rilevato che i modelli consumano ancora più energia durante l’inferenza che durante l’addestramento. Per quanto riguarda le soluzioni, i ricercatori hanno proposto l’uso di server cloud situati in Paesi con molta energia rinnovabile come un modo per compensare questo impatto.

I costi elevati escludono i ricercatori non aziendali

I requisiti computazionali necessari per addestrare o distribuire modelli linguistici di grandi dimensioni sono troppo costosi per molte piccole aziende. Alcuni esperti temono che questo possa bloccare molti ingegneri capaci dal contribuire all’innovazione nell’IA.

Scatola nera

Quando un modello di deep learning produce un output, è difficile o impossibile sapere perché ha generato quel particolare risultato. Mentre i modelli tradizionali come la regressione logistica consentono agli ingegneri di esaminare l’impatto delle singole caratteristiche sull’output, i metodi di rete neurale nell’elaborazione del linguaggio naturale sono essenzialmente delle scatole nere. Tali sistemi sono detti “non spiegabili”, poiché non possiamo spiegare come siano arrivati al loro risultato. Un approccio efficace per ottenere l’interpretabilità dei modelli è particolarmente importante in settori come quello bancario, dove le autorità di regolamentazione vogliono confermare che un sistema di elaborazione del linguaggio naturale non discrimini alcuni gruppi di persone, e quello delle forze dell’ordine, dove i modelli addestrati su dati storici possono perpetuare pregiudizi storici contro alcuni gruppi.

“Assurdità sui trampoli”

Lo scrittore Gary Marcus ha criticato l’NLP basato sul deep learning per la generazione di un linguaggio sofisticato che induce gli utenti a credere che gli algoritmi di linguaggio naturale capiscano ciò che dicono e a ritenere erroneamente che siano capaci di ragionamenti più sofisticati di quelli attualmente possibili.

More To Explore

Intelligenza artificiale

Sentiment Analysis e Topic Modeling: cosa dicono davvero i tuoi clienti

Hai 200 recensioni, 500 ticket di supporto, 1.000 commenti. Leggerli tutti richiederebbe giorni — e alla fine non saresti neanche sicuro di aver colto i pattern più importanti. Sentiment Analysis e Topic Modeling risolvono esattamente questo: in dieci minuti identifichi il tono emotivo di ogni testo, raggruppi i temi ricorrenti e ottieni una sintesi strategica che la lettura manuale non avrebbe mai prodotto.

Intelligenza artificiale

AI Multimodale: analizza PDF, immagini e documenti con Claude, GPT-4 e Gemini

L’AI non legge più solo testo. Claude riassume un preventivo di 10 pagine in 30 secondi. GPT-4 Vision trascrive i dati da uno screenshot di dashboard in formato tabella pronta all’uso. Gemini 1.5 Pro naviga documenti da 1.000 pagine citando le fonti. Questa guida mostra come funzionano, quando usare quale tool e dove il risparmio di tempo è misurabile — con screenshot reali di sessioni operative.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Progetta con MongoDB!!!

Acquista il nuovo libro che ti aiuterà a usare correttamente MongoDB per le tue applicazioni. Disponibile ora su Amazon!