PayBox.kz - Агрегатор интернет магазинов для платежных систем
Пишем свой сервис-агрегатор: архитектура, подводные...
Transcript of Пишем свой сервис-агрегатор: архитектура, подводные...
Пишем свои сервис-агрегатор: архитектура, подводные камни
Вершинин Никита
Предпосылки
Собственныи штат корреспондентов — дорого
Ручнои сбор новостеи со сторонних саитов — нужен штат контент-менеджеров
Пока новость проидет через все инстанции до публикации на саите, она уже потеряет актуальность
Задачи
Создать первыи казахстанскии агрегатор новостеи
Автоматическии сбор новостеи со сторонних саитов
Автоматическая группировка новостеи в сюжеты
Свести до минимума человеческое присутствие
Реализация
Проблемы в источниках Архитектура сервиса Пишем бэкенд Что есть на фронтенде?
Разные форматы
Разные кодировки
Разные форматы даты
Невалидныи код
Архитектура сервиса
Пишем бэкенд0. Собираем данные
Пишем бэкенд1. Обрабатываем очередь
Пишем бэкенд2. Подробнее о магии
Обработка даты и времени Забираем полныи текст с саита—
источника Конвертируем все в UTF-8, чистим
HTML Определяем язык Ищем связанные новости (сюжеты) Сохраняем изображения
Пишем бэкенд2.1. Обработка текста на казахском
Плохо не иметь в друзьях лингвиста казахского языка
Переводим текст с казахского на русскии
Работаем дальше как с обычным текстом на русском
Пишем бэкенд2.2. Обработка текста на русском
Разбиваем текст на слова и приводим каждое к нормальнои форме:— располагавшии → располагать— подобными → подобныи— единицами → единица
Каждое нормализованное слово стеммируем:— располагать → располаг— подобныи → подобн
Пишем бэкенд2.3. Поиск связанных и категории
Поисковая база — хранилище документов + реализация TF/IDF с некоторыми нормировками
Тематика новости определяется на основании базы знании и данных из источника новости
Пишем бэкенд3. Проблемы
Ложные срабатывания при поиске связанных новостеи
Несрабатывания при поиске связанных новостеи
Иногда сбоит кодировка.
Что есть на фронтенде?
Отображение новостеи Полнотекстовыи поиск Личныи кабинет пользователя Комментарии Собственные информеры
Что достигнуто?
Обработка однои новости занимает около однои минуты (+/- 30 секунд)
Вся работа автоматизирована и не требует человеческого участия
Саитом полностью может управлять один человек