I wanted to write a program for asking questions about weather. What are the algorithms and techniques I should start looking at.

ex: Will it be sunny this weekend in Chicago. I wanted to know the intent = weather query, date = this weekend, location = chicago.

User can express the same query in many forms.

I would like to solve some constrained form and looking for ideas on how to get started. The solution needs to be just good enough.

Edit
Report