code: def eea_post_process2(self, text, result):
      def clean(spt):
          spt = spt.strip()
          return spt
  
      rst = self.replace_nomiss(result)
      matches = rst.split("\n\n")
      new_record = []
      for m in matches:
          if m.strip() == self.NAN:
              continue
          spt = m.split("\n")
          type_spt = spt[0].split("：")
          event_type = clean(type_spt[0])
          trigger = clean(type_spt[-1])
          argument_spt = spt[1].split(";")
          args = []
          for arg in argument_spt:
              arg = arg.strip().split("：")
              role = clean(arg[0])
              name = clean(arg[-1])
              if role == "" or name == "":
                  continue
              if role == self.NAN or name == self.NAN:
                  continue
              args.append((name, role))
          if trigger == "" or event_type == "":
              continue
          if trigger == self.NAN or event_type == self.NAN:
              continue
          new_record.append((event_type, trigger, tuple(args)))
      return new_record
  
file_path: DeepKE/example/llm/InstructKGC/kg2instruction/eval/extracter/eea_extractor.py
imports: import re
label_desc: Use image node_id 7 for calling the EEAExtractor obj's underlying member method code with example usage: obj.eea_post_process2(text, result) and returns: new_record, spt