class_docstr: Transforms input by common abbreviations.
  
  Each sample generate one transformed sample at most.
  
  Example::
  
         "we're playing ping pang ball, you are so lazy. She's so beautiful!"
  
      >> "we are playing ping pang ball, you're so lazy. She is so beautiful!"
docstr: Get contractions string in given tokens. this function work while
  tokenizer won't split contract string like 'can't' -> 'can ' t' or
  'can 't'
  
  :param list tokens: word list
  :return list indices_list: indices of contract strings
  :return list phrases_list: expanded phrases.
code: def _get_contractions(self, tokens):
      r"""
      Get contractions string in given tokens. this function work while
      tokenizer won't split contract string like 'can't' -> 'can ' t' or
      'can 't'
  
      :param list tokens: word list
      :return list indices_list: indices of contract strings
      :return list phrases_list: expanded phrases.
      """
      indices_list = []
      phrases_list = []
  
      # just judge [:-2] range to avoid Exception
      for index, token in enumerate(tokens[:-2]):
          sub_string = token + tokens[index + 1]
          if sub_string in self.contractions:
              indices_list.append([index, index + 2])
              phrases_list.append(self.contractions[sub_string])
  
      return indices_list, phrases_list
  
file_path: textflint/textflint/generation/transformation/UT/contraction.py
imports: from ...transformation import Transformation
  from ....common.settings import CONTRACTION_PHRASES
label_desc: Use image node_id 4 for calling the Contraction obj's underlying member method code with example usage: obj._get_contractions(tokens) and returns: indices_list,  phrases_list