Предиктивный ввод текста | это... Что такое Предиктивный ввод текста? (original) (raw)
Предиктивный[1] ввод текста (через англ. predictive из лат. praedictīvus «предсказывательный») — система ускоренного ввода текста в цифровые устройства, при которой программное обеспечение устройства в процессе набора предлагает варианты окончания слов и фраз, основываясь на имеющихся в его словаре, а также может предлагать исправлять распространённые ошибки.
Содержание
Применение
Мобильные устройства
Предиктивный ввод текста распространён на мобильных устройствах (прежде всего на телефонах), на которых ввод текста затруднён, например, при написании SMS-сообщений. В основном применяются две системы предиктивного ввода: T9 и iTAP.
Редакторы для программистов
Редактор проводит синтаксический анализ текста и выводит меню, в котором предлагается окончание вводимого ключевого слова или идентификатора. Либо, например, при вводе тэга HTML предлагает на выбор все его параметры.
В большинстве редакторов меню предиктивного ввода вызывается либо при короткой паузе набора, либо по кнопке Ctrl-Пробел.
Редакторы документов
При вводе текста система предлагает окончание вводимого слова. Например, это может помочь при вводе таблиц, в которых содержимое ячеек часто повторяется. В редакторах документов разработчики используют предиктивный ввод очень осторожно, так как ошибки предсказания здесь особенно часты.
Проблемы
Общие
В языках с развитой системой окончаний (как в русском) плохо работает система, предлагающая окончание слова по его началу — нет гарантии, что слово получится в том падеже, в котором надо.
Применительно к мобильным устройствам
В языках с большим количеством коротких слов (английский) предиктивный набор предлагает слишком много альтернатив. Да и в других языках одна и та же комбинация клавиш может выдать несколько слов, и если не смотреть на экран, можно отправить сообщение с ошибкой. Наиболее занимательные ошибки телефона служат объектом коллекционирования, а иногда входят в подростковый сленг, например:
- название водки Smirnoff T9 превращало в Poisoned — «отравлен»;
- английские антонимы select и reject («выбрать» и «отвергнуть») находятся на одних и тех же кнопках телефона;
- русские слова тело и ужин в большинстве телефонов находятся на одних и тех же кнопках, отчего возможна ошибка «_приедешь домой — в холодильнике лежит ужин_» → «_приедешь домой — в холодильнике лежит тело_»
- так же совпадают "номер мобилки - номер могилки";
- но наиболее распространенной и неприятно двусмысленной ошибкой Т9 является подмена слова «тебя» на «себя». Особенно в фразе «Я люблю тебя»;
- еще на телефонах Nokia, Sony Ericsson фраза "поцелую в шейку, почешу за ушком" превращается в "поцелую в щёлку, почешу за рылом".
- На некоторых телефонах Nokia T9 знает странное слово «мракобулка»
При вводе на языках с агглютинативными элементами, например, немецком, приходится вводить слово по частям. Система ввода текста должна быть готова к этому. Например, реализация T9 в телефонах Sony Ericsson предлагает такое решение: после набора первой части слова пользователь нажимает на кнопку «OK», и вводится вторая часть.
Также следует предусмотреть ввод слов, которых нет в словаре. Наиболее элегантно это сделано в iTAP: когда пользователь видит, что телефон ошибается, он один раз нажимает на кнопку «Стирание» и кнопками-стрелками фиксирует начало. После этого он вводит остаток по одной букве. В T9 приходится стирать слово полностью (или почти полностью) и набирать его по одной букве.
Для сенсорных телефонов разработана технология Swype, позволяющая набирать текст не отрывая рук.
В программистских редакторах
Система предиктивного ввода текста, применяющаяся в программистских редакторах, должна быть устойчива к ошибкам. Например:
rObject.x = aObject.x + someVector.x // программист пропустил точку с запятой rObject.y = aObject.y + so_ // тут стоит курсор
В данном случае система предиктивного ввода должна, несмотря на упущенную точку с запятой, дать возможность программисту выбрать в меню идентификатор someVector
.
Иногда ошибка в коде может стать предпосылкой для предиктивного ввода. Например.
Vector so_ // тут стоит курсор . . . rObject.x = aObject.x + someVector.x; // идентификатор someVector не определён
В таком случае система может предложить ввести идентификатор someVector
.
Курьёзы
- В телефонах Motorola (в частности в прошивке R365—2.2F для Motorola C650 и её аналогов) примерно до 2005 года в русском словаре были нецензурные слова. В последующих моделях (например, Motorola KRZR K1) их убрали.
- В телефонах компании Siemens (C65, M65, M75, S65, S75 и др.) в русском словаре также присутствовала нецензурная лексика.
Примечания
См. также
- Автодополнение
- Рукописный ввод текста
- Экранная клавиатура
- Acme (программное обеспечение)
- Подсветка синтаксиса
![]() |
|
---|---|
DOS | ChiWriter • MultiEdit • WordPerfect • Лексикон • Слово и Дело • Фотон |
Windows | AkelPad • BirEdit • Bred • Crimson Editor • EditPlus • EmEditor • Notepad2 • Notepad++ • Notepad GNU • PolyEdit • Programmer’s Notepad • PSPad • RJ TextEd • SoloPad • Write • WinEdt • WordPad • Блокнот |
Linux / Unix | Ed • Elvis • gedit • Kate • KWrite • Leafpad • Mousepad • Nano • NEdit • Vi |
Кроссплатформенные | Acme • CKeditor • Emacs • J • JEdit • JOE • Komodo Edit • Medit • SciTE • Sed • UltraEdit • Vim • Geany |
SDK | Colorer • Scintilla • SynEdit |
Функции | Автодополнение • Автоформатирование • Подсветка синтаксиса • Предиктивный ввод • Сворачивание • Отступы |