IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

Проект подрос, библиотека теперь решает все базовые задачи обработки естественного русского языка: сегментация на токены и предложения, морфологический и синтаксический анализ, лемматизация, извлечение именованных сущностей.

     24.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Статьи

Как найти количество всех букв на всех знаках вида «въезд в город Х» в стране? Точный способ ответить на такие вопросы

Недавно в рамках одного собеседования мне понадобилось решить задачу, условие которой приведено ниже

     23.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Новая библиотека для уменьшения размерности данных ITMO_FS — зачем она нужна и как устроена

Студенты и сотрудники лаборатории Машинного обучения Университета ИТМО разработали библиотеку для Python, которая решает ключевую задачу машинного обучения.

Расскажем, почему появился этот инструмент и что он умеет.

     23.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Оптимизация инвестиционного портфеля по методу Марковица

Есть много реализаций данного метода. В том числе и на Python. Реализовал еще раз (см. ссылка на GitHub). Можно использовать как заготовку программного кода.

Конечно, приведем стандартную диаграмму облака сгенерированных портфелей.

     22.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Склеиваем несколько фотографий в одну длинную с помощью машинного обучения

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

     22.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Заметки Дата Саентиста: персональный обзор языков запросов к данным

Почему важно знать и уметь обращаться с языками запросов? По своей сути в Data Science есть несколько важнейших этапов работы и самый первый и важнейший (без него уж точно ничего работать не будет!) — это получение или извлечение данных. Чаще всего данные в каком-то виде где-то сидят и их нужно оттуда «достать». 

     21.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Стабилизация видео с движущейся камеры, или как перевести всё в неподвижную систему координат

Сейчас возможности Computer Vision (CV) полностью перекраивают ландшафт рынка Public Safety solutions. В то время, как традиционными системами видеонаблюдения уже не просто никого не удивить, а странно не найти её в любом общественном месте, использование ИИ в данной области всё ещё вновинку.

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Передача динамических объектов от setup к тестовой функции в py.test

В больших проектах в какой-то момент получается ситуация, когда тестов на проекте уже много и параллельно развивается собственный высокоуровневый фреймворк. Фреймворк, в данном случае, как обертка над функциями объекта тестирования и возможностями различных инструментов которые используются на проекте. Кроме того все папки заполнены фикстурами, многие из которых используются только в одном тестовом файле.

 

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

     20.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Бот-викторина для ВКонтакта

Месяца три назад мы с друзьями по сети «ВКонтакте» в общем чате (беседе) играли в угадайку — игру по мультфильму «Смешарики», который мы все любим. Правила: ведущий пишет цитаты персонажей мультика, игроки угадывают из какой серии эта цитата. Я решил сделать игру более интересной, и назначить на роль ведущего бота.

     18.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Почему здравый смысл важнее паттернов, а Active Record не так уж и плох

Так уж вышло, что разработчики, особенно молодые, любят паттерны, любят спорить о том, какой паттерн нужно применять здесь или там. Спорить до хрипоты: это фасад или прокси, а может даже синглтон. А если у вас не чистая, гексагональная архитектура, то некоторые разработчики готовы сжечь на костре Святой Инквизиции.

При этом они забывают, что паттерны — это лишь возможные решения. У паттернов, также как и у любых принципов, есть границы применимости, и важно их понимать. Дорога в ад вымощена слепым и религиозным следованием пусть даже и авторитетным словам.

А наличие во фреймворке нужных паттернов никак не гарантирует их правильного и осознанного применения.

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Как писать аккуратные конвейеры для машинного обучения

Тема конвейеризации и распараллеливания машинного обучения давно фигурирует у нас в проработке. В частности, интересно, достаточно ли для этого специализированной книги с акцентом на Python, либо нужна более обзорная и, возможно, сложная литература. Мы решили перевести вводную статью об устройстве конвейеров для машинного обучения, содержащую как архитектурные, так и более прикладные соображения. Давайте обсудим, актуальны ли поиски в этом направлении.

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Автоматизируем обработку изображений с помощью Jupyter и Python

Недавно мой ребёнок захотел сделать раскраску для персонажа из любимого мультфильма. Очевидным решением было использовать какой-нибудь графический редактор для Linux (потому что я линуксоид), но потом я вспомнил, что я ленивый человек.

К счастью, я знаком с Python и JupyterLab. Посмотрим, насколько Jupyter облегчит задачу.

     17.08.2020       Выпуск 348 (17.08.2020 - 23.08.2020)       Статьи

Распознавание мяча в волейболе с OpenCV и Tensorflow

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

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Конфуций и Маргарита

Соревнований по машинному обучению как и платформ, на которых они проводятся, существует немало и на любой вкус. Но не так часто темой контеста является человеческий язык и его обработка, еще реже такое соревнование связано с русским языком. Недавно я принимал участие в соревновании по машинному переводу с китайского на русский, прошедшего на платформе ML Boot Camp от Mail.ru. Не обладая большим опытом в соревновательном программировании, и проведя, благодаря карантину, все майские праздники дома, удалось занять первое место. Про это, а также про языки и подмену одной задачи другой я постараюсь рассказать в статье.

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

VKWave — фреймворк для разработки ботов ВКонтакте

Сегодня я хочу рассказать о замечательной библиотеке для разработке ботов ВКонтакте с помощью языка программирования Python.

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Первые шаги в визуализации данных с использованием Geopandas и OSM

У многих хоть раз возникала необходимость быстро нарисовать карту города или страны, нанеся на нее свои данные (точки, маршруты, тепловые карты и т.д.).
Как быстро решить такую задачу, откуда взять карту города или страны для отрисовки — в подробной инструкции под катом.

     16.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

pyOpenRPA туториал. Управление WEB приложениями

Долгожданный туториал по управлению сторонними WEB приложениями с помощью pyOpenRPA. Во 2-й части мы разберем принципы роботизированного воздействия на HTML/JS. А также своими руками сделаем небольшого, но очень показательного робота.

Этот робот будет полезен тем, для кого актуальна тема покупки/продажи недвижимости.

     15.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Попытка определить язык манускрипта Войнича, Random Forest Classifier

Пытаемся определить язык таинственной рукописи — манускрипта Войнича — простыми методами обработки естественных языков на Python.

     14.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Визуализация статистики Яндекс Директ своими руками. От API до Data Studio

Мне, как специалисту по рекламе, требуется постоянно присматривать за клиентами. В этом мне помогает Data Studio.
Однако специалистам по рекламе редко выделяют бюджеты на аналитику, поэтому приходится делать все своими руками.

     14.08.2020       Выпуск 347 (10.08.2020 - 16.08.2020)       Статьи

Калькулятор Wolframalpha в диалоге Telegram

В диалогах телеграма я очень часто использую телеграм бот: inlatexbot. Он позволяет вставлять Latex прямо в диалоге телеграма — это удобно: математическое обозначение можно отправить понятной картинкой.

Но не менее часто, мне в телеграме необходим функционал WolframAlpha: посчитать сложный счет за вечеринку с друзьями, различные проценты, решить уравнение и так далее — полный функционал WolframAlpha, но при этом не выходить из диалога телеграма.