code: def get_bigram_pair_string(self, text):
          
          bigram_pairs = []
  
          if len(text) <= 2:
              text_without_punctuation = text.translate(self.punctuation_table)
              if len(text_without_punctuation) >= 1:
                  text = text_without_punctuation
  
          document = self.nlp(text)
  
          if len(text) <= 2:
              bigram_pairs = [
                  token.lemma_.lower() for token in document
              ]
          else:
              tokens = [
                  token for token in document if token.is_alpha and not token.is_stop
              ]
  
              if len(tokens) < 2:
                  tokens = [
                      token for token in document if token.is_alpha
                  ]
  
              for index in range(1, len(tokens)):
                  bigram_pairs.append('{}:{}'.format(
                      tokens[index - 1].pos_,
                      tokens[index].lemma_.lower()
                  ))
  
          if not bigram_pairs:
              bigram_pairs = [
                  token.lemma_.lower() for token in document
              ]
  
          return ' '.join(bigram_pairs)
docs: Return a string of text containing part-of-speech, lemma pairs.