词嵌入 word embedding
embedding 嵌入
embedding: 嵌入, 在数学上表示一个映射f:x->y, 是将x所在的空间映射到y所在空间上去,并且在x空间中每一个x有y空间中唯一的y与其对应。 嵌入,也就是把x在y空间中找到一个位置嵌入,一个x嵌入为一个唯一的y。
word embedding 词嵌入
也就是把当前预料文本库中每一个词语都嵌入到一个向量空间当中,并且每一个词语对应唯一的词向量,也就是词向量。
所以, one-hot也是word Embedding的一种实现,word2Vec也是为了实现 word embedding而提出的一种方案。
为什么要提出 word Embedding?
本质的想法是,把语料库中的每一个词语,映射成向量空间当中的唯一向量,这个向量在空间中的方向和位置能某种程度上衡量这个词的意思、感情色彩等。所以从传统的基于统计的n-gram模型之后,提出了one-hot模型,开始走向词向量,然后发现one-hot模型属于硬分类,只有词语不同和相同的信息,丢失了词义、不通词之间的词义,于是又提出了深度学习训练出的词向量模型,之后又经过改进,有了现在比较有名的word2vec模型。
word2vec模型本身其实是包含两种算法的模型,把语料库中的词语映射到向量空间,获得词向量的一种手段。
embedding层
初学nlp知识的时候,经常听到embedding层,一直不知道是什么意思。
我理解的embedding层,是一个全连接层。 这个全连接层的参数,也就是一个矩阵。将词的one-hot编码与这个全连接层的系数矩阵相乘,得到了一个新的向量,这个向量就是词向量,这样一层全连接层被称作了embedding层,其实就是一个用于讲词映射为向量的映射矩阵。那么这样一个系数矩阵的参数,也就是embedding层这个全连接层的参数是怎么得到的,要详细学习一下word2vec模型里面的两个算法,说的直白点是在用深度学习对词做其他任务的时候,将第一层全连接层的系数保留了下来,也就是则个映射矩阵,也就是embedding层。
写在最后
具体word2vec模型是怎么样的,暂且不在这里细说。只是我再学习的过程中,绝大多数讲解中都讲wordEmbedding 和 word2vec混在一起说,也没说清楚什么是word embedding,看到有前辈讲的很清楚,我将自己的理解记录下来,以供他人参考。当然,我的理解可能是不对的,欢迎批评指正
词向量 词嵌入 word embedding的更多相关文章
-
词袋模型(BOW,bag of words)和词向量模型(Word Embedding)概念介绍
例句: Jane wants to go to Shenzhen. Bob wants to go to Shanghai. 一.词袋模型 将所有词语装进一个袋子里,不考虑其词法和语序的问题,即每个 ...
-
[DeeplearningAI笔记]序列模型2.1-2.2词嵌入word embedding
5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.1词汇表征 Word representation 原先都是使用词汇表来表示词汇,并且使用1-hot编码的方式来表示词汇 ...
-
DeepNLP的核心关键/NLP词的表示方法类型/NLP语言模型 /词的分布式表示/word embedding/word2vec
DeepNLP的核心关键/NLP语言模型 /word embedding/word2vec Indexing: 〇.序 一.DeepNLP的核心关键:语言表示(Representation) 二.NL ...
-
学习笔记CB009:人工神经网络模型、手写数字识别、多层卷积网络、词向量、word2vec
人工神经网络,借鉴生物神经网络工作原理数学模型. 由n个输入特征得出与输入特征几乎相同的n个结果,训练隐藏层得到意想不到信息.信息检索领域,模型训练合理排序模型,输入特征,文档质量.文档点击历史.文档 ...
-
词向量(one-hot/SVD/NNLM/Word2Vec/GloVe)
目录 词向量简介 1. 基于one-hot编码的词向量方法 2. 统计语言模型 3. 从分布式表征到SVD分解 3.1 分布式表征(Distribution) 3.2 奇异值分解(SVD) 3.3 基 ...
-
词向量模型word2vector详解
目录 前言 1.背景知识 1.1.词向量 1.2.one-hot模型 1.3.word2vec模型 1.3.1.单个单词到单个单词的例子 1.3.2.单个单词到单个单词的推导 2.CBOW模型 3.s ...
-
DNN模型训练词向量原理
转自:https://blog.csdn.net/fendouaini/article/details/79821852 1 词向量 在NLP里,最细的粒度是词语,由词语再组成句子,段落,文章.所以处 ...
-
NLP直播-1 词向量与ELMo模型
翻车2次,试水2次,今天在B站终于成功直播了. 人气11万. 主要讲了语言模型.词向量的训练.ELMo模型(深度.双向的LSTM模型) 预训练与词向量 词向量的常见训练方法 深度学习与层次表示 LST ...
-
GloVe:另一种Word Embedding方法
若想深层地理解GloVe和本文,最好了解SVD, word2vec(skip-gram为主)的相关知识.若仅寻求一种新的word embedding方法,可以不必了解以上前置知识. 一言以蔽之,Glo ...
随机推荐
-
PHP Fatal error: Class 'DOMDocument' not found
PHP Fatal error: Class 'DOMDocument' not found 给PHP添加 xml模块: yum install php-xml 如果是PHP5,则用 yum in ...
-
JS常用方法记录
//对Object的num字段进行排序 var compare = function (propertyName) { return function (object1, object2) { var ...
-
Sina App Engine(SAE)入门教程(3)-KVDB使用
简介 因为传统关系型数据库在分布式环境下表现的扩展性不足等缺点,近年来NoSQL的概念渐渐成为业界关注的焦点,越来越多的技术人员也习惯于使用NoSQL数据库进行日常开发,SAE为了应对这种新需求,也进 ...
-
Makefile中用宏定义进行条件编译
在源代码里面如果这样是定义的: #ifdef MACRONAME //可选代码 #endif 那在makefile里面 gcc -D MACRONAME=MACRODEF 或者 gcc ...
-
EBS采购(PO)模块常用表
select * from po_requisition_headers_all 请求头 select * from po_requisition_lines_all 请求行 select * ...
-
jsp网页连接mysql数据库
1.在mysql数据库中建立数据表 建一张测试表test,插入几条数据: 2.设置JDBC驱动 将 mysql-connector-java-5.0.8-bin.jar 拷到WebContent/WE ...
-
centos firewall使用笔记
Centos7.x firewalld配置详解推荐文章文章地址:https://blog.csdn.net/jsonxiang/article/details/87873493 一.firewalld ...
-
切分 拆分集合list的方式
一般有两种,第一是sublist(),代码冗余效率低: 第二种: 引包自 com.google.common.collect.Lists 话不多说直接上实例: List<ContractMode ...
-
c++ 静态变量报错 undefined reference to static members
c++中静态变量不但要在头文件中declare,还要在实现的cpp中declare.当然也可以赋个初始值. class foo { int _i; public: foo(int i) : _i(i) ...
-
6-7 树的层次遍历 uva122
非常不熟练 照着书大的 晚上尝试一下自己打 了解二叉树 用数组打 第一次: #include<bits/stdc++.h> using namespace std; bool fai ...