Word2Vec: Skip-gram e CBOW
Teoria do Word2Vec, implementação com gensim e aritmética vetorial (king - man + woman = queen).
Word2Vec: Skip-gram e CBOW é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Das palavras aos vetores
O aprendizado de máquina precisa de números, mas as palavras são símbolos. Representações vetoriais de palavras mapeiam cada palavra para um vetor denso, de modo que palavras semelhantes fiquem próximas no espaço vetorial.
A hipótese distribucional
Word2Vec baseia-se na ideia de que palavras que aparecem em contextos semelhantes têm significados semelhantes. Ao aprender a prever o contexto, o modelo captura o significado nos vetores.
Duas arquiteturas
Word2Vec tem dois esquemas de treinamento:
- CBOW prevê a palavra-alvo a partir do contexto ao seu redor
- Modelo de previsão do contexto prevê o contexto ao redor a partir da palavra-alvo
CBOW versus previsão contextual
CBOW é mais rápido e funciona bem com palavras frequentes. O modelo de previsão contextual é mais lento, mas lida melhor com palavras raras e conjuntos de dados pequenos. Ele costuma ser a escolha padrão quando a qualidade é prioridade.
Treinamento com gensim
A biblioteca gensim facilita o uso de Word2Vec. Você fornece sentences tokenizadas (listas de listas de palavras) e define a configuração da representação vetorial.
from gensim.models import Word2Vec
sentences = [["the", "cat", "sat"], ["the", "dog", "ran"]]
model = Word2Vec(sentences=sentences, vector_size=100, window=5, min_count=1)Parâmetros principais
Os principais controles são:
vector_sizedimensão da representação vetorial (por exemplo, 100–300)windowlargura do contexto ao redor de cada palavramin_countignora palavras menos frequentes que este valor
from gensim.models import Word2Vec
model = Word2Vec(
sentences,
vector_size=200,
window=5,
min_count=5,
)Escolhendo a previsão contextual com sg=1
O parâmetro sg seleciona a arquitetura: sg=0 usa CBOW (padrão), e sg=1 usa o modelo de previsão contextual.
from gensim.models import Word2Vec
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, sg=1)
# sg=1 -> skip-gramAcessando vetores de palavras
Os vetores treinados ficam em model.wv. Indexe-o por uma palavra para obter o vetor correspondente.
vec = model.wv["cat"]
print(vec.shape) # (vector_size,)
print("dog" in model.wv)Encontrando palavras semelhantes
wv.most_similar retorna as palavras cujos vetores estão mais próximos, uma forma rápida de verificar o que a representação vetorial aprendeu.
print(model.wv.most_similar("cat", topn=5))
# returns list of (word, similarity) pairsAritmética de palavras
A propriedade famosa: a matemática vetorial captura relações. rei - homem + mulher resulta próximo de rainha, mostrando que a representação vetorial codifica analogias.
result = model.wv.most_similar(
positive=["king", "woman"],
negative=["man"],
topn=1,
)
print(result) # often [("queen", 0.7...)]Usando representações vetoriais em tarefas posteriores
Para representar uma frase, calcule a média dos seus vetores de palavras e depois forneça esse resultado a qualquer classificador. As representações Word2Vec pré-treinadas também oferecem um ponto de partida sólido quando os seus dados são poucos.
import numpy as np
def sentence_vector(words, model):
vecs = [model.wv[w] for w in words if w in model.wv]
return np.mean(vecs, axis=0) if vecs else np.zeros(model.vector_size)Verificação rápida
Teste os seus conhecimentos sobre Word2Vec.
Recapitulação
Recapitulação: Word2Vec aprende vetores densos de palavras a partir do contexto. CBOW prevê uma palavra a partir do contexto (rápido); o modelo de previsão contextual (sg=1) prevê o contexto a partir de uma palavra (melhor para palavras raras). No gensim, defina vector_size, window e min_count e depois use wv.most_similar e analogias como rei - homem + mulher.
Perguntas Frequentes
A aula “Word2Vec: Skip-gram e CBOW” é grátis?
Sim — o texto completo de “Word2Vec: Skip-gram e CBOW” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Word2Vec: Skip-gram e CBOW”?
Teoria do Word2Vec, implementação com gensim e aritmética vetorial (king - man + woman = queen). Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Word2Vec: Skip-gram e CBOW”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Word2Vec: Skip-gram e CBOW
- Embeddings GloVe e FastText
- Classificação de texto com BERT
- Similaridade semântica e embeddings de sentenças