code: def process_before_extraction(self, gen, question, choice_dict):
      question_split = question.rstrip("。").split("。")[-1].split("_")
  
      if len(question_split[0].strip()) > 4:
          gen = gen.replace(question_split[0], "答案是")
      if len(question_split[-1].strip()) > 4:
          gen = gen.replace(question_split[-1], "")
  
      for key, val in sorted(
          choice_dict.items(), key=lambda x: len(x[1]), reverse=True
      ):
          gen = gen.replace(val.rstrip("。"), key)
      return gen
  
file_path: BigDL/python/llm/dev/benchmark/ceval/evaluators/qwen.py
imports: import re
  from tqdm import tqdm
  import torch
  from thefuzz import process
  from transformers import AutoTokenizer
  from transformers.generation import GenerationConfig
  from bigdl.llm.transformers import AutoModelForCausalLM
  from evaluators.evaluator import Evaluator
label_desc: Use image node_id 2 for calling the QwenEvaluator obj's underlying member method code with example usage: obj.process_before_extraction(gen, question, choice_dict) and returns: gen