20、PyTorch教程---词嵌入

在这一章中,我们将了解著名的词嵌入模型 - 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 = nn.Embedding(emb_size, emb_dimension, sparse = True)
      self.init_emb()
   def init_emb(self):
      initrange = 0.5 / self.emb_dimension
      self.u_embeddings.weight.data.uniform_(-init

猜你喜欢

转载自blog.csdn.net/Knowledgebase/article/details/133417488
今日推荐