词向量模型Word2Vec

1.词向量模型通俗解释

1.1Word2Vec

  • 自然语言处理-词向量模型-Word2Vec

  • 在自然语言处理(NLP)过程中,每个字中间有顺序

  • 比如对一个人进行打分,我们不能只看外在(Extraversion)打分,只在其中一个层面进行描述,而是要结合多个特点Trait,综合各项指标进行打分

  • 而仅仅是2维可能是不够的,50维肯定是够的,但是300维计算更精确,通常数据的维度越高,能提供的信息也就越多,从而计算结果的可靠性就更值得信赖

  • 向量和向量之间可以做相似度的计算,先得将词向量构建好
    -

  • 假设现在已经将每个词转化成了50维的向量(如下图所示)

  • 计算机能认识,我们不知道是如何进行转化的,相当于一个编码,我们只需要将向量训练出来,剩下如何去评估,如何去衡量,都交给计算机就足够了

在这里插入图片描述

  • 在下图中,我们可以观察到man和boy的颜色分布相似度很大,如果看数值的话,对比不是很明显
  • 再对比water和man颜色分布差别就很大

在这里插入图片描述

1.2如何训练词向量

  • 比如,左边Thou是第一个词,shalt是第二个词,右边是输出
  • 输出相当于神经网络多分类的结果,比如在100个词中,看看对应的哪个词可能性是最高的

在这里插入图片描述

  • 词库表(Look up embeddings)
  • 在输入神经网络之前,我们需要在词库表中找到对应的词向量,然后得到右边的输出结果
  • 大表一开始是随机进行初始化的,比如现在所有文本当中一共包含一千个词,我们先将一千个词列出来,然后跟神经网络的权重初始化是一样的,随机构造一些初始化的策略,然后就随便初始化一些向量
  • 神经网络在计算过程中,前向传播计算的是loss,反向传播是通过loss去更新权重参数,而此时在Word2Vec中,不光会更新整个神经网络模型权重参数矩阵,连输入也会进行更新,相当于大表是随机进行初始化的
  • 随着训练的进行,每次都会将训练的数据进行更新,一旦训练了100万次之后,就其中的每个词都进行了很多次更新,越进行更新,神经网络学得越好,学得越好的情况下,计算机能表达出当前词向量,也能把下一个词猜得更准确一些

在这里插入图片描述

1.3构建训练数据

  • 数据:一切可用的文本、图像都可以作为数据进行输入,比如小说中的“今天”跟新闻中的“今天”表达的是一个含义,所以“今天”可以运用在任何场景
  • 当我们拿到一句话(Thou shalt not make a machine in the likeness of a human mind)之后,假设窗口大小为3,那么A(Thou)和B(shalt)相当于两个输入,再输出就是C(not),这就是第一个训练数据(如下图第一行)
  • 将窗口往右边进行滑动,那么原来的B窗口的位置变成了之前窗口C对应的字母,即输入和输出不一样了,这样就形成了第二个训练数据(如下图第二行)
  • 总结步骤:自己组建滑动窗口大小,记录输入输出,再进行滑动,所以说当前任务并不是有监督的数据集,因为无论什么数据拿过来都是可以做的,但是一定得是有逻辑才是可以用的
    在这里插入图片描述

2.CBOW与Skip-gram模型对比

2.1CBOW模型

  • continuous bag of words(连续词袋模型)

  • 如下图,输入是上下文,输出是中间缺的词

  • 比如窗口是5,那么四个输入分别是by 、a 、bus 、 in ,输出就是red,也就是该空是red

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Simple_learning_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值