英文

葡萄牙语BERT大写QA(问答),在SQUAD v1.1上微调

简介

该模型使用来自SQUAD v1.1的葡萄牙语数据集进行了训练, Deep Learning Brasil group

所使用的语言模型是 BERTimbau Large (也称为"bert-large-portuguese-cased"),来自 Neuralmind.ai :BERTimbau 是一个为巴西葡萄牙语预训练的BERT模型,在三个下游NLP任务(命名实体识别、句子文本相似度和文本蕴含识别)上取得了最先进的性能。它有两个尺寸:Base和Large。

方法详细信息

所有信息都在博客文章中: NLP | Como treinar um modelo de Question Answering em qualquer linguagem baseado no BERT large, melhorando o desempenho do modelo utilizando o BERT base? (estudo de caso em português)

GitHub中的笔记本

question_answering_BERT_large_cased_squad_v11_pt.ipynb nbviewer version

性能

所得到的结果如下:

f1 = 84.43 (against 82.50 for the base model)
exact match = 72.68 (against 70.49 for the base model)

如何使用模型...使用Pipeline

import transformers
from transformers import pipeline

# source: https://pt.wikipedia.org/wiki/Pandemia_de_COVID-19
context = r"""
A pandemia de COVID-19, também conhecida como pandemia de coronavírus, é uma pandemia em curso de COVID-19, 
uma doença respiratória causada pelo coronavírus da síndrome respiratória aguda grave 2 (SARS-CoV-2). 
O vírus tem origem zoonótica e o primeiro caso conhecido da doença remonta a dezembro de 2019 em Wuhan, na China. 
Em 20 de janeiro de 2020, a Organização Mundial da Saúde (OMS) classificou o surto 
como Emergência de Saúde Pública de Âmbito Internacional e, em 11 de março de 2020, como pandemia. 
Em 18 de junho de 2021, 177 349 274 casos foram confirmados em 192 países e territórios, 
com 3 840 181 mortes atribuídas à doença, tornando-se uma das pandemias mais mortais da história.
Os sintomas de COVID-19 são altamente variáveis, variando de nenhum a doenças com risco de morte. 
O vírus se espalha principalmente pelo ar quando as pessoas estão perto umas das outras. 
Ele deixa uma pessoa infectada quando ela respira, tosse, espirra ou fala e entra em outra pessoa pela boca, nariz ou olhos.
Ele também pode se espalhar através de superfícies contaminadas. 
As pessoas permanecem contagiosas por até duas semanas e podem espalhar o vírus mesmo se forem assintomáticas.
"""

model_name = 'pierreguillou/bert-large-cased-squad-v1.1-portuguese'
nlp = pipeline("question-answering", model=model_name)

question = "Quando começou a pandemia de Covid-19 no mundo?"

result = nlp(question=question, context=context)

print(f"Answer: '{result['answer']}', score: {round(result['score'], 4)}, start: {result['start']}, end: {result['end']}")

# Answer: 'dezembro de 2019', score: 0.5087, start: 290, end: 306

如何使用模型...使用Auto类

from transformers import AutoTokenizer, AutoModelForQuestionAnswering
  
tokenizer = AutoTokenizer.from_pretrained("pierreguillou/bert-large-cased-squad-v1.1-portuguese")
model = AutoModelForQuestionAnswering.from_pretrained("pierreguillou/bert-large-cased-squad-v1.1-portuguese")

或者只需克隆模型存储库:

git lfs install
git clone https://huggingface.co/pierreguillou/bert-large-cased-squad-v1.1-portuguese
  
# if you want to clone without large files – just their pointers
# prepend your git clone with the following env var:
  
GIT_LFS_SKIP_SMUDGE=1

限制和偏见

用于该模型的训练数据来自葡萄牙语SQUAD。它可能包含大量未经过滤的内容,与中立相去甚远,并且存在偏见。

作者

葡萄牙语BERT大写QA(问答),在SQUAD v1.1上进行了训练和评估,感谢 Pierre GUILLOU ,他能够利用许多组织( link to the list )的开源代码、平台和建议。特别是: Hugging Face Neuralmind.ai Deep Learning Brasil group AI Lab

引用

如果您使用我们的工作,请引用:

@inproceedings{pierreguillou2021bertlargecasedsquadv11portuguese,
  title={Portuguese BERT large cased QA (Question Answering), finetuned on SQUAD v1.1},
  author={Pierre Guillou},
  year={2021}
}