class_docstr: MRC Sample class to hold the mrc data info and provide atomic operations.
docstr: Check whether the input data is legal
  :param dict data: dict obj that contains data info
docstr_tok: ["Check","whether","the","input","data","is","legal",":","param","dict","data",":","dict","obj","that","contains","data","info"]
code: def check_data(self, data):
      r"""
      Check whether the input data is legal
      :param dict data: dict obj that contains data info
  
      """
      assert "context" in data and isinstance(
          data["context"], str
      ), "Context should be in data, and the type of context should be str"
      assert "question" in data and isinstance(
          data["question"], str
      ), "Question should be in data, and the type of question should be str"
      assert "answers" in data and isinstance(
          data["answers"], list
      ), "Answers should be in data, and the type of answers should be dict"
      assert "title" in data, "Title should be in data."
      assert "is_impossible" in data, "Is_possible should be in data"
  
imports: from .cnsample import CnSample
  from ..field import Field, CnTextField
  from ....common.utils.list_op import normalize_scope
  from ....common.preprocess.nltk_res_load import ModelManager
  from ....common.settings import *
  from nltk.stem.lancaster import LancasterStemmer
  from copy import deepcopy
label_desc: Use image node_id 3 for calling the MRCCnSample obj's underlying member method code with example usage: obj.check_data(data) without return types