this will help You would use the @sys.any entity type and assign it to that part of the training phrases that you're setting up in Dialogflow. As you're setting up the training phrases, keep in mind that there may be many ways to say the same sort of thing, which is why using Dialogflow's training phrases are better than trying to capture parameters using string parsing.
I hope this helps . The underlying algorithm behind Dialogflow is not open sourced. So, It is really hard to say what is the best way to fix the problem. But here are some options you can consider: To understand meaning of the sentence with different word or phrase (your first example) is open area of research. No ML algorithm can able to solve this problem completely (until now). You can not trust on Dialogflow or other Chatbot to capture/understand paraphrase sentences for you.
What's the maximum number of train phrases for each intent in dialogflow?
seems to work fine What's the maximum number of train phases for each intent in dialogflow? I know there have max intent number 2000 for one agent. but what's the number of the train phrases? , You can have 2000 training phrases per intent.
Session entities not recognized in Dialogflow training phrases
hop of those help? It looks like it really was a dialogflow bug, not a flaw in my code. After a couple of week, Support guys from Google replied me telling that the issue has been resolved. I've run again tests with no modification on code at all, and now it works.
Dialogflow matches irrelevant phrases to existing intents
Does that help Try playing around with ML CLASSIFICATION THRESHOLD in your agent settings (Settings > ML Settings). By default it comes with a very low score (0.2), which is a little aggressive.
"resolvedQuery": "Which city does he live at?",
"speech": "Your uncle is living in New York",
"speech": "Your uncle is living in New York"