Собаку съел на нейронных сетях

в 15:17, , рубрики: data mining

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

Собаку съел на нейронных сетях - 1

Вот таким добрым малым нужно кидать нам в систему геопозицию животинки на данный момент и пару фото.

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

2019 год располагает к более технологичным решениям. И наш проект с рабочим названием PetSI (PetSearchInstrument) именно такой.

Концепция

В рамках направления Machine Learning for Social Good сообщества Open Data Science мы вместе с 9851754 и нашей командой делаем сервис для поиска пропавших животных, в котором владелец может указать фото животного, адрес пропажи и другие характеристики, а в ответ получить наиболее релевантные с точки зрения нашего алгоритма сообщения о найденных или увиденных животных.

Краткий алгоритм работы нашего сервиса: мы агрегируем данные(фото, место находки, порода итд) с нескольких сайтов, преобразуем изображения нейронной сетью в вектор, обучаем knn и показываем ближайших соседей введённой фотографии. Ты находишь потерянное животное, животное возвращается домой. Все довольны)

Собаку съел на нейронных сетях - 2

Кроме поиска пропавших домашних питомцев мы развиваем рекомендательную систему для ускорения пристройства приютских животных новым хозяевам. Пока у нас нет статистики поведения пользователей на сайте, поэтому мы используем content-based рекомендации основанные на визуальной схожести.

Собаку съел на нейронных сетях - 3

Что уже есть

  • Отличная команда начинающих и опытных специалистов;
  • http://petsiai.ru — рабочий прототип с веб-интерфейсом для ввода фото животного и вывода похожих(прототип будет доступен в течение нескольких дней после публикации);
  • Автоматизированный pipeline по сбору и обработке информации;
  • Обновляемая база животных(порядка 11 000 собак и 6 000 кошек.).

Под капотом

Разработка ведется на python. Мы используем следующий технологический стек:

  • Docker, Gitlab CI/CD для развертывания приложений;
  • Google Kubernetes Engine для хостинга наших сервисов и приложений;
  • Scrapy, RabbitMQ для сбора данных;
  • Sklearn, keras для ML;
  • Django, Flask, Bootstrap для сайта;
  • Elasticsearch для текстового поиска.

Для синхронизации всех стадий нашего рабочего процесса мы используем Airflow:
Собаку съел на нейронных сетях - 4
Сбор данных многоступенчатый. Сначала пауки собирают информацию и в необработанном виде отправляют ее в очередь. С другой стороны очереди специальные обработчики преобразовывают данные в нужный вид(например, преобразуют текст в адрес) и складывают в СУБД.

Собаку съел на нейронных сетях - 5

Собранные данные валидируются и отправляются на обучение моделям. Для сайта написан специальный сервис, который загружает новые данные и модели, а также инициирует пересчет поисковой выдачи для каждого пользователя. Весь цикл занимает примерно 8 часов.

Как мы используем машинное обучение и анализ данных:

  • Определение пола по тексту;
  • Определение породы по тексту;
  • Выделение адресов из сообщений;
  • Сегментация изображений;
  • Перевод изображения в вектор и ANN.

Ближайшие планы

  • Подтвердить работоспособность проекта и соединить первую пару «хозяин-потерянный питомец»;
  • Развить сотрудничество с приютами и упростить мэтчинг пары «хозяин-питомец»;
  • Сотрудничать с другими ресурсами и сделать максимально удобный для пользователя сервис.

Приходи к нам!

Собаку съел на нейронных сетях - 6

Для дальнейшего развития нам нужны:

  • Бойцы фронт- и бэкенд- армий;
  • ML-специалисты;
  • Data-engineer-ы и сисадмины для поддержки работоспособности пайплайна;
  • DevOps для развертки приложений на k8s и помощи в его администрировании;
  • Умельцы работы с пауками(scrapy);
  • Журналисты для популяризации проекта;
  • Программисты на python.

Зачем это может быть нужно тебе:

  • Cоциальная ответственность, если она тебя интересует. Вдруг, тебе нравится приносить пользу?
  • Реальный проект, где можно реализовать свои крутые навыки или прокачать их;
  • Ты странный и идёшь всюду куда приглашают. Это тоже хороший вариант;
  • Ты сам искал питомца, знаешь каково это;
  • Или ты тот, кто не может просто пройти мимо собы на улице, но не знаешь что с этим делать.

Есть план. Нужны люди в команду.

Пиши в личку или заполни форму и присоединяйся!

Вместо заключения

Напоследок мы подготовили подборку собак-мемов и похожих на них собак из приютов, которых мы нашли с помощью наших алгоритмов

Автор: Gavroshe

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js