I think they are saying that if highest probability phrase fails the regex, the LLM is able to substitute the next most likely candidate.
e.g. DOMINO https://arxiv.org/html/2403.06988v1
In slack/teams I do it with anything someone might copy and paste to ensure that the chat client doesn't do something horrendous like replace my ascii double quotes with the fancy unicode ones that cause syntax errors.
In readme files any example path, code, yaml, or json is wrapped in code quotes.
In my personal (text file) notes I also use ``` {} ``` to denote a code block I'd like to remember, just out of habit from the other two above.
Would you like to elaborate further on how the experience was with it? What was your approach for using it? How did you generate synthetic data? How did it perform?
I got this format from writing markdown files, it’s a nice way to share examples and also specify which format it is.
It also helps with having a field of the json be the confidence or a similar pattern to act as a cut for what response is accepted.
This is maybe more maybe less insidious. It will literally just insert a random character into the middle of a word.
I work with an app that supports 120+ languages though. I give the LLM translations, transliterations, grammar features etc and ask it to explain it in plain English. So it’s constantly switching between multiple real, and sometimes fake (transliterations) languages. I don’t think most users would experience this