code: def build_key_file(self, data_path, key_file, debug=False):
      print("🌋 Building key file from corpus")
      print("Saving in", key_file)
      # Create a pool of processes. By default, one is created for each CPU in your machine.
      with io.open(key_file, "w", encoding="utf-8") as kf:
          if debug:
              print("Key file saved in", key_file)
          for dirpath, _, filenames in os.walk(data_path):
              print("In", dirpath)
              file_list = [
                  os.path.join(dirpath, f)
                  for f in filenames
                  if f.endswith(".v4_auto_conll")
                  or f.endswith(".v4_gold_conll")
              ]
              cleaned_file_list = []
              for f in file_list:
                  fn = f.split(".")
                  if fn[1] == "v4_auto_conll":
                      gold = fn[0] + "." + "v4_gold_conll"
                      if gold not in file_list:
                          cleaned_file_list.append(f)
                  else:
                      cleaned_file_list.append(f)
              # self.load_file(file_list[0])
              doc_list = parallel_process(cleaned_file_list, read_file)
              for doc in doc_list:
                  kf.write(doc)
  
imports: import re
  import argparse
  import time
  import os
  import io
  import pickle
  import spacy
  import numpy
  from tqdm import tqdm
  from neuralcoref.train.compat import unicode_
  from neuralcoref.train.document import Mention, Document, Speaker, EmbeddingExtractor, MISSING_WORD, extract_mentions_spans
  from neuralcoref.train.utils import parallel_process
label_desc: Use image node_id 5 for calling the ConllCorpus obj's underlying member method code with example usage: obj.build_key_file(data_path, key_file, debug) without return types