Grundlæggende om Word Embeddings
Forståelse af Word Embeddings
Traditionelle metoder til tekstrepræsentation som bag of words og TF-IDF har væsentlige begrænsninger. De behandler ord isoleret og ignorerer semantiske relationer, samt producerer høj-dimensionelle, sparsomme vektorer, der bliver beregningsmæssigt ineffektive med store tekstsamlinger.
Word embeddings løser disse problemer ved at tage hensyn til den kontekst, hvori ord optræder, hvilket giver en mere nuanceret forståelse af sprog.
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 blevet 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: skabt på Stanford, genererer GloVe (global vectors) word embeddings ved at analysere globale ords samforekomststatistikker på tværs af hele korpuset, hvilket indfanger 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.
Word2Vec og FastText er de mest anvendte modeller til generering af word embeddings. Da FastText blot er en forbedret version af Word2Vec, vil vi dog springe den over og kun fokusere 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. Lad os se på et eksempel:
Denne vektor fungerer som input til et neuralt netværk, der er designet til at 'lære' ordindlejringerne. Netværkets arkitektur kan følge en af to modeller:
- CBoW (continuous bag of words): forudsiger et målord baseret på konteksten fra de omgivende ord;
- Skip-gram: forudsiger de omgivende kontekstord baseret på målordet.
I begge Word2Vec-arkitekturer får modellen under hver træningsiteration et målord og de omgivende ord 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 omgivende kontekstord.
Hvert ord i ordforrådet får på skift rollen som målord, når modellen gennemløber 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.
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.
Lad os se på et eksempel med en vinduesstørrelse på 2 for at gøre det tydeligt:
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.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain the main differences between Word2Vec, GloVe, and FastText?
How does the sliding context window impact the quality of word embeddings?
Can you provide a simple example of how Word2Vec learns word relationships?
Awesome!
Completion rate improved to 3.45
Grundlæggende om Word Embeddings
Stryg for at vise menuen
Forståelse af Word Embeddings
Traditionelle metoder til tekstrepræsentation som bag of words og TF-IDF har væsentlige begrænsninger. De behandler ord isoleret og ignorerer semantiske relationer, samt producerer høj-dimensionelle, sparsomme vektorer, der bliver beregningsmæssigt ineffektive med store tekstsamlinger.
Word embeddings løser disse problemer ved at tage hensyn til den kontekst, hvori ord optræder, hvilket giver en mere nuanceret forståelse af sprog.
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 blevet 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: skabt på Stanford, genererer GloVe (global vectors) word embeddings ved at analysere globale ords samforekomststatistikker på tværs af hele korpuset, hvilket indfanger 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.
Word2Vec og FastText er de mest anvendte modeller til generering af word embeddings. Da FastText blot er en forbedret version af Word2Vec, vil vi dog springe den over og kun fokusere 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. Lad os se på et eksempel:
Denne vektor fungerer som input til et neuralt netværk, der er designet til at 'lære' ordindlejringerne. Netværkets arkitektur kan følge en af to modeller:
- CBoW (continuous bag of words): forudsiger et målord baseret på konteksten fra de omgivende ord;
- Skip-gram: forudsiger de omgivende kontekstord baseret på målordet.
I begge Word2Vec-arkitekturer får modellen under hver træningsiteration et målord og de omgivende ord 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 omgivende kontekstord.
Hvert ord i ordforrådet får på skift rollen som målord, når modellen gennemløber 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.
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.
Lad os se på et eksempel med en vinduesstørrelse på 2 for at gøre det tydeligt:
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.
Tak for dine kommentarer!