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)
```