本文主要是介绍python-pytorch实现skip-gram 0.5.001,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
python-pytorch实现skip-gram 0.5.000
- 数据加载、切词
- 准备训练数据
- 准备模型和参数
- 训练
- 保存模型
- 加载模型
- 简单预测
- 获取词向量
- 画一个词向量的分布图
- 使用词向量计算相似度
- 参考
数据加载、切词
按照链接https://blog.csdn.net/m0_60688978/article/details/137538274操作后,可以获得的数据如下
- wordList 文本中所有的分词,放入这个数组中
- raw_text 这个可以忽略,相当于wordlist的备份,防止数据污染了
- vocab 将wordList转变为set,即set(wordList)
- vocab_size 所有分词的个数
- word_to_idx 字典格式,汉字对应索引
- idx_to_word 字典格式,索引对应汉字
准备训练数据
data3 = []
window_size1=2
for i,word in enumerate(raw_text):target = raw_text[i]contexts=raw_text[max(i - window_size1, 0): min(i + window_size1 + 1, len(raw_text))]for context in contexts:if target!=context:data3.append((context,target))
data3,len(data3)
准备模型和参数
# 超参数
learning_rate = 0.003
device = torch.device('cpu')
embedding_dim = 100
epoch = 10
class SkipGramModel(nn.Module):def __init__(self, vocab_size, embedding_dim):super(SkipGramModel, self).__init__()self.embedding = nn.Embedding
这篇关于python-pytorch实现skip-gram 0.5.001的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!