PangeaMT Masker
PangeaMT Masker
Featured Image

8 lettura minuti

03/09/2024

Word embeddings : Una guida facile da capire

LinkedIn, post sui blog e social media sono pieni di contenuti che descrivono come i word embeddings siano la base per GenAI - la pietra angolare di tutto ciò che riguarda l'AI. Se parli con un ingegnere di machine learning, uno data scientist o un matematico, è probabile che trovi il concetto di "word embeddings" dietro gran parte della scienza NLP e dell'IA generativa che ci circonda dalla fine del 2022 e le increspature di cambiamento che ha inviato attraverso il mondo come lo conoscevamo.

Se nel 2021 avevamo previsto che "l'IA leggerà il testo per scoprire informazioni per te", questa affermazione si basava sulla comprensione di come funzionavano i word embeddings e sui primi esperimenti.

I word embeddings sono rappresentazioni numeriche di parole in uno spazio vettoriale ad alta dimensione. Catturano le relazioni semantiche tra le parole in base ai loro modelli di utilizzo in grandi corpora di testo. Ma non tutti hanno un background ingegneristico o matematico per comprendere.

Come traduttore, capisci che le parole hanno significati e relazioni complesse. I word embeddings sono un modo per rappresentare matematicamente queste complessità, che aiutano i computer a elaborare e comprendere il linguaggio più come fanno gli esseri umani.

imagen (2)

Immagina uno spazio vasto e multidimensionale in cui ogni parola in una lingua è rappresentata da un punto unico. Questo punto è definito da un elenco di numeri (un vettore). Parole con significati o modelli di utilizzo simili finiscono più vicine in questo spazio.

Ad esempio, "cane" e "gatto" potrebbero essere relativamente vicini in questo spazio perché sono entrambi animali domestici comuni. "Felino" sarebbe molto vicino a "gatto", mentre "automobile" sarebbe lontano da entrambi.

Queste rappresentazioni sono create analizzando enormi quantità di testo (corpora) per vedere come le parole vengono utilizzate nel contesto. Se due parole appaiono spesso in contesti simili, il computer presume che siano correlate e le posiziona più vicine in questo spazio matematico.

Per un traduttore, questo concetto è prezioso perché:

  1. Aiuta a catturare le sfumature di significato che potrebbero esistere tra le lingue.
  2. Può suggerire sinonimi o parole correlate che potrebbero essere utili nella traduzione 
  3.  Costituisce la base di molti moderni sistemi di traduzione automatica.

Comprendere i word embeddings può darti un'idea di come funzionano gli strumenti di traduzione automatica e perché fanno certe scelte nelle traduzioni.

Questi sono alcuni punti di base per ulteriori letture sui word embeddings:

  1. Rappresentazione vettoriale: Ogni parola è rappresentata come un vettore denso di numeri reali. 
  2. Similarità semantica: Le parole con significati simili sono posizionate più vicine nello spazio vettoriale.
  3. Dimensionalità: Tipicamente variano da 50 a 300 dimensioni, consentendo una ricca rappresentazione delle relazioni tra parole.
  4. Utilizzi: Comuni nelle attività di natural language processing come la traduzione automatica, l'analisi del sentiment e la classificazione del testo.
  5. Metodi di training: Possono essere creati utilizzando tecniche come Word2Vec, GloVe o FastText. 
  6. Analogie: Possono catturare relazioni semantiche, consentendo operazioni come "re - uomo + donna = regina".

Come vengono addestrati i word embeddings?

I word embeddings sono in genere addestrati su grandi corpora di testo. Il principio sottostante è che le parole che appaiono in contesti simili tendono ad avere significati simili.

Esistono due metodi di training popolari:

  1. Continuous Bag of Words (CBOW): Predice una parola target in base alle parole del contesto.
  2. Skip-gram: Predice le parole di contesto data una parola target.

Proprietà e funzionalità dei word embeddings

  • Composizionalità: I vettori di parole possono essere combinati (ad esempio, mediando) per rappresentare frasi o periodi. Questa è una grande caratteristica per andare oltre il livello della parola al livello della frase o del paragrafo, quindi "trasmettendo un messaggio". 
  • Embeddings cross-lingual: Questo è molto interessante per la traduzione automatica o per trasferire conoscenze da una lingua all'altra in quanto l'embedding di parole può mappare parole da diverse lingue in uno spazio vettoriale condiviso (diciamo il concetto di "auto" e "coche" in spagnolo europeo o "carro" in spagnolo latinoamericano, il concetto di "automobile" e "automóvil", "mezzi di trasporto" e "medio de transporte", ecc.)
  • Gestione di parole fuori dal vocabolario: Alcuni modelli come FastText possono generare embeddings per parole non viste basate su informazioni di sotto-parole. Ottimo quando affronti nuove parole come "Fitfluencer".

Limitazioni dei word embeddings

Polisemia: I word embeddings standard faticano con parole che hanno significati multipli, il fenomeno delle parole che hanno significati diversi e distinti.

I modelli tradizionali di word embedding come Word2Vec o GloVe assegnano un singolo vettore a ogni parola, indipendentemente dai suoi potenziali significati multipli. Questo approccio porta alla confusione del significato, dove il vettore diventa una rappresentazione media di tutti i possibili sensi della parola. Di conseguenza, l'embedding potrebbe non rappresentare accuratamente un singolo significato, diluendo la precisione semantica della rappresentazione.

Il problema è aggravato dalla natura insensibile al contesto di questi embeddings. Nel linguaggio naturale, il significato intenzionale di una parola polisemica è spesso determinato dal contesto circostante. I word embeddings standard, tuttavia, non tengono conto di queste informazioni contestuali, portando a potenziali interpretazioni errate nelle applicazioni a valle.

Considerate parole come "banca", che potrebbe riferirsi a un istituto finanziario o alla riva di un fiume, o "pianta", che potrebbe significare vegetazione o un impianto industriale. In questi casi, il word embedding fatica a differenziare tra questi significati distinti, portando potenzialmente a errori in attività come la traduzione automatica, il recupero di informazioni o l'analisi del sentiment in cui la comprensione del senso corretto di una parola è cruciale.

Questa limitazione può avere effetti quantitativi significativi sulle prestazioni dei modelli NLP. La ricerca ha dimostrato che l'accuratezza dei modelli di word embedding spesso diminuisce notevolmente per le parole polisemiche rispetto alle parole monosemiche (singolo significato). Questa diminuzione delle prestazioni può propagarsi attraverso varie attività di NLP come la traduzione automatica o l'analisi del sentiment, influenzando l'affidabilità e l'efficacia complessiva dei sistemi che si basano su questi embeddings. Questa natura statica è un problema importante negli embeddings tradizionali perché assegnano un vettore fisso a ogni parola, indipendentemente dal contesto.

Ma questa limitazione rimane un'area attiva di ricerca nel campo del natural language processing, e questo è il motivo per cui i glossari e una funzione di glossario e gestione della terminologia rimangono un'area di competenza nella traduzione automatica per le aziende di traduzione e i traduttori.

Codifiche posizionali:

Le codifiche posizionali vengono ancora aggiunte agli embeddings dei token per incorporare l'ordine dei token nella sequenza, consentendo al modello di comprendere la struttura del testo.

Livelli del Transformer:

I token incorporati (più codifiche posizionali) passano attraverso più livelli di transformer, dove i meccanismi di self-attention consentono al modello di considerare l'intero contesto di una sequenza, migliorando la rilevanza contestuale degli embeddings.

Tecniche avanzate per superare tali limitazioni iniziali: Retrofitting per migliorare i word embeddings con conoscenze esterne

Il retrofitting è una tecnica sofisticata nel campo del natural language processing che mira a perfezionare i word embeddings pre-addestrati incorporando informazioni da fonti di conoscenza esterne. Questo metodo affronta alcune delle limitazioni intrinseche dei word embeddings standard, in particolare la loro difficoltà nel gestire la polisemia e la mancanza di informazioni semantiche o relazionali esplicite.

Nel suo nucleo, il retrofitting regola i vettori di word embeddings pre-addestrati per allinearli meglio con le relazioni semantiche definite nelle risorse lessicali esterne. Queste risorse possono includere database linguistici completi come WordNet o FrameNet, o anche ontologie specifiche di dominio. Il processo inizia con word embeddings pre-addestrati, come quelli generati da algoritmi popolari come Word2Vec, GloVe o FastText. Questi embeddings iniziali catturano la semantica distributiva basata sulle co-occorrenze di parole in grandi corpora di testo.

La procedura di retrofitting utilizza quindi un lessico semantico o una base di conoscenze che definisce le relazioni tra le parole. Questa risorsa esterna fornisce informazioni strutturate sui significati e sulle connessioni delle parole che potrebbero non essere pienamente catturate dai soli metodi distributivi. L'algoritmo aggiorna iterativamente i vettori di parole, avvicinando le parole semanticamente correlate nello spazio vettoriale mantenendo la somiglianza con i loro embeddings originali.

Matematicamente, il retrofitting comporta in genere la minimizzazione di una funzione di costo che bilancia due obiettivi primari. Il primo è quello di mantenere i vettori retrofittati vicini ai loro valori originali pre-addestrati, preservando le preziose informazioni distributive apprese dai grandi corpora di testo. Il secondo è quello di garantire che le parole collegate nella risorsa semantica abbiano rappresentazioni vettoriali simili, incorporando così la conoscenza strutturata nello spazio di embedding.

Questo approccio offre diversi vantaggi rispetto ai word embeddings standard. In primo luogo, migliora l'accuratezza semantica catturando relazioni di parole più sfumate che sono definite esplicitamente nella risorsa di conoscenza. Ciò può portare a prestazioni migliori in vari compiti di natural language processing, in particolare quelli che richiedono una comprensione semantica fine.

In secondo luogo, il retrofitting facilita l'adattamento del dominio. Gli embeddings di uso generale possono essere adattati a domini specifici utilizzando risorse di conoscenza specifiche di dominio, rendendoli più rilevanti e accurati per applicazioni specializzate. Ciò è particolarmente utile in settori come la medicina, il diritto o la finanza, dove la terminologia e l'uso delle parole possono essere altamente specializzati.

Terzo, il retrofitting può potenzialmente migliorare le rappresentazioni per parole rare. Queste parole hanno spesso rappresentazioni scadenti in embeddings standard a causa di occorrenze limitate nel corpus di training. Sfruttando la conoscenza esterna, il retrofitting può migliorare la qualità di queste rappresentazioni, portando a una migliore gestione di termini non comuni.

Infine, il retrofitting conserva le preziose informazioni distributive apprese dai grandi corpora di testo aggiungendo conoscenza strutturata. Questa combinazione di approcci basati sui dati e sulla conoscenza si traduce in embeddings che beneficiano sia di modelli statistici nell'uso del linguaggio che di informazioni semantiche curate.

In conclusione, il retrofitting rappresenta una potente tecnica per migliorare i word embeddings, colmando il divario tra metodi puramente distributivi e risorse di conoscenza strutturate. Mentre il natural language processing continua ad avanzare, tecniche come il retrofitting svolgono un ruolo cruciale nello sviluppo di rappresentazioni del linguaggio più sofisticate e semanticamente ricche.

 

Retrofitting: Sfide e direzioni future

Il retrofitting di word embeddings è emerso come una potente tecnica per migliorare la ricchezza semantica delle rappresentazioni di parole distributive. Tuttavia, come qualsiasi metodo avanzato nel natural language processing, viene fornito con una propria serie di sfide e limitazioni che ricercatori e professionisti devono affrontare.

Una delle principali preoccupazioni nel retrofitting è la qualità della fonte di conoscenza utilizzata. L'efficacia del processo di retrofitting è intrinsecamente legata alla completezza, accuratezza e rilevanza della base di conoscenze esterna impiegata. Se la fonte di conoscenza è incompleta, obsoleta o contiene errori, queste carenze possono propagarsi negli embeddings aggiornati. Questa dipendenza sottolinea l'importanza di selezionare e verificare attentamente le fonti di conoscenza, specialmente quando si lavora in domini specializzati o contesti multilingue.

Un'altra considerazione è il costo computazionale associato al retrofitting. Mentre gli embeddings pre-addestrati sono prontamente disponibili e possono essere utilizzati out-of-the-box, il retrofitting introduce un ulteriore passo nella pipeline di preparazione dell'embedding. Questo processo può essere computazionalmente intensivo, in particolare quando si tratta di vocabolari di grandi dimensioni o grafi di conoscenza complessi. L'aumento dei requisiti computazionali può rappresentare una sfida in ambienti con risorse limitate o quando è necessaria una rapida distribuzione.

Nonostante i miglioramenti offerti dal retrofitting, gli embeddings risultanti mantengono ancora una limitazione fondamentale dei word embeddings tradizionali: la loro natura statica. Gli embeddings retrofittati, come le loro controparti non retrofittate, assegnano un vettore fisso a ogni parola, indipendentemente dal contesto. Questo approccio non affronta pienamente la sfida della polisemia o del significato dipendente dal contesto. Le parole con più sensi o modelli di utilizzo sono ancora rappresentate da un singolo vettore, che potrebbe non catturare l'intero spettro delle loro sfumature semantiche.

Tuttavia, gli embeddings retrofittati hanno dimostrato miglioramenti tangibili in varie attività di natural language processing. Nei giudizi di similarità semantica, spesso mostrano una migliore correlazione con le valutazioni umane, catturando con maggiore precisione le relazioni sfumate tra le parole. Le attività di disambiguazione del senso delle parole beneficiano delle informazioni semantiche aggiuntive incorporate attraverso il retrofitting, consentendo una differenziazione più precisa tra più sensi delle parole. Nel named entity recognition, gli embeddings retrofittati possono sfruttare le conoscenze esterne per rappresentare meglio i nomi propri e la terminologia specifica del dominio. Anche le attività di classificazione del testo mostrano miglioramenti, in particolare quando la classificazione si basa su distinzioni semantiche a grana fine.

Guardando al futuro, il campo del retrofitting continua ad evolversi, con diverse promettenti direzioni di ricerca. Un'area di attenzione è la combinazione efficace di più fonti di conoscenza. I ricercatori stanno esplorando modi per integrare informazioni da diverse risorse lessicali, ontologie e grafi di conoscenza per creare embeddings retrofittati più completi e robusti. Questo approccio mira a sfruttare i punti di forza delle diverse fonti di conoscenza, riducendo al contempo i loro limiti individuali.

Un altro percorso interessante è lo sviluppo di tecniche di retrofitting dinamiche. Questi metodi cercano di affrontare la natura statica degli embeddings tradizionali adattando il processo di retrofitting al contesto. L'obiettivo è creare embeddings che possano rappresentare in modo flessibile le parole in base al loro uso in contesti specifici, potenzialmente risolvendo ambiguità e catturando più efficacemente sottili variazioni di significato.

Inoltre, è in corso un lavoro per integrare i concetti di retrofitting con modelli di embedding più avanzati come BERT o GPT. Questi modelli di embedding contestualizzati hanno rivoluzionato molti task NLP e i ricercatori stanno esplorando modi per incorporare conoscenze esterne in queste architetture. Questa integrazione potrebbe potenzialmente combinare i punti di forza delle rappresentazioni contestuali profonde con le informazioni semantiche strutturate fornite dal retrofitting.

Il retrofitting rappresenta un passo significativo verso il colmamento del divario tra metodi puramente distribuzionali di rappresentazione delle parole e approcci più strutturati per catturare il significato semantico nel natural language processing. Mentre rimangono sfide, la ricerca e lo sviluppo in corso in questo settore promettono di produrre rappresentazioni di parole ancora più potenti e sfumate, migliorando ulteriormente la nostra capacità di elaborare e comprendere il linguaggio naturale in modi sempre più sofisticati.