Basic interaction:

You ask a question.
You get a response.

Ask a question.

Keep state about the conversation.
Try to detect the person's mood with respect to some other person.
like, dislike, need, avoid ...
Questions should be tailored to that.
e.g. put into the emotional state vector (see zoo.py) something
about the person, e.g. person doesn't like Johnny.
If the last question has something to do with Johnny, then you can
ask something like "when did you start disliking Johnny?"
Want the conversation to move forward.

General control structure can be a big while loop as in the ten question
assignment
where you tell the patient that if he/she wants to stop, then he/she should
answer a question with stop.
while(answer!="stop"):

For using the state, you might do something like:
pick out proper nouns (capitalized)
see which ones are already in your state and what you can do with them.
Also pick out interesting nouns, e.g. family relationships, friendship,
lovers, teachers.

Nov. 2: first version of your program that you will then test. 
