Основы Dasher

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

  • На наладонном компьютере;
  • на нательном компьютере;
  • при управлении компьютером одной рукой с помощью джойстика, сенсорного экрана, трэкбола или мыши;
  • при управлении компьютером без рук (т.е., используя систему слежения за положением головы или глаз).
версия Dasher для системы ввода, управляемой взглядом позволяет опытному пользователю набирать текст со скоростью обычного ручного письма - 29 слов в минуту, используя мышь, опытный пользователь может писать со скоростью 39 слов в минуту.

Dasher можно использовать, чтобы эффективно писать на любом языке.

Dasher работает быстро, а учиться его использовать — весело.

Dasher является свободной программой, распространяемой под той же лицензией, что и GNU/Linux, а именно GPL.

3.1 Как Dasher работает?

Dasher подобен аркадной игре: «Атака бандитов-алфавитов», наверное.

Financial Times, 5-е февраля 2002-го года

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

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

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

Ещё одним преимуществом является лёгкость, с которой можно обучить модель любому стилю написания: просто загрузите файл с примерами и сразу пишите.

Достаточно трудно передать на словах, как выглядит Dasher, так что посетите http://www.inference.phy.cam.ac.uk/dasher/, чтобы увидеть видеоролики.

3.2 Dasher в пояснениях — аналогия с библиотекой

Представьте себе библиотеку, содержащую все возможные книги, упорядоченные в алфавитном порядке на одной полке. Книги, в которых первая буква "а"; располагаются с левой стороны. Книги у которых первая буква "я" — справа. На рисунке (i) внизу, полка показана вертикально, с "левой стороной"; (а) вверху и "правой стороной"; (я) внизу. Первая книга в разделе "а"; начинается с "аааааааааааа...";, где то правее в этом разделе находятся книги, которые начинаются с "ааа-а, в Африке горы...";, несколько правее располагаются книги, начинающиеся с "ааа-а, в Африке реки...".

Когда кто-нибудь пишет часть текста, то его выбор строки можно рассматривать как выбор книги из этой библиотеки — книги, содержащей именно выбранный текст. Как пишущий выбирает эту книгу? Давайте представим, что он хочет написать "ааа-а, в Африке...";

Рисунок 1Библиотека всех книг.

Во-первых, он зайдёт в раздел библиотеки содержащий книги на "а";. Там пишущий встретится с книгами, начинающимися с "аа";, "аб", "ав..."; "ая"; [Рисунок (ii)]. Взглянув на раздел "ал"; поближе, они смогут найти книги, начинающиеся с "ала";, ";алб";,...; "аля"; [Рисунок (iii)].

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

В точности так работает Dasher, за исключением одного важного пункта: мы изменяем РАЗМЕР пространства, отведённого на полке каждой книге пропорционально вероятности соответствующего текста. Например, не очень много книг начинаются с "ы";, так что мы выделяем меньше места таких книг и больше места для книг с более правдоподобным названием, делая таким образом более простой задачу поиска книги, содержащей вероятный текст.

Приведём соответствующую последовательность рисунков библиотеки в Dasher. (Символ "_"; обзначает пробел.)

Рисунок 2Библиотека всех книг.

Dasher может быть обучен на примерах любого стиля письма, и он обучается всё время, запоминая ваши обороты речи.

Рисунок, приводимый ниже, показывает состояния интерфейса Dasher во время набора пользователем слова «objection»; другие слова, которые легко можно написать в этот момент включают «objective», «objects_», и «object_oriented».

Рисунок 3Написание «objection» в Dasher.

Если вы находите трудным представить себе работу Dasher, основываясь на этих статичных рисунках, взгляните на видеоролики по адресу http://www.inference.phy.cam.ac.uk/dasher/.

3.3 Подсказки для новичков

Не сдавайтесь, если понадобиться минута или две, чтобы освоиться — через десять минут вы будете работать очень быстро. Это очень похоже на вождение автомобиля. Вы должны начать с аккуратного вождения. Если вы не знаете куда двигаться, остановитесь. В самом деле, вы возможно научитесь использовать Dasher быстрее всего, если будете подходить к нему помня об аналогии с вождением автомобиля, нежели пользуясь обычными компьютерными аналогиями. Например, механизм, по которому работает навигация это не ПЕРЕТАСКИВАНИЕ, а УПРАВЛЕНИЕ: если бы автомобили работали как компьютеры с оконными системами, то вам вы пришлось "ухватить" нужную часть дороги, затем "перетащить"; её к себе; но в машине, когда вы хотите поехать направо, вы УКАЗЫВАЕТЕ направо с помощью руля. Dasher также не работает перетаскивая. Не пытайтесь схватывать и перетаскивать объекты. Просто решите куда вы хотите перейти и укажите туда.

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

Это похоже на поиск имени в телефонной книге. Чтобы найти "Алисон";, вы не идёте в раздел "А"; справочника, а затем переходите в раздел ";Л";: вы идёте в раздел "А";, после чего находите внутри него раздел "Ал"; и так далее. Оказавшись в разделе "Ал";, вы не покидаете его.

Вторая самая важная идея: то, что вы написали зависит только от того, где вы в конце концов окажетесь в алфавитной библиотеке, а не от того как вы попали туда, поэтому нет необходимости управлять движением к цели точно. Позволяется срезать углы. (Например, на предыдущем рисунке, если бы вы захотели написать «objects_are», то было бы нормально переместить мышь прямо к буквам «are», даже если для этого нужно пересечь ненужную область буквы «i».)

Распространённые ошибки. Часто начинающий пользователь, пытающийся найти конкретную букву, быстро перемещает изображение вперёд, ища нужный символ. Дорожные правила для пользователей Dasher похожи на правила для водителей автомобиля: не двигайтесь вперёд, пока вы не определили, куда хотите идти. Таким образом, после того, как вы нашли первую букву вашего предложения и «наехали» на неё, ПРИОСТАНОВИТЕСЬ и не двигайтесь вперёд в области этой первой буквы до тех пор, пока вы не вычислите, куда нужно направиться дальше. Следующая нужная вам буква находится внутри области, в которую вы вошли. Буквы расположены в алфавитном порядке. Если вы не видите нужную вам букву, определите, где она должна быть опираясь на расположение тех букв, которые вы можете видеть. Затем укажите в нужное место и переместитесь в область второй буквы.

3.4 Пример

Рисунок 4Набор предложения "I once had a whim"; Куда нужно сейчас направиться пользователю?

Представьте, что вы хотите написать «I once had a whim». Вы набираете «I once ha...» и изображение Dasher-а выглядит как на рисунке Рисунок 4. Нужно написать «had». Что вам следует сделать? На экране находится много букв d и все они довольно маленькие. Пять стрелок на рисунке Рисунок 4 указывают на некоторые из них. Фиолетовая стрелка указывает на букву d, которую мы пока не можем видеть, но знаем, что она должна быть там, поскольку над ней видны буквы «a», «b», и «c»

Рисунок 5Несколько альтернативных букв d с выделенной ошибкой начинающего пользователя.

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

Рисунок 6Что случается, если вы выбираете неправильную букву d

Если вы перейдёте к этой букве d,то вы напишите «I once head...». Другие две буквы d, помеченный красными стрелками (на рисунке Рисунок 4) соответствуют набору «I once heard...» и «I once hedge...».

Важно понять, что есть только одна правильная буква d, а именно буква d, находящаяся непосредственно внутри области голубого цвета , соответствующего букве «a» в последовательности «I once ha». Эта область выделена на рисунке Рисунок 7.

Рисунок 7Правильная буква d выделена зелёной стрелкой. Этот пример иллюстрирует правило "всегда продолжайте движение внутри прямоугольной области, которую вы хотите"; в данном случае — область голубого цвета, связанная с буквой a из слова "had";

Если вы выйдете из этой голубой области (как это сделано на рисунке Рисунок 6), то вы потеряете букву «a».

3.5 Резюме

Не нажимайте клавишу мыши. Не перетаскивайте. Не спешите.

3.6 Что обозначают цвета?

В англо-язычной 3-й версии Dasher для рабочего стола,

  • белые области содержат символы пробела (располагаются всегда внизу алфавита);
  • специальная жёлтая область содержит заглавные буквы [А-Я];
  • в красной области находятся числа [0-9] (если включён весь алфавит);
  • зелёная область содержит знаки пунктуации (символы наиболее близкие к пробелу [.,;:-] расположены внизу, рядом с белым символом пробела. Внутри раздела со знаками пунктуации, символы со сходными функциями окрашены в сходные цвета: символы пунктуации, похожие на точку [.,;:-] имеют тёмно-голубой цвет;
  • другие цвета используются просто для того, чтобы отличить области друг от друга.
  • В языках, использующих диакритические знаки (прямое и обратное ударение, значки над символами) эти знаки изображены в оранжевой области.
  • В японской версии Dasher-а, цвета используются для того, чтобы различать разные группы слогов (хирагана группы, например, eg, ka,ki,ku,ke,ko — оранжевые).
  • В корейской версии Dasher, три раздичных цвета используются для того, чтобы отличать начальные согласные, гласные и конечные согласные.

Вы можете изменить цветовую схему, редактируя xml-файлы colour и alphabet, как это описано в Раздел 5 ― Настройки Dasher.

3.7 Запуск dasher (4-я версия)

Запустите приложение dasher. Когда появится окно программы, нажмите левую кнопку мыши, либо пробел, чтобы начать работу. [Один из этих двух способов сработает.] Повторите эти действия (нажатие на кнопку мыши или пробел), когда закончите, чтобы остановиться. Dasher контролируется с помощью мыши.

Настройте максимальную скорость, с которой Dasher будет масштабировать области. 1-я скорость подходит для новичков, 2-ю скорость можно установить после 5-и минут практики, 4-я скорость — для опытных пользователей.

3.8 Как запустить dasher (2-я версия) на карманном компьютере

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

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