class_docstr: Results compiler subclass to provide utility code for turn annotations.
  
  Currently incompatible with Mephisto's DataBrowser: all subclasses load results
  files directly from disk.
  TODO: make all subclasses compatible with DataBrowser
code: def __init__(self, opt: Opt):
      super().__init__(opt)
  
      # Handle inputs
      if opt["problem_buckets"].lower() not in ["", "none"]:
          self.use_problem_buckets = True
          self.problem_buckets = opt["problem_buckets"].split(",")
      else:
          self.use_problem_buckets = False
          self.problem_buckets = []
  
imports: from __future__ import annotations
  import argparse
  import os
  from abc import ABC, abstractmethod
  from datetime import datetime
  import json
  from typing import Any, Dict, List, Union
  import pandas
  from parlai.core.opt import Opt
  import parlai.utils.logging
label_desc: Use image node_id 2 to create a new AbstractTurnAnnotationResultsCompiler object from inherited base classes: AbstractResultsCompiler with example: obj = AbstractTurnAnnotationResultsCompiler(opt)