Создание решения на основе Machine Learning: от семейного древа до восстановления фото
За последнее десятилетие искусственный интеллект произвел революцию почти во всех сферах повседневной жизни — от науки до индустрии развлечений. С 2018 года SimbirSoft активно использует технологии машинного обучения для решения широкого спектра задач и достижения бизнес-целей клиентов. В нашем портфолио — проекты для лесной промышленности, безопасности и других отраслей.
В этом кейсе расскажем, как мы применяем свои знания по machine learning и data science для разработки сервиса по исследованию генеалогии.
Клиент
Наш клиент — крупная американская компания, работающая на рынке более 40 лет. Она развивает несколько IT-сервисов для сбора информации о генеалогическом древе семьи, обработки архивных документов и фотографий. Мы приняли участие в реализации нескольких подпроектов заказчика, в основе которых легли технологии машинного обучения. Подробнее о них — в этой статье.
Извлечение данных из архива старых газет
Продукт заказчика позволяет изучать родственные связи: пользователи сервиса указывают информацию о своих родственниках, и на ее основе формируется генеалогическое древо семьи.
Клиент располагает огромным массивом отсканированных газет, самые ранние выпуски которых относятся к XIX веку. В рамках проекта было необходимо извлечь из этого массива нужные данные, а именно — информацию о свадьбах.
Для решения задачи мы разработали ML-алгоритм, который позволяет определить, есть ли на конкретной странице объявления о свадьбах, и классифицировать полученную информацию: дату события, имена невесты, жениха и гостей, место проведения церемонии, локацию медового месяца и другие данные, которые помогают подписчикам сервиса в составлении своего генеалогического древа.
На этом проекте мы выполнили следующие задачи:
- Разработка универсального контроллера для массовой обработки сообщений.
- Разработка автоматически масштабируемой архитектуры.
- Разработка автоматизированной системы тестирования.
- Разработка универсального фреймворка развертывания приложений в облаке.
- Развертывание 7 МL моделей в облачной среде.
- Анализ и оптимизация производительности.
Результат
Вместе с партнером мы уже реализовали 8 важных продуктовых проектов и продолжаем сотрудничество. Мы гордимся тем, что наши разработки легли в основу корпоративного стандарта компании клиента. Также нам удалось сократить расходы заказчика за счет оптимизации использования ресурсов AWS.
Технологии
Java, Python, Scala, PySpark, Groovy, Bash
Amazon Web Services: EC2, ASG, ECS, EKS, ECR, S3, EFS, Lambda, Fargate, Kinesis Firehose, SQS, SNS, CloudWatch, Glue, Athena, SageMaker, IAM, Redshift
TensorFlow, PyTorch, ONNX, Neo, Neuron
NVIDIA GPU processing
NewRelic, Jenkins, Docker, Terraform, Harness