Обновить
492.44

Python *

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

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

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

Время на прочтение6 мин
Количество просмотров7.7K


градиент обреченный


В задачах распознаваниях речи при переводе аудио в текст есть дополнительные этапы, делающие этот текст более человекочитаемым. Например, предложение "привет хабр сегодня мы сделаем двадцать шесть моделей по распознаванию голоса" будет выглядеть лучше в таком виде: "Привет, хабр. Сегодня мы сделаем 26 моделей по распознаванию голоса". Другими словами, сегодня мы поговорим про то, как автоматически восстановить пунктуацию и капитализацию (сделать нужные буквы заглавными). Также упомянем денормализацию текста (при этом числа обретут свою цифровую форму обратно, эту задачу еще называют inverse text normalization).


Пунктуация и капитализация

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

Получение данных для анализа дилетантом

Время на прочтение3 мин
Количество просмотров3.8K

Мы начинаем писать код на языке Python, а также познакомимся с двумя библиотеками. Загрузим биржевые данные и сохраним их у себя на гугл-диске.

Читать далее

Python: потоки по-другому

Время на прочтение4 мин
Количество просмотров16K

Знаете, почему я решил написать эту статью? Я писал программу, где использовал потоки. Во время работы с ними в Python всё больше убеждаешь себя, что тут с ними всё плохо. Нет, не то, чтобы они плохо работали. Просто использовать их, мягко говоря, неудобно. Я решил написать простую, но более удобную библиотеку, и здесь поделюсь процессом.

P.S.: В конце оставлю ссылку на GitHub

Читать далее

Websocket-сервер для геолокации на asyncio

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров20K

Привет!

Меня зовут Артем, я занимаюсь бэкенд-разработкой в отделе спецпроектов KTS и веду курс по асинхронному программированию в школе Metaclass. 

11-го апреля у нас стартует 3-й поток курса. Чтобы показать, чему учатся наши студенты, мы провели live-code-вебинар по вебсокетам, на котором написали сервис, в котором пользователи могут делиться своей геопозицией в режиме реального времени. Хотите узнать, как создавать такие сервисы?

Хочу

Custom Pod Autoscaler – сверхгибкое автоскалирование в Kubernetes

Время на прочтение8 мин
Количество просмотров4.6K

Преимущества использования системы оркестрации контейнеров — удобство их развертывания, обновления и масштабирования. И одним из наиболее популярных таких инструментов является Kubernetes. 

Многие знают, что Kubernetes имеет встроенный механизм для автоскалирования подов — Horizontal Pod Autoscaling (HPA). Но что, если надо принимать решение с учетом множества факторов: суммы метрик, зависимости от количества готовых контейнеров, процента или доли доступных/недоступных подов или даже времени суток? А если эти показатели важны для нас все вместе? 

Мы в студии Whalekit смогли решить эту задачу. И отличным решением для этого стал Custom Pod Autoscaler (CPA).

Читать далее

Прямое подключение крохотного OLED-дисплея по HDMI

Время на прочтение11 мин
Количество просмотров27K

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

Обратная сторона Луны: как мы создали чат-бота с «человеческим лицом»

Время на прочтение5 мин
Количество просмотров2.3K

Меня зовут Александр Терехов, я работаю инженером группы классификации и диагностики (КиД) в самарском филиале «Инфосистемы Джет». Несколько лет назад я помогал девушке с дипломной работой, и мы создали чат-бота с психологическим уклоном — он тестировал типы личности и темпераменты. Тогда я настолько проникся этим опытом, что, когда начал создавать чат-бота для нужд технической поддержки, решил добавить в него немного психологии. Так появилась Луна — чат-бот, который помогает в работе инженерам «Инфосистемы Джет» и реагирует на эмоции.

Читать далее

Cling – не просто интерпретатор C++

Время на прочтение12 мин
Количество просмотров7.6K

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

Читать далее

Anna: готовим отчет о тестировании API, чтобы все были довольны

Время на прочтение3 мин
Количество просмотров9.7K

Всем привет. Как часто вам нужно разрабатывать сотни авто тестов и предоставлять заинтересованным лицам отчеты с результатами? Лично мне очень часто. В этом мне помогает Anna.

Читать далее

Как писать питонический код: три рекомендации и три книги

Время на прочтение15 мин
Количество просмотров42K

Новички в Python часто спрашивают, как писать питонический код. Проблема — расплывчатое определение слова "питонический". Подробным материалом, в котором вы найдёте ответы на вопрос выше и три полезные книги, делимся к старту курса по Fullstack-разработке на Python.

Читать далее

Своё частичное зеркало PyPi, на всякий случай

Время на прочтение7 мин
Количество просмотров12K

Создание своего зеркала PyPi в текущей ситуации — это наверное почти обязательное действие, если вы программируете на Python и хотите сохранить работоспособность менеджера пакетов pip (в прошлом случайная блокировка уже нарушала его работу). Решение известно — можно создать своё зеркало PyPi, куда будут загружаться все используемые вами пакеты. Автор данной статьи постарался подготовить как можно более простой в использовании вариант, своё зеркало запускается в четыре простых шага: git clone ..., настройка пароля администратора зеркала, docker-compose up -d и настройка pip на использование вашего зеркала.

Читать далее

Банкрот или не банкрот? Вот в чем вопрос

Время на прочтение5 мин
Количество просмотров5.5K

Сталкиваетесь ли Вы с необходимостью использовать внешние источники данных? Если да, то Вам пригодится алгоритм автоматизированного сбора информации с сайта – парсер. Разберём процесс создания такого алгоритма на примере сайта ЕФРСБ.

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

Одна из таких задач встала перед нашей командой: понадобились данные о процедуре признания физических лиц банкротами. Для этого был разработан алгоритм парсинга сайта Единого федерального реестра сведений о банкротстве (ЕФРСБ) с использованием библиотек requests и bs4. В настоящей статье предлагаю рассмотреть процесс создания этого парсера и познакомить Вас с решениями некоторых проблем, с которыми мы столкнулись.

Разработку алгоритма мы решили разбить на 2 части:

Читать далее

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

Прогнозирование атмосферного CO2 с помощью Python

Время на прочтение10 мин
Количество просмотров10K

Прогнозирование атмосферного CO2 с помощью Python. Как создавать модели прогнозирования временных рядов с помощью Darts.

Читать далее

Data Science — это не только подсчет пельменей…

Время на прочтение4 мин
Количество просмотров8.8K


Пока идут разговоры про отъезд ИТ специалистов, про их возврат, про поддержку ИТ компаний, а неофиты pandas восторженно разбирают json, есть предложение посмотреть на роль data science инструментов в современной ИТ инфраструктуре немного с другой точки зрения. DS — это ведь не только подсчет пельменей, накликивание мышкой графиков-пирожков или создание N+1 системы по рекомендации фильмов из вселенной Марвел.


Является продолжением серии предыдущих публикаций.

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

Простой Telegram бот для поиска по сайту на WordPress без знаний программирования

Время на прочтение3 мин
Количество просмотров17K

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

Читать далее

Создание документации по проекту с помощью Сonfluence API

Время на прочтение6 мин
Количество просмотров10K

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

Скорее всего вы знаете, что такое Confluence и для чего он нужен. Если нет, коротко скажем, что это пространство/сайт, где вы копите все знания о вашей деятельности в организации. То есть, например, выполняя какой-либо проект, параллельно ведете свой раздел в Confluence, чтобы новый сотрудник смог быстрее в нем разобраться. Также это мощный инструмент для различной аналитики, ведения статистики, но, если вам потребуются дополнительные инструменты и «фишки», нужно будет их оплатить, так как они не будут доступны в бесплатной версии.

Специалист Neoflex из подразделения Big Data Solutions рассказывает о проблеме, с которой он столкнулся:

При введении своего раздела в Confluence стараешься сразу же описывать документацию для клиента (руководство администратора), а вот забрать/экспортировать страницу в Word получается только по одной странице, и приходилось объединять все это руками в один документ. Поэтому я приступил к реализации своего микросервиса по сбору документов и созданию документации.

Зная такие инструменты как Selenium и язык программирования Python, мною была написана рекурсивная функция от нужного отдела по всем его дочерним объектам. В ходе выполнения наткнулся на большое количество проблем: например, отсутствие id в url, принадлежность одной страницы другому разделу, медленная работа, несоответствие стилей и т.д. Вся работа строилась на простом алгоритме: проходить все страницы, сохранять необходимый текст в тегах в html файл для дальнейшего преобразования в DOCX. Почему пришлось отказаться от данного подхода:

Читать далее

Как встроить блокнот Jupyter на любой сайт

Время на прочтение5 мин
Количество просмотров7.5K

Ранее мы анонсировали JupyterLite — дистрибутив JupyterLab, полностью запускаемый в браузере. Материалом, который будет полезен авторам документации библиотек Python, делимся к старту флагманского курса по Data Science.

Читать далее

Менеджер паролей без хранения

Время на прочтение3 мин
Количество просмотров17K

Всем привет!

Хочу поделиться с народом своей идеей по поводу безопасного хранения паролей. Сторонние менеджеры паролей мне всегда не нравились. Хранение сокровенного у чужого дяди – идея ну очень так себе. Можно сколько угодно клясться, что все надежно, что утечки маловероятны и т.д. Но одна утечка – и все что нажито непосильным трудом погибнет.

Поэтому, я, руководствуясь принципом «хочешь, чтобы было сделано хорошо – сделай сам», решил создать свое решение этой проблемы.

Задачи стояли следующие:

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

2. Он должен быть кроссплатформенным: Android/Linux/Windows.

3. Пароли в принципе не должны храниться нигде и ни в каком виде – это и есть изюминка моей идеи.

4. Если кто-то получит доступ к исходным кодам – это ничего ему дать не должно. Собственно, поэтому я и решил поделиться с народом своей идеей.

Читать далее

15 Open Source библиотек для повышения качества данных

Время на прочтение5 мин
Количество просмотров12K

Автор этого материала — программист и ML-инженер — собрала Open Source библиотеки Python, которые помогут вам сделать данные лучше, чтобы избежать траты времени и упростить анализ данных. Подборкой делимся к старту курса по анализу данных.

Читать далее

Вклад авторов