File size: 3,036 Bytes
04c853e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
inference: false
language:
- bg
license: mit
datasets:
- oscar
- chitanka
- wikipedia
tags:
- torch
---

# PEGASUS BASE

This model was pretrained on Bulgarian language. It was intorduced in [this paper](https://arxiv.org/pdf/1912.08777.pdf). 

## Model description

The training data is private Bulgarian squad data. 

## Intended uses & limitations

You can use the raw model for generation of question-answer pairs related with given Bulgarian text.

### How to use

Here is how to use this model in PyTorch:

```python
>>> from transformers import PegasusForConditionalGeneration, AlbertTokenizer
>>>
>>> model_id = "rmihaylov/pegasus-base-qag-bg"
>>> model = PegasusForConditionalGeneration.from_pretrained(model_id)
>>> tokenizer = AlbertTokenizer.from_pretrained(model_id)
>>>
>>> text = """Това, че някой може да заяви на най-силен глас исканията си, не означава те да бъдат удовлетворени, заяви Костадин Ангелов. 
Той допълни, че приоритетите на властите са здравето, образование и спорта, давайки знак, че се търси разхлабване на мерките в болничните заведения, връщането на учениците в класните стаи и отварянето на обектите за масов спорт.
"""
>>>
>>> inputs = tokenizer.encode_plus(
>>>     text, 
>>>     return_tensors='pt', 
>>>     truncation=True, 
>>>     max_length=512, 
>>>     return_token_type_ids=False, 
>>>     return_attention_mask=True)
>>> 
>>> outputs = model.generate(**inputs,                          
>>>     max_length=150, 
>>>     top_p=0.95, 
>>>     top_k=20, 
>>>     do_sample=True, 
>>>     num_return_sequences=10, 
>>>     num_beams=1,
>>>     eos_token_id=50259,
>>>     decoder_start_token_id=50257,
>>>     return_dict_in_generate=True,
>>>     output_scores=True)
>>> 
>>> for g in outputs.sequences:
>>>   text_gen = tokenizer.decode(g, skip_special_tokens=False)
>>> 
>>>   if ('[SEP]' not in text_gen) or ('[MASK]' not in text_gen) or ('[CLS]' not in text_gen):
>>>     continue
>>> 
>>>   question, answer = text_gen.replace('[CLS]', '').strip().split('[SEP]')
>>>   answer = answer.split('[MASK]')[0].strip()
>>>   
>>>   if (not answer) or (answer not in text) or (len(answer) <= 1):   
>>>     continue
>>> 
>>> print(f'{question.strip()}\n{answer.strip()}', '\n\n')

Какво трябва да се предприеме, за да се случи?
разхлабване 


Какви са приоритетите на управляващите?
здравето, образование и спорта, 


Какви усилия има правителството за стимулиране на раждаемостта?
разхлабване на мерките 


Какъв е основният проблем, който може да реши?
образование 
```