NLP发展

一、Word Embedding

1.Word2Vec(2013)

分布式假设:假设两个词上下文相似,则它们的语义也相似。

 

2.GloVe

(1)词向量学习算法有两个主要的模型族:

  基于全局矩阵分解的方法,如:latent semantic analysis:LSA 。

    优点:能够有效的利用全局的统计信息。

    缺点:在单词类比任务(如:国王 vs 王后 类比于男人 vs 女人)中表现相对较差。

  基于局部上下文窗口的方法,如:word2vec。

    优点:在单词类比任务中表现较好。

    缺点:因为word2vec 在独立的局部上下文窗口上训练,因此难以利用单词的全局统计信息。

  Global Vectors for Word Representation:GloVe 结合了LSA 算法和Word2Vec 算法的优点,既考虑了全局统计信息,又利用了局部上下文。

  Cbow/Skip-Gram 是一个local context window的方法,缺乏了整体的词和词的关系,负样本采用sample的方式会缺失词的关系信息。
另外,直接训练Skip-Gram类型的算法,很容易使得高曝光词汇得到过多的权重

  Global Vector融合了矩阵分解Latent Semantic Analysis (LSA)的全局统计信息和local context window优势。融入全局的先验统计信息,可以加快模型的训练速度,又可以控制词的相对权重。

(2)原理

 

 

 

二、RNN改进和扩展

问题:词向量不考虑上下文,无法解决“一词多义”

解决方案:RNN具有“记忆”能力

1.RNN

 

RNN的问题:顺序依赖,无法并行。(单向信息流)

2.LSTM/GRU

2.1 LSTM

2.2 GRU

3.Seq2Seq

可用于翻译、摘要、问答和对话系统

 

问题:定长的context向量

 

4.Attention/Self Attention

5.Transformer结构

解决:RNN单向数据流的问题

三、Contextual Word Embedding

问题:监督数据量不足,难以学到复杂的上下文表示;

解决方案:无监督的contextual word embedding:ELMo、OpenAI GPT、BERT

1.ELMo

2.OpenAI GPT

 

3.BERT

Masked LM:masked language model

 

举例:意图分类

问题:给定一个句子,判断其意图分类,几万训练数据,几百个类别,数据不平衡

结果:BERT分类器比BaseLine分类器F1值得分提高3%

 

 

 

 

 

 

 

 

 

参考文献:

【1】60分钟带你掌握NLP BERT理论与实战_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

【2】详解Transformer (Attention Is All You Need) - 知乎

【3】李宏毅机器学习2019(国语)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

posted @ 2019-10-06 11:20  nxf_rabbit75  阅读(399)  评论(0编辑  收藏  举报