class_docstr: Tag words' parts-of-speech.
class_docstr_tok: ["Tag","words","'","parts-of-speech","."]
docstr: Tag POS with 1-, 2-gram tagger.
  :type untagged_string: str
  :param : An untagged, untokenized string of text.
  :rtype tagged_text: str
docstr_tok: ["Tag","POS","with","1-",",","2-gram","tagger",".",":","type","untagged_string",":","str",":","param",":","An","untagged",",","untokenized","string","of","text",".",":","rtype","tagged_text",":","str"]
code: def tag_ngram_12_backoff(self, untagged_string: str):
      """Tag POS with 1-, 2-gram tagger.
      :type untagged_string: str
      :param : An untagged, untokenized string of text.
      :rtype tagged_text: str
      """
      untagged_tokens = wordpunct_tokenize(untagged_string)
      tagger = self._load_model("ngram_12_backoff")
      tagged_text = tagger.tag(untagged_tokens)
      return tagged_text
  
file_path: cltk/src/cltk/tag/pos.py
imports: import os
  from nltk.tag import CRFTagger
  from nltk.tokenize import wordpunct_tokenize
  from cltk.utils import CLTK_DATA_DIR
  from cltk.utils.file_operations import open_pickle
label_desc: Use image node_id 8 for calling the POSTag obj's underlying member method code with example usage: obj.tag_ngram_12_backoff(untagged_string) and returns: tagged_text