docstr: Adds question sign if it is absent or replaces dots in the end with question sign.
docstr_tok: ["Adds","question","sign","if","it","is","absent","or","replaces","dots","in","the","end","with","question","sign","."]
code: def __call__(self, questions: List[str]) -> List[str]:
      """Adds question sign if it is absent or replaces dots in the end with question sign."""
      questions_clean = []
      for question in questions:
          question = (
              question
              if question.endswith("?")
              else f'{question.rstrip(".")}?'
          )
          if self.delete_brackets:
              brackets_text = re.findall(r"(\(.*?\))", question)
              for elem in brackets_text:
                  question = question.replace(elem, " ")
          for old_tok, new_tok in self.replace_tokens:
              question = question.replace(old_tok, new_tok)
          questions_clean.append(question)
      return questions_clean
  
imports: import re
  from collections import defaultdict
  from logging import getLogger
  from string import punctuation
  from typing import List, Tuple, Union, Any
  import numpy
  from nltk.corpus import stopwords
  from deeppavlov.core.commands.utils import expand_path
  from deeppavlov.core.common.registry import register
  from deeppavlov.core.models.component import Component
label_desc: Use image node_id 2 for calling the QuestionSignChecker obj's underlying member method code with example usage: obj.__call__(questions) and returns: questions_clean