5.2自然语言处理

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

2.8 GloVe word vectors GloVe词向量

Pennington J, Socher R, Manning C. Glove: Global Vectors for Word Representation[C]// Conference on Empirical Methods in Natural Language Processing. 2014:1532-1543.

  • 示例 I want a glass of orange juice to go along with my cereal
  • 定义 \(X_{ij}\) 表示单词i在单词j上下文中出现的次数。其中i相当于Context,而j相当于Target.
    • 当定义目标单词出现在上下文单词的左或右十个单词数时,此时i和j是一种对称的关系。即有\(X_{ij}=X_{ji}\)
    • 因此根据此定义,得知\(X_{ij}\)就是一个能够获取单词i和单词j出现位置相近时或彼此接近是的频率的计数器
  • 目的 Glove算法的目的就是优化

    • 此式中\(\theta^{T}_{i}e_{j}\) 和负采样中的式子\(\theta_{t}^{T}e_c\)意义相同
    • 为了解决\(X_{ij}\)可能为0的问题(因为\(log0\))的值为负无穷,引进了\(f(X_{ij})\)使得当\(X_{ij}=0时,f(X_{ij})=0\),并且会使用规定\(0log0=0\).
    • 并且 ,引入的\(f(X_{ij})\)可以解决有些词语例如 this, is, of, a... 等词语出现频率过高而有些名词出现频率过低导致的不平衡问题--即\(f(X_{ij})\)相当于一个加权因子,对于不常用的词汇也能给予大量有意义的运算,而对于出现频率过高的词汇更大而不至于过分的权重。 对于此函数的具体细节,参考标题下的参考论文。
    • Note \(\theta和e\)现在是完全对称的,因此一种训练参数的方法是 一致的初始化\(\theta\)和e 然后使用梯度下降来最小化输出,当每个词都处理完了之后取平均值。 即\(e_w^{final}=\frac{e_{w}+\theta_{w}}{2}\)

词嵌入向量解释

  • 因为即使每行表示单词向量独特的特征,但是对于学习到的 词嵌入矩阵 其每行表示的意义不一定是 正交的 ,而是多行特征的线性表征。例如定义的第一行表示Gender,第二行表示Royal,第三行表示Age,第四行表示Food,但是实际学到的是这些特征的 使用平行四边形方法得到的线性表出 所以单独理解学到的 词嵌入矩阵 是十分困难的。

[DeeplearningAI笔记]序列模型2.8 GloVe词向量的更多相关文章

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

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

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

    5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.3词嵌入的特性 properties of word embedding Mikolov T, Yih W T, Zwe ...

  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笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN

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

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

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

  9. [DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.5不同类型的循环神经网络 上节中介绍的是 具有相同长度输入序列和输出序列的循环神经网络,但是对于很多应用\(T_{x}和 ...

随机推荐

  1. python中取整的几种方法

    #encoding:utf-8import math #向上取整print "math.ceil---"print "math.ceil(2.3) => " ...

  2. Manacher算法——求最长回文子串

    首先,得先了解什么是回文串.回文串就是正反读起来就是一样的,如“abcdcba”.我们要是直接采用暴力方法来查找最长回文子串,时间复杂度为O(n^3),好一点的方法是枚举每一个字符,比较较它左右距离相 ...

  3. 《构建之法》6-7章读后感、问题及对Scrum的理解

    第6章读后感: 看完第六章后了解什么是敏捷流程.“敏捷流程”在软件工程的语境中是一系列价值观和方法论的集合.我觉得敏捷是比较人性化而且让人比较轻松的的一种团队做项目的方法吧,它会比较注重交流,而不是硬 ...

  4. 软件工程第七周psp

    1.PSP表格 类别 任务 开始时间 结束时间 中断时间 delta时间 立会 汇报昨天的成绩,分配任务,部署计划 10月27日18:00 10月27日18:36 0 36分钟 准备工作 查阅有关资料 ...

  5. 20172329 2018-2019《Java软件结构与数据结构》第一周学习总结

    2018-2019-20172329 <Java软件结构与数据结构>第一周学习总结 在这学期就已经大二了,也已经步入了学习专业课的核心时间,在这个阶段,我们应该了解自己的学习情况,针对自己 ...

  6. 20162320MyOD重做版

    博客说明 由于上次的MyOD.java没有得分,所以这次我重做了这个java,代码是自己完成的,请教了一些同学的思路.故补交一篇博客来说明我对每一步代码的编写的想法以及理解. 代码片段及理解 1.先创 ...

  7. 半期考html5小游戏制作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. windows+ubuntu时间修改问题

    只需要在ubuntu系统数输入一行指令即可 timedatectl set-local-rtc 1 --adjust-system-clock

  9. 补发9.26“天天向上”团队Scrum站立会议

    组长:王森 组员:张金生 张政 栾骄阳 时间:2016.09.26 地点:612寝 组员 已完成 未完成 王森 可行性分析 找出设计亮点 张金生 寻找UI素材 设计用户操作 张政 搭建环境 基础逻辑框 ...

  10. WebUploader 设置单个文件上传

    1.导入控件样式文件 <link rel="stylesheet" type="text/css" href="__PUBLIC__/stati ...