class_docstr: Abstract base class for lemmatizers created as a subclass of
  NLTK's SequentialBackoffTagger. Lemmatizers in this class "[tag]
  words sequentially, left to right. Tagging of individual words is
  performed by the ``choose_tag()`` method, which should be defined
  by subclasses.  If a tagger is unable to determine a tag for the
  specified token, then its backoff tagger is consulted."
  
  See: https://www.nltk.org/_modules/nltk/tag/sequential.html#SequentialBackoffTagger
  
  :type _taggers: list
  :ivar _taggers: A list of all the taggers in the backoff chain,
      inc. self.
  :type _repr: Repr object
  :ivar _repr: An instance of Repr() from reprlib to handle list
      and dict length in subclass __repr__'s
class_docstr_tok: ["Abstract","base","class","for","lemmatizers","created","as","a","subclass","of","NLTK","'s","SequentialBackoffTagger",".","Lemmatizers","in","this","class","``","[","tag","]","words","sequentially",",","left","to","right",".","Tagging","of","individual","words","is","performed","by","the","``","choose_tag","(",")","``","method",",","which","should","be","defined","by","subclasses",".","If","a","tagger","is","unable","to","determine","a","tag","for","the","specified","token",",","then","its","backoff","tagger","is","consulted",".","''","See",":","https",":","\/\/www.nltk.org\/_modules\/nltk\/tag\/sequential.html","#","SequentialBackoffTagger",":","type","_taggers",":","list",":","ivar","_taggers",":","A","list","of","all","the","taggers","in","the","backoff","chain",",","inc.","self",".",":","type","_repr",":","Repr","object",":","ivar","_repr",":","An","instance","of","Repr","(",")","from","reprlib","to","handle","list","and","dict","length","in","subclass","__repr__","'s"]
docstr: Docs (mostly) inherited from TaggerI; cf.
  https://www.nltk.org/_modules/nltk/tag/api.html#TaggerI.tag
  
  Two tweaks:
  1. Properly handle 'verbose' listing of current tagger in
  the case of None (i.e. ``if tag: etc.``)
  2. Keep track of taggers and change return depending on
  'verbose' flag
  
  :rtype list
  :type tokens: list
  :param tokens: List of tokens to tag
docstr_tok: ["Docs","(","mostly",")","inherited","from","TaggerI",";","cf",".","https",":","\/\/www.nltk.org\/_modules\/nltk\/tag\/api.html","#","TaggerI.tag","Two","tweaks",":","1",".","Properly","handle","'verbose","'","listing","of","current","tagger","in","the","case","of","None","(","i.e",".","``","if","tag",":","etc.","``",")","2",".","Keep","track","of","taggers","and","change","return","depending","on","'verbose","'","flag",":","rtype","list",":","type","tokens",":","list",":","param","tokens",":","List","of","tokens","to","tag"]
code: def tag(self, tokens: List[str]):
      """Docs (mostly) inherited from TaggerI; cf.
      https://www.nltk.org/_modules/nltk/tag/api.html#TaggerI.tag
  
      Two tweaks:
      1. Properly handle 'verbose' listing of current tagger in
      the case of None (i.e. ``if tag: etc.``)
      2. Keep track of taggers and change return depending on
      'verbose' flag
  
      :rtype list
      :type tokens: list
      :param tokens: List of tokens to tag
      """
      tags = []
      taggers = []
      for i in range(len(tokens)):
          tag, tagger = self.tag_one(tokens, i, tags)
          tags.append(tag)
          taggers.append(str(tagger)) if tag else taggers.append(None)
  
      if self.VERBOSE:
          return list(zip(tokens, tags, taggers))
      else:
          return list(zip(tokens, tags))
  
imports: import re
  import reprlib
  from typing import Dict, List, Optional, Tuple
  from nltk.tag.sequential import RegexpTagger, SequentialBackoffTagger, TaggerI, UnigramTagger
label_desc: Use image node_id 2 for calling the SequentialBackoffLemmatizer obj's underlying member method code with example usage: obj.tag(tokens) and returns: list, list