Task6 简单神经网络

 

1. 文本表示:从one-hot到word2

目录

1. 文本表示:从one-hot到word2vec。

1.1one hot 相关概念

1.2 word2vec相关概念

2. 走进FastText

2.1 FastText的原理

1、应用场景

2、优缺点

3、FastText的原理

4.fasttext模型结构

5.模型对比

3.利用FastText模型进行文本分类

 

1.1one hot 相关概念

什么是one hot 编码?

one hot编码,又称独热编码,一位有效编码。其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立寄存器,并且在任意时候,其中只有一位有效。

one hot 优点:1.解决了分类器不好处理离散数据的问题;2.在一定程度上也起了扩充特征的作用

one hot 缺点:在文本特征表示上有些缺点就非常突出,首先,它是一个词袋模型,不考虑词与词之间的顺序,其次,它假设词与词相互独立(大多数情况下,词与词是相互影响的,最后,它得到的特征是离散稀疏的。

1.2 word2vec相关概念

word2vec是什么?

Word2vec是词的一种表示,他将词以固定维数的向量表示出来。 那么 这个时候这三个词都将表示为n维的词向量中国= [x1, x2,.....,xn]

为什么要用word2vec?word2vec有什么好处。

  • 传统的基于词袋模型 one-hot representation在判定同义词,相似句子的时候很无力。

  • 例如在一个只有两个词的词典中。快递被编码为v1 = [0,1],快件被编码为v2 =[1,0],计算两个的相似度。为v1*v2 = 0

  • 而word2vec充分利用上下文信息,对上下文进行训练。每个词不在是只有一个位置为1,其余位置为0的稀疏向量。而是一个稠密的固定维度向量。

word2vec关键点:直观上可以减少额外存储和计算开销,其次,在深层次的语义理解上,经过训练后的词微量能利用上下文信息,能判定找也相似词语。

word2vec的几种实现方式?

1)用上下文预测中心词cbow (continue bag of word)

2)利用中心词预测一下文skip-gram

从实现方式上看两者只是输入输出发生了变化。

word2vec本质

是无监督学习,因为输出并没有label,但是从输入和输出的形式上来看,输入的是一对对单词,看起来像是有监督的,其实不是,办为词向量的本质可以看出是一个只有一层的神经网络,因此必须有输入,输出,而训练过程或者目的不是得到预测结果单词,或是对单词进行分类,最这关键的是获得hidden layer 中权重,也就是说借助了sequence2sequence模型训练过程,得到了hidden layer权重。

Skip-Gram模型(跳字模型)中,我们用一个词,来预测它在文本序列周围的词,数学描述:假设词典索引集V的大小为|V|,且V={0,1,....|V|-1},给定一个长度为T的文本序列中,时间步t的词为w(t)。当时间窗口大小 为m时,跳字模型要最大化给定任一中心词生成所有背景词的概率:\prod_{t=1}^{T}\prod_^{-m\leq j\leq m,j\neq 0}P(W^{t+j}|w^{(t))}),我们可以用V和U分别表示中心词和背景词的向量。换言之,对于词典中索引 为i的词,它在作为中心词和背景词时的向量表示分别是vi和ui。而词典中所 有词的这两种向量正是跳字模型所要学习的模型参数。为了将模型参数植入 损失函数,我们需要使用模型参数表达损失函数中的给定中心词生成背景词 的条件概率。给定中心词,假设生成各个背景词是相互独立的。设中心词Wc在词典中索引 为c,背景词Wo在词典中索引为o,损失函数中的给定中心词生成背景词的条 件概率可以通过 softmax 函数定义。

跳字模型,随机采样的子序列有关其他向量的梯度同理可理,训练模型时,每次迭代实际上是用这些梯度来迭代子序列中出现过的中心词和背景词的向量,训练结束后,对于词典中的任一索引为i的词,我们均得到该词作为中心词和背景词的两组词向量vi和Ui,在自然语言处理中,我们使用跳字模型词向量。

CBOW模型(连续词袋模型),CBOW模型用一个中心词在文本序列前后的背景词来预测中心词。数学描述:假设词典索引集 V 的大小为 |V|,且 V={0,1,...,|V|−1}。给定一个长度为T 的文本序列中,时间步 t 的词为 w(t)。当时间窗口大小为 m 时,CBOW 模型需要最大化给定背景词生成任一中心词的概率;

1.1 词袋模型:离散、高维、稀疏。

1.2 分布式表示:连续、低维、稠密。word2vec词向量原理并实践,用来表示文本。

2. 走进FastText

fasttext最优的地方是,和前沿的深度神经网络模型相比,能够做到效果好,速度快,主要是利用词内n-gram信息(subword n-gram information),二是用到层次化Softmax回归(Hierarchical |Softmax)的训练trick.Subword n-gram information是对输入的上下文中每一个词,都进行基于词的n-gram,之后将所有的n-gram和原词相加,来代表上下文信息,这种做法的好处是英文单词中,可以由前缀或者后缀等语言形态上相似性,在词与词之间建立联系。

在fastText的工作之前,大部分的文本向量化的工作,都是以词汇表 中的独立单词作为基本单元来进行训练学习的。这种想法非常自然, 但也会带来如下的问题:
低频词、罕见词,由于在语料中本身出现的次数就少,得不到足够的训练,效果不佳;未登录词,如果出现了一些在词典中都没有出现过的词,或者带有某些拼写错误的词,传统模型更加无能为力。 fastText引入了subword n-gram的概念来解决词形变化(morphology)的问题。直观上,它将一个单词打散到字符级别,并且利用字符级别 的n-gram信息来捕捉字符间的顺序关系,希望能够以此丰富单词内部 更细微的语义。我们知道,西方语言文字常常通过前缀、后缀、字根来构词,汉语也有单字表义的传统,所以这样的做法听起来还是有一 定的道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值