code: def pos_tag(tokens, tagset=None, lang="eng"):
      """
      Use NLTK's currently recommended part of speech tagger to
      tag the given list of tokens.
  
          >>> from nltk.tag import pos_tag
          >>> from nltk.tokenize import word_tokenize
          >>> pos_tag(word_tokenize("John's big idea isn't all that bad.")) # doctest: +NORMALIZE_WHITESPACE
          [('John', 'NNP'), ("'s", 'POS'), ('big', 'JJ'), ('idea', 'NN'), ('is', 'VBZ'),
          ("n't", 'RB'), ('all', 'PDT'), ('that', 'DT'), ('bad', 'JJ'), ('.', '.')]
          >>> pos_tag(word_tokenize("John's big idea isn't all that bad."), tagset='universal') # doctest: +NORMALIZE_WHITESPACE
          [('John', 'NOUN'), ("'s", 'PRT'), ('big', 'ADJ'), ('idea', 'NOUN'), ('is', 'VERB'),
          ("n't", 'ADV'), ('all', 'DET'), ('that', 'DET'), ('bad', 'ADJ'), ('.', '.')]
  
      NB. Use `pos_tag_sents()` for efficient tagging of more than one sentence.
  
      :param tokens: Sequence of tokens to be tagged
      :type tokens: list(str)
      :param tagset: the tagset to be used, e.g. universal, wsj, brown
      :type tagset: str
      :param lang: the ISO 639 code of the language, e.g. 'eng' for English, 'rus' for Russian
      :type lang: str
      :return: The tagged tokens
      :rtype: list(tuple(str, str))
      """
      tagger = _get_tagger(lang)
      return _pos_tag(tokens, tagset, tagger, lang)
  
file_path: nltk/nltk/tag/__init__.py
imports: from nltk.tag.api import TaggerI
  from nltk.tag.util import str2tuple, tuple2str, untag
  from nltk.tag.sequential import SequentialBackoffTagger, ContextTagger, DefaultTagger, NgramTagger, UnigramTagger, BigramTagger, TrigramTagger, AffixTagger, RegexpTagger, ClassifierBasedTagger, ClassifierBasedPOSTagger
  from nltk.tag.brill import BrillTagger
  from nltk.tag.brill_trainer import BrillTaggerTrainer
  from nltk.tag.tnt import TnT
  from nltk.tag.hunpos import HunposTagger
  from nltk.tag.stanford import StanfordTagger, StanfordPOSTagger, StanfordNERTagger
  from nltk.tag.hmm import HiddenMarkovModelTagger, HiddenMarkovModelTrainer
  from nltk.tag.senna import SennaTagger, SennaChunkTagger, SennaNERTagger
  from nltk.tag.mapping import tagset_mapping, map_tag
  from nltk.tag.crf import CRFTagger
  from nltk.tag.perceptron import PerceptronTagger
  from nltk.data import load, find
label_desc: Use image node_id 3 for calling a global function with example usage: pos_tag(tokens, tagset, lang) and returns: _pos_tag