user
Create a program that parses natural language and provides an appropriate response.

assistant
The program should contain the following sections: 

1. Generate a set of rules for extracting keywords from a sentence. 
2. Analyze the sentence using natural language processing techniques to identify the intent of the statement. 
3. Use keyword matching and rules to identify the subject matter of the statement. 
4. Utilize an API or other existing software components to build the response.
5. Provide an appropriate response based on the information extracted.
6. Help the user refine their input if the initial response doesn't provide accurate information.