Что такое поиск на основе ИИ
В ранних поисковых системах документы ранжировались по простым статистическим метрикам, например, по совпадениям слов и частоте их появления. Алгоритм BM25, ставший дефолтной моделью похожести в Lucene и Solr, суммирует веса для каждого ключевого слова и дополняет TF‑IDF дополнительными параметрами, позволяя лучше контролировать насыщение частоты и нормализацию по длине документа. AI‑поиск расширяет этот подход: он стремится понять смысл запроса и документа, а не только совпадение символов. Вместо простого суммирования весов система учитывает семантическую близость, пользовательские сигналы и знания о предметной области.
Три опоры намерения пользователя. Книга подчёркивает, что качественный поиск невозможен без одновременного учёта трёх источников информации:
- Контент: характеристики текста и метаданные документов. Нормализация текста включает фильтрацию шумовых слов, стемминг/лемматизацию и удаление акцентов, после чего документы группируются в корпус, а поисковые запросы фильтруют корпус в подмножество релевантных документов.
- Пользователь: контекст пользователя (местоположение, история запросов, профиль, предыдущие взаимодействия) помогает лучше понять его намерения. Для этого поисковая система должна собирать и анализировать сигналы о кликах, времени пребывания на странице, возвратах и других поведенческих метриках.
- Домен: знание предметной области (товарный каталог, бизнес‑правила, терминология) помогает правильно трактовать запрос. Современные системы используют таксономии, онтологии и графы знаний, которые определяют отношения между объектами и понятиями; например, «таксономия» классифицирует сущности по категориям, «онтология» описывает взаимосвязи между типами сущностей, а граф знаний — конкретные экземпляры и их связи.
Развитие поисковых систем проходило от простого совпадения ключевых слов через ручную настройку факторов к самообучающимся системам. Организации начинают с базового текстового поиска и со временем добавляют настройку веса полей, бустинг, расширение словарей и другие функции. В конечном итоге они приходят к необходимости автоматической интерпретации запросов, знания предметной области и персонализации. Современные пользователи ожидают, что поиск будет контекстным, персонализированным, разговорным и мультимодальным — системы должны понимать текст, голос, изображения и события.
Архитектура AI‑поиска
Стандартная архитектура AI‑поиска состоит из нескольких этапов:
- Индекс и анализ текста. Документы хранятся в инвертированном индексе: для каждого слова хранится список документов, где оно встречается. Перед индексацией выполняется анализ текста: удаление стоп‑слов, стемминг или лемматизация, нормализация акцентных знаков и т. д..
- Нормализация запроса. Запрос пользователя приводится к канонической форме: исправляются опечатки, слова приводятся к базовой форме, идентифицируются ключевые фразы и сущности. Иногда используются правила переформулировки (например, «NYC» → «New York») и семантическое расширение запроса через синонимы и концепты.
- Извлечение кандидатов. На этом шаге собирается большой пул документов, потенциально подходящих под запрос. Используются:
- Лексический поиск по инвертированному индексу (BM25). Для грубого отбора оценивается совпадение слов и формул.
- Семантический поиск по векторным представлениям текста. В книге объясняется концепция распределительной семантики: слова, встречающиеся в похожих контекстах, имеют похожие значения. Документы и запросы кодируются в векторы (эмбеддинги), между которыми затем измеряется косинусная близость. Различают плотные векторные представления (dense vectors), содержащие значение для каждого возможного слова, и разреженные представления (sparse vectors), в которых хранятся только ненулевые элементы. Для ускорения семантического поиска применяются алгоритмы approximate nearest neighbors (ANN), что позволяет быстро находить ближайшие вектора.
- Лексический поиск по инвертированному индексу (BM25). Для грубого отбора оценивается совпадение слов и формул.
- Ранжирование. Отобранные кандидаты сортируются по мере релевантности. Базовый подход — подсчёт функции BM25; затем результаты корректируются в соответствии с бустингом сигналов (свежесть, популярность, гео‑признаки, совпадение фраз и т.п.). Книга перечисляет распространённые техники бустинга: повышение веса для более новых документов, более популярных элементов, совпадений в важных полях, принадлежности к нужной категории и точных фразовых совпадений. Для объединения нескольких признаков используются как аддитивные, так и мультипликативные схемы; пример функции, объединяющей четыре признака (ключевое совпадение BM25, геодистанцию, дату и популярность) показывает, как каждому признаку назначается свой вес.
- Обратная связь и самообучение. Поведение пользователей — клики, время просмотра, возвраты — трактуется как сигналы, которые позволяют системе корректировать ранжирование. По сути, AI‑поиск использует две группы «топлива»: контент (документы) и сигналы (пользовательские действия). Эти данные участвуют в петлях обратной связи и становятся двигателем улучшения релевантности.
Методы работы с текстом
TF‑IDF
TF‑IDF («term frequency – inverse document frequency») — одна из базовых метрик релевантности:
TF–IDF=TF×IDF2 \text{TF–IDF} = TF \times IDF^2\,TF–IDF=TF×IDF2
где TF измеряет, насколько часто термин встречается в документе, а IDF отражает редкость термина во всём корпусе. Эта формула уравновешивает вес слов: часто встречающиеся в документе термины повышают релевантность, но общие слова («и», «в», «на») получают низкий IDF и не доминируют в оценке.
BM25
BM25 — развитие TF‑IDF, учитывающее длину документов и насыщение частоты. Формула (здесь приведены ключевые части) включает параметры k и b:
score=IDF(t)⋅TF(t,d)⋅(k+1)TF(t,d)+k⋅(1−b+b⋅∣d∣/avgdl),\text{score} = IDF(t) \cdot \frac{TF(t,d) \cdot (k + 1)}{TF(t,d) + k \cdot \bigl(1 – b + b \cdot |d|/\text{avgdl}\bigr)},score=IDF(t)⋅TF(t,d)+k⋅(1−b+b⋅∣d∣/avgdl)TF(t,d)⋅(k+1),
где |d| — длина документа, avgdl — средняя длина документов, k — параметр насыщения (обычно ≈1.2), b — параметр нормализации длины (обычно ≈0.75).
IDF вычисляется как log(1+N−n+0.5n+0.5)\log\bigl(1 + \frac{N – n + 0.5}{n + 0.5}\bigr)log(1+n+0.5N−n+0.5), где N — количество документов, n — число документов, содержащих термин; TF нормализуется по длине документа ∣d∣|d|∣d∣ и среднему avgdl\text{avgdl}avgdl. Эти параметры позволяют управлять тем, насколько каждое повторение слова увеличивает оценку и как компенсировать длинные тексты.
Морфологический анализ и нормализация
Перед индексированием текст подвергается нормализации: удаляются стоп‑слова и шумовые символы, слова приводятся к базовой форме (стемминг/лемматизация), убираются диакритические знаки. Эта обработка помогает снизить размер индекса и улучшить сравнимость документов.
Синонимы, таксономии и онтологии
- Альтернативные ярлыки (Alternative Labels) — эквивалентные последовательности терминов, например «CTO» и «Chief Technology Officer».
- Синонимы — последовательности терминов, описывающие одно и то же понятие; например, «software engineer» и «software developer». Синонимы могут служить как заменой, так и расширением запроса.
- Таксономии — иерархические классификации объектов (человек → млекопитающее → животное).
- Онтологии — более богатые структуры, описывающие отношения между типами сущностей (например, «человек является животным», «животное ест пищу»).
- Графы знаний — конкретные экземпляры онтологий: помимо абстрактных типов, они содержат реальные сущности и их отношения («Майкл — CMO», «Майкл подчиняется Марсии», «Марсия — CEO»).
Эти модели позволяют системе понимать взаимосвязи между терминами, корректировать опечатки и расширять запросы, повышая полноту и точность результатов.
Семантический поиск и эмбеддинги
Семантический поиск стремится выйти за рамки точных совпадений слов. В основе лежит распределительная семантика, согласно которой слова, встречающиеся в похожих контекстах, имеют схожие значения. В книге описываются ключевые компоненты семантического поиска:
- Векторные представления (эмбеддинги). Каждое слово, фраза или документ кодируется в числовой вектор. Плотные векторные представления хранят значение для каждой возможной размерности, тогда как разреженные — только для важных признаков. Схожесть между запросом и документом измеряется, например, косинусом между их векторами.
- Поиск ближайших соседей. Для быстрого сравнения эмбеддингов используются алгоритмы approximate nearest neighbors (ANN). Открываются специализированные векторные БД (Milvus, Pinecone), а также поисковые движки с поддержкой тензоров (Vespa), которые позволяют объединять текстовый и векторный поиск.
- Гибридные модели. На практике часто комбинируют лексический поиск (BM25) и векторный поиск: сначала по ключевым словам отбираются кандидаты, а затем они переупорядочиваются по семантической близости. Такая гибридная схема обеспечивает «лучшее из двух миров»: точность ключевого поиска и гибкость семантики.
Ранжирование и релевантность
После извлечения кандидатов система должна упорядочить документы по значимости. Три уровня повышения релевантности:
- Базовое ранжирование. Реализация BM25 и других формул позволяет рассчитать начальный счёт релевантности для каждого документа. Формула BM25 учитывает частоту слов, их редкость и длину документа.
- Бустинг сигналов. Для улучшения качества выдачи к основному счёту добавляются дополнительные признаки: свежесть документа, популярность (клики, покупки), близость к пользователю по геолокации, совпадения в важных полях, принадлежность к нужной категории, точные фразовые совпадения и даже семантическое расширение. В примерах показаны запросы, где релевантность формируется суммированием нескольких функций, каждая из которых масштабируется до единого диапазона (например, 0–25), что позволяет динамически менять веса признаков.
- Learning‑to‑Rank (LTR). Ручное подбирание весов — трудоёмкий процесс. Методика обучения моделей ранжирования: на основе списков релевантных документов (явных или имплицитных) строится классификатор ранжирования, который после тренировки используется для переупорядочивания результатов. Процесс LTR обычно включает начальную сортировку документами по BM25, затем запуск более сложной модели (RankNet, LambdaMART) для топ‑N документов. Эта схема позволяет получить более интеллектуальную выдачу без потерии скорости.
Интерпретация запроса
AI‑поиск уделяет большое внимание тому, чтобы правильно понять намерение пользователя. Ключевые аспекты:
- Классификация намерения. Система оценивает контекст пользователя (место, история, профиль), контекст запроса (похожие запросы, соседние ключевые слова) и контекст домена (каталог, бизнес‑правила, терминология) для определения, что именно ищет человек.
- Переформулировка запроса. Опечатки исправляются, слова приводятся к канонической форме, запрос расширяется синонимами и терминами из онтологий. Например, граф знаний может связать «NYC» с «New York City», а знания о домене помогут трактовать аббревиатуры и жаргонные выражения.
- Использование графов знаний. Таксономии, онтологии и знаниевые графы обеспечивают структурированное понимание сущностей, отношений и иерархий, помогая системе избегать двусмысленностей и находить релевантные документы даже при отсутствии точного совпадения ключевых слов.
Роль пользователя в поиске
Пользовательские данные — второй тип «топлива» AI‑поиска. Каждый запрос и взаимодействие пользователя генерирует сигналы:
- Клики и просмотры. Количество кликов, глубина просмотра и время на странице (dwell time) дают представление о полезности результатов. Эта информация используется в петлях обратной связи для корректировки выдачи.
- Поведенческие модели. Системы анализируют популярные запросы, выбирают документы, которые следует бустить, и обучают модели ранжирования на основе кликов и оценок. Книга подчёркивает важность обработки сигналов в режиме реального времени и необходимости инфраструктуры для их сбора и анализа.
- Риски манипуляций. Авторы предупреждают, что чрезмерное доверие пользовательским сигналам может привести к закольцованности (одни и те же результаты будут постоянно усиливаться), а также к накрутке кликов. Поэтому сигналы комбинируются с контентом и другими факторами, применяется случайная подмешка новых результатов и A/B‑тестирование.
RAG и генеративный поиск
Многие современные модели глубокого обучения работают как непрозрачные сети и затрудняют объяснение результатов. Используйте ИИ для автоматизации, но с возможностью человека контролировать и корректировать модель. Такой подход обеспечивает баланс между мощью генеративных моделей и надёжностью традиционного поиска.
Будущее AI‑поиска
- Мультимодальные запросы. Пользователи хотят искать не только по тексту, но и по голосу, изображениям, видео и событийным данным. Ожидается, что поиск будет отзываться на несколько типов входных данных и комбинировать результаты.
- Персонализация. Оптимальная релевантность достигается на пересечении традиционного поиска, коллаборативных рекомендаций и знаний о домене. Это означает, что система должна учитывать не только текст запроса, но и предпочтения конкретного пользователя, а также связи между элементами в графе знаний.
Короче
Современный поиск — это гораздо больше, чем сопоставление ключевых слов. Это комплексная экосистема, сочетающая лексические модели, семантику, сигналы пользователя, графы знаний и машинное обучение. Реализация AI‑поиска требует инвестиций в инфраструктуру для сбора контента и сигналов, работы с большими данными, обучения моделей ранжирования и анализа естественного языка. Результатом является постоянно улучшающаяся система, которая лучше понимает пользователей, контент и предметную область, предоставляя максимально релевантные ответы на их вопросы.