2019独角兽企业重金招聘Python工程师标准>>> hot3.png

注:因为很喜欢一个博文,就把它部分翻译过来,原作者网名叫NSS。他的这篇博文的名字是: “An Intuitive Understanding of Word Embeddings: From Count Vectors to Word2Vec”. 原网址如下:https://www.analyticsvidhya.com/blog/2017/06/word-embeddings-count-word2veec/

注:这里只捡自己喜欢的部分写出来。

1 什么是Word Embeddings

我们知道计算机不认识字符串,所以我们需要将文字转换为数字。Word Embedding就是来完成这样的工作。 定义:A Word Embedding format generally tries to map a word using a dictionary to a vector。

2 Word Embeddings们

既然我们用向量来表示一个词或词语,那么这种表示一定不止有一种方式,所以在这里总结一下不同的表示。

2.1 Frequency based Embedding

在这个分类下有三个小分类.

  1. Count Vector
  2. TF-IDF Vector(不翻译,略过)
  3. Co-Occurrence Vector(不翻译,略过)

2.1.1 Count Vector

我们先举一个例子。先观察以下两句话,D1: He is a lazy boy. She is also lazy. D2: Neeraj is a lazy person. 这两句话一共有6个不同的单词,我们按照如下的方式来分下一下这6个单词在这两句话中的分布情况:

p44974699.webp

Fig 0.

这张表中的数字表示某个单词在某个句子中出现的次数,比如He在D1中出现1词,在D2中出现0词,如此等等。这时我们就可以看到He这个单词可以形成一个向量,[1,0],向量中的每个元素代表这个单词出现在某句话中的次数。

2.2 Prediction based Vector

2.2.1 CBOW (Continuous Bag of words)

CBOW这个模型是给定一个context的条件下,预测在该context下出现某个词的概率。假设我们有一句话:“I like Julia”,我们把context window设置为1,也就是我们只考虑一个词的前一个词或后一个词,然后这句话可以转换成Fig 1中的形式。右侧的矩阵是Input的unicode.

p44975044.webp

Fig 1. 注:原图太复杂,在这里我用了一个简单的例子。

这些数据点被传递给一个神经网络,如图Fig 2所示,输出层是一个softmax层,用来计算概率。流程是: 输入被映射到一个低维的向量,比如如Fig 3所示。得到这个二维向量后,再用一个矩阵将它转换成一个三维矩阵,这个三维矩阵经过softmax后就是我们的output。经过优化后得到的向量就是我们所求的向量。

p44975047.webp

Fig 2.

p44975063.webp

Fig 3.

注:这里的基本的思想是,一个词=它所处的环境(没有看出,这里的=是等于号)。恩,好有哲理的一句话。比如我们要判断某个人属于哪一个阶级,只需要看他的朋友圈就可以知道。比如在我们的例子中,当给我们一个context的时候,比如‘I’,那么这个context对应一个单词“like”。在这里我们的windows设置为1,也就是仅仅考虑一个词的前后词,当我们将windows设置为2的时候,Julia的context就变成了I和like,这个时候的Input就成了两个向量,也就是I向量和like向量,这两个向量分别经过W和W`两个矩阵的作用,得到两个vector,这个时候取这两个向量的平均值就是得到我们的output vector,最后经过softmax变换就可以得到最后的结果。如图Fig4所示。

p44975083.webp

Fig 4.

2.2.2 Skip – Gram model

这个方法正好和上边的方法相反,当给定我们一个word的时候,我们用这种方法来计算它的context。如Fig 5.2所示。比如我们有句话: ”Hey, this is sample corpus using only one context word.” 让我们构建training data:

p44975099.webp

Fig 5.

p44975127.webp

Fig 5.2

因为我们定义了context window=1,也就是该词的前后应该分别对应一个词,如Fig 5所示。

注意的是,在这里我们有两个输出,分别对应前后两个词。计算流程如Fig6-Fig 8所示.

p44975112.webp

Fig 6.

p44975122.webp

Fig 7.

p44975123.webp

Fig 8.

转载于:https://my.oschina.net/u/2935389/blog/2981037

什么是Word Embeddings相关推荐

  1. 通俗易懂的Word Embeddings

    通俗易懂的Word Embeddings   Word Embeddings是机器学习领域最酷的事情之一,因为它可以从海量的文本数据中挖掘出单词之间纷繁复杂的联系.例如你可以在不给定任何先验知识的情况 ...

  2. 吴恩达《序列模型》精炼笔记(2)-- NLP和Word Embeddings

    AI有道 不可错过的AI技术公众号 关注 1 Word Representation 上节课我们介绍过表征单词的方式是首先建立一个较大的词汇表(例如10000),然后使用one-hot的方式对每个单词 ...

  3. Coursera吴恩达《序列模型》课程笔记(2)-- NLP Word Embeddings

    红色石头的个人网站:redstonewill.com <Recurrent Neural Networks>是Andrw Ng深度学习专项课程中的第五门课,也是最后一门课.这门课主要介绍循 ...

  4. Improving Twitter Sentiment Classification Using Topic-Enriched Multi-Prototype Word Embeddings

    1. 介绍 本文主要介绍论文Improving Twitter Sentiment Classification Using Topic-Enriched Multi-Prototype Word E ...

  5. From Word Embeddings To Document Distances论文总结

    一.前言 最近阅读的论文From Word Embeddings To Document Distances.做一个小总结.作为一个NLP刚刚开始,而且还没有入门的小白,很多的概念都不懂,一点点的查吧 ...

  6. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Understanding Word Embeddings 1_ Just Letters

    Rasa课程.Rasa培训.Rasa面试.Rasa实战系列之Understanding Word Embeddings 1_ Just Letters 词嵌入 Word Embedding 理解 Wo ...

  7. BERT Word Embeddings 教程

    本篇文章译自 Chris McCormick 的BERT Word Embeddings Tutorial 在这篇文章,我深入研究了由Google的Bert生成的word embeddings,并向您 ...

  8. 【吴恩达深度学习】05_week2_quiz Natural Language Processing Word Embeddings

    (1)Suppose you learn a word embedding for a vocabulary of 10000 words. Then the embedding vectors sh ...

  9. Word embeddings in 2017: Trends and future directions (2017年里的词嵌入:趋势和未来方向)

    Word embeddings in 2017: Trends and future directions 原文作者:anonymous 原文地址:http://ruder.io/word-embed ...

最新文章

  1. win7中Android开发环境搭建超详细(百度)
  2. Mac OS X 创新卡关三年,唯一看得出版本不同之处是「预设桌布」
  3. request.getServletPath()和request.getPathInfo()用法
  4. Asp.net控件开发学习笔记(六)----数据回传
  5. C# 之不安全代码(2)
  6. Hadoop辅助工具——Flume、Sqoop
  7. 可以用什么代替平面镜
  8. linux内核分成如下五个子系统,linux内核主要由5个子系统 Linux内核由哪几个子系统组成?...
  9. 标称型数据和数值型数据_统计信息中的数据类型-标称,有序,间隔和比率数据类型,并举例说明
  10. apache开源项目--PDFBox
  11. python django项目实例_最新Django项目实战-从零开发NB的任务平台python视频学习教程...
  12. AD的命名规则 AD常用产品型号命名规则
  13. 当前不会命中断点 还没有为该文档加载任何符号
  14. WebApi生成接口文档
  15. 软件测试常见Bug清单
  16. java selenium回车键_JavaSelenium 模拟键盘方法封装
  17. 2013年12月福建省广播电台网络影响力排名
  18. 创新之道,亚马逊创新之旅背后的故事
  19. Numpy 中的矩阵向量乘法
  20. 好消息,Vue3官方文档出中文版的啦!

热门文章

  1. EXCHANGE 2010 修改邮件附件大小限制
  2. 巧妙复制网页中的文本——复制网页上不能复制的文字
  3. 顾往前行,我的前端之路系列(一)
  4. numpy.array和python列表的转换
  5. matlab抢占时隙算法,ALOHA anti-collision、二进制数搜索算法以及帧时隙算法
  6. 4.ADS操作入门_Circuit Envelope Simulation with Modulated Sources
  7. mysqldump 备份详解
  8. 恢复chrome书签
  9. python 一行内容,变成多列(一行变多列)
  10. “掌上迎新”,这个学校把5400+新生安排的明明白白