【Pytorch】学习记录分享7------PyTorch自然语言处理基础-词向量模型Word2Vec
-
-
- [1. 词向量模型Word2Vec)](#1. 词向量模型Word2Vec))
-
- [1. 如何度量这个单词的?](#1. 如何度量这个单词的?)
- 2.词向量是什么样子?
- 3.词向量对应的热力图:
- 4.词向量模型的输入与输出![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5ab5dc810a724ae883574a8bc58aeff8.png)
- 2.如何构建训练数据
-
- [2.1 构建训练数据](#2.1 构建训练数据)
- [2.2 不同模型对比(传入中间词预测上下文,传入上下文,预测中间词汇)](#2.2 不同模型对比(传入中间词预测上下文,传入上下文,预测中间词汇))
- 3.如何训练
-
- [3.1 如何设计驯联网络](#3.1 如何设计驯联网络)
- [3.2 改进方案:加入一些负样本(负采样模型)](#3.2 改进方案:加入一些负样本(负采样模型))
- [3.3 词向量训练过程](#3.3 词向量训练过程)
-
1. 词向量模型Word2Vec)
1. 如何度量这个单词的?
2.词向量是什么样子?
3.词向量对应的热力图:
4.词向量模型的输入与输出
2.如何构建训练数据
2.1 构建训练数据
类似wiki与合乎说话逻辑的文本均可以作为训练数据
2.2 不同模型对比(传入中间词预测上下文,传入上下文,预测中间词汇)
CBOW:
Skip-gram模型所需训练数据集 :
3.如何训练
3.1 如何设计驯联网络
如果一个语料库稍微大一些,可能的结果简直太多了,最后一层相当于softmax,计算起来十分耗时,有什么办法来解决嘛?
初始方案:输入两个单词,看他们是不是前后对应的输入和输出,也就相当于一个二分类任务,但是这样做之后
出发点非常好,但是此时训练集构建出来的标签全为1,无法进行较好的训练
3.2 改进方案:加入一些负样本(负采样模型)
3.3 词向量训练过程
1.初始化词向量矩阵
2.通过神经网络返向传播来计算更新,此时不光更新权重参数矩阵W,也会更新输入数据