code: def _iob1_start_of_chunk(
      prev_bio_tag: Optional[str],
      prev_conll_tag: Optional[str],
      curr_bio_tag: str,
      curr_conll_tag: str,
  ) -> bool:
      if curr_bio_tag == "B":
          return True
      if curr_bio_tag == "I" and prev_bio_tag == "O":
          return True
      if curr_bio_tag != "O" and prev_conll_tag != curr_conll_tag:
          return True
      return False
  
file_path: allennlp/allennlp/data/dataset_readers/dataset_utils/span_utils.py
imports: from typing import Callable, List, Set, Tuple, TypeVar, Optional
  import warnings
  from allennlp.common.checks import ConfigurationError
  from allennlp.data.tokenizers import Token
label_desc: Use image node_id 4 for calling a global function with example usage: _iob1_start_of_chunk(prev_bio_tag, prev_conll_tag, curr_bio_tag, curr_conll_tag) and returns: False, True, True, True