5.2自然语言处理

觉得有用的话,欢迎一起讨论相互学习~Follow Me

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. 使用相近的一个词

总结

  • 研究者们发现 如果你想建立一个语言模型,用目标词的前几个单词作为上下文是常见做法
  • 但如果你的目标是学习词嵌入,使用以上提出的四种方法也能很好的学习词嵌入。

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

  1. [DeeplearningAI笔记]序列模型2.1-2.2词嵌入word embedding

    5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1词汇表征 Word representation 原先都是使用词汇表来表示词汇,并且使用1-hot编码的方式来表示词汇 ...

  2. [DeeplearningAI笔记]序列模型3.9-3.10语音辨识/CTC损失函数/触发字检测

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.9语音辨识 Speech recognition 问题描述 对于音频片段(audio clip)x ,y生成文本 ...

  3. [DeeplearningAI笔记]序列模型3.7-3.8注意力模型

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.7注意力模型直观理解Attention model intuition 长序列问题 The problem of ...

  4. [DeeplearningAI笔记]序列模型3.6Bleu得分/机器翻译得分指标

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.6Bleu得分 在机器翻译中往往对应有多种翻译,而且同样好,此时怎样评估一个机器翻译系统是一个难题. 常见的解决 ...

  5. [DeeplearningAI笔记]序列模型3.3集束搜索

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.3 集束搜索Beam Search 对于机器翻译来说,给定输入的句子,会返回一个随机的英语翻译结果,但是你想要一 ...

  6. [DeeplearningAI笔记]序列模型3.2有条件的语言模型与贪心搜索的不可行性

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.2选择最可能的句子 Picking the most likely sentence condition lan ...

  7. [DeeplearningAI笔记]序列模型3.1基本的 Seq2Seq /image to Seq

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1基础模型 [1] Sutskever I, Vinyals O, Le Q V. Sequence to Se ...

  8. [DeeplearningAI笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhu ...

  9. [DeeplearningAI笔记]序列模型1.7-1.9RNN对新序列采样/GRU门控循环神经网络

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.7对新序列采样 基于词汇进行采样模型 在训练完一个模型之后你想要知道模型学到了什么,一种非正式的方法就是进行一次新序列采 ...

随机推荐

  1. 用 Python 构建一个极小的区块链

    虽然有些人认为区块链是一个早晚会出现问题的解决方案,但是毫无疑问,这个创新技术是一个计算机技术上的奇迹.那么,究竟什么是区块链呢? 区块链 以比特币(Bitcoin)或其它加密货币按时间顺序公开地记录 ...

  2. java高cpu占用和高内存占用问题排查 (转)

    高cpu占用 1.top命令:Linux命令.可以查看实时的CPU使用情况.也可以查看最近一段时间的CPU使用情况. 2.PS命令:Linux命令.强大的进程状态监控命令.可以查看进程以及进程中线程的 ...

  3. 根据Unicode码生成汉字

    最近需要一批汉字字符数据,类似数字字符与ASCII码之间的对应关系,汉字字符与Unicode码之间也存在对应关系. 所以可以遍历Unicode码批量生成汉字. 其中,汉字为宽字符,输出时候注意需要修改 ...

  4. BFC的表象认识

    首先字面翻译,这三个字母分别代表什么,box,formatting, context,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. 形象点就是说一种规范,规范什么呢?规范盒子内部 ...

  5. MySql 8 命令

    1-创建用户 create user 用户名@'%' identified by '密码'; create user 用户名@'localhost' identified by '密码';   2-授 ...

  6. 软工网络15团队作业4-DAY7

    每日例会 昨天的工作. 张陈东芳:sql连接的基本完成,尝试被其他类调用,未导入全部商品信息: 吴敏烽:基本完成商品信息的调用: 周汉麟:设定商品的调用规则: 林振斌:设计缓存区代码,用于存取最近浏览 ...

  7. 测试——约跑APP

    项目名:约跑APP 用户需求规格说明书URL:http://www.cnblogs.com/liquan/p/6071804.html 组长博客URL:http://www.cnblogs.com/l ...

  8. 转载:理解OAuth 2.0

    转载地址:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 作者: 阮一峰 日期: 2014年5月12日 OAuth是一个关于授权(autho ...

  9. javascript与python的比较

    1:javascript与python大小写皆敏感 2:javascript使用{}来组织代码块,与大部分语言相同  python使用缩进来组织代码块,与大部分语言不同,请务必遵守约定俗成的习惯,坚持 ...

  10. Dbgrid控件多重选择的怪问题。BookMarkList,BookMark,使用书签,用的ADOQuery控件。100分送上,急阿!!!请高手帮忙!

    Dbgrid控件多重选择的怪问题.BookMarkList,BookMark,使用书签,用的ADOQuery控件.100分送上,急阿!!!请高手帮忙! ( 积分: 100 )<br />p ...