code: def merge_results(results):
      rslt_lst = []
  
      # make intersection set for utterance keys
      intersec_keys = []
      for x in results.keys():
          j = results[x]
  
          ks = j["utts"].keys()
          logging.info(x + ": has " + str(len(ks)) + " utterances")
  
          if len(intersec_keys) > 0:
              intersec_keys = intersec_keys.intersection(set(ks))
          else:
              intersec_keys = set(ks)
          rslt_lst.append(j)
  
      logging.info(
          "After merge, the result has "
          + str(len(intersec_keys))
          + " utterances"
      )
  
      # merging results
      dic = dict()
      for k in intersec_keys:
          v = rslt_lst[0]["utts"][k]
          for j in rslt_lst[1:]:
              v.update(j["utts"][k])
          dic[k] = v
  
      return dic
  
file_path: espnet/utils/eval_perm_free_error.py
imports: import argparse
  import codecs
  import json
  import logging
  import re
  import sys
  import numpy
label_desc: Use image node_id 6 for calling a global function with example usage: merge_results(results) and returns: dic