基于深度学习的文本分类

学习内容

  • 学习word2vec
  • 学习textcnn、textrnn
  • 学习使用HAN网络结构完成文本分类

1 学习Wordvec

前面写了使用tf-idf提取特征,然后使用xgb分类的方法,可以完成不错的准确率,但是one-hot编码没有语义信息,且稀疏性问题严重,浪费大量的计算资源。寻找一种既能包含语义信息,有能压缩词向量维度的方法。因此引入了Wordvec。

word2vec模型背后的基本思想是对出现在上下文环境里的词进行预测。对于每一条输入文本,我们选取一个上下文窗口和一个中心词,并基于这个中心词去预测窗口里其他词出现的概率。因此,word2vec模型可以方便地从新增语料中学习到新增词的向量表达,是一种高效的在线学习算法(online learning)。

word2vec的主要思路:通过单词和上下文彼此预测,对应的两个算法分别为:
Skip-gram:中间词预测上下文
CBOW:上下文预测目标词
为了解决两种 fake task的计算量问题,目前常用两种,优化方法:

  • Hierarchical softmax
  • Negative sampling

1.1 skip-gram原理与网络结构

Word2Vec模型中,主要有Skip-Gram和CBOW两种模型,从直观上理解,Skip-Gram是给定input word来预测上下文。而CBOW是给定上下文,来预测input word。
在这里插入图片描述说在前边
word2vec 网络softmax输出的不是我们想要的
我们要的是权重矩阵
权重矩阵就是所有词的词向量
每一个词对应的权重

在这里插入图片描述
词库中第4个词,对应权重矩阵第4行,[10,12,19]才是词向量

Word2Vec的整个建模过程实际上与自编码器(auto-encoder)的思想很相似,即先基于训练数据构建一个神经网络,当这个模型训练好以后,我们并不会用这个训练好的模型处理新的任务,我们真正需要的是这个模型通过训练数据所学得的参数,例如隐层的权重矩阵——后面我们将会看到这些权重在Word2Vec中实际上就是我们试图去学习的“word vectors”。

假如我们有一个句子“The dog barked at the mailman”。

  • 首先我们选句子中间的一个词作为我们的输入词,例如我们选取“dog”作为input word;

  • 有了input word以后,我们再定义一个叫做skip_window的参数,它代表着我们从当前input word的一侧(左边或右边)选取词的数量。如果我们设置skip_window=2,那么我们最终获得窗口中的词(包括input word在内)就是[‘The’, ‘dog’,‘barked’, ‘at’]。skip_window=2代表着选取左input word左侧2个词和右侧2个词进入我们的窗口,所以整个窗

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值