code: def get_start_array(self, *start_words, **kwargs):
          
          if not self.start_arrays:
              raise MarkovTextExcept("Не с чего начинать генерацию.")
          if not start_words:
              return choice(self.start_arrays)
  
          _variants = []
          _weights = []
          for tokens in self.start_arrays:
              weight = 0b1
              for word in start_words:
                  word = word.strip().lower()
                  for token in self.ONLY_WORDS.finditer(word):
                      if token.group() in tokens:
                          weight <<= 1
              if weight > 0b1:
                  _variants.append(tokens)
                  _weights.append(weight)
  
          if not _variants:
              return choice(self.start_arrays)
  
          return choices(_variants, weights=_weights, k=1)[0]
docs: Генерирует начало предложения.
          :start_words: Попытаться начать предложение с этих слов.