首页 > 其他 > 详细

NLP经典模型入门-word2vec

时间:2020-08-07 21:04:25      阅读:95      评论:0      收藏:0      [点我收藏+]

前言:笔者之前是cv方向,因为工作原因需要学习NLP相关的模型,因此特意梳理一下关于NLP的几个经典模型,由于有基础,这一系列不会关注基础内容或者公式推导,而是更侧重对整体原理的理解。顺便推荐两个很不错的github项目——开箱即用的中文教程以及算法更全但是有些跑不通的英文教程

一. NLP常见概念

  • 分词:将完整的句子划分成一个个word,也可以划分为char级别,例如今天/天气/非常/好或者今/天/天/气/非/常/好
  • 词表:分词后的集合构建而来,可以视作字典,其中key是所有可能的char或者word,而value则是其对应的id。一般来说,文本不像图像可以用像素值来表示,因此一般采用分词+词表映射的方式把文本转化为一串数字序列

二. word2vec模型

1. word2vec的目的

得到更好更准确的词向量。和图像的表示方法不同,NLP中一般用向量来表示不同的单词,向量一般采用one-hot的方法来初始化,但是这样会带来两个问题:

  • 有多少个单词词向量的长度就要多长,维数过高
  • one-hot是一种随机初始化的方式,并不能很好地代表向量

因此诞生了word2vec模型,本质上和先做人脸分类、再根据人脸特征距离判断是不是一个人的思路很像,word2vec也是训练分类问题,从而得到更优的词向量表示。

2. word2vec的结构

word2vec包括两种结构:CBOW模型(根据周围的词预测中心词,多对一模型)与Skip-gram模型(根据中心词预测周围词,一对多模型),两者结构如下——

技术分享图片

技术分享图片

需要注意的是,word2vec只有一个隐层,输出层使用softmax等loss进行监督。隐层没有激活层,因此word2vec中词向量是其它词向量的线性组合。

3. word2vec的CBOW模型例子

学习{I drink coffee everyday}一句话,其中coffee是中心词,window size设定为2

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

NLP经典模型入门-word2vec

原文:https://www.cnblogs.com/lity/p/13454850.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!