11 июня 2016

На правах оффтопа. Эволюция экранных клавиатур

О прошлом и будущем экранных клавиатур, проекте SwiftKey Neural Alpha, новой системе предиктивного ввода текста и нейронных сетях…

SwiftKey_Neural_Alpha-18

Развитие экранных клавиатур

К смартфонам с сенсорными экранами я первое время относился с изрядной долей скепсиса. В первую очередь – из-за экранных клавиатур, которые (как мне тогда казалось) серьезно уступали в удобстве не только полноценным qwerty-слайдерам и моноблокам, но даже обычному блоку цифровых клавиш с Т9. Так что впервые я рискнул купить подобный аппарат только к моменту появления смартфонов на Android с емкостными экранами.

Первое впечатление от клавиатуры HTC Desire я помню до сих пор – это был лютый восторг. На ней действительно можно было комфортно набирать текст, и тогда это казалось практически чудом. Примерно в том же духе об экранных клавиатурах Android \ iOS в то время отзывалось большинство журналистов, а удобству ввода текста на смартфонах в обзорах часто посвящали отдельный раздел.

Впрочем, эйфория прошла достаточно быстро. Дело в том, что смартфоны на Symbian я довольно редко использовал для работы или какой-то серьезной переписки. Когда деваться было совсем некуда, мог ответить на письмо или отредактировать документ, но это было скорее исключением из правил. В основном же вся переписка сводилась к коротким SMS или общению с друзьями в ICQ.

В эпоху Android все стало иначе. Большие сенсорные экраны, поддержка Wi-Fi, хороший выбор программного обеспечения и прочие приятные моменты привели к тому, что смартфон из функциональной звонилки превратился в настоящий мини-компьютер. Соответственно, и печатать пришлось куда больше – рабочая и личная почта, серфинг в интернете, социальные сети и форумы, заметки, документы и много чего еще. И вот тут-то и оказалось, что стандартная экранная клавиатура далеко не идеальна и уже хочется чего-то большего. Слишком медленная скорость печати, слишком много опечаток во время набора текста при тряске в транспорте или на ходу, слишком маленький набор слов в предустановленном словаре и так далее.

SwiftKey_Neural_Alpha-15

Большую роль в развитии экранных клавиатур сыграл сам Android, который допускал их замену на сторонние решения из Google Play (в те времена — Android Market). Не знаю, насколько активно этим вопросом занялись бы производители смартфонов (глядя на Apple, подозреваю что не очень), но сторонние разработчики софта взялись за экранные клавиатуры всерьез.

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

Собственно, именно сам создатель режима Т9 и совершил следующую революцию в наборе текста, представив миру безотрывный способ ввода, больше известный как Swype. С помощью одноименной клавиатуры в 2010 году был установлен рекорд Гиннесса по самому быстрому набору текста на телефоне с сенсорным экраном. Тогда фраза «The razor-toothed piranhas of the genera Serrasalmus and Pygocentrus are the most ferocious freshwater fish in the world. In reality they seldom attack a human» была напечатана всего за 35,54 секунды. В наше время аналогичный метод ввода поддерживает большинство остальных клавиатур, хотя чисто субъективно в этом вопросе Swype все равно остается лидером.

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

Шило на мыло

На данный момент я пользуюсь клавиатурой SwiftKey, но пару раз в год открываю Google Play и смотрю какие еще появились интересные варианты. Вдруг за это время появилась какая-то новая клавиатура, которая еще на шаг-другой ближе к недостижимому идеалу? Судя по всему, в этом я не одинок, во всяком случае недавно о похожих метаниях рассказал Артем Лутфуллин.

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

Беда пришла откуда не ждали – так получилось, что несколько дней мне пришлось много переписываться на английском. Основных проблем здесь было две. Во-первых, мой уровень английского вообще оставляет желать лучшего. Хотя читаю я на нем довольно свободно, разговаривать и печатать на этом языке мне намного сложнее. А во-вторых, для клавиатуры отсутствует тот самый пользовательский словарь, который так облегчал набор текста со смартфона на русском языке. Учитывая, что я еще и печатаю с кучей ошибок и не всегда помню, как правильно пишутся какие-то английские слова, получается совсем грустно.

SwiftKey Neural Alpha

О проекте SwiftKey Neural Alpha я слышал давно, но вот самому протестировать эту клавиатуру руки не доходили. И, скорее всего, еще долго бы не дошли — поддержки русского языка там до сих пор нет, а много печатать на английском мне раньше просто не было нужды. А тут заодно решил разобраться, что это такое и с чем это едят.

Еще в 2010 году, когда вышла первая версия классической клавиатуры SwiftKey с поддержкой режима предугадывания слов (после ввода пробела клавиатура предлагала на выбор три варианта следующего слова) разработчики стали думать, как можно его усовершенствовать. Пять лет спустя на свет вышла альфа версия клавиатуры SwiftKey Neural, которая работала по совершенно новому принципу.

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

SwiftKey_Neural_Alpha-17

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

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

SwiftKey_Neural_Alpha-16

Что все это означает на практике? Мне лично набирать текст на SwiftKey Neural Alpha оказалось в разы комфортнее, чем на классической SwiftKey. Neural Alpha действительно подсказывает слова, которые уместны в этом предложении, в то время как SwiftKey пытается вспомнить какие слова вообще начинаются с этой последовательности букв. В моем конкретном случае это не только сильно облегчило набор текста, но и заметно увеличило скорость печати, что при общении в чате крайне важно. Пару раз вообще доходило до смешного, когда клавиатура сама подсказывала мне слово, которое я никак не мог вспомнить. И пусть на данный момент на революцию это не тянет (да и речь ведь только о ранней альфа-версии), Neural Alpha – штука довольно любопытная. И как минимум еще один шаг вперед.

SwiftKey_Neural_Alpha-14 SwiftKey_Neural_Alpha-13

SwiftKey_Neural_Alpha-10 SwiftKey_Neural_Alpha-09

SwiftKey_Neural_Alpha-12 SwiftKey_Neural_Alpha-11

На скриншотах ниже приведу несколько простых примеров. На первом скриншоте классическая клавиатура SwiftKey, на втором — SwiftKey Neural Alpha.

SwiftKey_Neural_Alpha-08 SwiftKey_Neural_Alpha-07

SwiftKey_Neural_Alpha-05 SwiftKey_Neural_Alpha-06

SwiftKey_Neural_Alpha-03 SwiftKey_Neural_Alpha-04

SwiftKey_Neural_Alpha-01 SwiftKey_Neural_Alpha-02

Разумеется, это только первое впечатление. И вполне допускаю, что, если бы я печатал на английском чаще (то есть если бы кроме названий компаний и англоязычных терминов SwiftKey внесла в мой личный словарь что-то еще) и допускал меньше грамматических ошибок в словах, разница могла бы быть заметно меньше. Но даже в этом случае классическая клавиатура без зазрения совести предлагала бы мне начать письмо со слов «Good morning Evernote!» вместо «Good morning everyone!» или незаметно исправляла опечатку таким образом, что все предложение полностью теряло смысл.

Одно я знаю точно – как только у SwiftKey Neural Alpha появится поддержка русского языка, я тут же поставлю ее себе на постоянной основе. Даже с учетом статуса ранней альфы. Вот только когда это произойдет – загадка, тем более, что с точки зрения предугадывания слов русский язык явно сложнее. Падежи, суффиксы, глаголы мужского и женского рода и прочие «мелочи» могут стать для SwiftKey Neural Alpha сущим кошмаром. Но надеюсь, что разработчики и с этим как-нибудь разберутся.


Читайте также

63 комментария на «“На правах оффтопа. Эволюция экранных клавиатур”»

  1. BANanovedis Vulgaris:

    чет зачастили на сайте статейки про клавиатуры…..

    • TimeS:

      Популярная штука, что вы хотели. Помню когда-то у всех на уме только Smart Keyboard была (русская раскладка в четыре ряда и все такое прочее), потом случилась массовая истерика по поводу Swype (увы, я так толком и не проникся), сейчас у большей части коллег знакомых либо сток либо SwiftKey.

      А вообще обзоров клавиатур тут было навалом, но ИМХО сейчас каждый уже нашел для себя что хотел и просто так с этого «чего-то» не слезет

    • Floyd Flops:

      на самом деле интересно.
      я хоть и остановился на гугл клаве, но к другим все же присматриваюсь.

  2. Philip Kruglikov:

    а когда уже нормальный голосовой ввод текста введут повсеместно?

    • Нищеброд:

      Этак мы писать разучимся. И вернуться времена боянов. Которые с гуслями.

    • TimeS:

      Так вроде он и сейчас вполне ничего. Вот только не знаю как вы, а им им могу пользоваться хорошо если в 3-2% случаев, в остальных это просто не удобно

  3. Andrey Tsybiskin:

    Использую стандартную гугловскую. Более чем достаточно.

    • Ктулху Триединый:

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

  4. Floyd Flops:

    >>создатель режима Т9 и совершил революцию представив миру Swype

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

    • Нищеброд:

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

  5. Alex:

    На meizu уже есть встроенная клавиатура TouchPal, также предсказывает будущие слова, а если присоединится к облаку то и самообучается, но пользоваться облаком стоит вроде 4 бакинских в год.

    • Нищеброд:

      TouchPal давнишняя клава. Впервые ею пользовался на Sharp SH530U(тоже была встроенной). Сейчас скурвилась рекламой.

    • TimeS:

      Самообучение как таковое уже много лет есть, но оно работает по другой схеме. Грубо говоря клавиатура запоминает словосочетания из 2-3 слов, но никак их не анализирует. Напишите пару раз «встретимся в понедельник» и после слова «встретимся» она всегда будет предлагать вам написать «понедельник». Словосочетанию «встретимся во вторник» вам надо учить ее заново, так как иначе вместо «вторник» она будет предлагать вам предлагать другие слова на «в» — «втулку», «воздух» и «возмущение»… особенно, если вы их часто употребляете в других случаях. Это если грубо.

      Neural Alpha в этой же ситуации поймет что слово «понедельник» может быть заменено на слова «вторник» и «среда» так как они относятся к одной категории и используются в схожих ситуациях. А вот «втулка» тут не уместна ибо никакой связи с «понедельником» у нее нет.

  6. Dmitry Sizonov:

    Вот когда у нового SwiftKey появится русский язык, тогда и посмотрим. Дизайн стандартный, а вот как работает предсказывание — сможем увидеть, видимо, позже.

    • Fraky:

      на смарте давно SwiftKey Beta — все хорошо с русским паком, и предсказания там в порядке, на англиском лучше, но и на русском хорошо.
      Один минус — свайпы все же лучше Google keyboard понимает, если надо на русском «жестами» вводить.

  7. Бог Прошутто:

    Автоматизация это, конечно, хорошо, только, какого то лешего, её начали делать неотключаемой. В своё время намучился с этим SwiftKey, который регулярно лез со своими автоматическими исправлениями куда не надо. Сейчас TouchPal тоже периодически начинает мешаться (и это не считая постоянных попыток вылезти в интернет и периодически начинающийся жор аккумулятора). В общем проблема в клавиатурах та же, что и в большинстве современного софта — упор идёт на всякие фишечки, свистелки и перделки, в ущерб основной функции.
    Плюс печалит ситуация с русскими словарями — они, как правило, довльно убогие (что поделать, если единого, общедоступного словаря, который могли бы использовать разработчики, в этой стране не существует). Плюс в них стойко игнорируется буква ё. Причём с таким упорством, что даже если удалить из словаря слово с написанием через е, и добавить его же, только с ё, клавиатура один фиг, при наборе свайпом, будет вводить через е, а для ё надо дополнительно переключаться на соответствующий вариант. АРРРРРРР.

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

    • TimeS:

      > намучился с этим SwiftKey, который регулярно лез со своими автоматическими исправлениями

      Там же просто галочку можно снять (автоисправление после нажатия пробела) или мы о разном говорим?

      • Бог Прошутто:

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

        • 13th:

          зачем избавляться от нужных по типографике пробелов? вы так экономите, общаясь через смс (напомню, сейчас 2016, есть куча мессенджеров)? что вы делаете с сэкономленными миллиардами?

          • Бог Прошутто:

            Попробуй ввести хотя-бы троеточие в таком режиме.

            • Андрей Землянский:

              Сейчас специально попробовал ввести многоточие, всё отлично работает. Принцип такой: не стирай пробел, который программа ставит после точки, а просто нажимай точку ещё раз …….. Вот, например, я поставил многоточие

              • Ктулху Триединый:

                Да, поставили, но между многоточием и словом у вас нарисовался пробел, что есть совсем не правильно.

            • 13th:

              только что проверил, ставлю 3 точки после слова, уже на первой пробел убирается и более не появляется.

          • Foug Atto:

            Затем, что иногда после слов нужен не пробел, а знак препинания. Удивительно, правда?

            • 13th:

              на swiftkey пробел автоматически убирается после ввода знака препинания. слово_ > слово_. > слово.

  8. Zoltan:

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

  9. Егор:

    У блэкберри же она точно так же работает разве нет?

  10. Pacific Light:

    Сорри, но SwiftKey – это высшей пробы гавно, по той простой причине, что там нет НИ КАКОГО инструмента для работы с буфером обмена (вставкой/выделением/вырезанием и т. п.) Например, в TouchPal всё аналогично, но плюс очень удобная реализация редактирования текста с буфером обмена. Да, и кстати – вторая статья за непродолжительное время, повещённая одной клаве – это весьма дурно попахивает ангажированностью авторов.

    • Bart Simpson:

      Плюсану! Если бы не реклама в Тач Пал торчащая из всех дырок-была бы лучшая. А так-юзаю моды Гугл и очень доволен. Легкая, предугадывание полное, все знаки на клаве, отдельная строка цифр-песня.
      И да! Как то хвалить одно и то же по два раза в месяц-плохая услуга разрабам)))

      • Pacific Light:

        Я на любых приложениях давно не заморачиваюсь на рекламу:
        1. У меня стоит фаервол, в нём отключаю доступ в инет для подобных прог.
        2. Так же установлен Titanium Backup – в нём есть удивительный пункт: отвязать приложение от Google Play.
        И, вуаля, у меня ни одно приложение не показывает рекламу )))

        • Bart Simpson:

          Да,все это конечно спасает,но портит общее восприятие от продукта отбивает охоту его пользовать.
          И еще: я совершенно не против заплатить за программу (что и делаю постоянно).Но платить «аренду» за клавиатуру-это уже перебор.
          Это еще одна причина отказа от ТачПала.

    • TouchPal гораздо хуже угадывает, когда барабанишь по клавиатуре двумся пальцами, как минимум. А какие инструменты для работы с буфером обмена вы имеете в виду? Я как-то всегда пользовался стандартными копировать/вставить.

  11. V_Alex:

    Автор, если мне память не изменяет, на symbian swype появился раньше, чем на андроид, посему читать дальше не стал.

  12. Giorgio:

    Я всё жду, когда Микрософт наконец-то свою круглую клавиатуру WordFlow, на Android притащит. Уж очень интересно выглядит и думаю удобно. В конце-концов, как мне кажется, это самое интересное, что смогла родить эта компания со времён Win7.

  13. Bart Simpson:

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

    • Можно использовать свайп от кнопки с точкой: вправо для вопросительного знака, влево для восклицательного.

      • Bart Simpson:

        Не, ну не гениально!(сарказм)
        Зачем!?Есть свободные кнопки!Зачем свайп на ровном месте?

  14. Чешир(Маргинал Люмиавод II):

    Любите сторонние клавиатуры?
    Ну ну)
    «Специалисты компании Pentest опубликовали подробный отчет, посвященный «дополнительному» функционалу популярного Android-приложения Flash Keyboard. По некоторым данным, клавиатура была загружена более 50 млн раз. Как утверждают исследователи, программа отслеживает поведение пользователей и отправляет их на серверы в Китае, внедряет потенциально вредоносную рекламу, а также запрашивает подозрительно высокие привилегии для обычного приложения.

    В частности, программа запрашивает разрешение на доступ к камере устройства, оповещениям почтовой системы, локационным данным GPS и Wi-Fi, а также на замену установленного по умолчанию экрана блокировки на дисплей со встроенной рекламой, удаление фоновых процессов (обычно запрашивается антивирусными решениями).

    Flash Keyboard собирает и отправляет пользовательскую информацию на серверы, расположенные в США, Китае и Нидерландах. Данные включают сведения о производителе и модели устройства, IMEI, MAC-адрес, адрес электронной почты владельца устройства, версию ОС, GPS-координаты (с точностью до 1-3 метров) и подробности о любых прокси, используемых гаджетом.

    Исследователи Pentest попытались связаться с разработчиками приложения, но безуспешно. В начале недели приложение Flash Keyboard было удалено из Google App Store, однако на его месте появилось подобная программа от того же разработчика.»

    • Ams@:

      И из этих более 50 миллионов ни одного не напрягли разрешения требуемые клавой? Ну значит народ жевал и требовал добавки. Сам.

    • TimeS:

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

  15. Mr.Robot:

    В Swype всё это есть по умолчанию))

  16. Andrey Kotelnikov:

    Долго пользовался google keyboard, был более-менее доволен, но достало то, что на моём не самом мощном и современном телефоне она очень тормозила. Долго запускалась, долго переключала языки. Стал искать замену, нашёл этот swift, поставил. Поначалу даже обрадовался — есть отдельный цифровой ряд, символы удобнее вводятся. Но вскоре понял, что свайп-ввод у этой клавиатуры просто на порядок хуже, чем у гугловской. Той я мог набирать текст на ходу, держа телефон одной рукой, и всё получалась очень даже неплохо, а тут — слов знает мало, свайпы распознаёт как-то ненадёжно, очень точно надо в буквы попадать, что ли. Потом привык, пополнил словарь, смирился, но всё равно постоянно спотыкался об это кривое распознавание. В итоге решил на днях посмотреть, может гуглоклава за эти несколько месяцев обновилась и так не тормозит? И о чудо, то ли она обновилась, то ли я, может, снёс что-то, что ей мешало, но пока ничего не тормозит, и главное, как же прекрасно у неё работает свайп. Ощущение такое, как будто я долго шёл по тонкому скользкому льду, и вот наконец встал на твердый, шершавый асфальт. Набираю сейчас это, и периодически чувствую внутреннюю готовность, что сейчас слово распознается неправильно, придется его стереть и набрать по буквам, а оно раз, и распознаётся правильно. Не понимаю только, почему бы гуглу не сделать отдельный цифровой ряд, удобно же.

  17. Aleks:

    После последнего обновления Гугл клава стала великолепна, особенно понравилась возможность выделять свайпом от кнопки «удалить» слова и удалять их, появилось возможность ставить подложку фон….А по поводу предугадывания слов…автор на знает о клаве Блэкбери??)) И сейчас ее можно на Андроид установить

    • Alexandr Shk:

      вау! офигенный жест, спасибо
      еще есть?

      • Maxigami:

        По пробелу возить туда-сюда — есть перемещение курсора внутри текстового поля

      • Педант:

        Список изменений можно в Play Market в описании приложения посмотреть (зеленый фон).

    • Часто удаляете слова целиком, заранее не знаете,что пишете?

    • Педант:

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

  18. Дмитрий Донской:

    Ибашу на стоковой HTCшной клаве в раскладке «телефонная» так, шо аж гай шумит!!!))))

  19. Pavel:

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

  20. Юрій Андрашко:

    3 года тому купил Свайп, с тех пор пользуюсь. Уже запомнила все слова и словосочетания которые употребляю.
    Очень нравиться что можно сразу писать на 2 языках без переключения (русском и украиснком)

  21. Filipp:

    TouchPal с её запоминанием буфера обмена — лучшая
    только реклама смущает иногда

    • TimeS:

      Вроде в SwiftKey Beta тоже что-то подобное есть, но я не проверял, так как мне самому оно не нужно

    • Alexander Uljanov:

      Cогласен самая удобная и с отличным предсказанием TouchPal. Но не пользуюсь ей уже 3 месяца, после того как она стала сплошным рекламным банером со всяким adware по типу что ты делал за день?

  22. Demitriy:

    Это да, раньше всё имело объём, сейчас более плоское, и устройства тоже становятся более плоскими, bluboo maya яркий пример