文本转化为向量

假如有一句话"I am a student"。用向量来表示每个单词,采用one hot 编码表示方式:I -> [1,0,0,0]am -> [0,1,0,0]a -> [0,0,1,0]student -> [0,0,0,1]我们会发现两个缺点:(1)单词向量之间的内积为0,它们相互独立。这与实际情况是矛盾的,单词之间是有一定的联系,比如woman与girl,...
摘要由CSDN通过智能技术生成

假如有一句话"I am a student"。用向量来表示每个单词,采用one hot 编码表示方式:
I -> [1,0,0,0]
am -> [0,1,0,0]
a -> [0,0,1,0]
student -> [0,0,0,1]
我们会发现两个缺点:
(1)单词向量之间的内积为0,它们相互独立。这与实际情况是矛盾的,单词之间是有一定的联系,比如woman与girl,dog与dogs。
(2)one hot编码使得向量非常稀疏。每个单词向量的维度跟单词的个数有关,如果语料库中单词很多,会导致向量的维度非常高。
会出现这些问题,那么有没有更加合理的对单词用向量表达?当然有,那就是word embedding。word embedding是将高维稀疏的向量映射为低维稠密的向量。

自然语言是一套用来表达含义的复杂系统。在这套系统中,词是表义的基本单元。在机器学习中,如何使用向量表示词?顾名思义,词向量是用来表示词的向量,通常也被认为是词的特征向量。近年来,词向量已逐渐成为自然语言处理的基础知识。NLP(自然语言处理)里面,最细粒度的是 词语,词语组成句子,句子再组成段落、篇章、文档。所以处理 NLP 的问题,首先就要拿词语开刀。词语,是人类的抽象总结,是符号形式的,所以需要把他们转换成数值形式,或者说——嵌入到一个数学空间里,这种嵌入方式,就叫词嵌入(word embedding)。词嵌入是一种映射类型,它允许具有相似含义的单词具有相似的表示。

下面介绍几种word embedding方法。

1、word2vec

Word2vec,就是词嵌入 的一种。简单点来说就是把一个词语转换成对应向量的表达形式,来让机器读取数据。
1.1word2vec
word2vec的目的是把单词转化为向量。word2vec有两种模型:CBOW(continuous bag of words)和skip-gram。
详细介绍请阅读论文原文地址
1.2CBOW
CBOW模型是把一个词的上下文作为输入,来预测这个词本身。
在这里插入图片描述
1.3skip-gram
skip-gram模型是把一个词作为输入,来预测这个词的上下文。
在这里插入图片描述
虽然Word2Vec成功地处理了由独热向量引起的问题,但是它有几个限制。最大的挑战是它不能表示训练数据集中没有出现的单词。即使使用包含更多词汇的更大的训练集,一些很少使用的罕见词汇也永远无法映射到向量。

2、doc2vec

doc2vec是2014年提出的,原文地址

doc2Vec 或者叫做 paragraph2vec, sentence embeddings,是一种非监督式算法,可以获得 sentences/paragraphs/documents 的向量表达,是 word2vec 的拓展。学出来的向量可以通过计算距离来找 sentences/paragraphs/documents 之间的相似性,可以用于文本聚类,对于有标签的数据,还可以用监督学习的方法进行文本分类,例如经典的情感分析问题。
2.1 A distributed memory model
训练句向量的方法和词向量的方法非常类似。训练词向量的核心思想就是说可以根据每个单词的上下文预测,也就是说上下文的单词对是有影响的。那么同理,可以用同样的方法训练doc2vec。例如对于一个句子i want to drink water,如果要去预测句子中的单词want,那么不仅可以根据其他单词生成feature, 也可以根据其他单词和句子来生成feature进行预测。因此doc2vec的框架如下所示:
在这里插入图片描述
每个段落/句子都被映射到向量空间中,可以用矩阵的一列来表示。每个单词同样被映射到向量空间,可以用矩阵的一列来表示。然后将段落向量和词向量级联或者求平均得到特征,预测句子中的下一个单词。

这个段落向量/

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值