Query rewriting — этап retrieval pipeline, на котором исходный пользовательский запрос автоматически переформулируется для повышения качества поиска и релевантности извлекаемых документов.
Определение
Query rewriting — это процесс модификации исходного запроса пользователя с целью сделать его более подходящим для поисковых и retrieval-систем. Переписывание может включать уточнение формулировок, добавление недостающего контекста, устранение двусмысленности, расширение синонимами или приведение запроса к форме, лучше согласованной с индексом документов. В современных RAG-системах query rewriting часто выполняется с помощью LLM и является критическим фактором качества.
Как работает
1. Анализ исходного запроса
- определение намерения пользователя (факт, инструкция, сравнение);
- выделение сущностей и ключевых терминов;
- детекция недосказанности или разговорной формы;
- распознавание домена.
2. Типы переписывания
Lexical rewriting
- удаление стоп-слов;
- нормализация терминов;
- приведение к каноническим названиям.
Semantic rewriting
- перефразирование запроса;
- явное добавление скрытого контекста;
- устранение двусмысленности.
Query expansion
- добавление синонимов;
- учёт альтернативных терминов;
- включение доменных ключевых слов.
Decomposition
- разбиение сложного запроса на подзапросы;
- последовательный retrieval по шагам;
- агрегация результатов.
3. Реализация через модели
- правила и шаблоны (legacy search);
- LLM-based rewriting (instruction-tuned модели);
- dual-pass retrieval: raw query + rewritten query;
- multi-query generation с последующим объединением результатов.
4. Интеграция в pipeline
Переписанный запрос используется:
- как основной вход в retrieval;
- параллельно с оригинальным запросом;
- для генерации нескольких вариантов поиска с последующей fusion.
Где применяется
- RAG-системы и LLM-ассистенты.
- Корпоративные поисковые движки.
- Поиск по документации и базам знаний.
- Юридический и технический поиск.
- Мультимодальный retrieval.
Практические примеры использования
В RAG типовой сценарий: пользователь задаёт разговорный вопрос, LLM переписывает его в формализованный запрос с явными сущностями и техническими терминами, после чего выполняется hybrid retrieval. Часто применяется multi-query rewriting, где 3–5 альтернативных формулировок увеличивают recall.
В сложных системах query rewriting используется совместно с reranker: сначала расширенный поиск, затем жёсткая фильтрация кандидатов.
Ключевые свойства
- Повышение recall без изменения индекса.
- Снижение зависимости от формулировки пользователя.
- Гибкость под разные домены.
- Прямая интеграция в retrieval pipeline.
- Особая ценность для разговорных запросов.
Проблемы и ограничения
- Риск смещения смысла запроса.
- Генерация нерелевантных расширений.
- Рост латентности при multi-query подходах.
- Сложность контроля качества LLM-rewriting.
- Зависимость от доменной адаптации.
Преимущества и ограничения
- Плюс: заметное улучшение полноты и устойчивости поиска.
- Минус: требует аккуратной валидации и мониторинга.
Связанные термины
- Retrieval pipeline
- Query expansion
- Hybrid search
- RAG
- Reranker