从one-hot到语言模型

本文介绍了文本处理中从one-hot编码到word2vec的转变,以及word2vec如何通过CBOW和Skip-gram模式捕捉词的语义关系。进一步讨论了基于RNN的Encoder-Decoder语言模型在解决信息冗余和丢失问题上的局限性,引出了注意力机制的重要性,强调其在突出关键信息方面的作用。

文中仅代表个人观点,如有异议,欢迎探讨。

在机器学习的研究中,从我们的处理对象上来看可以分为:图像、语音、文本。
本文重点讨论对文本的处理。也就是说,我们处理的对象是文本,但是机器不像人啊!没办法像人类一样对文档进行阅读。
所以!!我们要做的就是把文本进行表示,而我们的这种表示方法可以让机器读懂文档的内容。

于是,出现了one-hot编码
one-hot编码就是把我们处理的文本用二进制进行表示,每个字的维度是字典的大小。
拿个例子来说吧:
我们的字典是:自然语言处理
由于该字典有6个字,所以字典的维度为6.
自:[1 0 0 0 0 0]
然:[0 1 0 0 0 0]
语:[0 0 1 0 0 0]
言:[0 0 0 1 0 0]
处:[0 0 0 0 1 0]
理:[0 0 0 0 0 1]
从以上例子可以看出,表示每个字的矩阵中,只有一个1,其余都是0.
以上的例子的字典仅仅包含6个字,但是现实生活中字典的大小要远大于这个数字,维度要远大于6维。维度大带来的是计算的问题。

为了解决这个问题,word2vec就诞生了

和one-hot的功能相同,Word2vec也是对词向量进行表示,但是word2vec的表示方法不再是稀疏表示。并且Word2vec的表示方法可以使语义相近的词的距离也较近
例如:上海、北京、广州等这些城市的距离较近,这是one-hot表示远远做不到的,也是Word2vec表示的强大优点所在。
Word2vec模型有两种模式:CBOW和Skip-gram。
CBOW是根据上下文预测目标词,Skip-gram是根据目标词预测上下文。
Word2vec也是神经网络,该神经网络的输入为one-hot编码,输出为预测的上下文或者中心词。刚才说到,我们的Word2vec是用来对词进行表示啊,我们词向量的表示就是隐层输出或者出入到隐层的权重。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值