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

Это третья публикация в рамках цикла статей по изучению московской базы ковидных больных. В настоящей работе были созданы векторные представления медицинских терминов, которые теперь доступны на Github.
Высокоуровневый язык программирования
Это третья публикация в рамках цикла статей по изучению московской базы ковидных больных. В настоящей работе были созданы векторные представления медицинских терминов, которые теперь доступны на Github.
В последнее время я полюбил слушать аудиокниги. Однако те книги, которые я хочу слушать, никто не озвучивает. Не думаю что кому то будет интересна моя драматичная история о выборе лучшего tts, проблемы в процессе написания, солнце в монитор и т.п., так что я просто представлю вам уже готовое решение.
Обнаружение сонливости водителя продиктовано потребностью безопасности – разработка приложения для обнаружения в режиме реального времени позволит избежать серьезных происшествий в тот момент, когда водитель переутомлен. По разным оценкам, около 20% всех уличных происшествий связаны с переутомлением, а на некоторых оживленных улицах – до 50%. Таким образом, совершенствование технологий распознавания и предотвращения сна за рулем может стать серьезным вызовом в области улучшения систем предотвращения аварий. При обнаружении сонливости, необходимо в тот же момент предупредить водителя о возможных неприятностях. Подобное обнаружение достигается при помощи детектирования состояния глаз водителя.
Использование библиотек языка программирования Python позволяет выполнить программную реализацию системы обнаружения сонливости водителя, которое позволяет определять, как долго у конкретного человека (водителя) были закрыты глаза. Если глаза были закрыты в течение определенного времени, то следует предположить, что водитель начинает засыпать, и включить звуковой сигнал, чтобы разбудить водителя и привлечь его внимание.
Для успешного распознавания необходимо расположить камеру в машине, чтобы можно было легко определить лицо водителя в тот момент, когда он находится за рулем, и применить локализацию лицевых признаков для наблюдения за глазами.
Классификация состояния глаз осуществляется при помощи методов компьютерного зрения. Чтобы начать реализацию, необходимо создать новый *.py-файл, открыть его в текстовом редакторе или среде разработки для языка Python (например, в IDLE) и выполнить подключение необходимых библиотек. Исходный код функции воспроизведения приведен в листинге 1.
Делимся переводом документации альфы Python 3.11, которая выходит 4 октября, о разнице в сравнении с версией 3.10. Изменения касаются трассировки исключений, модулей math, sqlite, threading, unittest и других. Удалена ощутимая часть устаревшей функциональности.
Подробности читайте под катом, пока у нас начинается курс по Fullstack-разработке на Python.
Сложный был год: налоги, катастрофы, бандитизм и стремительное исчезновение малых языков. С последним мириться было нельзя...
Upd. 04.12.2021 — Наш телеграм канал
На территории России проживает большое количество народов, говорящих более чем на 270 языках. Около 150 языков насчитывает менее 1 тысячи носителей, а за последние 20 лет 7 языков уже исчезло.
Этот проект — мои "пять копеек" по поддержке языкового разнообразия. Его цель — помощь исследователям в области машинного перевода, лингвистам, а также энтузиастам, радеющим за свой родной язык. Помогать будем добыванием параллельных корпусов, — своеобразного "топлива", при помощи которого современные модели все успешнее пытаются понять человеческий язык.
Сегодняшние языки — башкирский и чувашский, с популяризаторами которых я в последнее время тесно общался. Сначала я покажу как в принципе извлечь корпус из двух текстов на разных языках. Затем мы столкнемся с тем, что на рассматриваемых языках предобученная модель не тренировалась и попробуем ее дообучить.
Экспериментировать мы будем в среде Colab'а, чтобы любой исследователь при желании смог повторить этот подход для своего языка.
Для выравнивания двух текстов я написал на python'е библиотеку lingtrain_aligner. Код у нее открыт. Она использует ряд предобученных моделей, можно подключать и свои. Одной из самых удачных мультиязыковых моделей сейчас является LaBSE. Она обучалась на 109 языках. Так как соотношение текстов смещено в сторону популярных языков, то для них качество эмбеддингов (эмбеддингом называют вектор чисел применительно к данным, которые он описывает) будет лучше.
Попробовать извлечь корпус на нужном языке можно в этом Colab'e. Дальше пройдемся по шагам более подробно.
Установим библиотеку командой
pip install lingtrain_aligner
Продолжаю цикл статей основанных на анализе базы московских больных. В настоящей второй части я буду анализировать влияние загрязнение воздуха на тяжесть течения заболевания. В этом нам поможет сайт с открытыми данными г. Москвы, на котором представлена информация метеорологических станций.
В отделе продаж можно услышать аббревиатуру ABC: Always Be Closing, что означает заключение сделки с покупателем. Последнее десятилетие породило еще одну аббревиатуру ABCD: Always Be Collecting Data.
Мы используем Google для почты, карт, фотографий, хранилищ, видео и многого другого. Мы используем Twitter, чтобы читать поток сознания одного президента. Мы используем Facebook для обмена сообщениями и… ну, почти все. Но наши родители пользуются им. Мы используем TikTok… Понятия не имею, зачем.
На самом деле, оказывается, что большинство из вышеперечисленного бесполезно… Ничего подобного, суть в том, что мы их используем. Мы их используем, и они бесплатны. В экономике XXI века, если вы не платите за товар, вы являетесь товаром.
Итак, короче говоря, я хотел выяснить, насколько корпорация Alphabet, владелец Google, обо мне знает. Крошечная доля, я посмотрел на историю геолокации. Я никогда не отключал службы определения местоположения, потому что ценил комфорт выше конфиденциальности. Плохая идея.
Имеем набор данных в виде совокупности квадратных матриц, которые используются - вместе с известным выходом - в качестве тренировочного набора для нейронной сети. Можно ли обучить нейронную сеть, используя только собственные значения матриц? Во избежание проблем с комплексными значениями, упор делаем на симметричные матрицы. Для иллюстрации используем набор данных MNIST. Понятно, что невозможно восстановить матрицу по ее собственными значениям - для этого понадобится еще кое-что, о чем мы поговорим далее. Поэтому трудно ожидать некоего прорыва на данном пути, хотя известно, что можно говорить о чем угодно, строить грандиозные планы, пока не пришло время платить. О деньгах мы здесь не говорим, просто задаем глупый вопрос, на который постараемся получить осмысленный ответ, тем более что в процессе познания расширим свои научные горизонты. Например, сначала мы познакомимся с тем, как находить собственные векторы и собственные значения (eigenvalues and eigenvectors) для заданной квадратной матрицы, затем плавно выкатим на эрмитовы и унитарные матрицы. Все иллюстративные примеры сопровождаются простыми кодами. Далее возьмем MNIST , преобразуем в набор собственных значений симметричных матриц и используем молоток от Keras. Как говорят в Японии: “Торчащий гвоздь забивают”. Закроем глаза и начнем бить, а на результат можно и не смотреть: получится как всегда. Сразу скажу, что изложение будет проведено как можно ближе к тому, как я это дело понимаю для себя, не обращаясь к строгому обоснованию, которое обычно не используется в повседневной жизни. Иными словами, что понятно одному глупцу, понятно и другому. Все мы невежественны, но, к счастью, не в одинаковой степени. С другой стороны, предполагаю, что многие, хоть и в гимназиях не обучались, но имеют представление - по своему опыту обучения, - что значит впихнуть невпихуемое.
Всем привет это моя первая статья на habr надеюсь это будет кому-то интересно. На последнем проекте я как всегда делал какой-то REST API и вдруг меня посетила мысль что я что-то много копирую и вставляю одного и того же кода. И я решил почему бы не сделать генератор этого кода это оказалось не сложно.
Сразу оговорюсь что я использую https://github.com/tiangolo/full-stack-fastapi-postgresql и содержимое репозитория нужно положить в директорию backend/app/app что бы все заработало.
Думаю в чистом FastAPI проекте это тоже должно сработать.
По умолчанию в проектах этого типа есть два типа пользователей superuser и обыкновенный user соответсвенно CRUD будет создаваться относительно двух этих пользователей. Для генерации CRUD достаточно создать просто модель.
Привет, Хабр. Это моя первая статья, и сегодня я хочу рассказать вам про свой первый модуль на python. Называется он dnevnikru. Я написал его для облегчения работы с сайтом дневника. Работает модуль по принципу парсера, а не получает данные через API.
Идея написать такой модуль пришла мне после идеи написать телеграм бота для просмотра оценок и домашних заданий из Дневника.ру
Согласно исследованию - влияние есть, но незначительное. Обучаемость скорее связана с навыками изучения новых языков (не программирования).
Что в первую очередь ассоциируется у вас с программированием? Может быть математика? Большинство знакомых мне программистов не связывают то, чем они занимаются, в первую очередь с математикой. Они скорее говорят о логике. Тем не менее, идея о том, что навыки программирования связаны со способностями к математике, остается живой даже среди программистов.
Совсем недавно было опубликовано исследование Вашингтонского университета. В нем исследователи выяснили роль математики в способностям к обучению программированию.
В этом руководстве предполагается, что у вас есть опыт работы с FastAPI и Postgres с помощью Docker. Вам нужна помощь, чтобы ускорить работу с FastAPI, Postgres и Docker?
Торстен Бейер — программист из QuantStack, в Open Source он работал над nifty и vigra на C++, а также над inferno, kipoi и ilastik — на Python. Делимся материалом о новом ядре Lua от Торстена Бейера из блога разработчиков Jupyter, пока у нас начинается флагманский курс Data Science.
Добрый день, Хабросообщество!
7 октября в 19:00 состоится RamblerMeetup&Python – лучшие практики и свежие инсайты про нейросети, эмбеддинги пользователей с помощью PyTorch внутри Docker'а, биндинги на Rust вместо С для приложений, а также вечная классика Python vs Scala. Спикеры – эксперты Python-разработки Rambler&Co.
Внимание: мероприятие гибридное!
50 первых зарегистрировавшихся на Timepad смогут (наконец-то) посетить наш уютный офис в Москве на Даниловской мануфактуре, но для этого обязательна справка о наличии антител или справка о вакцинации, а также документы, удостоверяющие личность.
Вообще все желающие смогут посмотреть митап в прямом эфире, но все равно нужно зарегистрироваться вот тут, чтобы мы вовремя напомнили вам о мероприятии и прислали ссылку на онлайн-трансляцию.
Объясняем на пальцах работу сокетов для зародышей на Python.
В прошлой статье мы научились классифицировать данные без разметки с помощью понижения размерности и методов кластеризации. По итогам получили первичную разметку данных и узнали, что это картинки. С такими начальными условиями можно придумать что-то более серьёзное, например, дообучить существующую нейросеть на наши классы, даже если до этого она их никогда не видела. В iFunny на первом уровне модерации мы выделяем три основных класса:
• approved — картинки идут в раздел collective (развлекательный контент и мемы);
• not suitable — не попадают в общую ленту, но остаются в ленте пользователя (селфи, пейзажи и другие);
• risked — получают бан и удаляются из приложения (расизм, порнография, расчленёнка и всё, что попадает под определение «противоправный контент»).
Сегодня расскажу на наглядных примерах, как мы перестраивали модель под наши классы, обучали её и выделяли паттерны распознавания картинок. Технические подробности — под катом.
Пока эксперты Хабра дегустируют наши курсы, пробуем алгоритм UMAP урожая 2018, раскрывающий тонкие оттенки данных высокой размерности.
Статья напомнит об этой прекрасной альтернативе t-SNE или PCA и поможет с визуализацией на флагманском курсе Data Science.
Сегодня разберем заключительную часть цикла «Первые шаги в aiohttp». В первой статье мы создали и настроили проект, а во второй подключили базу данных.
В этой части статьи мы рассмотрим размещение нашего веб-сервиса в Интернете, используя платформу Heroku.
Асинхронное программирование — большая тема. Если хотите разобраться в ней подробнее, приходите к нам на курс.
В глобальной сети можно встретить огромное число разнообразных наборов данных для обучения ваших моделей. Однако часто бывает так, что задача очень специфична и требует подготовки своего собственного уникального датасета. О том, как можно быстро и качественно разметить свои данные для задач CV вы узнаете из этой статьи.
Алгоритмы машинного обучения всё глубже проникают во многие сферы жизни и то, что еще вчера казалось фантастикой, сегодня уже воспринимается как обыденность: автомобили без водителей, чат-боты продающие товары и оказывающие консультации, автоматизированные производственные линии, работающие фактически без вмешательства человека – всё это лишь малая часть областей, где уже сейчас активно применяется искусственный интеллект. Вычислительные мощности растут, вместе с ними усложняются алгоритмы, совершенствуются подходы, благодаря чему все больше задач можно доверить бездушной машине.
Однако, прежде чем поручать задачу ИИ, зачастую требуется уделить особое внимание очень важному этапу – обучению модели. Чем внимательнее мы отнесемся к данному этапу, чем больше и разнообразнее данные мы предоставим, и чем они будут «чище», тем более точным и устойчивым будет наш алгоритм. К сожалению, сбор и разметка датасета это, пожалуй, самый долгий и дорогой этап подготовки будущей модели. И даже затратив много времени и средств на сбор данных, вы всё равно рискуете получить разметку не надлежащего качества. В этой статье мы рассмотрим, как можно ускорить процесс разметки и снизить стоимость затрат при подготовке датасета для компьютерного зрения.