{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Как я нашёл красивую квартиру с хорошим ремонтом с помощью собственной нейросети

История о том, как я искал квартиру под аренду и в итоге написал нейросеть, которая отфильтровала лучшие результаты на ЦИАН для меня.

Пример выдачи

Боль

Недавно встала задача найти новую хорошую квартирку для жилья в Москве. Диапазон цен, который меня бы устроил, — от 40 до 60 тысяч рублей.

После продолжительных поисков на всевозможных сервисах поиска жилья я обратил внимание, что 90% времени я просто тыкаю по объявлениям, листая фотографии, и принимаю решение — нравится мне квартира визуально или нет.

Все остальные мелкие параметры можно настроить в фильтрах поисковиков. В данном случае я использовал ЦИАН.

Решение

В итоге я подумал: а почему бы не сделать нейросеть, которая бы одним кликом отфильтровала бы мне квартиры, которые мне априори не понравятся.

Легким движением руки я подкрутил фильтры поиска так, чтобы в выдача получилась максимально отвратительной, а затем повторил тоже самое, только наоборот. Я просто менял ценовые диапазоны. Таким образом я собрал датасет из десятка тысяч картинок с очень красивыми и просто отвратительными квартирами.

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

Хэппи-энд

Вот такой вид теперь у меня из окна

Я нашел просто отличный вариант двушки с видом на Москву-реку и «Москву-Сити» за 45 тысяч рублей. Завтра заселяюсь!

Где попробовать?

Прикрепляю ссылка на Google Colab:

Всё, что нужно сделать:

  • Зайти на ЦИАН и в фильтрах выставить все ваши хотелки. Нажать «Поиск».
  • У вас получится поисковая выдача с объявлениями.
  • Копировать ссылку на эту выдачу. Она будет выглядеть примерно вот так. И вставить её в Google Colab в самом самом низу в разделе MAGIC HAPPENS HERE.

Готово, можно запускать!

Нажимайте «Среда Выполнения» → «Запустить все». Модель отфильтрует для вас хорошие варианты. Уровень фильтрации можно менять параметром threshold в том же разделе. Его можно менять от 0 до 1. Чем выше значение (например, 0,7), тем сильнее будет фильтрация и меньше результатов в выдаче.

У меня в планах сделать из этого простой инструмент. Например, Chrome Extension, так чтобы любой желающий мог быстро отсеять лишнее.

0
222 комментария
Написать комментарий...
София Канаева

наебалово, ничего не работает

Ответить
Развернуть ветку
Peter Bondarenko
Автор

ЦИАН забанил гугловские IP с которых велся парсинг. Видимо кто-то начал запускать скрипт на полную катушку. Можете скачать себе на комп и запустить локально, будет работать.

Ответить
Развернуть ветку
михаил

Жаль что на материал наткнулся уже после того как сервис крякнулся, вопрос с поиском жилья сейчас стоит крайне остро для меня
А есть инструкция не для программистов как локально развернуть ваше детище?

Ответить
Развернуть ветку
Peter Bondarenko
Автор

1) Скачать Anaconda
2) Поставить jupyter notebook
3) Скачать с google Colab в формате ipnyb и запустить в юпитере
4) ...
5) Profit

Ответить
Развернуть ветку
Alexey Khalezov

Т.е. если просто выполнить все эти действия, не имея на локальной машине настроенного виртуального окружения, то работать не будет?

Ответить
Развернуть ветку
Peter Bondarenko
Автор

Думаю, что нет. Но там и локальное окружение создается само, вместе с установкой Anaconda.

Ответить
Развернуть ветку
Alexey Khalezov

Разобрался при помощи коллег из Data Science) Все заработало, спасибо, буду тестить на выходных

Ответить
Развернуть ветку
Иван Ларин

Приветствую! Подскажи, пожалуйста, как можно решить задачу.
Mac OS. Поставил Анаконду, Юпитер, скачал ipnyb, запускаю все это дело, но ругается вот на такие штуки:
ModuleNotFoundError: No module named 'tensorflow'

Но я так понял, что проблема еще раньше
/bin/bash: apt-get: command not found
Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/apt"; (-1)
cp: /usr/lib/chromium-browser/chromedriver: No such file or directory

и я не нашел решения, как установить apt-get на мак.. Можешь, что-нибудь подсказать? 

Ответить
Развернуть ветку
219 комментариев
Раскрывать всегда