Обновить
512K+

Python *

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

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

Простейший полнотекстовый поиск на Python с поддержкой морфологии

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели12K

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

В первой версии MVP я частично решила эту проблему обычным поиском по подстроке (\b{term}, где \b – граница слова), что позволило найти вхождения отдельных слов без учета морфологии или с некоторыми внешними флексиями (например, -s, -ed, -ing). Фактически это поиск подстроки с джокером на конце. Но для многословных выражений и неправильных глаголов, составляющих весомую долю моего словаря, этот способ не работал.

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

Изобретение велосипеда на Python и pandas

Бесплатный мультиязычный чат для сайта на Tawk + Notion + Telegram + chatGPT + GPT-Index

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

Вы хотите общаться с посетителями сайта на всех языках и при этом чтобы вам помогал обученный на вашей базе знаний chatGPT?

Я следил за различными видами использования chatGPT с момента его выхода. Предлагаемое в статье решение я еще не встречал и поэтому думаю оно будет кому-то полезным.

Читать далее

LMS.NetMap швейцарский нож для анализа сетевой инфраструктуры

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели15K

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

Также по статистике проведенных пентестов около 70% ИТ и ИБ отделов
клиентов не имели карту сети. То есть админы даже представления не имели
как устроена топология сети и что там происходит. А ведь корпоративные
информационные системы давно стали неотъемлемой частью любого бизнеса,
являются основой множества бизнес‑процессов.

Читать далее

progressive_plots или ускоряем построение графиков

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели2.6K

Здравствуйте, меня зовут Николай Стрекопытов и большую часть карьеры я работал на стыке R&D и Deep Learning и в задачах возникающих в этих нишах часто невозможно написать какие-то автотесты и не всегда понятно где вообще может быть проблема поэтому нужно визуально исследовать графики каких-то алгоритмически-заданных функций или показаний с девайса при разных параметрах, а хочется эти графики изучить в максимально детализированном варианте, что почти всегда занимает неприлично большое количество времени.

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

Читать далее

Визуализация архитектуры модели PyTorch

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

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

В этом посте вы узнаете:

Как сохранить модель PyTorch в формате обмена

Как использовать Netron для создания графического представления.

Читать далее

Главное из мира Python за февраль 2023

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

Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. Под катом — текстовая выжимка из обсуждения.

Читать далее

Цепочка методов в pandas. Прокачиваем свой код. Минигайд для интересующихся

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели32K

Цепочка методов (или цепочка вызовов, method chaining) - это стиль записи кода, который позволяет выполнять несколько операций за один раз, в конечном счете экономя время и энергию.

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

Читать далее

Отображение графа на Python с networkx

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели53K


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



Можно сделать несколько наблюдений:


  • Английский (en) — основной язык, на который переводятся все остальные языки; в то же время многие англоязычные материалы переводятся на другие языки.
  • Китайский (zh) переводится на японский (ja), но не наоборот.
  • И китайский, и японский материалы переведены на английский, и наоборот.

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

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

Какие профессии выбирают женщины в столице и регионе

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.5K

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

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

Анализу подверглись резюме представительниц прекрасного пола столиц и регионов. Аналитики компании загрузили резюме женщин Москвы и Санкт-Петербурга, Иваново и Твери с сайта по поиску работы.

Читать далее

Разработка Web API на Django с помощью Django REST framework: от создания моделей до тестирования

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели25K

Django REST framework (DRF) — это мощный и гибкий инструмент для создания Web API на основе Django. Он предоставляет удобные средства для создания RESTful API, поддерживает аутентификацию, авторизацию, сериализацию, валидацию и другие функции.

В этой статье мы рассмотрим, как использовать Django REST framework для создания Web API на базе Django.

Читать далее

Генерация 2D мира с помощью клеточного автомата на Python

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели16K

Всем привет! На написание этой статьи меня вдохновил автор YouTube канала PeaAshMeter. В своем видео автор показывает простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? На эти и многие другие вопросы я попробую ответить.

Читать далее

Классификация изображений в облачной системе Google Colab

Уровень сложностиСложный
Время на прочтение43 мин
Охват и читатели11K

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

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

Читать далее

Учим нейросеть принимать решения на основе уже известного опыта (на примере Шахмат и загруженного датасета)

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

Учим нейросеть играть в Шахматы, загрузив в нее датасеты уже сыгранных партий с известным результатом.

То есть никакого минимакса, деревьев и расчетов на несколько ходов вперед.
Идея в том, что если в нейросеть загрузить много партий, уже сыгранныx другими игроками, то нейросеть будет знать, как поступали другие игроки в соответствующих случаях и к какому результату это приводило. Нейросеть обобщит имеющийся опыт и будет делать ход на основе уже известного опыта и выявленных закономерностей, причем делать ход «мгновенно».

Читать далее

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

5 полезных библиотек Python (с примерами)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели38K

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

Ознакомиться

Как создание бинарного классификатора открыло ящик Пандоры в стандартах владения английским языком

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели17K

Владение английским языком принято оценивать по системе CERF (Common European Reference Framework), состоящей из шести уровней, где уровень A1 – начинающие, а уровень С2 – профессионально владеющие иностранным языком. Международный уровень С2 часто позиционируется как “уровень образованного носителя”, и получение соответствующего сертификата зачастую является либо заветной мечтой, либо предметом гордости преподавателя-лингвиста.

Однако я не встречала в научной литературе доказательства полного соответствия уровня С2 уровню владения английским как родным. На самом деле, среди ученых нет единого мнения о том, возможно ли вообще изучающим язык достичь уровня, идентичного владению языком как родным (вот две статьи с практически одинаковым названием и противоположными выводами [1; 2]). Проведя небольшой опрос в одной из соцсетей, я увидела, что большинство моих коллег-преподавателей английского в глубине души все-таки считают, что «между уровнем носителя и уровнем С2 – бездна». Хотя были и те, кто выбрал вариант, что С2 – это действительно уровень образованного носителя.

Так есть разница или нет? Я решила разобраться, рассмотрев для начала всего лишь один аспект владения языком – письменную речь. О своем эксперименте, в котором не обошлось без искусственного интеллекта, я и хочу рассказать.

Вначале я создала опрос на Google Forms и предложила 17 русскоговорящим коллегам следующий челлендж: определить, написан ли английский текст носителем языка (британцем) или русскоязычным автором с уровнем английского С1-С2. Всего было 20 текстов. К исследованию приглашались эксперты с большим опытом проверки студенческих эссе и чтения оригинальных текстов, но, тем не менее, задача оказалась не из простых. Подсчитав вручную метрики, получаем: Accuracy = 0.6617; Precision = 0.6627; Recall = 0.6588; F1 = 0.66. Замечу, что этот опрос я также предлагала коренным британцам (пока только троим), и ...

Читать далее

Работа памяти в Python

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели11K

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

Python не взаимодействует с памятью - только с её виртуальным представлением. В процессе выполнения программы операционная система создаёт процесс и выделяет под него ресурсы. В отличие от С/С++ мы не можем управлять памятью из кучи напрямую, а делаем это посредством memory manager, который и обращается к памяти через Python/C API.

Читать далее

Сегодня я для себя открыл: язык программирования gleam

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

gleam - это новый язык со статической типизацией для платформы BEAM (Erlang). Уверен, что Вас он тоже заинтересует - в том случае, если Вы эрлангист, эрланговед или что-то в этом роде. Язык очень любопытный: например, в нём есть зарезервированное слово todo - для мотивации программистов. И, наоборот - отсутствует ключевое слово if.

В целом, gleam - пример того, как эрланг можно переделать для использования с типами. Мы с вами знаем, что есть функциональные языки, такие как Haskell и OCaml, которые работают с типами хорошо. Однако, языки ML-семейства выглядят совсем по-другому. gleam же имеет C-подобный синтаксис.

В этой статье я постарался описать основные черты языка gleam. Также, в конце читателя ждёт увлекательный мастер-класс о том, как (не) нужно превращать обычный императивный язык в функциональный. На примере Python.

И да, поросёнок - не совсем официальный mascot языка gleam. Но я позволил себе немного пофантазировать - надеюсь, попал в цветовую гамму плюс-минус :)

Читать

ChatGPT в роли стримера

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели18K

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

Чуть позже широкую огласку получил ИИ‑стример Neuro‑sama, созданный vedal987.

В целом, тогда я и решил запустить этот эксперимент и попробовать сделать максимально дешево и сердито русскоговорящего стримера на основе GPT‑моделей.

Читать далее

API Честный знак как получить ключ сессии

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели51K

Привет habr!

Хочу поделиться опытом работы с API системы маркировки товаров «Честный Знак» (ЧЗ) / МДЛП (маркировка лекарственных препаратов), в части выгрузки статистических данных.

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

Задача: забрать в ЧЗ статистические данные заказчика (информация о движении единиц продукции между юридическими лицами, статистика конечных продаж с адресами, и тп.)

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

Итак, по порядку…

Читать далее

Что, где, откуда: извлекаем реляционный датасет из JSON

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

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

Меня зовут Жеронкин Антон, я Data Engineer и участник профессионального сообщества NTA. Сегодня я расскажу как адаптировать и загрузить датасет, представляющий из себя около 5 млн. статей и связанных с ними сущностей, с сохранением при адаптации всех связей между ними.

Читать далее