|
from datasets import load_dataset |
|
import pandas as pd |
|
from tqdm.notebook import tqdm |
|
from sklearn.utils import shuffle |
|
|
|
|
|
train_dataset = load_dataset("squad", split="train") |
|
valid_dataset = load_dataset("squad", split="validation") |
|
|
|
df_train = pd.DataFrame(columns=["context", "answer", "question"]) |
|
df_validation = pd.DataFrame(columns=["context", "answer", "question"]) |
|
|
|
|
|
count_long = 0 |
|
count_short = 0 |
|
|
|
|
|
for index, val in enumerate(tqdm(train_dataset)): |
|
print(index) |
|
passage = val["context"] |
|
question = val["question"] |
|
answer = val["answers"]["text"][0] |
|
no_of_words = len(answer.split()) |
|
if no_of_words >= 7: |
|
count_long = count_long + 1 |
|
continue |
|
else: |
|
df_train.loc[count_short] = [passage] + [answer] + [question] |
|
count_short = count_short + 1 |
|
|
|
print("count_long train dataset: ", count_long) |
|
print("count_short train dataset: ", count_short) |
|
|
|
|
|
count_long = 0 |
|
count_short = 0 |
|
|
|
|
|
for index, val in enumerate(tqdm(valid_dataset)): |
|
print(index) |
|
passage = val["context"] |
|
question = val["question"] |
|
answer = val["answers"]["text"][0] |
|
no_of_words = len(answer.split()) |
|
if no_of_words >= 7: |
|
count_long = count_long + 1 |
|
continue |
|
else: |
|
df_validation.loc[count_short] = [passage] + [answer] + [question] |
|
count_short = count_short + 1 |
|
|
|
print("count_long validation dataset: ", count_long) |
|
print("count_short validation dataset: ", count_short) |
|
|
|
df_train = shuffle(df_train) |
|
df_validation = shuffle(df_validation) |
|
|
|
train_save_path = "squad_t5_train.csv" |
|
validation_save_path = "squad_t5_validaton.csv" |
|
df_train.to_csv(train_save_path, index=False) |
|
df_validation.to_csv(validation_save_path, index=False) |
|
|