Система перевірки орфографії

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В обчислювальній техніці система перевірки орфографії (т. зв. спелчекер) — це допоміжна програма, яка шукає в тексті документа слова, написані неправильно. Знайдені помилки позначаються спеціальним чином — зазвичай для цього використовується червоне підкреслення. У деяких випадках користувачеві, окрім зазначення місць можливих помилок, надається можливість вибрати один із правильних варіантів написання.

Системи перевірки орфографії можуть бути автономні (як правильно, у такому разі передбачено можливість інтеграції з іншими програмами) або входити як окремий модуль до складу іншої програми, зокрема текстового процесора, поштового клієнта, електронного словника, пошукової системи тощо.

Принцип роботи[ред.ред. код]

Зазвичай система перевірки орфографії виконує такі дії.

  • Зчитує текст і виокремлює слова, з яких він складається.
  • Порівнює кожне слово тексту зі списком правильно написаних слів (тобто словником). Такий список, окрім власне слів, може містити додаткову інформацію, як-от місця, де може бути знак переносу, лексичні й граматичні атрибути тощо.

Користь від морфологічного аналізу — тобто перевірка чималої кількості словоформ — у простих мовах на кшталт англійської не очевидна, але користь для синтетичних мов, як-от німецька, угорська, українська, турецька — безсумнівна.

Як додаток до цих компонентів, інтерфейс програм дає користувачам змогу ухвалювати або відкидати запропоновані заміни і змінювати спосіб роботи програми.

Існують також альтернативні типи систем перевірки орфографії, у яких для виявлення помилок замість правильно написаних слів використовується виключно статистична інформація, як-от N-грами. Зазвичай такий підхід потребує чималих зусиль для отримання достатньої кількості статистичної інформації. Його основними перевагами є менша потреба в оперативній пам'яті та спроможність виправляти помилки в словах, яких немає у словнику[1] .

У деяких системах перевірки орфографії використовуються списки слів із неправильним написанням і пропозиції для таких слів. Такому підходу бракує гнучкості; найчастіше його використовують під час виправлень у паперових документах, як-от у розділах «Див. також» в енциклопедіях.

Для перевірки орфографії використовують також алгоритми кластерного аналізу[2] в поєднанні з фонетичною інформацією[3].

Історія[ред.ред. код]

Перші системи із функціями перевірки орфографії з’явилися в 1957 р. — зокрема системи перевірки орфографії для точкових зображень курсивного письма та спеціальні програми, які замість помилкових записів шукали записи в базах даних.

В 1961 р. Лестер Ернест (Les Earnest), який очолював дослідження цієї перспективної технології, вважав за потрібне створити першу систему перевірки орфографії, яка оперувала списком із 10 000 допустимих слів[4]. Ральф Горін (Ralph Gorin), у той час аспірант Ернеста, створив першу справжню програму-спелчекер, яку можна було застосувати до будь-якого англійського тексту взагалі, а не тільки в рамках дослідження, — SPELL для DEC PDP-10 у Лабораторії штучного розуму в Стенфордському університеті (лютий 1971 р.)[5]. Горін написав код SPELL на асемблері, аби пришвидшити її роботу. Він створив орфографічний коректор, який складав список слів, що відрізнялися від даного слова лише однією літерою або перестановкою літер; цей список демонструвався користувачеві.

Горін зробив програму SPELL загальнодоступною, як і більшість програм, створених у Лабораторії SAIL (Stanford Artificial Intelligence Laboratory). Невдовзі вона поширилася всім світом через мережу ARPAnet. Це сталося за 10 років до того, як на ринку з’явилися доступні персональні комп’ютери[6]. SPELL, використані в ній алгоритми й структури даних стимулювали розвиток програми Ispell в Unix.

Перші системи перевірки орфографії широко поширилися на обчислювальних машинах наприкінці 1970-х років. Команда із шести лінгвістів із Джорджтаунського університету розробили першу систему перевірки орфографії для корпорації IBM[7].

Перші системи перевірки орфографії  для персональних комп’ютерів з’явилися в 1980 р. на комп’ютерах CP/M та TRS-80. Невдовзі після цього, в 1981 р., було створено орфографічні пакети для IBM PC. Чимало розробників, зокрема Марія Маріані (Maria Mariani)[7], Random House[8], Soft-Art, Microlytics, Proximity, Circle Noetics та Reference Software, поширювали комплекти OEM-програм та продукти для кінцевих користувачів на ринку програмного забезпечення, який швидко зростав, — здебільшого для персональних комп’ютерів (PC), але також і для Apple Macintosh, VAX та UNIX. На персональних комп’ютерах ці системи перевірки орфографії працювали автономно; більшість із них за наявності достатньої пам’яті могли працювати як резидентні програми (TSR) в комплектах програм для обробки текстів на PC.

Утім, ці програми недовго залишалися на ринку окремими програмами: у середині 1980-х рр. розробники популярних текстових редакторів, як-от WordStar і WordPerfect, вбудували системи перевірки орфографії, здебільшого за ліцензіями описаних вище компаній, у розроблювані ними пакети програм. Невдовзі ці системи почали підтримувати не тільки англійську, а й інші європейські, а згодом навіть і азійські мови. Проте процес морфологічної обробки підвищив вимоги до програмного забезпечення, особливо в аглютинативних мовах на кшталт угорської й фінської. Хоча розмір ринку програмного забезпечення для обробки текстів у таких країнах, як, наприклад, Ісландія, не виправдовував інвестиції в розробку систем перевірки орфографії, маркетингова політика деяких компаній, як-от WordPerfect, утім, передбачала локалізацію програм для якнайбільшої кількості ринків.

У веб-браузері Firefox 2.0 передбачено підтримку перевірки орфографії для контенту, створюваного користувачем, як-от під час редагування й набирання тексту у вікі, у веб-службах електронної пошти на багатьох сайтах, у блогах і на сайтах соціальних мереж. У веб-браузерах Google Chrome, Konqueror та Opera, у поштовому клієнті Kmail та програмі для обміну миттєвими повідомленнями Pidgin також є підтримка перевірки орфографії, здійснювана засобами модуля GNU Aspell. В операційній системі Mac OS X перевірка орфографії здійснюється на рівні системи, практично в усіх вбудованих програмах і навіть у програмах сторонніх виробників.

Примітки[ред.ред. код]

  1. U.S. Patent 6618697, Method for rule-based correction of spelling and grammar errors
  2. de Amorim, R.C.; Zampieri, M. (2013) Effective Spell Checking Methods Using Clustering Algorithms. Proceedings of Recent Advances in Natural Language Processing (RANLP2013). Hissar, Bulgaria. p. 172—178.
  3. Zampieri, M.; de Amorim, R.C. (2014) Between Sound and Spelling: Combining Phonetics and Clustering Algorithms to Improve Target Word Recovery. Proceedings of the 9th International Conference on Natural Language Processing (PolTAL). Lecture Notes in Computer Science (LNCS). Springer. p. 438—449.
  4. Earnest, Les. The First Three Spelling Checkers. Stanford University. Процитовано 10 October 2011. 
  5. Peterson, James (Dec 1980). Computer Programs for Detecting and Correcting Spelling Errors. Процитовано 2011-02-18. 
  6. Earnest, Les. Visible Legacies for Y3K. Процитовано 2011-02-18. 
  7. а б Georgetown U Faculty & Staff: The Center for Language, Education & Development. Процитовано 2008-12-18. , citation: "Maria Mariani... was one of a group of six linguists from Georgetown University who developed the first spell-check system for the IBM corporation."
  8. Advertisement (November 1982). The Spelling Bee Is Over. PC Magazine. с. 165. Процитовано 21 October 2013.