Разработка MVP для стартапов в Ташкенте

Поисковик-агрегатор объявлений с распознаванием характеристик

Объявления из внешних площадок и мессенджера собираются в один поиск: дедупликация по трём сигналам, нормализация и модель, вытаскивающая характеристики из текста.

сигнала дедупликации: телефон, отпечаток текста, хеш изображения
3
внешних источника плюс каналы мессенджера
4

Задача

Одно и то же объявление живёт сразу на четырёх площадках и ещё в трёх каналах мессенджера, каждый раз с другим текстом, другими фотографиями и другой ценой. Человек, который ищет машину, вынужден обойти всё это руками и всё равно упустит половину.

Сложность агрегатора не в том, чтобы собрать объявления. Она в том, чтобы понять, что четыре записи — это один и тот же автомобиль.

Решение

Система разложена на три слоя: сбор, обработка, выдача.

Дедупликация держится на трёх независимых сигналах. Телефон продавца работает как сильный признак, отпечаток текста ловит переписанные описания, хеш изображения находит те же фотографии в другом порядке и другом размере. Ни один сигнал в одиночку не надёжен, вместе они дают устойчивый результат.

Характеристики вытаскивает языковая модель. Продавец пишет свободным текстом, а поиску нужны поля: год, объём, коробка, состояние. Регулярные выражения здесь проигрывают на первой же нестандартной формулировке.

Архитектура и реализация

Как устроено:
· сбор из четырёх внешних площадок и каналов мессенджера, каждая площадка в своей очереди
· нормализация и приведение к общему справочнику
· дедупликация по телефону, отпечатку текста и хешу изображений
· извлечение характеристик языковой моделью
· поисковый индекс с фильтрами по характеристикам
· фильтр свежести, отсекающий протухшие объявления
· фронтенд с серверной отрисовкой ради поисковых систем

Стек: Python с очередями Celery, PostgreSQL, поисковый движок Meilisearch, объектное хранилище, Next.js, Docker, языковая модель для разбора текста.

Результат

Три направления в одном поиске: машины, телефоны, дома. Проект работает на проде и активно развивается.

Здесь же наш рабочий пример того, что означает «внедрение ИИ» на практике. Не чат на сайте, а модель внутри конвейера обработки, у которой есть измеримая работа: превратить свободный текст продавца в поля, по которым можно фильтровать.
IT-решения для FinTech и платёжных компаний в Ташкенте
2021 год регистрации организации Центральным банком

Платёжная организация с лицензией: биллинг, мерчанты, агенты и три приложения

Полная платёжная система, построенная с нуля под лицензию Центрального банка: ядро расчётов, кабинеты мерчантов и агентов, приложения для iOS, Android и Telegram.

iOS Android Telegram Bot API PHP
IT-решения для FinTech и платёжных компаний в Ташкенте
50 терминалов самообслуживания в одной сети

Сеть терминалов самообслуживания: приём наличных и собственный биллинг

Программа для инфокиосков, которая принимает наличные, проводит платежи и сама себя защищает. Пятьдесят терминалов в Андижане на одном биллинге.

PHP MySQL Bootstrap
Онлайн-платежи для сайта и приложения в Ташкенте
до 1000 заявок в месяц на пике работы сервиса

Сервис онлайн-идентификации: до 1000 заявок в месяц

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

PHP MySQL Bootstrap

Есть идея нового продукта или нужно развить существующий?

Расскажите о задаче. Мы изучим её и предложим технически и экономически разумный вариант реализации.

Ответим в течение рабочего дня · Telegram @sbunyod

Поисковик-агрегатор объявлений с распознаванием характеристик Обсудить проект