code: def pos_tag(s: TextSeries) -> pd.Series:
      """
      Return a Pandas Series with part-of-speech tagging
  
      Return new Pandas Series where each rows contains a list of tuples
      containing information about part-of-speech tagging.
  
      Tuple: (`token name`,`Coarse-grained POS`,`Fine-grained POS`,
              `starting character`, `ending character`)
  
      A difference between the coarse-grained POS and the Fine-grained POS is
      that the last one is more specific about marking, for example if the
      coarse-grained POS has a NOUN value, then the refined POS will give more
      details about the type of the noun, whether it is singular, plural and/or
      proper.
  
      You can use the spacy `explain` function to find out which fine-grained
      POS it is.
  
      You can see more details about Fine-grained POS at:
      <https://spacy.io/api/annotation#pos-en>
  
      This makes use of the SpaCy `processing pipeline
      <https://spacy.io/usage/processing-pipelines#pipelines>`.
  
      List of POS/Tag:
       - `ADJ`: Adjective. Examples: big, old, green.
       - `ADP`: Adposition. Examples: in, to, during.
       - `ADV`: Adverb. Examples: very, tomorrow, down.
       - `AUX` : Auxiliary. Examples: is, has (done), will (do).
       - `CONJ`: Conjunction. Examples: and, or, but.
       - `CCONJ`: Coordinating Conjunction. Examples: and, or, but.
       - `DET`: Determiner. Examples: a, an, the.
       - `INTJ`: Interjection. Examples: psst, ouch, bravo.
       - `NOUN`:  Noun. Examples: girl, cat, tree.
       - `NUM`: Numeral. Examples: 1, 2007, one.
       - `PART`: Particle. Examples: 's, not.
       - `PRON`: Pronoun. Examples: I, you, he, she.
       - `PROPN`: Proper Noun. Examples: Mary, John, London.
       - `PUNCT`: Punctuation. Examples: ., (, ), ?
       - `SCONJ`: Subordinating Conjunction. Examples: if, while, that.
       - `SYM`: Symbol. Examples: $, %, §, ©.
       - `VERB`: Verb. Examples: run, runs, running.
       - `X`: Other.
       - `SPACE`: Space.
  
      Internally pos_tag makes use of Spacy's dependency tagging:
      <https://spacy.io/api/annotation#pos-tagging>`
  
      Examples
      --------
      >>> import texthero as hero
      >>> import pandas as pd
      >>> s = pd.Series("Today is such a beautiful day")
      >>> print(hero.pos_tag(s)[0]) # doctest: +NORMALIZE_WHITESPACE
      [('Today', 'NOUN', 'NN', 0, 5), ('is', 'AUX', 'VBZ', 6, 8), ('such', 'DET',
       'PDT', 9, 13), ('a', 'DET', 'DT', 14, 15), ('beautiful', 'ADJ', 'JJ', 16,
       25), ('day', 'NOUN', 'NN', 26, 29)]
      """
  
      pos_tags = []
  
      nlp = en_core_web_sm.load(disable=["parser", "ner"])
  
      # nlp.pipe is now "tagger"
      for doc in nlp.pipe(s.astype("unicode").values, batch_size=32):
          pos_tags.append(
              [
                  (
                      token.text,
                      token.pos_,
                      token.tag_,
                      token.idx,
                      token.idx + len(token),
                  )
                  for token in doc
              ]
          )
  
      return pd.Series(pos_tags, index=s.index)
  
file_path: texthero/texthero/nlp.py
imports: import spacy
  import pandas
  from nltk.stem import PorterStemmer, SnowballStemmer
  from texthero._types import TextSeries, InputSeries
label_desc: Use image node_id 4 for calling a global function with example usage: pos_tag(s) and returns: pd