code: def bigram(self, items):
  
          
  
          def bigram_join(tok_list):
              text = nltk.bigrams(tok_list)
              return list(map(lambda x: x[0] + '.' + x[1], text))
  
          if items == "tokens":
              self.bigrams = list(map(bigram_join, self.tokens))
          elif items == "stems":
              self.bigrams = list(map(bigram_join, self.stems))
          else:
              raise ValueError("Items must be either \'tokens\' or \'stems\'.")
docs: generate bigrams of either items = "tokens" or "stems"