code: def single_choice_accuracy(prediction, reference, **kwargs):
      # Only find uppercase letters not surrounded by lowercase letters
      all_classes = kwargs.get("all_classes", None)
      if all_classes:
          pattern = (
              f"(?<![a-z])[{all_classes[0]}-{all_classes[-1]}](?![a-z])"
          )
      else:
          pattern = "(?<![a-z])[A-F](?![a-z])"
  
      prediction = re.findall(pattern, prediction)[0:1]
      reference = re.findall(pattern, reference)
  
      assert len(reference) == 1
  
      prediction_set = set(prediction)
      reference_set = set(reference)
  
      if prediction_set == reference_set:
          return 1.0
  
      return 0.0
  
imports: import difflib
  import re
  import string
  from collections import Counter
  import jieba
  from fuzzywuzzy import fuzz
  from rouge import Rouge
label_desc: Use image node_id 11 for calling a global function with example usage: single_choice_accuracy(prediction, reference) and returns: int, int