docs: def _handle_treebank(self, X):
          """
          Create a part-of-speech tag mapping using the Penn Treebank tags
  
          Parameters
          ----------
          X : list or generator
              Should be provided as a list of documents or a generator
              that yields a list of documents that contain a list of
              sentences that contain (token, tag) tuples.
          """
          for tagged_doc in X:
              for tagged_sent in tagged_doc:
                  for _, tag in tagged_sent:
                      if tag.startswith("N"):
                          self.pos_tag_counts_["noun"] += 1
                      elif tag.startswith("J"):
                          self.pos_tag_counts_["adjective"] += 1
                      elif tag.startswith("V"):
                          self.pos_tag_counts_["verb"] += 1
                      # include particles with adverbs
                      elif tag.startswith("RB") or tag == "RP":
                          self.pos_tag_counts_["adverb"] += 1
                      elif tag.startswith("PR"):
                          self.pos_tag_counts_["pronoun"] += 1
                      elif tag.startswith("W"):
                          self.pos_tag_counts_["wh- word"] += 1
                      elif tag == "CC":
                          self.pos_tag_counts_["conjunction"] += 1
                      elif tag == "CD":
                          self.pos_tag_counts_["digit"] += 1
                      # combine predeterminer and determiner
                      elif tag in ["DT" or "PDT"]:
                          self.pos_tag_counts_["determiner"] += 1
                      elif tag == "EX":
                          self.pos_tag_counts_["existential"] += 1
                      elif tag == "FW":
                          self.pos_tag_counts_["non-English"] += 1
                      elif tag == "IN":
                          self.pos_tag_counts_["preposition"] += 1
                      elif tag == "POS":
                          self.pos_tag_counts_["possessive"] += 1
                      elif tag == "LS":
                          self.pos_tag_counts_["list"] += 1
                      elif tag == "MD":
                          self.pos_tag_counts_["modal"] += 1
                      elif tag in self.punct_tags:
                          self.pos_tag_counts_["punctuation"] += 1
                      elif tag == "TO":
                          self.pos_tag_counts_["infinitive"] += 1
                      elif tag == "UH":
                          self.pos_tag_counts_["interjection"] += 1
                      elif tag == "SYM":
                          self.pos_tag_counts_["symbol"] += 1
                      else:
                          self.pos_tag_counts_["other"] += 1