Я работаю над набором данных dailydialog, который я преобразовал в файл JSON, который выглядит примерно так:
[{"response": "You know that is tempting but is really not good for our fitness.", "message": "Say, Jim, how about going for a few beers after dinner?"}, {"response": "Do you really think so? I don't. It will just make us fat and act silly. Remember last time?", "message": "What do you mean? It will help us to relax."}, {"response": "I suggest a walk over to the gym where we can play singsong and meet some of our friends.", "message": "I guess you are right. But what shall we do? I don't feel like sitting at home."}, {"response": "Sounds great to me! If they are willing, we could ask them to go dancing with us.That is excellent exercise and fun, too.", "message": "That's a good idea. I hear Mary and Sally often go there to play pingpong.Perhaps we can make a foursome with them."}, {"response": "All right.", "message": "Please lie down over there."}]
Итак, каждый элемент имеет два ключи - ответ и сообщение.
Я впервые использую PyTorch, поэтому следил за несколькими доступными в Интернете ресурсами. Это соответствующие фрагменты моего кода:
def tokenize_en(text):
return [tok.text for tok in spacy_en.tokenizer(text)]
src = Field(tokenize = tokenize_en,
init_token = '<sos>',
eos_token = '<eos>',
lower = True)
fields = {'response': ('r', src)}
train_data, test_data, validation_data = TabularDataset.splits(
path = 'FilePath',
train = 'trainset.json',
test = 'testset.json',
validation = 'validationset.json',
format = 'json',
fields = fields
)
Хотя ошибок не возникает, несмотря на то, что в моем файле JSON много элементов, наборы данных для поездов, тестирования и проверки, как ни странно, имеют только по 1 примеру каждый, так как видно на этом изображении: Изображение, показывающее длину train_data, test_data и validation_data
Я был бы очень благодарен, если бы кто-нибудь мог указать мне на ошибку.
Редактировать : Я обнаружил, что весь файл обрабатывается как одна текстовая строка из-за отсутствия отступов в файле. Но если я сделаю отступ для файла JSON, функция TabularDataset выдаст мне ошибку JSONDecodeError, предполагающую, что она больше не может декодировать файл. Как мне избавиться от этой проблемы?