code: def penntreebank2universal(token, tag):
      
      if tag.startswith(("NNP-", "NNPS-")):
          return (token, "%s-%s" % (NOUN, tag.split("-")[-1]))
      if tag in ("NN", "NNS", "NNP", "NNPS", "NP"):
          return (token, NOUN)
      if tag in ("MD", "VB", "VBD", "VBG", "VBN", "VBP", "VBZ"):
          return (token, VERB)
      if tag in ("JJ", "JJR", "JJS"):
          return (token, ADJ)
      if tag in ("RB", "RBR", "RBS", "WRB"):
          return (token, ADV)
      if tag in ("PRP", "PRP$", "WP", "WP$"):
          return (token, PRON)
      if tag in ("DT", "PDT", "WDT", "EX"):
          return (token, DET)
      if tag in ("IN",):
          return (token, PREP)
      if tag in ("CD",):
          return (token, NUM)
      if tag in ("CC",):
          return (token, CONJ)
      if tag in ("UH",):
          return (token, INTJ)
      if tag in ("POS", "RP", "TO"):
          return (token, PRT)
      if tag in ("SYM", "LS", ".", "!", "?", ",", ":", "(", ")", "\"", "#", "$"):
          return (token, PUNC)
      return (token, X)
docs: Returns a (token, tag)-tuple with a simplified universal part-of-speech tag.