3,583 papers
arXiv:2511.21712 73 18 нояб. 2025 г. FREE

Трёхуровневая классификация раскрытия: как извлечь структурированные данные из длинных документов

КЛЮЧЕВАЯ СУТЬ
Парадокс: LLM отлично классифицирует информацию, но теряется при поиске в длинных документах. Дай ей 100-страничный PDF с вопросом "есть ли там данные про X?" — она пропустит нужный кусок или зависнет на первых страницах. Метод EulerESG решает это через двухэтапную воронку: сначала поиск (ключевые слова + семантика) отсекает 95% шума и оставляет топ-5 релевантных фрагментов, затем LLM смотрит только на них и классифицирует уровень раскрытияполностью раскрыто, частично раскрыто, не раскрыто. Поиск делает грубую фильтрацию, LLM — тонкую оценку.
Адаптировать под запрос

TL;DR

EulerESG — исследование системы для анализа ESG-отчётов компаний. Система извлекает метрики из многостраничных PDF через двухэтапный процесс: сначала поиск релевантных фрагментов (ключевые слова + семантический поиск), затем LLM классифицирует каждую метрику в одну из трёх категорий — полностью раскрыта, частично раскрыта, не раскрыта.

Проблема ESG-отчётов типична для любых длинных документов: информация размазана по сотням страниц, одни и те же понятия описаны разными словами, много воды и промо-контента. Простой поиск по ключевым словам пропускает релевантные куски из-за синонимов. Семантический поиск находит похожее по смыслу, но может захватить лишнее. LLM без предварительной фильтрации теряется в объёме.

Решение — двухканальный поиск: ключевые слова дают точные совпадения, семантический поиск ловит перефразировки. Результаты объединяются и переранжируются. Топ-5 сегментов идут в LLM, который через структурированный промпт определяет уровень раскрытия информации по каждому критерию.


🔬

Схема метода

ЭТАП 1: Сегментирование документа
Разбить PDF на логические куски (абзацы, таблицы) → список сегментов с позициями

ЭТАП 2: Двухканальный поиск (для каждой метрики)
- Канал 1: Поиск по ключевым словам → релевантные сегменты
- Канал 2: Семантический поиск по смыслу → релевантные сегменты
- Объединение и реранжирование → топ-5 сегментов

ЭТАП 3: LLM-классификация
LLM анализирует топ-5 сегментов → классифицирует метрику:
• Полностью раскрыта (есть конкретные данные/политика)
• Частично раскрыта (упоминается, но неполно)
• Не раскрыта (нет релевантной информации)

Этапы 2-3 повторяются для каждой проверяемой метрики. В системе автоматизировано через код, вручную — требует итераций в чате.


🚀

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

Задача: Проверяешь, как конкуренты в твоей нише (digital-агентства) раскрывают ключевые аспекты работы на своих сайтах и в кейсах. Хочешь понять: кто открыто показывает методологию, кто прячется за общими словами, кто вообще не раскрывает процессы.

Промпт:

Проанализируй текст с сайта агентства по трём критериям. 
Для каждого критерия определи уровень раскрытия:

КРИТЕРИИ:
1. Процесс работы: этапы, сроки, кто за что отвечает
2. Ценообразование: прозрачность стоимости услуг, что входит
3. Кейсы с метриками: конкретные цифры результатов клиентов

КЛАССИФИКАЦИЯ:
• Полностью раскрыто — есть конкретика (цифры, схемы, примеры)
• Частично раскрыто — есть упоминания, но без деталей
• Не раскрыто — информация отсутствует или слишком общая

ФОРМАТ ОТВЕТА:
Критерий | Статус | Цитата из текста | Комментарий

[Вставь текст со страниц "О нас", "Услуги", "Кейсы"]

Результат:

LLM выдаст таблицу: по каждому критерию покажет статус раскрытия, процитирует релевантные куски текста и объяснит почему присвоен именно этот уровень. Увидишь паттерн: например, агентство подробно описывает процесс (полностью раскрыто), но прячет цены за "индивидуальный расчёт" (частично) и в кейсах пишет "увеличили продажи" без цифр (не раскрыто).


🧠

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

Слабость LLM: Модель плохо справляется с поиском иголки в стоге сена — если дать ей 100-страничный документ и спросить "есть ли там информация про X?", она может пропустить нужный кусок или зациклиться на первых страницах. Контекстное окно большое, но внимание модели неравномерно — информация из середины документа "видна" хуже, чем из начала и конца.

Сильная сторона LLM: Модель отлично классифицирует и оценивает качество информации, когда уже видит релевантный фрагмент перед собой. Дай ей 2-3 абзаца и чёткие критерии — она точно определит "здесь есть конкретные цифры" или "это общие слова без деталей".

Как метод использует это: Двухэтапная воронка сужает фокус. Сначала отсекаем 95% нерелевантного контента через поиск (ключевые слова + семантика), оставляем только потенциально важные куски. Потом LLM смотрит на эти 5 финалистов и с чистой головой оценивает: есть ли там то, что мы ищем, и насколько полно раскрыто. Поиск делает грубую фильтрацию, LLM — тонкую оценку.

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

Количество сегментов для анализа (топ-5 в оригинале) → Увеличь до топ-10, если документ сложный и информация размазана — снизится риск пропустить релевантное. Уменьши до топ-3 для экономии токенов на простых задачах.

Критерии классификации → В оригинале три уровня (полностью/частично/не раскрыто). Можешь добавить "противоречиво раскрыто" для случаев, когда в разных местах написано по-разному. Или сделать пятибалльную шкалу вместо трёх категорий.

Инструкции для LLM → Добавь "процитируй конкретный фрагмент", если нужна прозрачность. Или "объясни почему присвоен этот уровень" для понимания логики модели.


📋

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

Проанализируй текст по списку критериев. Для каждого критерия определи уровень раскрытия информации.

КРИТЕРИИ ДЛЯ ПРОВЕРКИ:
{список_критериев}

УРОВНИ РАСКРЫТИЯ:
• Полностью раскрыто — {описание_что_считать_полным}
• Частично раскрыто — {описание_что_считать_частичным}
• Не раскрыто — {описание_когда_информации_нет}

ФОРМАТ ОТВЕТА:
Для каждого критерия укажи:
- Критерий: [название]
- Статус: [Полностью/Частично/Не раскрыто]
- Цитата: [релевантный фрагмент из текста или "не найдено"]
- Обоснование: [почему присвоен этот статус]

ТЕКСТ ДЛЯ АНАЛИЗА:
{текст_документа}

Плейсхолдеры:

  • {список_критериев} — что проверяешь (например: "1. Методология работы 2. Ценообразование 3. Результаты с метриками")
  • {описание_уровней} — что считать полным/частичным раскрытием для твоей задачи (в ESG "полностью" = есть цифры, в анализе конкурентов "полностью" = есть конкретные примеры)
  • {текст_документа} — весь документ или предварительно отобранные куски (если документ слишком длинный)

Для длинных документов (100+ страниц):

Если документ не влезает в контекстное окно, раздели анализ на итерации:

Шаг 1: Найди все упоминания {критерий_1} в тексте. 
Выпиши номера страниц или цитаты, где встречается.

[Подай документ или куски]

Шаг 2: Теперь проанализируй найденные фрагменты.
Определи уровень раскрытия по шкале [Полностью/Частично/Не раскрыто].

[Подай фрагменты из шага 1]

⚠️

Ограничения

⚠️ Длинные документы: Если документ больше контекстного окна модели, нужно либо предварительно разбить его на куски вручную, либо использовать итеративный подход (сначала поиск, потом анализ найденного). Система EulerESG делает это автоматически через эмбеддинги — в чате придётся управлять вручную.

⚠️ Качество поиска: Без семантического поиска (а в чате его нет из коробки) придётся полагаться на ключевые слова или давать модели большие куски текста. Это увеличивает риск пропустить релевантную информацию, если она описана синонимами.

⚠️ Субъективность критериев: Граница между "частично раскрыто" и "полностью раскрыто" часто размыта. Разные люди могут по-разному оценить один и тот же фрагмент. LLM будет последовательна сама с собой, но её критерии могут не совпасть с твоими — важно давать чёткие определения уровней в промпте.

⚠️ Узкая специфика ESG: Оригинальная система заточена под корпоративные ESG-отчёты с их стандартами (SASB, GRI, TCFD). Для других типов документов (техдокументация, маркетинговые материалы, юридические тексты) нужно адаптировать критерии и определения раскрытия под контекст.


🔍

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

Команда из университета Нового Южного Уэльса и CSIRO (Австралия) создала полноценную систему с кодом и протестировала её на четырёх крупных компаниях из разных индустрий: BMW (транспорт), Macquarie Group (финансы), P&G (товары широкого потребления), Dell (технологии). Для каждой компании взяли реальный ESG-отчёт и прогнали через систему, сопоставляя результаты с тремя SASB-индустриями — получилось 12 пар компания-индустрия для проверки.

Измеряли точность на уровне метрик: процент случаев, когда система правильно определила статус раскрытия (полностью/частично/не раскрыто) и, если была цифра, корректно её извлекла после нормализации единиц измерения. Сравнивали пять разных LLM: Gemini-2.5-flash, DeepSeek-V3, Claude-Haiku-4.5, GPT-5 и Qwen-3-32b.

Результаты: Все модели показали высокую точность 0.91-0.95 (91-95% метрик извлечены корректно). GPT-5 лидирует с 95%, но работает в 3-4 раза медленнее остальных (1124 секунды против 275-460). Интересно, что для компаний P&G и Macquarie все модели дали практически идеальный результат (точность ~1.0), а основные ошибки сконцентрированы в отчёте BMW — там, видимо, более хаотичная структура данных и непоследовательная терминология.

Инсайт для практики: Gemini и Qwen дают лучший баланс скорость-качество — 94% точности при времени работы в 3-4 раза быстрее GPT-5. Для интерактивного анализа в чате, где важна скорость ответа, они предпочтительнее топовых, но медленных моделей. Это подтверждает общий паттерн: для структурированных задач с чёткими критериями разница между моделями минимальна — промпт-инжиниринг важнее выбора флагманской модели.


🔗

Ресурсы

EulerESG: Automating ESG Disclosure Analysis with LLMs — Yi Ding, Xushuo Tang, Zhengyi Yang, Wenqian Zhang, Simin Wu, Yuxin Huang и др. (UNSW Sydney, Data61 CSIRO, Eigenflow AI, Euler AI, UTS Sydney).

Репозиторий с кодом: github.com/UNSW-database/EulerESG

Стандарты ESG, упомянутые в работе: - SASB Standards — отраслевые метрики устойчивого развития - GRI Standards — глобальная инициатива по отчётности - TCFD — раскрытие климатических рисков


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

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

Парадокс: LLM отлично классифицирует информацию, но теряется при поиске в длинных документах. Дай ей 100-страничный PDF с вопросом "есть ли там данные про X?" — она пропустит нужный кусок или зависнет на первых страницах. Метод EulerESG решает это через двухэтапную воронку: сначала поиск (ключевые слова + семантика) отсекает 95% шума и оставляет топ-5 релевантных фрагментов, затем LLM смотрит только на них и классифицирует уровень раскрытияполностью раскрыто, частично раскрыто, не раскрыто. Поиск делает грубую фильтрацию, LLM — тонкую оценку.

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

Разделяй задачи: поиск информации ≠ оценка качества информации. Этап 1 (Поиск): Двухканальный подход ловит больше релевантного. Ключевые слова дают точные совпадения терминов. Семантический поиск находит перефразировки и синонимы. Результаты объединяются и ранжируются — топ-5 сегментов идут дальше. Этап 2 (Классификация): LLM получает только отобранные куски и структурированный промпт с тремя уровнями. Модель не ищет — она оценивает. "Здесь есть конкретные цифры" = полностью раскрыто. "Упоминается, но без деталей" = частично. "Общие слова или молчание" = не раскрыто. Аналогия: как на заводе — один цех отбирает детали по размеру (поиск), второй проверяет качество каждой отобранной (классификация). Если сделать всё в одном цехе — затеряется или перепутает.

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

Причина в особенностях работы LLM с длинным контекстом. Контекстное окно большое, но внимание модели неравномерно — информация из середины документа "видна" хуже, чем из начала и конца. Дай модели 100 страниц — она физически может прочитать, но на практике пропускает детали или зацикливается на первых абзацах. Двухэтапная воронка использует сильные стороны и обходит слабые. Поиск (ключевые слова + семантика) не понимает смысл глубоко, но быстро сканирует весь документ и не пропускает совпадения. LLM плоха в сканировании, но отлично различает нюансы — дай ей 2-3 абзаца и критерии, она точно скажет "здесь конкретные данные" или "это вода". Результат: из 100 страниц модель анализирует только 5 ключевых фрагментов — фокус сужен в 20 раз, риск пропустить релевантное снижен через двухканальный поиск.

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

Длинные документы (50+ страниц) → проверка наличия и полноты информации по списку критериев, особенно когда информация размазана по тексту и описана разными словами. Конкретно: ESG-отчёты компаний, конкурентный анализ (сайты, кейсы, презентации), проверка техдокументации на соответствие стандартам, анализ договоров на наличие обязательных пунктов, аудит контент-стратегии (покрывает ли блог ключевые темы). НЕ подходит: для задач где не нужна классификация уровня раскрытия (просто поиск фактов), для коротких документов (до 10 страниц — LLM справится напрямую), для случаев где критерии размыты и субъективны ("интересность текста" — модель не поймёт границу между уровнями).

Мини-рецепт

1. Определи критерии проверки: Список конкретных аспектов которые ищешь в документе. Например: "методология работы", "ценообразование", "результаты с метриками".

2. Опиши уровни раскрытия: Что считать "полностью", "частично", "не раскрыто" для каждого критерия. Чем конкретнее — тем стабильнее результат. Например: "полностью = есть цифры и примеры", "частично = упоминается без деталей", "не раскрыто = молчание или общие слова".

3. Для коротких документов (до 20 страниц): Подай весь текст в промпт с инструкцией классифицировать по критериям. Используй структурированный формат ответа — таблица или список.

4. Для длинных документов (50+ страниц): Раздели на два запроса. Первый: Найди все упоминания [критерий] в тексте. Выпиши цитаты. Второй: Проанализируй найденные фрагменты. Определи уровень раскрытия. Это имитирует двухэтапную воронку вручную.

5. Добавь требование обоснования: Для каждого критерия укажи: статус, цитату из текста, почему присвоен этот уровень. Это делает оценку прозрачной и позволяет проверить логику модели.

Примеры

[ПЛОХО] : Проверь есть ли в отчёте компании информация про выбросы CO2 (Модель либо скажет "да, есть" без конкретики, либо потеряется в 80 страницах и пропустит нужный кусок)
[ХОРОШО] : Проанализируй отчёт по трём критериям. Для каждого определи уровень раскрытия: КРИТЕРИИ: 1. Выбросы CO2: абсолютные показатели в тоннах 2. План снижения: конкретные цели и сроки 3. Прогресс: динамика за последние 3 года УРОВНИ: • Полностью раскрыто — есть конкретные цифры, даты, таблицы • Частично раскрыто — упоминается, но без деталей или за часть периода • Не раскрыто — информация отсутствует или слишком общая ("работаем над снижением") ФОРМАТ ОТВЕТА: Критерий | Статус | Цитата | Почему этот уровень [Текст отчёта] (Модель выдаст структурированную таблицу с оценкой по каждому критерию, процитирует релевантные куски и объяснит логику. Видишь где компания открыта, где прячется за общими словами, где молчит.)
Источник: EulerESG: Automating ESG Disclosure Analysis with LLMs
ArXiv ID: 2511.21712 | Сгенерировано: 2026-01-12 18:53

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

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

Суть в том, что современные нейронки — это не всезнающие оракулы, а скорее очень умные, но дико невнимательные профессора. Если ты запихнешь в них 300-страничный PDF и задашь вопрос, они начнут «плыть», путаться в деталях и откровенно галлюцинировать. Фундаментальная механика RAG (Retrieval-Augmented Generation), на которой строится исследование, говорит нам: хватит кормить модель информационным мусором. Чтобы получить четкий ответ, нужно сначала выцепить из огромного массива данных микроскопический кусок релевантного текста и скормить его модели отдельно. Сначала найди, потом спроси — это база, без которой работа с большими документами превращается в лотерею.

Это как если бы ты попросил друга найти в захламленной кладовке конкретную старую квитанцию. Если ты просто скажешь «иди ищи», он проторчит там три часа, проклянет всё и в итоге принесет тебе счет за свет вместо чека из сервиса. Формально он в кладовке был, но результат — херня. А теперь представь, что ты сам зашел, ткнул пальцем в нужную коробку и сказал: «Достань из этой папки синюю бумажку». Вот это и есть двухэтапный подход: ты убираешь шум, а другу (модели) оставляешь только чистую работу по анализу.

В исследовании это реализовано через систему EulerESG, которая потрошит сложные отчеты. Что реально работает для тебя: ручная имитация RAG. Метод простой как палка: вместо того чтобы загружать файл целиком, используй Ctrl+F или поиск по смыслу, вырезай 2-3 ключевых абзаца и вставляй их в чат. Обязательно добавляй жесткую инструкцию: "отвечай только на основе этого текста". Это выравнивание с контекстом убивает галлюцинации на корню. В примере с маркетинговым отчетом это позволило вытащить конкретные цифры роста на 150%, которые модель могла просто проглядеть в общем потоке воды.

Тестировали всё это на скучных ESG-отчетах, но принцип универсален. Эта схема одинаково круто работает, когда тебе нужно выжать суть из юридического договора, найти конкретный шаг в рецепте из бесконечного блога или проанализировать стратегию конкурента. Неважно, используешь ты ChatGPT, Perplexity или Gemini — любая модель лажает на длинных дистанциях. LLM — это не поисковик, а анализатор коротких выдержек. Если хочешь адекватный результат, работай «фильтром» сам или настраивай автоматику.

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

Сгенерировано: 21.12.2025 16:57 | ArXiv Data Collector

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

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

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