code: def test_dialogue_metric_slot_filling_metrics():
      generated_slots = [
          ["time_of_day(7pm)", "number_of_people(3)"],
          ["time_of_day(7pm)"],
      ]
      ground_truth_slots = [
          ["time_of_day(7pm)"],
          ["time_of_day(7pm)", "number_of_people(3)"],
      ]
  
      (
          avg_precision,
          avg_recall,
          avg_f1,
          avg_joint_goal_accuracy,
      ) = DialogueClassificationMetrics.get_slot_filling_metrics(
          generated_slots, ground_truth_slots
      )
  
      assert avg_precision == 75
      assert avg_recall == 75
      assert avg_f1 == 75
      assert avg_joint_goal_accuracy == 0
  
imports: import pytest
  import torch
  from nemo.collections.nlp.data.dialogue.data_processor.assistant_data_processor import DialogueAssistantDataProcessor
  from nemo.collections.nlp.data.dialogue.data_processor.data_processor import DialogueDataProcessor
  from nemo.collections.nlp.data.dialogue.data_processor.sgd_data_processor import DialogueSGDDataProcessor
  from nemo.collections.nlp.data.dialogue.dataset.dialogue_gpt_classification_dataset import DialogueGPTClassificationDataset
  from nemo.collections.nlp.data.dialogue.dataset.dialogue_s2s_generation_dataset import DialogueS2SGenerationDataset
  from nemo.collections.nlp.data.dialogue.dataset.dialogue_sgd_bert_dataset import DialogueSGDBERTDataset
  from nemo.collections.nlp.metrics.dialogue_metrics import DialogueClassificationMetrics, DialogueGenerationMetrics
  from nemo.collections.nlp.models.dialogue.dialogue_nearest_neighbour_model import DialogueNearestNeighbourModel
label_desc: Use image node_id 3 for calling a global function with example usage: test_dialogue_metric_slot_filling_metrics() without return types