Question Generation

class augmentation.question_generator.generator.QuestionGenerator

Bases: object

Class loads pipeline for generating questions from text

static generate(text: str)

generates questions for given text

Parameters:

text – sentence or paragraph for question generation

Returns:

list of questions

model = T5ForConditionalGeneration(   (shared): Embedding(32128, 768)   (encoder): T5Stack(     (embed_tokens): Embedding(32128, 768)     (block): ModuleList(       (0): T5Block(         (layer): ModuleList(           (0): T5LayerSelfAttention(             (SelfAttention): T5Attention(               (q): Linear(in_features=768, out_features=768, bias=False)               (k): Linear(in_features=768, out_features=768, bias=False)               (v): Linear(in_features=768, out_features=768, bias=False)               (o): Linear(in_features=768, out_features=768, bias=False)               (relative_attention_bias): Embedding(32, 12)             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )           (1): T5LayerFF(             (DenseReluDense): T5DenseActDense(               (wi): Linear(in_features=768, out_features=3072, bias=False)               (wo): Linear(in_features=3072, out_features=768, bias=False)               (dropout): Dropout(p=0.1, inplace=False)               (act): ReLU()             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )         )       )       (1-11): 11 x T5Block(         (layer): ModuleList(           (0): T5LayerSelfAttention(             (SelfAttention): T5Attention(               (q): Linear(in_features=768, out_features=768, bias=False)               (k): Linear(in_features=768, out_features=768, bias=False)               (v): Linear(in_features=768, out_features=768, bias=False)               (o): Linear(in_features=768, out_features=768, bias=False)             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )           (1): T5LayerFF(             (DenseReluDense): T5DenseActDense(               (wi): Linear(in_features=768, out_features=3072, bias=False)               (wo): Linear(in_features=3072, out_features=768, bias=False)               (dropout): Dropout(p=0.1, inplace=False)               (act): ReLU()             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )         )       )     )     (final_layer_norm): T5LayerNorm()     (dropout): Dropout(p=0.1, inplace=False)   )   (decoder): T5Stack(     (embed_tokens): Embedding(32128, 768)     (block): ModuleList(       (0): T5Block(         (layer): ModuleList(           (0): T5LayerSelfAttention(             (SelfAttention): T5Attention(               (q): Linear(in_features=768, out_features=768, bias=False)               (k): Linear(in_features=768, out_features=768, bias=False)               (v): Linear(in_features=768, out_features=768, bias=False)               (o): Linear(in_features=768, out_features=768, bias=False)               (relative_attention_bias): Embedding(32, 12)             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )           (1): T5LayerCrossAttention(             (EncDecAttention): T5Attention(               (q): Linear(in_features=768, out_features=768, bias=False)               (k): Linear(in_features=768, out_features=768, bias=False)               (v): Linear(in_features=768, out_features=768, bias=False)               (o): Linear(in_features=768, out_features=768, bias=False)             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )           (2): T5LayerFF(             (DenseReluDense): T5DenseActDense(               (wi): Linear(in_features=768, out_features=3072, bias=False)               (wo): Linear(in_features=3072, out_features=768, bias=False)               (dropout): Dropout(p=0.1, inplace=False)               (act): ReLU()             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )         )       )       (1-11): 11 x T5Block(         (layer): ModuleList(           (0): T5LayerSelfAttention(             (SelfAttention): T5Attention(               (q): Linear(in_features=768, out_features=768, bias=False)               (k): Linear(in_features=768, out_features=768, bias=False)               (v): Linear(in_features=768, out_features=768, bias=False)               (o): Linear(in_features=768, out_features=768, bias=False)             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )           (1): T5LayerCrossAttention(             (EncDecAttention): T5Attention(               (q): Linear(in_features=768, out_features=768, bias=False)               (k): Linear(in_features=768, out_features=768, bias=False)               (v): Linear(in_features=768, out_features=768, bias=False)               (o): Linear(in_features=768, out_features=768, bias=False)             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )           (2): T5LayerFF(             (DenseReluDense): T5DenseActDense(               (wi): Linear(in_features=768, out_features=3072, bias=False)               (wo): Linear(in_features=3072, out_features=768, bias=False)               (dropout): Dropout(p=0.1, inplace=False)               (act): ReLU()             )             (layer_norm): T5LayerNorm()             (dropout): Dropout(p=0.1, inplace=False)           )         )       )     )     (final_layer_norm): T5LayerNorm()     (dropout): Dropout(p=0.1, inplace=False)   )   (lm_head): Linear(in_features=768, out_features=32128, bias=False) )
tokenizer = T5TokenizerFast(name_or_path='mrm8488/t5-base-e2e-question-generation', vocab_size=32100, model_max_length=512, is_fast=True, padding_side='right', truncation_side='right', special_tokens={'eos_token': '</s>', 'unk_token': '<unk>', 'pad_token': '<pad>', 'additional_special_tokens': ['<extra_id_0>', '<extra_id_1>', '<extra_id_2>', '<extra_id_3>', '<extra_id_4>', '<extra_id_5>', '<extra_id_6>', '<extra_id_7>', '<extra_id_8>', '<extra_id_9>', '<extra_id_10>', '<extra_id_11>', '<extra_id_12>', '<extra_id_13>', '<extra_id_14>', '<extra_id_15>', '<extra_id_16>', '<extra_id_17>', '<extra_id_18>', '<extra_id_19>', '<extra_id_20>', '<extra_id_21>', '<extra_id_22>', '<extra_id_23>', '<extra_id_24>', '<extra_id_25>', '<extra_id_26>', '<extra_id_27>', '<extra_id_28>', '<extra_id_29>', '<extra_id_30>', '<extra_id_31>', '<extra_id_32>', '<extra_id_33>', '<extra_id_34>', '<extra_id_35>', '<extra_id_36>', '<extra_id_37>', '<extra_id_38>', '<extra_id_39>', '<extra_id_40>', '<extra_id_41>', '<extra_id_42>', '<extra_id_43>', '<extra_id_44>', '<extra_id_45>', '<extra_id_46>', '<extra_id_47>', '<extra_id_48>', '<extra_id_49>', '<extra_id_50>', '<extra_id_51>', '<extra_id_52>', '<extra_id_53>', '<extra_id_54>', '<extra_id_55>', '<extra_id_56>', '<extra_id_57>', '<extra_id_58>', '<extra_id_59>', '<extra_id_60>', '<extra_id_61>', '<extra_id_62>', '<extra_id_63>', '<extra_id_64>', '<extra_id_65>', '<extra_id_66>', '<extra_id_67>', '<extra_id_68>', '<extra_id_69>', '<extra_id_70>', '<extra_id_71>', '<extra_id_72>', '<extra_id_73>', '<extra_id_74>', '<extra_id_75>', '<extra_id_76>', '<extra_id_77>', '<extra_id_78>', '<extra_id_79>', '<extra_id_80>', '<extra_id_81>', '<extra_id_82>', '<extra_id_83>', '<extra_id_84>', '<extra_id_85>', '<extra_id_86>', '<extra_id_87>', '<extra_id_88>', '<extra_id_89>', '<extra_id_90>', '<extra_id_91>', '<extra_id_92>', '<extra_id_93>', '<extra_id_94>', '<extra_id_95>', '<extra_id_96>', '<extra_id_97>', '<extra_id_98>', '<extra_id_99>']})