Как стать автором
Обновить
7
0
Дмитрий Кочин @dukei

Программист

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU

Время на прочтение 6 мин
Количество просмотров 11K
Искусственный интеллект Natural Language Processing *
Туториал
В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов.

Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего можно будет обучить модель BERT на полученном датасете в рамках задачи распознавания сущностей из текстов (Named Entity Recognition – в дальнейшем NER).

Итак, с чего начать. Естественно для начала нужно установить и настроить среду для запуска нашего инструмента. Установку я буду выполнять на Windows 10.

На Хабре уже есть несколько статей от разработчиков этой библиотеки, где как раз есть подробная инструкция по установке. А в этой статье я хотел бы собрать все воедино, от запуска и до обучения модели. Также я укажу решения некоторых проблем, с которыми я столкнулся при работе с этой библиотекой.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 13

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov

Время на прочтение 5 мин
Количество просмотров 11K
Блог компании Московский физико-технический институт (МФТИ) Машинное обучение *Искусственный интеллект Natural Language Processing *
Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса.

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

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


Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Комментарии 9

Машинное обучение. Нейронные сети (часть 3) — Convolutional Network под микроскопом. Изучение АПИ Tensorflow.js

Время на прочтение 10 мин
Количество просмотров 11K
Машинное обучение *TensorFlow *

В предыдущих статьях, использовался только один из видов слоев нейронной сети – полносвязанные (dense, fully-connected), когда каждый нейрон исходного слоя имеет связь со всеми нейронами из предыдущих слоев.

Чтобы обработать, например, черно-белое изображение размером 24x24, мы должны были бы превратить матричное представление изображения в вектор, который содержит 24x24 элементов. Как можно вдуматься, с таким преобразованием мы теряем важный атрибут – взаимное расположение пикселей в вертикальном и горизонтальном направлении осей, а также, наверное, в большинстве случаев пиксел, находящийся в верхнем левом углу изображения вряд ли имеет какое-то логически объяснимое влияние друг на друга в большинстве случаев.

Для исключения этих недостатков – для обработки  изображений используют сверточные слои (convolutional layer, CNN).

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

Например, рассмотрим классическую задачу – распознавание изображения цифр. Каждая цифра имеет свой набор характерных для них фигур (окружности, линии). В тоже самое время каждую окружность или линию можно составить из более мелких ребер (рисунок 1)

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

NodeJS: 12 пакетов для продуктивности разработчика

Время на прочтение 6 мин
Количество просмотров 6.5K
Блог компании SkillFactory Разработка веб-сайтов *JavaScript *Программирование *Node.JS *
Перевод


Менеджер процессов для продакшна с балансировщиком нагрузки. Обёртки над отладкой и хуками Git, защита express-приложений через HTTP-заголовки, утилита в более чем 180 функциями для работы с датами и другие инструменты, которые сэкономят ваше время. Подборка особенно полезна начинающим разработчикам NodeJS, но может порадовать опытных скептиков.
Добро пожаловать под кат!
Всего голосов 26: ↑18 и ↓8 +10
Комментарии 11

Как за два месяца пройти путь от начинающего питониста до сертифицированного TensorFlow-разработчика

Время на прочтение 11 мин
Количество просмотров 28K
Блог компании RUVDS.com Python *Программирование *
Перевод
Я всё ещё помню тот день, когда сдал выпускную работу в университет. Я тогда вздохнул с облегчением, так как это означало окончание бакалавриата. Но мной скоро овладела скука. Делать было нечего, мир был охвачен пандемией. Мне очень хотелось найти новое занятие, которое избавило бы меня от безделья.



В этом материале я хочу рассказать о том, как скука от самоизоляции помогла мне стать сертифицированным TensorFlow-разработчиком менее чем за два месяца. И это — несмотря на то, что на Python я раньше не программировал. Здесь я, кроме того, дам список ссылок на материалы, которые я использовал, осваивая новую для себя сферу знаний и готовясь к сертификации.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 11

Чудесный мир Word Embeddings: какие они бывают и зачем нужны?

Время на прочтение 19 мин
Количество просмотров 117K
Блог компании Open Data Science Поисковые технологии *Python *Data Mining *Машинное обучение *

Начать стоит от печки, то есть с постановки задачи. Откуда берется сама задача word embedding?
Лирическое отступление: К сожалению, русскоязычное сообщество еще не выработало единого термина для этого понятия, поэтому мы будем использовать англоязычный.
Сам по себе embedding — это сопоставление произвольной сущности (например, узла в графе или кусочка картинки) некоторому вектору.


image

Читать дальше →
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 23

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Время на прочтение 34 мин
Количество просмотров 68K
Python *Data Mining *Машинное обучение *Искусственный интеллект Natural Language Processing *
🔥 Технотекст 2020
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей 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.

Всего голосов 57: ↑55 и ↓2 +53
Комментарии 25

JavaScript в 3D: введение в Three.js

Время на прочтение 10 мин
Количество просмотров 40K
JavaScript *Работа с 3D-графикой *
Из песочницы
Привет, Хабр! Представляю Вашему вниманию перевод статьи «JavaScript in 3D: an Introduction to Three.js» автора Брета Кемерона (Bret Cameron).

Введение


Three.js это мощный инструмент. Он помогает использовать 3D дизайн в браузере с приемлемой производительностью. По началу Three.js может быть сложным, особенно если вы никогда не погружались в мир 3D программирования ранее.

У меня есть базовый опыт работы с игровым движком Unity и C#, но все равно многие концепции оказались новыми для меня. Я пришел к выводу, что сейчас совсем мало ресурсов для начинающих разработчиков, поэтому я и решил написать эту статью. В ней мы рассмотрим основные элементы Three.js сцены от полигональных сеток и материалов до геометрии, загрузчиков и много другого.
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 14

Цифровой баланс

Время на прочтение 58 мин
Количество просмотров 4.1K
Читальный зал Киберпанк Научная фантастика
     Рассказ о ближайшем будущем, где практически каждый человек обладает вживленным в мозг нейроинтерфейсом. Описан довольно утопический вариант цифрового мира со всеобщей свободой и демократией и принципы, на которых он мог бы функционировать.

 
    Семен открыл перед собой большое овальное зеркало в готической оправе и несколькими кликами подправил прическу и убрал щетину. Некоторое время размышлял над тем, стоит ли убрать залысины, или это будет слишком уж явная косметика. Он решил оставить прическу в виде короткого ежика и вернуть легкую брутальную щетину. «Все равно, я — красавчик! – подумал Семен. – Вряд ли, моя виртуальная подруга будет столь же щепетильна в применении косметических фильтров. Создатели Тиндела уверяют, что ни за какой донат здесь нельзя поправить кривой фейс или отвисшее пузо. Только реальная внешность! Но мы-то знаем цену подобным уверениям».
Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 26

Как быстро выучить язык, не наступая на грабли? Мнение полиглота

Время на прочтение 8 мин
Количество просмотров 55K
Изучение языков
Всем привет! Это моя вторая публикация на Хабре, в ней я хочу своими наблюдениями на тему ошибок, которые совершают люди при изучении иностранных языков.

Коротко о себе: меня зовут Егор Пак, я преподаю немецкий, английский и испанский, владею еще несколькими языками на хорошем уровне. Опыт преподавания 6 лет, 9 жил и работал за рубежом. Работал как индивидуально, так и с группами, сюда же относятся семьи. Недавно вернулся в Россию, завел канал на Ютубе. Сейчас преподаю в России, как онлайн, так и лично.

Дисклеймер: я сторонник комплексного подхода к обучению языкам. Я считаю, что достичь достаточно хорошего уровня (B1-B2) можно за более короткий срок, чем думают многие. Сам я являюсь тому живым доказательством, мой опыт работы с людьми показывает то же самое.

Я не пропагандирую волшебные таблетки, мои методы построены на логике и опыте. Банальный пример: когда вы занимаетесь с тренером в тренажерном зале, он пишет вам план тренировок и питания, но заниматься с весом и готовить еду предстоит вам лично. Для получения видимого результата необходимо заниматься регулярно, не пропуская занятиями неделями. От сидения на диване прогресса не будет.
Читать дальше →
Всего голосов 55: ↑47 и ↓8 +39
Комментарии 142

YouTube вводит неотключаемую рекламу для всех

Время на прочтение 2 мин
Количество просмотров 67K
Медийная реклама *
На официальном канале YouTube Creator Insider для авторов видеоконтента опубликовано видео под названием «Хотите увеличить рекламный доход?» В нём сообщается важная новость для участников программы YouTube Partners: в ближайшее время они смогут значительно увеличить монетизацию благодаря новой опции неотключаемой рекламы в видеороликах. Такую рекламу зритель не сможет промотать одним нажатием кнопки Skip Ad, как обычно.

Раньше неотключаемая реклама была доступна только для избранных партнёров. Эксперимент доказал свою эффективность — и скоро опцию сделают доступной для всех авторов, кто имеет право вставлять рекламу в видеоролики. Можно предположить, что многие воспользуются такой привлекательной возможностью повысить доход.
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Комментарии 268

Падает зрение после лазерной коррекции зрения — что делать? Или, доктор, сделай мне «enhancement»

Время на прочтение 10 мин
Количество просмотров 136K
Блог компании Клиника офтальмологии доктора Шиловой Лазеры Здоровье
Традиционно это самый частый вопрос для тех, кто уже сделал коррекцию и для тех, кто только планирует ее. Договоримся, что под словом «падает» будем подразумевать изменение оптики глаза – то есть увеличение «минуса», астигматизма или появление «плюса». Короче, когда опять нужны очки, чтобы хорошо видеть. Или линзы. Или опять коррекция, точнее докоррекция. Кстати, в англоязычной медицине этот термин гораздо приятнее звучит – «enhancement» — улучшение, совершенствование.

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

Итак, enhancement – это докоррекция. Всегда ли она возможна?

Многое зависит от того, каким методом вы первично сделали коррекцию, например, это был ReLEX SMILE, LASIK или кератотомия (насечки). Выбор улучшающей технологии будет отличаться в зависимости от хирурга – его рук и профессионального интеллекта, от типа и модели лазера, от ваших индивидуальных особенностей организма и т. п. Короче, для пациента как игра в «покер» — с полностью или частично закрытыми картами, в которой элементами всех разновидностей являются комбинации. О методах коррекции написано ЗДЕСЬ.

Методов много – даю навигацию по выбору необходимого. Вооружайтесь.

Падает зрение после лазерной коррекции
Читать дальше →
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 51

10 познавательных YouTube-каналов на английском, о которых вы никогда не слышали

Время на прочтение 7 мин
Количество просмотров 53K
Блог компании EnglishDom Читальный зал
Учиться должно быть интересно, поэтому мы в EnglishDom постоянно ищем познавательные видео, которые вдохновят вас учить английский, а также подкинут свежих идей или как минимум расширят кругозор.

Мы собрали 10 по-настоящему крутых и познавательных англоязычных каналов. Самые известные и популярные мы не рассматривали, поэтому гарантируем, что все (или почти все) окажутся вам в новинку.

Отдельно мы будем указывать уровень знания английского языка, который потребуется для комфортного просмотра каналов.
Всего голосов 25: ↑19 и ↓6 +13
Комментарии 15

Как Google пытался покорить Китай — и проиграл

Время на прочтение 11 мин
Количество просмотров 25K
Поисковые технологии *IT-компании
Перевод
Было время, когда Google хотел попасть на китайский рынок, а Китай нуждался в Google. Теперь это время ушло.

Первый набег Google на китайские рынки стал недолгим экспериментом. Поисковую систему Google China запустили в 2006 году, а спустя четыре года её внезапно закрыли для материкового Китая после крупного взлома и споров по цензуре поисковой выдачи. Но в августе 2018 года сайт журналистских расследований The Intercept сообщил, что компания тайно работает над прототипом новой подцензурной поисковой системы для Китая под названием Project Dragonfly.

На фоне протеста правозащитников и некоторых сотрудников Google вице-президент США Майк Пенс призвал компанию прекратить работу над Dragonfly. Он заявил, что система «усилит цензуру Коммунистической партии и поставит под угрозу конфиденциальность пользователей». В середине декабря издание The Intercept сообщило, что Google приостановила разработку Dragonfly после претензий собственного отдела конфиденциальности, который узнал о проекте из СМИ.

Некоторые наблюдатели говорят, что решение вернуться на крупнейший рынок мира зависит от Google: пойдет ли она на компромисс со своими принципами и подвергнет цензуре поиск, как хочет Китай? Но наблюдатели упускают из внимания главное: на этот раз решение будет принимать китайское правительство.
Читать дальше →
Всего голосов 25: ↑20 и ↓5 +15
Комментарии 11

Опыт с WebAssembly или как С++ undefined behavior выстрелил в ногу

Время на прочтение 6 мин
Количество просмотров 6.8K
Программирование *C++ *

На прошедшем C++ Russia 2018 мы рассказывали о нашем опыте перехода на WebAssembly, как наткнулись на UB и как его героически закостыляли, немного о самой технологии и как работает на разных устройствах. Под катом же будет текстовая версия всего относительно UB. Код используемых тестов доступен на GitHub.


Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Комментарии 6

Создание шаблонов в IDE от Jetbrains

Время на прочтение 4 мин
Количество просмотров 22K
CSS *JavaScript *Программирование *Java *HTML *
Туториал

Вступление


Сегодня я хочу привести небольшой обзор-туториал темплейтов в ИСР от Jetbrains. Приведенные ниже примеры будут реализованы на Java в Intellij IDEA, но механизм создания одинаков и для других языков и продуктов компании. Думаю все программирующие в данной IDE пользовались встроенными шаблонами. Например когда вы пишете fori, нажимаете TAB или ENTER и у вас появляется цикл for в котором нужно указать имя переменной и условие, а остальной код генерируется за вас.

for (int i = 0; i < ; i++) {   
                               
}    

Или же знакомый всем java-программистам sout -> System.out.println(). Так вот, в Intellij есть поддержка создания своих шаблонов кода. На удивление не нашёл практически никакой инфы на русском и довольно мало на английском(благо есть неплохая документация) когда наткнулся на эту фичу, хотя это сильно ускоряет и помогает в разработке. И сейчас когда дошли руки решил написать небольшую статью об этом. Возможно опытным программистам она мало чем поможет, они и сами смогут разобраться во всём или же уже давно это юзают, но для всех остальных считаю вполне подойдёт. Итак приступим.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 13

10 советов по нетворкингу для людей, которые его терпеть не могут

Время на прочтение 12 мин
Количество просмотров 190K
Блог компании Content AI
Туториал
Представьте себя в большом конференц-зале, набитом сотнями специалистов с бэйджиками на груди. Стаи тревожно выглядящих людей в перерыве слоняются мимо столов с закусками, уставленными печеньками и пирожками. Другие – вальсируют сквозь лабиринт тумб партнёров, рядом с которыми мужчины и женщины в деловых нарядах колдуют над аккуратно выложенными рекламными брошюрами и фирменными ручками. Третьи стоят, уставившись в свои телефоны…

Вы пришли на мероприятие лично, хотя могли потом посмотреть его в записи в любимых тапочках дома или в вагоне метро по пути на работу. Вы сделали это с какой-то целью, не правда ли? Пообщаться с какими-то важными специалистами; послушать, как решают аналогичные проблемы с анализом больших данных в Hadoop или уменьшают глюки отслеживания Google Analytics более опытные специалисты; познакомиться с новым потенциально интересным стартапом или журналистом, а может, вы сами – стартап и пришли искать полезные знакомства; окучить множество новых клиентов; найти и замотивировать будущих сотрудников. Ваша задача – в течение следующих нескольких часов оставить положительное неизгладимое впечатление на максимальное количество людей. Уже начинает посасывать под ложечкой?
Читать дальше →
Всего голосов 36: ↑28 и ↓8 +20
Комментарии 13

OAuth: описание протокола простым и понятным языком

Время на прочтение 16 мин
Количество просмотров 179K
Социальные сети и сообщества
OAuth — популярный протокол, который позволяет социальным сервисам интегрироваться между собой и дает безопасный способ обмена персональной информацией. OAuth может связать между собой 2 сервиса, каждый из которых имеет свою пользовательскую базу — именно их я в данном случае называю «социальными». Когда начинаешь работать с OAuth, первое ощущение — что протокол весьма сложен и избыточен. В этой статье я попытаюсь объяснить основы OAuth человеческим языком.

Пример кросс-авторизации


Вернемся в 2005-й год и представим, что мы пишем социальную сеть. В ней имеется форма импорта контактов из адресной книги GMail. Что нужно для доступа к контактам GMail? Конечно, логин и пароль от ящика. Но если мы попросим ввести их на нашем сайте, пользователь заподозрит неладное. Где гарантия, что мы не сохраняем на сервере введенные пароли? Поэтому нам хочется, чтобы пароль вводился только на сайте GMail, и после этого доступ к контактам через API GMail предоставлялся нашей социальной сети (возможно, на время).
Под катом - повествование с примерами
Всего голосов 134: ↑124 и ↓10 +114
Комментарии 34

Пишем виджет ХабраКарма ex-CarmaWidget для Android

Время на прочтение 17 мин
Количество просмотров 32K
Разработка под Android *
Вчера я таки обновил CarmaWidget, виджет, который отображает вашу карму на рабочем столе смартфона. Сегодня я расскажу о том, как написать виджет.

image

Принцип таков:
  • Класс — настройки для виджета, который запускается при добавлении последнего на рабочий стол.
  • Класс — провайдер информации для виджета, в котором живут все таймеры.
  • База данных — для хранения информации о пользователе.
  • Два layout'а — для виджета и настройщика.


Читать дальше →
Всего голосов 87: ↑62 и ↓25 +37
Комментарии 27

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность