Со дня появления Windows Phone 7 прозвучало много комплиментов в адрес ее виртуальной клавиатуры, системы «умных» подсказок и исправлений. Engadget назвал ее «одной из лучших и самой точной виртуальной клавиатурой, которую мы пробовали на любой из платформ». Gizmodo утвредлил: «The keyboard is boss». Даже New York Times оценили «умные подсказки».
В Windows Phone 8 разработчики поставили своей целью сделать клавиатуру еще более интуитивной, точной и индивидуальной. В этой статье мы бы хотели рассказать об улучшениях, которые попали в последний релиз, и объяснить некоторые механизмы, обеспечивающие предиктивную технологию, вызывающую обширный интерес.
Представляем Word Flow
В среднем пользователи печатают от 20 до 30 сообщений в день с помощью телефонов – за год выходит более 10 000. Конечно же, они делают достаточно много ошибок – согласно исследованиям коллег из Microsoft, примерно в каждом третьем слове. В Windows Phone 8 появилась система Word Flow – улучшенная и переименованная версия функции Quick Correct, знакомой по Windows Phone 7.5. Она помогает предвращать опечатки, на исправление которых тратится время, и позволяет сконцентрироваться на действительно важном – общении с близкими людьми.
World Flow проектировалась так, чтобы соответствовать тому, как обычные люди разговаривают друг с другом – и она знает все, включая последние веяния поп-культуры и сленг. Работая над Word Flow, разработчики переработали массив из 2.5 миллиардов английских слов из всевозможных источников – словарей и Интернета. К сожалению, место в телефоне ограничено, поэтому для коррекции и подсказок Word Flow отобрали 600 000 наиболее распространенных слов и фраз, которые люди используют чаще всего.
В результате, уже из коробки система автоисправлений Windows Phone точна на 94%. Но у каждого из нас свой стиль общения, поэтому в Word Flow заложена система обучения, которая исследует ваши коммуникативные привычки и то, о чем именно вы пишете.
Как это работает
Создание хорошей клавиатуры – это непростая задача. Мы все видели, как смартфоны допускали раздражающе глупые исправления. За доказательствами ходить не нужно – достаточно посмотреть сайт Damn You Autocorrect или вспомнить многочисленные картинки в соцсетях.
Для того, чтобы избежать участи звезды подобных сайтов, Windows Phone должен знать множество слов и понимать, что именно вы набираете. Поэтому в нем встроен виртуальный словарь, схожий с томиком Ожегова или Даля на вашей полке. Впрочем, между ними есть одно ключевое отличие – в словаре Windows Pone содержатся не только слова, но и то, как часто они используются людьми на их мобильных телефонах.
Для примера, представим как кто-то начинает набирать «h-a-p-p». Какое слово должен предложить телефон? Словарь сказал бы “Happen”, но статистически чаще всего речь идет именно о “Happy”.
Команда Office занимается исследованием наиболее часто используемых слов более 20 лет, обеспечивая похожую функциональность в Word и Outlook, и они очень сильно помогли при создании первых словарей для Windows Phone 7. Office использует множество источников – от лингвистических исследований до частотных анализов документов, книг и веб-страниц. И, поскольку “happy” используется чаще слова “happen”, Windows Phone предлагает “happy” в качестве первой подсказки.
Впрочем, даже «умный» словарь не может избежать неуместных подсказок и нежелательных автоисправлений. Это происходит по двум причинам.
Во-первых, крайне важно, чтобы словарь был релевантен тому, что вы набираете. Словарь, основанный только на словах, используемых в научных текстах и учебниках, не сможет делать подсказки, релевантные обычной беседе (впрочем, ученые по всему миру были бы, конечно, рады такому повороту событий). Например, набирая «в», вы бы увидели «водород» в качестве первой подсказки.
Вторая вещь, влияющая на качество исправлений – зависимость от слов, которые появились до него. Если вы печатаете «Б-у-д-ь-з», скорее всего вы имеете ввиду «Будь здоров», а не «Будь за». Некоторые слова предсказать достаточно просто – например, «Российская Ф» почти всегда значит «Российская Федерация».
Какое слово должно быть предложено следующим? Для ответа на этот вопрос Windows Phone 8 должен не только знать много слов, но и частоту, с которой люди их используют.
Создан для обычных людей
Windows Phone 8 создан с учетом обеих трудностей. В обычной жизни люди часто используют сленг, нестандартную орфографию и сокращения. Поэтому обойтись словарями, которые используется в Microsoft Word, увы, не получится.
В решении этой проблемы помогли вы! Помните маленький чекбокс во время первого включения телефона (и в “Настройках”), просящий вас помочь улучшить подсказки? Когда кто-то давал свое разрешение, телефон собирали анонимную информацию о набираемом тексте – разумеется, без паролей, имен чисел и любой другой персональной информации.
Для того, чтобы обучить телефон сленгу и поп-культуре, разработчики включили в список источников Twitter и Википедию. Правда, залипать там самим целыми днями им не довелось – для этого были написаны специальные программы, которые выискивали новые и часто используемые слова. Конечено, результаты приходилось вычищать руками – в том числе от ссылок и хештегов.
Поиски вещей, мест, людей и тем, которые обсуждают пользователи, помогли сделать подсказки и исправления более точными – начиная от Гарри Поттера (пример – Ravenclaw и Slytherin) до известных личностей (к примеру, Obama и Clooney). Конечно, то, что популярно в США, может ничего не значить в России, поэтому Word Flow имеет уникальные словари для каждого языка. Twitter и Википедия очень помогли при создании словарей для конкретных стран и диалектов.
Еще одной ранее упоминавшейся проблемой является понимание контекста – какие слова скорее всего появятся до и после напечатанного вами слова. В частности, разработчики изучали три слова в контексте (они получили название «триграммы», от одноименного японского знака, состоящего из трех частей), чтобы понять какие лучше всего предложить. К примеру, если пользователь печатает «Я люблю» и потом «т» скорее всего, он имеет ввиду «тебя» — ведь мы чаще всего используем телефоны для связи с близкими людьми (конечно, есть некоторые люди, которые напишут «табурет», но они будут в явном меньшинстве). Триграммы отлично подходят для таких распространенных фраз. Но их использование также значит, что Windows Phone понимает — если вы вводите «Гарри», вы вероятно введете после этого «Поттер».
Другим вызовом для инженеров стала проблема «толстого пальца». Если палец при нажатии попадает больше чем на одну букву – что случается достаточно часто – какую именно пользователь хотел нажать?
Решение, используемое в Windows Phone, заключается в изменении невидимой “зоны прикосновения” (чувствительной к прикосновению зоны вокруг каждой буквы) по мере того, как вы набираете текст. Когда ваш палец касается этой зоны, буква появляется на экране. Зона прикосновения постоянно меняет свой размер в зависимости от слова, которое, по мнению клавиатуры, вы собираетесь ввести. Нагляднее всего об этом скажет видео:
Как телефон узнает, зону какой буквы нужно сделать больше? Он использует те же самые словари, помогающие ему решить, какую букву вы собираетесь ввести следующей. В случае с примером “С днем рождения”, после “С-д-н-е-м-р-“ зона вокруг “о” станет больше, а вокруг “р” и “л” меньше, так как вы скорее всего хотите ввести именно “о”. Многие пользователи продолжает рассказывать, что печатать на Windows Phone проще, чем на других смартфонах – зона прикосновения является одной из причин. С виду простое изменение потребовало серьезных научных изысканий – именно поэтому при создании виртуальной клавиатуры активно участвовали специалисты Microsoft Research. Подробнее об их изысканиях можно почитать здесь: research.microsoft.com/pubs/118375/paper-final.pdf
Персонализированные словари
Наконец, время пришло поговорить о самой важной части словаря, которая абсолютно пуста, когда телефон впервые попадает к вам в руки – персонализированный словарь. Это то самое место, где телефон хранит все слова и фразы, которые вы используете. По мере того, как вы набираете тексты, он учится тому, как вы используете язык. Впоследствии эти данные используются везде – и в подсказках, и в автозаменах, и в работе зон прикосновения.
Результатом всей этой работы является наиболее интеллектуальная клавиатура среди всех смартфонов – и разработчики не собираются останавливаться в своих изысканиях. А что вы думаете о клавиатуре в Windows Phone?
Автор: nokiaman