词向量维与词典大小_word2vec原理 以及词向量构建中的一些体会

本文为NLP小白在做模型时为提取相关opcode的特征特此学习了解。

因为自然语言是无法被机器识别的,因此我们需要找到其对应的数学表示,本文我们主要讨论的词程度上的粒度。早期的词向量选择使用one-hot编码,就是先构建出语料中的词典,然后每一个词的向量为该词序号为一,其余位为零,长度为词典大小的一个稀疏向量,可以想像,这样一组向量相当于每个向量占一个坐标轴,那么向量会很稀疏,维数也容易爆炸。因此需要一种更稠密的的词向量表示方法。

通常认为一个词和他上下文会有一定的相关性,因此当我们想训练一个f(w,context(w))的模型过程中,我们会得到其中的中间产物词向量的隐藏表示。通常我们有CBOW和skip-Gram模型,前者是根据词前后的信息推断该词,后者是根据该词推断前后文。而为了加速和降低训练参数,实现模型时会用到一些trick如基于Hierarchical softmax,negative sampling, Huffman Tree等。

以CBOW为例,整个训练过程如下,c个词为上下文选择个数,训练后我们获得w矩阵,只需将原始one-hot向量与w矩阵相乘即可得到对应的n维词向量表示,这个模型中间产物就是我们需要的:

01360c114da2c6650a33e6035fbeb56c.png

在训练中加速的trick的具体数学原理可参考这篇博文,非常细致。

word2vec 中的数学原理详解​www.cnblogs.com
b5df0fb09d233aba189f8b655856552e.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值