NLP学习之word2Vec

本人的专注和兴趣方向实际上与ai基本无关(由于神经网络的可解释性对我来说太差了,所以一直觉得这个方向让我缺乏成就感),但是不知道为什么每次实现,面试的时候都觉得岗位应该和ai关系不大,但是每次做着做着总会发现逃不过,所以这次正好有整段的时间,稍微学习了一下。
我现在主要是在做一个文档处理的工作,想把一部分文档作为私域知识库,开发一个ai的qa和阅读理解服务。我觉得这篇笔记基本算是基础(因为我的ai真的约等于没有学)。
这篇文章是一些NLP的入门内容,重点放在了Word2Vec
好了,接下来进入正文:

NLP(自然语言处理)

(13年之前是统计学,13年之后随着深度学习的发展,NLP的研究也逐渐转向了深度学习,靠神经网络来解决NLP的问题)

一些学习资料

课程:

  • https://space.bilibili.com/365093772/channel/collectiondetail?sid=550238 NLP系列
  • https://blog.csdn.net/v_JULY_v/article/details/102708459 Word2Vec

数学书:程序员的数学书

笔记:

  • https://github.com/zibuyu/research_tao NLP研究入门之道
  • https://zhuanlan.zhihu.com/p/59184256 初入NLP领域的一些小建议
  • https://github.com/graykode/nlp-tutorial 100行内代码完成NLP任务

基本方法

递归神经网络(RNN,LSTM)

应该是一个token一个token的处理,而不是整个句子的处理。
比如处理一个句子的流程是:输入一个token,输出一个结果,然后输入下一个token,输出下一个结果,直到输入完整个句子。
主要有三个部分:输入层,隐藏层,输出层。

  • 输入层:输入的是一个token,比如一个单词,一个字母等。
  • 隐藏层:隐藏层的作用是将输入的token转换为一个向量,这个向量是一个固定长度的向量,这个向量的长度是可以调整的。
  • 输出层:输出层的作用是将隐藏层的向量转换为一个结果,比如一个单词,一个字母等。
    缺点:RNN的缺点是不能解决长期依赖的问题。(因为RNN的隐藏层的向量是一个固定长度的向量)

seq2seq

seq2seq是一个encoder-decoder的结构,encoder是一个RNN,decoder也是一个RNN。

attention

attention捕捉了输入序列中每个位置的重要性,解决长期依赖的问题。
核心就是计算每个位置的权重。

BERT

  • 预训练模型:BERT是一个预训练模型,预训练模型是在大规模的数据上进行训练,然后在特定的任务上进行微调。(比如我要做一个情感分类的任务,我可以先在大规模的数据上进行训练,然后在情感分类的任务上进行微调)

特征编码

one-hot编码

一个词是一个向量,这个向量的长度是词典的大小,这个向量的每个位置都是0,只有一个位置是1。
缺点:one-hot编码是一个稀疏编码,向量的长度是词典的大小,这个向量的大部分位置都是0,只有一个位置是1,这样的向量是一个稀疏向量,稀疏向量的存储和计算都是非常耗费资源的。

稠密编码

将每个核心特性(词,词性,词的位置等)映射到一个固定长度的向量上,这个向量是一个稠密向量,稠密向量的存储和计算都是非常高效的。

组合稠密编码
  • 窗口:假设i为当前词的位置,窗口大小为2,那么当前词的上下文就是i-2,i-1,i+1,i+2,将这些词组合之后,作为新特征使用。
  • 可变特征数目(连续词袋):由于不能预先确定特征的数目,因此需要用固定大小的向量表示任意数量的特征

word2vec

CBOW

使用文本的中间词作为目标词,去掉隐藏层,用上下文各词的词向量的均值替代NNLM拼接的词向量

skip-gram

使用文本的中间词作为输入词,去掉隐藏层,用上下文各词的词向量的替代NNLM拼接的词向量

奇怪的知识增加了

信息熵

  • 信息熵:信息熵是对信息量的度量,信息量越大,信息熵越大。直观一点: 一个事情的不确定性越大,信息熵越大。
  • 相对熵:相对熵是两个概率分布之间的差异,相对熵越大,两个概率分布之间的差异越大。
  • 交叉熵:交叉熵是两个概率分布之间的差异,交叉熵越大,两个概率分布之间的差异越大。
  • 困惑度:困惑度低,模型好。困惑度是交叉熵的指数,交叉熵越小,困惑度越小。
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值