В средствах проверки правописания используются довольно объемные словари: в ОРФО — свыше 60 тысяч слов, в WinterTree — около 100 тысяч слов. Почему не больше? В БАС включено свыше 150 тысяч слов, а в OED — около 600 тысяч, почему бы их не добавить в полном составе в спелл-чекеры?
Допустим, мы добавили весь OED в средство проверки правописания и проверяем следующее предложение:
Therf werre eyght bokes.
Ошибок найдено не будет, так как все это словарные слова, хотя и мало кто имеет их в активном словарном запасе.
Два основных показателя эффективности спелл-чекера — вероятность обнаружения ошибки и вероятность ложного срабатывания, то есть обнаружения ошибки в правильно написанном слове.
Чтобы повысить вероятность обнаружения ошибки, словарь должен содержать только слова, употребляемые большинством пользователей. Если добавить редкие, устаревшие слова и узкоспециализированные термины, становится возможным приведенный выше случай: неверное написание обычного слова будет принято за термин, и эта ошибка не будет обнаружена. Для английского языка, с учетом развитой омонимии и меньшей длины слов, это особенно актуально, но и для русского можно придумать пример. Знает ли ваш спелл-чекер слово телифон?
Чтобы снизить вероятность ложного срабатывания, словарь должен содержать все слова, употребляемые большинством пользователей, иначе их будет раздражать обнаружение несуществующих ошибок в грамотном тексте.
Из этих двух факторов вероятность обнаружения ошибки более важна. Таким образом, словарь спелл-чекера должен содержать минимально возможное число статей, позволяющее избежать ложных срабатываний на общеупотребительных словах.
(по материалам сайта WinterTree)
Кроме просто спелл-чеккера есть “пруфинг туллз”. Грамматические ошибки мне зеленым подчеркивает. Ну, типа чисто теоретически, если я вместо il programma (мужской род в итальянском), написал бы la programma, он мне это подчеркнул бы ЗЕЛЕНЫМ. Очень помогает, поскольку род я знаю, а когда дальше, в длинном сложноподчиненном предложении, случается “которого” или “которой”, его или ея – машинально, довольно часто, пишу русский род. А этот инструмент обращает на это мое внимание зеленым подчеркиванием…
Да, «ОРФО» и Office Proofing Tools могут также и грамматику проверять. Впрочем, правил им известно не очень много.
Откуда информация, что в ОРФО 60 тысяч слов всего? Мы больше слов изменили/добавили в словарь по сравнению с нашими модулями, встроенными в MS Office.
Только в основном словнике ОРФО 2012 содержится около 3 МИЛЛИОНОВ слов, если считать со словоформами.
Найти правильное слово, которое не знает наша система, крайне затруднительно.
Можете попробовать сами:
http://www.informatic.ru/2012beta
Спасибо за комментарий. Вы не считаете, что добавление всех возможных слов в ваши словари ухудшает работу спелл-чекера, как я написал выше?
Поэтому мы и разделили словники на основной и профессиональные тематические. Сильно шумящие слова перенесены в тематические словники, но таких слов немного. Плюс новая версия ОРФО отслеживает контекст, в котором слово употреблено. Если контекст и слово не совпадают, мы предупредим пользователя об этом. Конечно, эту функции удалось реализовать не для всех слов, но типичные ошибки не даст допустить.
Вы можете рассказать подробнее о контекстозависимой проверке? О прототипе такой системы я читал еще в 2009 году. Каким образом для слова определяется контекст, и почему это не работает для всех слов? Вы не используете вероятностные алгоритмы обнаружения ошибок?
Вероятностные алгоритмы не используем. Потенциал более простых и надежных методов еще не исчерпан.
Ясно, спасибо.