NLP--6--文本表示2

1. Word Embedding

参考:https://www.jianshu.com/p/2a76b7d3126b

1.1 基本概念

  • Word Embedding可以理解为一种映射,其过程是:将文本空间中的某个word,通过一定的方法,映射或者说嵌入(embedding)到另一个数值向量空间。称之为embedding,是因为这种表示方法往往伴随着降维。
  • 输入:原始文本中不重复的词语的序列。
  • 输出:原始文本中每个word的向量表示。
  • 类型:基于频率的Word Embedding(Frequency based embedding);
    基于预测的Word Embedding(Prediction based embedding)

1.2 基于频率的Word Embedding

  • 该类的本质是基于one-hot表示法。

(1) Count Vector

假设一个语料库有N个word,D个文档,那么构建一个 D × N D\times N D×N词-文档矩阵,每行的各个维度表示该词在改行这个文档中出现的次数。但是当语料库十分庞大时,矩阵的规模也会很大,同时矩阵是稀疏的,会造成计算资源不能有效利用,因此一般会选取出现次数最频繁的词来构建语料库,即dictionary。

(2) TF-IDF

提高了权重设置的合理性,详见前一篇总结

(3) Co-Occurence Vector

  • 基于一个重要的研究结果:相似的单词趋向于有相似的上下文(context)。
  • Context Window:假设context window为2,那么一个特定词的context为其前后各两个临近词(加起来一共四个)。
  • Co-Occurence(共现):在上下文窗口内(context window)两个词共同出现了。
  • 假设语料库中有n个word,那么构建的Co-Occurence Vector的维度为 n × n n\times n n×n。这种方法的优势是保留了语义信息,比前两种方法更加智能。但是,会存在维数过大的问题,通常可以使用矩阵分解等手段降维优化。

1.3 基于预测的Word Embedding

  • 通过神经网络可以实现更好的文本表示方法:携带上下文信息;矩阵的表示是稠密的。

(1) CBOW

(2)skip-gram

1.4 总结

  • Word Embedding可以应用于:计算相似度,在一组单词中找出与众不同的一个,直接进行词的运算,计算一段文字出现的可能性等等。
  • 经过Word Embedding之后,各个word就组合成了一个相对低维空间上的一组向量,这些向量之间的远近关系则由他们之间的语义关系决定。

2. Glove

  • 2014年斯坦福提出。

3. ELMo

参考:
(1) https://zhuanlan.zhihu.com/p/49271699
(2) https://zhuanlan.zhihu.com/p/38254332

3.1 原理

  • ELMo:Embedding from Language Models.
  • 提出ELMO的论文:“Deep contextualized word representation”(2018).
  • 静态的word embedding:每个单词训练好的word embedding就固定住了,以后使用的时候,不论新句子上下文单词是什么,这个单词的word embedding不会跟着上下文场景的变化而改变。
  • ELMo的本质思想:事先用语言模型学习好一个单词的word embedding,此时多义词无法区分 (即,这个单词的word embedding中包含了多个语义),不过这没关系。在实际使用word embedding的时候,单词已经具备了特定的上下文,这个时候可以根据上下文单词的语义去调整单词的word embedding表示,这样经过调整后的word embedding更能表达单词在这个上下文中的具体含义,自然也就解决了多义词的问题。所以ELMO本身是个根据当前上下文对word embedding动态调整的思路。
  • ELMO采用了典型的两阶段过程:第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的Word Embedding作为新特征补充到下游任务中,这种方法称为 “Feature-based Pre-Training”。
  • ELMo的网络结构:ELMo的网络结构如下图所示:
ELMo的网络结构
  • ELMo在下游任务中的使用:ELMo在下游任务QA问题中的使用如下图所示:
ELMo在下游任务中的使用
  • ELMo的优点:(1) 能够学习到词汇用法的复杂性,例如语法、语义等。
    (2) 解决了多义词问题,能够学习不同上下文情况下的词汇多义性。
    (3) 普适性强,应用在多个领域的效果都不错,例如,语义关系判断,分类任务,阅读理解等多个领域。
  • ELMo的缺陷:(1) 选择的特征抽取器 LSTM 不如 Transformer 提取特征的能力强。
    (2) ELMO采取双向拼接这种融合特征的能力可能比Bert一体化的融合特征方式弱。(这一点只是推断,并没有实验证明)

3.2 实践


4. GPT (Generative Pre-Training)

参考:https://zhuanlan.zhihu.com/p/49271699

  • 论文:Improving Language Understanding by Generative Pre-Training
  • 使用的特征抽取器:Transformer。
  • 采用两阶段过程:第一个阶段是利用语言模型进行预训练,第二阶段通过Fine-tuning的模式解决下游任务。
  • 预训练过程中的语言模型目标任务:根据单词 W i W_i Wi 的上文 (context-before)预测单词 W i W_i Wi
  • GPT的网络结构:GPT的网络结构如下图所示:
GPT的网络结构
  • GPT在下游任务中的使用:下游任务使用GPT需要先将下游任务的网络结构改造成和GPT的结构一样,然后利用第一步预训练好的参数初始化GPT的网络结构,接着再使用手头任务训练这个GPT网络,对网络参数进行Fine-tuning,使得这个网络更适合解决手头的问题。对于不同类型的任务改造成GPT网络结构,只需要在输入部分施工即可,GPT论文给的改造施工图如下所示:
GPT改造施工图
  • GPT的缺陷:(1) 没有考虑下文 (context-after),即将单向语言模型改成双向语言模型,效果会更好。对GPT的进一步改进详见BERT篇。

5. BERT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值