
Персонализация без BigData: как мы ранжируем новости в Telegram с помощью pgvector и пяти сигналов
kodurd 19 минут назад Персонализация без BigData: как мы ранжируем новости в Telegram с помощью pgvector и пяти сигналов Средний 6 мин 810 Rust * Алгоритмы * Искусственный интеллект Машинное обучение * У меня 23...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. kodurd 19 минут назад Персонализация без BigData: как мы ранжируем новости в Telegram с помощью pgvector и пяти сигналов Средний 6 мин 810 Rust * Алгоритмы * Искусственный интеллект Машинное обучение * У меня 23 Telegram-канала. Не потому что я такой организованный — просто постепенно добавлял, пока не понял, что читаю примерно 3% из них, а остальное листаю вниз в поисках чего-то интересного. Телеграм устроен как хронологическая лента — свежее сверху, и неважно, интересно это тебе или нет.
Только время публикации. Я решил это починить. Так появился CleanNews— бот, который парсит твои Telegram-каналы и выдаёт персонализированный дайджест.
Технические детали
В этой статье расскажу, как устроен рекомендательный движок: 5 сигналов, pgvector, контрастный вектор и жизнь без обучающего датасета в 10 миллионов записей. ЗадачаФормально: у пользователя N каналов, в них M постов за последние сутки. Нужно вернуть топ-K постов, которые пользователь с наибольшей вероятностью лайкнет.
На практике: N ≈ 10–30, M ≈ 50–300, K = 10. Никаких GPU-кластеров. Оценки бинарны — пользователь ставит 👍 или 👎, третьего не дано.
Почему не тяжёлый MLЧестный ответ: потому что не надо. Нейронные рекомендательные системы типа YouTube DNN или TikTok-like модели требуют тысяч оценок на пользователя только чтобы выйти из холодного старта. У нас новый пользователь — это часто 0 оценок.
Отраслевые последствия
Три поста в первом сеансе. Более практичный подход — разложить персонализацию на понятные компоненты, каждый из которых решает конкретную проблему:- Нет истории? Используем популярность поста и текст интересов.
- Есть несколько оценок? Уже можно строить тематический профиль. Добавляем семантическое сходство через эмбеддинги.
Каждый компонент — это сигнал. Пять сигналовСигнал — функция (BatchPostFeatures, UserProfile) → Vec. Принимает батч постов-кандидатов и профиль пользователя, возвращает сырые скоры.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





