Transformers documentation
BERTweet
Este modelo foi publicado no HF papers em 2020-05-20 e contribuído para o Hugging Face Transformers em 2020-11-16.
BERTweet
BERTweet
BERTweet compartilha a mesma arquitetura do BERT-base, mas é pré-treinado como o RoBERTa em tweets em inglês. Ele apresenta excelente desempenho em tarefas relacionadas a tweets, como marcação de partes do discurso, reconhecimento de entidades nomeadas e classificação de texto.
Você pode encontrar todos os checkpoints originais do BERTweet na organização VinAI Research.
Consulte a documentação do BERT para mais exemplos de como aplicar o BERTweet a diferentes tarefas de linguagem.
O exemplo abaixo demonstra como prever o token <mask> com Pipeline, AutoModel e pela linha de comando.
from transformers import pipeline
pipeline = pipeline(
task="fill-mask",
model="vinai/bertweet-base",
device=0
)
pipeline("Plants create <mask> through a process known as photosynthesis.")import torch
from transformers import AutoModelForMaskedLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(
"vinai/bertweet-base",
)
model = AutoModelForMaskedLM.from_pretrained(
"vinai/bertweet-base",
device_map="auto"
)
inputs = tokenizer("Plants create <mask> through a process known as photosynthesis.", return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model(**inputs)
predictions = outputs.logits
masked_index = torch.where(inputs['input_ids'] == tokenizer.mask_token_id)[1]
predicted_token_id = predictions[0, masked_index].argmax(dim=-1)
predicted_token = tokenizer.decode(predicted_token_id)
print(f"The predicted token is: {predicted_token}")Observações
- Use o AutoTokenizer ou o BertweetTokenizer, pois ele vem pré-carregado com um vocabulário personalizado adaptado a tokens específicos de tweets, como hashtags (#), menções (@), emojis e abreviações comuns. Certifique-se também de instalar a biblioteca emoji.
- As entradas devem ser preenchidas à direita (
padding="max_length"), pois o BERT usa embeddings de posição absoluta.
BertweetTokenizer
classe transformers.BertweetTokenizer
< source >( vocab_filemerges_filenormalization = Falsebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'**kwargs )
Parâmetros
- vocab_file (
str) — Caminho para o arquivo de vocabulário. - merges_file (
str) — Caminho para o arquivo de mesclagens. - normalization (
bool, opcional, padrãoFalse) — Indica se deve ou não aplicar um pré-processamento de normalização. - bos_token (
str, opcional, padrão é"<s>") — O token de início de sequência usado durante o pré-treinamento. Pode ser usado como token de classificador de sequência.Ao construir uma sequência usando tokens especiais, este não é o token utilizado para o início da sequência. O token utilizado é o
cls_token. - eos_token (
str, opcional, padrão é"</s>") — O token de fim de sequência. Ao construir uma sequência usando tokens especiais, este não é o token usado para o fim da sequência. O token utilizado é o sep_token.Ao construir uma sequência usando tokens especiais, este não é o token utilizado para o fim da sequência. O token utilizado é o
sep_token. - sep_token (
str, opcional, padrão"</s>") — O token separador, usado ao construir uma sequência a partir de múltiplas sequências, por exemplo, duas sequências para classificação de sequência ou um texto e uma pergunta para question answering. Também é usado como o último token de uma sequência construída com tokens especiais. - cls_token (
str, opcional, padrão"<s>") — O token de classificador usado na classificação de sequência (classificação da sequência inteira, em vez da classificação por token). É o primeiro token da sequência quando esta é construída com tokens especiais. - unk_token (
str, opcional, padrão"<unk>") — O token desconhecido. Um token que não está no vocabulário não pode ser convertido em um ID e é definido como este token em vez disso. - pad_token (
str, opcional, padrão"<pad>") — O token usado para preenchimento, por exemplo, ao agrupar sequências de comprimentos diferentes. - mask_token (
str, opcional, padrão"<mask>") — O token usado para mascarar valores. Este é o token utilizado ao treinar este modelo com modelagem de linguagem mascarada. É o token que o modelo tentará prever.
Constrói um tokenizador BERTweet, usando Byte-Pair-Encoding.
Este tokenizer herda de PreTrainedTokenizer, que contém a maioria dos métodos principais. Os usuários devem consultar essa superclasse para obter mais informações sobre esses métodos.
Carrega um dicionário existente de um arquivo de texto e adiciona seus símbolos a esta instância.
Converte uma sequência de tokens (string) em uma única string.
Normalizar tokens em um Tweet
Normalizar um Tweet bruto
Salve os arquivos de vocabulário e mesclagens em um diretório.