3,583 papers
arXiv:2601.08692 73 13 янв. 2026 г. FREE

Иерархическая классификация: как LLM используют world knowledge лучше статистических моделей

КЛЮЧЕВАЯ СУТЬ
Когда классов 50-100, прямой вопрос «что это из всего списка?» работает хуже чем двухшаговый. Модель размазывает вероятность между похожими вариантами и выдаёт шум. Least-to-Most разбивает на два шага: сначала определи широкую категорию (регион из 6-8 вариантов), потом уточни внутри неё (страну из 10-15). Точность растёт, потому что на каждом шаге модель выбирает из меньшего числа вариантов с более чёткими различиями.
Адаптировать под запрос

TL;DR

Исследование сравнило нейросети и LLM на задаче предсказания национальности по имени и нашло, что LLM работают точнее благодаря культурному и географическому знанию, а не только паттернам букв. Тестировали на трёх уровнях: точная национальность (99 классов), регион (14), континент (6). LLM превзошли нейросети на всех уровнях, причём разрыв больше на точных предсказаниях и меньше на грубых.

Главная находка: LLM ошибаются "ближе к правде" — если перепутали страну, то обычно угадывают регион (Корея вместо Японии, обе в Восточной Азии). Нейросети делают грубые ошибки между регионами (Корея → Бразилия) и тянут к популярным классам. Простые методы (SVM) устойчивее на редких национальностях, чем сложные. Разница в том, что LLM опираются на знание ("суффикс -ович типичен для славянских языков"), а нейросети — на статистику букв.

Метод Least-to-Most показал лучший результат: сначала предсказать широкую категорию (регион), потом уточнить внутри неё (страну). Это работает не только для национальностей — принцип применим к любой многоуровневой классификации где много классов и есть иерархия.

🔬

Схема метода (Least-to-Most)

ШАГ 1: Определи верхний уровень → "Азия / Европа / Африка..."
ШАГ 2: Внутри найденной категории определи конкретный класс → "В Азии: Япония / Корея / Китай..."

(Оба шага в одном промпте, но с явным разделением)
🚀

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

Задача: Классифицируешь обращения в поддержку маркетплейса. У тебя 80+ типов проблем, сгруппированных в 8 категорий (доставка, оплата, возвраты...). Модель часто путает похожие проблемы внутри категории и между категориями.

Промпт:

Обращение клиента: "Заказал товар неделю назад, деньги списались, но трек-номер не приходит."

Шаг 1: К какой основной категории относится проблема?
- Доставка
- Оплата  
- Возврат и отмена
- Товар и качество
- Аккаунт
- Бонусы и промокоды
- Мобильное приложение
- Другое

Шаг 2: Определи конкретный тип проблемы внутри категории из шага 1:

[Если Доставка:]
- Не пришёл трек-номер
- Долгая доставка
- Посылка потерялась
- Неверный адрес
...

[Если Оплата:]
- Деньги списались дважды
- Не проходит оплата
- Хочу изменить способ оплаты
...

Выведи результат:
Категория: [...]
Тип проблемы: [...]

Результат:

Модель сначала определит "Доставка" (широко), затем уточнит "Не пришёл трек-номер" внутри этой категории. Если ошибётся на втором шаге, всё равно попадёт в правильную категорию для маршрутизации — тикет уйдёт в отдел доставки, а не в финансы.

🧠

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

LLM генерирует текст на основе вероятностей, обученных на паттернах из миллиардов документов. Когда классов много и они похожи (99 национальностей, 80 типов проблем), модель размазывает вероятность между близкими вариантами. Прямой вопрос "что это из 99 вариантов?" даёт шум.

Иерархия сужает пространство выбора. Сначала модель выбирает из 6-8 категорий верхнего уровня — здесь различия крупные и чёткие. Внутри выбранной категории она работает уже с 10-15 вариантами, где признаки конкретнее. Это как найти книгу в библиотеке: сначала отдел, потом полка, потом конкретный корешок — быстрее чем сразу среди 10 тысяч томов.

World knowledge vs паттерны: LLM видит не только "последовательность букв -ович", но и знает что это славянский суффикс, используется в России, Украине, Сербии. Нейросеть видит только "эти буквы часто в классе Russian" без понимания почему. Поэтому LLM реже выдаёт абсурд (имя славянское → Бразилия), чаще ошибается внутри культурно близких зон.

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

  • Глубина иерархии — добавь промежуточный уровень (категория → подкатегория → конкретный класс) если классов 100+, убери если всего 20-30
  • Примеры на каждом уровне — дай few-shot для редких категорий верхнего уровня, модель перестанет их игнорировать
  • Уверенность порога — попроси модель указать если неуверена на шаге 1, чтобы эскалировать сложные случаи
📋

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

Задача: {описание задачи классификации}

Вход: {данные для классификации}

Шаг 1: К какой основной категории это относится?
{список категорий верхнего уровня}

Шаг 2: Определи конкретный класс внутри категории из шага 1.

[Если {категория_1}:]
{список классов внутри категории_1}

[Если {категория_2}:]
{список классов внутри категории_2}

...

Выведи:
Категория: [...]
Класс: [...]

Что подставлять: - {описание задачи} — что нужно определить - {данные для классификации} — текст, изображение описание, характеристики - {список категорий} — 5-10 групп верхнего уровня - {список классов внутри} — конкретные варианты для каждой группы

🧠

Почему это работает (продолжение)

Исследование показало три типа ошибок и как они различаются между моделями:

Near-miss errors (близкие промахи) — неправильная страна, правильный регион. LLM делают 60-70% таких ошибок. Пример: угадали Восточную Азию, перепутали Корею с Японией. Это происходит потому что модель правильно использует культурное знание ("имя азиатское"), но недостаточно специфичное для точного различения.

Cross-regional errors (грубые ошибки) — перепутали регионы. Нейросети делают 40-50% таких. Пример: предсказали Латинскую Америку вместо Азии. Это значит модель вообще не поняла откуда имя, просто нашла похожие буквы в популярном классе.

Frequency bias (перекос к популярному) — модель тянет к частым классам из обучающих данных. Простые методы (SVM) устойчивее чем глубокие сети. Это важно когда в твоих данных одни категории встречаются в 10 раз чаще других — few-shot примеры редких классов компенсируют перекос.

⚠️

Ограничения

⚠️ Не для простых задач: Если классов мало (5-10) и они чётко различаются, иерархия избыточна — обычный промпт сработает так же быстрее.

⚠️ Нужна чёткая иерархия: Метод требует чтобы классы логично группировались. Если классификация плоская (список не связанных вариантов), иерархию придётся придумывать искусственно — может не помочь.

⚠️ Два запроса = двойная цена: Если делать шаги отдельными запросами (а не в одном промпте), это удваивает токены. В одном промпте работает, но модель может схалтурить и пропустить шаг 1.

🔍

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

Команда собрала датасет из 218 тысяч имён из 99 национальностей и протестировала 6 нейросетей (от простого SVM до XLM-RoBERTa) против 6 промптинг-стратегий для LLM (Zero-shot, Few-shot, Chain-of-Thought, Self-Consistency, Least-to-Most, Self-Reflection). Для каждого метода измеряли точность на трёх уровнях: национальность, регион, континент.

Самое интересное: разрыв между LLM и нейросетями оказался 12% на точной национальности, но только 4% на континенте. Почему? Потому что для грубой классификации ("это азиатское имя или европейское?") достаточно паттернов букв — тут нейросети справляются. Но для тонкой ("это корейское или японское?") нужно культурное знание — тут LLM выигрывают.

Провели частотный анализ: разделили национальности на частые, средние, редкие по числу примеров в данных. Простой SVM деградировал на 8% от частых к редким, глубокие сети на 15%, LLM на 12%. Парадокс: чем сложнее модель, тем больше она переобучается на популярные классы. Few-shot примеры сгладили этот эффект для LLM.

Error analysis показал природу ошибок: взяли 500 случайных неправильных предсказаний, проверили попали ли они хотя бы в правильный регион. LLM попали в 68% случаев, лучшая нейросеть в 52%. Это значит LLM "понимают" общий контекст даже когда ошибаются в деталях.

📌

Адаптации

🔧 Техника: добавить "объясни выбор" → видишь логику классификации

После шага 2 добавь:

Объясни почему выбрал именно этот класс. 
Какие признаки указывают на него?

Это полезно для отладки — увидишь на что модель обратила внимание. Если объяснение странное ("выбрал доставку потому что упомянуты деньги"), значит классификация ненадёжна.


🔧 Техника: самокоррекция для пограничных случаев

Шаг 3: Проверь уверенность.
Если сомневаешься между {класс из шага 2} и другими вариантами, 
перечисли альтернативы и вероятность каждой.

Если уверенность < 70%, выведи: "Требуется уточнение: [варианты]"

Это снижает число уверенных неправильных ответов — модель признаётся когда не знает.


🔧 Комбинация с Multi-perspective

Для критичных классификаций используй несколько точек зрения:

Оцени проблему клиента с трёх позиций:

Позиция 1 — Специалист поддержки первой линии:
[Шаги 1-2 иерархической классификации]

Позиция 2 — Менеджер по качеству:
[Шаги 1-2, но с фокусом на последствия ошибки]

Позиция 3 — Клиент (какую помощь он ожидает):
[Упрощённая классификация по намерению]

Финальное решение: если все три позиции согласны — используй его. 
Если расходятся — выведи все три и пометь "неоднозначный случай".

Это даёт 3 независимых взгляда на ту же задачу через иерархию. Если сходятся — высокая уверенность. Если расходятся — нужен человек.

🔗

Ресурсы

Nationality and Region Prediction from Names: A Comparative Study of Neural Models and Large Language Models

Keito Inoshita (Kansai University, Shiga University)

Статья сравнивает методы промптинга: Zero-shot, Few-shot, Chain-of-Thought [Wei et al., 2022], Self-Consistency [Wang et al., 2023], Least-to-Most [Zhou et al., 2022], Self-Reflection [Shinn et al., 2023]


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

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

Когда классов 50-100, прямой вопрос «что это из всего списка?» работает хуже чем двухшаговый. Модель размазывает вероятность между похожими вариантами и выдаёт шум. Least-to-Most разбивает на два шага: сначала определи широкую категорию (регион из 6-8 вариантов), потом уточни внутри неё (страну из 10-15). Точность растёт, потому что на каждом шаге модель выбирает из меньшего числа вариантов с более чёткими различиями.

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

Не заставляй модель держать в голове все 99 классов сразу. Сначала широко → потом узко. Шаг 1: определи верхний уровень (континент, категорию проблемы, тип товара). Шаг 2: внутри выбранной категории найди конкретный класс. Оба шага можно запихнуть в один промпт, но с явным разделением: «Сначала определи категорию из [список]. Потом если категория X, выбери из [подсписок X]».

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

LLM генерирует текст на основе вероятностей. Когда классов много и они похожи, модель распыляет внимание между всеми — теряется чёткость. Иерархия сужает пространство выбора: на первом шаге модель работает с 6-8 категориями где различия крупные, на втором — с 10-15 вариантами внутри уже определённой зоны. Это как искать книгу: сначала отдел, потом полка, потом корешок — быстрее чем сразу среди 10 тысяч томов. Прикол: исследование показало что LLM ошибаются «культурно правильно» — если перепутали страну, то обычно угадывают регион (Корея вместо Японии, обе в Восточной Азии). Нейросети делают грубые ошибки между регионами (Корея → Бразилия) потому что видят только паттерны букв, а не смысл.

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

Для многоклассовой классификации где 50+ вариантов и есть естественная иерархия → конкретно для обращений в поддержку (80 типов проблем в 8 категориях), товарных каталогов (сотни товаров по отделам), медицинских диагнозов (болезни по системам органов). Особенно когда модель путает похожие классы или тянет к популярным. НЕ подходит: для плоских классификаций где классы не группируются логично (список не связанных вариантов) или когда классов мало (5-10) — избыточно.

Мини-рецепт

1. Определи иерархию: раздели классы на 5-10 категорий верхнего уровня, внутри каждой по 10-20 конкретных вариантов
2. Структурируй промпт: сначала блок «Шаг 1: к какой категории относится? [список категорий]», потом блоки «Если категория X: [список классов внутри X]» для каждой категории
3. Добавь few-shot для редких: если одни категории встречаются в 10 раз чаще других, дай 2-3 примера редких — модель перестанет их игнорировать
4. Попроси явный вывод: Категория: [...] Класс: [...] чтобы видеть результат обоих шагов, не только финальный

Примеры

[ПЛОХО] : Определи тип проблемы клиента из 80 вариантов: не пришёл трек-номер, долгая доставка, деньги списались дважды, не проходит оплата... (модель размазывает вероятность, путает похожие)
[ХОРОШО] : Шаг 1: Категория проблемы? Доставка / Оплата / Возврат / Товар / Аккаунт / Бонусы / Приложение / Другое. Шаг 2: Если Доставка: не пришёл трек / долгая доставка / потерялась / неверный адрес. Если Оплата: списалось дважды / не проходит / изменить способ. Клиент пишет: "Заказал неделю назад, деньги списались, трек-номер не приходит". Выведи: Категория: [...] Тип: [...] (сначала определит Доставка из 8, потом уточнит внутри из 4-5 вариантов)
Источник: Nationality and Region Prediction from Names: A Comparative Study of Neural Models and Large Language Models
ArXiv ID: 2601.08692 | Сгенерировано: 2026-01-14 05:23

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

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

Nationality and Region Prediction from Names: A Comparative Study of NeuralModelsandLargeLanguageModels

arXiv: 2601.08692

Нейросети старой закалки пытаются угадать твою национальность по буквам, как туповатый лингвист-самоучка: видят окончание -ов и сразу ставят штамп «русский». Но современные LLM работают иначе — они не просто смотрят на паттерны символов, а используют накопленный культурный и географический контекст. Для них имя — это не набор байтов, а маркер истории и миграционных процессов. Исследование показало, что когда нужно выбрать из 99 вариантов, обычные модели начинают «плыть», а большие языковые модели вывозят за счет того, что буквально знают мир, а не только алфавит.

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

В цифрах разрыв выглядит так: чем сложнее задача, тем сильнее LLM доминируют. На уровне континентов (всего 6 вариантов) разница еще терпима, но как только мы переходим к 99 национальностям, нейросети начинают лажать. Модели типа GPT или Gemini лучше справляются с многоклассовой классификацией, потому что они не просто сравнивают вероятности, а опираются на скрытые связи в данных. Там, где обычная нейронка видит шум, LLM видит логику.

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

Короче, забудь про обучение узких моделей на буквах и паттернах, если у тебя больше десятка категорий. LLM выигрывают за счет «интеллектуального багажа», и разрыв в точности будет только расти. Если твоя задача сложнее, чем отличить кошку от собаки, — бери большую модель, иначе погрязнешь в ошибках классификации и ручной доработке за тупым алгоритмом. Кто использует контекст, тот получает чистые данные, остальные — гадают на кофейной гуще.

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

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

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