tokenizzazionePNLelaborazione del linguaggio naturaleapprendimento automaticointelligenza artificiale
Tokenizzazione basata sui dati vs. tokenizzazione basata su regole
La tokenizzazione basata sui dati apprende regole di suddivisione da grandi corpus di testo utilizzando metodi statistici o neurali, mentre la tokenizzazione basata su regole si affida a modelli linguistici e dizionari creati manualmente. Entrambi gli approcci scompongono il testo in unità significative, ma differiscono notevolmente in termini di flessibilità, accuratezza e requisiti computazionali.
In evidenza
I tokenizzatori basati sui dati imparano dal testo, mentre i tokenizzatori basati su regole seguono modelli predefiniti.
Metodi basati su sottoparole come BPE e WordPiece gestiscono le parole sconosciute in modo molto più efficace rispetto alle ricerche nel dizionario.
I sistemi basati su regole offrono piena interpretabilità e costi di formazione pari a zero, risultando ideali per ambiti prevedibili.
I moderni modelli linguistici di grandi dimensioni si basano quasi esclusivamente sulla tokenizzazione guidata dai dati per le loro pipeline di input.
Cos'è Tokenizzazione basata sui dati?
Un approccio di apprendimento automatico che individua automaticamente i confini dei token analizzando i modelli presenti in grandi insiemi di dati testuali.
Gli algoritmi apprendono le regole di segmentazione dai corpus di addestramento anziché basarsi su modelli scritti manualmente.
In questa categoria rientrano i metodi di suddivisione in sottoparole come Byte Pair Encoding (BPE), WordPiece e Unigram Language Model.
I moderni modelli linguistici di grandi dimensioni, tra cui GPT e BERT, utilizzano tokenizzatori basati sui dati, addestrati su centinaia di gigabyte di testo.
Questi tokenizzatori gestiscono con eleganza le parole fuori dal vocabolario scomponendo i termini rari in sottoparole più familiari.
Le prestazioni migliorano con l'aumentare delle dimensioni e della diversità dei dati di addestramento.
Cos'è Tokenizzazione basata su regole?
Un approccio tradizionale che suddivide il testo utilizzando regole linguistiche predefinite, espressioni regolari ed elenchi di parole selezionati.
I confini dei token sono determinati da modelli creati manualmente, come spazi bianchi, punteggiatura e regole morfologiche.
Esempi ampiamente utilizzati includono librerie come word_tokenize di NLTK e le pipeline basate su regole di spaCy.
Questi sistemi spesso si affidano a dizionari ed elenchi di affissi per gestire le forme delle parole in lingue specifiche.
Il comportamento è completamente prevedibile e facile da verificare perché ogni regola è scritta in modo esplicito.
Non richiedono dati di addestramento e possono essere implementati immediatamente una volta definite le regole.
Tabella di confronto
Funzionalità
Tokenizzazione basata sui dati
Tokenizzazione basata su regole
Approccio
Apprende da grandi corpus di testo utilizzando metodi statistici o neurali.
Utilizza regole create manualmente, modelli regex e dizionari.
È richiesta formazione.
Sì, richiede una quantità considerevole di dati testuali annotati o non elaborati.
No, le regole vengono scritte manualmente dagli sviluppatori.
Gestione delle parole sconosciute
Scompone le parole rare in unità sub-parolali note
Spesso non funziona o richiede aggiornamenti manuali del dizionario
Interpretazione
Inferiore, poiché i modelli appresi sono incorporati nei pesi del modello
Elevato, ogni regola può essere letta e verificata
Capacità di adattamento alle nuove lingue
Facilmente addestrabile su nuovi corpora
Richiede la creazione di nuovi set di regole da zero
Costo computazionale
Più performante durante l'addestramento, veloce nell'inferenza
Basso rendimento complessivo, funziona con hardware minimo
Algoritmi comuni
BPE, WordPiece, Unigram LM, SentencePiece
Divisione delle espressioni regolari, rimozione degli affissi, ricerca nel dizionario
Utilizzato da
GPT, BERT, RoBERTa, T5 e la maggior parte dei moderni LLM
NLTK, pipeline di regole spaCy, sistemi NLP legacy
Confronto dettagliato
Come dividono il testo
tokenizzatori basati sui dati analizzano i modelli di frequenza in milioni di frasi per decidere dove termina un token e ne inizia un altro. Ad esempio, BPE parte dai singoli caratteri e unisce ripetutamente le coppie adiacenti più frequenti fino a raggiungere una dimensione di vocabolario target. I tokenizzatori basati su regole, al contrario, applicano una sequenza fissa di operazioni come la suddivisione in base agli spazi bianchi, la rimozione della punteggiatura o l'eliminazione di suffissi come "-ing" e "-ed" in base a tabelle morfologiche predefinite.
Gestire le parole rare e sconosciute
Uno dei maggiori punti di forza dei metodi basati sui dati è la capacità di gestire con eleganza le parole mai viste prima dal modello. Un termine medico raro come "pneumonoultramicroscopicsilicovolcanoconiosis" viene scomposto in sottoparole familiari che il modello già comprende. I sistemi basati su regole, in genere, si imbattono in parole di questo tipo, lasciandole come un unico token sovradimensionato oppure ignorandole completamente, a meno che qualcuno non le aggiunga manualmente a un dizionario.
Trasparenza e debug
tokenizer basati su regole vincono in termini di trasparenza. Uno sviluppatore può aprire il file delle regole, leggere esattamente come viene suddiviso il testo e risalire a uno schema specifico in caso di output inatteso. I tokenizer basati sui dati si comportano più come scatole nere, dove lo stesso input produce sempre lo stesso output, ma spiegare perché è stata scelta una particolare suddivisione richiede l'analisi delle statistiche di addestramento o dei dettagli interni del modello.
Requisiti delle risorse
L'addestramento di un tokenizzatore basato sui dati richiede notevoli risorse di calcolo e di archiviazione, spesso elaborando decine di gigabyte di testo per costruire un vocabolario di qualità. Una volta addestrato, l'inferenza è rapida e il file del tokenizzatore è di dimensioni ridotte. I tokenizzatori basati su regole non necessitano di quasi nessuna risorsa per essere creati o eseguiti, il che li rende interessanti per sistemi a bassa latenza, dispositivi embedded o progetti in cui non è disponibile un'infrastruttura di addestramento.
Copertura linguistica
Gli approcci basati sui dati si adattano naturalmente alle nuove lingue semplicemente riaddestrandoli su un nuovo corpus; ecco perché modelli multilingue come XLM-Roberta possono coprire decine di lingue con un unico tokenizzatore. I sistemi basati su regole richiedono competenze linguistiche specifiche per ogni nuova lingua, poiché le regole relative agli affissi, le classi di caratteri e gli elenchi di parole devono essere creati manualmente da qualcuno che conosca bene la morfologia.
Precisione nella pratica
Per le moderne attività di elaborazione del linguaggio naturale (NLP), i tokenizzatori basati sui dati superano costantemente quelli basati su regole nei benchmark che coinvolgono testo rumoroso, social media o codice. I tokenizzatori basati su regole mantengono comunque la loro validità in ambiti ben strutturati come documenti legali o testi formali, dove la prevedibilità della suddivisione e la leggibilità delle regole sono più importanti della gestione dei casi limite.
Pro e Contro
Tokenizzazione basata sui dati
Vantaggi
+Gestisce parole sconosciute
+Si adatta a nuove lingue
+Alta precisione
+Apprende dai dati
Consentiti
−Necessita di dati di addestramento
−Meno interpretabile
−Costi di installazione più elevati
−Complesso da debuggare
Tokenizzazione basata su regole
Vantaggi
+Completamente trasparente
+Non è richiesto alcun addestramento.
+basso costo di elaborazione
+Facile da personalizzare
Consentiti
−Difficoltà con le parole rare
−Lavoro manuale linguistico
−Adattabilità limitata
−Difficile da scalare
Idee sbagliate comuni
Mito
La tokenizzazione basata su regole è obsoleta e non viene più utilizzata nell'intelligenza artificiale moderna.
Realtà
I tokenizzatori basati su regole rimangono comuni nelle pipeline NLP di produzione, soprattutto per le fasi di pre-elaborazione come la suddivisione delle frasi, la normalizzazione e il rilevamento della lingua. Molti sistemi moderni combinano metodi basati su regole e metodi basati sui dati, anziché sostituire l'uno con l'altro.
Mito
La tokenizzazione basata sui dati produce sempre risultati migliori rispetto ai metodi basati su regole.
Realtà
La qualità dipende fortemente dal corpus di addestramento e dal compito. Un tokenizzatore basato sui dati, se addestrato in modo inadeguato, può avere prestazioni inferiori rispetto a uno basato su regole ben ottimizzato, soprattutto su testi specifici di un determinato dominio, dove i dati di addestramento non corrispondono alla distribuzione di destinazione.
Mito
La tokenizzazione consiste semplicemente nel suddividere il testo in base agli spazi.
Realtà
tokenizzatori reali gestiscono punteggiatura, contrazioni, espressioni multi-parola, emoji e unità sub-parola. La semplice suddivisione in spazi bianchi non riesce a gestire la maggior parte della complessità che la tokenizzazione è progettata per risolvere.
Mito
Una volta addestrato, un tokenizzatore basato sui dati non necessita mai di aggiornamenti.
Realtà
Il vocabolario si modifica con l'evolversi della lingua, la comparsa di nuovi termini gergali e la diffusione di espressioni specifiche di un determinato ambito. Molti team riaddestrano o estendono periodicamente i propri tokenizzatori per stare al passo con la mutevole distribuzione dei testi.
Mito
Tutti i moderni LLM utilizzano lo stesso tokenizzatore.
Realtà
Le diverse famiglie di modelli utilizzano schemi di tokenizzazione differenti. I modelli GPT utilizzano BPE, BERT utilizza WordPiece e T5 utilizza SentencePiece. Queste scelte influenzano in modo misurabile la dimensione del vocabolario, il numero di token e le prestazioni a valle.
Domande frequenti
Qual è la principale differenza tra la tokenizzazione basata sui dati e quella basata su regole?
La tokenizzazione basata sui dati apprende automaticamente le regole di suddivisione da grandi corpus di testo utilizzando algoritmi come BPE o WordPiece. La tokenizzazione basata su regole applica modelli predefiniti, espressioni regolari e dizionari scritti dagli sviluppatori. La prima si adatta tramite l'addestramento, mentre la seconda si basa su conoscenze linguistiche esplicite.
Quale metodo di tokenizzazione utilizzano i modelli linguistici di grandi dimensioni?
La maggior parte dei modelli linguistici di grandi dimensioni, tra cui GPT, BERT, RoBERTa e T5, utilizza la tokenizzazione delle sottoparole basata sui dati. I modelli GPT si affidano alla codifica a coppie di byte (Byte Pair Encoding), BERT utilizza WordPiece e T5 utilizza SentencePiece. Questi metodi consentono ai modelli di gestire in modo efficiente parole rare e più lingue.
La tokenizzazione basata su regole è più veloce della tokenizzazione basata sui dati?
In fase di inferenza, entrambi i metodi sono veloci, ma i tokenizer basati su regole in genere utilizzano meno memoria e non richiedono il caricamento del modello. La differenza di velocità maggiore si manifesta durante la fase di configurazione, poiché i sistemi basati su regole saltano completamente la fase di addestramento e possono essere implementati immediatamente.
La tokenizzazione basata sui dati è in grado di gestire lingue per le quali non è stata addestrata?
Non bene, a meno che il tokenizer non sia stato addestrato su dati multilingue. Un tokenizer addestrato solo sull'inglese avrà difficoltà con le scritture cinesi, arabe o coreane. I tokenizer multilingue come quelli utilizzati in XLM-Roberta sono specificamente addestrati su decine di lingue per gestire questo problema.
Che cos'è la codifica a coppie di byte (BPE)?
BPE è un algoritmo di tokenizzazione di sottoparole basato sui dati che parte da singoli caratteri e unisce ripetutamente le coppie adiacenti più frequenti nel corpus di addestramento. Dopo migliaia di unioni, produce un vocabolario di unità di sottoparole comuni che bilancia la dimensione del vocabolario con la copertura delle parole rare.
I tokenizzatori basati su regole sono ancora efficaci per le moderne attività di elaborazione del linguaggio naturale?
Sì, soprattutto per le fasi di pre-elaborazione come la segmentazione delle frasi, la normalizzazione della punteggiatura e l'identificazione della lingua. Per l'input del modello principale, tuttavia, la maggior parte dei moderni sistemi di elaborazione del linguaggio naturale preferisce i tokenizzatori basati sui dati perché si generalizzano meglio a un vocabolario non familiare.
Di quanti dati di addestramento ha bisogno un tokenizzatore basato sui dati?
Dipende dalla dimensione del vocabolario di destinazione e dalla copertura linguistica, ma in genere i tokenizzatori LLM vengono addestrati su quantità di testo che vanno da pochi gigabyte a diverse centinaia di gigabyte. Corpus più grandi e diversificati generalmente producono tokenizzatori che gestiscono le parole rare e i casi limite in modo più efficace.
È possibile combinare la tokenizzazione basata su regole e quella basata sui dati?
Assolutamente, e molti sistemi di produzione lo fanno. Un modello comune consiste nell'applicare prima una normalizzazione basata su regole (conversione in minuscolo, rimozione dei caratteri speciali, espansione delle contrazioni) e poi alimentare il testo ripulito a un tokenizzatore di sottoparole basato sui dati per le suddivisioni finali.
Perché la tokenizzazione è importante per le prestazioni del modello?
La tokenizzazione determina come il testo viene rappresentato numericamente, influenzando direttamente la capacità di un modello di apprendere schemi. Un tokenizzatore che produce troppi piccoli frammenti spreca la lunghezza del contesto, mentre uno che mantiene le parole rare come singoli token può impedire al modello di generalizzare. Una buona tokenizzazione trova un equilibrio tra dimensione del vocabolario e copertura.
Quali sono i problemi più comuni dei tokenizzatori basati su regole?
Spesso non gestiscono correttamente le contrazioni come "don't", hanno problemi con le parole composte da trattini, faticano con le emoji e gli URL e richiedono aggiornamenti costanti man mano che nuovi vocaboli entrano a far parte della lingua. Inoltre, tendono a produrre risultati incoerenti tra le diverse lingue, a meno che ciascuna non abbia un proprio set di regole attentamente mantenuto.
Verdetto
Scegli la tokenizzazione basata sui dati quando crei moderni sistemi NLP o LLM che devono gestire un vocabolario eterogeneo, più lingue o testi reali complessi. Scegli la tokenizzazione basata su regole quando hai bisogno di massima trasparenza, un carico computazionale minimo o stai lavorando in un ambito ristretto in cui le regole definite manualmente descrivono già bene il linguaggio.