Недавно Facebook Research опубликовали статью про нового чатбота. Вот их блогпост:
https://ai.facebook.com/blog/state-of-the-art-open-source-chatbot/. Если у вас нет времени или большого интереса, почитайте его. Если время и интерес есть, почитайте и их большую статью. Она длинная, но затрагивает много вещей, важных для понимания текущего состояния чатботов и NLP в целом. В частности:
1. Размеры моделей продолжают расти. Фейсбучная модель втрое жирнее, чем гугловская Meena (предыдущая SOTA); в ней уже почти 10 миллиардов параметров. Хотя по качеству этот гигант вроде не сильно лучше, чем втрое меньшая модель.
2. Разработчики сблендили несколько подходов к генерации диалоговых ответов и несколько разных датасетов, сфокусированных на диалоговых навыках. Получилась кракозябра, работающая ожидаемо лучше, чем более узкоспециализированые модельки.
3. Для генерации ответов использовали (А) retrieval-модельку, выбирающую ответ, наиболее подходящий под контекст, из готового набора ответов. (Б) классический seq2seq трансформер, генерирующую ответ слово-за-словом, глядя на контекст и готовый префикс ответа. (В) их гибрид, так же генерирующий ответ слово-за-словом, но но глядя так же на ответ, предложенный retrieval-моделью, или на подтянутый по ключевым словам абзац из Википедии.
4. Файн-тюнили модели на трёх датасетах: ConvAI2 (диалоги, где участники общались с учётом описания приписанного им персонажа), Empathetic Dialogues (где один участник описывал свою ситуацию, а другой эмпатично активно слушал), и Wizard of Wikipedia (где обсуждение строилось вокруг релевантного абзаца из Википедии). Разнообразные задачи - разнообразное и поведение получившегося бота.
5. Разные боты друг с другом сравнивались ассессорами side-by-side. Это не настолько секси, как более явные числовые метрики по отдельно взятому диалогу, зато, возможно, результат получается менее шумным.
6. Если оценивать диалоги бота с ботом, то модель с поиском по готовым ответам работает лучше, чем модель с генерацией ответов пословно. А если оценивать диалоги бота с человеком, то наоборот. Из этого следует как минимум то, что бот общается с ботом как-то существенно иначе, чем человек. И ещё, что retrieval подход сдаёт свои позиции довольно медленно.
7. При генерации ответов дофига важно ограничивать пространство возможных реплик. В частности, не допускать слишком коротких ответов или ответов с повторяющимися словами. В результате применения этих простых фильтров качество растёт прям существенно. В ходе своих экспериментов товарищи из фейсбука применяли разные фильтры, и, возможно, непонятные результаты из предыдущего пункта объясняются именно этим.