word2vec原理
- 概念
一句话中,连续的词之前是有内在联系的,那么可以借助这种关系来学习出每个词的向量表示。这样做的好处是,可以更充分利用先验知识,提升下游任务的效果。 - 例子
content=我/是/自然语言/工程师,‘自然语言’与‘我’、‘的’、‘工程师’三个词强相关,所以可以通过 我/是/x/工程师 来预测x位置的词
网络结构
- 简单模型
– 使用一个词预测一个词的概率,我/是/自然语言/工程师,通过‘我’预测‘我’的概率,看起来有点奇怪,但这正是这神奇的地方;
– 具体网络结构如下:
这里需要注意几个参数:x表示输入词(初始化的时候用one-hot编码),V表示整个训练语料中词的大小,h表示隐层神经元,N表示神经元个数,y表示输出词;
衍生几个问题:
1.最终输出的词向量在哪?
W V ∗ N 和 W V ∗ N / 都 可 以 作 为 词 向 量 , 一 般 情 况 下 选 择 W V ∗ N 作 为 词 向 量 W_{V*N}和W_{V*N}^/都可以作为词向量,一般情况下选择W_{V*N}作为词向量 WV∗N和WV∗N/都可以作为词向量,一般情况下选择WV∗N作为词向量
2.怎样构造目标函数和损失函数,并且怎样去优化它?
构造目标函数
-
目标函数