Больше информации по резюме будет доступно после регистрации
ЗарегистрироватьсяБыл более двух недель назад
Мужчина
Москва, м. Партизанская, не готов к переезду, готов к редким командировкам
Data Scientist / Аналитик данных
Специализации:
- BI-аналитик, аналитик данных
- Аналитик
- Дата-сайентист
Тип занятости: полная занятость, частичная занятость, стажировка
Опыт работы 26 лет 5 месяцев
Январь 2022 — по настоящее время
4 года 5 месяцев
Российский государственный социальный университет
Москва, rgsu.net
Образовательные учреждения... Показать еще
Ведущий программист
1. Полнофункциональная поддержка процессов репликации данных в СУБД Oracle, PostgreSQL, MS SQL.
Сложные SQL запросы.
2. Администрирование, настройка ETL-алгоритмов в среде Apache NiFi (Groovy, NiFi Expression Language, JOLT, etc)
3. Сбор, подготовка, обработка текстовых данных. (pandas, numpy, re, etc)
4. Разработка парсеров сайтов (Web scraping), телеграмм-каналов, групп VK и т.п. (BeautifulSoup, Selenium, Pyrogram, Telethon, VK API, Twitter-API)
5. Тематическое моделирование, классификация текстовых корпусов (нейронные сети - BERTopic, RuBERT)
6. Работа с БД Neo4j (Cypher).
7. Описание реального бизнес-кейса, разработанного и внедренного мною, который представляет из себя одну из подсистем в работе комплексной информационной системы (далее - "ИС_part1").
Постановка задачи: автоматизация процесса сборки, обработки текстовых данных и получения из него интересующих метрик для аналитических групп.
Исходные данные:
- xlsx-выгрузки из внешнего источника данных Brand Analytics, сформированные по определенному набору ключевых слов.
- Список тематических TG-каналов/групп (как открытых, так и приватных) в количестве 100+
- Список открытых тематических VK-групп в количестве 50+
Верхнеуровневое описание "ИС_part1":
подсистема представляет из себя автоматически запускаемый из планировщика задач программный модуль с базовым технологическим стеком на языке Python и выгрузкой предобработанного текстового корпуса с требуемыми метриками в служебную TG-группу. Участие оператора не требуется.
Этапность работы "ИС_part1" с указанием используемых методологических и программных решений:
- Выгрузка вложений с xlsx-фалами, автоматически формируемыми внешней ИС Brand Analytics, из почтового ящика. Предварительная очистка данных (логотипы и проч.), приведение форматов, экспорт в pandas. Предусмотрена возможность многократного подключения ИС к imap-серверу с целью гарантированного получения необходимого количества электронных писем.
- Сбор данных посредством доступа к API TG по списку TG-каналов/групп в указанном диапазоне дат. Используются асинхронные (asyncio) методы парсинга посредством библиотек pyrogram, telethon на базе протокола MTProto. Устойчивость работы этапа обеспечивается автоматическим подключением в случае необходимости (напр. одна из наиболее частых причин - FloodWaitError) любого количества авторизованных в API TG пользовательских аккаунтов (читай SIM карт). Предусмотрен механизм минимизации количества запросов к API TG посредством локального хранения вновь полученных (ранее неизвестных нам) идентификаторов (id) каналов и их access_hash. Реализован алгоритм обновления исходного плана парсинга с учетом выявленных недоступных/несуществующих/удаленных каналов/групп. Экспорт полученных данных в pandas.
- Сбор данных посредством доступа к API VK по списку VK-каналов/групп в указанном диапазоне дат. Устойчивость работы этапа обеспечивается предварительной проверкой полученного тестового контента при использовании заданного пользовательского API-ключа (aka VK token).
- Импорт локально хранимых служебных словарей с набором ключевых слов для последующего алгоритмического Features engineering-а (генерации бинарных метрик вхождения подстроки в строку).
- Объединение полученных датафреймов из разных источников в единый, экспорт данных во временное сессионное файловое хранилище для обеспечения сохранности полученных данных в случае непредвиденных обстоятельств (действующие глобальные ограничения доступа к API TG заставляют очень бережно относиться к имеющимся ресурсам).
- Препроцессинг текстового корпуса для дальнейшей кластеризации: а) удаления тегов, стоп-слов, спецсимволов, однобуквенных слов, мультиповторных букв и т.п. Технологический стек - регулярные выражения, lambda-функции в pandas, разные строкововые методы. б) лемматизация текстового корпуса посредством библиотеки natasha.
- Препроцессинг текстового корпуса для дальнейшей классификации: практически тоже самое как и для кластеризации, за исключением лемматизации и ряда других способов обработки текста.
- Выделение из дальнейшей обработки коротких (до установленной длины) сообщений в отдельный датафрейм.
- Выделение из дальнейшей обработки дубликатов строк посредством применения методики снижения размерности хэш-функций aka LSH(Locality-Sensitive Hashing) в задаче ANN(Approximate Nearest Neighbor). Определение для каждого найденного кандидата в дубликаты вероятностного сходства по косинусному расстоянию между полученными векторными n-граммами.
- Кластеризация (тематическое моделирование) предобработанного текстового корпуса посредством библиотеки BERTopic с использованием алгоритмов transformers, TF-IDF мер оценки, понижением размерностей UMAP и алгоритмом HDBSCAN.
- Бинарная классификация предобработанного корпуса посредством BERT-подобной нейронной сети (в частности, ruBert-base). Технологический стек - PyTorch, HuggingFace Datasets, Transformers. Определение вероятности принадлежности к требуемому классу. P.S. Методологию дообучения нейронной сети (fine-tuning) под мою конкретную задачу оставляем за рамками данного описания (это отдельная задача). FYI - Accuracy на тестовом датасете составляет 90+%.
- Финальная фильтрация данных по комплексному показателю вероятности принадлежности к определенному классу и других бинарных признаках наличия ключевых слов в строках.
- Экспорт данных в xlsx-формат под требования Функционального Заказчика. Автоматическая загрузка файлов в служебную TG-группу.
- Отправка детального удобочитаемого LOG-файла работы "ИС_part1" по электронной почте списку лиц. Технологический стек - logging, smtplib. Предусмотрена возможность многократного подключения к smtp-серверу с целью гарантированной доставки электронных писем.
- Удаление временно хранимых файлов.
- Конфиденциальность некоторых используемых переменных (служебные токены, пароли и т.п.) обеспечивается механизмом их раздельного хранения в конфигурационных файлах с использованием модуля configparser.
Сентябрь 2021 — по настоящее время
4 года 9 месяцев
MIPT (МФТИ) Deep Learning School
Москва, www.dlschool.org
Годовой курс.
------------------------- 1 СЕМЕСТР (CV) --------------------------------
1. PyTorch, CycleGan, Aiogram, StyleTransfer, Webhook
Telegram Bot с функциями переноса стилей. Дипломный проект.
https://github.com/Belousov-Aleksandr/Telegram_NST_Bot
2. PyTorch. Классификация персонажей Simpsons (f1-scor 0.997). Соревнование на Kaggle.
https://github.com/Belousov-Aleksandr/PyTorch/blob/main/Simpson.ipynb
3. PyTorch. Autoencoders (AE, VariationalAE, ConditionalVAE)
https://github.com/Belousov-Aleksandr/PyTorch/blob/main/autoencoders.ipynb
4. PyTorch. Сегментация объектов. SegNet, UNet, UNet-2 with custom loss-function (Dice, Focal, Lovasz)
https://github.com/Belousov-Aleksandr/PyTorch/blob/main/segmentation.ipynb
5. PyTorch. DSGAN. Генерация лиц людей.
https://github.com/Belousov-Aleksandr/PyTorch/blob/main/gan_final.ipynb
6. Sklearn, CatBoost, XGBoost, Imblearn, Kaggle.
https://github.com/Belousov-Aleksandr/PyTorch/blob/main/sklearn_catboost_imblearn.ipynb
Предсказание оттока пользователей. Соревнование на Kaggle.
------------------------ 2 СЕМЕСТР (NLP) --------------------------------
1. Базовый уровень NLP (токенизация, лемматизация, ранжирование, эмбединги, классификация на RNN (LSTM), CNN).
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework%5Dsimple_embeddings.ipynb
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework%5Dembeddings.ipynb
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework%5Dclassification.ipynb
2. Средний уровень NLP
скрытые цепи Маркова, алгоритм Виттерби, Part-Of-Speech Tagger, LstmTagger, NLTK, Rnnmorph
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework%5Dlanguage_model.ipynb
Mashine_Translatation (bidirectional Seq2Seq with concat_Attention)
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/NeuralMachineTranslation.ipynb
3. Продвинутый уровень NLP
GPT2 (Sequence Classification on Twitter Dataset)
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework_part1%5DGPT.ipynb
BERT (Sentence Sentiment Classification)
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework_part2%5DBERT_for_text_classification.ipynb
Summarization ()
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework%5Dsummarization.ipynb
Spoken Language Processing (классификация возраста по голосу)
- https://github.com/Belousov-Aleksandr/PyTorch/blob/main/%5Bhomework%5DAudio.ipynb
Август 2020 — Сентябрь 2021
1 год 2 месяца
Москва, www.skillbox.ru
Образовательные учреждения... Показать еще
Двухлетний курс "Data Scientist" (завершен).
Курс Skillbox завершен. Защищены 2 диплома.
Приобретенные навыки:
- построение классических конструкций Python, начиная от импорта данных, условия-циклы-функции, базовые коллекции, классы, исключения и заканчивая применением методов ООП на языках Python и R
- операции над многомерными массивами, матрицами, векторами, датафреймами (numpy, pandas, tidyverse)
- разведочный анализ данных EDA
- методы статистического анализа исследуемых данных (корреляция Пирсона, оценка Чеддока, AB-тестирование, доверительные интервалы, критерии Уилкоксона, t-Стьюдента и т.п.)
- визуализация данных (matplotlib, seaborn, plotly, ggplot2)
- создание аналитических панелей (Dashboard)
- основы работы с БД (mySQL, PostgreSQL, MongoDB, JSON) с изучением языка SQL
- основы математики и теории вероятности для DataScientist (интерполирование, апроксимирование, полиномное/дифференциальное исчисления, SymPy, etc...)
- построение обучающих регрессионных, классификационных и кластерных моделей в рамках Machine Learning (sklearn)
- применение дополнительных техник ML (Boosting, Stacking, PCA, SVD, t-SNE)
- оценка качества ML-моделей различными метриками (roc-auc, f1, cross-val, etc...)
- Neural Network (сверточные нейросети, семантическая сегментация, детектирование объектов (компьютерное зрение), генеративные нейронные сети, NLP, RNN, LSTM, DQN, завершен дипломный проект по курсу)
- Рекомендательные системы (surprise, SVD, GridSearchCV, etc...)
Мой технологический стек: Python, R, Scikit-Learn, TensorFlow, PyTorch, SQL, pandas, scipy, etc.
Мои работы:
1. Аналитический отчет обучающего workflow он-лайн Университета, который в дальнейшем поможет продюсерам образовательных программ эффективно выстраивать стратегию по модернизированию и улучшению образовательных курсов. Выявление проблемных модулей, расчет нагрузки на преподавателей и т.п. (pandas, numpy, matplotlib, seaborn)
https://github.com/Belousov-Aleksandr/Coursework_analytics_1
2. Аналитический отчет для HR-отдела. На основании проведенной аналитики составлены рекомендации для отдела кадров по стратегии набора персонала (SQL, pandas)
https://github.com/Belousov-Aleksandr/Coursework_analytics_2
3. Анализ данных и прогноз оттока пользователей (выявление людей, которые продлят контракт с интернет-провайдером и которые не продлят). Применяются различные методы машинного обучения и прогнозирования. (sklearn, xgboost, pandas, numpy, matplotlib)
https://github.com/Belousov-Aleksandr/Coursework_ML_Beginner
и версия_2 с pipeline и более высокой точностью
https://github.com/Belousov-Aleksandr/PyTorch/blob/main/baseline.ipynb
4. Дипломный проект «Data Scientist. Аналитика. Средний уровень». Подготовка исследования для компании «Мегафон» и анализ того, как зависит (и зависит ли) оценка, которую ставит клиент в опросе, от технических показателей, которые были собраны.(AB-тестирование, scipy, numpy, pandas, seaborn, matplotlib)
https://github.com/Belousov-Aleksandr/Data-Scientist_Analytics_Intermediate-level
5. Нейронные сети (Neural Network)
5.0 Дипломная работа. Распознавание эмоций.
https://github.com/Belousov-Aleksandr/Emotion-Recognition_Neural_Network
В данном разделе представлена дипломная работа курса «Data Scientist. ML. Средний уровень (нейронные сети)», которая предполагает разработку pipeline для распознавания эмоций как по статическим изображениям, так и в режиме real-time Video.
Акцент в работе был сделан на две предобученные ML-модели (VGGFace2 и BiT-M r50x1). Применяя различные методы оптимизации, такие как transfer learning, finetuning, augmentation, preprocessing, сегментация по bounding_box, dataset_balancing, multi_face/no_face cleaning, модели были обучены на оптимизированных датасетах с полными фотографиями и на датасетах с обрезанными по bounding_box лицами. Проведены эксперименты с valence-arousal разложением эмоций, когда модель обучается не на самих эмоциях, а на их разложении по этим двум компонентам. Создан скрипт, который работает с веб-камерой и выводит на экран текущую эмоцию. Разработан код генерации и отправки csv-посылки на Kaggle для проверки точности модели по Privat Score. (https://www.kaggle.com/c/skillbox-computer-vision-project)
В качестве инструментов для детектирования лиц при проведении разведочного анализа применялись алгоритмы: - MTCNN (Multi-task Cascaded CNN). Наиболее длительный, но в то же время, наиболее качественный алгоритм детектирования лица на фото по обязательным 7 точкам (углы глаз, углы губ, кончик носа) и необрезанному овалу лица, который включает в себя три подсети: сеть предложений (P-Net), сеть уточнения (R-Net) и сеть вывода (O-Net). - SSD (Single Shot MultiBox Detector aka 'DNN Face Detector from OpenCV'). - HAAR Cascade. Также этот метод называется методом Виолы-Джонса и является одним из лучших по соотношению показателей эффективность распознавания/скорость работы, обладая при этом низкой вероятностью ложного обнаружения лица.
Дополнительно были исследованы предобученные модели Inception_ResNet_V2, Ganeval-cifar10-convnet, Inception_V3, EfficientNet_B7, Mobilenet_v3, применялись разные типы оптимизаторов (напр.SGD, RMSProp), варьировались входящие размеры изображений, количество эпох и т.п. с целью достижения наивысшего Privte Scor, который в итоге составил 0.54.
5.1 Сверточные нейросети. Определение пола, возраста, национальности по фото.
https://github.com/Belousov-Aleksandr/Neural_Network/blob/main/homework_5.ipynb
5.2 Компьютерное зрение. Семантическая сегментация. Определение силуэтов людей на фото.
https://github.com/Belousov-Aleksandr/Neural_Network/blob/main/homework_6_7.ipynb
6. Разные базовые техники
https://github.com/Belousov-Aleksandr/EDA_matplotlib_other
К своим сильным сторонам могу отнести исключительную нацеленность и мотивированность на достижение значимого результата в рамках выбранной профессии/должности. При этом здравая доля встроенного перфекционизма позволяет найти максимально результативное и красивое решение.
Рассматриваю стажировку, проектную деятельность, работу в офисе, удаленную работу.
Январь 2000 — Апрель 2021
21 год 4 месяца
Предыдущие места работы...
специалист/руководитель
Моя трудовая деятельность насчитывает более 20 лет в сфере IT-технологий по направлениям: внедрение/сопровождение/эксплуатация разноплановых IT-решений в крупном и среднем бизнесе (банковский/логистический/телекоммуникационный(ISP)/website development секторы, с использованием методологий PMI, ITIL Foundation, MOF; системное администрирование. Серьезный руководящий опыт.
Навыки
Уровни владения навыками
Опыт вождения
Имеется собственный автомобиль
Права категории BОбо мне
Я - начинающий Data Scientist. При этом мой опыт IT-сфере составляет более 20 лет.
Мне интересно направление Data Scientist, потому что есть возможность анализа больших данных, на основе которых можно сделать прогноз в зависимости от поставленной задачи.
Качественно исполняю предложенные кейсы, не боюсь новых и сложных задач.
Высшее образование
1994
Высшее образование
Радиоэлектроника и лазерная техника, Оптико-электронные приборы и системы
Знание языков
Повышение квалификации, курсы
2022
МФТИ. Deep Learning School
Neural Network, Compuer Vision, Natural Language Processing
2021
Online-университет Skillbox
Neural Network, Data Scientist, Machine Learning
Тесты, экзамены
2021
Skillbox
Skillbox, Диплом - Аналитика. Средний уровень.
2021
Skillbox
Skillbox, Диплом - Нейронные сети. распознавание эмоций.
Гражданство, время в пути до работы
Гражданство: Россия
Разрешение на работу: Россия
Желательное время в пути до работы: Не более часа
