code: def fit(self, dataset, intent):
      self.language = dataset["language"]
      self.slots_keywords = dict()
      utterances = dataset["intents"][intent]["utterances"]
      for utterance in utterances:
          for chunk in utterance["data"]:
              if "slot_name" in chunk:
                  text = chunk["text"]
                  if self.config.get("lowercase", False):
                      text = text.lower()
                  self.slots_keywords[text] = [
                      chunk["entity"],
                      chunk["slot_name"],
                  ]
      return self
  
file_path: snips-nlu/snips_nlu/slot_filler/keyword_slot_filler.py
imports: from __future__ import unicode_literals
  import json
  from snips_nlu.common.utils import json_string
  from snips_nlu.preprocessing import tokenize
  from snips_nlu.result import unresolved_slot
  from snips_nlu.slot_filler import SlotFiller
label_desc: Use image node_id 3 for calling the KeywordSlotFiller obj's underlying member method code with example usage: obj.fit(dataset, intent) and returns: self