Как стать автором
Обновить
337
0
Сергей Парамонов @varagian

Data Scientist, PhD in AI

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

Новогодний датасет 2018: открытая семантика русского языка

Время на прочтение12 мин
Количество просмотров8.4K
Открытая семантика русского языка, об истории создания которой вы можете прочитать здесь и здесь, получила большое обновление. Мы собрали достаточное количество данных, чтобы применить поверх собранной разметки машинное обучение и построить семантическую модель языка. Что из этого получилось смотрите под катом.


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

Проект по внедрению Single Sign On в SAP

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

Конец года, все потихоньку подводят итоги.


Для меня этот год запомнился проектом внедрения Single Sign On (SSO) между SAP и Windows. В этой статье расскажу об опыте внедрения и проектного менеджмента, подводных камнях, находках и выводах.



Компания — крупное транспортное предприятие в Бельгии, объединяющее метро, трамвай и автобус. Сотрудников более 10 тысяч, из них почти две тысячи это backoffice, использующий много инструментов: корпоративный сайт, почту, службу заявок, sharepoint, архивариус и, конечно, SAP.


SAP повсюду: от бухгалтерии и HR до регистрации движения транспортных единиц, документации аварий, аналитики, закупок, складирования и т.д.


Проблема:


  • SAP для пользователя PC — это отдельное приложение, для входа в которое нужен свой пароль
  • Сначала пароль нужно запросить, а потом помнить. Техподдержка вынуждена принимать звонки по созданию и смене паролей.
  • С точки зрения пользователя лишний пароль — это лишние хлопоты. Люди хранят пароли на бумажках или делают их слишком простыми. Безопасность вопит о грубых нарушениях.
  • Минимальные требования для пароля от PC не совпадают с параметрами паролей в SAP. Если приводить их к единому знаменателю, то лучше сразу внедрить SSO.

Задача: внедрить SSO между Windows и SAP, чтобы, заходя в свою учётную запись на PC, пользователь мог залогиниться в SAP не вводя пароль.


Если вы не имеете дела с SAP вам будет интересна эта статья с точки зрения менеджмента проекта, для сапёров тех детали будут приведены (в скобках).


Под катом:


  1. Scope
    1.1 Scope Люди
    1.2 Scope системы
  2. Компоненты
    2.1 Изменение параметров системы
    2.2 Windows Active Directory (AD)
    2.3 SAP Secure Login Client (SLC)
    2.4 Привязка пользователя SAP к его AD
    2.5 Модификация файла SAP logon.ini
  3. Тестирование
  4. SNC это дыра в безопасности
  5. Командная работа
  6. Информация для бизнеса
  7. Трудности перевода
  8. Итоги и выводы
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии8

Git: распространённые ошибки и способы их исправления

Время на прочтение4 мин
Количество просмотров46K
Если вы когда-нибудь работали над большим проектом, в котором, помимо вас, участвуют и многие другие программисты, тогда вы, очевидно, применяли Git в роли системы контроля версий. В ходе использования чего-то, по уровню сложности похожего Git, все совершают ошибки.


Автор материала, перевод которого мы публикуем сегодня, собирается обсудить распространённые ошибки, которые совершают программисты при работе с Git, и поговорить о том, как с этими ошибками бороться.
Читать дальше →
Всего голосов 76: ↑56 и ↓20+36
Комментарии19

Искусство подбирать чужие пароли

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

В культовом фильме начала двухтысячных «Пароль «Рыба-меч» талантливому хакеру необходимо подобрать пароль в течение одной минуты. В этом ему помогает приятель, который заботливо держит пистолет у виска и темпераментная блондинка, прячущаяся под столом. Что делать, если таких друзей поблизости нет, а пароль подобрать необходимо? Например, в ходе тестирования на проникновение…



Небольшое, но важное предупреждение: если предлагаемым в статье подходом пользоваться не в рамках проектов по тестированию защищенности, то ваши действия легко могут подпасть под статью 272 УК РФ (Неправомерный доступ к компьютерной информации).

Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии65

Моё временнОе творчество, часы из материнских плат

Время на прочтение2 мин
Количество просмотров25K
Оказывается, уже два года, как я утилизирую, режу, пилю, делаю, создаю…


Первыми были часы в контору. На глаза попалась довольно большая мать от МФУ А3 формата (у нас сервис по этому делу) с очень красивой фактурой. Из какой-то маленькой платы вырезал буквы. Постарался искусственно состарить, получилось! Было несколько шикарных отзывов: “А чо так плохо покрашены!”, “Это надо перекрасить!”


Пару дней заглядывался на маленькую плату и по-разному прикидывал, потом просто покрасил в черный, прикрутил платы от USB-флешек и накрутил по кругу винтов. Получился просто Космос!
Читать дальше →
Всего голосов 89: ↑77 и ↓12+65
Комментарии159

Умные вагинальные шарики Gball: тестируем, анализируем, общаемся с гинекологом и вспоминаем Арнольда Кегеля

Время на прочтение11 мин
Количество просмотров199K
Носимая электроника, которая позволяет человеку контролировать свой организм и улучшать те или иные показатели, шагнула за «этические» пределы. Сейчас анонсированы умные бикини, недавно мы писали о новом проекте «Fitbit for you Penis», давно уже утихли разговоры вокруг саморасстегивающегося лифчика. И тем не менее умные гаджеты продолжают в буквальном смысле «проникать» в нашу жизнь и в наш организм.



Сегодня я хочу вместе с вами «разобраться» с упражнениями Кегеля, почитать и послушать мнения врачей насчет упражнений на укрепление мышц тазового дна, а также определить место умным шарикам, тренажерам, конусам: в каталоге Medgadgets, в аптеке или все-таки на полке SexShop'a.
Читать дальше →
Всего голосов 105: ↑84 и ↓21+63
Комментарии80

Нескучные интегралы

Время на прочтение6 мин
Количество просмотров174K
Некоторые из вас, вероятно, видали на просторах сети эту задачку: какое число продолжает следующий ряд?

Предлагался такой очевидный правильный ответ:

Для тех, кому неочевидно, как он получен, предлагалось объяснение. Пусть (ну и 1 при x = 0, хотя неважно). Тогда каждый член ряда — это значение следующего интеграла в цепочке:

Пока всё идёт хорошо, но тут внезапно:

В принципе, этого достаточно, чтобы повеселить друзей-математиков, но мне захотелось узнать, как вообще считаются такие интегралы и почему получается такой смешной результат. Если кому-то ещё охота тряхнуть стариной и вспомнить матан с функаном, прошу читать дальше.
Читать дальше →
Всего голосов 263: ↑253 и ↓10+243
Комментарии62

Введение в состязательные сети

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

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


Несмотря на то, что фреймворк состязательных сетей был предложен Йеном Гудфеллоу в его уже знаменитой работе Generative Adversarial Networks ключевая идея пришла к нему из работ по доменной адаптации(Domain adaptation), поэтому и начнем мы обсуждение состязательных сетей именно с этой темы.


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

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии2

Yargy-парсер и библиотека Natasha. Извлечения структурированной информации из текстов на русском языке

Время на прочтение12 мин
Количество просмотров85K
В 2020 году библиотека Natasha значительно обновилась, на Хабре опубликована статья про актуальную версию. Чтобы использовать инструменты, описанные в этом тексте, установите старую версию библиотеки pip install natasha<1 yargy<0.13.

Раздел про Yargy-парсер актуален и сейчас.


Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами:



Задача старая и хорошо изученная, для английского языка существует масса коммерческих и открытых решений: Spacy, Stanford NER, OpenNLP, NLTK, MITIE, Google Natural Language API, ParallelDots, Aylien, Rosette, TextRazor. Для русского тоже есть хорошие решения, но они в основном закрытые: DaData, Pullenti, Abbyy Infoextractor, Dictum, Eureka, Promt, RCO, AOT, Ahunter. Из открытого мне известен только Томита-парсер и свежий Deepmipt NER.

Я занимаюсь анализом данных, задача обработки текстов одна из самых частых. На практике оказывается, что, например, извлечь имена из русского текста совсем непросто. Есть готовое решение в Томита-парсере, но там неудобная интеграция с Python. Недавно появилось решение от ребят из iPavlov, но там имена не приводятся к нормальной форме. Для извлечения, например, адресов («ул. 8 Марта, д.4», «Ленинский проезд, 15») открытых решений мне не известно, есть pypostal, но он чтобы парсить адреса, а не искать их в тексте. C нестандартными задачами типа извлечения ссылок на нормативные акты («ст. 11 ГК РФ», «п. 1 ст. 6 Закона № 122-ФЗ») вообще непонятно, что делать.

Год назад Дима Веселов начал проект Natasha. С тех пор код был значительно доработан. Natasha была использована в нескольких крупных проектах. Сейчас мы готовы рассказать о ней пользователям Хабра.
Natasha — это аналог Томита-парсера для Python (Yargy-парсер) плюс набор готовых правил для извлечения имён, адресов, дат, сумм денег и других сущностей.
В статье показано, как использовать готовые правила из Natasha и, самое главное, как добавлять свои с помощью Yargy-парсера.
Читать дальше →
Всего голосов 87: ↑86 и ↓1+85
Комментарии33

Feature Engineering, о чём молчат online-курсы

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


Sherlock by ThatsWhatSheSayd


Чтобы стать великим сыщиком, Шерлоку Холмсу было достаточно замечать то, чего не видели остальные, в вещах, которые находились у всех на виду. Мне кажется, что этим качеством должен обладать и каждый специалист по машинному обучению. Но тема Feature Engineering’а зачастую изучается в курсах по машинному обучению и анализу данных вскользь. В этом материале я хочу поделиться своим опытом обработки признаков с начинающими датасаентистами. Надеюсь, это поможет им быстрее достичь успеха в решении первых задач. Оговорюсь сразу, что в рамках этой части будут рассмотрены концептуальные методы обработки. Практическую часть по этому материалу совсем скоро опубликует моя коллега Osina_Anya.


Один из популярных источников данных для машинного обучения — логи. Практически в любой строчке лога есть время, а если это web-сервис, то там будут IP и UserAgent. Рассмотрим, какие признаки можно извлечь из этих данных.

Читать дальше →
Всего голосов 55: ↑52 и ↓3+49
Комментарии11

Подборка бесплатных утилит компьютерной криминалистики (форензики)

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

В этой статье представлены бесплатные инструменты для проведения расследования инцидентов информационной безопасности.
Читать дальше →
Всего голосов 49: ↑48 и ↓1+47
Комментарии18

Как я парсил Хабр, часть 1: тренды

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

Когда был доеден новогодний оливье, мне стало нечего делать, и я решил скачать себе на компьютер все статьи с Хабрахабра (и смежных платформ) и поисследовать.


Получилось несколько интересных сюжетов. Первый из них — это развитие формата и тематики статей за 12 лет существования сайта. Например, достаточно показательна динамика некоторых тем. Продолжение — под катом.


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

Как писать на ассемблере в 2018 году

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


Статья посвящена языку ассемблер с учетом актуальных реалий. Представлены преимущества и отличия от ЯВУ, произведено небольшое сравнение компиляторов, скрупулёзно собрано значительное количество лучшей тематической литературы.
Читать дальше →
Всего голосов 117: ↑102 и ↓15+87
Комментарии167

Лекции Техносферы. Нейронные сети в машинном обучении

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


Представляем вашему вниманию очередную порцию лекций Техносферы. На курсе изучается использование нейросетевых алгоритмов в различных отраслях, а также отрабатываются все изученные методы на практических задачах. Вы познакомитесь как с классическими, так и с недавно предложенными, но уже зарекомендовавшими себя нейросетевыми алгоритмами. Так как курс ориентирован на практику, вы получите опыт реализации классификаторов изображений, системы переноса стиля и генерации изображений при помощи GAN. Вы научитесь реализовать нейронные сети как с нуля, так и на основе библиотеке PyTorch. Узнаете, как сделать своего чат-бота, как обучать нейросеть играть в компьютерную игру и генерировать человеческие лица. Вы также получите опыт чтения научных статей и самостоятельного проведения научного исследования.

Всего голосов 55: ↑54 и ↓1+53
Комментарии6

Разбираемся в С, изучая ассемблер

Время на прочтение11 мин
Количество просмотров90K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

В прошлый раз Аллан О’Доннелл рассказывал о том, как изучать С используя GDB. Сегодня же я хочу показать, как использование GDB может помочь в понимании ассемблера.

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии31

tldr — альтернатива man с названием, говорящим за себя

Время на прочтение4 мин
Количество просмотров25K
Все мы любим --help и man. Несмотря на появление многочисленных форумов, Stack Exchange и прочих ресурсов, хорошим тоном в начале решения своих проблем по-прежнему остаётся самостоятельный поиск ответа в официальной документации (и на этих ресурсах вам скорее всего об этом сразу напомнят). Однако лень продолжает двигать прогресс даже там, где не всегда того ожидаешь. Впрочем, это не только лень — бывают и другие аргументы в пользу «упрощений»…

В общем, оказалось, что классический man устраивает не всех. Поэтому появился проект tldr, который, следуя своей расшифровке «Too long; didn't read», решил принести в консоль лаконичную документацию, содержащую только самое главное. Проекту tldr уже больше 3 лет, но про него ещё почему-то не писали на хабре.

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

Когда стоит переходить к автоматизации тестирования

Время на прочтение5 мин
Количество просмотров12K
В этот раз мы поговорили об автоматическом тестировании с Аланом Пейджем, приложившим руку к созданию Windows 95, Internet Explorer и MS Office. Алан — великолепный специалист и собеседник. В этом интервью он простым и доступным языком рассказывает о нетривиальных аспектах процесса. Мы сконцентрировались на вопросах определения границ между разработкой и тестированием, проблемах с легаси, оценке качества тестов и отличии тестирования крупных проектов от малых.


Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии9

Подробный разбор решения crackme01_x64

Время на прочтение5 мин
Количество просмотров25K
Данная статья рассчитана на начинающих, интересующихся обратной разработкой, и имеющих базовые представления о работе ЦП, языке ассемблера. Этот crackme относительно старый и простой, но при его решении применяются в основном те же приемы, что и при решении более сложных. На просторах Сети можно найти несколько статей с его разбором такие как эта, а еще он здесь упоминается(crackme то с историей), однако те решения не такие подробные как это. В свое время мне сильно не хватало такого построчного разбора, куда можно было бы заглянуть, когда запутался и не понимаешь что делает тот или иной участок кода. Если этот пост окажется полезным хотя бы для одного человека, значит я не зря старался. Все скрины(кроме первого) кликабельны. Приятного прочтения.

Итак, перед нами простой crackme, запустим его и посмотрим как он работает.


Ага, все довольно просто, мы должны ввести правильный серийник. Теперь откроем программу в дизассемблере. Как правило дизассемблерные листинги, даже относительно простых программ, довольно объемны. Для определения той части кода, которая проверяет ввод серийника, найдем где в памяти программы хранится строка с сообщением об ошибке «Fail, Serial is invalid !!!» и какой код к этой строке обращается.
Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии19

Sir Markdown. Лекция Яндекса

Время на прочтение10 мин
Количество просмотров28K
При разработке документации мы руководствуемся не только стандартами, но и удобством её использования. Стандарты определяют состав и форму документации, а формат строится исходя из удобства. Разработчик Сергей Бочаров рассказывает о пути Markdown-документа и о проблемах, которые приходится решать в обмен на простоту использования этого формата.


У меня иногда складывается впечатление, что не он служит для нас, а мы служим для этого формата. Поэтому — сэр Markdown.

Всего голосов 70: ↑67 и ↓3+64
Комментарии20

Алгоритмы построения пути для беспилотного автомобиля. Лекция Яндекса

Время на прочтение12 мин
Количество просмотров28K
Яндекс уже некоторое время ведет разработку беспилотного автомобиля. Перед вами одна из первых технических лекций на эту тему. В направлении беспилотных автомобилей работают сотрудники Яндекса в разных городах, включая и Минск. Автор лекции Роман Удовиченко как раз из Минска — он руководит группой обработки дорожной ситуации. На сентябрьском Я.Субботнике Роман рассказал об одной из больших задач, стоящих перед его группой.


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

Всего голосов 65: ↑62 и ↓3+59
Комментарии32

Информация

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