File size: 1,996 Bytes
0fc7549 b2208cc 91213f5 b2208cc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
---
language:
- ru
tags:
- Simplification
- Summarization
- paraphrase
---
Данная модель является дообучнной версией "ai-forever/ruT5-base" (ранее"sberbank-ai/ruT5-base") на задаче упрощения текста (text simplification).
Набор данных (https://drive.google.com/file/d/14lCIp0TJ78R8E9miVm5Ac88guEjCkgFR) был собран из материалов конференции "Dialog-21" (https://github.com/dialogue-evaluation/RuSimpleSentEval), корпуса "RuAdapt" (https://github.com/Digital-Pushkin-Lab/RuAdapt), а также уникальных данных, предоставленными институтом ИФиЯК СФУ.
Параметры обучения: данные из файла "dia_train", Learning Rate = 3e-5, batch size = 1, optimizer = AdamW.
Оценка SARI (среднее на файле "dia_test") = 33,14
```
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
model_name = "DmitriyVasiliev/ruT5-base-simplification"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
input_text = "Хотя мечте Петра не суждено было сбыться, именно зарубежный опыт лёг в основу дальнейшей застройки."
ml = 2048
import re
def out_gen(input_line):
WHITESPACE_HANDLER = lambda k: re.sub('\s+', ' ', re.sub('\n+', ' ', k.strip()))
input_ids = tokenizer(
[WHITESPACE_HANDLER(input_line)],
return_tensors="pt",
padding="max_length",
truncation=True,
max_length=ml
)["input_ids"].to(device)
output_ids = model.generate(
input_ids=input_ids,
max_length=ml,
no_repeat_ngram_size=2,
num_beams=5,
)[0].to(device)
summary = tokenizer.decode(
output_ids,
skip_special_tokens=True,
clean_up_tokenization_spaces=False
)
return summary
answer = out_gen(input_text)
``` |