code: def _get_single_answer(example):
      def choose_first(answer, is_long_answer=False):
          assert isinstance(answer, list)
          if len(answer) == 1:
              answer = answer[0]
              return (
                  {k: [answer[k]] for k in answer}
                  if is_long_answer
                  else answer
              )
          for a in answer:
              if is_long_answer:
                  a = {k: [a[k]] for k in a}
              if len(a["start_token"]) > 0:
                  break
          return a
  
      answer = {"id": example["id"]}
      annotation = example["annotations"]
      yes_no_answer = annotation["yes_no_answer"]
      if 0 in yes_no_answer or 1 in yes_no_answer:
          answer["category"] = ["yes"] if 1 in yes_no_answer else ["no"]
          answer["start_token"] = answer["end_token"] = []
          answer["start_byte"] = answer["end_byte"] = []
          answer["text"] = ["<cls>"]
      else:
          answer["category"] = ["short"]
          out = choose_first(annotation["short_answers"])
          if len(out["start_token"]) == 0:
              # answer will be long if short is not available
              answer["category"] = ["long"]
              out = choose_first(
                  annotation["long_answer"], is_long_answer=True
              )
              out["text"] = []
          answer.update(out)
  
      # disregard some samples
      if (
          len(answer["start_token"]) > 1
          or answer["start_token"] == answer["end_token"]
      ):
          answer["remove_it"] = True
      else:
          answer["remove_it"] = False
  
      cols = [
          "start_token",
          "end_token",
          "start_byte",
          "end_byte",
          "text",
      ]
      if not all([isinstance(answer[k], list) for k in cols]):
          raise ValueError("Issue in ID", example["id"])
  
      return answer
  
file_path: H2O/h2o_flexgen/benchmark/third_party/transformers/examples/research_projects/jax-projects/big_bird/prepare_natural_questions.py
imports: import os
  import numpy
  from tqdm import tqdm
  import jsonlines
label_desc: Use image node_id 1 for calling a global function with example usage: _get_single_answer(example) and returns: answer, a, unknown