3,583 papers
arXiv:2510.01391 83 1 окт. 2025 г. FREE

TAG-EQA: граф событий для вопросов о причинности

КЛЮЧЕВАЯ СУТЬ
Обнаружено: LLM теряют причинно-следственные цепочки когда между событиями больше 2 шагов. Модель видит слова, но не видит логику "А запустило Б → Б привело к В → но Г заблокировало Д". TAG-EQA позволяет разбираться в сложных цепочках событий – кто на кого повлиял, что заблокировало что, где скрыта причина провала. Метод превращает связи в простые утверждения: "Событие А разрешает Б", "В блокирует Г". Вместо того чтобы модель сама искала связи в тексте, вы даёте готовую карту зависимостей – точность +5-18% на вопросах про причинность.
Адаптировать под запрос

TL;DR

TAG-EQA — метод промптинга, который превращает связи между событиями в текстовые утверждения и добавляет их в промпт. Вместо того чтобы модель сама искала как события влияют друг на друга, вы явно говорите: "Событие А разрешает событие Б", "Событие В блокирует событие Г". Модель получает готовую карту зависимостей и рассуждает по ней.

Модели плохо видят скрытые причинно-следственные цепочки в тексте. Они цепляются за поверхностные совпадения слов и пропускают логику "А запустило Б, Б привело к В, но Г заблокировало Д". Особенно сложно когда нужно пройти через 3-4 шага: музыкальный фестиваль → привлёк толпу → толпа собралась → но полиция заблокировала митинг. Без явной карты модель теряет нить.

Метод работает в три входа: только текст, только граф связей, или текст + граф вместе. Граф — это список простых предложений: "организаторы объявили" разрешает "люди собрались", "полиция выехала" блокирует "митинг прошёл". В CoT-режиме модель ещё показывает рассуждения пошагово. Точность поднимается на 5-18% по сравнению с обычным текстом — особенно для вопросов про причинность и время.


🔬

Схема метода

ВХОД: Текст + Вопрос о событиях

ПОСТРОИТЬ ГРАФ (вручную или попросить модель):
→ Список событий из текста
→ Связи между ними: "А разрешает Б" или "В блокирует Г"

ПРОМПТ = [Инструкция] + [Текст] + [Граф словами] + [Вопрос]

Опционально: добавить примеры (Few-shot) или попросить рассуждения (CoT)

Всё выполняется в одном запросе. Граф пишется обычными предложениями, никакого кода.


🚀

Пример применения

⚠️ Метод работает лучше всего для: вопросов про причинность, временные зависимости, цепочки событий. Не подходит: для простых фактов, мнений, субъективных оценок.

Задача: Разобраться влияли ли действия Wildberries на провал запуска нового конкурента на рынке маркетплейсов.

Контекст: В марте Ozon запустил агрессивную рекламную кампанию. Wildberries в ответ снизил комиссию для продавцов. Продавцы массово остались на WB. Новый маркетплейс YaBazar объявил о запуске в апреле. В это же время WB запустил бонусную программу лояльности. Продавцы, которые планировали попробовать YaBazar, остались на WB из-за бонусов. YaBazar провалил старт.

Вопрос: Заблокировали ли действия Wildberries успешный запуск YaBazar?

Промпт:

Проанализируй последовательность событий и ответь на вопрос.

ТЕКСТ:
В марте 2024 Ozon запустил агрессивную рекламную кампанию по привлечению продавцов. 
Wildberries в ответ снизил комиссию для продавцов с 5% до 3%. 
Продавцы массово остались на Wildberries. 
Новый маркетплейс YaBazar объявил о запуске в апреле. 
В это же время Wildberries запустил программу кэшбэка для продавцов — 10% на первые продажи.
Многие продавцы, которые собирались попробовать YaBazar, остались на WB из-за выгодных условий.
YaBazar запустился с пустыми витринами и провалил старт.

ГРАФ СОБЫТИЙ:
- "Ozon запустил рекламу" разрешает "привлечение продавцов на Ozon"
- "WB снизил комиссию" блокирует "уход продавцов на Ozon"
- "Продавцы остались на WB" блокирует "переход на Ozon"
- "YaBazar объявил запуск" разрешает "интерес продавцов к YaBazar"
- "WB запустил кэшбэк" блокирует "переход продавцов на YaBazar"
- "Продавцы остались на WB" блокирует "старт YaBazar с продавцами"
- "YaBazar без продавцов" разрешает "провал запуска"

ВОПРОС:
Заблокировали ли действия Wildberries успешный запуск YaBazar?

Объясни пошагово, используя граф событий.

Результат: Модель покажет цепочку рассуждений: как кэшбэк WB заблокировал переход продавцов → как отсутствие продавцов привело к провалу → какую роль сыграли действия WB в этой цепи. В финале — чёткий ответ "да" или "нет" с обоснованием через граф.


🧠

Почему это работает

Модели не видят неявные причинно-следственные связи в потоке текста. Они хорошо находят прямые упоминания ("Х привело к Y"), но теряются когда нужно пройти цепочку: А → Б → В → Г. Особенно если между событиями 2-3 абзаца или связь выражена косвенно.

Модели отлично следуют явным инструкциям. Когда вы прописываете "Событие 1 разрешает Событие 2" — это снимает неопределённость. Вместо догадок модель работает по чёткой карте: вот барьеры, вот катализаторы, вот что от чего зависит.

TAG-EQA переводит структуру в слова: граф становится списком простых предложений. Модель обрабатывает их как часть контекста, без спецсинтаксиса. Когда это сочетается с CoT (пошаговым рассуждением), модель проговаривает логику вслух — проходит по графу, объясняет почему событие произошло или нет.

Рычаги управления:

  • Тип связей — можешь добавить свои типы: "усиливает", "отменяет", "ускоряет"
  • Глубина графа — сколько шагов описывать. Для простых задач хватит 3-5 связей, для сложных можно 10-15
  • Формат вывода — в CoT попроси "объясни пошагово" или "просто ответь". Если хочешь видеть рассуждения — оставь CoT, если только ответ — убери
  • Детализация событий — можно дробить крупные события на подсобытия: "запустил рекламу" → "создал креативы", "купил показы", "привлёк трафик"

📋

Шаблон промпта

Проанализируй последовательность событий и ответь на вопрос.

ТЕКСТ:
{текст_с_описанием_ситуации}

ГРАФ СОБЫТИЙ:
{список_связей_между_событиями}
- "Событие А" разрешает "Событие Б"
- "Событие В" блокирует "Событие Г"
...

ВОПРОС:
{вопрос_о_событиях}

Объясни пошагово, используя граф событий.

Что подставлять:

  • {текст_с_описанием_ситуации} — исходное описание ситуации с событиями
  • {список_связей_между_событиями} — как события влияют друг на друга. Пиши: "разрешает" (одно позволяет другому), "блокирует" (одно мешает другому)
  • {вопрос_о_событиях} — что хочешь узнать про последовательность или причинность

🚀 Быстрый старт — вставь в чат:

Вот шаблон TAG-EQA для анализа событий. Адаптируй под мою задачу: [твоя ситуация]. 
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

Модель спросит какие события есть в ситуации, как они связаны, и что ты хочешь узнать — потому что для построения графа нужно понять структуру зависимостей. Она возьмёт паттерн "разрешает/блокирует" и адаптирует под твою задачу.


⚠️

Ограничения

⚠️ Нужен готовый граф: Метод работает когда у тебя УЖЕ есть список связей. Если события сложные или их много, построение графа вручную — это работа. Можно попросить модель построить граф сначала, но это добавляет шаг.

⚠️ Не для субъективных вопросов: Метод решает задачи про логику и последовательность. Для мнений, оценок креатива, эмоциональных реакций — не подходит.

⚠️ Качество = качество графа: Если пропустишь важную связь или неправильно укажешь "разрешает/блокирует" — модель пойдёт по неправильному пути. Граф нужно строить внимательно.

⚠️ Перегрузка контекста: Когда событий 20-30, список связей раздувает промпт. Модель может потеряться или упустить детали. Для сложных сценариев лучше дробить на части.


🔍

Как исследовали

Команда взяла TORQUESTRA — датасет с короткими текстами про события, вопросами "да/нет" и готовыми графами причинности, размеченными людьми. Каждый граф показывает какие события что разрешают или блокируют. Это дало чистую структуру без шума.

Проверили 9 конфигураций: три стратегии (Zero-shot, Few-shot, CoT) × три входа (только текст, только граф, текст+граф). Тестировали на T5-XXL (11B), Qwen-32B и GPT-3.5/4o. Полный датасет — 477 тысяч примеров, маленький срез — 1024 для экономии токенов с GPT.

Результаты показали: граф + CoT дают максимум для моделей типа Qwen (+18% к точности). T5 лучше работал с примерами, но без графа. GPT показал скромные улучшения — модель слабо реагировала на структуру.

Самое интересное: вопросы разбили на 13 типов — причинность, время, гипотезы, факты. Граф особенно помог для цепочек ("А привело к Б, Б к В"), временных зависимостей ("было ли Х во время Y?"), контрфактуалов ("если бы не А, то Б?"). Для простых фактов ("где произошло?") граф не дал преимущества.

Важная оговорка: Цифры показывают верхнюю границу эффекта, потому что графы были идеальные, размеченные людьми. В реальности граф нужно строить самому или попросить модель — и там будут ошибки.


📄

Оригинал из исследования

Авторы использовали простой формат для графа — каждая связь отдельным предложением:

### Graph ###
The event "riot police deployed" blocks the event "protest rally".
The event "political opposition" enables the event "political opposition called rally".
The event "political opposition called rally" enables the event "protest rally".
The event "music" enables the event "draws many people to festival".
The event "dancing" enables the event "draws many people to festival".
The event "speeches" enables the event "draws many people to festival".

### Question ###
Did "gathered" happen while the organizers made a statement?

Это дословный пример из статьи — формат максимально простой. События в кавычках, связь словом "enables" или "blocks". Никаких спецсимволов.

Контекст: Исследователи тестировали как модель ответит на вопрос про одновременность событий, имея граф зависимостей. Модель должна была пройти цепочку: музыка → привлекла толпу → люди собрались, и проверить не заблокировала ли полиция митинг в это время.


💡

Адаптации и экстраполяции

📌

💡 Адаптация для планирования проектов

Метод работает для зависимостей в проектах — когда одна задача разрешает другую или блокирует:

Проанализируй план запуска продукта и ответь готов ли запуск к 1 апреля.

ГРАФ ЗАДАЧ:
- "Дизайн утверждён" разрешает "Разработка интерфейса"
- "Интерфейс готов" разрешает "Тестирование"
- "Баг в оплате не исправлен" блокирует "Публичный запуск"
- "Маркетинг запущен" разрешает "Привлечение трафика"
- "Нет трафика" блокирует "Продажи в первый день"

Текущая дата: 25 марта. Баг в оплате ещё в работе.

ВОПРОС: Сможем ли мы запуститься 1 апреля с продажами в первый день?

Объясни пошагово через граф зависимостей.

Модель пройдёт по цепочке блокировок и скажет где узкое место.


📌

🔧 Техника: Двусторонние связи → более точная логика

Что меняем: Вместо односторонних "А разрешает Б" добавь обратные связи — что блокирует А, что усиливает Б.

Какой эффект: Модель видит полную картину — не только что разрешает событие, но и что может его остановить.

ГРАФ (расширенный):
- "WB снизил комиссию" разрешает "Рост числа продавцов на WB"
- "Рост продавцов на WB" блокирует "Переход на конкурентов"
- "Переход на конкурентов" разрешает "Рост конкурентов"

+ Обратные связи:
- "Низкие продажи на WB" блокирует "Рост числа продавцов"
- "Высокая комиссия конкурентов" блокирует "Переход на конкурентов"

Теперь модель учтёт что может сломать цепочку — не только прямые разрешения.


📌

🔧 Техника: Веса связей → приоритет событий

Что меняем: Добавь силу связи: "сильно разрешает", "слабо блокирует".

Какой эффект: Модель поймёт какие события критичны, а какие второстепенны.

ГРАФ (с весами):
- "WB снизил комиссию" СИЛЬНО разрешает "Рост продавцов"
- "Новая реклама YaBazar" СЛАБО разрешает "Интерес к YaBazar"
- "Продавцы остались на WB" СИЛЬНО блокирует "Старт YaBazar"

В CoT модель объяснит: "Хотя реклама YaBazar создала интерес, но это слабый фактор. Кэшбэк WB сильно заблокировал переход — это перевесило."


🔗

Ресурсы

TAG-EQA: Text-And-Graph for Event Question Answering via Structured Prompting Strategies

Датасет TORQUESTRA: https://github.com/MaithiliKadam4/TAG-EQA

Maithili Kadam, Francis Ferraro (University of Maryland, Baltimore County)


📋 Дайджест исследования

Ключевая суть

Обнаружено: LLM теряют причинно-следственные цепочки когда между событиями больше 2 шагов. Модель видит слова, но не видит логику "А запустило Б → Б привело к В → но Г заблокировало Д". TAG-EQA позволяет разбираться в сложных цепочках событий – кто на кого повлиял, что заблокировало что, где скрыта причина провала. Метод превращает связи в простые утверждения: "Событие А разрешает Б", "В блокирует Г". Вместо того чтобы модель сама искала связи в тексте, вы даёте готовую карту зависимостей – точность +5-18% на вопросах про причинность.

Принцип работы

Обычный промпт: кидаешь текст с событиями → модель пытается сама найти кто на кого повлиял → теряет нить на 3-4 шагах, цепляется за совпадения слов. TAG-EQA: прописываешь граф обычными предложениями – "WB снизил комиссию" блокирует "уход продавцов на Ozon", "YaBazar объявил запуск" разрешает "интерес продавцов". Модель получает явную карту барьеров и катализаторов – рассуждает по структуре, а не гадает. В режиме пошаговых рассуждений (CoT) модель проговаривает логику вслух: проходит по графу, объясняет почему событие произошло или провалилось.

Почему работает

Модели плохо видят неявные причинно-следственные связи в потоке текста. Они ловят прямые упоминания ("Х привело к Y"), но плывут когда нужно пройти цепочку А → Б → В → Г через 2-3 абзаца. Когда прописываешь "Событие 1 разрешает Событие 2" – снимаешь неопределённость. Модель не догадывается, а следует чёткой карте: вот барьеры, вот катализаторы, вот зависимости. TAG-EQA переводит структуру в слова – граф становится списком простых предложений, модель обрабатывает их как часть контекста. Результат: +5-18% точности по сравнению с обычным текстом, особенно для вопросов про причинность и временные зависимости.

Когда применять

Для анализа цепочек событий → конкретно для вопросов про причинность, временные зависимости, влияние действий на результат. Особенно когда нужно пройти через 3-4 шага логики: музыкальный фестиваль → привлёк толпу → толпа собралась → но полиция заблокировала митинг. НЕ подходит для простых фактов ("когда случилось?"), мнений, субъективных оценок – там граф не нужен.

Мини-рецепт

1. Выпиши события из текста: список ключевых действий, решений, изменений
2. Определи связи: "А разрешает Б" (одно позволяет другому), "В блокирует Г" (одно мешает другому). Можешь добавить свои типы: "усиливает", "ускоряет", "отменяет"
3. Составь промпт: [текст ситуации] + [граф связей списком] + [вопрос о событиях]
4. Для детального анализа добавь: "Объясни пошагово, используя граф событий" – модель покажет рассуждения через цепочку зависимостей

Примеры

[ПЛОХО] : Разберись повлияли ли действия Wildberries на провал запуска YaBazar. Вот текст: [15 абзацев описания]
[ХОРОШО] : Проанализируй последовательность событий. ТЕКСТ: Ozon запустил рекламу. WB снизил комиссию до 3%. Продавцы остались на WB. YaBazar объявил запуск. WB запустил кэшбэк 10%. Продавцы остались на WB. YaBazar провалил старт. ГРАФ СОБЫТИЙ: - "WB снизил комиссию" блокирует "уход продавцов на Ozon" - "YaBazar объявил запуск" разрешает "интерес продавцов к YaBazar" - "WB запустил кэшбэк" блокирует "переход продавцов на YaBazar" - "Продавцы остались на WB" блокирует "старт YaBazar с продавцами" - "YaBazar без продавцов" разрешает "провал запуска" ВОПРОС: Заблокировали ли действия WB успешный запуск YaBazar? Объясни пошагово, используя граф.
Источник: TAG-EQA: Text-And-Graph for Event Question Answering via Structured Prompting Strategies
ArXiv ID: 2510.01391 | Сгенерировано: 2026-01-11 23:41

Концепты не выделены.

📖 Простыми словами

TAG-EQA: граф событий для вопросов о причинности

arXiv: 2510.01391

Суть проблемы в том, что современные нейронки — это текстовые наркоманы, которые отлично видят слова, но в упор не замечают логические связи между ними. Когда ты просишь модель разобраться в цепочке событий, она пытается угадать ответ по статистической близости слов, а не по реальной логике. Метод TAG-EQA меняет правила игры: вместо того чтобы надеяться на интуицию AI, мы насильно скармливаем ему структурированный граф событий, переведенный в текст. Мы буквально берем модель за руку и тыкаем носом в то, как одно событие порождает другое.

Это как пытаться собрать шкаф из Икеи по художественному описанию интерьера вместо четкой инструкции со стрелочками. Без TAG-EQA модель читает текст как роман, где «герой вошел и свет погас», но не всегда понимает, что свет погас именно потому что герой нажал на выключатель. Метод превращает рыхлое повествование в жесткий алгоритм: «Событие А активирует событие Б». Теперь у модели в руках не просто книга, а карта минного поля, где каждая связь прописана явно.

Технически это работает через структурированный промптинг: мы вытаскиваем из текста все факты и превращаем их в список утверждений о зависимостях. Вместо того чтобы заставлять LLM мучительно вспоминать, что было три абзаца назад, мы даем ей готовый блок данных, где прописано: «Событие В блокирует событие Г». Это убирает галлюцинации и заставляет модель рассуждать по фактам, а не фантазировать на тему. В итоге точность ответов на сложные вопросы «почему» и «когда» растет, потому что мы убрали из уравнения двусмысленность.

Хотя метод тестировали на сложных событийных цепочках, принцип универсален для любой задачи, где важна логика, а не просто поиск по ключевым словам. Это сработает в юридических документах, анализе бизнес-процессов или разборе логов серверов — везде, где причинно-следственная связь важнее, чем простое упоминание факта. По сути, мы переходим от обычного поиска к логическому выводу на стероидах, заменяя хаос текста четкой структурой графа.

Короче: хватит ждать от нейронки чудес дедукции, когда можно просто дать ей готовую схему связей. Если в твоем тексте больше трех зависимых событий, обычный промпт — это лотерея, где ты скорее всего проиграешь. Используй явное описание графа, чтобы превратить AI из гадалки в нормального аналитика. Либо ты структурируешь данные сам, либо модель додумает их за тебя, и результат тебе точно не понравится.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с