基于Transformers的自然语言处理入门【九】-Transformers解决抽取式问答

基于Transformers的自然语言处理入门【九】-Transformers解决抽取式问答

1 抽取式问答任务概念

给定一个问题和一段文本,从这段文本中找出能回答该问题的文本片段(span)。具体可详见下图:
在这里插入图片描述

2 数据预处理

在将数据喂入模型之前,我们需要对数据进行预处理。预处理的工具叫Tokenizer。Tokenizer首先对输入进行tokenize,然后将tokens转化为预模型中需要对应的token ID,再转化为模型需要的输入格式。
为了达到数据预处理的目的,我们使用AutoTokenizer.from_pretrained方法实例化我们的tokenizer,这样可以确保:

  • 我们得到一个与预训练模型一一对应的tokenizer。
  • 使用指定的模型checkpoint对应的tokenizer的时候,我们也下载了模型需要的词表库vocabulary,准确来说是tokens vocabulary。

现在我们还需要思考预训练机器问答模型们是如何处理非常长的文本的。一般来说预训练模型输入有最大长度要求,所以我们通常将超长的输入进行截断。但是,如果我们将问答数据三元组<question, context, answer>中的超长context截断,那么我们可能丢掉答案(因为我们是从context中抽取出

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于PyTorch的自然语言处理(Natural Language Processing,NLP)是一种利用PyTorch框架进行文本处理和语言理解的技术。PyTorch是一个开源的深度学习框架,它提供了丰富的工具和库,使得构建和训练NLP模型变得更加简单和高效。 在基于PyTorch的NLP中,常用的任务包括文本分类、情感分析、命名实体识别、机器翻译等。以下是一些常见的PyTorch库和技术,用于构建NLP模型: 1. torchtext:torchtext是一个用于数据预处理和加载的库,它提供了一些方便的功能,如文本分词、词向量加载、数据集划分等。 2. torch.nn:torch.nn是PyTorch中用于构建神经网络的模块,它提供了各种层和激活函数,可以用于构建文本分类、序列标注等任务的模型。 3. transformerstransformers是一个用于自然语言处理的库,它提供了各种预训练的模型,如BERT、GPT等。这些模型可以直接加载并在自己的任务上进行微调。 4. torchtext.data:torchtext.data是torchtext库中用于处理数据的模块,它提供了一些方便的功能,如数据加载、数据预处理、数据迭代器等。 5. torchtext.vocab:torchtext.vocab是torchtext库中用于处理词汇表的模块,它提供了一些常用的词向量加载和词汇表构建的功能。 6. torch.optim:torch.optim是PyTorch中用于优化模型的模块,它提供了各种优化算法,如SGD、Adam等。 7. torchtext.datasets:torchtext.datasets是torchtext库中用于加载常见NLP数据集的模块,如IMDB、SNLI等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值