Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grundlæggende om Word Embeddings | Ordindlejringer
Introduktion til NLP med Python

Grundlæggende om Word Embeddings

Stryg for at vise menuen

Forståelse af word embeddings

Traditionelle tekstrepræsentationsmetoder som bag of words og TF-IDF har væsentlige begrænsninger. De behandler ord isoleret, ignorerer semantiske relationer, og producerer høj-dimensionelle, sparsomme vektorer, som bliver beregningsmæssigt ineffektive ved store tekstsamlinger.

Ulemper

Word embeddings løser disse problemer ved at tage hensyn til den kontekst, som ord optræder i, og giver en mere nuanceret forståelse af sprog.

Note
Definition

Word embeddings er tætte vektorrepræsentationer af ord i et kontinuerligt vektorrum, hvor semantisk lignende ord placeres tæt på hinanden.

Flere modeller og teknikker er udviklet til at generere meningsfulde word embeddings:

  • Word2Vec: udviklet af Google, repræsenterer Word2Vec ord som tætte vektorer ved hjælp af to arkitekturer: continuous bag of words (CBoW), som forudsiger et ord ud fra dets omgivende kontekst, og Skip-gram, som forudsiger omgivende ord ud fra et givet ord;

  • GloVe: udviklet på Stanford, genererer GloVe (global vectors) word embeddings ved at analysere globale ords samforekomststatistikker på tværs af hele korpuset og fanger semantiske relationer baseret på hyppigheden af, hvor ofte ordpar optræder sammen;

  • FastText: introduceret af Facebook AI Research, bygger FastText videre på Word2Vec ved at repræsentere ord som en samling af tegn n-grammer. Dette gør det muligt at modellere subord-information, hvilket forbedrer evnen til at håndtere sjældne og ukendte ord samt morfologisk rige sprog.

Modeller

Word2Vec og FastText er de mest almindeligt anvendte modeller til generering af word embeddings. Da FastText blot er en forbedret version af Word2Vec, springer vi den over og fokuserer kun på Word2Vec.

Hvordan fungerer Word2Vec?

Word2Vec omdanner ord til vektorer ved hjælp af en proces, der starter med one-hot encoding, hvor hvert ord i et ordforråd repræsenteres af en unik vektor markeret med en enkelt 1 blandt nuller. Her er et eksempel:

One-hot encoding

Denne vektor fungerer som input til et neuralt netværk, der er designet til at 'lære' word embeddings. Netværkets arkitektur kan følge en af to modeller:

  • CBoW (continuous bag of words): forudsiger et målord baseret på konteksten fra de omkringliggende ord;
  • Skip-gram: forudsiger de omkringliggende kontekstord baseret på målordet.

I begge Word2Vec-arkitekturer får modellen under hver træningsiteration et målord og de ord, der omgiver det, som kontekst repræsenteret som one-hot kodede vektorer. Træningsdatasættet består således effektivt af disse par eller grupper, hvor hvert målord er forbundet med sine omkringliggende kontekstord.

Hvert ord i ordforrådet får på skift rollen som målord, når modellen gennemgår teksten ved hjælp af en glidende kontekstvindue-teknik. Denne teknik bevæger sig systematisk hen over hvert ord og sikrer omfattende læring fra alle mulige kontekster i korpuset.

Note
Definition

Et kontekstvindue er et fast antal ord omkring et målord, som modellen bruger til at lære dets kontekst. Det definerer, hvor mange ord før og efter målordet der tages i betragtning under træningen.

Her er et eksempel med en vinduesstørrelse på 2 for at gøre det tydeligt:

Glidende vindue

En kontekstvinduesstørrelse på 2 betyder, at modellen vil inkludere op til 2 ord fra både venstre og højre side af målordet, så længe disse ord er tilgængelige inden for tekstens grænser. Som du kan se, hvis der er færre end 2 ord på en af siderne, vil modellen inkludere så mange ord som muligt.

question mark

Hvad betyder et kontekstvindue på størrelse 5?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 1
some-alt