Содержание

динамическая сетка в Яндекс.Клавиатуре / Хабр

Нельзя быть полностью довольным своей клавиатурой. Кажется, абсолютное большинство людей недолюбливает этот инструмент и мечтает печатать быстрее. Особенно достаётся клавиатурам мобильных устройств: в набранных с их помощью текстах в два-три раза больше ошибок, чем при десктопном вводе. Неудивительно: попробуй попади с первого раза по всем нужным кнопкам, когда они такие маленькие и никак не отделены друг от друга тактильно. А если ещё и печатать на ходу?

На связи Антон Дворкович. Вы можете помнить меня по постам о тонкостях чувашского языка и технологиях машинного перевода. Почему сегодня я рассказываю о Клавиатуре? Потому что в её основе — технологии и опыт Яндекс.Переводчика. Именно они помогают пользователям меньше ошибаться и печатать быстрее.

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

Чуть-чуть предыстории

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

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

Подсказки и автокорректор

Когда-то давно подсказки Клавиатуры для исправления набранных слов базировались на опенсорсном компоненте из проекта AOSP. Работало шустро, просто, но не особо точно для русского языка. Затем с этой задачей пришли к нам — команде машинного перевода. На тот момент мы уже собрали внушительный Опечаточник для своих задач (снаружи он отчасти известен под названием Яндекс.Спеллер). Эта штука умеет предлагать вероятное продолжение слова, используя технологии машинного обучения. Звучит как готовое решение, но нет.

Мобильная версия накладывает много ограничений, в том числе на объём памяти и вычислительные мощности. Для масштаба: исходный Опечаточник — сервис на сотнях серверов, с тяжёлыми моделями и огромными базами данных. Для нас же было важно уместить всё на смартфоне, выполнять операции локально, не отправляя введённые символы на сервер. Чтобы всё это заработало, мы ужали модели до единиц мегабайт и ускорили их применение.

Понятно, что никакая локальная логика пока что не сравнится в качестве с серверной, поэтому мы решили дать возможность включить в настройках и «облачные» подсказки. Причём так, чтобы они работали, только когда пользователь подключён к Wi-Fi (экономим трафик и батарейку). Пришлось повозиться с HTTP/2, чтобы тормоза сети не приводили к тормозам подсказок. Всё работает бесшовно: если «дозвониться» до сервера за отведённое время (150 мс) не удалось, включатся локальные подсказки.

Свайп

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

Но не всё так просто. Поддержка свайпа далась нам с трудом. Первый подход и вовсе оказался неуспешным: кривые, сопоставленные словам, распределены не нормально (по Гауссу), а в общем-то очень хаотично, поэтому нужно применять хитрые модели, чтобы понимать намерения пользователей. В итоге мы добавили свайп в Яндекс.Клавиатуру, но для этого потребовалось собрать дополнительно около двух миллионов примеров с помощью Толоки. Мы даже начали экспериментировать с нейросетями, хотя в итоге победил старый добрый noisy channel.

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

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

Динамическая сетка

Эта идея основана на двух тезисах.

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

Во-вторых, если человек набирает «ПРИВЕ», то вряд ли следующим касанием он попытается нажать Ь. Мы можем незаметно изменить размеры хитбоксов букв так, чтобы у буквы Т площадь оказалась больше, чем у мягкого знака.

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

Следите за мягким знаком: при наборе слова «привет» ему соответствует совсем маленький участок. В слове «приятель» — существенно больший.

То же самое, но в динамике:

Каждый введённый символ подаётся на вход двум моделям.

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

Геометрической. Будем честны, мы не первые, кто догадался до этого, но мы нашли, что улучшить: используем более умные двухмерные гауссовы распределения для координат, параметризованные предыдущими нажатиями. Качественно это работает так: чем ближе координата нажатия к геометрическому центру клавиши, тем выше вероятность, что ошибки нет. И наоборот.

Чтобы обучить языковую модель, достаточно машинного обучения без учителя. Алгоритм сам распознаёт, какие слова и какие буквы чаще следуют друг за другом.

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

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

Но, несмотря на все преимущества динамической сетки, если хитбокс клавиши достиг 50% от изначальной «мощности», Клавиатура никогда не подменяет её. Это важно, чтобы у нас была возможность ввести любую букву. Кроме того, если стереть последнюю букву, заработает обычная сетка, не динамическая.

Заключение

С помощью динамической сетки удаётся исправлять около 60% промахов гладко и незаметно для пользователей. Как следствие, пользователи начинают считать, что это именно они наловчились так метко попадать в клавиши, и подвох замечают только при отключении Клавиатуры. Иногда это даже обидно 🙂

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

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

Как настроить постмастеры Mail, Yandex и Gmail

Учебные материалы

26 февраля 2020

Постмастер — это сервис статистики email-рассылок. Постмастер содержит информацию по количеству отправленных, доставленных, прочитанных, удаленных писем, попаданию в спам и показывает общую тенденцию рассылок.

Содержание

  • Подключение постмастера Mail.ru
  • Анализ статистики Mail.ru
  • Подключение постмастера Google
  • Анализ статистики Gmail.com
  • Подключение постмастера «Яндекс»
  • Резюме

Для мониторинга статистики настройте постмастер каждого почтового сервиса, который хотите отслеживать. Рассказываем, как настроить постмастеры Mail.ru, Google и «Яндекса» и обсудим частые ошибки.

Подключение постмастера Mail.ru

Постмастер покажет статистику отправок на email-адреса @mail.ru, @bk.ru, @list.ru и @inbox.ru.

Перейдите на сайт https://postmaster.mail.ru и введите ваш домен.

Чтобы подтвердить владение доменом, выберите один способ и передайте инструкцию администратору сайта. Можно:

  • разместить HTML-файл в корневой директории сайта;
  • разместить meta-тег в коде сайта;
  • добавить проверочную запись в DNS домена.

Примечание: при выборе подтверждения через DNS нужно некоторое время (как правило, до суток), чтобы внесенная запись обновилась.

Анализ статистики Mail.ru

На главной странице постмастера — статистика отправок по дням. Также можно переключиться в режим «За неделю» и «За месяц».

В колонках статистики:

  • Письма — количество отправленных писем.
  • Жалоб — сколько раз пользователи нажали «Это спам» в письмах.
  • Репутация — средний процент жалоб за последние 30 дней. Соответственно, чем ниже этот показатель, тем лучше.
  • Тенденция — сравнение среднего процента жалоб за последние семь дней по отношению к проценту за 30 дней. Если за месяц средний процент жалоб 0,20%, а за последнюю неделю показатель стал 0,25%, тенденция покажет рост на 25%.
  • Прочитано — количество открытых сообщений.
  • Удалено прочитанных — количество писем, которые пользователи удалили после открытия.
  • Удалено непрочитанных — количество писем, удаленных из списка сообщений, без открытия.
  • Доставлено — процент доставленных сообщений, а также сообщений, которые распознанных как спам.

Что значит желтый или красный постмастер

Если постмастер Mail.ru начал желтеть или краснеть, значит возникли проблемы с отправляемыми письмами.

  • Желтый постмастер — Возможно спам — количество писем, доставленных в папку «Спам».
  • Красный постмастер — Точно спам — количество писем, не принятых серверами Mail.ru. В ответ на такие письма приходит письмо с ошибкой 550 spam message discarded.

Возможные причины отклонений по спаму:

  • Жалобы пользователей — много нажатий «Это спам».
  • Содержимое письма оценено как спам автоматическими фильтрами почтового сервиса.
  • Проблемы с самим письмом — нерабочая ссылка отписки, отсутствие цифровых подписей и другие технические недоработки.

Если все письма уходят в спам, а причина непонятна, обратитесь в Mail.ru с заявкой. Решение проблемы занимает одну-две недели.

Чтобы посмотреть, какие конкретно письма попадают в спам, перейдите в раздел «Письма»: там показана статистика писем в разрезе. Однако это возможно, если сервис передает специальные технические заголовки в письмах — в Mindbox это предусмотрено.

Просмотр статистики по доставляемости в разрезе писем. В примере видны письма, отклоненные как спам

Интересен раздел «Графики» — посмотрите изменение показателей во времени.

Дополнительно о постмастере Mail.ru читайте в официальной справке.

Подключение постмастера Google

Постмастер показывает статистику отправок на email-адреса @gmail.com. Войдите в аккаунт Google, перейдите на сайт https://postmaster.google.com/ и введите ваш домен.

Подтвердить домен в Google можно двумя способами: внести DNS-записи типа TXT или типа CNAME.

Запись для внесения передайте системному администратору.

Примечание: Информация в Google Postmaster Tools появляется не сразу, а когда накопился достаточный объем (сотни записей) об отправках. Для обновления DNS-записей нужно некоторое время.

Анализ статистики Gmail.com

Постмастер Gmail. com предоставляет несколько инструментов для анализа репутации отправителя. Самые полезные для маркетолога — доля попаданий в спам и репутация домена.

Раздел «Доля попаданий в спам»

Здесь хранится информация о том, какой процент отправленных email-сообщений пользователи отметили как спам. В разделе не учитываются автоматически отклоненные сервисом письма.

Разделы «Репутация домена» и «Репутация IP»

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

График репутации домена в Google Postmaster Tools

Этот график оценивает вероятность попадания писем в спам по причине жалоб клиентов и автофильтрации спама Gmail.

  • Хорошая репутация: отправитель не нарушает правила отправки рассылок Gmail. Вероятность попадания в спам — низкая.
  • Удовлетворительная репутация: основная часть писем не отмечена спамом, но спам зафиксирован. Большая часть писем попадает во входящие, но при увеличении количества жалоб процент попадания в спам вырастет.
  • Не очень хорошая репутация: новые письма иногда попадают в спам, потому что старые в большом количестве отмечены спамом.
  • Плохая репутация: большое количество постоянного спама — при такой репутации письма или будут отклонены сервером при отправке, или попадут в спам.
График репутации IP в Google Postmaster Tools

Если репутация упала до плохой, то в разделе «Сбои доставки» график покажет, что часть сообщений отклоняется, так и не попав в почтовый ящик получателя.

График ошибок доставки в Google Postmaster Tools

Дополнительно о постмастере Google читайте в справке.

Подключение постмастера «Яндекс»

Яндекс прекратил поддержку сервиса «Постмастер». Получить информацию о доставляемости на почты @yandex.ru больше нельзя.

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

На странице сбора статистики видна репутация по каждому домену в целом и по отдельному письму.

Что означают цвета в статистике постмастера Яндекс

  • Зеленый цвет — процент прочитанных писем.
  • Серый цвет — процент непрочитанных писем, которые лежат во входящих.
  • Желтый цвет — процент удаленных писем.
  • Красный цвет — процент писем, отправленных пользователями в спам.

Резюме

Постмастер — инструмент, с помощью которого email-маркетолог получает информацию о доставке писем и попаданиях в спам «из первых рук» почтовых сервисов.

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

Возможности Mindbox для самостоятельной настройки email-рассылок

Почитайте ещё:

  • Как настроить аватар email-отправителя компании
  • Подробнее о платформе клиентских данных
  • Трансформация бренда 12storeez: омниканальная программа лояльности с охватом 89% клиентов в офлайне
  • Кейсы клиентов Mindbox

yandex-dictionary-english-russian — Googlesuche

AlleBilderVideosBücherMapsNewsShopping

suchoptionen

Англо-Русский онлайн переводчик и словарь

Англо-русский онлайн переводчик и словарь

и обратно, англо-русский словарь с транскрипцией, произношением и примерами употребления.

Яндекс.

yandex – перевод на русский с английского

www.online-translator.com › перевод › английский-русский › yandex

перевод слова «яндекс» с английского на русский от ПРОМТ, Яндекс. деньги, транскрипция, произношение, примеры перевода, грамматика, онлайн-переводчик …

Яндекс Переводчик в App Store

apps.apple.com › app › yandex-translate

Bewertung 4,8

(119) · Костенлос · iOS

Яндекс.Переводчик. Бесплатный переводчик, который может работать в автономном режиме и переводить текст с фотографий. • Перевод между любой парой 90 языков, когда вы онлайн.

RUSSIAN SEARCH ENGINE — Перевод на русский — bab.la

en.bab.la › словарь › англо-русский › russian-search-engine

Перевод ‘Russian search engine’ в бесплатном англо-русском словаре и многие другие русские переводы.

Яндекс вводит функцию автоматического дублирования видео с английского на русский

www. ewdn.com › 27.09.2021 › yandex-introduces-… YouTube и практически любой другой сервис с помощью автоматического дублирования англо-русским переводом.

Перевод «Яндекс» на русский — Glosbe Dictionary

glosbe.com › Англо-русский словарь

«Яндекс» в англо-русском словаре · Автоматические переводы «Яндекс» на русский · Изображения с «Яндекс» · Переводы «Яндекса» на русский в …

Yandex Translate — Apps on Google Play

play.google.com › магазин › приложения › подробности › id=ru.yan…

Bewertung 4,4

(220.156) · Костенлос · Android

Переводите между любой парой из 100 языков, когда вы в сети. • Переводить с французского, немецкого, итальянского, русского, испанского или турецкого на английский, пока …

Переводить с английского на русский — Cambridge Dictionary

Dictionary.cambridge.org › словарь › english-russ…

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

Онлайн-перевод документов на русский и другие языки – Яндекс. … Русско-английский онлайн переводчик и словарь Сообщить об ошибке Яндекс.

Является ли Yandex Translate или Google Translate более точным для английского языка…

www.quora.com › Является ли Yandex-Translate-or-Google-Translate-более точным…

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

ähnliche shanfragen

Российский английский

Google Translate

Google Translate Russian на английский

Yandex Translate

Russian Translator

YANDEX TRANSLATION

0.000000

0.000000

000000000000000000000000000000000000000000000000010000. ПРЕДПОРТИВАНИЕ ПРЕДУПРЕЖДЕНИЕ. Грамматика, проверка стиля

TL; DR

Наиболее полезными на данный момент являются aspell и proselint. Оба могут терпеть уценку.

 файл проверки правописания/путь.md
файл proselint/path.md
 

Программное обеспечение может быть полезным, но не забывайте о старых добрых книгах. Классическая книга на эту тему — «Элементы стиля» Уильяма Странка-младшего. TODO: переиздать с помощью gitbook.

Недавняя находка: грамматически.

TODO: проверить те:

 записать-хороший файл/path.md
файл yaspeller/path.md
 

LanguageTool

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

Написано на Java . Имеет плагины: LibreOffice, OpenOffice, Firefox, Chrome. Имеет версию для командной строки. Может быть интегрирован в другие программы. Имеет онлайн-версию.

Возможна установка с помощью «homebrew».

After The Deadline

After The Deadline — это интеллектуальный сервер проверки языка, созданный для масштабирования. Открытый исходный код, доступный в виде онлайн-сервиса и инструмента командной строки. Написано на Java .

Возможна установка с помощью «homebrew»

Retext

retext — это расширяемый процессор естественного языка с поддержкой нескольких языков. Retext предоставляет подключаемую систему для анализа и управления естественным языком в JavaScript. узел и браузер. 100% покрытие.

Вместо универсальной библиотеки для обработки естественного языка (например, NLTK или OpenNLP), ретекст призван быть полезным для более практических случаев использования (таких как проверка для нечувствительных слов или расшифровки смайлики) вместо более академического цели (цели исследования). retext по своей сути является модульным — он использует плагины (похожие на mdast для уценки) вместо предоставления все из коробки (например, Естественный). Это делает ретекстов а жизнеспособный инструмент для использования в Интернете.

Написано на JavaScript . Имеет интерфейс командной строки.

Алекс

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

Написано на JavaScript .

write good

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

Написано на JavaScript . Имеет интерфейс командной строки.

gingerice

= https://github.com/subosito/gingerice

Автокорректоры типографики

Textr

Textr — это простой фреймворк для создания функций преобразования текста.

Написано на JavaScript . Имеет плагин PostHTML.

Typeset

Typeset — это препроцессор HTML для веб-типографики. Он не использует JavaScript на стороне клиента, но дает вам висячую пунктуацию, вставку мягкого дефиса, оптические выступы полей, преобразование малых заглавных букв и замену пунктуации.

Написано на JavaScript .

eyo

eyo Восстановление буквы «ё» (йо) в русских текстах.

Написано в JavaScript .

typograf

typograf проверка типографики и автокорректор для русских текстов.

Написано на JavaScript .

Typogruby

Typogruby улучшите свою веб-типографику с помощью простого Ruby gem

Truty

Truty простой конвертер строк, цель которого исправить все несовершенства типографики простого текста.

Другие ссылки

  • https://github.com/typograf/links
  • http://practicaltypography.com/typewriter-habits.html

Онлайн-сервисы (собственные)

yaspeller: CLI для API Яндекс.Speller

Поиск yaspeller опечатки в тексте, файлах и на сайтах. Используйте API Яндекс.Спеллера.

Написано на JavaScript . Имеет интерфейс командной строки.

Gitbook

Редактор Gitbook обеспечивает коррекцию текста

Редактор Hemingway

Редактор Hemingway делает ваш текст ярким и ясным. Вставьте текст и посмотрите, где вы можете упростить свою прозу.

Главред

Главред — проверка стиля для русских текстов. Подходит для рекламы, новостей, статей, сайтов, инструкций, писем и коммерческих предложений. Плохо для поэзии, литературы.

typograf

typograf — проверка типографики для русских текстов.

См. также сравнение средств проверки типографики

Публикации

  • http://academicguides.waldenu.edu/writingcenter/publication
  • http://www.danielnaber.de/languagetool/download/style_and_grammar_checker.pdf
  • http://aclweb.org/anthology/W/W10/W10-0404.pdf
  • https://www.