2.5 学习词嵌入(Learning Word Embeddings)
Last updated
Last updated
embedding matrix 可以通过构建自然语言模型,运用梯度下降算法得到。若输入样本是:
I want a glass of orange (juice).
通过这句话的前6个单词,预测最后的单词“juice”。未知待求,每个单词可用embedding vector 表示。构建的神经网络模型结构如下图所示:
神经网络输入层包含6个embedding vectors,每个embedding vector维度是300,则输入层总共有1800个输入。Softmax层有10000个概率输出,与词汇表包含的单词数目一致。正确的输出label是“juice”。其中为待求值。对足够的训练例句样本,运用梯度下降算法,迭代优化,最终求出embedding matrix
这种算法的效果还不错,能够保证具有相似属性单词的embedding vector相近
为了让神经网络输入层数目固定,可以选择只取预测单词的前4个单词作为输入,例如该句中只选择“a glass of orange”四个单词作为输入。这里的4是超参数,可调
把输入叫做context,输出叫做target。对应到上面这句话里:
context: a glass of orange
target: juice
关于context的选择有多种方法:
target前n个单词或后n个单词,n可调
target前1个单词
target附近某1个单词(Skip-Gram)
事实证明,不同的context选择方法都能计算出较准确的embedding matrix