Должны ли мы вводить данные в нижнем регистре для (предварительного) обучения модели BERT без корпуса с использованием huggingface? - PullRequest
0 голосов
/ 19 июня 2020

Должны ли мы вводить данные в нижнем регистре для (предварительного) обучения модели BERT без корпуса с использованием huggingface? Я изучил этот ответ Томаса Вольфа (https://github.com/huggingface/transformers/issues/92#issuecomment -444677920 ), но не совсем уверен, имел ли он это в виду.

Что произойдет, если мы введем текст в нижний регистр?

Ответы [ 2 ]

2 голосов
/ 22 июня 2020

Tokenizer позаботится об этом.

Простой пример:

import torch
from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased', max_length = 10, padding_side = 'right')

input_ids = torch.tensor(tokenizer.encode('this is a cat', add_special_tokens=True, max_length = 10, pad_to_max_length = True)).unsqueeze(0)
print(input_ids)

input_ids = torch.tensor(tokenizer.encode('This is a Cat', add_special_tokens=True, max_length = 10, pad_to_max_length = True)).unsqueeze(0)
print(input_ids)

Out:

tensor([[ 101, 2023, 2003, 1037, 4937,  102,    0,    0,    0,    0]])
tensor([[ 101, 2023, 2003, 1037, 4937,  102,    0,    0,    0,    0]])

Но в случае с корпусом

tokenizer = BertTokenizer.from_pretrained('bert-base-cased', max_length = 10, padding_side = 'right')

input_ids = torch.tensor(tokenizer.encode('this is a cat', add_special_tokens=True, max_length = 10, pad_to_max_length = True)).unsqueeze(0)
print(input_ids)

input_ids = torch.tensor(tokenizer.encode('This is a Cat', add_special_tokens=True, max_length = 10, pad_to_max_length = True)).unsqueeze(0)
print(input_ids)
tensor([[ 101, 1142, 1110,  170, 5855,  102,    0,    0,    0,    0]])

tensor([[ 101, 1188, 1110,  170, 8572,  102,    0,    0,    0,    0]])
0 голосов
/ 21 июня 2020

Я думаю, что модель bert-base-uncased будет строчными буквами текста, независимо от того, что вы передаете модели. Вы также можете попробовать поиграть с набором данных игрушек и распечатать токены с помощью токенизатора BERT, чтобы просто подтвердить.

...