Skip to content

Latest commit

 

History

History
54 lines (34 loc) · 3.01 KB

File metadata and controls

54 lines (34 loc) · 3.01 KB

Språkmodellering

Semantiske embeddinger, som Word2Vec og GloVe, er faktisk et første steg mot språkmodellering - å lage modeller som på en eller annen måte forstår (eller representerer) språkets natur.

Hovedideen bak språkmodellering er å trene dem på umerkede datasett på en usupervisert måte. Dette er viktig fordi vi har enorme mengder umerket tekst tilgjengelig, mens mengden merket tekst alltid vil være begrenset av innsatsen vi kan legge ned i merking. Oftest kan vi bygge språkmodeller som kan forutsi manglende ord i teksten, fordi det er enkelt å maskere et tilfeldig ord i teksten og bruke det som en treningsprøve.

Trening av embeddinger

I våre tidligere eksempler brukte vi forhåndstrente semantiske embeddinger, men det er interessant å se hvordan disse embeddingene kan trenes. Det finnes flere mulige ideer som kan brukes:

  • N-Gram språkmodellering, der vi forutsier et token ved å se på N tidligere token (N-gram).
  • Continuous Bag-of-Words (CBoW), der vi forutsier det midterste tokenet $W_0$ i en sekvens av token $W_{-N}$, ..., $W_N$.
  • Skip-gram, der vi forutsier et sett av nabotoken {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} fra det midterste tokenet $W_0$.

bilde fra artikkel om konvertering av ord til vektorer

Bilde fra denne artikkelen

✍️ Eksempelnotatbøker: Trening av CBoW-modell

Fortsett læringen i følgende notatbøker:

Konklusjon

I forrige leksjon så vi at ordembeddinger fungerer som magi! Nå vet vi at trening av ordembeddinger ikke er en veldig kompleks oppgave, og vi bør kunne trene våre egne ordembeddinger for domenespesifikk tekst hvis nødvendig.

Gjennomgang og selvstudium

I laboratoriet utfordrer vi deg til å endre koden fra denne leksjonen for å trene en skip-gram-modell i stedet for CBoW. Les detaljene