← Home / POSTS

Il peso del linguaggio

Come e perchè gli LLM imparano a parlare

I Large Language Models (o LLM) sono modelli linguistici con un’ampia gamma di applicazioni, tra cui ad esempio la generazione di codice, la sintesi di documenti, o la traduzione. La loro versatilità deriva dalla loro caratteristica principale: la capacità di elaborazione e la produzione del linguaggio naturale.

E’ proprio la complessità del linguaggio che rappresenta al tempo stesso il punto di forza e la principale sfida nella progettazione di questo tipo di modelli. Si possono distinguere due livelli fondamentali che contribuiscono all’espressività del linguaggio: sintattico (ovvero, di struttura) e semantico (di significato). Alla luce di questa complessità, è naturale porsi alcune domande: esistono alternative al linguaggio naturale per rappresentare l’informazione? Perché il linguaggio è così flessibile? E cosa rende così difficile generarlo automaticamente?

Sintassi

Dal punto di vista sintattico esistono diverse alternative più semplici rispetto al linguaggio naturale. Se dobbiamo ad esempio organizzare l’inventario di un negozio non useremo una descrizione discorsiva, ma una tabella di questo tipo

Prodotto Quantità Colore
T-Shirt 34 rosso
Jeans 28 blu
Calzini 40 nero

La tabella fornisce un’organizzazione strutturata dei dati: è semplice da interpretare, ma vincolante quando dobbiamo rappresentare relazioni complesse.

Immaginiamo ad esempio il caso in cui ogni tipo di prodotto possa avere proprietà diverse, come ad esempio marca o materiale, oltre al colore. In questo caso sarebbe più pratico organizzare i dati in modo semi-strutturato:

[
  {
    "prodotto": "T-Shirt",
    "quantità": 34,
    "proprietà": {
      "colore": "rosso"
    }
  },
  {
    "prodotto": "Jeans",
    "quantità": 28,
    "proprietà": {
      "marca": "X",
      "usato": false
    }
  },
  {
    "prodotto": "calzini",
    "quantità": 40,
    "proprietà": {
        "materiale": "cotone"
    }
  }
]

Questo formato (chiamato JSON) è più flessibile, ma ha dei limiti: presuppone che i campi siano organizzati come coppie chiave:valore (come, ad esempio “prodotto”: “calzini”) con un’interpretazione precisa e concordata.

Nei casi appena visti si parla di sintassi chiusa: la struttura è formale, definita e prevedibile. Il linguaggio ha invece una sintassi aperta: ogni frase può avere una struttura diversa e lunghezza variabile. Naturalmente, anche il linguaggio deve rispettare delle regole, ovvero le regole grammaticali: queste forniscono uno schema strutturale ad alto livello, ma non limitano la complessità delle frasi che possiamo costruire. Grazie alla grammatica, è possibile rappresentare formalmente frasi nel linguaggio naturale tramite una struttura ad albero nota come Abstract Syntax Tree. Questo tipo di rappresentazione non ha profondità predefinita, riflettendo quindi la natura variabile del linguaggio.

Abstract Syntax Tree esempio

Semantica

La ricchezza del linguaggio non è però solo sintattica, ma soprattutto semantica. Non è sufficiente generare frasi sintatticamente (grammaticalmente) corrette, ma è necessario anche che abbiano un significato appropriato rispetto al contesto. Infatti, se nel formato JSON il significato stesso di chiave e valore deve essere concordato, nel caso del linguaggio emerge dinamicamente dal discorso stesso. Ad esempio “Mi passi il sale?” è sintatticamente una domanda, ma è solo grazie alla nostra interpretazione ed esperienza che sappiamo che è anche una richiesta. E’ questa variabilità che rende il linguaggio così potente e così difficile da modellare. Per questo motivo, sviluppare un modello che generi linguaggio significa progettare un sistema che, date enormi moli di dati, apprenda in modo statistico come le parole co-occorrono e si relazionano tra loro in vari contesti.

Il meccanismo principale che permette di farlo nei modelli odierni è la cosiddetta self-attention. Data una sequenza di parole, tale meccanismo opera in due passaggi:

Consideriamo ad esempio la frase “Il gatto beve il latte”. In questo caso la parola “latte” sarà fortemente correlata a “beve”, mentre avrà una relazione più debole con “il”. In una rappresentazione visiva queste relazioni appaiono come celle più o meno scure: più il colore è scuro, maggiore è l’importanza della relazione tra due parole. Si può notare anche che una parola risulta correlata con sè stessa: questo accade spesso perché il modello non deve utilizzare solo la mutua relazione tra parole ma anche il suo significato originale. È importante notare che queste correlazioni non sono memorizzate staticamente: il modello apprende invece come calcolarle dinamicamente, applicando lo stesso meccanismo a qualsiasi frase nuova. Inoltre, spesso il meccanismo di l’attenzione non cattura una sola relazione linguistica. Vengono generate diverse matrici di questo tipo e ognuna di queste impara relazioni diverse, ad esempio che collega articoli e nomi, soggetti e verbi, o la posizione delle parole nella frase.

Self-attention matrix esempio

Il risultato è quindi un sistema capace di emulare il linguaggio umano: non recupera semplicemente risposte predefinite, ma genera nuove frasi scegliendo i completamenti più probabili e coerenti con il contesto ricevuto, catturando la dimensione semantica che altre strutture formali non possono rappresentare.

Contenuti simili

Apr 15, 2026

Gli LLM generano linguaggio?

Quando interagiamo con un modello linguistico abbiamo l’impressione che stia scrivendo, o addirittura pensando. In effetti, i modelli...

Mar 25, 2026

La gerarchia di Chomsky

Il legame tra linguistica e informatica è molto più profondo di quanto si possa pensare: è proprio dallo...

Mar 17, 2026

Gli LLM ragionano davvero?

Gli sviluppi più recenti nell’ambito dell’intelligenza artificiale hanno mostrato risultati sorprendenti, soprattutto per quanto riguarda i modelli di...