Byte Pair Encoding (BPE) è un algoritmo popolare utilizzato nell'elaborazione del linguaggio naturale (NLP) per la tokenizzazione delle sottoparole. Il suo obiettivo principale è segmentare le parole in unità più piccole, spesso token di sottoparole, per gestire parole fuori dal vocabolario, migliorare la rappresentazione di parole rare e catturare meglio le variazioni morfologiche..
Ecco una ripartizione di come funziona BPE:
Processo di codifica della coppia di byte (BPE)
Inizializzazione
- Inizia inizializzando il vocabolario con singoli caratteri o sequenze di byte.
Unione iterativa
-
Scorrere il corpus e identificare la coppia più frequente di token consecutivi.
-
Unisci questi due token per formare un nuovo token.
-
Aggiorna il vocabolario con questo nuovo token e continua a ripetere.
Criterio di arresto
- Questo processo continua per un determinato numero di iterazioni o fino al raggiungimento di una determinata soglia (come la dimensione del vocabolario o la copertura del corpus).
Vocabolario finale
- Il vocabolario finale è costituito dai token uniti, inclusi i singoli caratteri e i token delle sottoparole uniti.
Gestire le parole fuori dal vocabolario (OOV)
-
Quando si incontra una parola che non è nel vocabolario, BPE può rappresentarla come una sequenza di token di sottoparole dal vocabolario.
-
Suddividendo le parole sconosciute in unità di sottoparole trovate nel vocabolario, può gestire le parole OOV ricostruendole parzialmente.
Applicazione nella compressione del testo e nella modellazione del linguaggio
-
Compressione del testo: l'unione di coppie frequenti da parte di BPE produce una rappresentazione compressa del testo. Sostituisce sequenze frequenti di caratteri con rappresentazioni più brevi.
-
Modellazione linguistica: BPE consente una rappresentazione più flessibile delle parole suddividendole in unità più piccole. Ciò consente al modello di catturare variazioni morfologiche e gestire parole rare o mai viste prima in modo più efficace.
Compromessi ed efficacia
-
Compromessi: BPE presenta un overhead computazionale a causa della natura iterativa dell'unione dei token. Può creare un ampio vocabolario, incidendo sulla memoria e sull'efficienza del calcolo. Il processo di tokenizzazione può anche essere lento per corpora più grandi.
-
Efficacia: il BPE è molto efficace nel catturare variazioni morfologiche, in particolare nelle lingue agglutinanti (ad esempio finlandese, turco) dove le parole possono avere strutture complesse. È anche abile nel gestire parole rare, migliorando la capacità del modello di generalizzare al vocabolario invisibile.
Confronto con altri metodi di tokenizzazione
-
Vs. Tokenizzazione basata su parole: BPE gestisce le parole OOV meglio dei metodi basati su parole ma può creare vocabolari più ampi.
-
Vs. Tokenizzazione basata sui caratteri: BPE cattura le informazioni morfologiche meglio dei metodi basati sui caratteri, ma potrebbe richiedere più token per rappresentare alcune parole in modo efficiente.
BPE è versatile e ampiamente utilizzato in varie attività di PNL grazie alla sua capacità di gestire parole OOV, rappresentare parole rare in modo efficace e acquisire informazioni morfologiche, rendendolo una potente tecnica di tokenizzazione delle sottoparole.