code: def try_to_guess_data_keys(
      self, column_names: List[str]
  ) -> Optional[Dict[str, str]]:
      question_key_name = None
      context_key_name = None
  
      for name in column_names:
          if question_key_name is None and "question" in name:
              question_key_name = name
          if context_key_name is None and (
              "sentence" in name
              or "context" in name
              or "answer" in name
          ):
              context_key_name = name
  
      if question_key_name is not None and context_key_name is not None:
          return {
              "question": question_key_name,
              "context": context_key_name,
          }
      return None
  
file_path: optimum/optimum/utils/preprocessing/question_answering.py
imports: import copy
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple
  from transformers import PreTrainedTokenizerBase
  from .base import TaskProcessor
label_desc: Use image node_id 3 for calling the QuestionAnsweringProcessing obj's underlying member method code with example usage: obj.try_to_guess_data_keys(column_names) and returns: None, dict