前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[DeeplearningAI笔记]序列模型2.3-2.5余弦相似度/嵌入矩阵/学习词嵌入

[DeeplearningAI笔记]序列模型2.3-2.5余弦相似度/嵌入矩阵/学习词嵌入

作者头像
演化计算与人工智能
发布2020-08-14 14:35:41
6840
发布2020-08-14 14:35:41
举报

2.3 词嵌入的特性 properties of word embedding

“Mikolov T, Yih W T, Zweig G. Linguistic regularities in continuous space word representations[J]. In HLT-NAACL, 2013.

  • 词嵌入可以用来解决类比推理问题(reasonable analogies)
  • man 如果对应 woman,此时左方输入单词 king,能否有一种算法能自动推导出右边的单词(queen)呢?
  • 使用词嵌入表示方法,即 Man 表示为
e_{man}

,Woman 表示为

e_{woman}

,将两个单词相减得

e_{man}-e_{woman}=\left[\begin{matrix}-2\\-0.01\\0.01\\0.08\\\end{matrix}\right]

,

e_{king}-e_{queen}=\left[\begin{matrix}-1.92\\-0.02\\0.01\\0.01\\\end{matrix}\right]

,根据向量表示 man 和 woman 的主要差异在性别 Gender 上,而 king 和 queen 的主要差异也是在 Gender 上。

  • 在做类比推理的任务时:
    • 首先计算
    e_{man}-e_{woman}

    的值

    • 然后计算
    e_{king}-e_{all}

    集合

    • 再取
    e_{king}-e_{all}

    集合中和

    e_{man}-e_{woman}

    值最接近的那个值,认为是 King 类比推理后的结果。

    e_{man}-e_{woman}\approx e_{king}-e_{queen?}
    e_{w}\approx e_{king}-e_{man}+e_{woman}
  • 在 300D 的数据中,寻找的平行的向量如图所示:
  • 但是经过 t-SNE 后,高维数据被映射到 2 维空间,则此时寻找平行向量的方法不再适用于这种情况。
余弦相似度 (Cosine similarity)
Sim(u,v)=\frac{u^{T}{v}}{\parallel u\parallel_2 \parallel v\parallel_2}
  • 其中二范数即
\parallel u\parallel_2

是把向量中的所有元素求平方和再开平方根。

  • 而分子是两个向量求内积,如果两个向量十分接近,则内积会越大。
  • 得到的结果其实是两个向量的夹角的 cos 值

2.4 嵌入矩阵 Embedding matrix

  • 模型在学习词嵌入时,实际上是在学习一个词嵌入矩阵(Embedding matrix),假设词典中含有 1W 个单词。300 个不同的特征,则特征矩阵是一个 300*1W 大小的矩阵。
Note
  • 在实际应用中,使用词嵌入矩阵和词向量相乘的方法所需计算量很大,因为词向量是一个维度很高的向量,并且 10000 的维度中仅仅有一行的值是 0,直接使用矩阵相乘的方法计算效率是十分低下。
  • 所以在实际应用中,会用一个查找函数单独查找矩阵 E 的某列。例如在 Keras 中,就会设置一个 Embedding layer 提取矩阵中特定的需要的列,而不是很慢很复杂的使用乘法运算

2.5 学习词嵌入 learning word embedding

  • 本节介绍使用深度学习来学习词嵌入的算法。

“Bengio Y, Vincent P, Janvin C. A neural probabilistic language model[J]. Journal of Machine Learning Research, 2003, 3(6):1137-1155.

  • 对于语句 I want a glass of orange juice to go along with my cereal.
    1. 对于之前的方法中,使用 juice 前的四个单词 “a glass of orange ”来进行预测。
    2. 也可以使用 目标单词前后的四个词 进行预测
    3. 当然也可以只把 目标单词前的一个词输入模型
    4. 使用相近的一个词
总结
  • 研究者们发现 如果你想建立一个语言模型,用目标词的前几个单词作为上下文是常见做法
  • 但如果你的目标是学习词嵌入,使用以上提出的四种方法也能很好的学习词嵌入。

参考资料

[1]

吴恩达老师课程原地址: https://mooc.study.163.com/smartSpec/detail/1001319001.htm

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.3 词嵌入的特性 properties of word embedding
    • 余弦相似度 (Cosine similarity)
    • 2.4 嵌入矩阵 Embedding matrix
      • Note
      • 2.5 学习词嵌入 learning word embedding
        • 总结
        • 参考资料
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档