word2vec介绍及CNN在自然语言中的应用

Word2vec

当我们分析图片或者语音的时候,我们通常都是在分析密集的,高纬度的数据集。我们所需的全部信息都储存在原始数据中。
在这里插入图片描述

  • 当我们处理自然语言问题的时候,我们通常会做分词,然后给每一个词一个编号,比如猫的编号是120,狗的编号是343。比如女生的编号是1232,女王的编号是2329。这些编号是没有规律,没有联系的,我们从编号中不能得到词与词之间的相关性。
  • 例如:How are you?
    How 234
    Are:7
    you:987
    在这里插入图片描述
    从one-hot编码中就可以看到这样就会浪费很多的空间,大多数都是0,真正有用的数据就是一个1,所以当词料库很大的时候整体直接进行one-hot编码是不可取的。

Word2vec的两种模型

连续词袋模型(CBOW)

根据词的上下文词汇来预测目标词汇,例如上下文词汇是“今天早餐吃_”,要预测的目标词汇可能是“面包"
在这里插入图片描述

Skip-Gram模型

Skip-Gram模型刚好和CBOW相反,它是通过目标词汇来预测上下文词汇。例如目标词汇是“早餐”,上下文词汇可能是“今天”和“吃面包”
在这里插入图片描述

CBOW和Skip-Gram

  • 对于这两种模型的训练,我们可能容易想到,使用softmax作为输出层来训练网络。这个方法是可行的,只不过使用softmax作为输出层计算量将会是巨大的。假如我们已知上下文,需要训练模型预测目标词汇,假设总共有50000个词汇,那么每一次训练都需要计算输出层的50000个概率值。
  • 所以训练Word2vec模型我们通常可以选择使用噪声对比估计(Noise Contrastive Estimation)NCE使用的方法是把上下文h对应地正确的目标词汇标记为正样本(D=1),然后再抽取一些错误的词汇作为负样本(D=0)。然后最大化目标函数的值。
    在这里插入图片描述
  • 当真实的目标单词被分配到较高的概率,同时噪声单词的概率很低时,目标函数也就达到最大值了。计算这个函数时,只需要计算挑选出来的k个噪声单词,而不是整个语料库。所以训练速度会很快。

Word2vec图形化

在这里插入图片描述
在这里插入图片描述

CNN在自然语言处理的应用

  • 说到CNN我们首先可能会想到CNN在计算机视觉中的应用。近几年CNN也开始应用于自然语言处理,并取得了一些引人注目的成绩。
  • CNN应用于NLP的任务,处理的往往是以矩阵形式表达的句子或文本。矩阵中的每一行对应于一个分词元素,一般是一个单词,也可以是一个字符。也就是说每一行都是一个词或者字符的向量(比如前面说到的word2vec)。假设我们一共有10个词,每个词都用128维的向量来表示,那么我们就可以得到一个10x128维的矩阵。这个矩阵就相当于是一副“图像”。

在这里插入图片描述
把自然语言中的句子转换成矩阵的形式,然后对其进行卷积和池化,池化后拼起来,用个全连接层连接到最后的分类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

布兹学长

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

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

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

打赏作者

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

抵扣说明:

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

余额充值