Как стать автором
Обновить
8
0
Игорь Штельмах @WebPhd

Пользователь

Отправить сообщение

Машинное обучение на Python-е с интерактивными Jupyter демонстрациями

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

image


Здравствуйте, Читатели!


Недавно я запустил репозиторий Homemade Machine Learning, который содержит примеры популярных алгоритмов и подходов машинного обучения, таких как линейная регрессия, логистическая регрессия, метод K-средних и нейронная сеть (многослойный перцептрон). Каждый алгоритм содержит интерактивные демо-странички, запускаемые в Jupyter NBViewer-e или Binder-e. Таким образом у каждого желающего есть возможность изменить тренировочные данные, параметры обучения и сразу же увидеть результат обучения, визуализации и прогнозирования модели у себя в браузере без установки Jupyter-а локально.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии5

Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка

Время на прочтение16 мин
Количество просмотров113K
Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность.

Обработкой естественного языка (NLP) называется активно развивающаяся научная дисциплина, занимающаяся поиском смысла и обучением на основании текстовых данных.

Как вам может помочь эта статья


За прошедший год команда Insight приняла участие в работе над несколькими сотнями проектов, объединив знания и опыт ведущих компаний в США. Результаты этой работы они обобщили в статье, перевод которой сейчас перед вами, и вывели подходы к решению наиболее распространенных прикладных задач машинного обучения.

Мы начнем с самого простого метода, который может сработать — и постепенно перейдем к более тонким подходам, таким как feature engineering, векторам слов и глубокому обучению.

После прочтения статьи, вы будете знать, как:

  • осуществлять сбор, подготовку, и инспектирование данных;
  • строить простые модели, и осуществлять при необходимости переход к глубокому обучению;
  • интерпретировать и понимать ваши модели, чтобы убедиться, что вы интерпретируете информацию, а не шум.

Пост написан в формате пошагового руководства; также его можно рассматривать в качестве обзора высокоэффективных стандартных подходов.
Всего голосов 38: ↑36 и ↓2+34
Комментарии11

Intel Neural Compute Stick. Искусственный разум на флешке — 2

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


Не дожидаясь, когда другие вендоры воспользуются ее референсным дизайном AI-модулей на все случаи жизни, Intel сама вывела на рынок новое поколение специализированного компьютера в форм-факторе USB-донгла — Intel Neural Compute Stick 2. Предыдущий Compute Stick еще носил имя Movidius и был выпущен в 2017 году непосредственно после покупки Intel одноименной компании. Теперь у него новое название и новый процессор, существенно превосходящий по производительности предыдущий. А вот цена осталась та же.
Всего голосов 22: ↑13 и ↓9+4
Комментарии16

Болтай, извлекай: архитектура сложных чат-ботов

Время на прочтение13 мин
Количество просмотров13K
Пользователи, пообщавшись с умными голосовыми ассистентами, ждут от чат-ботов интеллектуальности. Если вы разрабатываете бота для бизнеса, ожидания еще выше: заказчик хочет, чтобы юзер прошел по нужному, заранее прописанному сценарию, а юзер — чтобы робот толково и желательно человеческим языком ответил на поставленные вопросы, помог решить проблемы, а иногда просто поддержал светскую беседу.


Мы делаем англоязычные чат-боты, которые общаются с пользователями по разным каналам — Facebook Messenger, SMS, Amazon Alexa и веб. Наши боты заменяют службы поддержки, страховых агентов, и уметь просто поболтать. Каждая из этих задач требует своего подхода в разработке.

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

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии6

Познакомьтесь с анархистами, самостоятельно делающими лекарства

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

«Уксусный коллектив четырёх воров» – сеть анархистов, опирающихся на технологии, и бросающих вызов гигантам фарминдустрии при помощи самостоятельно изготовленных лекарств




Впервые я познакомился с Майклом Лофером, когда он швырялся в аудиторию хакерской конференции HOPE (Hackers on Planet Earth), проходящей раз в два года в Нью-Йорке, лекарствами на тысячи долларов.

«Кто-нибудь из присутствующих переживал анафилактический шок, не имея доступа к эпинефрину?» – спросил Лофер у аудитории. Поднялось несколько рук, и Лофер швырнул одному из поднявших руку людей изготовленную в домашних условиях EpiPen [похожее на шариковую ручку устройство для самостоятельных инъекций адреналина / прим. перев.]. «Это одно из первых сделанных нами устройств, — сказал он. – Используйте его с умом».

Немного позлорадствовав насчёт того, как Мартин Шкрели из племени фармацевтических гигантов поднял цены на препарат дараприм, необходимый для людей, страдающих от ВИЧ, с $13 до $750, Лофер посерьёзнел. «Прошло два года, но несмотря на всё произошедшее, стоимость препарата дараприм не поменялась», — сказал он. Он залез в карман и достал пригоршню белых таблеток. «Думаю, надо раздать ещё немного», — сказал Лофер, и швырнул дараприм в аудиторию.
Читать дальше →
Всего голосов 147: ↑141 и ↓6+135
Комментарии450

Кратко о типах архитектур программного обеспечения, и какую из них выбрали мы для IaaS-провайдера

Время на прочтение10 мин
Количество просмотров71K
Есть множество типов архитектур ПО со своими плюсами и минусами. Далее поговорим об особенностях наиболее популярных из них и расскажем о своем переходе на микросервисы.

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

Анатомия рекомендательных систем. Часть вторая

Время на прочтение12 мин
Количество просмотров34K
Неделю назад я делал здесь обзор существующих алгоритмов рекомендаций. В этой статье я продолжу данный обзор: расскажу об item-based варианте коллаборативной фильтрации, о методах, основанных на матричных разложениях, проблемах тестирования, а также о менее «раскрученных» (но не менее интересных) алгоритмах.

Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии11

PlantUML — все, что нужно бизнес-аналитику для создания диаграмм в программной документации

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

Введение


Я — системный аналитик, и моя работа заключается в том, чтобы проектировать автоматизированные информационные системы. Впрочем, нет, она заключается в том, чтобы писать и писать документы. Третий раз слово «писать» повторять не буду — все-таки, не «Илиада». Но занудность формы чем-то определенно роднит проектную документацию с древнегреческой поэмой, особенно если речь идет о работе с государственным заказчиком.


Диаграммы — глоток творчества в этом море текста. О диаграммах и пойдет речь в данной статье. Если точнее — о PlantUML — с моей точки зрения, наиболее адекватном инструменте их создания на текущий момент.

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

Code review: вы делаете это неправильно

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

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

На рынке есть куча инструментов для ревью кода с готовыми сценариями использования, рекомендациями и правилами. GitHub, Phabricator, FishEye/ Crucible, GitLab, Bitbucket, Upsource — список можно долго продолжать. Мы в Badoo тоже в своё время с ними работали: в своей предыдущей статье  я рассказывал нашу историю ревью кода и о том, как мы пришли к изобретению собственного «велосипеда» — решения Codeisok.

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

Именно поэтому другую часть айсберга можно и не заметить.
Читать дальше →
Всего голосов 85: ↑71 и ↓14+57
Комментарии84

Смарт-контракт как угроза безопасности блокчейн-стартапа

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

Смарт-контракты Ethereum, если верить официальному сайту, выполняются «в точности так, как запрограммированы, без какой-либо возможности простоя, цензуры, мошенничества или вмешательства третьей стороны». Сегодня я попробую разобраться, так ли всё радужно на самом деле, рассмотрев некоторые проблемы, с которыми пользователи смарт-контрактов сталкиваются на практике.


В конце статьи я резюмирую свои размышления краткой инструкцией по написанию безопасных смарт-контрактов.


image

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

Система автоматического документирования REST-API в Laravel проектах

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

Преамбула


Для того, чтоб описать и задокументировать правила клиент-серверного
взаимодействия используя Rest-api можно выделить три основных метода:


  1. Описывать своим коллегам правила обращения к серверу на пальцах
    Этот метод быстр и не требует долгосрочной поддержки, но высока вероятность, что вас за это будут бить.
  2. Руками составлять Google-docs/Wiki/Readme в проекте
    Удобно тем, что однажды написанная документация не требует повторного объяснения. Её можно показать коллегам и даже иногда заказчику. Минусом данного метода является долгосрочная поддержка такой документации. Когда Api в проекте вырастает до таких размеров, что сама мысль "А когда же я обновлял документацию?" вызывает холодок по спине, тогда вы понимаете, что дальше так продолжаться не может. Формально вы можете обновлять документацию очень часто и маленькими фиксами, но это до первого отпуска.
  3. Использовать систему автодокументирования
    И вот для того, чтобы решить минусы первых двух методов человечество придумало системы автоматического документирования. Основная идея заключается в том, что к проекту пристыковывается некий плагин, который собирает информацию по вашему коду, сам составляет документацию и обёртывает её в удобочитаемый формат. Но большинство решений по этому методу не идеальны. Давайте попробуем сделать инструмент, который поможет получить документацию нашего проекта с минимальным количеством телодвижений

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

По каким правилам летит самолёт в России

Время на прочтение10 мин
Количество просмотров80K
Чаще всего самолёты летают не абы как, а по определённым, уже созданным маршрутам.


Например, наводятся на радиовышки. Это ориентиры в пространстве. Когда диспетчер говорит воздушному судну, как лететь, он называет определённую вышку, радиостанцию. Там у него поворотная точка. Пилоту так и говорят: «От этой теперь лети к следующей». В итоге самолёт летит ломаной загогулиной — от одного поворотного пункта к другому.

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

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

Но давайте разбираться дальше, как вообще устроено воздушное пространство, кому и куда можно.
Читать дальше →
Всего голосов 101: ↑101 и ↓0+101
Комментарии119

Обновляемые смарт-контракты в сети Ethereum

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

Мотивация


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


Популярные причины необходимости обновления


  • Ошибки в коде
  • Изменение бизнес требований
  • Принятие предложений сообщества об изменении работы контракта

Описание технического решения


Реализация требуемого функционала — обновление кода, планируется через разделение кода на составляющие:


  1. Данные — смарт-контракты без логики и предоставляющие исключительно пространство для хранения данных;
  2. Бизнес-логика — смарт-контракты описывающие логику извлечения данных из хранилища и их изменения;
  3. Входные точки — иммутабельные контракты ведут учет обновления бизнес-логики и предоставляют конечному пользователю ссылку на актуальный контракт бизнес-логики
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии2

Пишем собственный платежный шлюз Bitcoin

Время на прочтение6 мин
Количество просмотров55K
UPDATE. Заопенсорсил платежный шлюз: github.com/Overtorment/Cashier-BTC

По разным причинам существующие платежные шлюзы (такие как Bitpay) вас могут не устраивать. В этой статье мы рассмотрим создание собственного Bitcoin шлюза с нуля.

Предполагается что читатель знаком с устройством сети биткоин. Если нет, то рекомендую эти статьи: “Как на самом деле работает протокол Биткоин” и “Биткойн: введение для разработчиков”
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии11

Контроллер для Лего

Время на прочтение3 мин
Количество просмотров29K
Чуть меньше полугода назад сделал сыну на день рождения подарок — конструктор Xiaomi MITU. Неожиданно для меня ребенок на неделю завис в этом конструкторе. Когда были испробованы первые модели и их управление с планшета, возник закономерный вопрос — «А как для него писать программы?»

image
Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Комментарии32

Автоматическая генерация осмысленных уникальных текстов

Время на прочтение6 мин
Количество просмотров96K
Каждый веб-оптимизатор знает, что для того чтобы сайт любили поисковики, он должен содержать уникальные тексты. Причем не абы какие наборы слов, а осмысленные предложения, желательно по теме сайта. Особо это проблема для агрегаторов, которые берут информацию с других сайтов, и интернет-магазинов, где параметры и данные о товарах в целом одинаковые. Поэтому стандартная практика в этой ситуации — заказывать уникальные тексты копирайтерам. Стоимость такого удовольствия от 50 до 300 руб. за 1000 знаков. Если на вашем сайте 10000 страниц, то уникальные тексты быстро становятся значительной статьей расхода.

В этой статье поговорим методах алгоритмической генерации текстов и расскажем о нашем опыте работы с ними.
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии79

Генерация коротких текстов с ограничивающими условиями — для рекламы и других целей

Время на прочтение5 мин
Количество просмотров8.6K
На практике нередко встречается задача не просто написать какой-то текст, а выполнить некоторые условия — например уложить максимум ключевых слов в заданную длину и/или использовать/не использовать определенные слова и словосочетания. Это бывает важно для бизнеса (при составление рекламных объявлений, в том числе, для контекстной рекламы, при SEO-оптимизации сайтов), для образовательных целей (автоматическое составление тестовых вопросов) и в ряде других случаев. Такие задачи оптимизации вызывают много головной боли, т. к. людям относительно легко сочинять тексты, но при этом не так просто написать что-то отвечающее тем или иным критериям «оптимальности». С другой стороны, компьютеры отлично справляются с задачами оптимизации в других областях, но плохо понимают естественный язык, и поэтому им трудно сочинять текст. В данной статье, рассмотрим известные подходы к решению этой задачи и немного поделимся собственным опытом.


Читать дальше →
Всего голосов 12: ↑7 и ↓5+2
Комментарии0

Система сбора данных на ESP. Часть I. CO2

Время на прочтение5 мин
Количество просмотров48K
Доброго времени суток! В данной статье хочу рассказать о реализации устройств на модулях ESP. Тема похожих девайсов уже раскрыта в интернете, но не перестает быть актуальной.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии161

Сделаем это по-быстрому: голосовой бот на Dialogflow и Voximplant

Время на прочтение4 мин
Количество просмотров11K
Голосовые боты были и остаются полезной фичей для общения с клиентами. Потому что если что-то возможно автоматизировать, то надо срочно это делать. Подтверждение заказов и информация о них, запись обратной связи от клиентов, распознавание голоса и действия согласно тому, что распозналось и т.д. Кстати, о последнем – сделать бота с распознаванием в 2018 году стало еще проще: Voximplant отлично умеет распознавать и транскрибировать речь, а инструмент Dialogflow от “корпорации добра” хорошо анализирует текст. Ниже я покажу, как можно быстро собрать демо-бота, который расскажет о погоде в названном городе.


Всего голосов 29: ↑27 и ↓2+25
Комментарии0

Бухгалтерский учет для программистов

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

Введение


Занимаюсь автоматизацией бухгалтерского учета 17 лет. После универа поработал как программист бухгалтерской программы. Выяснилось, что есть спрос на программистов этой программы. Поменял одну работу, вторую. Начал брать заказы на стороне. Выяснилось (или показалось), что выполнять заказы выгоднее, чем получать зарплату. Стал частным предпринимателем. Выяснилось (или опять показалось), что продавать программу выгоднее, чем программировать. Стал дилером. Оказалось, что выгоднее всего – подписка на обновления и обслуживание. Возможно, еще выгоднее сделать веб-сервис для онлайн-бухгалтерии…

В ходе работы приходилось нанимать программистов и обучать основам бухгалтерского учета. Когда обучал программистов бухучету, мне нравилось за час рассказать им всю базовую теорию. Приятно срывать покровы сложности и таинственности. Оказывается, курсы бухгалтеров никому не нужны. Нет такой науки. Разве что набор терминов, в которых путаются сами бухгалтера…
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии182
1
23 ...

Информация

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