State-of-the-art Approaches to Building Open-Domain Conversational Agents