class_docstr: Transformation that simulate typos error to transform sentence.
  
  https://arxiv.org/pdf/1711.02173.pdf
class_docstr_tok: ["Transformation","that","simulate","typos","error","to","transform","sentence",".","https",":","\/\/arxiv.org\/pdf\/1711.02173.pdf"]
docstr: Returns a list of words with typo errors.
  
  :param str word: token word to transform.
  :param int n: number of transformed tokens to generate.
  :param kwargs:
  :return list replaced_tokens: replaced tokens list
docstr_tok: ["Returns","a","list","of","words","with","typo","errors",".",":","param","str","word",":","token","word","to","transform",".",":","param","int","n",":","number","of","transformed","tokens","to","generate",".",":","param","kwargs",":",":","return","list","replaced_tokens",":","replaced","tokens","list"]
code: def _get_candidates(self, word, n=5, **kwargs):
      r"""
      Returns a list of words with typo errors.
  
      :param str word: token word to transform.
      :param int n: number of transformed tokens to generate.
      :param kwargs:
      :return list replaced_tokens: replaced tokens list
  
      """
      candidates = set()
  
      for i in range(n):
          typo_method = self._get_typo_method()
          # default operate at most one character in a word
          result = typo_method(
              word, 1, self.skip_first_char, self.skip_last_char
          )
          if result:
              candidates.add(result)
  
      if len(candidates) > 0:
          return list(candidates)
      else:
          return []
  
file_path: textflint/textflint/generation/transformation/UT/typos.py
imports: from ...transformation import WordSubstitute
  from ....common.utils.word_op import *
label_desc: Use image node_id 6 for calling the Typos obj's underlying member method code with example usage: obj._get_candidates(word, n) and returns: list, list