Interested Article - Предиктивный ввод текста

Предиктивный ввод текста (через англ. predictive «предсказывающий», «предвещающий» из лат. praedictīvus ) — система ускоренного ввода текста в цифровые устройства, при которой программное обеспечение устройства в процессе набора предлагает варианты окончания слов и фраз , основываясь на имеющихся в его словаре , а также может предлагать исправлять распространённые ошибки.

Применение

Мобильные устройства

Предиктивный ввод текста распространён на мобильных устройствах (прежде всего на телефонах), на которых ввод текста затруднён, например, при написании SMS -сообщений. В основном применяются две системы предиктивного ввода: автозамена и T9 .

Редакторы для программистов

Редактор проводит анализ текста и выводит меню , в котором предлагается окончание вводимого ключевого слова или идентификатора . Либо, например, при вводе тэга 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 года в русском словаре были нецензурные слова . В последующих моделях (например, ) их убрали.
  • В телефонах компании Siemens (C65, M65, M75, S65, S75 и др.) в русском словаре также присутствовала нецензурная лексика.

Примечания

См. также

Ссылки

  • Маркус Дю Сотой. Код креативности. Как искусственный интеллект учится писать, рисовать и думать. Азбука-Аттикус, 2020.
  • А. А. Волков, С. В. Антонов. Элементы автоматизации дистанционного оповещения о чрезвычайных ситуациях… Вестник МГСУ № 11, 2015 стр. 120—128
Источник —

Same as Предиктивный ввод текста