code: def get_records(self, phase, shuffle=False):
      if phase == "train":
          records = self.train_records
      elif phase == "dev":
          records = self.dev_records
      elif phase == "test":
          records = self.test_records
      elif phase == "val":
          records = self.dev_records
      elif phase == "predict":
          records = self.predict_records
      else:
          raise ValueError("Invalid phase: %s" % phase)
  
      if shuffle:
          np.random.shuffle(records)
      return records
  
imports: import io
  import csv
  import collections
  import numpy
  from tqdm import tqdm
  from paddlehub.compat.datasets.base_dataset import InputExample, BaseDataset
  from paddlehub.utils.log import logger
  from paddlehub.text.tokenizer import CustomTokenizer
  from paddlehub.text.bert_tokenizer import BertTokenizer
label_desc: Use image node_id 13 for calling the BaseNLPDataset obj's underlying member method code with example usage: obj.get_records(phase, shuffle) and returns: records