Remember this is conversation and so you cannot stop a user from saying anything.
But what you can do, and just like human to human conversation, is steer the conversation by the bot’s responses. If you ask closed questions about a specific topic then the user is more likely to respond with something related. If you ask open or vague questions then you are inviting the user to fill in the gaps and say something unexpected.
One related scenario is generating different responses for the same basic user utterance when in different scenarios. In this case it is possible to have the same alternate question in the KG, but have different context tags as a precondition.
Alternatively the initial identification could by via KG, but you start a dialog flow instead. A dialog will give you a lot more control over the subsequent conversation.