Contextual Word Representations and Pretraining

本文介绍了词向量的局限性,如Word2Vec、Glove和FastText无法处理一词多义问题。接着,深入探讨了预训练的上下文词向量模型,如ELMO、CoVe和ULMFiT,以及它们如何通过语言模型改进词向量表示。此外,文章还提到了Transformer模型及其在注意力机制和预训练领域的应用,特别是BERT模型如何通过双向预训练解决语言理解问题。
摘要由CSDN通过智能技术生成

一、Word Representations
在2018年之前,我们使用的词向量表征技术主要有三个:Word2Vec、Glove、FastText。但是这三个方法都普遍存在在一些问题,就是无法解决一次多义的问题,即对于同一个词无论上下文的单词是否相同,训练出来的词向量都是一样的。

通常我们训练词向量的时候,首先会初始化所有的词向量,并且在训练过程中不断地改变这些向量的值,需要注意的是训练的目标是我们自己定义的任务,而词向量仅仅是副产物而已。

当我们手中的语料不足时训练出来的词向量效果不会很理想,这是用通常会使用他人已经训练好的词向量,并且以预训练的词向量来作为初始值,在训练过程中冻结或者微调。

我们训练好的词向量是不可能涵盖所有词的(这里主要有两个原因,一是训练语料中本来就不存在这些词,二是这些词在训练语料中出现次数过少),这就会存在一个未登录词的问题,遇到这个问题的时候我们怎么处理呢?

首先,最简单和最普遍的解决方法就是将所有未登录的词映射为,并且为它训练一个词向量。但是这种方法存在缺点,它把这些未登录词都视为相同,不能区分它们的区别。

为了解决上面的方法存在的问题,人们开始考虑训练字符集别的词向量。
除此之外还有一些其他的方法:

1.如果测试时的单词出现在未受监督的单词嵌入中,请使用测试时的向量。
2.对于其他单词,只需给它们分配一个随机向量,将它们添加到词汇表中即可。
3.将事物折叠成单词类(如未知数字、大写的事物等),并为每个类设置一个

二、ELMO
下面我们来看下这个神经网络:
在这里插入图片描述

在一个NLM中,我们快速地通过LSTM层获得单词向量(可能只在语料库上训练)。这些LSTM层被训练来预测下一个单词。但是这些语言模型在每个位置都产生了上下文特定的单词表示!

下面来介绍一些经典的模型:

1、Peters et al. (2017): TagLM – “Pre-ELMo”
论文地址:https://arxiv.org/pdf/1705.00108.pdf
核心思想:通过上下文中获取单词的含义,但只在task-labeled的小任务(例如,NER)上使用RNN来进行训练。

算法的核心步骤如下:

1.预训练词向量和语言模型
2.在输入序列中准备好单词嵌入和语言模型嵌入。
3.在序列标记模型中同时使用单词嵌入和语言模型嵌入。

该模型结构图如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值