Views
No views yet
1>>> from transformers import PegasusForConditionalGeneration, AlbertTokenizer
2>>>
3>>> model_id = "rmihaylov/pegasus-base-qag-bg"
4>>> model = PegasusForConditionalGeneration.from_pretrained(model_id)
5>>> tokenizer = AlbertTokenizer.from_pretrained(model_id)
6>>>
7>>> text = """Това, че някой може да заяви на най-силен глас исканията си, не означава те да бъдат удовлетворени, заяви Костадин Ангелов.
8Той допълни, че приоритетите на властите са здравето, образование и спорта, давайки знак, че се търси разхлабване на мерките в болничните заведения, връщането на учениците в класните стаи и отварянето на обектите за масов спорт.
9"""
10>>>
11>>> inputs = tokenizer.encode_plus(
12>>> text,
13>>> return_tensors='pt',
14>>> truncation=True,
15>>> max_length=512,
16>>> return_token_type_ids=False,
17>>> return_attention_mask=True)
18>>>
19>>> outputs = model.generate(**inputs,
20>>> max_length=150,
21>>> top_p=0.95,
22>>> top_k=20,
23>>> do_sample=True,
24>>> num_return_sequences=10,
25>>> num_beams=1,
26>>> eos_token_id=50259,
27>>> decoder_start_token_id=50257,
28>>> return_dict_in_generate=True,
29>>> output_scores=True)
30>>>
31>>> for g in outputs.sequences:
32>>> text_gen = tokenizer.decode(g, skip_special_tokens=False)
33>>>
34>>> if ('[SEP]' not in text_gen) or ('[MASK]' not in text_gen) or ('[CLS]' not in text_gen):
35>>> continue
36>>>
37>>> question, answer = text_gen.replace('[CLS]', '').strip().split('[SEP]')
38>>> answer = answer.split('[MASK]')[0].strip()
39>>>
40>>> if (not answer) or (answer not in text) or (len(answer) <= 1):
41>>> continue
42>>>
43>>> print(f'{question.strip()}\n{answer.strip()}', '\n\n')
44
45Какво трябва да се предприеме, за да се случи?
46разхлабване
47
48
49Какви са приоритетите на управляващите?
50здравето, образование и спорта,
51
52
53Какви усилия има правителството за стимулиране на раждаемостта?
54разхлабване на мерките
55
56
57Какъв е основният проблем, който може да реши?
58образование