Views
No views yet
1from transformers import RobertaTokenizerFast, AutoModelForSequenceClassification
2from datasets import load_dataset, Dataset
3from functools import partial
4from tqdm.auto import tqdm
5tqdm._instances.clear()
6
7def tokenize_function(example):
8 inputs = tokenizer(
9 example["sentence"],
10 example["context"],
11 max_length=512,
12 truncation=True,
13 padding="max_length",
14 )
15 return inputs
16
17def create_windowed_context_ds(context_l, example, idx):
18 example["context"] = context_l[idx]
19 return example
20
21def create_windowed_context(raw_dataset, window_size):
22 df_pandas = raw_dataset['train'].to_pandas()
23 len1 = len(raw_dataset['train'])
24 context_l = []
25 for i in tqdm(range(len1)):
26 if i - window_size <0:
27 context_l.append(' '.join(df_pandas['sentence'][0:window_size]))
28 else:
29 if i + window_size > len1 :
30 context_l.append(' '.join(df_pandas['sentence'][i - window_size:-1]))
31 else:
32 context_l.append(' '.join(df_pandas['sentence'][i - window_size:i + window_size]))
33 return context_l
34
35model = AutoModelForSequenceClassification.from_pretrained('HeTree/HeConEspc', num_labels=2)
36tokenizer = RobertaTokenizerFast.from_pretrained('HeTree/HeConEspc')
37raw_dataset = load_dataset('HeTree/MevakerConcSen')
38window_size = 5
39context_l = create_windowed_context(raw_dataset, window_size)
40raw_dataset_window = raw_dataset.map(partial(create_windowed_context_ds, context_l), batched=False, with_indices=True)
41tokenized_data = raw_dataset_window.map(tokenize_function, batched=True)@article{shalumov2024mevaker,
title={Mevaker: Conclusion Extraction and Allocation Resources for the Hebrew Language},
author={Vitaly Shalumov and Harel Haskey and Yuval Solaz},
year={2024},
eprint={2403.09719},
archivePrefix={arXiv},
primaryClass={cs.CL}
}