Search
Write a publication
Pull to refresh
-28
0.2

Интересуюсь природой вещей

Send message

Ретроспектива создания своего мультфильма

Reading time6 min
Views4.6K
Мы живём в удивительное время. То, что раньше было невероятным, сегодня у нас буквально «валяется под ногами». В наши дни любой человек может сделать свой собственный мультфильм. Анимационные программы упрощают и ускоряют этот процесс настолько, что даже один человек, не будучи аниматором, может сделать настоящий анимационный фильм.

С удовольствием поделюсь полученным мною опытом. Речь будет идти о 2D-анимации, но многие моменты равно применимы и к 3D. Кому будет интересно ссылка на сам мультфильм в конце поста.
Читать дальше →

Владимир Китов: «Невозможно понять, как ученые-первопроходцы предвидели всеобщую компьютеризацию еще в 1950-х!»

Reading time14 min
Views9K


Владимир Китов, работающий с ИТ более полувека, возглавлял команды программистов в ГВЦ Минморфлота СССР и ЦНИИ «Монолит», руководил разработкой ПО для международной системы космического спасения КОСПАС-SARSAT и созданием мультитерминального монитора для ЕС ЭВМ. Он работал топ-менеджером в компаниях DEC, SIEMENS, «Техносерв», IBS, Fujitsu, написал учебник по системному программированию и несколько монографий, а теперь занимается историей информатики.

В продолжении интервью Владимир Китов вспоминает своего отца Анатолия Ивановича и других выдающихся советских ученых, объясняет, почему история автоматизированных систем управления — заметная часть истории страны, рассказывает о работе для сельского хозяйства в Институте кибернетики на рубеже 1980-1990-х.
Читать дальше →

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

Reading time16 min
Views118K
Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность.

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

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


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

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

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

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

Пост написан в формате пошагового руководства; также его можно рассматривать в качестве обзора высокоэффективных стандартных подходов.

Стоимость денег, типы процентов, дисконтирование и форвардные ставки. Ликбез для гика, ч.1

Reading time9 min
Views66K
Представьте себе ситуацию – вы покупаете машину, и вам предлагают два варианта: заплатить с рассрочкой в несколько месяцев или погасить всю сумму сразу и с небольшой скидкой. Какой окажется выгоднее?

Или, например, вы хотите разместить вклад на год. Можно положить на весь срок под высокий процент или на отдельные короткие сроки под более низкий. Что лучше и насколько?



Все ответы под катом. И добро пожаловать в мир, где время — всегда деньги. До этого вы знали об этом, но теперь — в деталях и с примерами.
Читать дальше →

Основы Natural Language Processing для текста

Reading time12 min
Views217K
Обработка естественного языка сейчас не используются разве что в совсем консервативных отраслях. В большинстве технологических решений распознавание и обработка «человеческих» языков давно внедрена: именно поэтому обычный IVR с жестко заданными опциями ответов постепенно уходит в прошлое, чатботы начинают все адекватнее общаться без участия живого оператора, фильтры в почте работают на ура и т.д. Как же происходит распознавание записанной речи, то есть текста? А вернее будет спросить, что лежит в основе соврменных техник распознавания и обработки? На это хорошо отвечает наш сегодняшний адаптированный перевод – под катом вас ждет лонгрид, который закроет пробелы по основам NLP. Приятного чтения!


Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time25 min
Views1.7M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

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

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных

Reading time14 min
Views96K
Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%.

С 2015 по 2019 годы я прошёл четыре цикла собеседований на должность аналитика данных и специалиста по анализу данных в более чем десятке компаний. После очередного неудачного интервью в 2017 году — когда я запутался в сложных вопросах по SQL — я начал составлять задачник с вопросами по SQL средней и высокой сложности, чтобы лучше готовиться к собеседованиям. Этот справочник очень пригодился в последнем цикле собеседований 2019 года. За последний год я поделился этим руководством с парой друзей, а благодаря дополнительному свободному времени из-за пандемии отшлифовал его — и составил этот документ.

Есть множество отличных руководств по SQL для начинающих. Мои любимые — это интерактивные курсы Codecademy по SQL и Select Star SQL от Цзы Чон Као. Но в реальности первые 70% из курса SQL довольно просты, а настоящие сложности начинаются в остальных 30%, которые не освещаются в руководствах для начинающих. Так вот, на собеседованиях для аналитиков данных и специалистов по анализу данных в технологических компаниях часто задают вопросы именно по этим 30%.

Удивительно, но я не нашёл исчерпывающего источника по таким вопросам среднего уровня сложности, поэтому составил данное руководство.
Читать дальше →

Юлия → Iuliia. Всё о транслитерации

Reading time8 min
Views72K

Транслитерация


Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, трансграничной доставке, библиотечных каталогах и множестве других международных процессов.


Так вышло, что я недавно окунулся в эту тему, а в Википедии она раскрыта слабо. Поэтому расскажу, что к чему (спойлер — если вы думаете, что с транслитерацией всё плохо, то на самом деле всё ещё хуже).


И конечно, поскольку это Хабр — предложу open-source библиотеки для решения проблемы.

Читать дальше →

Алгоритмы пост-обработки результатов распознавания текстовых полей

Reading time10 min
Views2.3K

(изображение взято отсюда)

Сегодня мы бы хотели вам рассказать о задаче пост-обработки результатов распознавания текстовых полей исходя из априорных знаний о поле. Ранее мы уже писали про метод коррекции полей на основе триграмм, который позволяет исправлять некоторые ошибки распознавания слов, написанных на естественных языках. Однако значительную часть важных документов, в том числе документов, удостоверяющих личность, составляют поля другого характера – даты, номера, VIN-коды автомобилей, номера ИНН и СНИЛС, машинно-читаемые зоны с их контрольными суммами и многое другое. Хотя их нельзя отнести к полям естественного языка, тем не менее у таких полей зачастую существует некоторая, иногда неявная, языковая модель, а значит, для них тоже можно применить некоторые алгоритмы коррекции. В этом посте речь пойдет об двух механизмах пост-обработки результатов распознавания, которые можно применять для большого количества документов и типов полей.
Читать дальше →

Альтернативное понимание контекста с помощью статистической языковой модели

Reading time20 min
Views7.3K
ALM

В интернете полно статей на тему основанных на N-граммах языковых моделей. При этом, готовых для работы библиотек довольно мало.

Есть KenLM, SriLM и IRSTLM. Они популярны и используются во многих крупных проектах. Но есть проблемы:

  1. Библиотеки старые, не развиваются.
  2. Плохо поддерживают русский язык.
  3. Работают только с чистым, специально подготовленным, текстом
  4. Плохо поддерживают UTF-8. Например, SriLM с флагом tolower ломает кодировку.

Из списка немного выделяется KenLM. Регулярно поддерживается и не имеет проблем с UTF-8, но она также требовательна к качеству текста.

Когда-то мне потребовалась библиотека для сборки языковой модели. После многих проб и ошибок пришёл к выводу, что подготовка датасета для обучения языковой модели — слишком сложный и долгий процесс. Особенно, если это русский язык! А ведь хотелось как-то всё автоматизировать.

В своих исследованиях отталкивался от библиотеки SriLM. Сразу отмечу, что это не заимствование кода и не fork SriLM. Весь код написан полностью с нуля.
Читать дальше →

Изучаем миниатюрный шаговый двигатель

Reading time16 min
Views56K
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помощи обратной связи и точным измерениям.

Сегодня хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Мы подробно рассмотрим их устройство и способы управления такими крошечными моторчиками.


Хорошо, что создатель вашего любимого инструмента не слушал ослов, когда изобретал велосипед

Reading time5 min
Views35K


Прошлым летом мы с пацанами рассказали про свою либу, которую наш заказчик не принял и выкинул на помойку. Мы бомбили, потому что верили в свое решение, и рассказали о нем сообществу — уж обычные-то разрабы точно заценят и не будут размениваться на всякую чушь.

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

Меня поражает насколько быстро разрабы ведутся на эту уловку. Я спрашивал даже самых критичных и глубоко думающих людей — “изобретать велосипеды плохо?”. Они отвечают “да” меньше чем через секунду.

Ну нет, мужики, так не пойдет. Давайте-ка остановимся здесь, посмотрим вокруг и обстоятельно порассуждаем.
Читать дальше →

Вещи, которые я бы хотел знать до начала разработки собственной игры

Reading time6 min
Views27K


Последние два года я в свободное от основной работы время разрабатывал личный проект — игру, которую выпустил в Steam пару месяцев назад. На протяжении всего процесса я делал много ошибок, и вел записи для своего «прошлого я». Этот список может не относиться ни к вашей игре в частности, ни к вашему движку или языку (я использовал Unity и C#). Но я верю, что кому-то эти советы могут помочь. Поехали.
Читать дальше →

Единственно верный способ загружать и скачивать файлы в Selenium тестах

Reading time4 min
Views61K

image


Selenium WebDriver создавался как кросс-платформенный инструмент для управления веб браузерами. И вот уже почти 14 лет он делает эту работу очень и очень хорошо. Впрочем, автотесты из реального мира создают ситуации, в которых Selenium бессилен. Например, по сценарию нужно загрузить или скачать какой-либо файл. После нажатия кнопки "Загрузить" или "Скачать", поверх окна браузера появляется окно файлового менеджера операционной системы к которому Selenium уже не имеет доступа. Тест останавливается.


Я слышал рекомендации использовать утилиты типа AutoIt или Sikuli для работы с такими системными окнами. Мой совет — никогда так не делайте, это порочная практика, которая приводит к нестабильным тестам:


  • Такое решение не кросс-платформенное. Приходится изобретать свой велосипед для каждой новой операционной системы.
  • Хрупкое. Нет гарантии, что скрипт будет работать корректно если на машине открыто несколько браузеров.
  • Это делает невозможным использование headless режима браузера

Меня зовут Ярослав Пернеровский. Я уже 15 лет в тестировании и около 8 лет в автоматизации. Сейчас я расскажу как нужно правильно обрабатывать такие ситуации.

Читать дальше →

Алгоритм сжатия Хаффмана

Reading time8 min
Views99K
В преддверии старта курса «Алгоритмы для разработчиков» подготовили для вас перевод еще одного полезного материала.




Кодирование Хаффмана – это алгоритм сжатия данных, который формулирует основную идею сжатия файлов. В этой статье мы будем говорить о кодировании фиксированной и переменной длины, уникально декодируемых кодах, префиксных правилах и построении дерева Хаффмана.

Мы знаем, что каждый символ хранится в виде последовательности из 0 и 1 и занимает 8 бит. Это называется кодированием фиксированной длины, поскольку каждый символ использует одинаковое фиксированное количество битов для хранения.
Читать дальше →

Как мы научились делить видео на сцены с помощью хитрой математики

Reading time7 min
Views17K
За 10 лет существования ivi мы собрали базу из 90000 видео разной длины, размера и качества. Каждую неделю появляются сотни новых. У нас есть гигабайты метаданных, которые полезны для рекомендаций, упрощают навигацию по сервису и настройку рекламы. Но извлекать информацию непосредственно из видео мы начали только два года назад.

В этой статье я расскажу, как мы разбираем фильмы на структурные элементы и зачем нам это нужно. В конце есть ссылка на репозиторий Github с кодом алгоритмов и примерами.

image
Читать дальше →

Учим физику с ребенком сами, чтобы всем было интересно

Reading time6 min
Views52K

Эта статья будет полезна тем родителям, которые отважились помогать ребенку с физикой. Сегодня узнаем, как правильно пояснять физику на примере таких тем, как инертность, масса, вес и сила тяжести. Бонусом — сделаю обзор нескольких полезных интернет-ресурсов которыми часто пользуюсь сам.

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

Гровинг по-гиковски, или ферма для выработки веществ из подвала

Reading time4 min
Views17K


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

Собственно говоря, смысл делать, описывать и читать сие имеется только при наличии вызванной самоизоляцией скуки и томления духа. Это — про здравый смысл. Остальное — под катом.
Читать дальше →

А можете пощупать кандидата, жив ли он?

Reading time2 min
Views3.9K


В каждой профессии рано или поздно возникает свой сленг и новояз. Специалисты по работе с персоналом не исключение. Попросили HR-менеджеров из различных IT-компаний поделиться своими перлами и находками.
Читать дальше →

Популярные ошибки в английском среди IT-специалистов

Reading time4 min
Views33K
image

Основываясь на многолетнем опыте преподавания английского специалистам IT-сферы (программистам, бизнес аналитикам, тестировщикам, маркетинговым специалистам), я собрала список наиболее распространенных среди “айтишников” ошибок в английском языке.
Читать дальше →

Information

Rating
4,519-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity