NLP TASK4 文本表示:从one-hot到word2vec

本文介绍了从传统的词袋模型的one-hot编码到word2vec词向量的转变,详细阐述了word2vec的原理,包括CBOW和Skip-gram模型,并提供了一个使用gensim库训练词向量的示例。word2vec通过分布式表示捕捉文本上下文信息,解决了one-hot编码的稀疏性问题,提高了文本表示的效率和准确性。
摘要由CSDN通过智能技术生成

任务描述

词袋模型:离散、高维、稀疏。
分布式表示:连续、低维、稠密
word2vec词向量原理并实践,用来表示文本。

word2vec原理

词向量

向量空间模型(VSM)是一类被提出表示文本信息的方法,该模型的思想是通过一种向量化的方式对文本数据进行表示,根据该向量空间模型的思想,词向量的概念开始引入。第一种使用词向量对文本数据进行表示的方法被称为独热编码(One-hot)表示方法,该方法对文本单词进行独热编码,单词使用One-hot表示。该词向量是这样一种形式,向量中每一维都代表了一个词语,如果目标词语和某一维代表的词语相等,则该维度的数值为1,其他维度都为0。该方法虽然理解和表示简单,但也存在几个明显的缺点,其一在于该向量的长度和语料中词语的数量有关,且只有当目标单词和向量元素一致时该元素才为1,其他元素都为0,是一个非常稀疏的向量,这会带来沉重的存储和计算方面的问题。其二在于使用One-hot形式对词语进行表征,该方法忽视了文本数据中上下文之间的联系,使得每个单词被当成独立的元素,并且不同词语之间的距离变得难以度量,因为不同单词之间的距离都是1,这样就很难通过距离来定义相似或完全相反的词语。第二种词向量的表达方式是Hinton提出的,是一种词语的分布式表征,主要思想是通过词语的上下文单词对目标词汇进行训练刻画的,它能将每个单词刻画成一个等长的向量,使用这种方法训练的词向量,还有一个特点就是,相似的词语在空间中位置接近,这样就将每个单词的表示和该词的上下文建立了联系,通过词向量在空间中距离的度量,就能得到不同单词的近似词。

word2vec

Word2vec算法的提出是改进Bengio提出的神经网络语言模型,经过中间层和输出层的优化,Word2vec方法极大节约了训练时间,也有着极高的准确率。该词向量方法主要有两种语言模型,CBOW(Continuous Bag-of-Words Model)模型和Skip-gram(Continuous Skip-gram Model)模型。CBOW模型的原理图为
在这里插入图片描述
Skip-gram模型的原理图为
在这里插入图片描述

使用范例

下面使用gensim词向量训练

from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence
import pickle 
import os
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值