Quindi, prima di creare la Parola Incorporamenti che crea significato rappresentazioni di parole e di ridurre la dimensionalità, come facciamo a creare un buon vocabolario che cattura alcuni di essenza nella nostra lingua. Ci sono diverse lingue in tutto il mondo e diversa struttura per ogni lingua. Lingue agglutinative come il turco agglutinano (aggiungi in alto) di ogni parola per creare un altro significato dalla stessa parola iniziale. Simile, in inglese, la parte suffisso di smart-est è est dove può essere utilizzato in un sacco di parole.
Ad esempio, nel nostro vocabolario potremmo non avere la parola loudest ma potremmo avere la parola loud quando tokenizza come loud – est l’incorporamento del token avrà una rappresentazione di est quindi avrà un’informazione per la parola loudest.
Nel bambino si verifica anche una struttura simile. Un bambino non ha bisogno di ascoltare ogni parola e la loro forma plurale per capire. Dopo aver ascoltato molte forme plurali di oggetti come automobili, api e altri oggetti, il cervello del bambino lo struttura in un modo in cui quando un bambino sa cos’è un cappello non ha bisogno di sentire la parola cappelli per usarlo. I modelli linguistici dovrebbero anche tokenizzare il meccanismo strutturale del nostro vocabolario.
BPE ha due vantaggi: sa come trattare con parole sconosciute e può dedurre il significato da parole sconosciute
Come funziona
Abbiamo bisogno di un file che sia un buon rappresentante della lingua che stai cercando di tokenizzare.
- Chiamare il .file txt dividere ogni parola nella stringa e aggiungere </w> alla fine di ogni parola. Creare un dizionario di frequenza delle parole.
2. Crea una funzione che ottiene il vocabolario e in ogni parola nel vocabolario dividi ogni parola in caratteri e crea un dizionario di frequenza della maggior parte dei caratteri accoppiati.
3. Durante il nostro processo di formazione continueremo ad aggiornare il nostro vocabolario. La funzione merge_vocabulary otterrà il vecchio dizionario del vocabolario e lo aggiornerà con la coppia di caratteri più frequente.
4. I token Get verranno utilizzati in seguito per tokenizzare le stringhe di input
Creando il vocabolario
Quindi dopo aver alimentato il nostro vocabolario iniziale e la frequenza delle parole. Creeremo un ciclo che creerà la tokenizzazione dal vocabolario. Ogni iterazione troverà il carattere che si verifica insieme e aggiungerli al vocabolario.
ad Esempio, consente di dire che il nostro vocabolario è
- il fine di word token
- iniziale gettoni
- andiamo al vocab e di controllo per bigrams e contare la frequenza di bigrams in questo caso la ‘r’ e ‘</w>’ ci aggiorna i token di dizionario
- Si aggiunge il nuovo carattere al nostro vocabolario ” r</w>’
decidere come molte iterazioni questo dovrebbe avvenire. Può essere 10.000 o 100.000. Decidi tu quale dovrebbe essere la tua dimensione del vocabolario.
Codifica e decodifica
Per codificare la frase data prima dobbiamo convertire il nostro dizionario token dalla parola più lunga alla parola più breve. Aggiungiamo dividere ogni parola nella frase e aggiungere </w> alla fine della parola. Iteriamo attraverso ogni token e se la sottostringa della parola include il token, mettiamo quel token come processo di tokenizzazione. Decodifica è dato i nostri gettoni uniamo la parola non hanno </w> e aggiungere ‘ ‘ se la parola ha </w> alla fine.