自然语言处理(四)词向量的所有概念

word2vec是一种将word转为向量的方法,其包含两种算法,分别是skip-gram和CBOW,它们的最大区别是skip-gram是通过中心词去预测中心词周围的词,而CBOW是通过周围的词去预测中心词。

one-hot representation以字典建立向量,词所处的位置用1表示,其余为0。此种方式词缺点是向量太稀疏造成内存消耗大,且无法表示词与词之间的语义顺序关系。

把稀疏词向量稠密化,一种方法是传统的神经网络语言模型 (neural network language model NNLM) 进行词向量的训练,得到的结果就是每个词的稠密化表示,比较高效的一种方法是连续词袋模型 (Continue Bag of Word CBOW ),其改进之一是输入层到投影层之间不再拼接,而是求和取平均,另一个改进是由于投影层到隐藏层的计算量太大,采用哈夫曼树进行层次化的softmax代替过大的计算。当然了对于生僻字或是很少出现的词,上述的模型训练方式还是没有招架之力,所以负采样的方式代替了哈夫曼树,从而使处理生僻字更加的高效。

word2vec是轻量级的神经网络,其模型仅仅包括输入层、隐藏层和输出层,模型框架根据输入输出的不同,主要包括CBOW和skip- gram模型,CBOW模型是通过上下文的内容预测中间的目标词,而skip- gram则相反,通过目标词预测其上下文的词,通过最大化词出现的概率,我们训练模型可得到各个层之间的权重矩阵,我们所说的得到的word embedding vector就是从这个权重矩阵里面得来的。

这两种的原理都是最普通的神经网络原理,它们的差异仅在于输入与输出上。

这种将高维度的词表示转换为低维度的词表示的方法,我们称之为词嵌入(word embedding)。有个有意思的发现是,当我们使用词嵌入后,词之间可以存在一些关系,例如:king的词向量减去man的词向量,再加上woman的词向量会等于queen的词向量!

出现这种神奇现象的原因是,我们使用的分布式表示的词向量包含有词语上下文信息。

NNLM 主要是从计算概率角度出发,通过神经网络搭建语言模型实现词的预测任务。

如何实现NNLM:
神经概率语言模型可以分为四层,即输入层,embedding层,隐藏层,输出层。
也可以分为三层,即把input层和embedding层合在一起当做输入层,然后隐藏层、输出层,其实在实际操作中实际的输入就是embedding层(词向量)


LSA(Latent Semantic Analysis), 潜在语义分析。试图利用文档中隐藏的潜在的概念来进行文档分析与检索,能够达到比直接的关键词匹配获得更好的效果。

a)词在不同document或者term下出现的频数,形成高维稀疏矩阵。

b)对document或者term矩阵进行奇异值分解。

c)对SVD分解后的矩阵进行降维。

d)使用降维后的矩阵构建潜在语义空间,在此基础上提取出词的语义特征。

2、缺点是,缺少考虑一个词上下文的语义关联信息。即,没有考虑一个字的前后连续信息,因此这也是LSA的短板。

Glove模型的出现,是以LSA和Word2vec为背景知识以及工作基础,它结合两者的优势,互补彼此的缺点,实现了一个非深度学习的升级语言模型。性能是低于基于transformer的Bert,AlBert,XLNet,RoBerta等深度语言模型。我们介绍的意义在于它轻量,性能较好,易于使用。

由于LSTM存在cell state的传递,如图中LSTM中链接的箭头所示,它能够捕捉到这种否定关系,从而输出正确的情感系数。

长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行。原始 RNN 的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。再增加一个状态,即c,让它来保存长期的状态,称为单元状态(cell state)。

在 t 时刻,LSTM 的输入有三个:当前时刻网络的输入值 x_t、上一时刻 LSTM 的输出值 h_t-1、以及上一时刻的单元状态 c_t-1;LSTM 的输出有两个:当前时刻 LSTM 输出值 h_t、和当前时刻的单元状态 c_t.关键问题是:怎样控制长期状态 c ?

方法是:使用三个控制开关

n-gram用的是马尔可夫假设
 

K近邻法(k-Nearest Neighbor,简称k-NN)是一种基本分类与回归方法,是最好的文本分类算法之一,在机器学习分类算法中占有相当大的地位,是最简单的机器学习算法之一,就是以带有标签的数据为核心,找到距离核心最近的k个近邻数据,就是这样。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值