word2vec原理_初识word2vec词向量
Word2vec技术
1.word2vec简介
Word2vec是一种词嵌入技术,用来进行文本表示的。首先谈一下文本表示,众所周知,机器是无法识别和理解自然语言的。文本表示就是把自然语言转换成数字或向量,进行建模,让机器能够认识且更好的理解文本信息。其实,NLP的终极目标就是让计算机能够确切理解人类的语言,并自然地与人进行交互。
在word2vec技术诞生之前,文本表示的方法主要有独热编码(one-hot),TF-IDF等等,独热编码实现细节是,首先根据文本内容构建一个固定顺序的词表,在出现词对应的词表位置用1表示,没出现的词用0表示。这种方法的优点是原理简单,使用方便。缺点是没有考虑语义相关信息,且容易导致维度“灾难”等。
2013年,Mikolov等人针对神经网络语言模型(NNLM)的弊端,提出了词向量文本表示方法word2vec。该方法仅采用只有一个隐藏层的神经网络,把one-hot形式的高维、稀疏的向量输入,映射成一个低维、稠密词向量的文本表示方法。
2.Word2vec模型结构及实现原理
word2vec模型其实就是简单化的神经网络。
word2vec包含CBOW和Skip-gram两种词向量训练模型,如图2所示。CBOW连续词袋模型,即通过上下文的K个单词来预测中心词w(t),而Skip-gram模型是通过中心词w(t)来预测上下文K个单词。为了提高词向量的训练速度常采用负采样(Negative Sample)和Hierarchical Softmax技术。
图2 word2vec模型
对每个训练过程做如此庞大的计算是非常昂贵的,使得它难以扩展到词汇表或者训练样本很大的任务中去。为了解决这个问题,我们直观的想法就是限制每次必须更新的输出向量的数量。一种有效的手段就是采用分层softmax;另一种可行的方法是通过负采样。
3.Word2vec的优缺点
word2vec在大规模的语料库上进行训练,通过对训练的结果进行分析,发现几个有趣的现象,这几个表现也在一定程度上反映了word2vec的优点。
优点:word2vec能够较好的考虑上下文语义信息,同时可以避免维度“灾难”问题。
缺点:word2vec的缺点是,它是一种静态的词向量表示方式,词与向量一对一固定表示,这会导致多义词无法正确表示。例如‘’苹果‘’即可代表水果,又可以代表手机品牌。
word2vec原理_初识word2vec词向量相关推荐
- NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量
NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量 目录 输出结果 设计思路 1.Wikipedia Text语料来源 2.维基 ...
- Python Word2vec训练医学短文本字/词向量实例实现,Word2vec训练字向量,Word2vec训练词向量,Word2vec训练保存与加载模型,Word2vec基础知识
一.Word2vec概念 (1)Word2vec,是一群用来产生词向量的相关模型.这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本.网络以词表现,并且需猜测相邻位置的输入词,在word2 ...
- 文档词频矩阵_如何通过词向量技术来计算 2 个文档的相似度?
作者:吴俣https://www.zhihu.com/question/33952003/answer/135089460 Deep Learning 派系:(1)最简单的就是两个句子分别过一个CNN ...
- word2vec原理_深入理解Word2Vec底层原理
本文主要三个部分: (1)DNN如何计算字词的语义特征表示 (2)word2vec如何计算字词的语义特征表示 (3)霍夫曼对于word2vec的意义 词嵌入,就是将文本的单词嵌入数学空间中. 不同于o ...
- 【词向量】从Word2Vec到Bert,聊聊词向量的前世今生(一)
机器学习算法与自然语言处理推荐 来源:https://zhuanlan.zhihu.com/p/58425003 作者:小川Ryan [机器学习算法与自然语言处理导读]BERT并不是凭空而来,如何 ...
- 使用Google word2vec训练我们自己的词向量模型
主要内容 这篇文章主要内容是介绍从初始语料(文本)到生成词向量模型的过程. 词向量模型 词向量模型是一种表征词在整个文档中定位的模型.它的基本内容是词以及它们的向量表示,即将词映射为对应的向量,这样就 ...
- 词向量与词向量拼接_第一节——词向量与ELmo(转)
最近在家听贪心学院的NLP直播课.都是比较基础的内容.放到博客上作为NLP 课程的简单的梳理. 本节课程主要讲解的是词向量和Elmo.核心是Elmo,词向量是基础知识点. Elmo 是2018年提出的 ...
- cbow word2vec 损失_词向量word2vec之CBOW算法
词向量模型之CBOW模型的原理与实现 关于词向量模型word2rec,平台里只有skip-gram一个模型的代码实现,本项目将对word2rec算法的第二个模型--CBOW模型进行补充 此项目用于交流 ...
- 学习笔记CB009:人工神经网络模型、手写数字识别、多层卷积网络、词向量、word2vec...
人工神经网络,借鉴生物神经网络工作原理数学模型. 由n个输入特征得出与输入特征几乎相同的n个结果,训练隐藏层得到意想不到信息.信息检索领域,模型训练合理排序模型,输入特征,文档质量.文档点击历史.文档 ...
最新文章
- 独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...
- 读博前三年0文章,后期发力一口气11篇一作!这个“90后”现任职985博导
- 【图解篇】斯达康XV6700刷机超完整教程!!!
- 关于系统异常设计的再思考
- journal of systems science and complexity
- 三星a60android9,三星A6058官方国行安卓9固件rom线刷升级包:CHM-A6058ZMU2BSC9
- 9.找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如:6 = 1+2+3。
- delphi7存储过程传入数组_数据结构线性表之顺序存储 类的封装
- LeetCode 2136. 全部开花的最早一天(贪心)
- java8简化的可变参数调用,Java8新特性--方法引用
- vue前端项目打包并且在服务器上部署过程
- 计算机组成原理:计算机的发展历史
- 网络安全-跨站脚本攻击(XSS)的原理、攻击及防御
- 树莓派Zero 2 W的自带WiFi性能测试,仅40Mbps左右
- 【无标题】HTMLCSS学习总结
- 无接任何usb设备却提示无法识别usb设备
- 装X神器,让你的grafana看板变得炫酷起来
- ubuntu慢?如何给 ubuntu 换源 提速
- 二项式分布和多项式分布
- QAX答题页面js逆向分析(二)
热门文章
- encoder decoder模型_机器学习11 -- 无监督学习之Auto-Encoder
- Win10之广告弹窗终结器:Process Explorer
- Ubuntu下 sqlitebrowser 查看 Android Sqlite数据库
- 视频编解码(五):解码器驱动代码理解
- java 范型 隐式 显式_隐式与显式接口实现
- 利用python实现冒泡排序_利用python实现冒泡排序
- 怎么单选_第一届化妆品分类大赛丨用过的化妆刷、过期的口红…该怎么扔
- android安装git插件安装教程,Android Studio 3.6.1上使用gitee
- 3h精通OpenCV(四)-绘制形状与文本
- Android Studio实现功能丰富的仓库管理系统