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