I’m working on a chatbot where the dialogue can get repetitive. We have a repetitiveness detector that works well, but the problem is what to do after repetitiveness has been detected. For example here is a common dialogue:
Eve: hey how are you?
User: good how are you?
Eve: I’m doing well and you?
Here we would detect the last statement as repetitive. We try to regenerate multiple answers using higher temperature, presence, and frequency penalties and it still continues to ask how the User is doing again. Any suggestions?
Is this a standard prompt or finetuned model?
Based on the paper on GPT-3, repetition seems to be one of the main problems with text synthesis: [2005.14165] Language Models are Few-Shot Learners (page 33)
However, this seems to be a habit in human chat in general. What I’ve learned is to train it a little better. Don’t use real world data. Use some kind of ideal conversation. Perhaps search for a movie script and conversation; I’d recommend David Mamet.
In the prompt, you may want to avoid prompts like “Eve is a friendly conversational bot” or “Eve is a regular teenager”. Try something wacky like “Eve is a salesperson who carries on conversations like her bonus depends on it.”
It’s standard… We found that when we fine-tuned it became less creative.
You likely need better instructions for the chatbot. Do you have a clear vision for this chatbot? Also, you can preserve creativity if you do finetuning correctly since a chatbot doesn’t require too terribly much. Check out my videos on finetuning chatbots. I’d link them but I’m on mobile.
Try changing the prompt a couple of ideas are Unique response, Put foward questions, Follow up response, Change subject___ etc. Are things that worked for me.
Have you tried a one-shot prompt that is both an extensive conversation, and not repetitive? I would consider using that to create a bunch of synthetic dialogue, then taking the dialogue and fine tuning a model