《基于深度学习的自然语言处理》【以色列】约阿夫 第一部分 + 第二部分 笔记

第一部分 有监督分类与前馈神经网络

基本学习机制(有监督学习、多层感知器、基于梯度的训练以及用于实现和训练神经网络的计算图抽象)。
1、
在这里插入图片描述
2、hinge损失=合页损失=间隔损失=支持向量机损失=01损失

3、损失函数
合页损失(二分类、多分类)
二元交叉熵(逻辑斯蒂损失)——被用于输出为条件概率分布的二元分类中。
分类交叉熵损失——得分为概率
等级损失——给正确项打比不正确项高的分

4、弹性网络正则器:L1正则和L2正则的组合。

5、凸函数是二阶导数总是非负的函数。

6、训练方法
随机梯度下降法(SGD)
批量随机梯度下降Minibatch
SGD+Momentum
Nesterov Momentum
AdaGrad
AdaDelta
Adam

7、常见的非线性函数:sigmoid、tanh、ReLU。

8、xavier初始化:基于tanh激活函数的性质提出;高斯分布采样权值初始化:针对ReLU非线性激活函数。

9、随机初始化=随机重启。

10、饱和神经元——输出接近1,输入层值太大,解决方法:归一化饱和值;死神经元——输出接近0,输入层的负值引起,减少学习率可缓解。

第二部分 处理自然语言数据

- 文本特征构造
- NLP特征案例分析
- 从文本特征到输入
- 语言模型
- 预训练的词表示
- 使用词嵌入
- 案例分析:一种用于句子意义推理的前馈结构


文本特征构造

1、NLP分类问题中的拓扑结构
(1)。对大部分词来说,它们的解释依赖于其出现的上下文。
(2)文本:短语、句子、段落、文章。
(3)成对文本。给定一对词或文本,需要了解成对的信息。如:句子A能否通过句子B推断?A是B的一个有效翻译吗?
(4)上下文中的词。对文本上下文的词进行分类。
(5)词之间的关系

2、分词:以空格和标点符号为基准来分割文本为符号的过程。
#英文因为词都是分开的所以好分割,但是类似中文和希伯来语等不以空格分割的语言则不好分割。

3、分词器的输出称为“token”,将带语义的单元称为“word”。一个token可能由多个word组成,多个token也可能是一个word。

4、NLP问题中的特征
特征通常表现为标量和可数形式。标量特征常取0/1值可数特征的取值取决于给定一个事件出现的频率
(1)直接可观测特征

  • 单独词特征(独立与上下文的词):组成词的字符及其次序和属性。如:单词的长度、字形(第一个字母是否大写?是否包含连字符?是否包含数字?词的前缀后缀等…)、词与外部信息资源的联系(词频、词是否为常用词等)等。
    词元(词典条目)和词干。将词语的不同形式映射到它们的通用词元上,映射由词元集或形态分析器完成。词干处理是以特定语言的启发式规则将词序列映射为更短的序列,可以将不同的影响序列映射为相同的序列。
      (1)词元举例:book是booking、booked、books等词的通用词元;
      (2)词的词元是歧义的,融合上下文信息可以消歧。
      (3)词干提取的结果不需要是一个有效的词,不同策略下会产生多种提取结果。
     词典资源。常用词典资源:
        WordNet:人工构建。尝试捕捉关于词的概念语义知识。每一个同义词描述一个概念,每个词均属于一个或多个同义词集。包含与名词、动词、形容词和副词有关的信息。
        FrameNet:人工构建。重点围绕动词,列举了持有同一论元的动词以及非核心论元。
        VerbNet:人工构建。同FrameNet。
        PPDB:自动构建的有关复述的数据集。列举了词和短语及其近义词。
    分布信息

  • 文本特征:词袋BOW、权重(结合外部信息的统计结果为词添加权重,如TF-IDF权重)。

  • 上下文特征:窗口(聚焦于词的直接上下文,用特征代替出现在窗口中的词)、绝对位置(如,目标词是句子中的第5个词))

  • 词关系特征:词间距离。
    (2)可推断的语言学特征:词性标签、语法树、语义角色、篇章关系、回指(指代消解)和其他语言学属性。
    #语法标注:成分树、依存树
    (3)核心特征和组合特征
    (4)n元组特征:在给定的长度下由连续的词序列组成。
    (5)分布特征:通过词出现的上下文去学习词的归一化。聚类、词嵌入。


NLP 特征的案例分析

1、文本分类——语言识别。
#字母级二元文法词袋:每个可能的二阶字母对是一个核心特征,对于给定的文档,其核心特征的值是该特征在文档中的计数。 一个类似的任务是编码检测。

2、文本分类——主题分类:对于给定的文档,需要将它归类为一组预定义的主题。
#将词作为基本单位。
#缺乏训练样本——把词替换成词元/用分布特征替换补充单词;
#使用线性分类器——考虑单词对作为特征。

3、文本分类——作者归属
#特征的选择应该侧重文体属性。参考特征集合:功能词与代词词袋,词性词袋,词性的二元文法、 三元文法、四元文法词袋 ,能词的密度(即功能词与文本窗口中的内容词数量之间的比值)、删除内容词后的功能词二元文法词袋与连贯功能词之间的距离分布 。

4、上下文中的单词——词性标注
17个词性标签:形容词 , 介词,副词,助动词,并列连词,限定词 , 感叹词,名词,数字 ,小品词,代词 ,专有名词 , 标点,从属连词,符号 ,动t司等 。
信息来源:内部线索(词本身)和外部线索(上下文)。
(1)内部线索包括词的识别(例如,有些词比其他词更有可能是名词)、前缀、后缀、正字词的形状,以及单词在大语料库中的频率。
(2)外部线索包括单词的标识、前缀和当前单词周围单词的后缀,以及前面单词的词性预测结果 。

5、上下文中的单词——命名实体识别(NER)
序列分割任务。使用标注来解决分割任务一般都是用 BIO 标签,如下图所示。
在这里插入图片描述
6、上下文中单词的语言特征——介词词义消歧
介词消歧任务处理是从有限的语义集合中选择正确的意义分配给上下文中的介词 。
一个消歧的办法:使用依存分析器从语法树中后去调控器和对象信息,同时参考解析器和和启发式规则提取出的调控器和对象信息,并将它们作为特征源,通过学习特征源来进一步提取特征。若允许使用外部资源并不介意扩大特征空间,则可以使用Hovy et al.2010基于WordNet的特征。

7、上下文中单词的关系——弧分解分析
依存分析建模的一种方法——弧分解:每个可能的d 个词词关系( arc)被分配一个独立的分数,然后我们搜索得到一个最大化总体分数的有效的树。分数通过训练好的打分函数ARCSCORE分配,接收给定的句子以及句子中分配的候选词对 h 和 m(h 是候选头词的索引, m 是候选修饰词的索引)。


从文本特征到输入
1、编码特征分类

  • 独热编码
  • 稠密编码(特征嵌入,词嵌入):空间维度远小于特征数目。下图为一个特征表示示例:
    在这里插入图片描述
    2、组合稠密向量:每个特征对应一个稠密向量,需要用某种方式将不同的向量组合起来,主要有拼接、相加(或者平均)和同时使用拼接与相加 。
    #窗口特征、连续词袋CBOW/WCBOW。
    #CBOW:通过相加或者平均的方式组合特征的嵌入向量。
    在这里插入图片描述
    #WCBOW:CBOW 的一种简单变换,为不同的向量赋予不同的权重。
    在这里插入图片描述
    3、补齐、未登陆词、词签名、词丢弃。
    (1)补齐:添加补齐符号(如0向量)到嵌入词表中。
    (2)未登陆词:不在词表中的词。用特殊符号替代或使用词丢弃的方法。
    (3)词丢弃:在训练集中抽取特征时,用未登录符号基于词频随机替换单词。
    #词丢弃除了更好地适应未登录词之外,词丢弃可能也会有助于避免过拟合和通过让模型不过分依赖任何当前词来提高鲁棒性。

4、向量共享。


语言模型

1、语言模型就是给任何词序列分配一个概率的任务。

2、语言模型评估:困惑度
#困惑度是一种信息论测度,用来测量一个概率模型预测样本的好坏,困惑度越低越好。
在这里插入图片描述

3、传统方法:假设K阶马尔科夫性质,并求下式的最大似然估计。
在这里插入图片描述
传统方法的缺点在于:若序列从未在语料中被观察都,则模型分配的概率为0,从而导致整个语料的0-概率分配,造成非常大的困惑度。
解决方法——使用平滑技术(添加平滑——add a平滑,退避),确保每个可能的情况都分配到一个概率。

  • add a平滑:每个事件除了语料中观测的情况外,至少发生了a次。其中|V|是词表大小。在这里插入图片描述
  • 退避:如果没有观测到K元文法,则基于(K-1)元文法计算一个估计值。典型例子:贾里尼克插值平滑:
    在这里插入图片描述
    4、传统语言模型(基于最大似然估计的语言模型)的限制。
    #MLE模型的优点是容易训练,可扩展到大规模语料库,实际应用中表现良好。
    (1)平滑技术错综复杂且需要回退到低阶;
    (2)自然语言的本质和词表中大量的词意味着统计n元文法将变得稀疏;
    (3)基于最大似然估计的语言模型缺乏对上下文的泛化。

5、神经语言模型

  • 输入向量是k个词的串联拼接,输出是下一个词的概率分布。
  • 训练样本是语料中的k元文法,前k-1个词用于特征,最后一个为分类标签。
  • 模型使用交叉熵损失函数训练,可用其他近似方法替代。
  • 高效处理大规模输出空间可行度低,参考解决方案:层次化softmax、自归一化方法、字符级操作。
  • 局限:相比于传统模型,其计算代价更高;难训练大规模语料。

预训练的词表示(词嵌入的生成)
1、随机初始化(在一定范围内均匀采样)
#将词嵌入向量初始化为随机值,以下d表示维度数。
Word2Vec的采样区间:
在这里插入图片描述
xavier初始化的采样区间:
在这里插入图片描述
2、预训练
(1)有监督的特定任务的预训练
(2)无监督的预训练——相似的词的词嵌入向量应该也是相似的。
#出现相似的上下文中的词是相似的。

3、词嵌入算法
(1)分布式假设和词表示:相同上下文中出现的词倾向于具有相似的含义。

  • 词-上下文矩阵:行表示一个单词,列表示词出现处的上下文语义。
    #M[i,j]为在大语料库中量化得到的词与上下文之间的关联强度。每个词被表示为高维空间中的稀疏向量,对其出现的上下文的加权词袋进行编码。
    #上下文的不同定义以及度量词与上下文之间关联的不同方法产生不 同的词表示 。 可以使用不同的距离函数来度量词向量之间的距离,这些距离用于表示词之间的语义距离 。
    -在这里插入图片描述
  • 相似度度量:余弦相似度、Jaccard相似度
  • 词-上下文权重:统计单个词及其上下文组成的组合的频率,并把此频率转换为权重。
    #最好给定单词的上下文(与给定词经常共现的上下文)
  • PMI:点互信息。一对离散输出x和y之间的信息理论关联度量。
  • PMI计算公式
    #PPMI(正度量)
    #PMI缺点是倾向于为稀有事件赋予高值。(在使用PMI前应用计数阈值可以降低罕见事件的影响)
  • 通过矩阵分解进行降维:SVD

(2) 神经语言模型

  • Collobert和Weston的算法:神经网络。输入为词与上下文(窗口部分),输出放弃概率输出换成打分(不用做归一化,降低计算成本),损失函数使用基于边缘的排序损失。
  • Word2Vec:用概率目标代替基于边缘的排序目标。目标是估计来自正确集合D的词-上下文对的概率P(D=1|w,c)。loss是最大化数据DUD非的对数似然函数。
  • Word2Vec的变体——CBOW:将上下文向量c定义为上下文组成的词嵌入向量的累和。将得分定义为简单的乘积形式。缺点是丢失了上下文成本之间的顺序信息,优点是允许使用变长的上下文。
    词向量累积和
    概率模型
  • Word2Vec的变体——skip-gram:在打分基础上分离了上下文成分之间的依赖关系。
    #skip-gram假设上下文中的元素和其他元素相独立,基本上将它们视为不同的上下文,即一个上下文对(w,c)在语料D中表示成不同的k个上下文。得分函数和CBOW一样。
    在这里插入图片描述
    (3)词语联系
    基于“计数”和基于”神经“的方法都是基于分布假设,尝试基于它们出现的上下文之间的相似性来捕获词之间的相似性。
    Word2Vec在隐含的分解词-上下文PMI矩阵密切相关的矩阵(代表词矩阵与上下文矩阵,word2vec没有生成其乘积,但是却保留了最后的词嵌入矩阵)。

(4)其他算法

  • NCE(噪声对比估计):相当于将矩阵项为对数条件概率的词上下文矩阵进行因式分解。
    在这里插入图片描述
    #与word2vec的变体SGNS相似。

  • Glove:参数是学习不是固定的。优化目标是加权最小二乘法损失函数,给频繁词条正确地赋予更多权重。

4、上下文的选择
(1)窗口法
#滑动窗口法。
焦点词:中间词
上下文:焦点词两侧的词

  • 窗口大小影响:窗口较大易产生更大的主题相似性,较小则容易产生更多的功能和句法相似性。
  • 窗口位置:添加窗口内上下文位置信息。
  • 变体:动态改变窗口、语料库处理等。

(2) 句子、段落或文档:将词及其上下文代替整个句子、段落或文档。
(3)句法窗口:相当于用缩写的句子代替整个句子。能产生高度相似性。
(4)多语种。例如双语对齐模型IBM,使用生成的对齐来推出词的上下文。
(5)基于字符级别和字词的表示

5、处理多字单元和字变形。
多字单元处理方法:符号串词条列表,并用文本替换单个实体。
字变形:语料预处理。(词性标注)

6、分布式方法的限制

  • 相似性的定义(完全可操作)导致的问题
  • 信息的掩盖。(人们偏向于表达未知信息,忽略已知信息)
  • 反义词趋向于处理成相似的词
  • 语料库偏好
  • 语境的缺乏

使用词嵌入
1、词向量的获取:从语料库训练或网络下载已经预训练好的词向量。
2、词的相似度计算:余弦相似度。
3、词聚类:聚类算法实现
4、寻找相似词、一组词的相似度。
(1)寻找相似词:余弦相似度计算
(2)一组词的相似度:定义词组中对象的平均相似度。
5、同中选异——找出不属于已有列表中的某个词或某个问题:计算每个词与词组平均相似度并返回一个最不相似的词完成。
6、短文档相似度
短文档相似度计算
7、词的类比——3CosAdd。从向量空间中的次运算到词之间的相似度运算的转换在某种程度上有助于解释词嵌入“解决”类比的能力。
在这里插入图片描述
改进版:
在这里插入图片描述

8、改装与映射(Faruqui et al. 2015)
类似于计算图


案例分析——一种用于句子意义推理的前馈结构

#SNLI数据集——自然语言推理(文本蕴含)任务
案例略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值