Word2vec技术

1.word2vec简介

Word2vec是一种词嵌入技术,用来进行文本表示的。首先谈一下文本表示,众所周知,机器是无法识别和理解自然语言的。文本表示就是把自然语言转换成数字或向量,进行建模,让机器能够认识且更好的理解文本信息。其实,NLP的终极目标就是让计算机能够确切理解人类的语言,并自然地与人进行交互。

在word2vec技术诞生之前,文本表示的方法主要有独热编码(one-hot),TF-IDF等等,独热编码实现细节是,首先根据文本内容构建一个固定顺序的词表,在出现词对应的词表位置用1表示,没出现的词用0表示。这种方法的优点是原理简单,使用方便。缺点是没有考虑语义相关信息,且容易导致维度“灾难”等。

one-hoe表示形式

2013年,Mikolov等人针对神经网络语言模型(NNLM)的弊端,提出了词向量文本表示方法word2vec。该方法仅采用只有一个隐藏层的神经网络,把one-hot形式的高维、稀疏的向量输入,映射成一个低维、稠密词向量的文本表示方法。

2.Word2vec模型结构及实现原理

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原理_初识word2vec词向量相关推荐

  1. NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量

    NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量 目录 输出结果 设计思路 1.Wikipedia Text语料来源 2.维基 ...

  2. Python Word2vec训练医学短文本字/词向量实例实现,Word2vec训练字向量,Word2vec训练词向量,Word2vec训练保存与加载模型,Word2vec基础知识

    一.Word2vec概念 (1)Word2vec,是一群用来产生词向量的相关模型.这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本.网络以词表现,并且需猜测相邻位置的输入词,在word2 ...

  3. 文档词频矩阵_如何通过词向量技术来计算 2 个文档的相似度?

    作者:吴俣https://www.zhihu.com/question/33952003/answer/135089460 Deep Learning 派系:(1)最简单的就是两个句子分别过一个CNN ...

  4. word2vec原理_深入理解Word2Vec底层原理

    本文主要三个部分: (1)DNN如何计算字词的语义特征表示 (2)word2vec如何计算字词的语义特征表示 (3)霍夫曼对于word2vec的意义 词嵌入,就是将文本的单词嵌入数学空间中. 不同于o ...

  5. 【词向量】从Word2Vec到Bert,聊聊词向量的前世今生(一)

     机器学习算法与自然语言处理推荐  来源:https://zhuanlan.zhihu.com/p/58425003 作者:小川Ryan [机器学习算法与自然语言处理导读]BERT并不是凭空而来,如何 ...

  6. 使用Google word2vec训练我们自己的词向量模型

    主要内容 这篇文章主要内容是介绍从初始语料(文本)到生成词向量模型的过程. 词向量模型 词向量模型是一种表征词在整个文档中定位的模型.它的基本内容是词以及它们的向量表示,即将词映射为对应的向量,这样就 ...

  7. 词向量与词向量拼接_第一节——词向量与ELmo(转)

    最近在家听贪心学院的NLP直播课.都是比较基础的内容.放到博客上作为NLP 课程的简单的梳理. 本节课程主要讲解的是词向量和Elmo.核心是Elmo,词向量是基础知识点. Elmo 是2018年提出的 ...

  8. cbow word2vec 损失_词向量word2vec之CBOW算法

    词向量模型之CBOW模型的原理与实现 关于词向量模型word2rec,平台里只有skip-gram一个模型的代码实现,本项目将对word2rec算法的第二个模型--CBOW模型进行补充 此项目用于交流 ...

  9. 学习笔记CB009:人工神经网络模型、手写数字识别、多层卷积网络、词向量、word2vec...

    人工神经网络,借鉴生物神经网络工作原理数学模型. 由n个输入特征得出与输入特征几乎相同的n个结果,训练隐藏层得到意想不到信息.信息检索领域,模型训练合理排序模型,输入特征,文档质量.文档点击历史.文档 ...

最新文章

  1. 独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...
  2. 读博前三年0文章,后期发力一口气11篇一作!这个“90后”现任职985博导
  3. 【图解篇】斯达康XV6700刷机超完整教程!!!
  4. 关于系统异常设计的再思考
  5. journal of systems science and complexity
  6. 三星a60android9,三星A6058官方国行安卓9固件rom线刷升级包:CHM-A6058ZMU2BSC9
  7. 9.找出1000以内的完数,所谓完数是指该数的各因子之和等于该数,如:6 = 1+2+3。
  8. delphi7存储过程传入数组_数据结构线性表之顺序存储 类的封装
  9. LeetCode 2136. 全部开花的最早一天(贪心)
  10. java8简化的可变参数调用,Java8新特性--方法引用
  11. vue前端项目打包并且在服务器上部署过程
  12. 计算机组成原理:计算机的发展历史
  13. 网络安全-跨站脚本攻击(XSS)的原理、攻击及防御
  14. 树莓派Zero 2 W的自带WiFi性能测试,仅40Mbps左右
  15. 【无标题】HTMLCSS学习总结
  16. 无接任何usb设备却提示无法识别usb设备
  17. 装X神器,让你的grafana看板变得炫酷起来
  18. ubuntu慢?如何给 ubuntu 换源 提速
  19. 二项式分布和多项式分布
  20. QAX答题页面js逆向分析(二)

热门文章

  1. encoder decoder模型_机器学习11 -- 无监督学习之Auto-Encoder
  2. Win10之广告弹窗终结器:Process Explorer
  3. Ubuntu下 sqlitebrowser 查看 Android Sqlite数据库
  4. 视频编解码(五):解码器驱动代码理解
  5. java 范型 隐式 显式_隐式与显式接口实现
  6. 利用python实现冒泡排序_利用python实现冒泡排序
  7. 怎么单选_第一届化妆品分类大赛丨用过的化妆刷、过期的口红…该怎么扔
  8. android安装git插件安装教程,Android Studio 3.6.1上使用gitee
  9. 3h精通OpenCV(四)-绘制形状与文本
  10. Android Studio实现功能丰富的仓库管理系统