TL;DR
Исследование показало: современные LLM плохо справляются с извлечением структурированных данных из этнографических текстов — описаний ритуалов, обычаев, культурных практик. Семь моделей (от GPT-5 Nano до Llama 3.2) протестировали на 567 текстах, где нужно было выделить 121 признак ритуалов (функция, длительность, действия, психологические аспects). Лучший результат — F1 всего 0.41 (для сравнения: 1.0 = идеально). Это значит, что модели ошибаются в 6 из 10 случаев даже при оптимальных настройках.
Главная находка: чем длиннее текст, тем хуже модель извлекает данные. При этом проявились три слабости: (1) многоклассовые признаки (выбрать из 3-5 вариантов) распознаются в 10 раз хуже бинарных (да/нет); (2) неявная информация (нужно интерпретировать контекст) почти не распознаётся; (3) если два эксперта-человека не согласны между собой в оценке признака, LLM тоже не справится — человеческое согласие задаёт потолок точности для модели.
Две техники дают небольшое улучшение: multi-task prompting (запросить все признаки одной категории сразу, а не по одному) улучшает F1 на 0.02-0.07, ensemble (запросить 10 раз и взять самый частый ответ) добавляет ещё 0.01-0.02. Но даже с этими приёмами модели остаются далеко от надёжности, нужной для автоматизации.
Что проверяли
Исследователи взяли 567 описаний ритуалов из разных культур (от африканских племён до европейских обрядов) и попросили LLM ответить на вопросы: "Это похоронный ритуал?", "Есть ли танцы?", "Насколько высокий уровень возбуждения участников?" — всего 121 признак.
Одновременно два человека-эксперта кодировали те же тексты вручную для 6 признаков синхронного поведения (синхронное пение, танцы, молитва и т.д.), чтобы понять: когда люди не согласны, может ли машина справиться лучше?
Сравнивали базовый zero-shot промптинг (один признак за раз) с двумя улучшениями: - Multi-task prompting (MTP): запросить все признаки одной категории сразу - Ensemble: повторить запрос 10 раз, выбрать самый частый ответ
Ключевые находки
1. Длинные тексты убивают точность
Каждое удвоение длины текста снижает точность на 15%. Это касается и обнаружения (найти нужный признак) и специфичности (не выдумывать лишнее).
Механика: в длинном тексте больше ложных зацепок — слов и фраз, которые модель интерпретирует как наличие признака, хотя контекст говорит об обратном. Например, упоминание "пение" в описании фона ритуала модель может засчитать как "синхронное пение участников".
Применимо: Если извлекаешь данные из текста — разбивай на фрагменты. Вместо "проанализируй весь документ на 20 критериев" → "проанализируй каждый раздел отдельно".
2. Бинарные вопросы vs множественный выбор
Бинарные признаки (да/нет, есть/нет) модели распознают в 10 раз лучше многоклассовых (низкий/средний/высокий/очень высокий).
Причина: при выборе из 3-5 вариантов модель должна понять не только наличие признака, но и степень его выраженности — это требует тонкой калибровки понимания текста. При бинарном вопросе достаточно уловить сам факт.
Применимо: Вместо "Оцени уровень формальности текста: очень формальный/формальный/нейтральный/неформальный" → спроси два раза: "Это формальный текст? (да/нет)" → "Если да, это ОЧЕНЬ формальный? (да/нет)".
3. Явное vs неявное
Явные признаки (прямо названы в тексте: "участники танцевали", "это похоронный обряд") распознаются с F1 > 0.60. Неявные признаки (психологический дискомфорт, уровень возбуждения, форма ритуала) — с F1 < 0.30.
Разница в 3 раза. Модель хорошо ищет ключевые слова и прямые описания, но плохо интерпретирует контекст для выводов.
Применимо: При аналитических задачах раздели на два шага: 1. "Извлеки из текста все явные упоминания [признака]" 2. "На основе извлечённого сделай вывод о [неявном признаке]"
Это даёт модели промежуточную опору вместо прыжка от текста к интерпретации.
4. Человеческое согласие = потолок для LLM
Для признаков, где два эксперта-человека имели κ = 0.92 (почти идеальное согласие), лучшая модель достигла F1 = 0.75. Для признаков с κ = 0.25 (низкое согласие), LLM показали F1 = 0.31.
Корреляция r = 0.61: чем труднее людям договориться, тем труднее модели.
Инсайт: Если задача субъективна или требует экспертной интерпретации — модель не компенсирует неопределённость. Она просто добавит свою случайность к уже неоднозначному вопросу.
Применимо: Перед тем как просить LLM оценить что-то субъективное (креативность, качество аргумента, эмоциональный тон), спроси себя: "Два человека дадут одинаковый ответ?" Если нет — не жди от модели большей точности. Лучше: попроси несколько мнений (симулируй разных экспертов) и покажи разброс оценок, а не одно число.
5. Multi-task prompting: небольшое, но стабильное улучшение
Вместо 115 запросов (по одному признаку) сделали ~10 запросов (все признаки одной категории сразу). Это улучшило F1 на 0.02-0.07 для большинства моделей.
Механика: модель видит связанные признаки в одном контексте и может учитывать взаимоисключения (если есть A, то не может быть B). При single-task каждый запрос изолирован.
Применимо напрямую:
Плохо:
1. Есть ли в тексте упоминание цены?
2. Есть ли упоминание скидки?
3. Есть ли упоминание срока действия?
Лучше:
Проанализируй текст и ответь на все вопросы сразу:
1. Есть ли упоминание цены?
2. Есть ли упоминание скидки?
3. Есть ли упоминание срока действия?
Формат ответа:
1: [да/нет]
2: [да/нет]
3: [да/нет]
6. Ensemble: повторения снижают случайность
Запросить 10 раз, взять самый частый ответ → улучшение F1 на 0.01-0.02. Не революция, но стабильно.
Важнее другое: согласованность модели коррелирует с точностью. Если 9 из 10 повторений дали один ответ — точность 81%. Если 5 из 10 — точность 68%.
Применимо: При критичных решениях (например, автоматическая категоризация обращений клиентов) запроси модель 3-5 раз и проверь: если ответы расходятся — это сигнал неопределённости, отправь на ручную проверку. Не нужен код — просто нажми "Regenerate" в ChatGPT и сравни.
Ограничения
⚠️ Узкий домен: Исследование про этнографию — тексты про незападные культуры, архаичные практики, непрозрачный язык. В корпоративных документах, новостях, FAQ модели могут показать лучший результат (но принципы про длину и многоклассовость остаются).
⚠️ Нет breakthrough-техники: Multi-task и ensemble дают +5-10% к точности, но не решают корневую проблему. Если база F1 = 0.35, то улучшение до 0.41 всё равно означает 60% ошибок.
⚠️ Субъективные критерии — яма: Всё, что требует интерпретации (эмоциональный тон, качество аргумента, уровень креативности) — модели справляются втрое хуже явных признаков. И никакой промптинг не поможет, если сами люди не согласны.
Что можно применить
Принцип 1: Дроби длинные тексты
Вместо одного большого запроса делай серию маленьких.
Пример: Есть договор на 15 страниц. Нужно извлечь: стороны, сумма, срок действия, штрафные санкции, условия расторжения.
Плохо:
Вот договор [15 страниц]. Извлеки все ключевые условия.
Лучше:
Шаг 1: Найди в тексте раздел про стороны договора. Извлеки названия компаний и их роли.
Шаг 2: Найди раздел про финансовые условия. Извлеки сумму и валюту.
Шаг 3: ...
Каждый шаг работает с ~1-2 страницами вместо 15 → точность выше.
Принцип 2: Бинарные вопросы вместо шкал
Плохо:
Оцени тональность отзыва: очень негативная / негативная / нейтральная / позитивная / очень позитивная
Лучше:
1. Отзыв содержит негатив? (да/нет)
2. Если да: негатив сильный или умеренный?
3. Отзыв содержит позитив? (да/нет)
4. Если да: позитив сильный или умеренный?
Четыре бинарных вопроса точнее одного пятиуровневого.
Принцип 3: Явное → неявное (двухшаговый анализ)
Задача: Понять, насколько формален email от клиента.
Плохо:
Оцени уровень формальности этого письма: очень формальное / формальное / нейтральное / неформальное.
Лучше:
Шаг 1: Извлеки из письма все маркеры стиля:
- Обращение (Уважаемый / Здравствуйте / Привет)
- Местоимения (Вы с большой буквы / вы с маленькой / ты)
- Завершающая фраза (С уважением / Спасибо / Пока)
- Сленг и разговорные обороты
Шаг 2: На основе извлечённых маркеров определи уровень формальности.
Сначала факты (модель умеет), потом интерпретация (на основе фактов точнее).
Принцип 4: Multi-task для связанных признаков
Задача: Категоризация вакансий. Нужно определить: опыт, зарплата, формат работы, тип компании.
Плохо: 4 отдельных запроса к модели.
Лучше:
Проанализируй вакансию и заполни все поля:
1. Требуемый опыт: [без опыта / 1-3 года / 3-5 лет / 5+ лет]
2. Зарплата указана: [да / нет]
3. Формат работы: [офис / удалёнка / гибрид]
4. Тип компании: [стартап / средний бизнес / корпорация]
Ответ строго в формате:
1: ...
2: ...
3: ...
4: ...
Модель видит полную картину вакансии и может учитывать связи (например, "стартап" чаще = "удалёнка").
Принцип 5: Ensemble для критичных решений
Сценарий: Автоматическая сортировка обращений клиентов (жалоба / вопрос / предложение).
Шаблон промпта:
Определи тип обращения: [жалоба / вопрос / предложение]
Текст обращения:
{текст}
Ответ: [только одно слово]
Применение: 1. Запроси модель 3 раза (в ChatGPT: кнопка Regenerate) 2. Если все 3 ответа совпали → высокая уверенность, автоматически присвой категорию 3. Если 2 из 3 или все разные → флаг неопределённости, отправь человеку
Для большого потока (где API): скрипт делает 3 запроса с temperature=0.7, берёт моду. Несогласие = в очередь ручной проверки.
Принцип 6: Субъективное = несколько голосов
Задача: Оценить креативность бизнес-идеи.
Не делай так:
Оцени креативность этой идеи по шкале 1-10.
(Модель выдаст случайное число, как и второй эксперт-человек выдаст другое)
Делай так:
Представь трёх экспертов с разными взглядами:
1. Консервативный инвестор (ценит проверенные модели, боится рисков)
2. Венчурный капиталист (ищет disruption, любит смелые идеи)
3. Операционный директор (смотрит на реализуемость, практичность)
Каждый оценивает идею по шкале 1-10 и объясняет почему.
Идея: {твоя идея}
Результат: Не одно число, а спектр мнений. Это честнее отражает субъективность оценки. И полезнее: видишь идею с разных углов.
Шаблон: Извлечение данных из длинного документа
Ты — аналитик данных. Твоя задача: извлечь структурированную информацию из документа.
ВАЖНО:
- Отвечай только на основе текста. Если информации нет — пиши "не указано"
- Для каждого факта указывай цитату из текста в скобках
Документ:
{текст документа}
Извлеки следующую информацию:
Блок 1: Участники
1. Название компании-1: [ответ] (цитата: "...")
2. Роль компании-1: [заказчик/исполнитель/партнёр]
3. Название компании-2: [ответ] (цитата: "...")
4. Роль компании-2: [заказчик/исполнитель/партнёр]
Блок 2: Финансы
5. Сумма договора: [ответ] (цитата: "...")
6. Валюта: [ответ]
7. Условия оплаты: [предоплата/по факту/поэтапно/не указано]
Блок 3: Сроки
8. Дата начала: [ответ] (цитата: "...")
9. Дата окончания: [ответ] (цитата: "...")
10. Срок действия (дней): [вычисли разницу]
Блок 4: Ответственность
11. Есть штрафные санкции: [да/нет]
12. Если да, за что: [краткое описание]
Пояснение: - Блоки группируют связанные признаки → multi-task эффект - Бинарные вопросы (да/нет) где возможно - Цитаты принуждают модель опираться на текст, а не выдумывать - Явная инструкция "если нет → не указано" снижает ложные срабатывания
Для документа >10 страниц разбей на 2-3 промпта по блокам.
Как исследовали
Команда из Оксфорда и Тель-Авивского университета взяла 567 описаний ритуалов из глобальной выборки культур — от африканских племён до европейских обрядов. Тексты разной длины (от параграфа до нескольких страниц), разной сложности языка (индекс Fog от 6.4 до 19.9 — это от уровня школьника до академического), разного уровня лексического разнообразия.
Два датасета: 1. Morphospace — 115 признаков ритуалов (функция, длительность, действия, психологическое состояние участников). Аннотировал один эксперт → эталон. 2. Synchrony — 6 признаков синхронного поведения (пение, танцы, марширование и т.д.). Аннотировали два независимых эксперта → можно измерить человеческое согласие (Cohen's κ) и сравнить с LLM.
Протестировали 7 моделей: от малых открытых (Llama 3.2 — 3B параметров, Qwen 3 — 4B) до топовых проприетарных (GPT-5 Nano, Claude Sonnet 4.5, DeepSeek V3.1 — 671B с mixture-of-experts). Одна модель с доступом к интернету (Perplexity Sonar).
Три условия: 1. Baseline: zero-shot, один признак за раз 2. Multi-task prompting (MTP): все признаки одной категории сразу 3. MTP + Ensemble: 10 повторений MTP, выбор самого частого ответа (только для открытых моделей — проприетарные слишком дороги)
Результаты показали: лучший F1 = 0.41 (DeepSeek V3.1, MTP+Ensemble). Для сравнения: глупый baseline "всегда отвечай самым частым классом" даёт F1 = 0.02. LLM лучше случайности, но далеки от надёжности.
Интересные детали: - Региональные различия: модели хуже справлялись с текстами про Океанию и Северную Америку. Почему? Возможно, меньше таких текстов в обучающих данных. Исключение — Perplexity Sonar лучше работала с европейскими текстами (доступ к Wikipedia помог?). - Согласованность ensemble: когда 9 из 10 повторений дали один ответ — точность 81%. Когда 5 из 10 — точность 68%. Несогласие модели = красный флаг. - Ошибки людей vs ошибки машин: люди консервативны (мало ложных срабатываний, много пропусков). Машины — наоборот (любят переклассифицировать, особенно малые модели).
Вывод исследователей: LLM не могут заменить экспертов в этнографической аннотации. Но принципы универсальны: длина текста, тип признаков, субъективность — это влияет на точность в любой области.
Ресурсы
Large Language Models Struggle with Ethnographic Text Annotation Leonardo S. Goodall (University of Oxford), Dor Shilton (Tel Aviv University), Daniel Austin Mullins (University of London), Harvey Whitehouse (University of Oxford)
Модели: Qwen 3 Instruct (Alibaba Cloud), Llama 3.2 Instruct (Meta), GPT-OSS (OpenAI), DeepSeek V3.1, GPT-5 Nano (OpenAI), Claude Sonnet 4.5 (Anthropic), Perplexity Sonar
