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, ignorerer semantiske relasjoner, og produserer høy-dimensjonale, sparsomme vektorer som blir beregningsmessig ineffektive med store tekstkorpuser.
Ordinnbeddinger løser disse problemene ved å ta hensyn til konteksten ordene opptrer i, og gir en mer nyansert forståelse av språk.
Word embeddings er tette vektorrepresentasjoner av ord i et kontinuerlig vektorrom der semantisk like ord plasseres nær hverandre.
Flere modeller og teknikker har blitt utviklet for å generere meningsfulle word embeddings:
-
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 kontekst, og Skip-gram, som predikerer kontekstord ut fra et gitt ord;
-
GloVe: utviklet ved Stanford, genererer GloVe (global vectors) word embeddings ved å analysere globale samforekomststatistikker for ord i hele korpuset, og fanger opp 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-gram. 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 ord-embeddinger. Siden FastText kun er en forbedret versjon av Word2Vec, hopper vi over den og fokuserer kun på Word2Vec.
Hvordan fungerer Word2Vec?
Word2Vec omformer 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 treningen.
La oss se på et eksempel med et vindustørrelse lik 2 for å gjøre det tydelig:
En kontekstvindusstørrelse på 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 tekstgrensene. Som du ser, 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