Grunnleggende om Word Embeddings
Forståelse av ordinnbeddinger
Tradisjonelle metoder for tekstrepresentasjon som bag of words og TF-IDF har betydelige begrensninger. De behandler ord isolert, uten å ta hensyn til semantiske relasjoner, og produserer høy-dimensjonale, sparsomme vektorer som blir beregningsmessig ineffektive med store tekstsamlinger.
Ordinnbeddinger løser disse utfordringene ved å ta hensyn til konteksten ordene opptrer i, og gir en mer nyansert forståelse av språk.
Ordinnbeddinger er tette vektorrepresentasjoner av ord i et kontinuerlig vektorrom hvor semantisk like ord plasseres nær hverandre.
Flere modeller og teknikker har blitt utviklet for å generere meningsfulle ordrepresentasjoner:
-
Word2Vec: utviklet av Google, representerer Word2Vec ord som tette vektorer ved hjelp av to arkitekturer: continuous bag of words (CBoW), som predikerer et ord ut fra dets omkringliggende kontekst, og Skip-gram, som predikerer omkringliggende ord ut fra et gitt ord;
-
GloVe: utviklet ved Stanford, genererer GloVe (global vectors) ordrepresentasjoner ved å analysere globale samforekomststatistikker for ord i hele korpuset, og fanger semantiske relasjoner basert på hvor ofte ordpar forekommer sammen;
-
FastText: introdusert av Facebook AI Research, bygger FastText videre på Word2Vec ved å representere ord som en samling av tegn n-grammer. Dette gjør det mulig å modellere subord-informasjon, noe som forbedrer evnen til å håndtere sjeldne og ukjente ord, samt språk med rik morfologi.
Word2Vec og FastText er de mest brukte modellene for å generere ordrepresentasjoner. Siden FastText kun er en forbedret versjon av Word2Vec, vil vi hoppe over den og kun fokusere på Word2Vec.
Hvordan fungerer Word2Vec?
Word2Vec transformerer ord til vektorer ved hjelp av en prosess som starter med one-hot encoding, der hvert ord i et vokabular representeres av en unik vektor markert med en enkelt 1 blant nuller. La oss se på et eksempel:
Denne vektoren fungerer som input til et nevralt nettverk, som er utformet for å «lære» ord-embeddingene. Nettverkets arkitektur kan følge en av to modeller:
- CBoW (continuous bag of words): predikerer et målord basert på konteksten gitt av omkringliggende ord;
- Skip-gram: predikerer de omkringliggende kontekstordene basert på målordet.
I begge Word2Vec-arkitekturene, under hver treningsiterasjon, får modellen et målord og ordene rundt det som kontekst representert som one-hot-kodede vektorer. Treningsdatasettet består dermed effektivt av disse parene eller gruppene, hvor hvert målord er assosiert med sine omkringliggende kontekstord.
Hvert ord i vokabularet får være målord etter tur når modellen itererer gjennom teksten ved hjelp av en glidende kontekstvindu-teknikk. Denne teknikken beveger seg systematisk over hvert ord, og sikrer grundig læring fra alle mulige kontekster i korpuset.
Et kontekstvindu er et fast antall ord rundt et målord som modellen bruker for å lære konteksten. Det definerer hvor mange ord før og etter målordet som tas med i betraktning under trening.
Vi ser nærmere på et eksempel med et vindustørrelse lik 2 for å gjøre det tydelig:
Et kontekstvindu med størrelse 2 betyr at modellen vil inkludere opptil 2 ord fra både venstre og høyre side av målordet, så lenge disse ordene er tilgjengelige innenfor tekstens grenser. Som du kan se, hvis det er færre enn 2 ord på en av sidene, vil modellen inkludere så mange ord som er tilgjengelige.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.45
Grunnleggende om Word Embeddings
Sveip for å vise menyen
Forståelse av ordinnbeddinger
Tradisjonelle metoder for tekstrepresentasjon som bag of words og TF-IDF har betydelige begrensninger. De behandler ord isolert, uten å ta hensyn til semantiske relasjoner, og produserer høy-dimensjonale, sparsomme vektorer som blir beregningsmessig ineffektive med store tekstsamlinger.
Ordinnbeddinger løser disse utfordringene ved å ta hensyn til konteksten ordene opptrer i, og gir en mer nyansert forståelse av språk.
Ordinnbeddinger er tette vektorrepresentasjoner av ord i et kontinuerlig vektorrom hvor semantisk like ord plasseres nær hverandre.
Flere modeller og teknikker har blitt utviklet for å generere meningsfulle ordrepresentasjoner:
-
Word2Vec: utviklet av Google, representerer Word2Vec ord som tette vektorer ved hjelp av to arkitekturer: continuous bag of words (CBoW), som predikerer et ord ut fra dets omkringliggende kontekst, og Skip-gram, som predikerer omkringliggende ord ut fra et gitt ord;
-
GloVe: utviklet ved Stanford, genererer GloVe (global vectors) ordrepresentasjoner ved å analysere globale samforekomststatistikker for ord i hele korpuset, og fanger semantiske relasjoner basert på hvor ofte ordpar forekommer sammen;
-
FastText: introdusert av Facebook AI Research, bygger FastText videre på Word2Vec ved å representere ord som en samling av tegn n-grammer. Dette gjør det mulig å modellere subord-informasjon, noe som forbedrer evnen til å håndtere sjeldne og ukjente ord, samt språk med rik morfologi.
Word2Vec og FastText er de mest brukte modellene for å generere ordrepresentasjoner. Siden FastText kun er en forbedret versjon av Word2Vec, vil vi hoppe over den og kun fokusere på Word2Vec.
Hvordan fungerer Word2Vec?
Word2Vec transformerer ord til vektorer ved hjelp av en prosess som starter med one-hot encoding, der hvert ord i et vokabular representeres av en unik vektor markert med en enkelt 1 blant nuller. La oss se på et eksempel:
Denne vektoren fungerer som input til et nevralt nettverk, som er utformet for å «lære» ord-embeddingene. Nettverkets arkitektur kan følge en av to modeller:
- CBoW (continuous bag of words): predikerer et målord basert på konteksten gitt av omkringliggende ord;
- Skip-gram: predikerer de omkringliggende kontekstordene basert på målordet.
I begge Word2Vec-arkitekturene, under hver treningsiterasjon, får modellen et målord og ordene rundt det som kontekst representert som one-hot-kodede vektorer. Treningsdatasettet består dermed effektivt av disse parene eller gruppene, hvor hvert målord er assosiert med sine omkringliggende kontekstord.
Hvert ord i vokabularet får være målord etter tur når modellen itererer gjennom teksten ved hjelp av en glidende kontekstvindu-teknikk. Denne teknikken beveger seg systematisk over hvert ord, og sikrer grundig læring fra alle mulige kontekster i korpuset.
Et kontekstvindu er et fast antall ord rundt et målord som modellen bruker for å lære konteksten. Det definerer hvor mange ord før og etter målordet som tas med i betraktning under trening.
Vi ser nærmere på et eksempel med et vindustørrelse lik 2 for å gjøre det tydelig:
Et kontekstvindu med størrelse 2 betyr at modellen vil inkludere opptil 2 ord fra både venstre og høyre side av målordet, så lenge disse ordene er tilgjengelige innenfor tekstens grenser. Som du kan se, hvis det er færre enn 2 ord på en av sidene, vil modellen inkludere så mange ord som er tilgjengelige.
Takk for tilbakemeldingene dine!