Views
No views yet
1from transformers import AutoTokenizer, BertForSequenceClassification, pipeline
2import json
3model = BertForSequenceClassification.from_pretrained("Kalamazooter/DutchDatasetCleaner_Bertje")
4tokenizer = AutoTokenizer.from_pretrained("Kalamazooter/DutchDatasetCleaner_Bertje", model_max_len=512)
5text_classification = pipeline(
6 "text-classification",
7 model=model,
8 tokenizer=tokenizer,
9)
10
11tokenizer_kwargs = {'padding':True,'truncation':True,'max_length':512}
12
13ErrorThreshold = 0.8 #model is slightly trigger happy on the error class, modify this value to your needs
14Dataset = "Base_Dataset"
15
16with open(Dataset+".jsonl","r") as DirtyDataset:
17 lines = DirtyDataset.readlines()
18 for line in lines:
19 DatasetDict = json.loads(line)
20 output = text_classification(DatasetDict['text'],**tokenizer_kwargs)
21 label = output[0]['label']
22 score = output[0]['score']
23 if label == 'Refusal':
24 with open(Dataset+"_Refused.jsonl","a") as RefusalDataset:
25 RefusalDataset.writelines([line])
26 if label == 'Error' and score > ErrorThreshold:
27 with open(Dataset+"_Error.jsonl","a") as ErrorDataset:
28 ErrorDataset.writelines([line])
29 if label == 'Correct' or (label == 'Error' and score < ErrorThreshold):
30 with open(Dataset+"_Clean.jsonl","a") as CorrectDataset:
31 CorrectDataset.writelines([line])