Response Generation For An Open-Ended Conversational Agent