Предиктивный ввод текста (через «предсказывающий», «предвещающий» из ) — система ускоренного ввода текста в цифровые устройства, при которой программное обеспечение устройства в процессе набора предлагает варианты окончания слов и фраз, основываясь на имеющихся в его словаре, а также может предлагать исправлять распространённые ошибки.
Применение
Мобильные устройства Предиктивный ввод текста распространён на мобильных устройствах (прежде всего на телефонах), на которых ввод текста затруднён, например, при написании SMS-сообщений. В основном применяются две системы предиктивного ввода: автозамена и T9.
Редакторы для программистов Редактор проводит анализ текста и выводит меню, в котором предлагается окончание вводимого ключевого слова или идентификатора. Либо, например, при вводе тэга HTML предлагает на выбор все его параметры.
В большинстве редакторов меню предиктивного ввода вызывается либо при короткой паузе набора, либо по кнопке Ctrl-Пробел.
Редакторы документов При вводе текста система предлагает окончание вводимого слова. Например, это может помочь при вводе таблиц, в которых содержимое ячеек часто повторяется. В редакторах документов разработчики используют предиктивный ввод очень осторожно, так как ошибки предсказания здесь особенно часты.
Проблемы
Общие В языках с развитой системой окончаний (как в русском) плохо работает система, предлагающая окончание слова по его началу — нет гарантии, что слово получится в том падеже, в котором надо.
Применительно к мобильным устройствам
В языках с большим количеством коротких слов (английский) предиктивный набор предлагает слишком много альтернатив. Да и в других языках одна и та же комбинация клавиш может выдать несколько слов, и если не смотреть на экран, можно отправить сообщение с ошибкой. Наиболее занимательные ошибки телефона служат объектом коллекционирования, а иногда входят в подростковый сленг.
В программистских редакторах
Система предиктивного ввода текста, применяющаяся в программистских редакторах, должна быть устойчива к ошибкам. Например:
rObject.x = aObject.x + someVector.x // программист пропустил точку с запятой rObject.y = aObject.y + so_ // тут стоит курсор
В данном случае система предиктивного ввода должна, несмотря на упущенную точку с запятой, дать возможность программисту выбрать в меню идентификатор someVector.
Иногда ошибка в коде может стать предпосылкой для предиктивного ввода. Например.
Vector so_ // тут стоит курсор . . . rObject.x = aObject.x + someVector.x; // идентификатор someVector не определён
В таком случае система может предложить ввести идентификатор someVector.
Примечания
См. также Автодополнение Рукописный ввод текста Экранная клавиатура Acme (программное обеспечение) Подсветка синтаксиса
Ссылки Маркус Дю Сотой. Код креативности. Как искусственный интеллект учится писать, рисовать и думать. Азбука-Аттикус, 2020. А. А. Волков, С. В. Антонов. Элементы автоматизации дистанционного оповещения о чрезвычайных ситуациях… Вестник МГСУ № 11, 2015 стр. 120—128
Категория:Текстовые среды Категория:Текстовые редакторы Категория:Сотовая связь кат