class_docstr: Add the difference part of aspect to the end of original sentence.
  The difference part is extracted from the training set of SemEval2014
  or user's customization.
  
  Example::
  
      Original sentence: "BEST spicy tuna roll, great asian salad.
      （Target: spicy tuna roll)"
      Transformed sentence: "BEST spicy tuna roll, great asian salad,
      but this small place is packed,
      on a cold day, the seating by the entrance way can be pretty drafty and
      bad service."
docstr: Get the sentence that owns different polarity compared with
  the aspect. Choose 1~3 sentences randomly from add_text and put
  them together.
  
  :param list add_text: extra text
  :param list all_term: all aspect term
  :return list: extra sentence that need to be added to original sentence
code: def _get_add_sentence(self, add_text, all_term):
      r"""
      Get the sentence that owns different polarity compared with
      the aspect. Choose 1~3 sentences randomly from add_text and put
      them together.
  
      :param list add_text: extra text
      :param list all_term: all aspect term
      :return list: extra sentence that need to be added to original sentence
  
      """
      sentence = self.sentence
      punctuation = "."
      if sentence[-1] == string.punctuation:
          punctuation = sentence[-1]
  
      while True:
          add_num = random.randint(1, 3)
          rand_num = random.sample(range(len(add_text)), 3)
          rand_terms = [add_text[i][0] for i in rand_num]
          rand_sentences = [
              self.tokenize(add_text[i][1][0]) for i in rand_num
          ]
  
          for idx, ran_sentence in enumerate(rand_sentences):
              if rand_terms[idx] in all_term:
                  break
              if ran_sentence[-1] in string.punctuation:
                  rand_sentences[idx] = ran_sentence[:-1]
          if add_num == 3:
              add_sentence = (
                  rand_sentences[0]
                  + [","]
                  + rand_sentences[1]
                  + ["and"]
                  + rand_sentences[2]
                  + [punctuation]
              )
          elif add_num == 2:
              add_sentence = (
                  rand_sentences[0]
                  + ["and"]
                  + rand_sentences[1]
                  + [punctuation]
              )
          else:
              add_sentence = rand_sentences[0] + [punctuation]
          break
  
      return add_sentence
  
file_path: textflint/textflint/generation/transformation/ABSA/add_diff.py
imports: import random
  import string
  from .absa_transformation import ABSATransformation
label_desc: Use image node_id 4 for calling the AddDiff obj's underlying member method code with example usage: obj._get_add_sentence(add_text, all_term) and returns: add_sentence