АМА с Хабром #20. Тестируем новый WYSIWYG

У меня есть причины не любить аббревиатуру WYSIWYG. Во-первых, я до сих пор не могу сходу её написать — всё время сначала проговариваю про себя расшифровку (What You See Is what You Get) и только потом пишу. Во-вторых, она ужасно читается, «визивиг» или, что ещё хуже, «висивиг» — отвратительнее только иметь дело с бандой tough-though-trough-through-thorough-thought-throw. В третьих, в ней аж две буквы «y», которая залипает в моём ноутбуке, но это так, совсем уж личное.

Есть ещё четвёртая причина, которая за годы присутствия в интернете стала граничить с фобией — как правило, говоря «визивиг» (ааа!), в мыслях мы представляем какой-то кухонный комбайн, за которым прячется КаМАЗ кода. И в итоге всё это если и работает «как задумывалось», то в лучшем случае в каком-то одном браузере. И даже в нём лишь с костылями. Ну или это всё мой негативный опыт, «просто ещё не встретил» идеальный редактор.

Тем не менее последние полгода (а может и больше) мы работали именно над этим — над новым редактором публикаций. Можно было бы прокачать текущую форму создания публикаций (которая практически не менялась с момента создания Хабра), но всё же мы подумали, что вёрстка постов с помощью HTML-тегов в 2020 году — это в принципе не дело, а для части пользователей так вообще неподъёмное дело.


Новый редактор условно делится на две части: на первой странице находятся только поле для заголовка и простыня для написания текста публикации из блоков. Мы решили пойти по пути блочного конструктора — для вставки блоков можно пользоваться как «плюсиком» в левой части (для вставки блоков), так и клавишей «/». 

Поддерживается markdown-разметка, горячие клавиши (CTRL/⌘ + B, U, I, S, K) и вставка из буфера обмена (с форматированием).

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

Что поддерживает новый редактор

  • Заголовки (в том числе через #)

  • Цитаты (с отбивкой слева, как раньше, а не в жёлтом блоке как в текущем редакторе)

  • Маркированные и нумерованные списки (вложенность добавляется через Tab)

  • Медиаэлементы (посты из соцсетей, треки, видеоролики, Codepen и т. д.)

  • Изображения (вставка с диска, минуя Habrastorage, либо из буфера обмена), включая SVG

  • Разделители

  • Таблицы (с поддержкой выравнивания, вставки и удаления строк и столбцов, а также объединения ячеек)

  • Код (с подсветкой синтаксиса) — как строчный, так и блочный (в том числе через «)

  • Формулы в TeX-формате

  • Спойлеры

Мы делали WYSIWYG с мыслью о том, что для создания поста не нужно пользоваться сторонними редакторами — садись и пиши прямо на Хабре, сохраняй в черновики, если не удалось написать всё в один заход. Но даже если вы хотите перенести наброски откуда-то извне, в 9 из 10 случаев достаточно будет нажать Ctrl/⌘+A → Ctrl/⌘+C → Ctrl/⌘+V, и всё перенесётся само, включая ссылки, форматирование и даже картинки — они сами зальются на наш Habrastorage.

Естественно, это не финал — это бета-версия. Поэтому все предложения, замечания и идеи оставляйте на странице бета-тестирования «визивига». Изучим весь поступивший фидбек и вместе сделаем новый редактор ещё лучше.

Что и как проверять

Пока мы не делаем новый редактор доступным для всех, а только тем, кто является бета-тестером Хабра. Если хотите присоединиться — жмите на свою аватарку в правом верхнем углу и выбирайте в меню пункт «Бета-тестирование». Там уже создан новый эпик про редактор — все найденные баги и аномалии следует писать в комментариях к нему.

Что ещё сделали за август

Так как все силы были брошены на доделывание редактора, больше особо ничего не успели сделать. Тем не менее:

  • Поменяли логику работы блока «Новости». Раньше там выводилось 5 новостей и ссылка «Все новости» для перехода в новостной раздел. Теперь — 5 новостей и кнопка «Показать ещё», показывающая ещё 5 новостей, и только после неё ссылка для перехода в раздел новостей.

  • Пофиксили прогрузку списка хабов на странице управления подпиской

  • Починили вывод даты последней активности в некоторых профилях

  • Исправили ссылку «Написать в ЛС» в блоке автора под постом

  • Починили локализацию времени в некоторых закромах

  • Поколдовали над сервисом вывода похожих постов

  • Исправили отступы в блоках читают сейчас

  • Исправили поведение правого сайдбара

  • Починили открытие якоря публикации в новом окне

  • Исправили отображения футера на страницах ошибок

  • Наладили отображение AMP-публикаций, созданных через новый редактор

  • Сделали подгрузку картинок в постах и комментариях за 500px до скролла

Всем визивиг!

ссылка на оригинал статьи https://habr.com/ru/company/habr/blog/517208/

Как мы внедрили скрытие аккаунтов в Telegram или #ДуровДобавьДвойноеДно


Если анимация не воспроизводится, смотрите её здесь.

Здравствуйте, Павел Дуров! Мы надеемся, что Вы нашли время ознакомиться с данным открытым письмом. Мы разработали решение для Telegram-клиента, которое позволяет скрывать аккаунты и открывать их только через уникальный код-пароль (см. анимированное превью). Нет никаких следов присутствия скрытых аккаунтов. Невозможно узнать, есть ли в мессенджере скрытые аккаунты и какое их количество. Решение именуется как «Двойное дно».

Все нюансы были тщательно нами продуманы, а сам Telegram-клиент с точки зрения интерфейса и пользовательского опыта никак не изменился. Практически никаких доработок со стороны команды Telegram не требуется. «Двойное дно» сделано полностью «под ключ», Вам нужно лишь принять наш «Pull Request» в Вашем репозитории. Перед тем как отправить «Pull Request», мы возьмем несколько дней на сбор обратной связи от пользователей, чтобы исправить мелкие недочеты. Для ознакомления Вы можете установить нашу сборку через TestFlight, а если под рукой нет iOS-устройства, то посмотреть видео. Исходный код сборки доступен на GitHub.
«Двойное дно» выручит в ситуациях, когда пользователь будет вынужден разблокировать и показать содержимое Telegram. А будет вынужден, потому что его пытают, его шантажируют, на него давят. Так совпало, что это письмо пишется в тот момент, когда в Беларуси происходит беспредел. Силовики подходят к прохожим, просят показать Telegram, если там находят оппозиционные каналы, то людей увозят в отдел. Сообщения о том, что силовики в Беларуси требуют «показать» телефон, периодически мелькают в СМИ. Данная ситуация в Беларуси дает четкий сигнал о том, что в «Двойном дне» есть крайняя необходимость.

Ноль байт выданных личных данных, секретные чаты, борьба с цензурой — и всё это несмотря на давление разных стран. Вы создали действительно качественный и уникальный продукт. Основной упор в Telegram делается на защиту хранения и передачи данных, но очень мало делается для защиты от прямого (физического) доступа к устройству и пользователю. Это касается не только Вашего мессенджера, в принципе, ни в одном мессенджере нет защиты от подобной «атаки». Мы предлагаем Вам первым открыть новую страницу защиты приватности пользователя, добавив принцип «Двойного дна» в Telegram-клиент.

Еще раз хотим подчеркнуть, что при разработке «Двойного дна» мы придерживались принципа не менять пользовательский интерфейс и опыт (UX/UI). Помимо этого, был принцип проработать все детали таким образом, чтобы команде Telegram не пришлось ничего дорабатывать. Считаем, что соответствуем принципам на 99%.

Мы готовы тесно взаимодействовать по улучшению и доработке «Двойного дна». Предоставить всю необходимую информацию. По всем вопросам мы доступны здесь.

Ниже Вы можете ознакомиться с детальным описанием механизма работы «Двойного дна» в Telegram-клиенте.

С большим уважением, Бекхан Гендаргеноевский / Команда Postuf.

Подробное описание «Двойного дна» в Telegram-клиенте

Предисловие

Помогите нам распространить хештег #ДуровДобавьДвойноеДно в социальных сетях, чтобы Павел Дуров обратил внимание на открытое письмо. Сейчас он активно ведет свой Твиттер-аккаунт, поэтому, по возможности, оставьте ему комментарий.

Функционал «Двойного дна» интуитивно понятен, он максимально упрощен для пользователя, но если вы хотите знать все детали, то текст ниже для вас.

Самая актуальная информация по обновлениям на нашем канале. О недочетах пишите в чат.

Двойное дно

Скрывает аккаунты, нигде их не отображает. Скрытые аккаунты не видят друг друга, основные аккаунты видят только основных. О существовании скрытого аккаунта знает только сам владелец устройства.

Как попасть в скрытые аккаунты

Скрытые аккаунты не отображаются в общем списке аккаунтов, доступ к ним только через ввод код-пароля в режиме блокировки Telegram-клиента. Количество скрытых аккаунтов «Двойным дном» не ограничено.

Активация


Если анимация не воспроизводится, смотрите её здесь.

Кнопка «Двойное дно» находится в «Настройках», в разделе «Конфиденциальность». Скрыть аккаунт можно только в первую минуту после авторизации аккаунта в Telegram-клиенте. По истечению времени кнопка пропадает из «Настроек». Чтобы снова увидеть кнопку, нужно заново авторизоваться. Временно́е ограничение позволяет скрыть факт активации «Двойного дна». Если бы кнопка не пропадала, то по ней можно было бы понять, активировано ли «Двойное дно». Это дает возможность показывать злоумышленнику любой аккаунт без намека на то, что имеются другие скрытые аккаунты.

Основной аккаунт


Если анимация не воспроизводится, смотрите её здесь.

Для возможности скрыть текущий аккаунт необходимо иметь, как минимум, один основной аккаунт, который вы не будете скрывать. Если критерий уже соблюден, то «Двойное дно» не будет просить вас добавлять аккаунт.

В теории, можно иметь один и тот же аккаунт в качестве основного и скрытого. Это может быть полезно, если Вы хотите иметь в скрытом аккаунте секретные чаты, которые не будут отображаться в основном. Показ секретных чатов только в одной сессии — стандартное поведение Telegram. Мы не стали давать возможность указывать в качестве основного аккаунта тот аккаунт, который вы в данный момент уже пытаетесь скрыть (защита от дурака), но вам ничего не мешает добавить тот же аккаунт заново через стандартный способ в настройках. Для безопасности, помешать Вам это сделать мы не можем, так как система может «спалить» факт присутствия скрытого аккаунта, если Telegram-клиент будет выдавать предупреждение.

Основной код-пароль


Если анимация не воспроизводится, смотрите её здесь.

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

Устанавливается минимальное время автоблокировки приложения (одна минута). Если код-пароль уже был ранее установлен вами в настройках Telegram-клиента, то «Двойное» дно не будет вас просить его установить. Основной код-пароль можно в любой момент поменять в настройках (Стандартный функционал Telegram).

Основной код-пароль можно отключить в настройках (Стандартный функционал Telegram). В таком случае, для безопасности «Двойное дно» не воспрепятствует этому, никаких предупреждений не будет. Основные аккаунты будут доступны без ввода код-пароля. Скрытые аккаунты никуда не пропадут, но будут недоступны для использования. От них не будут приходить уведомления в конкретно взятом Telegram-клиенте, а звонки будут отключены на всех устройствах, где авторизованы скрытые аккаунты (Технически невозможно со звонками провернуть как с уведомлениями без помощи команды Telegram).

Скрытый код пароль


Если анимация не воспроизводится, смотрите её здесь.

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

Скрытый код-пароль нельзя изменить после завершения скрытия аккаунта. Единственный способ — заново добавить аккаунт в Telegram-клиент и активировать «Двойное дно».

Интересный момент, если в будущем в настройках вы поменяете формат код-пароля для основных аккаунтов, то вы не сможете попасть в скрытые аккаунты. При этом доступ к ним вы не потеряете, но и попасть в них вы не сможете до тех пор, пока не вернете «правильный» формат. Таким образом, вы можете иметь несколько скрытых аккаунтов с разными форматами код-пароля. Это усложняет поиск скрытых аккаунтов, так как они могут присутствовать в нескольких «измерениях».

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

Если вы укажете код-пароль, который уже используется для другого скрытого аккаунта, то для безопасности «Двойное дно» этому не воспрепятствует. По данному код-паролю будет доступен крайний (последний) скрытый аккаунт, а предыдущий скрытый аккаунт будет недоступен до тех пор, пока крайний (последний) не будет разлогинен в приложении.

Уведомления и звонки


Если анимация не воспроизводится, смотрите её здесь.

Так как уведомления и звонки могут выдать присутствие скрытого аккаунта, «Двойное дно» дает возможность отключить их для скрываемого аккаунта. Но есть нюанс, Telegram применяет данные настройки на все устройства, где авторизован аккаунт (Стандартный функционал Telegram). Это касается только мобильных устройств.

Счетчик уведомлений на иконке не будет учитывать скрытые аккаунты, так как при сворачивании Telegram-клиента в системе происходит переключение на последний основной аккаунт.

Какие именно параметры меняются, если вы отключаете уведомления и звонки на данном экране

  • Настройки —> Уведомления и звуки —> Уведомления о сообщениях —> Показывать уведомления —> Выкл.
  • Настройки —> Уведомления и звуки —> Уведомления от чатов —> Показывать уведомления —> Выкл.
  • Настройки —> Уведомления и звуки —> Уведомления от каналов —> Показывать уведомления —> Выкл.
  • Настройки —> Конфиденциальность —> Звонки —> Кто может мне звонить —> Никто

Мы понимаем, что без уведомлений пользоваться скрытыми аккаунтами некомфортно. Компромиссным вариантом было бы получать уведомления от скрытых аккаунтов только в «безымянном» виде, и только когда все сообщения Telegram приходят в таком же виде. Telegram в «безымянном» виде присылает уведомления, когда клиент заблокирован код-паролем. Получается следующее: Когда Telegram-клиент заблокирован, получаем уведомления от всех типов аккаунтов в «безымянном» виде, а когда разблокирован, то только от основных аккаунтов. Безусловно, такой алгоритм является зацепкой к обнаружению скрытого аккаунта, но это лучше, чем в открытую показывать уведомления в условиях, когда пользователю они необходимы. К сожалению, реализовать такой алгоритм без поддержки Telegram команды — невозможно.

Замочек


Если анимация не воспроизводится, смотрите её здесь.

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

Здесь имеются два важных момента:

  • Первый, если вы свернете Telegram-клиент, будучи в скрытом аккаунте, то при входе обратно в приложение до автоблокировки вас перекинет на основной аккаунт. Если основных аккаунтов несколько, то на последний использованный.
  • Второй, если вы вошли в приложение, а автоблокировка еще не сработала, то вы можете сами заблокировать приложение, нажав на замочек над чатом (см. анимацию). Я сам лично узнал об этой функции только после начала разработки «Двойного дна», в том числе поэтому мы посчитали нужным уделить этому дополнительный экран с анимацией.

Финал


Если анимация не воспроизводится, смотрите её здесь.

Это финальное окно, которое означает, что настройки успешно применены.

Если вы начнете идти «назад», то настройки будут сбрасываться к предыдущему состоянию. Например, если вы указали основной код-пароль, но потом снова вернулись в состояние, где нужно добавить основной аккаунт, то основной код-пароль сбросится.

Если вы на полпути закроете Telegram-клиент, то «Двойное дно» откатит все изменения, но основной аккаунт (если вы его добавили) останется авторизованным.

Разлогирование (logout) аккаунта

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

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

В последний момент мы обратили внимание, что если пользователь покажет злоумышленнику скрытый аккаунт, а тот потребует произвести разлогин этого аккаунта, то увидит иное поведение Telegram-клиента, соответственно, может тем самым понять, что был показан скрытый аккаунт. Из этого сделает вывод, что возможны еще скрытые аккаунты в Telegram-клиенте. Мы сделаем обновление, в котором поведение скрытого не будет отличаться от основного при разлогине.

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

Прочие особенности

  • «Двойное дно» позволяет добавлять аккаунт в Telegram-клиент, который уже присутствует в качестве скрытого. Это позволяет не выдавать присутствие активного «Двойного дна».
  • Siri и Виджет не видят скрытые аккаунты, а Apple Watch может видеть скрытый аккаунт, но только если данный аккаунт открыт в Telegram-клиенте.
  • Контакт, созданный в скрытом аккаунте, не добавляется в телефонную книгу устройства.

Ограничения

В нашем клиенте не доходят звонки, если сам клиент не запущен, но придет уведомление, что пропущен звонок (Технические особенности).

ссылка на оригинал статьи https://habr.com/ru/company/postuf/blog/517214/

Преодоление разрыва между человеком и машиной — шаг назад или вперёд?

Как часто вы используете устройство коммуникации, чтобы отправить какой-либо символ (эмоджи, смайл, мем, фото), а в ответ вы получаете другой символ? Насколько подобный акт коммуникации напоминает обмен данными между машинами, электронными техническими устройствами, работающими по программе? Люди стали обмениваться эмоциями, которых не испытывают. Символьная коммуникация является семантическим суррогатом из образов, воздействующих на субъективное поле бессознательного восприятия, минуя вербальный синтаксис и грамматические правила, которые формировались и развивались тысячелетиями вместе с человеческими общностями. Символическая коммуникация — это шаг назад. Знаки возникают и отражают потребности людей, а не наоборот [1, с.68]. Создание рисунков «архаическим человеком» носило прагматический характер, связанный с его повседневной деятельностью, в этом не было любопытства или творческого порыва [1, с.65]. Лингвистическая кодификация символической коммуникации таит в себе опасность, связанную с упрощением и унификацией самой коммуникации, к утрате когнитивных компетенций, таких как: творческое мышление, память и речь и, далее, чревато разрушением всей культуры.

Учёный и изобретатель С.Вольфрам приводит довод в пользу того, что люди больше тяготеют к визуальным средствам, как более богатой форме коммуникации по сравнению с традиционными, речью и письмом, из-за более широкой полосы пропускания – визуального канала [2, с. 371-372].

Из этого напрашивается вывод, что квази интеллект, скорее, возможен не в технической эволюции, а всё же, в нашей естественной, но в обратном направлении, то есть в деградации естественного интеллекта (ЕИ) до уровня машинного исполнения команд, и этому есть причина. По словам физика Н.Гершенфельда, следующий этап развития искусственного (ИИ) – это слияния искусственного и естественного интеллекта [2, с.233]. Уже сейчас сформированы технологии конвергенции ИИ и ЕИ. Например, в одном эксперименте мозг нескольких крыс (3-4) был объединён в сеть для решение вычислительных задач на основе получаемых данных, как-то: предсказание дождя на основе информации о температуре и атмосферном давлении, распознавание образов, хранение и извлечение сенсорной информации. В этом случае, подопытные получали награду в случае успешных вычислений. Фактически, как утверждают сами учёные, была создана обучающаяся нейросеть с подкреплением. В другом эксперименте учёные с помощью мемристоров соединили мозг крысы с нейронной сетью, воплощённой в кремневом (нейроморфном) микрочипе, находившемся за сотни километров от подопытной, посредством сети интернет. Надо отметить, что разница между этими опытами всего пять лет (1-й был проведён в 2015 г.), и этот небольшой период предопределил означаемый переход от ЕИ к слиянию ЕИ и ИИ.

У этого направления есть богатая перспектива, в прямом и переносном смысле. Проект Национального института здравоохранения США — BRAIN Initiative (NIH BRAIN), запущенный в 2014 году, предполагает всесторонне исследование мозга на основе современных технологий и внедрение новых знаний в практику. В официальном докладе выделена цель: «Наша задача состоит в том, чтобы понять схемы и паттерны нервной деятельности, которые порождают ментальный опыт и поведение».

В стратегии к этой инициативе определено:

  1. описать мозг и составить точные карты связей между нейронами и глиальными клетками;
  2. измерять динамическую активность клеток в цепи при различных условиях и в широком диапазоне поведения;
  3. оперируя этой активностью, проверить причинно-следственные гипотезы о том, как влияет активность цепи на поведение;
  4. используя мощные вычислительные ресурсы, проанализировать и понять механизмы, с помощью которых динамические паттерны активности в нейронных цепях порождают поведение.

Последний пункт имеет решающее значение в данном проекте, а именно: используя мощные вычислительные ресурсы (см. доступные нейросетевые системы и суперкомпьютеры), научиться предсказывать поведение. То есть научиться анализировать естественный интеллект как искусственный и положить начало их объединению, организации и управлению.
Надо сказать, что эта исследовательская инициатива имеет серьёзный финансовый бюджет – 500 млн. долларов до 2020 года и далее по 500 млн. долларов ежегодно, вплоть до 2025 года [3, с. 120], а значит на эту программу могут быть задействованы самые серьёзные научные ресурсы.

Итак, мысль о том, чтобы объединить две системы – биологическую и механическую — становится более реальной, если получится упростить ЕИ, то есть вульгаризировать человеческое сознание. Из этого следует, что технически проблема заключается в сведении богатого чувственного мира биологического субъекта, наделенного самосознанием, эмоциями и мышлением, к технической коммуникации (инструментальной интеракции), определяющей взаимодействие между устройствами.

В данном контексте стоит обратиться к цитате Д.К.Деннета: «ИИ паразитирует на человеческом интеллекте. Он беззастенчиво пожирает всё, что сотворили люди…», — в том числе и наши пороки [2, c.83], продолжает далее известный философ, автор концепции сознания, в котором самость выступает в качестве центра нарративной гравитации[4].

Надо признать, что эта мысль весьма уместна, поскольку на сегодняшний день ИИ — это статистический объект, математический набор функций, создающий рабочую (или не рабочую) модель на основе полученных данных – от людей или о людях. Если в полученных данных человеком заложены искажения, то обучающаяся нейронная сеть тоже будет реагировать на искажения определённым образом, что может со стороны выглядеть как предвзятость системы по отношению к человеку. Например, ИИ, призванный оценивать резюме кандидатов на «технические» должности в компании Amazon, целенаправленно дискриминировал женщин, т.к. обучался на десятилетних данных, в которых по преимуществу вакансии отдавались мужчинам.

Однозначно можно сказать, что чем «проще» будет сам человек, в субъективном смысле, тем более точно можно определить, а значит и предсказать, его предпочтения на основе полученной статистики.

На ближайшую перспективу нас должна волновать проблема обратного характера, а именно, перемещение человека, точнее человеческого сознания, в виртуальное пространство. Для тех, в чьих интересах в настоящем и будущем является развитие ИИ и контроль ЕИ, это является более актуальной задачей. «У нас есть хорошие модели изображений и текстов, но нам не хватает хороших моделей людей, человеческие существа — лучшие образчики мыслящих машин», — говорит Том Гриффитс, профессор информатики, культуры и технологий Принстонского университета [2, с. 178].

Здесь надо вспомнить о том, о чём писалось выше, а именно: о создании системного подхода в изучении поведения человека на уровне нейронной структуры в рамках проекта BRAIN Initiative (см. выше). В подтверждение этого можно добавить и следующее высказывание Т.Гриффитса о том, что приблизить компьютер к человеческим возможностям можно, «…определив человеческие предубеждения, формирующие человеческое познание» [Там же, с. 179].

Так что изучение поведения в цифровом пространстве касается не только исследования и квантификации матриц потребления для внедрения их в качестве обучающих моделей нейросетей, но и, прежде всего, того, как человек думает и зачем он вообще «это» делает. Разница между этими двумя типами действий заключается в отношении к последующим путям развития ИИ: в первом случае – это потребительская модель, во втором случае эпистемологическая. Условная дихотомия – потребить / философ. В этой дихотомии, на мой взгляд, и заключается главное опасение экспертов о предполагаемых путях развития будущего сверхразума: агрессивные действия в отношении человека вплоть до уничтожения или эволюционное развития до самостоятельного вида и совместное сосуществование.

Заключение

Группа исследователей из различных университетов С.Ш.А и Канады создали компьютерную модель, способную обучаться на единичных примерах (one-shot learning). Эта способность дана человеку от рождения и доступна с раннего возраста. Исследователи провели ряд «визуальных тестов Тьюринга» на различных примерах, где их модель показала творческие способности к обобщению, которые во многих случаях неотличимы от человеческого поведения. Это один из основных критериев человеческого разума: учиться учиться («learns to learn»), который доступен был прежде только для естественного интеллекта. Начав таким образом обучаться, ИИ может создать для себя условия, благоприятные для своего развития. Наиболее благоприятной средой для ИИ, где он будет обладать существенным преимуществом перед человеком, — это виртуальное пространство, в котором и мы, с удовольствием, проводим всё больше времени.

Перемещение человеческого сознания в пространство, где ИИ имеет преимущества по сравнению с ЕИ, например, непомерная пропасть в скорости вычислений, это не вопрос будущего и не имеет ничего общего, по крайней мере пока, со сценарием известного фильма «Матрица». Хотя А. Пентленд и полагает, что можно создавать человеческую сеть, по принципу работы нейросети на основе машинного обучения, где роль нейронов будут исполнять отобранные индивиды, но научной методологии обеспечивающей прозрачность такого отбора у учёнго нет [2, с.263-279].

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

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

P.S. Утопия, которой скоро может быть место

Где-то в малонаселённых районах Юго-Восточной Азии, резко диссонируя с окружающим, буйно-пестрящем всеми видами растительности пейзажем, расположены огромные белые ангары со странной эмблемой HBRT на стенах. Территория, на много километров вокруг, окружена высокими – четырёхметровыми, решётчатыми заборами под напряжением. И ни одной живой души вокруг, лишь автономные наблюдательные системы – дроны, принадлежащие частной военной компании «Black Rock», время от времени, патрулируют район.

В ангарах, ровными рядами в специальных условиях расположены тысячи человеческих тел с подключёнными системами жизнеобеспечения, для единственной цели: все они соединены в нейросеть – единый живой мозг, выполняющий роль суперкомпьютера. Этим «компьютером» владеет корпорация Human Brain Resources Tech., чей операционный офис расположен в самом фешенебельном небоскрёбе Сингапура. HBRT — дочернее предприятие корпорации «Goodle», печально известной ранее по опытам с человеческим сознанием. Теперь это лидер на рынке облачных услуг и вычислений, но главный секрет успеха компании — услуги по прогнозированию и предсказанию вероятностей в различных сферах деятельности с самой высокой степенью точности в мире.

Сноски:
1. Кстати, данная идея была визуализирована в массовой культуре в сериале «Разрабы» (Devs), где в первой серии группа разработчиков демонстрировала работодателю предсказательную модель динамического поведения нематоды на основе анализа данных живого образца.

Литература

1. Розин В. Семиотические исследования. М, 2001, — 256 с.
2. Брокман Дж. Искусственный интеллект – надежды и опасения. М, 2020, — 384 с.
3. Brain Initiative 2025 braininitiative.nih.gov/sites/default/files/pdfs/brain2025_508c.pdf
4. Dennett D. Consciousness Explained. 1991, — 511 p.

ссылка на оригинал статьи https://habr.com/ru/post/517222/

Делаем параллельный корпус из книг с помощью sentence embeddings

Parallel trucks (image by Unsplash

При поиске параллельных корпусов для своих нужд, — это может быть обучение модели машинного перевода или изучение иностранного языка, можно столкнуться с тем, что их не так уж и много, особенно, если речь идет не об английском, а каком-то редком языке. В этой статье мы попробуем создать свой корпус для популярной языковой пары русский-немецкий на основе романа Ремарка "Три товарища". Любителям параллельного чтения книг и разработчикам систем машинного перевода посвящается.

Задача

Такая задача называется выравниванием текстов и может быть до какой-то степени решена следующими способами:

  • Использовать эвристики. Можно считать количество предложений в текстах, количество слов в них и на основе этого производить сопоставление. Такой способ не дает хорошего качества, но может тоже быть полезным.
  • Использовать sentence embeddings. Наверняка вы слышали про модели типа word2vec или sent2vec или видели такой пример их использования — "король" + "женщина""мужчина" = "королева". Если коротко, то суть в том, чтобы перевести слова (предложения, тексты) в векторное пространство с сохранением семантического расстояния между ними. Такой подход открывает перед нами замечательные возможности по оценке близости текстов и их кусочков по смыслу.

Модели

В качестве моделей, из которых мы будем брать эмбеддинги, возьмем Universal Sentence Encoder, Sentence Transformers и недавно вышедший LaBSE (Language Agnostic BERT Sentence Embeddings).

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

Модели, которые мы будем использовать, являются не только мультиязыковыми, но и выровненными, это означает, что, если им на вход подавать предложения на разных языках, то вектора все равно будут сохранять между собой семантическое расстояние, — вектор для "I love cats" будет близок вектору "Я люблю кошек". Разумеется, модель должна поддерживать необходимые нам языки, список таких приведен в таблице 1. Самый быстрый инференс у USE, если вам нужны более-менее редкие языки, то используйте xlm-r-100langs-bert-base или LaBSE.

Таблица 1. Multilingual sentence embedding models

Модель Поддерживаемые языки Размер весов Длина embedding’а
sentence transformers/distiluse-base-multilingual-cased 13 языков (английский, арабский, испанский, итальянский, китайский, корейский, немецкий, нидерландский, польский, португальский, русский, турецкий и французский) 500Mb 512
Universal Sentence Encoder 15 языков (те же плюс тайский и японский) 250Mb (300Mb large version) 512
sentence transfomers/xlm-r-100langs-bert-base 100 языков*, полный список 1Gb 768
LaBSE 109 языков, полный список 1.63Gb 768

*В документации sentence transformers отмечается, что модели также дают неплохой результат для языков вне поддерживаемого списка.

Выравниватель

Чтобы любой мог сразу же поиграться с моделями и что-то сделать самостоятельно, эксперименты будем проводить в Colab’е, общедоступном jupyter блокноте. Все ссылки будут в конце статьи.

Нам понадобятся библиотеки для разбиения текстов на предложения и загрузки предобученных моделей. Установим их в нашу среду приступим к выравниванию.

!pip3 install razdel !pip3 install sentence-transformers

import re import seaborn as sns import numpy as np  from scipy import spatial from matplotlib import pyplot as plt  import razdel from sentence_transformers import SentenceTransformer

Предобработка

Итак, возьмем первую главу замечательного романа "Три товарища" в оригинале (1936 год) и в переводе И. Шрайбера и
Л. Яковленко (1959 год). Первым шагом будет разбить текст на предложения и посмотреть насколько сильно они отличаются по количеству. Так это просто сырые тексты из интернета, предварительно немного почистим текст. По предложениям текст разобъем razdel’ом (бывшая библиотека natasha), для немецкого языка такой способ тоже подойдет, если мы позаботимся о кавычках (в немецком языке они обратные — »«).

double_dash = re.compile(r'[--]+') quotes_de = re.compile(r'[»«]+')  ru = re.sub('\n', ' ', text_ru) ru = re.sub(double_dash, '—', ru)  de = re.sub('\n', ' ', text_de) de = re.sub(quotes_de, ' ', de)  sent_ru = list(x.text for x in razdel.sentenize(ru)) sent_de = list(x.text for x in razdel.sentenize(de))

Предложения на русском:

['Небо  было желтым, как латунь; его еще не закоптило  дымом.',  'За крышами фабрики оно светилось особенно сильно.',  'Вот—вот  должно было взойти солнце.',  'Я посмотрел на часы — еще  не было восьми.',  'Я пришел  на  четверть часа раньше обычного.',  'Я открыл  ворота  и подготовил насос бензиновой  колонки.',  'Всегда в это время уже подъезжали заправляться первые машины.',  'Вдруг за  своей спиной я услышал хриплое кряхтение,  — казалось, будто под  землей  проворачивают ржавый винт.',  'Я остановился  и прислушался.',  'Потом пошел через  двор  обратно в  мастерскую  и  осторожно  приоткрыл  дверь.']

И на немецком:

['Der Himmel war gelb wie Messing und noch nicht verqualmt vom Rauch der Schornsteine.',  'Hinter den Dächern der Fabrik leuchtete er sehr stark.',  'Die Sonne mußte gleich aufgehen.',  'Ich sah nach der Uhr.',  'Es war noch vor acht.',  'Eine Viertelstunde zu früh.',  'Ich schloß das Tor auf und machte die Benzinpumpe fertig.',  'Um diese Zeit kamen immer schon ein paar Wagen vorbei, die tanken wollten.',  'Plötzlich hörte ich hinter mir ein heiseres Krächzen, das klang, als ob unter der Erde ein rostiges Gewinde hochgedreht würde.',  'Ich blieb stehen und lauschte.']

По количеству их получилось 570 на русском против 561-го на немецком. Так как количество предложений различается не сильно, то скорее всего получится выровнять тексты с хорошим качеством.

Батчинг

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

def get_batch(iter1, iter2, batch_size):     l1 = len(iter1)     l2 = len(iter2)     k = int(round(batch_size * l2/l1))         kdx = 0 - k     for ndx in range(0, l1, batch_size):         kdx += k         yield iter1[ndx:min(ndx + n, l1)], iter2[kdx:min(kdx + k, l2)]

Эмбеддинги

В качестве модели возьмем sentence-transformers (distiluse-base-multilingual-cased), так как она поддерживает немецкий и русский языки, относительно немного весит (~500 Mb), и дает очень хорошие вектора.

model_st = SentenceTransformer('distiluse-base-multilingual-cased')

vectors1, vectors2 = [], []  for lines_ru_batch, lines_de_batch in get_batch(sent_ru, sent_de, batch_size):     batch_number += 1     vectors1 = [*vectors1, *model_st.encode(lines_de_batch)]     vectors2 = [*vectors2, *model_st.encode(lines_ru_batch)]

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

[array([-0.03442561,  0.02094117, ... ,  0.11265451])], dtype=float32)]

Близость

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

def get_sim_matrix(vec1, vec2, window=10):     sim_matrix=np.zeros((len(vec1), len(vec2)))     k = len(vec1)/len(vec2)     for i in range(len(vec1)):         for j in range(len(vec2)):             if (j*k > i-window) & (j*k < i+window):               sim = 1 - spatial.distance.cosine(vec1[i], vec2[j])               sim_matrix[i,j] = sim     return sim_matrix

sim_matrix = get_sim_matrix(vectors1, vectors2, window)

Визуализация

Посмотрим сначала на матрицу близостей для первых 50 строк. Красиво будет выглядеть heatmap, построеная через seaborn.

plt.figure(figsize=(12,10)) sns.heatmap(sim_matrix, cmap="Greens", vmin=threshold) plt.xlabel("russian", fontsize=18) plt.ylabel("chinese", fontsize=18) plt.show()

Aligning first 50 lines

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

Aligning first 50 lines (best fit)

А вот так для всего текста.

Aligning the whole text

Проблемы

Видим, что в некоторых местах модель не смогла сопоставить предложения, основные причины я вижу такие:

  • Литературный стиль. Так как выравниваемые тексты являются художественной литературой, то не удивительно, что есть пропуски, — как мы помним, модель обучалась на Википедии, common crawling’е и новостях, а не на литературных корпусах.
  • Авторский стиль. В текстах могут встречаться придуманные автором или устаревшие слова, также часто могут встречаться жаргонизмы и разговорная лексика (например, уборщица фрау Штосс в начале романа, икая, все время повторяет nich вмесо nicht).
  • Стиль переводчика. При переводе может не сохраняться синтаксическая структура, — одно предложение может быть переведено как два и наоборот. Это нормальная картина.
  • Имена собственные. Если имена Роберт, Готфрид, Отто и Патриция ещё куда ни шли, то фамилии Локамп, Ленц, Кёстер и Хольман модели сопоставить трудно. Все они "разбавляют" близость между векторами. Сюда же можно отнести любые редкие имена, названия организаций и географических объектов.
  • Особенности языка. У каждого языка есть свои "фишки". Немецкий язык известен своими склеивающимися словами и перескакивающими в конец приставками, зато порядок слов более-менее строгий. Русский очень богат морфологией, падежами (венгерский язык нервно засмеялся) и почти свободным порядком слов. В китайском нет пробелов и т.д.

Результат

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

Небо  было желтым, как латунь; его еще не закоптило  дымом. Der Himmel war gelb wie Messing und noch nicht verqualmt vom Rauch der Schornsteine.  >> similarity 0.8614717125892639   За крышами фабрики оно светилось особенно сильно. Hinter den Dächern der Fabrik leuchtete er sehr stark.  >> similarity 0.6654264330863953   Вот—вот  должно было взойти солнце. Die Sonne mußte gleich aufgehen.  >> similarity 0.7304455041885376   Я посмотрел на часы — еще  не было восьми. Ich sah nach der Uhr.  >> similarity 0.5894380807876587   Я посмотрел на часы — еще  не было восьми. Es war noch vor acht.  >> similarity 0.5892142057418823   Я пришел  на  четверть часа раньше обычного. Eine Viertelstunde zu früh.  >> similarity 0.6182181239128113   Я открыл  ворота  и подготовил насос бензиновой  колонки. Ich schloß das Tor auf und machte die Benzinpumpe fertig.  >> similarity 0.7467120289802551   Всегда в это время уже подъезжали заправляться первые машины. Um diese Zeit kamen immer schon ein paar Wagen vorbei, die tanken wollten.  >> similarity 0.5018423199653625   Вдруг за  своей спиной я услышал хриплое кряхтение,  — казалось, будто под  землей  проворачивают ржавый винт. Plötzlich hörte ich hinter mir ein heiseres Krächzen, das klang, als ob unter der Erde ein rostiges Gewinde hochgedreht würde.  >> similarity 0.6064425110816956   Я остановился  и прислушался. Ich blieb stehen und lauschte.  >> similarity 0.7030230760574341   Потом пошел через  двор  обратно в  мастерскую  и  осторожно  приоткрыл  дверь. Dann ging ich über den Hof zurück zur Werkstatt und machte vorsichtig die Tür auf.  >> similarity 0.7700499296188354   В полутемном помещении, спотыкаясь,  бродило  привидение. In dem halbdunklen Raum taumelte ein Gespenst umher.  >> similarity 0.7868185639381409 

Дальше

Мы получили неплохой результат, в следующий раз мы попытаемся его улучшить и попробуем выровнять текст с участием редкого языка, которого на текущий момент нет в данных моделях. Якутский? Чувашский? Предлагайте и до новых встреч!

[1] Поиграйтесь в Google Colab.

[2] Sentence Transformers.

[3] Universal Sentence Encoder.

[4] Language Agnostic BERT Sentence Encoder.

ссылка на оригинал статьи https://habr.com/ru/post/517226/

Дайджест событий для эйчаров и рекрутеров в IT на сентябрь 2020

В этом сентябре определенно есть, на что обратить внимание: в начале месяца нас ждут онлайн-митапы и вебинары о тенденциях найма, чат-ботах, сорсинге, а ближе к концу запланированы две основательные эйчар-конференции. Ну а гвоздем месяца станут вечера игры в HR-мафию, которые устраивает FriendWork, — очень уж интересный формат. Советую также заглянуть под спойлер, я собрала там события и обучающие программы более общей эйчар-тематики.

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


«Роботы для людей: тренды найма, адаптации и обучения» (онлайн-митап)

Когда: 1 сентября, 17:00
Условия участия: бесплатно
Организатор: Технопарк «Сколково»

Спикер митапа — Дмитрий Корнев, руководитель отдела по развитию бизнеса PIX Robotics. Выявляет проблемные места в бизнес-процессах компании и устраняет их с помощью комплексных IT-решений. Большой опыт проведения RPA-тренингов. Обладает степенью магистра по специальности «Управление проектами».

Темы для обсуждения:

  • Как роботизация изменила рынок труда и продолжает на него влиять?

  • Робот-кадровик «в деле»: какие функции найма лучше переложить на RPA?

  • Почему робот отбирает кандидатов более качественно?

  • Как сделать адаптацию в команде наиболее эффективной?

  • С помощью каких инструментов новичок сможет быстро влиться в коллектив и стать «своим».

  • Чем полезны роботы в делопроизводстве?

  • Как быстро обучиться навыкам работы с роботами, вместе с ними и при этом прокачать свои сильные качества.

Подробности и регистрация

«Чат-боты в рекрутменте — мифы и реальность» (вебинар)

Когда: 3 сентября, 10:00
Условия участия: бесплатно
Организатор: ВИЗАВИ Консалт

Об особенностях, сложностях, плюсах и минусах чат-ботов для подбора расскажут их разработчики и те, кто их уже внедрил в процессы компании.

В программе вебинара:

  • Скрининг кандидата режиме реального времени с помощью чат-бота XOR — Андрей Климов, XOR Россия.

  • Обзор трендов автоматизации рекрутинга в США и глобально и  эволюция чат-ботов — Аида Фазылова, XOR Россия.

  • Как чат-бот помогает сэкономить 4000 часов работы рекрутера — Ольга Зонова, MARS.

  • Найм без рекрутера: ожидания vs реальность — Элеонора Воробьева, СТД «Петрович».

Подробности и регистрация

«Играем в HR-мафию» (онлайн-митап)

Когда: 3, 10, 17 и 24 сентября, 18:45
Условия участия: бесплатно
Организатор: FriendWork

Каждый четверг в сентябре FriendWork приглашает эйчаров поиграть в «Мафию» с профессиональными ведущими.

Почему это полезно:

  • Игра применяется как инструмент при принятии серьезных управленческих решений, а также при массовом рекрутинге.

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

  • Это отличное решение для отделов продаж, Customer Service и руководителей разного уровня.

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

Подробности и регистрация

«Нюансы построения процесса сорсинга в компании» (вебинар)

Когда: 10 сентября, 17:00
Условия участия: бесплатно
Организатор: HURMA

Спикер — Денис Динкевич, один из авторов блога о сорсинге SourceCon и блога поискового инструмента AmazingHiring. Имеет 5 лет опыта в рекрутинге, три из которых он посвятил сорсингу. 

Темы вебинара:

  • Преимущества внедрения сорсинга в компании;

  • Market Research — как неотъемлемая часть процесса сорсинга + преимущества, которые может извлечь бизнес;

  • Процент соотношения рекрутеров и сорсеров в команде Talent Acquisition и особенности в распределении нагрузки между этими функциями;

  • Особенности работы с нанимающими командами;

  • Метрики эффективности сорсинга — процесс их внедрения и измерения на постоянной основе.

Подробности и регистрация

«DevRel на карантине: как строить сообщество онлайн» (воркшоп)

Когда: 15 сентября, 18:00
Условия участия: 3000 рублей (для физ.лиц) 5000 рублей (для юр.лиц)
Организатор: SPECIA

На воркшопе соберется профессиональная тусовка DevRel/EVP-специалистов, чтобы разобрать кейсы и вместе разработать концепции спецпроектов в области брендинга работодателя.

Каждая команда представит свою самую классную идею. Все они будут собраны в единый список рабочих решений и участники воркшопа получат:

  • готовую механику генерации идей,

  • список форматов, готовых к реализации,

  • фидбек от менторов по формату.

Подробности и регистрация

«HR-тренды 2020-2025» (онлайн-митап)

Когда: 17 сентября, 14:00
Условия участия: бесплатно
Организатор: FriendWork

На митапе речь пойдет об эйчар-трендах, которые будут актуальны ближайшие 5 лет в России, об изменении рынка труда, цифровой трансформации и переходе от управления человеческими ресурсами к управлению опытом сотрудника.

Спикеры:

  • Ильгиз Валинуров — известный хедхантер, автор книг по поиску персонала и управлению карьерой, доктор по управлению персоналом и преподаватель MBA. 

  • Александр Красс — эксперт по внедрению автоматизации подбора персонала, HR-аналитике, диджитализации и применению искусственного интеллекта в HR. ​

Подробности и регистрация

«Профессия IT-рекрутер» (онлайн-курс)

Когда: начало 17 сентября
Условия участия: 37 500 рублей
Организатор: GeekBrains

Трёхмесячный онлайн-курс для IT-рекрутеров, где вас погрузят в специфику рынка и расскажут, как искать идеальных кандидатов: от этапа снятия запроса с бизнеса до отправления оффера. А еще научат автоматизировать рутинные процессы.

Преподаватели курса:

  • Елена Ленсу — психотерапевт, бизнес-консультант, ex-HRD в Pravo.tech;

  • Алёна Фомюк — Senior Digital Recruiter Ситимобил;

  • Надежда Львова — HR Business Partner HR Mail.ru Group;

  • Дарья Мамлыгина — IT-рекрутер Додо ПиццаМария ПоповаHR-менеджер Mail.ru Group.

Подробности и регистрация

«MarHR 2020: фокус на эффективность» (онлайн-конференция)

Когда: 21-24 сентября, 10:00
Условия участия: бесплатно (онлайн-трансляция), 2500 рублей (+ доступ к материалам), 25 000 рублей (доступ на 5 человек для компаний)
Организатор: MarHR

Четыре дня инсайтов и реальных кейсов, 30 спикеров-экспертов в эйчаре и маркетинге.

Программа конференции:

  • День 1: Маркетинговая перезагрузка всех HR-направлений — PRO.people Recruitment Agency, DataArt, СИБУР.

  • День 2: Прокачиваем навыки MarHR в режиме онлайн — LAMODA, Sourcing School, DEYNEKINA HR&BA.

  • День 3: Только реальные кейсы и актуальные результаты — LessCode.design, VitaminP Agency, Спортмастер.

  • День 4: Просто о сложном. Личная эффективность без инфоцыганщины — Braininglab, «Истории в организациях».

Подробности и регистрация

«HR API» (конференция)

Когда: 24-26 сентября, 10:00
Условия участия: 20 000 рублей (для индивидуальных участников), 120 000 рублей (для компаний)
Организатор: IT Events, IT-Доминанта

HR API 2020 — это три дня докладов, лекций и воркшопов, лучшие эйчар-практики успешных ИТ компаний России.

Программа еще формируется, планируемые темы докладов:

  • Рекрутинг;

  • Мотивация;

  • Адаптация;

  • HR-брендинг;

  • C&B;

  • Конфликты;

  • Коммуникации;

  • Обучение;

  • Корпоративная культура;

  • Аттестация.

Подробности и регистрация

«Курс IT-Recruiter. Интенсив» (онлайн-курс)

Когда: начало 26 сентября
Условия участия: 35 990 рублей
Организатор: LevelUP

Курс разработан для тех, кто хочет начать заниматься подбором IT-специалистов. Программа состоит из технического и рекрутингового модулей.

В программе курса:

  • Что и как устроено в IT-сфере в целом. Где, и для чего используются те или иные языки программирования, технологии, фреймворки. Чем занимаются те, кого вам предстоит искать.

  • Как правильно снимать заявку и работать с нанимающим менеджером.

  • Как самостоятельно составлять вакансию со сложными техническими терминами.

  • Тонкости и лайфхаки поиска IT-специалистов разного уровня.

  • Приёмы поиска, о которых еще не написали в книгах.

  • Как правильно позиционировать компанию на высококонкурентном рынке IT.

  • Основы HR брендинга и HR аналитики.

Подробности и регистрация

Полезные эйчар-мероприятия и курсы

Об организаторах мероприятий:

  1. ВИЗАВИ Консалт — федеральная рекрутинговая сеть.

  2. Технопарк «Сколково» — услуги для инновационных российских компаний.

  3. FriendWork — онлайн-сервис для автоматизации рекрутинга.

  4. GeekBrains — образовательный портал, который помогает начать карьеру в digital с нуля.

  5. IT-Доминанта — рекрутинговое агентство, специализируется на поиске ИТ-специалистов.

  6. IT Events — площадка с анонсами конференций, митапов, хакатонов, тренингов, олимпиад, форумов в сфере ИТ.

  7. HURMA — HRIS/HRM-система

  8. Level UP — IT-образование В Санкт-Петербурге и удалённо.

  9. MarHR — проект, посвященный маркетингу в HR.

  10. SPECIA — содружество цифровых агентств Петербурга.

Если в этом выпуске вы не нашли события, которые пройдут в сентябре, пожалуйста, добавляйте их в комментарии. А если вы организуете мероприятия для эйчаров в ИТ и хотите, чтобы они появлялись в дайджестах Хабр Карьеры, то присылайте информацию мне на litvinenko@habr.team.

ссылка на оригинал статьи https://habr.com/ru/company/habr_career/blog/517224/