Most conversational datasets are collections of single exchanges: a question, a good answer. Train on them and the model handles one turn well and loses the plot on the fourth.
Turns are the pixels of a conversation. The thing to learn from is the state that carries between them.
What carries between turns
- What the user has already said, including what they corrected
- What the assistant has committed to
- What is still unknown and needs asking
- What the user has implicitly accepted
A model that cannot represent these will re-ask, contradict itself, and forget a constraint three turns after being given it.
Collect the constraint, not the sentence
If a user says "no shellfish" in turn two, the useful label is not that sentence but the constraint it created, and whether it held through turn eight.
Annotating constraints and their survival is tedious and it is the part that changes behavior.
Repairs are the richest turns
When a user says "no, I meant the other one", the conversation contains a failure and its correction. That pair is worth many clean exchanges.
Keep the failed turn. Deleting it produces a model that has never been corrected.
Score the conversation, not the reply
Evaluate whether the goal was reached, whether constraints held, and how many turns it took. A good answer inside a bad conversation is still a bad conversation.
Zovda builds these sets through Datuva, where each conversation keeps its goal and its constraint list. The question bank collection shows how multi-step answers are structured.
Tell us what a good conversation means in your product. We reply within one business day.
