Коригування текстової інформації є однією з найважливіших складових проектів, що мають на меті автоматизацію документообігу. В даний час, завдяки використанню комп'ютерних технологій, було розвинено багато методів корекції текстової інформації, завдяки чому стало можливим створення таких систем, які задовольняли б основним вимогам систем автоматизації документообігу. Однак перед програмами як і раніше ставляться задачі збільшення швидкодії і якості коригування, мінімізації затрачуваної пам'яті, що вимагає додаткових досліджень в даній області.
Сучасні текстові редактори при перевірці текстової інформації не коригують помилки, а пропонують варіанти для їх виправлення. Це вимагає втручання користувача, що не завжди зручно. Автоматична корекція орфографічних помилок може бути більш ефективним засобом мінімізації помилок і їх виправлень при створенні електронних текстових файлів. Дана тема і стала метою дослідження.
Проникнення електронної інформації у всі шари людської діяльності змушує бібліотечні установи активно освоювати сучасні інформаційні технології, впроваджувати автоматизовані системи, створювати електронні бібліотеки, розвивати Інтернет-послуги. Цивілізований бібліотечний світ однозначно сприймає ці зміни як одну з характерних тенденцій суспільства майбутнього, як систему, що полегшує доступ користувачів до інформаційних ресурсів.
У зв'язку із зростанням числа електронних наукових видань постійно збільшується число видавництв, редакційно-видавничих відділів ВНЗ та наукових установ, індивідуальних авторів, що використовують електронні пристрої для написання різних статей, дисертацій тощо. При цьому рівень підготовки користувачів у комп'ютерній області, знання типографических правил і традицій залишається невисоким. До таких правил належать оформлення заголовків, списків, таблиць, бібліографії, формул, чисел, і багато іншого. Помилки, пов'язані з недотриманням цих правил, називаються типографiчними. При поточному рівні технологій виправлення таких помилок здійснюється коректорами вручну, що вимагає значних витрат часу. Більшість помилок є типовими, що створює передумови для автоматизації процесу коректури.
Автоматизація стадії коректури при підготовці наукових видань дозволила б істотно скоротити витрати і строки і підвищити якість електронної текстової інформації. У даній роботі ця задача ставиться як завдання автоматичної обробки спеціалізованих текстів.
На даний момент існують якісні інструменти для автоматичного пошуку й виправлення орфографічних помилок, що використовують словники та морфологічний аналіз словоформ тексту, але більшість з них є комерційними.
Таким чином, виникає необхідність нового дослідження, спрямованого безпосередньо на автоматизацію процесу виправлення орфографічних помилок.
Об'єктом дослідження є структуровані текстові документи, які можуть бути описані за допомогою синтаксичного дерева. Предмет дослідження - алгоритми автоматичної корекції структурованих текстових спеціалізованих документів.
Метою дослідження є розробка методів, алгоритмів і технологій для створення автоматизованої системи, що дозволяє багаторазово підвищити ефективність праці коректорів при роботі з текстовими документами.
Для досягнення даної мети в роботі вирішується завдання формалізації опису правил корекції типографичних і орфографічних помилок, а також розробка ефективних алгоритмів пошуку місць помилок у документах і синтезу правил для їх виправлення.
Безліч проблем викликані тим, що при ручній обробці документів коректори дотримуються недостатньо формалізованих рекомендацій. І складання вручну досить повного опису набору правил для автоматичного використання важко піддається реалізації. Деякі з використовуваних рекомендацій досить складні і сильно залежать від контексту, що вимагає складних моделей для опису правил корекції.
Завдання автоматичної корекції текстової інформації полягає в побудові сукупності правил, які можуть бути використані в алгоритмах пошуку та виправлення помилок.
Відомо, принаймні, три методи автоматизованого виявлення орфографічних помилок у текстах: статистичний, поліграмний і словниковий [1]. При статистичному методі з тексту одна за одною виділяються складові його словоформи, а їх перелік по ходу перевірки упорядковується згідно частоті. По завершенні перегляду тексту упорядкований перелік пред'являється людині для контролю, наприклад, через екран дисплея. Орфографічні помилки в скільки-небудь грамотному тексті несистематичні і рідкісні, так що спотворені ними слова виявляються десь наприкінці переліку. Помітивши їх тут, контролююча особа може автоматизовано знайти їх у тексті і виправити.
При поліграмному методі [1] всі двох- або трьохбуквені поєднання (біграми і триграми), що зустрічаються в тексті, перевіряються за таблицею їх допустимості в даній природній мові.Якщо в словоформи не міститься неприпустимих поліграм, вона вважається правильною, а інакше - сумнівною, і тоді пред'являється людині для візуального контролю і, якщо потрібно, виправлення.
При словниковому методі всі вхідні в текст словоформи, після впорядкування або без нього, в своєму початковому текстовому вигляді або після морфологічного аналізу, порівнюються з вмістом заздалегідь складеного машинного словника. Якщо словник таку словоформу допускає, вона вважається правильною, а інакше пред'являється контролеру. Він може залишити слово, як є, залишити його і вставити в словник, так що далі в сеансі подібне слово буде опізнаватися системою без зауважень; замінити (виправити) слово в даному місці; зажадати подібних замін по всьому подальшому тексту; відредагувати слово разом з його оточенням. Операції, над сумнівними ділянками тексту, зазначені або інші можливі, можуть комбінуватися виходячи із задуму проектувальника автоматичного коректора.
Результати неодноразових досліджень [1] показали, що тільки словниковий метод і економить працю людини і веде до мінімуму помилкових дій обох пологів - пропуску текстових помилок, з одного, боку, і віднесення правильних слів до сумнівних, з іншого. Тому словниковий метод став домінуючим, хоча поліграмний метод іноді і застосовують як допоміжний.
За допомогою алгоритмів морфологічного аналізу розпізнаються елементи морфологічної структури слова - коріння, основа, афікси, закінчення. До алгоритмів, широко застосовуваним на морфологічному рівні, відносяться стеммінг і лематизація. Мета стеммінга - ототожнити основи семантично схожих словоформ, що необхідно для адекватного зважування термінів у процесі інформаційного пошуку. На вході стеммеру - текст, на виході - список основ слів вхідного тексту. Стеммери, що розробляються з кінця 50-х рр.. XX в., класифікуються на алгоритмічні та словникові. Алгоритмічні стеммери функціонують на основі файлів даних, що містять списки суфіксів і флексій. У процесі морфологічного аналізу програма виконує зіставлення суфіксів і закінчень слів у вхідному тексті і у відповідному списку, причому аналіз починається з останнього символу слова. Словникові стеммери функціонують на основі словників основ слів. У процесі морфологічного аналізу такий стеммер виконує зіставлення основ слів у вхідному тексті й у відповідному словнику, а аналіз починається з першого символу слова.
Словникові стеммери забезпечують більшу точність пошуку, в той час як алгоритмічні - більшу повноту, допускаючи більше помилок, які проявляються в недостатньому або надмірному стеммуванні. Надмірне стеммування (overstemming) має місце в тому випадку, якщо по одній основі ототожнюються слова з різною семантикою; при недостатньому стеммуванні (understemming) за однієї основи не ототожнюються слова з однаковою семантикою, наприклад, bet як основа better, a childr - як основу children. У першому випадку має місце надлишкове стеммуванне, оскільки по основі bet прикметник better ототожнюється з дієсловом bet і його похідними (bets, betting), значення яких не має нічого спільного зі значенням прикметника. У другому випадку має місце недостатнє стеммування, так як по основі childr не можна ототожнити форми множини (children) і однини (child) однієї лексеми.
Одним з фундаментальних алгоритмів, застосовуваних на синтаксичному рівні, є синтаксична декомпозиція (syntactic splitting). На вході спліттера - текст, на виході - список реченнь тексту. Алгоритми синтаксичної декомпозиції розробляються з 1960-х рр.. і передбачають розпізнавання реченнь на основі символів форматування тексту: прогалин, знаків пунктуації, знаків перекладу каретки. Розбивка тексту на речення ускладнюється відсутністю стандартного форматування тексту; точки, оклику, знаки питання, які зазвичай застосовуються як роздільники, можуть використовуватися не тільки в кінці, але і в середині речення. Речення є основною одиницею аналізу в багатьох системах, а в системах автоматичного реферування і вихідний текст складається з реченнь. Помилки в розпізнаванні речень істотно знижують ефективність таких систем в цілому.
Дедукційно-інверсійна архітектура декомпозиції тексту, відповідно до якої спочатку текст розбивається на абзаци, потім - на слова, потім із слів генеруються речення. Таким чином, декомпозиція починається з більшою одиниці (абзацу), потім здійснюється перехід до меншої одиниці (слова), потім - знову до більшої (речення). Дедукційно-інверсійна архітектура декомпозиції дозволяє ігнорувати такі компоненти тексту, як заголовки, підзаголовки, змісти, оскільки вони не входять до складу абзаців.
Синтаксична декомпозиція є основою для виконання цілого ряду алгоритмів розпізнавання фразової структури речення. Широко розповсюджені алгоритми виділення n-gram - словосполучень, що складаються з двох (біграми), трьох (триграми) і більше (тетраграми, пентаграми, гексаграми) токенів [2]. Розбивка на словосполучення в даному випадку проводиться з урахуванням позиції токену у реченні. Наприклад, речення John has a dog включає 4 юніграмми, 3 ді-грами (John has, has a, a dog), 2 тріграми (John has a, has a dog), 1 тетраграм - все речення. Кількість біграм для кожного речення (ng(s)) становитиме n-1, трігарм - n-2, де n-кількість токенів у реченні, тобто ng(s) = Wi-(n-1), Wi-(n-2), ... Wi-(nn), де wi - порядковий рівень n-gram, починаючи з біграм. Розпізнавання n-gram проводиться на основі відповідних правил.
Аналіз розподілу n-gram дозволяє виявити статистично значущі словосполучення і часто застосовується у стохастичних алгоритмах анотування тегами частин мови. При цьому початок і кінець речення позначаються деякими умовними тегами (false tags), що дозволяє розглядати в якості триграм навіть речення, що складаються з одного токену, і встановлювати імовірнісні параметри, необхідні для вибору того чи іншого тега.
Розподіли n-gram використовуються з метою автоматичної класифікації і категоризації, оскільки виступають в якості важливого параметра, що дозволяє визначити приналежність тексту до певної категорії, типу, групі, жанру. При аналізі на синтаксичному рівні в якості основної одиниці виступають біграми і діграмми, оскільки рекурентність словосполучень з великою кількістю токенів малоймовірна. Аналіз n-gram більшого порядку застосовується в системах автоматичної корекції орфографії, а також в системах автоматичного розпізнавання текстів (Optical Character Recognition), де основною одиницею виступають символи в токенах.
Для аналізу морфологічно значущих словосполучень застосовуються чанкери (chunkers), які на виході видають списки фраз певного типу (іменні, дієслівні, ад'єктивні, адвербіальні). Найбільш розповсюджені іменні (noun phrase) чанкери, що розпізнають словосполучення з керуючим іменником. Саме цим типом словосполучень позначаються об'єкти, описувані в тексті, а їх ранжування за ваговими коефіцієнтами дозволяє отримати список ключових слів, що відображають основний зміст тексту. Реферування тексту на основі словника іменників дозволяє отримати практично такі ж результати, як і реферування, що проводиться і з урахуванням слів, що відносяться до інших частин мови [3]. Розпізнавання словосполучень цього типу виконується на основі попереднього анотування тегами частин та об'єднання окремих частин мови у фрази на основі правил граматики.
Правила фразової структури були розроблені для англійської мови в рамках концепції генеративної граматики, запропонованої Н. Хомським. Граматичні правила записуються у вигляді NP → NN; NP → DetNN; NP → DetANN, де вказується склад словосполучення, в даному випадку іменного (noun phrase – NP), а також порядок слів [4]. У першому випадку показано, що іменне словосполучення може складатися тільки з одного іменника (NN); у другому випадку воно складається з детермінанта (Det) і іменника, причому детермінант займає позицію перед іменником, а зворотний порядок слів неправильний; у третьому випадку словосполучення складається з детермінанта, прикметника (А), іменника, при цьому інші варіанти словопорядка неправильні.
Ієрархічні синтаксичні структури застосовуються в системах машинного перекладу для встановлення еквівалентності синтаксичних структур у двох мовах. На синтаксичному рівні може проводитися декомпозиція не тільки на словосполучення і речення, а й на клаузи - елементарні предикативні структури, що виражають судження. Поняття клаузи певною мірою відповідає поняттю пропозиції в лінгвістиці, однак клаузи виділяються за формальними ознаками, до яких може відноситися, наприклад, наявність іменної групи і наступної за нею дієслівної групи. Розбивка на клаузи застосовується в системах інтелектуального аналізу для більш адекватної передачі змісту тексту.
Таким чином, в даній роботі розглянуті базові алгоритми автоматичної корекції текстів, а також спроектовано програмний комплекс, що дозволяє на автоматичному рівні виділяти помилки в документах з структурованою текстовою інформацією. Відмінною особливістю даного комплексу є його орієнтація на документи зі спеціалізованим текстом.
До перспективних завдань можна віднести наступні: розробка ефективних методів навчання класифікаторів визначення помилок і вдосконалення використовуваних алгоритмів.