Byte-Pair Kódování

Takže než jsme se vytvořit Slovo Embeddings, který vytváří význam reprezentace slov a snižuje rozměrů, jak jsme se vytvořit dobrou slovní zásobu, která zachycuje některé esence v našem jazyce. Existují různé jazyky po celém světě a různé struktury pro každý jazyk. Aglutinativní jazyky jako turecký aglutinát (přidat na vrcholu) každého slova vytvořit jiný význam ze stejného počátečního slova. Podobně, v angličtině, přípona část smart-est je Est, kde může být použita v mnoha slovech.

například, v našem slovníku asi nebudeme mít slovo nejhlasitější, ale může mít slovo nahlas, když to tokenizes tak hlasitě, – est vkládání tokenu bude mít zastoupení est takže to bude mít informace pro slovo nejhlasitější.

u dítěte probíhá také podobná struktura. Dítě nemusí slyšet každé slovo a jejich množné číslo, aby pochopilo. Po vyslechnutí spousty množného čísla objektů, jako jsou automobily, včely a další předměty, dítě mozkových struktur to způsobem, kde, kdy dítě ví, co klobouk je on/ona nemusí slyšet slovo klobouky, aby se ji používat. Jazykové modely by měly také tokenizovat strukturální mechanismus naší slovní zásoby.

BPH má dvě výhody to víte, jak se vypořádat s neznámými slovy a umí odvodit význam neznámých slov

Jak funguje

potřebujeme soubor, který je dobrý zástupce jazyk, který se snaží tokenize.

  1. zavolejte .txt soubor rozdělit každé slovo v řetězci a přidat < / w> na konec každého slova. Vytvořte slovník frekvence slov.

2. Vytvořte funkci, která dostane slovní zásobu a v každém slově ve slovníku rozdělte každé slovo na znaky a vytvořte frekvenční slovník většiny spárovaných znaků.

3. Během našeho tréninkového procesu budeme průběžně aktualizovat naši slovní zásobu. Funkce merge_vocabulary získá Starý slovník slovníku a aktualizuje jej nejčastějším párem znaků.

4. Získat žetony budou použity později k tokenize vstupy řetězce

Vytváření slovní zásoby

Takže po krmení naše počáteční slovní zásobu a frekvence slova. Vytvoříme smyčku, která vytvoří tokenizaci ze slovní zásoby. Každá iterace najde znak, který se vyskytuje společně, a přidá je do slovní zásoby.

V Příkladu řekněme, že naše slovní zásoba je

  • přidáme náš konec slovo token
  • počáteční žetony bude
  • slovní zásoba a zkontrolujte, zda bigrams a spočítat frekvence bigrams v tomto případě jeho “ r “ a ‚</w>‘ aktualizovat token slovník
  • přidat nový znak do našeho slovníku ‚r</w>‘

rozhodnout, kolik opakování by to mělo probíhat. Může to být 10.000 nebo 100.000. VY rozhodnete, jaká by měla být vaše velikost slovní zásoby.

Kódování a Dekódování

Pro enkódování dané věty nejprve musíme převést naše token slovník z nejdelší slovo na nejkratší slovo. Přidáme rozdělit každé slovo ve větě a přidat < / w> na konec slova. Iterujeme každý token a pokud podřetězec slova obsahuje token, vložíme tento token jako proces tokenizace. Dekódování je vzhledem k naší tokeny jsme sloučit slovo nemají </w> přidat „“ pokud slovo má </w> na konci.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.