在这一章中,我们将了解著名的词嵌入模型 - word2vec。Word2vec模型用于借助一组相关模型生成词嵌入。Word2vec模型是用纯C代码实现的,梯度是手动计算的。
下面是在PyTorch中实现word2vec模型的步骤:
步骤1
按照以下方式实现词嵌入中的库 -
import torch
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F
步骤2
使用名为word2vec的类实现词嵌入的Skip Gram模型。它包括emb_size、emb_dimension、u_embedding、v_embedding等类型的属性。
class SkipGramModel(nn.Module):
def __init__(self, emb_size, emb_dimension):
super(SkipGramModel, self).__init__()
self.emb_size = emb_size
self.emb_dimension = emb_dimension
self.u_embeddings = nn.Embedding(emb_size, emb_dimension, sparse=True)
self.v_embeddings =