Отрывок из комикса «Дунсбери», где подводится итог работе с распознаванием рукописного ввода на Newton[31]

Testing for eff grackles[32].

Я хорошо разбирался в связанном с Newton фольклоре и точно знал, что Скотт хотел написать. Он хотел egg freckles («яйца в крапинку»), но этого не получил. Моя клавиатура завалила тест.

Скотт решил, что это смешно, но вскоре он снова посерьезнел. Он сказал, что мое новое программное обеспечение выглядит многообещающе, но ему нужно знать, могу ли я сделать программу более понятной и предсказуемой. Форсталл спросил, получится ли у меня сохранить полезные автоисправления, но уничтожить нелепые и несуразные, такие, какие могли бы привести к ошибкам вроде тех, которые делало распознавание рукописного ввода Newton.

Я не знал ответа на этот вопрос и так и сказал. После этой неожиданно забавной демонстрации моя уверенность в себе пошатнулась, и несмотря на то что я по-прежнему не сомневался в потенциале встроенного автоисправления, я не мог сказать, как часто мой код клавиатуры может допускать промахи. Я предложил начать с того, чтобы поискать, что же пошло не так в данном конкретном случае, и ушел из кабинета Анри, разочарованно покачивая головой. Кажется, самые щекотливые ситуации всегда возникали, когда я показывал свою работу Скотту.

Вскоре я обнаружил проблему. Скотт не смог набрать egg freckles, потому что две ошибки в работе словаря наложились одна на другую.

Первая была багом в метаданных, которые я приписал к каждому слову в словаре. Их я называл значением частоты использования. Она измеряла популярность слова в обычном тексте. Для того, чтобы постоянно включенное автоисправление работало хорошо, нужно было, чтобы код помогал людям набирать самые распространенные в английском языке слова: the, and, have, from, will и так далее. Программное обеспечение должно было знать, какие слова встречаются чаще других — например, люди с большей вероятностью напишут good (хороший), а не goof (оплошность). Отсюда следует, что значение частоты использования для good выше, чем для goof. Артикль the имеет самую высокую частоту использования, поскольку является самым распространенным словом в английском языке. Как редактор словаря я должен был оценить каждое слово с точки зрения частоты использования и присвоить более популярным словам более высокие значения, чем у менее употребительных. Также клавиатура помогала с повседневными словами, такими как egg (яйцо), которое входит в несколько тысяч самых употребительных английских слов (вместе со словом bacon — бекон). На самом деле, программа должна была помочь Скотту написать слово egg, и она бы помогла, но возникла одна проблема: значение частоты использования слова было по ошибке занижено так сильно, что значение достаточно редкого и не слишком приличного слова eff (совокупление) оказалось выше. Это был просто глюк в моей базе данных словаря, и мое расследование кончилось, как только я понял, что значение частоты использования выставлено неверно. Я вздохнул, исправил значение для egg и несколько раз пробормотал eff себе под нос, пока этим занимался.

Что же насчет freckles (крапинки)? Этого слова вообще в словаре не было. Я не мог этого объяснить. Когда клавиатура увидела freckles и не смогла найти совпадающую с ним словарную статью, мой код решил, что это слово не является английским. Поэтому код автоисправления заменил написанное Скоттом на то, что нашлось в словаре: grackles (гракл), распространенная североамериканская птица, Quiscalus quiscula.

Был ли какой-то урок, который мне следовало усвоить после показа демоверсии с eff grackles? В тот момент я не был в этом уверен. Плохие демоверсии можно исправить и улучшить, но этот инцидент заставил задуматься всех, включая меня. Код выглядел многообещающе, но мы задавались вопросом, будет ли автоисправление клавиатуры всегда достаточно надежным, чтобы выпустить продукт для пользователей, и будет ли исправление вероятных мелких ошибок чем-то большим.

Перейти на страницу:

Все книги серии Цифровые империи

Похожие книги