torchtext建立词表build_vocab()时使用自己的word2vec模型

代码如下:

如果对于torchtext本身不太了解,可以参考:torchtext处理文本数据——构造dataset读取文本(学习一):torchtext处理文本数据——构造dataset读取文本(学习一)

from torchtext import data

COMMENT = data.Field()
fields = [('name', None), ('comment', COMMENT)]

train = data.TabularDataset.splits(
    path='./',
    train='my_data.csv',
    format='csv',
    skip_header=True,
    fields=fields)
train = train[0]
# =========================上面都是torchtext的模板,下面开始自定义一个word2vec模型=========================
from gensim.models import Word2Vec

word2vec_model = Word2Vec([
    ['i', 'am', 'a', 'train', 'sentence', 'one'],
    ['i', 'am', 'a', 'love', 'sentence', 'two'],
    ['i', 'love', 'you'],
    ['you', 'love', 'me'],
], vector_size=256, min_count=1, window=5, sg=0)  # 这里训练了一个超级差劲的模型,但是意思就是这个意思
word2vec_model.wv.save_word2vec_format('my_word2vec_format.txt')  # 关键步骤,一定要写入到文件中
# =========================训练好后构建全部词表=========================
from torchtext.vocab import Vectors

vectors = Vectors(name='my_word2vec_format.txt')  # 关键步骤,一定要从文件中读取到Vectors中
COMMENT.build_vocab(train, vectors=vectors)
love_index = COMMENT.vocab.stoi['love']
print(love_index)  # love这个单词的下标
print("love的词向量:", COMMENT.vocab.vectors[love_index])
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆萌的代Ma

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值