class_docstr: Synthetic Reasoning Natural Language benchmark inspired by "Transformers as Soft Reasoners over Language"
      https://arxiv.org/abs/2002.05867
code: def __init__(self, difficulty: str, random_seed=42):
      super().__init__()
      self.attribute_groups, self.subjects = get_vocab()
  
      # specific_category specifies that the specific category should always be used
      # e.g. "dog" instead of "an animal"
      self.specific_category: bool = difficulty == "easy"
      # use_specific_attributes specifies that the synonymous attributes can be used
      # e.g. "chill" instead of "cold"
      self.use_specific_attributes: bool = difficulty == "hard"
      self.include_intermediates: bool = False
      self.num_train_instances: int = 1000
      self.num_val_instances: int = 5000
      self.num_test_instances: int = 5000
      self.random_seed = random_seed
  
imports: import random
  import dataclasses
  from copy import copy
  from typing import List, Dict, Literal, Tuple
  from dataclasses import dataclass
  from .scenario import Scenario, Instance, Reference, TRAIN_SPLIT, VALID_SPLIT, TEST_SPLIT, CORRECT_TAG, Input, Output
label_desc: Use image node_id 1 to create a new SRNScenario object from inherited base classes: Scenario with example: obj = SRNScenario(difficulty, random_seed)