Идеальная словарная схема для слова blog с расположенными точно по центру нажатиями на клавиши

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

На рисунке можно увидеть, что идеальная схема для слова blot (пятно) для первых трех букв совпадает со схемой для слова blog, но для последней буквы требуется куда более значительный сдвиг. Степень совпадения со словом blot меньше, чем со словом blog, следовательно, я могу предположить, что, скорее всего, тот, кто набирал текст, имел в виду последнее слово, а не первое

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

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

1. Представить нажатые клавиши как ряд переключений с соседними клавишами.

2. Провернуть рычажки, чтобы проверить все комбинации букв.

3. Отметить словарные слова, появляющиеся при прокручивании рычажков.

4. Рассчитать схему отклонения для каждого найденного слова.

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

6. Из всех найденных слов предложить одно с самым большим значением с точки зрения частоты использования и схемы отклонения{40}.

Таким был окончательный алгоритм автоисправления. То, что я употребил слово «окончательный», казалось бы, указывает на достигнутый успех, но, как уже, наверное, стало понятно, в Apple в целом и в проекте Purple в частности всегда оставалось, над чем еще поработать. Первые отзывы от моих коллег по команде были положительными: с помощью алгоритма отклонения от схемы стало легче печатать точнее и аккуратнее. Но несмотря на это я провел много месяцев, настраивая и оптимизируя расчет подвижек, чтобы улучшить качество ввода текста.

В то время как алгоритм отклонения от схемы становился все лучше, наверх моего списка дел перемещались другие задачи. Они были связаны с тем, где будет задействована клавиатура: для заполнения однострочных полей в таких приложениях, как «Контакты», и в многострочных текстовых областях таких приложений, как «Заметки». Я писал код для этих пользовательских виджетов, используя как основу свою работу с текстовым редактором WebKit. Пополнение словаря тоже нельзя было полностью отставить в сторону, и я продолжал им заниматься, добавляя новые названия продуктов Apple, например, Xserve, и такие тонкости, как автоматическое добавление апострофа в cant, что превращало слово в can’t.

Я продолжал улучшать клавиатуру, и со временем при печати возникало все меньше и меньше глупых ошибок.

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

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

Перейти на страницу:

Все книги серии Цифровые империи

Похожие книги