Entity named recognition with spacy

@sarah1! I realized that:

In required_slots you define: [“PERSON”, “prenom”, “numero”, “email”]

It should be: [“nom”, “prenom”, “numero”, “email”]

PERSON is the entity, not the slot

Try:

@staticmethod
def required_slots(tracker: Tracker) -> List[Text]:

    print("required_slots(tracker: Tracker)")
    return ["nom", "prenom", "numero", "email"]
	
def slot_mappings(self) -> Dict[Text, Union[Dict, List[Dict]]]:
    return{
        "nom": [
            self.from_entity(entity="PERSON")
            ],
        "prenom": self.from_entity(entity = "prenom",intent="entreePrenom"),
        "email": self.from_entity(entity = "email", intent = "entreeEmail"),
        "numero": self.from_entity(entity = "numero", intent = "entreeNumero")
        }

def submit(self, dispatcher: CollectingDispatcher,
        tracker: Tracker,
        domain: Dict[Text, Any]) -> List[Dict]:
            
    dispatcher.utter_message(template="utter_submit",
                             nom = tracker.get_slot('nom'),
                             prenom = tracker.get_slot('prenom'),
                             email = tracker.get_slot('email'),
                             numero = tracker.get_slot('numero'))

    return []
1 Like