class_docstr: A processing interface for tokenizing a string.
  Subclasses must define ``tokenize()`` or ``tokenize_sents()`` (or both).
class_docstr_tok: ["A","processing","interface","for","tokenizing","a","string",".","Subclasses","must","define","``","tokenize","(",")","``","or","``","tokenize_sents","(",")","``","(","or","both",")","."]
docstr: Identify the tokens using integer offsets ``(start_i, end_i)``,
  where ``s[start_i:end_i]`` is the corresponding token.
  
  :rtype: Iterator[Tuple[int, int]]
docstr_tok: ["Identify","the","tokens","using","integer","offsets","``","(","start_i",",","end_i",")","``",",","where","``","s","[","start_i",":","end_i","]","``","is","the","corresponding","token",".",":","rtype",":","Iterator","[","Tuple","[","int",",","int","]","]"]
code: def span_tokenize(self, s: str) -> Iterator[Tuple[int, int]]:
      """
      Identify the tokens using integer offsets ``(start_i, end_i)``,
      where ``s[start_i:end_i]`` is the corresponding token.
  
      :rtype: Iterator[Tuple[int, int]]
      """
      raise NotImplementedError()
  
file_path: nltk/nltk/tokenize/api.py
imports: from abc import ABC, abstractmethod
  from typing import Iterator, List, Tuple
  from nltk.internals import overridden
  from nltk.tokenize.util import string_span_tokenize
label_desc: Use image node_id 2 for calling the TokenizerI obj's underlying member method code with example usage: obj.span_tokenize(s) without return types