Skip to content

Latest commit

 

History

History
45 lines (25 loc) · 2.89 KB

File metadata and controls

45 lines (25 loc) · 2.89 KB

Språkmodellering

Semantiska inbäddningar, såsom Word2Vec och GloVe, är faktiskt ett första steg mot språkmodellering – att skapa modeller som på något sätt förstår (eller representerar) språkets natur.

Huvudidén bakom språkmodellering är att träna dem på oetiketterade dataset på ett osuperviserat sätt. Detta är viktigt eftersom vi har enorma mängder oetiketterad text tillgänglig, medan mängden etiketterad text alltid skulle vara begränsad av den tid och ansträngning vi kan lägga på att etikettera. Oftast kan vi bygga språkmodeller som kan förutsäga saknade ord i texten, eftersom det är enkelt att maskera ett slumpmässigt ord i texten och använda det som ett träningsprov.

Träning av inbäddningar

I våra tidigare exempel använde vi förtränade semantiska inbäddningar, men det är intressant att se hur dessa inbäddningar kan tränas. Det finns flera möjliga idéer som kan användas:

  • N-Gram språkmodellering, där vi förutspår en token genom att titta på N föregående tokens (N-gram).
  • Continuous Bag-of-Words (CBoW), där vi förutspår den mittersta token $W_0$ i en sekvens av tokens $W_{-N}$, ..., $W_N$.
  • Skip-gram, där vi förutspår en uppsättning närliggande tokens {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} från den mittersta token $W_0$.

bild från artikel om att konvertera ord till vektorer

Bild från denna artikel

✍️ Exempel på Notebooks: Träning av CBoW-modell

Fortsätt ditt lärande i följande notebooks:

Slutsats

I den föregående lektionen såg vi att ordinbäddningar fungerar som magi! Nu vet vi att träning av ordinbäddningar inte är en särskilt komplex uppgift, och vi borde kunna träna våra egna ordinbäddningar för domänspecifik text om det behövs.

Granskning & Självstudier

I labbet utmanar vi dig att modifiera koden från denna lektion för att träna en skip-gram-modell istället för CBoW. Läs detaljerna