Keyword not found recommendations

For issue #888.
Why are these extra characters normalized? Now that I think of this, we would probably be fine with just `.lower()` instead of `utils.normalize()`.