AI to recognize keyword in a phrase within a context
Here is a glimpse for you.

I once contributed to an open source project via Github, and the open source artificial intelligence library/API which helped a lot and I think will as well help you out is wit, it provides location data.

And the good thing about "wit", is it provides wit_location entity which provides information on the captured location for instance "time-zone, locality, region / location"

For example: in sentence "How far is Russia?", it captures "far" as the distance to the target location entity before this returns 

{"value":"location_name",Russia"}


In the entity value. (don't forget)

To further improve the quality and search engine racking to return values in future, that's if your project goes well, you can simply provide an optimal "coords" map in context when calling the "wit-API"

This will also help you to factor into your search engine racking of your returned values, which will as well take the location's proximity to the "coords" into  account.

Hope this can give you some insights.