Обновить
512K+

Python *

Высокоуровневый язык программирования

573,25
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

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

Время на прочтение8 мин
Охват и читатели40K

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

Читать дальше →

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

Время на прочтение19 мин
Охват и читатели9.9K

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


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


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


Для тех, кто с нами впервые


pyOpenRPA — это open source RPA платформа, которая в полной мере позволяет заменить топовые коммерческие RPA платформы.


Подробнее про то, чем же она полезна, можно почитать здесь.


Навигация по туториалам pyOpenRPA


Туториал сверстан в виде серии статей, в которых будут освещаться ключевые технологии, необходимые для RPA.


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


Перечень статей-туториалов (опубликованные и планируемые):



А теперь перейдем к самому туториалу.

Читать дальше →

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

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


Читать дальше →

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

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

Что нужно сделать чтобы визуализировать Яндекс Директ в Data Studio:

  1. Получить токен от своего аккаунта (за этим в справку Директа)
  2. На Python Написать запрос к серверу Яндекс Директ
  3. Сложить статистику в Pandas Data Frame
  4. Отправить данные в Google Big Query
  5. Построить визуализацию в Data Studio на основе данных в Google Big Query


Читать дальше →

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

Время на прочтение2 мин
Охват и читатели19K

Идея


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

$\sqrt{4} * 2^x * \frac {1} {3}=1024$

, а не так sqrt(4)*2^x * 1/3 =1024.
Но не менее часто, мне в телеграме необходим функционал WolframAlpha: посчитать сложный счет за вечеринку с друзьями, различные проценты, решить уравнение и так далее — полный функционал WolframAlpha, но при этом не выходить из диалога телеграма.
Читать дальше →

Создание голосового ассистента на Python, часть 1

Время на прочтение3 мин
Охват и читатели70K
Добрый день. Наверное, все смотрели фильмы про железного человека и хотели себе голосового помощника, похожего на Джарвиса. В этом посте я расскажу, как сделать такого ассистента с нуля. Моя программа будет написана на python 3 в операционной системе windows. Итак, поехали!

Реализация

Работать наш ассистент будет по такому принципу:

  1. Постоянно «слушать» микрофон
  2. Распознавать слова в google
  3. Выполнять команду, либо отвечать

1) Синтез речи

Для начала мы установим в систему windows русские голоса. Для этого переходим по ссылке и скачиваем голоса в разделе SAPI 5 -> Russian. Там есть 4 голоса, можно выбрать любой, какой вам понравится. Устанавливаем и идём дальше.

Нам нужно поставить библиотеку pyttsx3 для синтеза речи:

pip install pyttsx3
Читать дальше →

CLI приложение + Dependency Injector — руководство по применению dependency injection + Вопросы / ответы

Время на прочтение15 мин
Охват и читатели20K
Привет,

Я создатель Dependency Injector. Это dependency injection фреймворк для Python.

Это завершающее руководство по построению приложений с помощью Dependency Injector. Прошлые руководства рассказывают как построить веб-приложение на Flask, REST API на Aiohttp и мониторинг демона на Asyncio применяя принцип dependency injection.

Сегодня хочу показать как можно построить консольное (CLI) приложение.

Дополнительно я подготовил ответы на часто задаваемые вопросы и опубликую их постскриптум.

Руководство состоит из таких частей:
Читать дальше →

Обзор методов создания эмбедингов предложений, Часть2

Время на прочтение20 мин
Охват и читатели7.9K

Здравствуйте, продолжение статьи про методы создания эмбедингов предложений. В этом гайде мало слов и много кода, готово для Ctrl+с, Ctrl+v, улучшений и дальнейших тестов.


Часть1 обязательна для ознакомления


4. BERT


from deeppavlov.core.common.file import read_json
from deeppavlov import build_model, configs
from deeppavlov.models.embedders.elmo_embedder import ELMoEmbedder
# ссылка для скачивания моделей http://docs.deeppavlov.ai/en/master/features/pretrained_vectors.html

4.1 rubert_cased_L-12_H-768_A-12_pt


class RU_BERT_CLASS:
    def __init__(self, name):
        bert_config = read_json(configs.embedder.bert_embedder)
        bert_config['metadata']['variables']['BERT_PATH'] = os.path.join('./.', name)
        self.m = build_model(bert_config)

    def vectorizer(self, sentences):
        return [sentence.split() for sentence in sentences]

    def predict(self, tokens):
        _, _, _, _, sent_max_embs, sent_mean_embs, _ = self.m(tokens)
        return sent_mean_embs

bert = RU_BERT_CLASS('rubert_cased_L-12_H-768_A-12_pt')
get_similarity_values = similarity_values_wrapper(bert.predict, bert.vectorizer, distance_function=cosine_distances)
evaluate(get_similarity_values, 'rubert')

'rubert: 2895.7'

Читать дальше →

Обзор методов создания эмбедингов предложений, Часть1

Время на прочтение18 мин
Охват и читатели16K

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


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


Ниже обзорное исследование на способы векторизации всего предложения и не просто векторизации, а попытка векторизовать предложение с учётом его смысла.


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


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


https://cdn-media-1.freecodecamp.org/images/1*bt-E2YcPafjiPbZFDMMmNQ.jpeg

Читать дальше →

Выявляем признаки аудиомонтажа методами AI

Время на прочтение4 мин
Охват и читатели3.5K

Одной из задач фоноскопической экспертизы является установление подлинности и аутентичности аудио записи — другими словами, выявление признаков монтажа, искажения и изменения записи. У нас возникла задача её проведения в целях установления подлинности записей – определения того, что на записи не осуществлялось никаких воздействий. Но как провести анализ тысяч, и даже сотен тысяч аудиозаписей?

Нам на помощь приходят методы AI, а также утилита по работе с аудио, о которой мы рассказывали в статье на сайте NewTechAudit «ОБРАБОТКА АУДИО С ПОМОЩЬЮ FFMPEG».

Как проявляются внесенные изменения в аудио? Как отличить файл, который изменили, от нетронутого файла?

Читать дальше →

Моделирование звука гитарных нот с помощью алгоритма Карплуса-Стронга на python

Время на прочтение8 мин
Охват и читатели13K
Знакомьтесь, эталонная нота ля первой октавы (440 Гц):


Звучит больно, не правда ли? Что еще говорить о том, что одна и та же нота звучит по-разному на разных музыкальных инструментах. Почему же так? Все дело тут в наличии дополнительных гармоник, создающих уникальный тембр каждого инструмента.

Но нас интересует другой вопрос: как этот уникальный тембр смоделировать на компьютере?

Примечание
В этой статье не будет разбираться почему это работает. Будут лишь ответы на вопросы: что это и как это работает?

«Я что-то накодил и все упало»: провалы в Python-разработке на Russian Python Week 2020

Время на прочтение3 мин
Охват и читатели7.3K
На конференциях обычно принято рассказывать об успехах: «Мы обучили нейросеть на пяти миллионах Террабайт данных, чтобы отличать красную машину от белой и продали проект Amazon за 5 млрд долларов» Об ошибках при этом не принято рассказывать. Максимум, что встречается: «Мы немного напортачили, но за полчаса разобрались, ничего особенного».



Когда вокруг только истории «успешного успеха» даже сеньоры и техлиды чувствуют себя неуверенно — ведь они сравнивают успех спикера со своими ошибками. И сравнение не в пользу участников. Мы решили сломать эту тенденцию и на Russian Python Week запускаем целую секцию под кодовым названием «FailPy». Она будет посвящена провалам Python-разработчиков. Расскажем зачем и для кого это нужно.
Читать дальше →

Как я делал Telegram-бота для работы с сетью

Время на прочтение3 мин
Охват и читатели16K
Добрый день! image Я поделюсь с Вами интересным опытом по созданию мобильного инструмента для работы с сетью.

Предисловие

Я отработал несколько лет в провайдерах, начиная с маленького — до федерального. Придя в «Федерала» я столкнулся с большим количеством рутины, и появилось желание автоматизировать тот самый рутинный процесс.
Читать дальше →

Ближайшие события

Суммаризация текста: подходы, алгоритмы, рекомендации и перспективы

Время на прочтение8 мин
Охват и читатели35K
Ежедневно каждый из нас сталкивается с огромным информационным потоком. Нам часто необходимо изучить множество объемных текстов (статей, документов) в ограниченное время. Поэтому в области машинного обучения естественным образом родилась задача автоматического составления аннотации текста.

У нас в компании мы активно работаем над автореферированием документов, в эту статью не стал включать все подробности и код, но описал основные подходы и результаты на примере нейтрального датасета: 30 000 футбольных спортивных новостных статей, собранных с информационного портала «Спорт-Экспресс».

Читать дальше →

А вы знаете о том, что в Python есть встроенная СУБД?

Время на прочтение5 мин
Охват и читатели61K
Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система обладает практически всеми возможностями, которых можно ожидать от реляционной СУБД, но при этом всё хранится в единственном файле. Вот некоторые сценарии использования SQLite, упомянутые на официальном сайте этой системы:

  • Встраиваемые устройства и IoT.
  • Анализ данных.
  • Перенос данных из одной системы в другую.
  • Архивирование данных и (или) упаковка данных в контейнеры.
  • Хранение данных во внешней или временной БД.
  • Заменитель корпоративной БД, используемый в демонстрационных или испытательных целях.
  • Обучение, освоение начинающими практических приёмов работы с БД.
  • Прототипирование и исследование экспериментальных расширений языка SQL.

В документации к SQLite можно найти и другие причины использования этой СУБД.



Данный материал посвящён использованию SQLite в Python-разработке. Поэтому для нас особенно важно то, что эта СУБД, представленная модулем sqlite3, входит в стандартную библиотеку языка. То есть оказывается, что для работы с SQLite из Python-кода не нужно устанавливать некое клиент-серверное ПО, не нужно поддерживать работу какого-то сервиса, отвечающего за работу с СУБД. Достаточно лишь импортировать модуль sqlite3 и приступить к его использованию в программе, получив в своё распоряжение систему управления реляционными базами данных.
Читать дальше →

Алгоритм ранжирования сегментов речной сети с использованием графов для геоинформационного анализа

Время на прочтение18 мин
Охват и читатели4K

Привет, Хабр.


В данной статье хотелось бы затронуть тему применения информационных технологий в Науках о Земле, а именно, в Гидрологии и Картографии. Под катом представлено описание алгоритма ранжирования водотоков и реализованного нами плагина для открытой геоинформационной системы QGIS.

Читать дальше →

Может ли геймпад заменить клавиатуру? Пробуем программировать на стиках

Время на прочтение6 мин
Охват и читатели14K
image

Введение


Для печати на клавиатуре необходимо неподвижно сидеть или стоять. Геймпады, в отличие от них, портативные и компактные. Управляя ими, можно ходить по комнате или прилечь на диван.

Из-за малого количества кнопок на геймпаде никто не рассматривал их как средство ввода объёмных текстов, например, в программировании.

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

Для геймпадов существует множество способов ввода текста. Если вы когда-нибудь играли в консольные игры, то, скорее всего, использовали какой-то из них.


Экранный ввод текста в Legend of Zelda

В Legend of Zelda игрок должен по очереди выбирать буквы при помощи крестовины со стрелками и каждый раз нажимать кнопку подтверждения для добавления буквы в поле ввода текста.
Читать дальше →

Multi-Target в Albumentations

Время на прочтение4 мин
Охват и читатели6.5K


Этот текст — это перевод блог поста Multi-Target in Albumentations от 27 июля 2020. Автор есть на Хабре, но переводить текст на русский поленился. И этот перевод сделан по его просьбе.

Я перевела на русский все, что можно, но какие-то технические термины на английском звучат более естественно. В таком виде они и оставлены. Если вам в голову приходит адекватный перевод — комментируйте — поправлю.

Три редко используемых возможности Python 3, о которых каждый должен знать

Время на прочтение3 мин
Охват и читатели13K

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

Данная статья является переводом 3 Neglected Features in Python 3 That Everyone Should Be Using.
Читать дальше →

Как не потерять ход времени, работая за компьютером. Приложение по мониторингу работы и ведению статистики

Время на прочтение6 мин
Охват и читатели8.1K


Я работаю педагогом в детском технопарке «Кванториум». В период самоизоляции мы так же, как и все перешли на дистанционное обучение. И в связи с тем, что дети стали еще больше времени проводить за компьютером, администрация решила сократить академический час и делать перерывы между работой — чтобы сохранить зрение. Мы написали приложение, которое подсчитывает время, проведенное за компьютером, ведет статистику в excel — полезно для родителей, и выдает звуковое оповещение о том, что пора сделать перерыв.

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

Ссылка на репозиторий

Под катом подробный разбор.
Читать дальше →