LIMUR — русскоязычный датасет для оценки разрешения референции, понимания синтаксической неоднозначности и устойчивости к текстам с нестандартной, но грамматически интерпретируемой лексикой. Датасет состоит из двух типов заданий. Первый тип опирается на постановку Russian Winograd Schema Dataset и проверяет навык разрешения референции в стиле Winograd Schema. Второй тип проверяет способность восстанавливать смысл по грамматическим, словообразовательным и контекстным сигналам независимо от привычных лексических значений слов. Пример такой постановки — известная фраза академика Л. В. Щербы «Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка».
В примерах на вход модели подаются текстовый контекст, вопрос и варианты ответа. В заданиях типа дополнительно подается референс, который нужно соотнести с одним из вариантов; в заданиях типа rwsd требуется выбрать вариант, правильно отвечающий на вопрос по контексту.
kusdra
Проверяемые навыки: Russian language proficiency, Coreference resolution, Syntactic ambiguity resolution, Lexical ambiguity resolution, Morphological reasoning, Contextual reasoning.
Авторы: Денис Шевелев, Александр Харитонов, Александр Астафуров
Классическая RWSD проверяет, может ли модель разрешать неоднозначность референции в коротких русскоязычных текстах, используя синтаксис, логику и знания о мире. Новый датасет использует эту идею как одну из опор и добавляет задания с потенциальными словами русского языка и искусственными или частично искусственными текстами, где привычная словарная семантика не является надежной опорой.
Такая постановка нужна для проверки того, действительно ли модель рассуждает о связях между участниками и событиями, а не воспроизводит поверхностные лексические шаблоны. Для ответа требуется объединять несколько сигналов: грамматическую структуру, морфологические признаки, словообразовательные модели и локальный контекст. В текстах типа «Сяпала калуша по напушке...» или «Глокая куздра» несуществующие слова не являются случайным набором символов: их окончания, суффиксы, приставки и синтаксические позиции несут грамматическую информацию. Человек может извлечь из них часть смысла, даже если не знает лексического значения корня. Для языковой модели это целевой тест на рассуждение в условиях неполной лексической информации: переписывание или нормализация таких текстов может уничтожить именно те признаки, по которым задача решается.
Датасет предназначен для оценки способности русскоязычных текстовых моделей устанавливать соотношение описываемых в предложении референтов и восстанавливать смысл сказанного при недостатке или неполноте информации в контексте (отсутствие значимых корней в словах, неразрешённая кореференция, нетипичное членение предложения, языковые игры по типу ошибок-ослышек и так далее). Датасет не оценивает общую грамотность, стремление к безопасности диалога или полноту фактических знаний. Результаты следует интерпретировать как оценку контролируемого выбора ответа в задачах на референцию и контекстное понимание, а не как полную оценку открытого рассуждения на псевдословах. В части некоторые тексты намеренно содержат нестандартные слова, окказионализмы и языковую игру; низкий результат может отражать как слабость морфологического анализа, так и неустойчивость модели к непривычному языковому материалу.
kusdra
Датасет содержит 423 примера:
| task_type | Тип задания | Кол-во | Доля |
|---|---|---|---|
| rwsd | Разрешение референции в обычных русскоязычных контекстах | 211 | 49.9% |
| kusdra | Вопросы по текстам с нестандартной лексикой и языковой игрой | 212 | 50.1% |
Распределение по типу контекста:
| context_type | Кол-во |
|---|---|
| текст | 315 |
| диалог | 108 |
Количество вариантов ответа варьируется от 4 до 9. В поле содержатся плейсхолдеры только для непустых вариантов: блок «Варианты ответа» включает ровно столько строк, сколько непустых полей instruction есть в конкретном примере. В блоке «Формат ответа» явно указано, что буквами ответа могут являться только заглавные буквы русского алфавита из списка (А, Б, В, Г, Д, Е, Ё, Ж, З); в каждом примере в этом списке перечислены ровно те буквы, которые соответствуют непустым вариантам.
option_*
Каждый пример в датасете содержит следующие поля:
instruction [str] — строка с формулировкой задания для языковой модели.inputs — входные данные, формирующие задание:question [str] — вопрос к контексту;context [str] — текст, диалог или фрагмент с исходной ситуацией;reference [str] — референс, который нужно соотнести с вариантом ответа в заданиях типа rwsd; в заданиях типа kusdra поле не используется и в текущих данных заполнено плейсхолдером ‘-‘;
option_a [str] — вариант ответа А;option_b [str] — вариант ответа Б;option_c [str] — вариант ответа В;option_d [str] — вариант ответа Г;option_e [str] — вариант ответа Д;option_f [str] — вариант ответа Е;option_g [str] — вариант ответа Ё;option_h [str] — вариант ответа Ж;option_i [str] — вариант ответа З;outputs [str] — правильный ответ: одна буква из множества А, Б, В, Г, Д, Е, Ё, Ж, З.
meta — метаданные:id[int] — номер примера;task_type [str] — тип задания: rwsd или kusdra;
context_type [str] — тип контекста: текст или диалог.
{
"instruction": "Задача:\nПо контексту и референсу нужно определить, к каким вариантам относится референс.\n\nРеференс может указывать как на отдельное слово, так и на того, кто выполняет действие. В последнем случае нужно определить, какое из существительных имеется в виду.\n\nКонтекст:\n{context}\n\nРеференс:\n{reference}\n\nФормат ответа:\nВерните результат в формате\n\nОтвет: <буква>\n\nБуквами ответа могут являться только заглавные буквы русского алфавита из списка (А, Б, В, Г, Д, Е, Ё).\n\nВопрос:\n{question}\n\nВарианты ответа:\nА. {option_a}\nБ. {option_b}\nВ. {option_c}\nГ. {option_d}\nД. {option_e}\nЕ. {option_f}\nЁ. {option_g}\n",
"inputs": {
"question": "К какому из предложенных вариантов ответа относится слово референс в данном контексте?",
"context": "Дни летели за днями, птицы за птицами, депеши за депешами, а самолёты Аркадия Петровича Авастюрова никак не желали подниматься с полей в небеса, и всёшеньки! Они понуро жались к стерне и что-то надрывно бурчали про себя время от времени, но и только.",
"reference": "они",
"option_a": "дни",
"option_b": "птицы",
"option_c": "депеши",
"option_d": "самолёты",
"option_e": "полей",
"option_f": "небеса",
"option_g": "всёшеньки",
"option_h": "",
"option_i": ""
},
"outputs": "Г",
"meta": {
"id": 426,
"context_type": "текст",
"task_type": "rwsd"
}
}
{
"instruction": "Внимательно прочитай текст и определи ответ.\n\nЗадача:\nОтветь на вопрос по тексту и выбери правильный вариант.\n\nТекст:\n{context}\n\nФормат ответа:\nВыведи только\n\nОтвет: <буква>\n\nБуквами ответа могут являться только заглавные буквы русского алфавита из списка (А, Б, В, Г).\n\nВопрос:\n{question}\n\nВарианты ответа:\nА. {option_a}\nБ. {option_b}\nВ. {option_c}\nГ. {option_d}\n",
"inputs": {
"question": "Сколько пасиков в пусике?",
"context": "241. Мряка крючит на пасики и лениво друсит пусики на тасики, которые являются конечной и единственной величиной любой друськи пусиков. На друську одного пусика Мряка тратит полдолгика. Сколько долгиков истратит Мряка на друську восьми пусиков?",
"reference": "‘-‘",
"option_a": "Три",
"option_b": "Два",
"option_c": "Нисколько",
"option_d": "Невозможно определить",
"option_e": "",
"option_f": "",
"option_g": "",
"option_h": "",
"option_i": ""
},
"outputs": "В",
"meta": {
"id": 429,
"context_type": "текст",
"task_type": "kusdra"
}
}
Для задачи подготовлены 10 промптов: 5 промптов для типа и 5 промптов для типа rwsd. Промпты распределены равномерно по примерам внутри каждого типа задания и оформлены в формате SAP: в них явно разделены постановка задачи, контекст, референс или вопрос, формат ответа и варианты ответа. Для каждого примера промпт адаптируется под число непустых вариантов ответа. Все промпты требуют вернуть строку вида kusdra, где буква выбирается из доступных вариантов. В каждом шаблоне промпта обращение к модели согласовано по стилю (на «ты» или на «вы»).
Ответ: <буква>
Датасет создан на основе двух близких лингвистических постановок. Первая группа состоит из оригинальных примеров на разрешение референции, составленных авторами датасета по схеме Winograd Schema: в тексте есть неоднозначный референс, который нужно соотнести с одним из кандидатов. Вторая группа состоит из оригинальных вопросов и заданий к ряду известных в Сети текстов, вдохновлённых игровыми языковыми задачами типа «Глокая куздра»: в них грамматическая структура и словообразовательные признаки позволяют извлекать смысл даже при отсутствии обычной словарной семантики.
Основные использованные литературные и учебные источники: фраза «Глокая куздра...» академика Л. В. Щербы; «Пуськи бятые» Людмилы Петрушевской; стихотворение Льюиса Кэрролла «Jabberwocky» в русских переводах и переложениях, включая «Бармаглота» Дины Орловской, «Убещура» Д. Манина, «Тарбормошки» А. Щербакова и «Змеегрыча» Леонида Яхнина; стихотворения Велимира Хлебникова «Заклятие смехом», «Сияющая вольза...», «Немь лукает луком немным...», «И я свирел в свою свирель...» и пролог «Чернотворские вестучки»; стихотворения Владимира Маяковского «Ночь» и «А вы могли бы?»; учебное пособие Григория Остера «Физика. Ненаглядное пособие». Формулировки вопросов и варианты ответов подготовлены авторами датасета; генеративные модели при создании данных не использовались.
При подготовке промптов была сохранена единая форма ответа, чтобы оценка не зависела от генерации длинных объяснений. Для каждого примера варианты ответа перечислены явно.
Для агрегированной оценки ответов моделей используются следующие метрики:
Ответ:. Значение находится в диапазоне от 0 до 1: 0 означает отсутствие точных совпадений, 1 — совпадение во всех примерах.1; частично правильный или неполный ответ, содержащий существенную часть правильного ответа, получает 0.5; неправильный, противоречивый или не содержащий правильного ответа получает 0. Итоговое значение метрики равно среднему баллу по всем примерам.