så innan vi skapar ordinbäddningar som skapar meningsrepresentationer av ord och minskar dimensionen, hur skapar vi ett bra ordförråd som fångar en del av essensen i vårt språk. Det finns olika språk runt om i världen och olika struktur för varje språk. Agglutinativa språk som turkiska agglutinat (Lägg till på toppen) av varje ord för att skapa en annan betydelse från samma ursprungliga ord. Liknande, på engelska, suffixdelen av smart-est är est där den kan användas i många ord.
till exempel, i vårt ordförråd kanske vi inte har ordet högst men kan ha ordet högt när det tokenizes som högt – est inbäddning av token kommer att ha en representation av est så det kommer att ha en information för ordet högst.
hos barn sker också en liknande struktur. Ett barn behöver inte höra varje ord och deras pluralform för att förstå. Efter att ha hört massor av pluralformer av objekt som bilar, bin och andra föremål strukturerar barnets hjärna det på ett sätt där när ett barn vet vad en hatt är behöver han/hon inte höra ordet Hattar för att kunna använda det. Språkmodeller bör också tokenize den strukturella mekanismen i vårt ordförråd.
BPE har två fördelar det vet hur man handskas med okända ord och kan härleda mening från okända ord
hur fungerar det
vi behöver en fil som är en bra representant för det språk som du försöker tokenize.
- Ring .txt-fil dela varje ord i strängen och Lägg till </w> till slutet av varje ord. Skapa en ordlista med frekvensen av ord.
2. Skapa en funktion som får ordförrådet och i varje ord i ordförråd dela varje ord i tecken och skapa en frekvensordlista med de flesta Parade tecken.
3. Under vår träningsprocess kommer vi att fortsätta uppdatera vårt ordförråd. TH merge_vocabulary funktion kommer att få den gamla ordförråd ordbok och uppdatera den med den vanligaste teckenparet.
4. Get tokens kommer att användas senare för att tokenize ingångar strängar
skapa ordförrådet
så efter att ha matat vår ursprungliga ordförråd och frekvensen av ord. Vi kommer att skapa en slinga som skapar tokenisering ur ordförrådet. Varje iteration det kommer att hitta karaktären som inträffar tillsammans och lägga till dem i ordförrådet.
I exempel kan vi säga att vårt ordförråd är
- vi lägger till vårt slut på ordet token
- de initiala tokens kommer att vara
- vi går till vocab och kontrollerar för bigram och räknar frekvensen av bigram i detta fall är det ’r’ och ’</w>’ vi uppdaterar token dictionary
- vi lägger till det nya tecknet i vårt ordförråd ’r</w>’
du bestämmer hur många iterationer detta ska ske. Det kan vara 10.000 eller 100.000. Du bestämmer vad som ska vara din ordförrådsstorlek.
kodning och avkodning
för att koda den givna meningen först måste vi konvertera vår token-ordbok från längsta ord till kortaste ord. Vi lägger till dela varje ord i meningen och Lägg till </w> till slutet av word. Vi itererar genom varje token och om delsträngen av ordet innehåller token sätter vi den token som tokeniseringsprocess. Avkodning ges våra tokens vi samman ordet inte har </w> och Lägg till” ’ om ordet har </w> I slutet.