code: def _csv_iterator(data_path, ngrams, yield_cls=False):
      tokenizer = get_tokenizer("basic_english")
      with io.open(data_path, encoding="utf8") as f:
          reader = csv.reader(f)
          for row in reader:
              tokens = " ".join(row[1:])
              tokens = tokenizer(tokens)
              if yield_cls:
                  yield int(row[0]) - 1, ngrams_iterator(tokens, ngrams)
              else:
                  yield ngrams_iterator(tokens, ngrams)
  
imports: import csv
  import io
  import logging
  import torch
  from torchtext.data.utils import get_tokenizer, ngrams_iterator
  from torchtext.utils import download_from_url, extract_archive
  from tqdm import tqdm
  from ..vocab import build_vocab_from_iterator, Vocab
label_desc: Use image node_id 1 for calling a global function with example usage: _csv_iterator(data_path, ngrams, yield_cls) without return types