Iscriviti alla nostra newsletter Tea O'Clock!
Nei casi d'uso "classici", si tratta di informazioni dettagliate in entrata (un numero di affari, una dimensione del negozio, un numero di dipendenti, un importo speso). I dati possono essere ordinati (4 è più grande di 2) e posizionati su un livello (4 è 2 volte più grande di 2). Per le parole, il discorso è più complesso. Il termine "chien" non è più grande del termine "chat" e "chien" non vale 2 volte "chat". Questi termini sono semplicemente dei simboli arbitrari. Inoltre, per poter generare un'etichetta, tutte le relazioni matematiche devono permettere di confrontare le informazioni tra loro per poi definire le nozioni di prossimità.
Prima soluzione: trasformazione in vettore binario. Supponiamo che ci siano 100 parole nella lingua francese. Si attribuisce un valore arbitrario a ogni parola, per esempio "chien" è la parola 27. Inoltre, ogni motto è rappresentato da un vettore (una tabella di una sola riga) che non contiene altro che 0, se non nel caso in cui corrisponda al chiffre. Nel nostro caso, il motto chien ha un 1 in 27a posizione e 0 in tutte le altre. Si chiama questa rappresentazione un token.
Il risultato ottenuto può essere manipolato da un modello matematico. In realtà, questa definizione fornisce pochissime informazioni al modello, poiché tutte le parole sono esattamente alla stessa distanza tra loro. "Chien" è tanto diverso da "chat" quanto da "voiture".
Nel mondo della ricerca si sono verificate diverse evoluzioni, ma la più performante è quella dell'embedding. Il metodo consiste nel ricercare un vettore, di dimensioni più piccole rispetto all'insieme del vocabolario (nel nostro caso 100), che rappresenti correttamente la distanza che separa le parole tra loro. Per apprendere questo vettore, si cerca una relazione matematica tra i tokens précédents e un'etichetta. Nel 2013, alcuni ricercatori di Google ([1]) hanno sviluppato un algoritmo che cerca questa relazione prendendo un brano di frase al quale viene ritirato un termine al volo. Il termine (son token) prelevato è l'informazione di ingresso del modello e le etichette sono i token rimanenti. In effetti, la scelta di due parole che precedono e seguono un'altra può essere un'operazione molto complessa, ma per il momento si cerca soprattutto una buona modalità di rappresentazione di una parola.
Il modello funziona in due parti: una parte che genera un vettore di piccole dimensioni a partire dal token d'ingresso, e una parte che fornisce una probabilità che il vettore rappresenti ogni token del dizionario.
Per visualizzare i risultati, si può applicare l'algoritmo nella dimensione 2 (vedi figura seguente), anche se in pratica è preferibile lavorare in una dimensione molto più elevata (intorno a 500) per migliorare la qualità della rappresentazione. Poiché le dimensioni non hanno un vero e proprio senso umano, il lavoro dell'algoritmo consiste nel confrontare le parole utilizzate in contesti simili.
Le parole che rappresentano i paesi sono lontane da quelle degli altri e dalle capitali che sono lontane tra loro. Si nota anche una certa coerenza geografica tra le parole.
La modalità di calcolo degli embeddings si è notevolmente evoluta, ma l'idea rimane la stessa: i token devono essere trasformati in vettori più piccoli e sottoposti a una procedura precisa di apprendimento automatico.
La generazione di testi ha conosciuto un significativo progresso con l'arrivo delle reti di neuroni ricorrenti (RNN, Recurrent Neural Network). Si tratta di un gioco al quale avrete sicuramente già partecipato: una persona sceglie una frase, poi il suo interlocutore la ripete aggiungendo una seconda frase, e il giocatore successivo ripete queste due parole prima di aggiungerne una terza, e così via fino al termine della frase. L'idée des RNN est similaire avec la modification suivante: au lieu d'entendre la phrase complète avant de jouer, chaque joueur n'entend que son résumé donné par la personne précédente. A partire da questo, aggiunge una frase, crea un nuovo riassunto e lo trasmette al compagno.
Ciascuna domanda passa attraverso una sezione di calcolo per essere trasformata in embedding, per poi essere completata in una seconda sezione con il riassunto del giocatore precedente. Il compito della supervisione è quello di generare correttamente il prossimo movimento.
Questi metodi hanno permesso di migliorare lo stato dell'arte, ma non sono in grado di fornire un sunto sufficientemente preciso per una lunga storia. Sono state apportate diverse modifiche, in particolare l'arrivo delle LSTM ([2] Long Short Term Memory), che (come indica il loro nome) hanno come scopo quello di avere una memoria a lungo termine... Ma sempre non troppo lunga per lavorare su documenti interi.
Àretenir: in una RNN, un riassunto viene messo a giorno, momento dopo momento. Il riassunto permette di generare il prossimo messaggio.
Scoprite tutte le ultime notizie, articoli, repliche di webinar e cinquantacinque eventi nella nostra newsletter mensile, Tea O'Clock.