Embeddings

fasttext_embedding

Fasttext_embedding

class mindnlp.modules.embeddings.fasttext_embedding.Fasttext(vocab: Vocab, init_embed, requires_grad: bool = True, dropout=0.0)[源代码]

基类:TokenEmbedding

embedding层.

参数
  • vocab (Vocab) – 传入vocab用于初始化.

  • init_embed (Tensor) – 用传入的Tensor直接初始化embedding.

  • requires_grad (bool) – 参数是否需要梯度下降来更新.默认值:True.

  • dropout (float) – Embedding层的Dropout丢弃率.默认值:0.5.

示例

>>> vocab = Vocab.from_list(['default','one','two','three'])
>>> init_embed = Tensor(np.zeros((4, 4)).astype(np.float32))
>>> fasttext_embed = Fasttext(vocab, init_embed)
>>> ids = Tensor([1, 2, 3])
>>> output = fasttext_embed(ids)
construct(ids)[源代码]
参数

ids (Tensor) – 通过embedding查询的词典下标。

返回

  • Tensor, 返回embedding运算结果.

dims = [300]
classmethod from_pretrained(name='1M', dims=300, root='/home/docs/.mindnlp', special_tokens=('<pad>', '<unk>'), special_first=True, **kwargs)[源代码]

从预训练词向量创建embedding.

参数
  • name (str) – 预训练词向量的名字.默认值:”1M”.

  • dims (int) – 预训练词向量的维度.默认值:300.

  • root (str) – 默认保存路径.默认值:DEFAULT_ROOT.

  • special_tokens (tuple<str,str>) – 由特殊token组成的list.默认值:(“<pad>”, “<unk>”).

  • special_first (bool) – 是否添加special_tokens中的元素到字典头部.如果为True,则添加到头部,反之添加到尾部。默认值:True.

  • kwargs (dict) –

    • requires_grad (bool): 参数是否需要梯度下降来更新.默认值: True.

    • dropout (float): Embedding层的Dropout丢弃率.默认值:0.5.

返回

  • Fasttext, 返回一个由预训练词向量生成的embedding.

  • Vocab, 从词向量文件中提取的词汇.

classmethod load(foldername=None, root='/home/docs/.mindnlp', load_npy=False, vocab=None, npy_path=None)[源代码]

通过指定路径的参数文件初始化embedding.

参数
  • foldername (str) – 加载embedding所在的目录名.默认值:None.

  • root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.

  • load_npy (Bool) – 是否以npy文件的方式初始化embedding.当load_npy为True时,Vocab和npy_path有效。默认值:False.

  • vocab (Vocab) – 如果用npy文件初始化,则传入Vocab.默认值:None.

  • npy_path (Path) – npy文件的路径.默认值:None.

返回

None

save(foldername, root='/home/docs/.mindnlp')[源代码]

保存embedding到指定路径.

参数
  • foldername (str) – 保存embedding参数的目录名.

  • root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.

返回

None

urls = {'1M': 'https://dl.fbaipublicfiles.com/fasttext/vectors-english/wiki-news-300d-1M.vec.zip', '1M-subword': 'https://dl.fbaipublicfiles.com/fasttext/vectors-english/wiki-news-300d-1M-subword.vec.zip'}

glove_embedding

glove_embedding

class mindnlp.modules.embeddings.glove_embedding.Glove(vocab: Vocab, init_embed, requires_grad: bool = True, dropout=0.0)[源代码]

基类:TokenEmbedding

embedding层.

参数
  • vocab (Vocab) – 传入vocab用于初始化.

  • init_embed (Tensor) – 用传入的Tensor直接初始化embedding.

  • requires_grad (bool) – 参数是否需要梯度下降来更新.默认值:True.

  • dropout (float) – Embedding层的Dropout丢弃率.默认值:0.5.

示例

>>> vocab = Vocab.from_list(['default','one','two','three'])
>>> init_embed = Tensor(np.zeros((4, 4)).astype(np.float32))
>>> glove_embed = Glove(vocab, init_embed)
>>> ids = Tensor([1, 2, 3])
>>> output = glove_embed(ids)
construct(ids)[源代码]
参数

ids (Tensor) – 通过embedding查询的词典下标。

返回

  • Tensor, 返回embedding运算结果.

dims = [50, 100, 200, 300]
classmethod from_pretrained(name='6B', dims=300, root='/home/docs/.mindnlp', special_tokens=('<pad>', '<unk>'), special_first=True, **kwargs)[源代码]

从预训练词向量创建embedding.

参数
  • name (str) – 预训练词向量的名字.默认值:’6B’.

  • dims (int) – 预训练词向量的维度.默认值:300.

  • root (str) – 默认保存路径.默认值:DEFAULT_ROOT.

  • special_tokens (tuple<str,str>) – 由特殊token组成的list.默认值:(“<pad>”, “<unk>”).

  • special_first (bool) – 是否添加special_tokens中的元素到字典头部.如果为True,则添加到头部,反之添加到尾部。默认值:True.

  • kwargs (dict) –

    • requires_grad (bool): 参数是否需要梯度下降来更新.默认值: True.

    • dropout (float): Embedding层的Dropout丢弃率.默认值:0.5.

返回

  • Glove, 返回一个由预训练词向量生成的embedding.

  • Vocab, 从词向量文件中提取的词汇.

classmethod load(foldername=None, root='/home/docs/.mindnlp', load_npy=False, vocab=None, npy_path=None)[源代码]

通过指定路径的参数文件初始化embedding.

参数
  • foldername (str) – 加载embedding所在的目录名.默认值:None.

  • root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.

  • load_npy (Bool) – 是否以npy文件的方式初始化embedding.当load_npy为True时,Vocab和npy_path有效。默认值:False.

  • vocab (Vocab) – 如果用npy文件初始化,则传入Vocab.默认值:None.

  • npy_path (Path) – npy文件的路径.默认值:None.

返回

None

save(foldername, root='/home/docs/.mindnlp')[源代码]

保存embedding到指定路径.

参数
  • foldername (str) – 保存embedding参数的目录名.

  • root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.

返回

None

urls = {'42B': 'http://nlp.stanford.edu/data/glove.42B.300d.zip', '6B': 'http://nlp.stanford.edu/data/glove.6B.zip', '840B': 'http://nlp.stanford.edu/data/glove.840B.300d.zip', 'twitter.27B': 'http://nlp.stanford.edu/data/glove.twitter.27B.zip'}

word2vec_embedding

Word2vec_embedding

class mindnlp.modules.embeddings.word2vec_embedding.Word2vec(vocab: Vocab, init_embed, requires_grad: bool = True, dropout=0.0)[源代码]

基类:TokenEmbedding

embedding层.

参数
  • vocab (Vocab) – 传入vocab用于初始化.

  • init_embed (Tensor) – 用传入的Tensor直接初始化embedding.

  • requires_grad (bool) – 参数是否需要梯度下降来更新.默认值:True.

  • dropout (float) – Embedding层的Dropout丢弃率.默认值:0.5.

示例

>>> vocab = Vocab.from_list(['default','one','two','three'])
>>> init_embed = Tensor(np.zeros((4, 4)).astype(np.float32))
>>> word2vec_embed = Word2vec(vocab, init_embed)
>>> ids = Tensor([1, 2, 3])
>>> output = word2vec_embed(ids)
construct(ids)[源代码]
参数

ids (Tensor) – 通过embedding查询的词典下标。

返回

  • Tensor, 返回embedding运算结果.

dims = [300]
classmethod from_pretrained(name='google-news', dims=300, root='/home/docs/.mindnlp', special_tokens=('<pad>', '<unk>'), special_first=True, use_gensim=True, **kwargs)[源代码]

从预训练词向量创建embedding.

参数
  • name (str) – 预训练词向量的名字。默认值:’google-news’.

  • dims (int) – 预训练词向量的维度.默认值:300.

  • root (str) – 默认保存路径.默认值:DEFAULT_ROOT.

  • special_tokens (tuple<str,str>) – 由特殊token组成的list.默认值:(“<pad>”, “<unk>”).

  • special_first (bool) – 是否添加special_tokens中的元素到字典头部.如果为True,则添加到头部,反之添加到尾部。默认值:True.

  • use_gensim (bool) – 是否用gensim库加载词向量.若为True则表示使用gensim库.默认值:True.

  • kwargs (dict) –

    • requires_grad (bool): 参数是否需要梯度下降来更新.默认值: True.

    • dropout (float): Embedding层的Dropout丢弃率.默认值:0.5.

返回

  • Word2vec, 返回一个由预训练词向量生成的embedding.

  • Vocab, 从词向量文件中提取的词汇.

classmethod load(foldername=None, root='/home/docs/.mindnlp', load_npy=False, vocab=None, npy_path=None)[源代码]

通过指定路径的参数文件初始化embedding.

参数
  • foldername (str) – 加载embedding所在的目录名.默认值:None.

  • root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.

  • load_npy (Bool) – 是否以npy文件的方式初始化embedding.当load_npy为True时,Vocab和npy_path有效。默认值:False.

  • vocab (Vocab) – 如果用npy文件初始化,则传入Vocab.默认值:None.

  • npy_path (Path) – npy文件的路径.默认值:None.

返回

None

save(foldername, root='/home/docs/.mindnlp')[源代码]

保存embedding到指定路径.

参数
  • foldername (str) – 保存embedding参数的目录名.

  • root (Path) – embedding参数文件所在的路径.默认值:DEFAULT_ROOT.

返回

None

urls = {'google-news': 'https://github.com/RaRe-Technologies/gensim-data/releases/download/word2vec-google-news-300/word2vec-google-news-300.gz'}

Embedding class