Как стать автором
Обновить
3
0
Kirill Feschenko @0susboy0

Разработчик

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

Теория алгоритма, дающего смысл словам

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

Существующие алгоритмы работающие с о смыслом слов:

Векторное представление слов, GPT-3 - статистика

Алгоритм Леска - подбор значения многозначного слова по статистике встречаемости слов в предложении

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

В других вариантах - по сути поиск закономерностей через нейросети.

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

Расстояние Левенштейна для чайников

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

Когда я взялась решать задачку по динамическому программированию — реализовать алгоритм, который рассчитывает расстояние Левенштейна — мне пришлось послушать пару небольших лекций и прочесть несколько статей (приведу их в конце), чтобы разобраться. Я решила попытаться пересказать алгоритм настолько просто, чтобы по этому объяснению можно было снять ролик для тиктока (когда он снова возобновит свою деятельность в РФ). Дальше — мало формул и много картинок.

Читать далее
Всего голосов 44: ↑40 и ↓4+36
Комментарии17

Сравнение двух систем для торговли акциями: модели ближайших соседей и торговли по скользящей средней

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

Привет!

Я достаточно давно в качестве хобби занимаюсь анализом открытых данных в играх на деньги (ставки на спорт, биржевые котировки и тп). В основном работаю руками в экселе, но также стараюсь быть в курсе того, что делают машины. Для этого прошел курсы Kaggle от Google. В этой статье я попробую сравнить результативность предсказаний дневного движения цены акции от двух примитивных систем торговли:

1. примитивного трейдера-человека, который на вводном курсе по трейдингу узнал про скользящую среднюю,

 и

2. примитивной модели, обученной по методу ближайших соседей (Класс KNeighborsClassifier в библиотеке Python Scikit-learn).

Оцениваться предсказания обеих систем будут по двум параметрам:

1. Результат торговли акцией в процентах.
2. Процент верных предсказаний.

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

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

Почему всё ломается даже у хороших программистов? Часть 2/2

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

После несерьёзной статьи на серьёзную тему Job Safety Driven Development стоит рассказать о том, почему даже опытные и добросовестные программисты волей случая могут попадать в схожие ситуации. Сначала захотелось написать, почему программисты ошибаются вообще ("Почему ошибаются программисты?" Часть 1 и Часть 2), но оказалось, что это слишком разные темы. Потом оказалось, что и на эту тему получился очень длинный текст. Пришлось разбить его на части. В первой части мы рассмотрим обычные случаи, которые знакомы многим крупным компаниям. И дополним понятие «серебряная пуля» понятием «золотая шестерёнка».  Во второй части поймём, какую цену вам, скорее всего, придётся заплатить за «золотую шестерёнку», я приведу немного своего опыта. Как всегда, попробую писать простым языком, понятным широкой аудитории.

Читать далее
Всего голосов 32: ↑31 и ↓1+30
Комментарии44

Что нужно знать о cookies-файлах, чтобы не нарушить закон?

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

Перед тем, как запускать свой сайт или приложение, в котором вы собираетесь использовать cookies или иные идентификаторы (local storage, AAID, UDID и т.д.) устройств/сессии пользователя, необходимо выполнить требования законодательства о персональных данных.

Зачем? Во-первых, вы выстраиваете открытые и честные отношения со своими пользователями. Во-вторых, вы будете готовы к проверкам регуляторов. В-третьих, вы сможете избежать штрафов, которые могут достигать 4% годового оборота своей компании.

Давайте разберемся, как онлайн-идентификаторы связаны с защитой персональных данных.

Согласно ФЗ «О персональных данных» и GDPR куки-файлы и иные идентификаторы пользователя относятся к персональным данным, поскольку позволяют теоретически определить конкретного субъекта или выделить его среди других лиц.

Наиболее известным делом по рассматриваемой нами теме стал судебный спор Vidal-Hall v. Google (2015). Используя сookieы-файлы, компания Google осуществляла сбор информации об интернет-трафике пользователей. Заявители, не будучи осведомлены о незаконных действиях ответчика, настаивали на привлечении последнего к ответственности за нарушение порядка использования сookies – персональных данных, которые позволяют вычислить пользователей.

Суд занял позицию истцов и положительно ответил на вопрос об отнесении Cookie-файлов к персональным данным, так как они, «не называя прямо субъекта … позволяют выделить его из всей массы пользователей, следовательно, отвечают критерию идентификации» [1].

Следовательно, в отношении cookies и прочих идентификаторов необходимо соблюдать требования законодательства.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии17

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

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

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

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

Лёха смог: уйти из Мака в 35 и стать программистом

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

Статью заказал сам Лёха. Он – отличный парень, но пока немного не уверен в своём умении доходчиво выражать мысли. Однако, мне понравилась цель его заказа, поэтому я решил поучаствовать – написать текст от его имени.

Итак, Лёха смог войти в айти. В 35 лет, ни дня до того не проработав программистом. Зато оттрубив 10+ лет в Маке. Магия цифр: приходя в АйТи, Лёха зарабатывал 35 тыщ. Спустя полтора года – сотку. Дальнейший рост предвидится – Лёха идёт по известной шкале, конец которой ещё далеко. Пока обозримая цифра – две сотки.

Да, цель-то, которую Лёха сформулировал… «Парни, всё получится!».

Читать далее
Всего голосов 89: ↑61 и ↓28+33
Комментарии106

Краш-курс: Как менеджерская революция Boeing породила катастрофу 737 MAX

Время на прочтение34 мин
Количество просмотров112K
На Хабре уже есть материалы, углубляющиеся в некоторые технические стороны крушений последнего самолета Boeing. Эта драматическая статья рассказывает, что к этим крушениям привело.


Фото: Getty

Почти за два десятка лет до того, как система MCAS компании Boeing погубила два новых самолета 737 MAX, Стэн Соршер знал, что все более токсичная обстановка в его компании приведет к какой-то катастрофе. «Культура безопасности», которая долго была предметом гордости, стремительно вытеснялась, по его словам, «культурой финансовой херни, культурой группового мышления».

Соршер, физик, проработавший в компании Boeing более двух десятилетий и возглавлявший там переговоры о создании профсоюза инженеров, стал одержим культурой управления. Он сказал, что ранее не представлял, что смелая новая управленческая каста Boeing создаст такую глупую и вопиюще очевидную проблему, как MCAS (Maneuvering Characteristics Augmentation System; система улучшения характеристик маневрирования, как ее окрестила горстка разработчиков ПО). В основном его беспокоило, что сокращение доли рынка будет уменьшать продажи и численность сотрудников, то есть то, что не дает спать по ночам постиндустриальным американским профсоюзным лидерам. В какой-то степени, однако, он все это предвидел; он даже показал, как убытки от запрета полетов самолета перекроют краткосрочные экономии от аутсорсинга в одном из своих докладов, который никто не читал, еще в 2002 году.
Читать дальше →
Всего голосов 116: ↑104 и ↓12+92
Комментарии443

Сказ о том, как мы Python-микросервисы для облака шаблонизировали

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

Большая боль разработчиков, которые приходят на новый проект — для развертывания сервиса локально нужно пообщаться минимум с десятком людей, не говоря уже про интеграцию с CI/CD-сервером. В один момент мы решили реализовать это удобнее, заодно сократив время онбординга новых сотрудников. 

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

Меня зовут Олег Чуркин. Я больше 10 лет занимаюсь разработкой на Python и сейчас руковожу разработкой нового процессинга платежей в QIWI. Расскажу, как мы реализовали boilerplate-шаблон для сервисов — на примере небольшого стартапа внутри нашей большой компании.

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

Как нативно визуализировать голос в iOS

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

Реализовать запись и проигрывание аудиофайлов в iOS несложно. Но если к этому добавляется задача визуализировать звук в момент записи с микрофона, это может вызвать сложности даже у опытного программиста, который мало работал с AVFoundation — мультимедийным фреймворком для работы с аудиовизуальными носителями.

В статье расскажу, как в iOS нативно визуализировать голос в процессе записи и проведу краткий экскурс в физику звукозаписи.

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

Найти за полсекунды: сравниваем похожие фотографии

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

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

Однажды мои знакомые попросили сделать им хранилище изображений для их проекта по модерации внешних ресурсов. Условия: срок хранения до трех лет, фотографии при этом присылаются неравномерно, в среднем поток — 150.000 картинок в сутки.

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

Читать далее
Всего голосов 54: ↑53 и ↓1+52
Комментарии7

Модель-полиглот: как мы учили GPT-3 на 61 языке мира

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

Генеративные языковые модели уверенно обосновались в практике Natural Language Processing (NLP). Большие предобученные трансформеры двигаются сразу в трёх направлениях: мультимодальность, мультизадачность и мультиязычность. Сегодня мы расскажем про последнюю — о том, как учили модель на основе GPT-3 на 61 языке мира.

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

Этим релизом мы хотим привлечь внимание к развитию NLP для языков стран СНГ, а также народов России. Для многих из представленных языков эта модель стала первой авторегрессионной языковой моделью. 

Модель доступна в двух вариантах размеров: mGPT XL на 1,3 миллиарда параметров — в открытом доступе, а mGPT 13B — будет доступна в ML Space SberCloud.

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

Как мы слушаем и разбираем каждый звонок в банк

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


Сначала DSS LAB делает голос-текст, потом LSTM-классификаторы, сущности Spacy + Yargy (Natasha), лемматизация Pymorphy2, правки Fasttext и Word2Vec, 3 разных суммаризатора и наши решения. Мы можем анализировать ваш голос не только для того, чтобы понимать, о чём ведётся диалог, но и для того, чтобы искать места улучшений банковских продуктов после диалога.

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

Пример:

На входе: «…почему мне откапывает банкомат с переводом в другой банк».
Коррекция: «почему мне отказывает банкомат с переводом в другой банк».
Выделенное ключевое сообщение: «отказывает банкомат».
Действие: оператору предлагается маршрутизация звонка, звонок классифицируется для статистики.

Само распознавание устроено следующим образом:

  1. Голос раскладывается на фонемы. Фонемы собираются в слова тем же решением.
  2. Из собираемых данных удаляются различные клиентские данные: номера карт, кодовые слова и так далее.
  3. Затем полученный поток слов снабжается пунктуацией (точками и запятыми) и заглавными буквами: это нужно для нейросетей, очень чувствительных к такому. Исправляются опечатки, корректируются термины (география).
  4. И на выходе получаются текстовые диалоги, как в чате: их анализирует уже нейросеть, пытающаяся привязать смысл в реальном времени.
  5. После окончания звонка тексты также анализируются нейросетями, отвечающими за сбор разных метрик по голосовой и чат-поддержке.

Давайте покажу реальные (обезличенные) примеры диалогов, чтобы было понятнее.
Читать дальше →
Всего голосов 34: ↑27 и ↓7+20
Комментарии24

Отправка SMS с 3G/GSM модема

Время на прочтение7 мин
Количество просмотров212K
Привет Хабр. В данной статье я бы хотел поделиться опытом работы с GSM модемом, а точнее опытом отправки SMS сообщений. Ниже будет описана реализация программы на Delphi для отправки SMS сообщений, а так же чтение и удаление входящих/исходящих сообщений с модема. В моём случае это был модем HUAWEI от MTS. Всех кого заинтересовал, прошу под кат.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии20

Как устроен парсер Python, и как втрое уменьшить потребление им памяти

Время на прочтение12 мин
Количество просмотров48K
Любой, кто изучал устройство языков программирования, примерно представляет, как они работают: парсер в соответствии с формальной грамматикой ЯП превращает входной текст в некоторое древовидное представление, с которой работают последующие этапы (семантический анализ, различные трансформации, и генерация кода).

КДПВ

В Python всё немного сложнее: парсеров два. Первый парсер руководствуется грамматикой, заданной в файле Grammar/Grammar в виде регулярных выражений (с не совсем обычным синтаксисом). По этой грамматике при помощи Parser/pgen во время компиляции python генерируется целый набор конечных автоматов, распознающих заданные регулярные выражения — по одному КА для каждого нетерминала. Формат получающегося набора КА описан в Include/grammar.h, а сами КА задаются в Python/graminit.c, в виде глобальной структуры _PyParser_Grammar. Терминальные символы определены в Include/token.h, и им соответствуют номера 0..56; номера нетерминалов начинаются с 256.

Проиллюстрировать работу первого парсера проще всего на примере. Пусть у нас есть программа if 42: print("Hello world").
Читать дальше →
Всего голосов 122: ↑116 и ↓6+110
Комментарии68

Ускорение производительности Python в 3.11

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

Всем привет! Сегодня хочу поделиться с вами хорошими новостями, которые связаны с производительностью python в грядущем релизе 3.11 и то, что нас ожидает в будущем!

Читать далее
Всего голосов 60: ↑58 и ↓2+56
Комментарии35

Лора на батарейках (мечта каждого мужчины)

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


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

Всё вроде бы шло по плану, но при ближайшем рассмотрении вдруг возникла проблема в самом неожиданном месте — для различных беспроводных датчиков понадобились батарейные LoRa модули — и вдруг оказалось, что нормальных батарейных долгоживущих модулей, которые могли бы обеспечить автономную работу LoRa сенсоров в течение нескольких лет, просто нет в продаже.

Можно было бы сделать свои батарейные LoRa модули (благо прототипы есть и прекрасно работают), но не хотелось тратить время на изобретение велосипеда, а просто купить что-то готовое, и я заказал с Aliexpress несколько плат-кандидатов для тестирования.

Одна из таких плат — LoRa Radio Node, отчёт о её разборе (по косточкам) и тестировании я и предлагаю вашему вниманию.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Комментарии121

Этапы профессиональной карьеры разработчика: какие задачи решают junior, middle и senior

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

В своем блоге на Хабре мы уже не раз писали о Python. Хотя бы потому, что это один из наиболее популярных в мире языков программирования. В начале этого года по версии Tiobe он занял первое место. Популярность его объясняется достаточно просто - язык можно относительно быстро выучить на базовом уровне и начать двигаться к вершинам профессии. Но какие они, эти вершины? На что способен senior, какие задачи решает middle, а какие - junior? Об этом мы поговорили с Алексеем Некрасовым (@znbiz), лидером направления Python в МТС, программным директором направления Python и спикером профессии “Python-разработчик” в Skillbox.

Читать далее
Всего голосов 24: ↑17 и ↓7+10
Комментарии22

Как мы создавали нашу аудиоаналитику и что она умеет

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

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

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

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии2

Проливной дождь, морозы -20°С и полет более 40 минут. Представлен новый DJI Matrice 30

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

Компания DJI накануне презентовала новую серию промышленных беспилотников DJI Matrice 30 (DJI M30). Это DJI Matrice 30 и расширенная версия M30T. Дрон выдерживает перепады температур от -20°С до +50°С, имеет защиту по классу IP55 от пыли и воды, может летать при сильных порывах ветра и оснащен новыми системами для безопасного полета и управления.

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

Информация

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