Пользователь
Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)
Проект подрос, библиотека теперь решает все базовые задачи обработки естественного русского языка: сегментация на токены и предложения, морфологический и синтаксический анализ, лемматизация, извлечение именованных сущностей.
Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.
В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.
Откуда берется применение ML в России на гос.уровне?
Предисловие
Всем привет!
Вопрос в заголовке не риторический, мне правда интересно. Если вдруг кто-то знает на него ответ просьба написать в комментариях, возможно я пытался зайти не с той стороны.
Так же уточняю, что у меня нет цели на кого-то нажаловаться поэтому в ответах из министерств я убрал все печати с именами и подписи ответственных чиновников. Мне интересно разобраться в том, как эта система работает.
С чего все началось?
Все началось с того, что в конце 2019 я понял, что в своей предыдущей области проф.деятельности достиг некого пика и дальше развитие в этой области мне:
- не интересно
- оно возможно, но, полностью соответствует принципу Парето где мне надо было бы потрать очень много усилий ради призрачных перспектив, да еще и не таких желанных, как мне казалось в начале пути.
[Фреймворк формирования полезных привычек] и максимального вовлечения юзеров на примере изучения английского языка
В течение многих лет я жадно собирал всевозможные материалы о привычках, которые складировались на уютных виртуальных полках в Pocket и Workflowy. Но год назад я наконец-то заставил себя начать мини-исследование, чтобы протестировать, насколько легко заставить теорию работать на практике.
Под катом ты познакомишься с выжимкой результатов сотен академических статей и книг о формировании привычек, поведенческой экономике и психологии для разработки фреймворка, который не только помогает нашим студентам успешно учить английский, но и подходит для разработки «залипательных» приложений и вырабатывания полезных привычек в любых сферах жизни (умение учиться — та еще привычка).
С графиками, ссылками на первоисточники и результатами внедрения реально работающей компании. В общем, всё как ты любишь.
2. Математическое описание систем автоматического управления
Публикую первую часть второй главы лекций по теории автоматического управления.
В данной статье рассматриваются:
2.1. Получение уравнений динамики системы. Статическая характеристика. Уравнение динамики САУ (САР) в отклонениях
2.2. Линеаризация уравнений динамики САУ (САР)
2.3. Классический способ решения уравнений динамики
Лекции по курсу «Управление Техническими Системами», читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки», факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность.
Данные лекции только готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется.
Первая часть: «Введение в теорию автоматического управления. Основные понятия теории управления техническим системами»
Датасеты для automotive
1. A2D2 dataset от Audi
Наш набор данных включает в себя более 40 000 кадров с семантической сегментацией изображений и метками облака точек, из которых более 12 000 кадров также имеют аннотации для 3D-боксов. Кроме того, мы предоставляем немаркированные данные датчиков (прибл. 390 000 кадров) для последовательностей с несколькими циклами, записанных в трех городах.
Сегментация данных
Набор данных содержит 41 280 кадров с семантической сегментацией по 38 категориям. Каждому пикселю изображения присваивается метка, описывающая тип объекта, который он представляет, например пешехода, автомобиль, растительность и т. д.
Облако точек
Сегментация облака точек производится путем слияния семантической пиксельной информации и лидарных облаков точек. Таким образом, каждой 3D-точке присваивается метка типа объекта. Это зависит от точной регистрации камеры-лидара.
Рамки
3D-боксы предусмотрены для 12 499 кадров. Лидарные точки в поле зрения фронтальной камеры помечены 3D-рамками. Мы аннотируем 14 классов, имеющих отношение к вождению, например автомобили, пешеходы, автобусы и т. д.
Опыт подготовки к сертификации Professional Scrum Master II (Scrum.org)
Привет всем, хотел рассказать о материалах при подготовке к сертификации PSM II от Scrum.org. Буду очень рад, если поделитесь своим опытом тоже :)
Sidenote: если вы апологет движения "сертификаты потеряли свою ценность" — я с вами соглашусь. И в отношении PSM I всё довольно просто — сертификация говорит что вы понимаете как работает фреймворк в общих чертах. В PSM II уже идёт работа с набранным в бою опытом применения скрама, потому она (сертификация) серьёзнее. Но ничего сверхъестественного в этом экзамене тоже нет. Кстати, сейчас в мире 6793 PSM II обладателей.
Подготовка к PSM II
Как писал Denis Salnikov, хорошо будет пройти Scrum.org open assesments перед сдачей несколько раз на 100%
- PSPO open — потому что там бывают вопросы, чтоб вы понимали как коучить PO и как идёт работа с ценностью. (кстати говоря, если вы дошли до PSM II, вы вполне можете сдать PSPO не мучаясь, что я и сделал).
- PSM — потому что это должно отскакивать на зубок. Ценности, роли, события, артефакты.
- PAL-E — чтобы через призму коучинга понимать менеджмент, и некоторые метрики, взрослость компании.
- PSK open — чтобы понимать основы работы с потоком.
- Nexus open — базовые основы пусть не самого популярного, но официального scrum.org решения для масштабирования.
Какие-то другие тесты надо проходить осторожно. В интернете довольно много подготовительных тестов: некоторые из них несколько PMBoK уклона, что норм для PMI-ACP, но другие прям адово извращают саму суть скрама, вводят какие-то новые роли, занимаются всяческим саботажем того, что вы практикуете к моменту подготовки к PSM II — берегите себя.
Коучинг, книжки, тренерство
Lyssa Adkins: Coaching Agile Teams — довольно лёгкая
5 визуализаций, который помогут улучшить Data Story
Сторителлинг – один из важнейших навыков для специалистов, которые занимаются анализом данных. Чтобы доносить идеи и делать это убедительно, нужно простраивать эффективную коммуникацию. В этой статье мы познакомимся с 5 методами визуализации, которые выходят за рамки классического понимания, и могут сделать вашу Data Story более эстетичной и красивой. Работать мы будем с графической библиотекой Plotly на Python (она также доступна на R), которая позволяет создавать анимированные и интерактивные диаграммы с минимальными усилиями.
Интерактивные эксперименты с машинным обучением (на TensorFlow)
Вкратце
Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере.
Несмотря на то, что машинные модели в репозитории могут быть немного "туповатенькими" (помните, это всего-лишь эксперименты, а не вылизанный код, готовый к "заливке на продакшн" и дальнейшему управлению новыми Tesla), они будут стараться как могут чтобы:
- Распознать цифры и прочие эскизы, которые вы нарисуете в браузере
- Определить и распознать объекты на видео из вашей камеры
- Классифицировать изображения, загруженные вами
- Написать с вами поэму в стиле Шекспира
- И даже поиграть с вами в камень-ножницы-бумагу
- и пр.
Я тренировал модели на Python с использованием TensorFlow 2 с поддержкой Keras. Для демо-приложения я использовал React и JavaScript версию Tensorflow.
Интерполяция и дискретизация, зачем они нужны при проективном преобразовании изображения?
Имитация рисования от руки на примере RoughJS
<canvas>
и с помощью SVG
. В этом посте я хочу ответить на самый популярный вопрос о RoughJS: как это работает?Немного истории
Очарованный изображениями рукописных графиков, схем и эскизов, я, как истинный нерд, задался вопросом: можно ли создавать такие рисунки с помощью кода, как можно точнее имитировать рисунок от руки, в то же время сохранив возможность программной реализации? Я решил сосредоточиться на примитивах — линиях, многоугольниках, эллипсах и кривых, чтобы создать целую библиотеку 2D-графики. На её основе можно создавать библиотеки и графики для рисования графиков и схем.
Вкратце изучив вопрос, я нашёл статью Джо Вуда и его коллег под названием Sketchy rendering for information visualization. Описанные в ней техники стали основой библиотеки, особенно в рисовании линий и эллипсов.
В 2017 году я написал первую версию библиотеки, которая работала только на Canvas. Решив задачу, я потерял к ней интерес. Год спустя я много работал с SVG, и решил адаптировать RoughJS для работы с SVG. Также я изменил структуру API, сделав её более простой, и сосредоточился на простых векторных графических примитивах. Я рассказал о версии 2.0 на Hacker News и внезапно она обрела огромную популярность. В 2018 году это был второй по популярности пост ShowHN.
Руками не трогать! Управляем веб-страницей с помощью веб-камеры
Рано или поздно карантин закончится, и жители городов смогут снова покидать дома. Но уже сейчас становится ясно, что месяцы самоизоляции не пройдут бесследно. Наши привычки из жизни до карантина изменятся, и окружающему миру придется под это подстраиваться.
Экономический кризис станет двигателем быстрой адаптации изменений: компании, которые первыми поймут, как дать пользователям дополнительную ценность или удобство, окажутся в топах. Перед IT-индустрией будет масса челленджей. И в этом материале мы поделимся своим решением одной из проблем нового мира. Но обо всем по порядку.
Django: краткое руководство по интернационализации
Часть того, о чём тут пойдёт речь, применимо к локализации любых Python-проектов. Разобрав основы, мы поговорим об ускорении работ по интернационализации. В частности — о применении платформы Phrase.
Предполагается, что у читателя этого материала имеется работающее Django-приложение, и то, что у него установлен пакет
gettext
(установить его можно, например, командой pip install gettext
). Если вы раньше не пользовались Django (популярным веб-фреймворком, основанным на Python), то вам, возможно, будет полезно сначала взглянуть на это официальное руководство, а потом вернуться к данной статье.Руководство по FFmpeg libav
Долго искал книгу, в которой было бы разжёвано, как использовать FFmpeg-подобную библиотеку, известную как libav (название расшифровывается как library audio video). Обнаружил учебник «Как написать видеоплеер и уложиться в менее чем тысячу строк». К сожалению, информация там устаревшая, так что пришлось создавать мануал своими силами.
Большая часть кода будет на C, однако не волнуйтесь: Вы легко всё поймёте и сможете применить на любимом языке. У FFmpeg libav уйма привязок ко многим языкам (в том числе и к Python и к Go). Но даже если Ваш язык прямой совместимости не имеет, всё равно можно привязаться через ffi (вот пример с Lua).
Начнём с краткого экскурса о том, что такое видео, аудио, кодеки и контейнеры. Затем перейдем к ускоренному курсу, посвященному использованию командной строки FFmpeg, и, наконец, напишем код. Не стесняйтесь переходить сразу в раздел «Тернистый путь изучения FFmpeg libav».
Есть мнение (и не только моё), что потоковое интернет-видео уже приняло эстафету от традиционного телевидения. Как бы то ни было, FFmpeg libav точно достоин изучения.
Оглавление
Шаблон backend сервера на Golang — часть 1 (HTTP сервер)
UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes
Представленный ниже шаблон сервера на Golang был подготовлен для передачи знаний внутри нашей команды. Основная цель шаблона, кроме обучения — это снизить время на прототипирование небольших серверных задач на Go.
Шаблон включает:
- Передачу параметров сервера через командную строку github.com/urfave/cli
- Настройка параметров сервера через конфигурационный файл github.com/sasbury/mini
- Настройка параметров TLS HTTP сервера
- Настройка роутера регистрация HTTP и prof-обработчиков github.com/gorilla/mux
- Настройка уровней логирования без остановки сервера github.com/hashicorp/logutils
- Настройка логирования HTTP трафика без остановки сервера
- Настройка логирования ошибок в HTTP response без остановки сервера
- HTTP Basic аутентификация
- MS AD аутентификация gopkg.in/korylprince/go-ad-auth.v2
- JSON Web Token github.com/dgrijalva/jwt-go
- Запуск сервера с ожиданием возврата в канал ошибок
- Использование контекста для корректной остановки сервера и связанных сервисов
- Настройка кастомной обработки ошибок github.com/pkg/errors
- Настройка кастомного логирования
- Сборка с внедрением версии, даты сборки и commit
Вторая часть посвящена прототипированию REST API.
Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).
Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.
Ссылка на репозиторий проекта.
Дорожная карта математических дисциплин для машинного обучения, часть 1
Вместо предисловия
Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
Реализация поиска печатей на OpenCV без нейронок, регистрации и смс
Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора). У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопать данный реликт, стряхнуть с него пыль и на его основе сделать рабочее решение.
Большинство приемов, описанных здесь, можно применить и вне задачи поиска печатей. Например:
- цветовая сегментация;
- поиск круглых объектов / окружностей;
- конвертация изображения в полярную систему координат;
- пересечение объектов, Intersection over Union (IoU, Коэффициент Жаккара).
В итоге, у нас было два варианта: решать с помощью нейронных сетей или же воскресить прототип на OpenCV. Почему мы решили взять OpenCV? Ответ в конце статьи.
Использование сверточной нейронной сети для игры в «Жизнь» (на Keras)
Цель этой статьи — научить нейронную сеть играть в игру "Жизнь", не обучая ее правилам игры.
Привет, Хабр! Представляю вашему вниманию перевод статьи "Using a Convolutional Neural Network to Play Conway's Game of Life with Keras" автора kylewbanks.
Делаем интерактивный план местности за 15 минут
На Тостере часто спрашивают о том, как сделать интерактивную схему дома, план его внутреннего устройства, возможность выбора этажей или квартир с выводом информации о них, вывод информации о деталях того или иного товара при наведении мыши на них на фотографии и.т.д. Речь там идет не о трехмерной модели, а именно о картинке с возможностью подсветить те или иные детали. Все эти задачи похожие и решаются достаточно просто, но тем не менее вопросы продолжают появляться, так что сегодня мы рассмотрим, как подобные вещи делаются при помощи SVG, графического редактора и щепотки javascript.
Методы наименьших квадратов: текст, написанный программистом для программистов
Итак, задача на сегодня: научиться простейшей обработке геометрии, чтобы, например, суметь преобразовать мою голову в истукана с острова Пасхи:
Информация
- В рейтинге
- 3 201-й
- Дата рождения
- Зарегистрирован
- Активность