My weather robot is like this:
* Is going to be rain tomorrow? yes. * Is going to be snow tomorrow? no
If I define [rain, snow, fog, mist] as a list, and they are defined as different entity types in the robot. For a new utterance (‘is going to be snow tomorrow’), if ‘snow’ is extracted as an entity, and if any of the [rain, snow, fog, and mist] entities already exist in the tracker, this previous entity should be discarded (i.e. rain), and will be replaced with the new entity ‘snow’. That is, the previous entity should be forgotten, instead of keeping it in the history.
If I implement this logic as an action, where to call this action? It doesn’t seem to be a way to do that. Currently I implement the logic in the MessageProcessor class. It seems messy. e
Is there a general strategy to do this in the action class? That will limit the code specific to a skill within its own action class, instead of the generic MessageProcessor class.