Contextual reranking — техника переранжирования результатов поиска, при которой релевантность оценивается с учётом расширенного контекста запроса, структуры документа и соседних фрагментов.
Определение
Contextual reranking — это развитие классического reranking, где оценка релевантности пары запрос–документ выполняется не изолированно, а с учётом дополнительного контекста: соседних чанков того же документа, глобальной темы, истории диалога или промежуточных выводов. Подход особенно важен в RAG и long-document retrieval, где отдельный чанк может быть слабо информативен без окружающего контекста.
Как работает
1. Расширение входа reranker
В отличие от обычного reranker, contextual reranking подаёт в модель:
- исходный запрос;
- кандидатный чанк;
- соседние чанки (до и после);
- метаданные документа (раздел, заголовок, версия);
- контекст диалога (для conversational RAG).
2. Архитектурные варианты
- Extended cross-encoder — совместное кодирование запроса и расширенного контекста.
- Hierarchical reranking — сначала скоринг чанков, затем скоринг документов.
- LLM-based contextual scoring — LLM оценивает релевантность с явным reasoning по контексту.
- Context pooling — агрегация эмбеддингов соседних фрагментов перед скорингом.
3. Контекстные сигналы
В скоринг включаются:
- логическая связность чанка с темой документа;
- наличие определения/условий выше по тексту;
- зависимости между разделами;
- устранение ложной релевантности по ключевым словам.
4. Интеграция в pipeline
Типовой сценарий:
- primary retrieval → top-k чанков;
- contextual reranking → top-n контекстных фрагментов;
- context assembly → LLM.
Это снижает риск retrieval hallucination и повышает точность ответов.
Где применяется
- RAG-системы с длинными документами.
- Юридический и медицинский поиск.
- Техническая документация и стандарты.
- Conversational QA.
- Аналитические ассистенты.
Практические примеры использования
В технической документации API ключевая информация часто разбросана: определение параметра — в одном разделе, ограничения — в другом. Contextual reranking учитывает соседние чанки и корректно поднимает нужный фрагмент, даже если сам чанк не содержит всех терминов запроса.
В conversational RAG контекст диалога используется для переранжирования: один и тот же запрос «ограничения» интерпретируется по-разному в зависимости от предыдущих вопросов.
Ключевые свойства
- Учёт структуры и окружения документа.
- Снижение ложной релевантности.
- Повышение точности при длинных текстах.
- Гибкость под диалоговые сценарии.
- Критичен для high-stakes доменов.
Проблемы и ограничения
- Рост латентности и стоимости inference.
- Ограничения длины контекста у reranker.
- Сложность выбора оптимального объёма контекста.
- Зависимость от качества chunking.
- Трудность масштабирования.
Преимущества и ограничения
- Плюс: существенно повышает корректность финального контекста.
- Минус: усложняет архитектуру и требует больше ресурсов.
Связанные термины
- Reranker
- Cross-encoder
- Document chunking
- Retrieval hallucination
- RAG