Dialogue management and turn-taking automation in a speech-based conversational agent