За последние несколько лет исследования в области генерации текстов естественного языка (Natural Language Generation, NLG), используемой для таких задач, как суммаризация текста, достигли огромного прогресса. Однако несмотря на то, что удалось достичь достаточно высокого уровня беглости речи, нейросетевые системы могут быть склонны к своего рода «галлюцинациям» (т.е. созданию текста, понятного по смыслу, но не соответствующего содержанию источника). Этот факт может препятствовать использованию этих систем во многих приложениях, требующих высокой точности. Рассмотрим пример из набора данных Wikibio, где базовая нейросетевая модель должна суммаризировать текст из информационной карточки бельгийского футболиста Константа Вандена Стока в Википедии. Видно, что модель неверно заключает, что Констант — американский фигурист.  Поскольку процесс оценки соответствия сгенерированного текста содержанию исходного является нетривиальной задачей, зачастую проще её рассматривать для структурированных исходных текстов (представленных, например, в табличном формате). Более того, структурированные данные помогают также проверить способность модели к обоснованному суждению и правильной числовой интерпретации. Однако существующие большие структурированные наборы данных зачастую имеют много шума (когда значение целевого предложения не может быть полностью выведено из данных таблицы), а это делает их ненадежными для оценки количества «галлюцинаций» при разработке модели. В статье «ToTTo: A Controlled Table-To-Text Generation Dataset» авторы представили набор данных для генерации текста из таблицы в широкой предметной области, созданный с использованием нового процесса разметки (посредством проверки предложения), а также сформулировали задачу управляемой генерации текста, которая может использоваться для оценки «галлюцинации» моделей. ToTTo (сокращение от «Table-To-Text») состоит из 121000 обучающих примеров, а также 7500 примеров для разработки и тестирования. Благодаря точной разметке этот набор данных подходит в качестве теста для исследований в области высокоточной генерации текста. Набор данных и исходный код выложены в общий доступ в репозитории авторов на GitHub. ToTTo представляет задачу управляемой генерации, где заданная таблица Википедии с набором выбранных ячеек используется в качестве исходного материала для задачи создания предложения-описания, которое суммирует содержимое ячеек в контексте таблицы. В приведенном ниже примере демонстрируются некоторые из проблем, возникающих в связи с этой задачей, такие как интерпретация чисел (numerical reasoning), большой словарь широкой предметной области и разнообразие табличных структур.  Пример из набора данных ToTTo, где для исходной таблицы и набора выделенных ячеек (слева) необходимо создать описание из одного предложения, такого как «целевое предложение» (target sentence)(справа). Отметим, что генерация целевого предложения потребует числовой интерпретации (одиннадцать сезонов NFL) и понимания предметной области NFL. Разработка процесса разметки для получения естественных, но в то же время чистых целевых предложений из табличных данных – большой вызов для разработчиков. Многие наборы данных, такие как Wikibio и RotoWire, эвристически сочетают естественный текст с таблицами, что затрудняет определение того, вызвана ли «галлюцинация», в первую очередь, шумными данными или недостатками модели. С другой стороны, можно вызвать разметчиков для написания предложений, соответствующих таблице, с нуля, но в этом случае конечным объектам может не хватать разнообразия с точки зрения структуры и стиля. Напротив, ToTTo создается с использованием новой стратегии разметки данных, в которой разметчики поэтапно пересматривают существующие предложения Википедии. В результате получаются чистые и естественные целевые предложения, имеющие интересные и разнообразные лингвистические характеристики. Процесс сбора данных и разметки начинается со сбора таблиц из Википедии, где данная таблица объединяется с итоговым предложением, собранным из вспомогательного контекста страницы в соответствии с такими эвристиками, как совпадение слов в тексте страницы и таблице, а также использование гиперссылок, ссылающихся на табличные данные. Это итоговое предложение может содержать информацию, отсутствующую в таблице, и может содержать местоимения, антецеденты которого находятся только в таблице, а не в самом предложении. Затем разметчики выделяют ячейки в таблице, которые поддерживают предложение, и удаляют фразы в предложении, которые не поддерживаются таблицей. Они также деконтекстуализируют предложение, чтобы оно было автономным (например, с правильным разрешением местоимения) и, где необходимо, исправляют грамматику.  Авторы отмечают высокий уровень согласованности разметчиков в описанной задаче: 0.856 Fleiss Kappa для выделения ячеек и 67.0 BLEU для окончательного целевого предложения. Авторы провели тематический анализ набора данных ToTTo по 44 категориям и обнаружили, что темы «Спорт» и «Страны», каждая из которых состоит из ряда детализированных тем (например, футбол/Олимпийские игры для спорта и население/здания для стран), вместе составляют 56.4% набора данных. Остальные 44% составляет гораздо более широкий набор тем, включая исполнительское искусство, транспорт и развлечения.  Кроме того, авторами был проведен ручной анализ различных типов языковых явлений в более 100 случайно выбранных примеров из набора данных. Таблица ниже описывает долю примеров, требующих соотнесения с заголовками страниц и разделов, а также некоторые явления в наборе данных, которые потенциально создают новые проблемы для существующих систем. Авторы представляют некоторые базовые результаты трех наилучших моделей из современных исследований (BERT-to-BERT, Pointer Generator и модель Puduppully 2019 model) на основе двух метрик, BLEU и PARENT. Помимо представления результатов по общему тестовому набору данных, авторы также оценивают каждую модель на более сложном поднаборе, состоящем из примеров, не относящихся к предметной области. Как показано в таблице ниже, модель BERT-to-BERT работает лучше всего с точки зрения как BLEU, так и PARENT. Однако все модели показывают значительно более скромные результаты на сложном поднаборе, что указывает на проблему генерализации моделей для текстов вне заданной предметной области. Хотя автоматические метрики могут дать некоторое представление о качестве, в настоящее время их недостаточно для оценки «галлюцинаций» в системах генерации текста. Чтобы лучше понять «галлюцинации», авторы вручную оценили, насколько сгенерированный наилучшей базовой моделью текст соответствует содержанию исходной таблицы, предположив, что расхождения в содержании указывают на «галлюцинацию». Для «экспертной» оценки в каждом из примеров тестового набора данных было выделено по одному целевому предложению, которые были предложены разметчикам для сравнения с другими предложениями на предмет их достоверности. Как показывают результаты, наилучшая модель генерирует «галлюцинации» примерно в 20% случаев. В таблице ниже авторы представляют выборку наблюдаемых ошибок модели, чтобы выделить некоторые из наиболее сложных аспектов набора данных ToTTo. Авторы обнаружили, что современные модели не всегда справляются с «галлюцинациями», числовыми интерпретациями и редкими темами даже при использовании незашумленного набора данных (ошибки отмечены красным). Последний пример показывает, что даже если выходные данные модели верны, они иногда не так информативны, как целевой пример, который содержит большее осмысление содержания таблицы (показано синим цветом).  В данной статье авторы представили ToTTo, большой набор данных на английском языке для генерации текста из таблицы, который включает в себя постановку задачи управляемой генерации, а также разметку данных, основанную на итеративной проверке предложений. Авторы предложили несколько современных базовых моделей, продемонстрировав пользу набора данных ToTTo для задач моделирования, а также для разработки метрик, которые могут лучше определять повышение качества модели. В дополнение к предложенной задаче, авторы выражают надежду, что набор данных может быть полезен и для других задач, таких как понимание таблиц (table understanding) и редактирование предложений (sentence revision). ToTTo доступен в репозитории на GitHub. ML Engineer