Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Предиктивный ввод текста - Проблемы23 января 2011Оглавление: 1. Предиктивный ввод текста 2. Проблемы 3. Курьёзы ОбщиеВ языках с развитой системой окончаний плохо работает система, предлагающая окончание слова по его началу нет гарантии, что слово получится в том падеже, в котором надо. Применительно к мобильным устройствамВ языках с большим количеством коротких слов предиктивный набор предлагает слишком много альтернатив. Да и в других языках одна и та же комбинация клавиш может выдать несколько слов, и если не смотреть на экран, можно отправить сообщение с ошибкой. Наиболее занимательные ошибки телефона служат объектом коллекционирования, а иногда входят в подростковый сленг, например:
При вводе на языках с агглютинативными элементами, например, немецком, приходится вводить слово по частям. Система ввода текста должна быть готова к этому. Например, реализация T9 в телефонах Sony Ericsson предлагает такое решение: после набора первой части слова пользователь нажимает на кнопку «OK», и вводится вторая часть. Также следует предусмотреть ввод слов, которых нет в словаре. Наиболее элегантно это сделано в iTAP: когда пользователь видит, что телефон ошибается, он один раз нажимает на кнопку «Стирание» и кнопками-стрелками фиксирует начало. После этого он вводит остаток по одной букве. В T9 приходится стирать слово полностью и набирать его по одной букве. Для сенсорных телефонов разработана технология Swype, позволяющая набирать текст не отрывая рук. В программистских редакторахСистема предиктивного ввода текста, применяющаяся в программистских редакторах, должна быть устойчива к ошибкам. Например: rObject.x = aObject.x + someVector.x // программист пропустил точку с запятой rObject.y = aObject.y + so_ // тут стоит курсор В данном случае система предиктивного ввода должна, несмотря на упущенную точку с запятой, дать возможность программисту выбрать в меню идентификатор Иногда ошибка в коде может стать предпосылкой для предиктивного ввода. Например. Vector so_ // тут стоит курсор . . . rObject.x = aObject.x + someVector.x; // идентификатор someVector не определён В таком случае система может предложить ввести идентификатор Просмотров: 3795
|