1. glove转为word2vec
两句代码,
from gensim.scripts.glove2word2vec import glove2word2vec
glove2word2vec('glove.840B.300d.txt', 'test.txt')
# 参数(glove文件路径,目标文件路径)
2. torchtext生成embedding
import torch
import numpy as np
import torch.nn as nn
from torch.autograd import Variable
from torchtext import data
import os
from torchtext.vocab import Vectors
train_data = [ ['3', '15', '2', '7'] ]
# 加载本地预训练词向量文件,并读入vector中
if not os.path.exists('.vector_cache'):
os.mkdir('.vector_cache')
# 本地不存在.txt,会自动下载这个文件
vector = Vectors(name='glove.840B.300d.txt')
# 利用torchtext建词汇表,词向量作为参数
TEXT =data.Field(sequential=True)
TEXT.build_vocab(train_data, vectors=vector)
# 查看vocab字典、向量、以及字典长度
print(TEXT.vocab.stoi)
print(TEXT.vocab.vectors)
print(len(T