Все потоки
Поиск
Написать публикацию
Обновить
412.14

Python *

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

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

Загрузка треков со Spotify с помощью питона

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

Здравствуйте, дорогие пользователи хабра! Сегодня я расскажу как используя python можно скачивать треки со спотифая.

Читать далее

AntiToxic Bot — бот, распознающий токсичных пользователей в телеграм чатах

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

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

Читать далее

Нейродайджест: главное из области машинного обучения за сентябрь 2021

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

Первая бестекстовая NLP-модель от FAIR, предсказание погоды от DeepMind, неожиданное применение CLIP в робототехнике и много другое в сентябрьской подборке:

Перейти к обзору

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

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

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

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

Общий принцип был заимствован у коллег из Казахстана – создание и заполнение табличных форм с двумя колонками на странице – печатной и рукописной, а затем разбивка скана либо фотографии страницы на мини-боксы с текстом.

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

Читать далее

Тестируем собственную батарейку для Django с pytest и tox

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

Итак, у нас есть идея потрясающей и всем необходимой батарейки для Django. После того, как мы написали весь код мы готовы релизнуть нашу батарейку в PyPI. Однако перед этим мы должны разобраться с несколькими моментами.

Читать далее

Python service layer: основы оформления бизнес-логики на примере Django-приложений

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

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

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

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

На самом деле, изложенный далее текст относится не только к Django-проектам. Разрабатывая веб-приложения, используя другие инструменты, вроде Flask, люди используют те же концепции веб-разработки, причём часто именно в таком же виде, как они реализованы, в Django - views, request-response объекты, middlewares, модели, формы.

Читать далее

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

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


Open In Colab


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


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


По этой причине мы бы хотели поделиться с сообществом системой, которая:


  • Расставляет заглавные буквы и основные знаки препинания (точка, запятая, дефис, вопросительный знак, восклицательный знак, тире для русского языка);
  • Работает на 4 языках (русский, английский, немецкий, испанский);
  • По построению должна работать максимально абстрактно на любом тексте и не основана на каких-то фиксированных правилах;
  • Имеет минимальные нетривиальные метрики и выполняет задачу улучшения читабельности текста;

На всякий случай явно повторюсь — цель такой системы — лишь улучшать читабельность текста. Она не добавляет в текст информации, которой в нем изначально не было.

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

Многозадачная модель T5 для русского языка

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

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

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

Читать далее

Компиляция Python

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

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

Во-первых, к вам прибегает озадаченный проджект-менеджер и говорит: «Мы решили не отдавать исходный код, ведь это наша интеллектуальная собственность. Придумайте что-нибудь, чтобы заказчик был доволен, а мы оставили у себя исходники».

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

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

И вот тут настало время скомпилировать Python-код.

Меня зовут Руслан, я старший разработчик компании «Цифровое проектирование». Сегодня я расскажу, как выбрать тот самый компилятор из множества доступных.

Читать далее

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

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

Как всегда, все началось с идеи: а что если поискать корреляцию между индексом ММВБ и ценами акций, входящими в данный индекс, но только использовать цены следующего дня? Например, искать корреляцию между ценой закрытия индекса ММВБ на дату Х и ценой закрытия акции Газпрома на дату (X+1)? Зачем? Затем чтобы, зная цену закрытия индекса ММВБ сегодня, прогнозировать цену закрытия любой акции завтра.

Что получилось, читайте далее…
Читать дальше →

whois micro web-api

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

Не так давно появилась задача получения информации о доменах в whois.

Требование простое, дернуть curl-ом и получить json, и чтобы было бесплатно.

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

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

Репозиторий проекта

Подергать его можно тут

Для того чтобы получить инфу по домену нужно просто дернуть его следующим образом.

На этом все, спасибо за внимание :)

Читать далее

Книжная доминация Python и Java

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

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

Без всякого сомнения, самыми влиятельными языками программирования в настоящий момент являются Java и Python. И я приведу простой пример, почему их величие еще не скоро сойдет на нет.

P.s. я специально опускаю из обсуждения JS, Swift и Котлин, так как их доминирующее положение обусловлено немного другими факторами, нежели я обсужу в этой статье.

Читать далее

Аудио-графическое шифрование или как звук в картинку спрятать

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

Под покровом вечера пятницы, поглощая хмельные запасы нашей необъятной и листая любимый Хабр, я наткнулся на плеяды статей о шифровании. Что только куда не зашифровывали, от совсем уж банального шифра Цезаря до менее банального шифрования изображений в аудиофайл. Наслаждаясь достойным вечера чтивом, в голову зашел не разувшись интересный вопрос: "-А кто-нибудь звук в картинку прятал?". Зудящая жажда знаний заставила меня смахнуть с живота остатки кальмаровых колец и сесть за свою рабочую лошадку.

Читать далее

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

Распознаем медицинские тексты

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

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

Читать далее

Сохранение озвучки книги средствами Google TTS и python

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

В последнее время я полюбил слушать аудиокниги. Однако те книги, которые я хочу слушать, никто не озвучивает. Не думаю что кому то будет интересна моя драматичная история о выборе лучшего tts, проблемы в процессе написания, солнце в монитор и т.п., так что я просто представлю вам уже готовое решение.

Читать далее

Как бороться с сонливостью за рулём с помощью Python

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

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

Использование библиотек языка программирования Python позволяет выполнить программную реализацию системы обнаружения сонливости водителя, которое позволяет определять, как долго у конкретного человека (водителя) были закрыты глаза. Если глаза были закрыты в течение определенного времени, то следует предположить, что водитель начинает засыпать, и включить звуковой сигнал, чтобы разбудить водителя и привлечь его внимание.

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

Классификация состояния глаз осуществляется при помощи методов компьютерного зрения. Чтобы начать реализацию, необходимо создать новый *.py-файл, открыть его в текстовом редакторе или среде разработки для языка Python (например, в IDLE) и выполнить подключение необходимых библиотек. Исходный код функции воспроизведения приведен в листинге 1.

Читать далее

Выходит первый Python 3.11. Что нового?

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

Делимся переводом документации альфы Python 3.11, которая выходит 4 октября, о разнице в сравнении с версией 3.10. Изменения касаются трассировки исключений, модулей math, sqlite, threading, unittest и других. Удалена ощутимая часть устаревшей функциональности.

Подробности читайте под катом, пока у нас начинается курс по Fullstack-разработке на Python.

Читать далее

Выравнивание параллельных текстов для малоресурсных языков

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

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


Upd. 04.12.2021 — Наш телеграм канал


На территории России проживает большое количество народов, говорящих более чем на 270 языках. Около 150 языков насчитывает менее 1 тысячи носителей, а за последние 20 лет 7 языков уже исчезло.


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


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


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


I. Извлекаем параллельный корпус


Для выравнивания двух текстов я написал на python'е библиотеку lingtrain_aligner. Код у нее открыт. Она использует ряд предобученных моделей, можно подключать и свои. Одной из самых удачных мультиязыковых моделей сейчас является LaBSE. Она обучалась на 109 языках. Так как соотношение текстов смещено в сторону популярных языков, то для них качество эмбеддингов (эмбеддингом называют вектор чисел применительно к данным, которые он описывает) будет лучше.


Colab


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


Установка


Установим библиотеку командой


pip install lingtrain_aligner
Читать дальше

Влияние загрязнения воздуха на тяжесть течения Covid- 19

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

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

Читать далее

Посмотрите, как Google отслеживает ваше местоположение. С Python, Jupyter, Pandas, Geopandas и Matplotlib

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

В отделе продаж можно услышать аббревиатуру ABC: Always Be Closing, что означает заключение сделки с покупателем. Последнее десятилетие породило еще одну аббревиатуру ABCD: Always Be Collecting Data

Мы используем Google для почты, карт, фотографий, хранилищ, видео и многого другого. Мы используем Twitter, чтобы читать поток сознания одного президента. Мы используем Facebook для обмена сообщениями и… ну, почти все. Но наши родители пользуются им. Мы используем TikTok… Понятия не имею, зачем. 

На самом деле, оказывается, что большинство из вышеперечисленного бесполезно… Ничего подобного, суть в том, что мы их используем. Мы их используем, и они бесплатны. В экономике XXI века, если вы не платите за товар, вы являетесь товаром. 

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

Читать далее

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