Информационный поиск
Query Understanding
Google обрабатывает 8.5 миллиарда запросов в день. 15% с опечатками, 25% с неявным смыслом ('mercury' - какой из 4?), многие требуют expansion ('heart attack' = 'инфаркт миокарда'). Без query understanding поиск работал бы как CTRL+F: точное совпадение букв. Query understanding - разница между поисковиком 1995 года и Google 2024: понимание того что имел в виду пользователь, а не только что написал.
- **Google BERT (2019)** - language model для query understanding; улучшил 10% запросов особенно длинных conversational; 'do no harm' vs 'harm no one' - разный смысл, BERT понимает
- **Amazon Product Search** - spell correction + synonym expansion + intent (buy vs browse) + entity linking к product catalog; 'blue denim jacket winter men medium' -> разбивает на атрибуты, ищет по каждому
- **Spotify Voice Search** - speech-to-text + spell correction + entity linking к каталогу (2 млрд треков); 'play something like Post Malone but more chill' -> intent (recommendation) + entity (Post Malone Q24217) + attribute (chill/mellow mood)
Spell Correction
Google обрабатывает 8.5 миллиарда запросов в день. 15% содержат опечатки. Без spell correction 'phython programming' не найдёт урок по Python. Первая строчка query understanding pipeline - исправление ошибок.
Подходы: **Edit distance** (Levenshtein): минимум операций (insert/delete/replace/transpose) для преобразования слова. **Noisy channel model**: P(correction | misspelling) ∝ P(misspelling | correction) * P(correction). **Neural**: seq2seq модели (T5 fine-tuned). **Context-aware**: 'paris hilton' vs 'paris france' - контекст определяет правильное исправление.
Почему контекстно-зависимая коррекция (context-aware) превосходит изолированную (per-word) для поисковых запросов?
Query Expansion
Пользователь ищет 'сердечный приступ'. В документах написано 'инфаркт миокарда', 'острый коронарный синдром'. Точное совпадение не найдёт ничего. **Query expansion** добавляет синонимы, связанные термины, переформулировки - расширяет recall не теряя precision.
Методы: **Thesaurus-based** (WordNet, медицинские онтологии UMLS). **PRF** (Pseudo-Relevance Feedback): взять top-K результатов, извлечь термины из них, добавить к запросу. **Neural expansion**: T5/GPT генерирует альтернативные формулировки запроса. **HyDE** (Hypothetical Document Embedding): LLM генерирует гипотетический документ-ответ, его embedding используется для поиска.
В чём идея HyDE (Hypothetical Document Embedding) для RAG поиска?
Intent Detection
Запрос 'python' может означать: язык программирования (информационный интент), курс Python (транзакционный), Wikipedia страницу о змее (навигационный). Google распознаёт интент через BERT-based классификатор и показывает разные результаты для разных интентов.
**Intent taxonomy** (Broder 2002): **Informational** (узнать что-то), **Navigational** (найти сайт), **Transactional** (купить/скачать/действие). Современные системы: десятки intent-классов (how-to, definition, comparison, local, news...). **Intent detection**: fine-tuned BERT + multi-label классификация. Влияет на: ranking, featured snippets, результаты типа (Knowledge Graph vs organic vs map).
Почему intent detection важен для ранжирования результатов поиска?
Entity Linking
Google Knowledge Graph хранит 500 миллиардов фактов о 5 миллиарда сущностей. Запрос 'mercury' - это планета Меркурий, химический элемент, Queen или автомобиль Ford? **Entity linking** распознаёт упомянутые сущности в тексте и связывает их с узлами knowledge graph.
Entity linking pipeline: (1) **NER** (Named Entity Recognition): найти spans сущностей ('Apple', 'Tim Cook'); (2) **Candidate generation**: найти кандидатов из knowledge base (Apple Inc, Apple Records, Apple the fruit); (3) **Disambiguation**: выбрать правильного кандидата по контексту. Используется в: Knowledge Panels, Rich Snippets, question answering.
Query understanding - это только spell correction и синонимная замена
Modern query understanding - многоуровневый pipeline: spell correction -> tokenization -> entity recognition -> intent classification -> query expansion -> rewriting. Google использует 200+ signals только для query understanding. BERT в Google Search (2019) улучшил понимание 10% запросов - особенно длинных и разговорных.
Простая синонимная замена работала в 2005. Сегодня: 'что посмотреть если понравился Интерстеллар' - нет синонимов, нужно понять intent (рекомендации sci-fi с похожей тематикой), entity linking (Интерстеллар -> Q656290), expansion (time dilation, Christopher Nolan, space opera). Вся цепочка работает в <100ms.
Зачем Google строит Knowledge Graph из 500 миллиардов фактов для поиска?
Ключевые идеи
- **Spell correction**: Levenshtein + noisy channel P(word) * P(error|word); context-aware (seq2seq T5) для слов корректных изолированно но неверных в контексте
- **Query expansion**: WordNet синонимы, PRF (термины из top-K), neural (T5/doc2query), HyDE (гипотетический документ-ответ для embedding поиска)
- **Intent detection**: informational / navigational / transactional / local / how-to; BERT fine-tuned; определяет тип результатов и ранжирование
- **Entity linking**: NER -> candidate generation -> disambiguation через контекст; Google Knowledge Graph 500B фактов -> Knowledge Panels, direct answers
Связанные темы
Query understanding - первый шаг pipeline поиска:
- Vector Databases — Expanded query embedding ищется в vector DB; HyDE требует vector search по hypothetical document
- Ранжирование и relevance — Intent detection влияет на feature engineering для learning-to-rank
Вопросы для размышления
- Google обрабатывает 8.5 миллиарда запросов/день, из них 15% с опечатками. Spell correction должен работать за <10ms. Как приоритизировать быстрый Levenshtein vs медленный neural seq2seq - где граница и как её определить?
- HyDE для RAG: LLM генерирует гипотетический ответ который потом ищется в базе. Какие классы запросов выиграют от HyDE vs обычного query embedding, а для каких HyDE даст хуже результаты?
- Amazon: запрос 'iPhone case' - navigational (к Apple) или transactional (купить чехол)? Как intent detection влияет на то какие продавцы появятся первыми и как Amazon балансирует коммерческий интент с органической релевантностью?