Обновить
47.03

Поисковые технологии *

От AltaVista до Яндекса

Сначала показывать
Порог рейтинга
Уровень сложности

Как в Netflix сделали поиск по федеративному графу

Время на прочтение11 мин
Количество просмотров2.3K

За последние несколько лет те, кто занимается в Netflix направлением Content Engineering, перевели множество служб компании на использование федеративной платформы GraphQL. Этот процесс продолжается и сегодня. Применение федерации GraphQL даёт командам, отвечающим за различные предметные области, новые возможности. Теперь они могут, независимо от других команд, создавать и использовать собственные графовые службы, относящихся к сфере их деятельности (Domain Graph Service, DGS). Команды, кроме того, могут связывать свои предметные области с другими областями в унифицированной схеме GraphQL, доступ к которой даёт федеративный шлюз.

Давайте, в качестве примера, рассмотрим три главнейшие сущности этого графа.

Читать далее

Семантический поиск (homemade)

Уровень сложностиСредний
Время на прочтение127 мин
Количество просмотров8.5K

Основой семантического поиска может являться ML задача Sentence Similarity, а если быть еще конкретнее, то это Semantic Textual Similarity. Модели, обученные под эту задачу, способны оценивать насколько близки предложения по своему смыслу. Всё, что нам дальше остается, так это засунуть модель в некоторую поисковую систему...

Но тут давайте по порядку

Как мы апгрейднули поисковик в приложении Купера с помощью fastText и XGBRanker

Время на прочтение5 мин
Количество просмотров1.5K

Привет, Хабр! Меня зовут Аня Южанина, я работаю ML-инженером в Купере (ex-СберМаркет). Сегодня я расскажу о межретейлерном поиске. Это когда вы ищете какой-то товар и Купер показывает этот товар в ассортименте разных ретейлеров. Зачем вообще нужен такой поиск и как внедрить умное ранжирование магазинов?

Читать далее

OpenAI представила прототип поисковика SearchGPT, который может убить Google

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.4K

В мире технологий и искусственного интеллекта произошло значительное событие: компания OpenAI анонсировала запуск SearchGPT - прототипа новой поисковой системы, основанной на передовых моделях ИИ. Ее запуск может стать поворотным моментом в индустрии поисковых систем, бросив вызов Google и другим традиционным поисковикам.

Читать далее

Дизайн встраиваемой базы данных для ANN запросов: MusyaDB

Уровень сложностиСложный
Время на прочтение23 мин
Количество просмотров4.5K

Я решил задизайнить встраиваемую базу данных. Это даст вам почувствовать вкус настоящего инженерного искусства. Статья получилась размером с небольшую книгу и разбивается на две больших статьи. В первой части мы поймем с чего вообще начинается дизайн таких систем, выберем алгоритмы и модель вычислений.

Читать далее

ElasticSearch — поиск последовательности в тексте

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров4.7K

Привет! На связи Аркадий из Т-Банка, мы по прежнему делаем TQM, и в этой статье покажу, как мы решили задачу с поиском последовательностей в тексте коммуникаций. Это работает как на простых цепочках из словосочетаний по порядку, так и на сложных кейсах — со временем фразы, каналом «клиент — оператор». Мы по прежнему работаем с ElasticSearch, оставляя возможность “накрутить” на поиск по тексту такие вещи как RAG, LLM и другие модные технологии. 

Несколько ограничений для сегодняшней задачи:

- Нелинейное возрастание сложности запроса при увеличении количества фраз. Поэтому предел у нас 4.

- Шаг тайминга мы выбрали 5 секунд. После каждой фразы ставим метку времени или несколько меток, если фраза заняла больше 5 секунд. Если сделать шаг слишком мелким это позволит искать более точно, но замусорит наше поле метками времени. Кажется, это тот момент когда лучше заранее договориться о требованиях.

А теперь к самому интересному. Добро пожаловать под кат!

Читать далее

Разбираемся с Vespa. Часть 1

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.6K

Эта статья открывает серию из трёх материалов, посвящённых работе с поисковой системой хранения данных Vespa.

Из этой статьи вы узнаете:

1) Как настроить конфигурацию Vespa.

2) Как запустить сервер конфигурации Vespa в Docker.

3) Как выглядит структура схемы данных.

4) Как выполнить фильтрацию полей в результатах поиска.

5) Как отключить валидацию схемы данных и файла конфигурации для локальной отладки.

Читать далее

Рекомендации нашей мечты: Как «Баннерная крутилка» Яндекса делает 700 тысяч RPS и подбирает для вас рекламу

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.2K

Зачем бариста земснаряд, а электромонтеру перкуссионный массажёр? Как так получается, что стоит только подумать об отпуске, как все баннеры предлагают путёвки в Дагестан? И почему после одного-единственного запроса о поворотниках для BMW ещё месяц продолжают крутиться объявления о покупке б/у запчастей? За всё это отвечает «Баннерная крутилка». Сервис обрабатывает 99% запросов всего за 200 миллисекунд, использует ML и серьёзно экономит ресурсы компании.

И вот, как это всё работает

Как мы делали умного помощника: Use Case внедрения умного чат-бота на основе подхода «Карта знаний» и LLM GigaChat

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.3K

Привет, Habr! Меня зовут Александр Сулейкин, архитектор Big Data решений, к. т. н. и CEO ИТ‑компании «ДЮК Технологии». Совместно с нашим экспертом по внедрению LLM, Анатолием Лапковым, мы подготовили статью по теме внедрения умного помощника в крупной некоммерческой организации. Под капотом — базовая модель от Сбера GigaChat, однако вся обвязка и подход к решению задачи — наши собственные. И это то, о чем пойдет речь в статье.

Читать далее

Я могу один раз ошибиться! Как разработать нейронку для исправления опечаток в поиске

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.2K

Всем привет! Меня зовут Аня Власова, я работаю ML-инженером в Купере (ex СберМаркет), а именно — в команде поиска. Сегодня я расскажу про нашу нейросетевую модель, которая стои́т на страже корректных поисковых запросов. Вы наверняка найдете пару инсайтов в этой статье, если тоже разрабатываете сервисы поиска или просто интересуетесь языковыми нейронками.

Читать далее

Итоги года соло-разработки поискового движка на средства гранта

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6K

Год назад я в последний раз вышел из офиса. В тот день я сдал свой корпоративный ноутбук, попрощался с коллегами и, наконец, стал сам себе начальником.

Работа в течение последующего года спонсировалась грантом компании NLnet, который я как раз почти израсходовал. На текущий момент вся работа выполнена, и я отправил последний запрос на выделение средств.

Оба этих события дарят ощущение лёгкости, как в последний учебный день в школе.

Работа, спонсируемая грантом, заканчивается, но разработка поискового движка продолжается. Независимое финансирование этого проекта запланировано на гораздо больший срок. Если ничего не изменится, его разработка должна завершиться к концу 2026 года.

В текущей статье я решил поделиться своим опытом, оглянувшись на проделанную работу, а также прикинуть перспективы на будущее.
Читать дальше →

Он победил LLM RAG: реализуем BM25+ с самых азов

Уровень сложностиПростой
Время на прочтение18 мин
Количество просмотров20K

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

Статья подойдет тем, кто вообще ничего не знает о поиске, а более опытные ребята могут пролистать до реализации алгоритма.

Код доступен в Google Collab.

Читать далее

Производительность Windows 11 «комически низкая», в интерфейс внедряют рекламу. Люди возвращаются на Windows 10

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров65K


На рынке операционных систем происходит странное. Доля Windows 11 не растёт, как положено для новинки, а снижается. Согласно апрельской статистике Statcounter, после достижения рекордного показателя 28,16% в феврале 2024 года доля Windows 11 упала до 26,19% в апреле.

Тем временем доля Windows 10 за тот же период приблизилась к 70%. И это после того, как Microsoft объявила о завершении поддержки Windows 10 в октябре 2025 года.

Что вообще происходит?
Читать дальше →

Ближайшие события

Драма в Fediverse

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.4K

Привет Хабр. В свободное время я поддерживаю бесплатный сервис Авакари. Основная его функция - фильтрация сообщений из многих тысяч разных источников (RSS, Telegram, Fediverse, ...). В двух словах, вы определяете критерии поиска, Авакари "просеивает" то, что вам интересно и присылает результаты. Интеграция с Fediverse появилась недавно и содержала на своём пути нетехнологические грабли, к которым автор не привык. В этой статье я расскажу о них, возможно, мой опыт будет кому-то полезен.

Читать далее

Простыми словами про метрики в ИИ. Классификация. Confusion matrix, Accuracy, Precision, Recall, F-score, ROC-AUC

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров14K

Привет, Хабр! Меня зовут Александр Троицкий, я автор канала AI для чайников, и я расскажу про метрики классификации! Само собой, в интернете очень много материала про эти метрики, но я попробую описать их максимально простым языком с простыми примерами.

Зачем вообще нужны метрики в моделях ИИ? Чаще всего их используют, чтобы сравнивать модели между собой, абстрагируясь от бизнес метрик. Если вы будете смотреть только на бизнес-метрики (например, NPS клиентов или выручка), то можете упустить из-за чего реально произошло снижение или повышение показателей вашего бизнеса. Например, вы сделали новую версию модели лучше предыдущей (метрики модели лучше), но в то же самое время пришёл экономический кризис и люди перестали покупать ваш продукт (упала выручка). Если бы в этой ситуации вы не замеряли показатели модели, то могли бы подумать, что из-за новой версии модели упала выручка, хотя упала она не из-за модели. Пример довольно простой, но хорошо описывает почему нужно разделять метрики модели и бизнеса.

Для начала надо сказать, что метрики моделей бывают двух типов в зависимости от решаемой задачи:

1. Классификации - это когда вы предсказываете к чему именно относится то или иное наблюдение. Например, перед вами картинка и вы должны понять, что на ней, а ответа может быть три: это либо собачка, либо кошечка, либо мышка.

К одному из под-методов классификации относится бинарная классификация: либо единичка, либо нолик. То есть мы предсказываем либо перед нами кошечка, либо это не кошечка.

Читать далее

Найти золото в потоке

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.2K

Поиск в интернете - это поиск иголки в стоге сена. В случае поиска в потоке в режиме реального времени это скорее просеивание золота. Обычные стиральные порошки поисковые системы, вроде Google или Bing выполняют поиск только в прошлом. Поэтому они не помогут в поиске чего-либо, что может произойти в будущем. В этой статье я расскажу о том, как не пропустить важные новости, выгодные предложения, упоминания чего-либо или кого-либо.

Читать далее

Как сервер с моим проектом был удалён вместе с бэкапами

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров52K

Не так давно на Хабре была небольшая волна постов и комментариев о том, как можно быстро и эффективно потерять данные своего проекта - неработающие или отсутствующие бэкапы, ошибки "железа" и прочие радости инженеров DevOps. Тогда я это всё прочитал с интересом - всегда же любопытно почитать про чужие факапы (про свои неинтересно). Через несколько дней я вдруг оказался среди таких же несчастных "уже делающих бэкапы".

Немного контекста - у меня есть свой домашний проект, которым я занимаюсь в свободное от работы время. Проект этот - UGC-сайт. Лента постов пользователей, если по-нашему. Вот он - https://vombat.su, вдруг кому-то интересно. Проект существует с сентября, есть своя аудитория, пара модераторов и довольно лояльные правила. На проекте нет рекламы, т.е. он некоммерческий (не считая донатов, которые иногда прилетают от благодарных пользователей). Даже антикоммерческий слегка, т.к. на него я только трачу - даже периодически мерч пользователям отправляю.

Читать далее

Не вырубишь топором… — ВКонтакте хранит удаленные публикации

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров22K

Некоторые изменения в законодательстве и инцидент с Алексеем Вишней заставили многих пользователей соц.сетей тщательно почистить свои странички от старых публикаций. Но удаляются ли на самом деле крамольные высказывания с серверов или хранятся вечно и при запросе заинтересованных людей могут быть приобщены к делу?

Давайте проверим...

RSS лента результатов поиска в Awakari

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров894

Awakari — бесплатный сервис поиска и фильтрации сообщений в режиме реального времени. Сервис ищет то, что интересно пользователю, среди тысяч сообщений в час из множества источников, таких как Fediverse, ленты RSS, каналы Телеграм.

Исторически Awakari интегрирован с Телеграм, используя его для идентификации пользователя и уведомления о результатах. В дополнение к Телеграм, теперь также доступны:

Читать далее

Поиск без границ: путь к векторному поиску в Uzum Market

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров3.9K

Привет, с вами снова Даша и Uzum Market. В прошлый раз мы глубоко погрузились в пайплайн работы поиска нашего маркетплейса, и я обещала вам вернуться с новостями о его улучшении. Так вот, время пришло, и сегодня мы поговорим про наш опыт внедрения векторного поиска!

Читать далее

Вклад авторов