Вход Блог
Строительство и ремонт
Репетиторы
Красота
Фрилансеры
Разные специалисты
Уход за животными
Тренеры
Автоинструкторы

Data scientist — удалённая работа в Москве

Дата: 2026-06-21
Детали
Регион
Москва
Занятость
дистанционно
Стоимость
договорная
Дата публикации
2026-06-21
Описание
Разработка с нуля. 1. Цель и назначение продукта Разработать Telegram-юзербота для автоматизированного сбора коммерческих условий (стоимость и сроки размещения рекламных постов) у владельцев и администраторов Telegram-каналов. Юзербот выступает в роли агента по закупке рекламы, имитируя поведение живого пользователя для получения максимально полных и достоверных ответов . 2. Термины и определения • Юзербот (Userbot) — скрипт, управляющий действиями от лица обычного аккаунта Telegram, а не бота (с токеном от@BotFather). Это критично для обхода ограничений, так как боты часто не могут инициировать диалоги с незнакомыми пользователями . • Таргет — аккаунт (канал) пользователя Telegram, которому отправляется запрос. • Аккаунт-исполнитель — учетная запись Telegram, через которую юзербот совершает действия. • Варминг (Прогрев) — процесс имитации естественной активности аккаунта для повышения его репутации в системе безопасности Telegram . 3. Требования к аккаунтам-исполнителям Система должна поддерживать работу с несколькими аккаунтами-исполнителями для масштабирования и снижения риска бана. • Ввод аккаунтов: Добавление через api_id, api_hash (получить на my.telegram.org) и номер телефона. Поддержка сессий Pyrogram/Telethon . • Прогрев (Warmup): Обязательное условие перед началом работы. Аккаунт должен быть «прогрет»: o Установлен аватар, имя, био. o Аккаунт должен иметь историю переписки с несколькими контактами (2-3 дня минимальной активности). o Инструмент для автоматического прогрева может быть предоставлен отдельно или реализован в базовом функционале . • Мониторинг статуса: Аккаунт должен периодически проверять свой статус через @SpamBot и сообщать о блокировках . 4. Функциональные требования к боту 4.1. Управление списком таргетов • Загрузка списка: В системе должен быть предусмотрен интерфейс (например, загрузка CSV/TXT файла или ввод через консоль/веб-интерфейс) со списком юзернеймов или ID каналов/пользователей. • Очередь и скорость отправки: Система должна автоматически распределять таргеты по аккаунтам-исполнителям. Главное ограничение: o Интервал между отправкой сообщений от одного аккаунта: от 10 до 30 минут. Это критично для имитации человеческого поведения и предотвращения блокировок . 4.2. Первичный диалог (Скрипт A) При первом контакте с таргетом юзербот должен отправить сообщение с запросом стоимости размещения. Текст должен быть вариативным для обхода антиспам-фильтров. • Условие: Отправить первое сообщение. • Алгоритм вариативности: 1. Сгенерировать текст из пула 50 перефразированных вариантов. 2. После использования всех 50 вариантов, начать их повторение с начала. • Примеры фраз: o «Добрый день! Подскажите, пожалуйста, какова стоимость размещения рекламного поста в вашем канале? И на какой срок обычно размещаете?» o «Приветствую! Интересуюсь прайсом на рекламную публикацию в вашем канале. Какие сроки размещения вы предлагаете?» o «Здравствуйте! Подскажите цену за пост в вашем канале и длительность его нахождения в ленте?» (и так далее, всего 50 вариантов). 4.3. Обработка ответов (Скрипт B — «Неспешное уточнение») После получения ответа от таргета, бот должен переключиться на сценарий уточнения условий. • Режим работы: Медленный, имитирующий живого человека (паузы между сообщениями, человеческая пунктуация). • Задача: Зафиксировать все условия размещения. Бот должен уметь распознавать в ответе пользователя следующие ключевые сущности и сохранять их в базу данных: o Цена: Стоимость размещения (в USD, RUB, TON или др.). Бот должен понимать разные форматы («10 баксов», «1000 рублей», «5 тон»). o Срок: Период размещения поста в канале (например, «навсегда», «на сутки», «на 3 дня», «на неделю»). o Формат поста: Есть ли особые требования к тексту, медиа, кнопкам. o Оплата: Каким способом принимают оплату. • Логика уточнения: Если в ответе не хватает какой-то информации (например, сказали цену, но забыли про срок), бот должен сгенерировать уточняющий вопрос («А на какой срок эта цена?», «Пост висит сутки или навсегда?»). 4.4. Логирование и хранение данных Система должна сохранять: • ID чата/канала. • Временные метки: Время отправки первого сообщения, время ответа таргета. • Скрипт диалога: Полную историю переписки для анализа. • Результат: Извлеченные параметры (цена, срок, валюта, способ оплаты, особые условия) в структурированном виде. • Статус обработки: В очереди, Прогрев, Сообщение отправлено, Ответ получен, Уточнение данных, Готово, Забанен (недоступен) . 5. Нефункциональные требования и безопасность 5.1. Безопасность аккаунтов • Юзербот должен использовать механизмы антидетекта, характерные для библиотек Telethon/Pyrogram . • Запрещены: Спам-бомбинг, слишком частые запросы, работа без прогрева. • Ответственность: Разработчик предупреждает заказчика о рисках блокировки аккаунтов при нарушении режимов работы и предоставляет рекомендации по безопасному использованию . 5.2. Масштабируемость Архитектура должна позволять добавлять неограниченное количество аккаунтов-исполнителей (поддерживать мультиклиентность) . 5.3. Язык и технологии • Рекомендуемый стек: Python (библиотеки Pyrogram или Telethon), так как это стандарт для разработки юзерботов на сегодняшний день . • База данных: SQLite (для старта) или MongoDB (для масштабирования и лучшей работы с неструктурированными данными) . 6. Состав работ и этапы разработки Этап Описание Результат Этап 0 Анализ и проектирование Детальная схема базы данных, сценарии диалогов (Flowchart), согласование пула из 50 фраз. Этап 1 Ядро системы Реализация мультиаккаунтности (авторизация, сессии, прогрев). Модуль управления очередью с задержкой 10-30 минут. Этап 2 Реализация скрипта A Модуль отправки сообщений с функцией ротации фраз (50+ вариантов). Этап 3 Реализация скрипта B NLP-модуль (на базе регулярных выражений или простых правил) для парсинга цен и сроков из ответов. Модуль генерации уточняющих вопросов. Этап 4 Интерфейс управления и логирование Консольная утилита или простой веб-интерфейс для управления списком таргетов и просмотра статистики. Этап 5 Тестирование Проверка сценариев «счастливый путь», «неполный ответ», «отказ», «без ответа». Этап 6 Документация и сдача Инструкция по развертыванию (Docker/Скрипты) и руководство пользователя. 7. Критерии приёмки 1. Успешно авторизовано и запущено 2 тестовых аккаунта. 2. Прогрев аккаунта выполнен автоматически (или вручную по инструкции). 3. Первое сообщение отправлено с интервалом не менее 10 минут и не более 30 минут. 4. Система корректно распознает цену и срок в ответах (тестовый набор ответов предоставляет Заказчик). 5. При неполном ответе система генерирует корректный уточняющий вопрос.
Похожие заказы

Data scientist

дистанционно
договорная
Доработка существующего продукта. Пожелания и особенности: Ищем Senior Data Engineer / Technical Lead на длительный проект в телекоме. Формат: удалённо Занятость: полная Срок проекта: до конца 2027 года Локация: РФ Гражданство: РФ / РБ График: МСК ±2 Проект: миграция ETL-процессов с Informatica PowerCenter на открытый Apache-стек: NiFi + Airflow + Greenplum Ключевые требования: • Опыт Team Lead / управления командой — от 4 лет • Сильный опыт ETL / ELT и DWH • Практический опыт миграции ETL с Informatica PowerCenter на Airflow + Greenplum • Apache Airflow — самостоятельная разработка и отладка DAG’ов • Apache NiFi — проектирование и разработка потоков • Python, pandas • Spark / PySpark • SQL, PL/SQL, хранимые процедуры и функции • Oracle, PostgreSQL, Greenplum, ClickHouse • Hadoop, Hive, Hive Metastore • Kafka и потоковая обработка данных • Grafana / Prometheus • Data Quality и автоматическая валидация результатов миграции • Опыт оптимизации сложных SQL-запросов в highload • Опыт работы с биллингом Будет плюсом: • системный анализ ETL; • перевод бизнес-требований в технические спецификации; • ER-диаграммы; • подготовка технической документации и тест-кейсов. При отклике, пожалуйста, сразу напишите: 1. Сколько лет опыта в роли Team Lead? 2. Был ли именно проект миграции Informatica PowerCenter ? Airflow / Greenplum? 3. Какой практический опыт с NiFi? 4. Есть ли опыт с биллингом?.
Москва Фрилансеры

Data scientist

дистанционно
договорная
Необходимо собрать датасет из 1000 изображений объекта с разных ракурсов\погодой\времени суток. Разовая подработка: сбор и разметка скриншотов STALZONE — 5?000 ? Ищу человека, который играет в STALZONE и поможет подготовить изображения для обучения нейросети распознавать кабанов. Что нужно сделать: * Собрать 1000 разнообразных кадров из нескольких игровых заходов: 800 с живыми кабанами и 200 без них — окружение, другие персонажи, трупы. * Снимать кабанов с разных сторон, на разных расстояниях и при разном освещении. * Удалять одинаковые и почти одинаковые кадры. * В программе CVAT выделить каждого видимого живого кабана отдельной прямоугольной рамкой с меткой `live_boar`. Рамки должны плотно охватывать объект. Трупы этой меткой не отмечать. * Передать оригинальные изображения и разметку в формате YOLO Detection, сохранив информацию, из какого игрового захода получен каждый кадр. Требования: установленная игра, возможность самостоятельно находить кабанов, внимательность. Опыт работы с CVAT будет плюсом. Оплата — 5?000 ? за весь объём. Сначала оплачиваемая пробная партия: 50 кадров за 500 ?. Она входит в общий объём и бюджет. После проверки согласуем продолжение и срок сдачи. В отклике напишите, играете ли вы в STALZONE и есть ли опыт разметки изображений.
Москва Фрилансеры

Data scientist

дистанционно
договорная
Сделать задачу и научить как это делать. Научить работать с python для анализа тональности отзывов в интернете.
Москва Фрилансеры

Программисты

дистанционно
договорная
Data Science. Разработка с нуля.
Москва Фрилансеры

Data scientist

дистанционно
договорная
Разработка с нуля. Нужно подготовить изображение чека для презентации (не для отчётности). Задача: 1. Аккуратно скрыть сумму и написать новую инструментом „Точечная восстанавливающая кисть“ или аналогом, чтобы текстура бумаги сохранилась. 2. Добавить поверх текста полупрозрачную плашку с пояснением „Сумма изменена для примера“. 3. Сохранить в PNG без сжатия». 4.поменять дату .
Москва Фрилансеры

Data scientist

дистанционно
договорная
Разработка с нуля. Пожелания и особенности: Ищу варианты чтобы набрать практики и сменить в итоге работу. Теории много, практики нет.
Москва Фрилансеры

Программисты

дистанционно
договорная
Data Science. Разработка с нуля.
Санкт-Петербург Фрилансеры