Grunderna i Word Embeddings
Förståelse av ordinbäddningar
Traditionella metoder för textrepresentation, såsom bag of words och TF-IDF, har betydande begränsningar. De behandlar ord isolerat, ignorerar semantiska relationer och producerar högdimensionella, glesa vektorer som blir beräkningsmässigt ineffektiva vid stora textkorpusar.
Ordinbäddningar hanterar dessa problem genom att ta hänsyn till det sammanhang där ord förekommer, vilket ger en mer nyanserad förståelse av språk.
Ordinbäddningar är täta vektorrepresentationer av ord i ett kontinuerligt vektorrum där semantiskt liknande ord placeras nära varandra.
Flera modeller och tekniker har utvecklats för att generera meningsfulla ordinbäddningar:
-
Word2Vec: utvecklad av Google, representerar Word2Vec ord som täta vektorer med hjälp av två arkitekturer: continuous bag of words (CBoW), som förutsäger ett ord utifrån dess omgivande kontext, och Skip-gram, som förutsäger omgivande ord utifrån ett givet ord;
-
GloVe: skapad vid Stanford, genererar GloVe (global vectors) ordinbäddningar genom att analysera globala samförekomststatistik för ord över hela korpuset, och fångar semantiska relationer baserat på hur ofta ordpar förekommer tillsammans;
-
FastText: introducerad av Facebook AI Research, bygger FastText vidare på Word2Vec genom att representera ord som en samling av tecken-n-gram. Detta gör det möjligt att modellera subordsinformation, vilket förbättrar dess förmåga att hantera ovanliga och utanför-ordförrådet-ord samt morfologiskt rika språk.
Word2Vec och FastText är de vanligaste modellerna för att generera ordinbäddningar. Eftersom FastText endast är en förbättrad version av Word2Vec kommer vi dock att utelämna den och fokusera enbart på Word2Vec.
Hur fungerar Word2Vec?
Word2Vec omvandlar ord till vektorer genom en process som börjar med one-hot encoding, där varje ord i ett ordförråd representeras av en unik vektor markerad med en enda 1 bland nollor. Låt oss titta på ett exempel:
Denna vektor fungerar som indata till ett neuralt nätverk, vilket är utformat för att "lära sig" ordinbäddningar. Nätverkets arkitektur kan följa en av två modeller:
- CBoW (continuous bag of words): förutsäger ett målord baserat på kontexten från omgivande ord;
- Skip-gram: förutsäger de omgivande kontextorden baserat på målordet.
I båda Word2Vec-arkitekturerna, under varje träningsiteration, får modellen ett målord och orden runt omkring som kontext representerade som one-hot-kodade vektorer. Träningsdatasetet består därmed av dessa par eller grupper, där varje målord är associerat med sina omgivande kontextord.
Varje ord i vokabulären får vara målord när modellen itererar genom texten med hjälp av en glidande kontextfönster-teknik. Denna teknik flyttar sig systematiskt över varje ord och säkerställer att modellen lär sig från alla möjliga kontexter i korpuset.
Ett kontextfönster är ett fast antal ord runt ett målord som modellen använder för att lära sig dess kontext. Det definierar hur många ord före och efter målordet som tas med under träningen.
Vi tittar på ett exempel med ett fönsterstorlek lika med 2 för att tydliggöra detta:
En kontextfönsterstorlek på 2 innebär att modellen inkluderar upp till 2 ord från både vänster och höger sida om målordet, så länge dessa ord finns tillgängliga inom textens gränser. Om det finns färre än 2 ord på någon sida, kommer modellen att inkludera så många ord som är tillgängliga.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.45
Grunderna i Word Embeddings
Svep för att visa menyn
Förståelse av ordinbäddningar
Traditionella metoder för textrepresentation, såsom bag of words och TF-IDF, har betydande begränsningar. De behandlar ord isolerat, ignorerar semantiska relationer och producerar högdimensionella, glesa vektorer som blir beräkningsmässigt ineffektiva vid stora textkorpusar.
Ordinbäddningar hanterar dessa problem genom att ta hänsyn till det sammanhang där ord förekommer, vilket ger en mer nyanserad förståelse av språk.
Ordinbäddningar är täta vektorrepresentationer av ord i ett kontinuerligt vektorrum där semantiskt liknande ord placeras nära varandra.
Flera modeller och tekniker har utvecklats för att generera meningsfulla ordinbäddningar:
-
Word2Vec: utvecklad av Google, representerar Word2Vec ord som täta vektorer med hjälp av två arkitekturer: continuous bag of words (CBoW), som förutsäger ett ord utifrån dess omgivande kontext, och Skip-gram, som förutsäger omgivande ord utifrån ett givet ord;
-
GloVe: skapad vid Stanford, genererar GloVe (global vectors) ordinbäddningar genom att analysera globala samförekomststatistik för ord över hela korpuset, och fångar semantiska relationer baserat på hur ofta ordpar förekommer tillsammans;
-
FastText: introducerad av Facebook AI Research, bygger FastText vidare på Word2Vec genom att representera ord som en samling av tecken-n-gram. Detta gör det möjligt att modellera subordsinformation, vilket förbättrar dess förmåga att hantera ovanliga och utanför-ordförrådet-ord samt morfologiskt rika språk.
Word2Vec och FastText är de vanligaste modellerna för att generera ordinbäddningar. Eftersom FastText endast är en förbättrad version av Word2Vec kommer vi dock att utelämna den och fokusera enbart på Word2Vec.
Hur fungerar Word2Vec?
Word2Vec omvandlar ord till vektorer genom en process som börjar med one-hot encoding, där varje ord i ett ordförråd representeras av en unik vektor markerad med en enda 1 bland nollor. Låt oss titta på ett exempel:
Denna vektor fungerar som indata till ett neuralt nätverk, vilket är utformat för att "lära sig" ordinbäddningar. Nätverkets arkitektur kan följa en av två modeller:
- CBoW (continuous bag of words): förutsäger ett målord baserat på kontexten från omgivande ord;
- Skip-gram: förutsäger de omgivande kontextorden baserat på målordet.
I båda Word2Vec-arkitekturerna, under varje träningsiteration, får modellen ett målord och orden runt omkring som kontext representerade som one-hot-kodade vektorer. Träningsdatasetet består därmed av dessa par eller grupper, där varje målord är associerat med sina omgivande kontextord.
Varje ord i vokabulären får vara målord när modellen itererar genom texten med hjälp av en glidande kontextfönster-teknik. Denna teknik flyttar sig systematiskt över varje ord och säkerställer att modellen lär sig från alla möjliga kontexter i korpuset.
Ett kontextfönster är ett fast antal ord runt ett målord som modellen använder för att lära sig dess kontext. Det definierar hur många ord före och efter målordet som tas med under träningen.
Vi tittar på ett exempel med ett fönsterstorlek lika med 2 för att tydliggöra detta:
En kontextfönsterstorlek på 2 innebär att modellen inkluderar upp till 2 ord från både vänster och höger sida om målordet, så länge dessa ord finns tillgängliga inom textens gränser. Om det finns färre än 2 ord på någon sida, kommer modellen att inkludera så många ord som är tillgängliga.
Tack för dina kommentarer!