This application could still be improved so that Pepper can answer even more questions about that little table of monsters, for example:
Many more criteria could be taken into account: horn color, number of legs, presence of a tail … the list is almost endless, as long as it’s represented in the data.
When answering questions, Pepper currently refers to monsters in a generic way (“such monsters”), but could say something more specific like “there are no red monsters with two eyes” or “here are the monsters with three eyes”.
This could be made even more specific, in that if there is a criteria that is not matched, it could be specifically highlighted: “Show me the red monsters with five eyes and horns” - “Sorry, none of the monsters have five eyes.”
When asking to be shown a monster, if there are several candidates, instead of picking one at random, Pepper could ask more questions - “Show me a monster with three eyes” “Which color?”
Pepper could handle queries that refer to the previous one, for example “Show me a blue monster” “OK, now show me all of them”, or “Show me the red monsters” “How many of them have blue eyes?” “2”
Pepper could handle queries about the most / the least - “Show me the flying monster with the most eyes”
But the principles here can also be applied to make Pepper talk about way more topics - topics that can make Pepper useful in many business or education use cases.