词向量作用
- 词的信息可以转换为向量表示
- 向量表示可以计算词与词之间的相似度(欧式距离、余弦距离等)
- 维度越高,向量表示的信息越多,从而计算结果的可靠性更高。
词向量中的数值通过热度图直观比较
man与boy之间的词向量有许多相似之处,说明这两个词有一定的关系。
模型整体框架
Look up embedding随机初始化词向量,然后通过神经网络模型训练。![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/fbc2aa5c9d62724a171c27d04fa4754e.png)
训练数据
通过滑动窗口(一般奇数)自动构建训练数据
不同架构模型(Cbow、Skipgram)
CBOW:通过上下文预测当前词。
Skipgram: 通过当前词预测上下文词。
负采样模型
为什么提出负采样?
根据以上滑动窗口预测下一个词,此表至少5万词,那么就会出现5万个类别,该方法不可取。
于是提出通过两个词去预测他们之间是连续的概率 ,但是构建出来的训练数据全是连续的,就没有错误标签,因此需要加入一些负样本。
训练更新参数,两个向量都在更新。
代码讲解
筛选
只够建前5万词,后面的标志位UNK(unkonwn)