cointegrated commited on
Commit
c9b878b
·
1 Parent(s): 8f8bf9f

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +57 -0
README.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: ["ru"]
3
+ tags:
4
+ - russian
5
+ - summarization
6
+ datasets:
7
+ - IlyaGusev/gazeta
8
+ - csebuetnlp/xlsum
9
+ - mlsum
10
+ - wiki_lingua
11
+ license: mit
12
+ widget:
13
+ - text: "Высота башни составляет 324 метра (1063 фута), примерно такая же высота, как у 81-этажного здания, и самое высокое сооружение в Париже. Его основание квадратно, размером 125 метров (410 футов) с любой стороны. Во время строительства Эйфелева башня превзошла монумент Вашингтона, став самым высоким искусственным сооружением в мире, и этот титул она удерживала в течение 41 года до завершения строительство здания Крайслер в Нью-Йорке в 1930 году. Это первое сооружение которое достигло высоты 300 метров. Из-за добавления вещательной антенны на вершине башни в 1957 году она сейчас выше здания Крайслер на 5,2 метра (17 футов). За исключением передатчиков, Эйфелева башня является второй самой высокой отдельно стоящей структурой во Франции после виадука Мийо."
14
+ ---
15
+ This is a model for abstractive Russian summarization, based on [cointegrated/rut5-base-multitask](https://huggingface.co/cointegrated/rut5-base-multitask) and fine-tuned on 4 datasets.
16
+
17
+ It can be used as follows:
18
+
19
+ ```python
20
+ from transformers import T5ForConditionalGeneration, T5Tokenizer
21
+ MODEL_NAME = 'cointegrated/rut5-base-absum'
22
+ model = T5ForConditionalGeneration.from_pretrained(MODEL_NAME)
23
+ tokenizer = T5Tokenizer.from_pretrained(MODEL_NAME)
24
+ model.cuda();
25
+ model.eval();
26
+
27
+ def summarize(
28
+ text, n_words=None, compression=None,
29
+ max_length=1000, num_beams=3, do_sample=False, repetition_penalty=10.0,
30
+ **kwargs
31
+ ):
32
+ """
33
+ Summarize the text
34
+ The following parameters are mutually exclusive:
35
+ - n_words (int) is an approximate number of words to generate.
36
+ - compression (float) is an approximate length ratio of summary and original text.
37
+ """
38
+ if n_words:
39
+ text = '[{}] '.format(n_words) + text
40
+ elif compression:
41
+ text = '[{0:.1g}] '.format(compression) + text
42
+ x = tokenizer(text, return_tensors='pt', padding=True).to(model.device)
43
+ with torch.inference_mode():
44
+ out = model.generate(
45
+ **x,
46
+ max_length=max_length, num_beams=num_beams,
47
+ do_sample=do_sample, repetition_penalty=repetition_penalty,
48
+ **kwargs
49
+ )
50
+ return tokenizer.decode(out[0], skip_special_tokens=True)
51
+
52
+ text = """Высота башни составляет 324 метра (1063 фута), примерно такая же высота, как у 81-этажного здания, и самое высокое сооружение в Париже. Его основание квадратно, размером 125 метров (410 футов) с любой стороны. Во время строительства Эйфелева башня превзошла монумент Вашингтона, став самым высоким искусственным сооружением в мире, и этот титул она удерживала в течение 41 года до завершения строительство здания Крайслер в Нью-Йорке в 1930 году. Это первое сооружение которое достигло высоты 300 метров. Из-за добавления вещательной антенны на вершине башни в 1957 году она сейчас выше здания Крайслер на 5,2 метра (17 футов). За исключением передатчиков, Эйфелева башня является второй самой высокой отдельно стоящей структурой во Франции после виадука Мийо."""
53
+ print(summarize(text))
54
+ # Эйфелева башня достигла высоты 300 метров.
55
+ print(summarize(text, n_words=10))
56
+ # Французская Эйфелева башня достигла высоты 300 метров.
57
+ ```