АЛГОРИТМИ И ПРОГРАМИ В ТЕКСТООБРАБОТКАТА

(дипломна работа, София, ФМИ, 1995 г.)

„Аз Ози­ман­дий съм и цар съм над ца­ре­те! Де­ла­та мои всич­ки със за­вист пог­лед­не­те!“.

Пър­си Ше­ли, 1818

1. Увод

Тук са раз­г­ле­да­ни ня­кои проб­ле­ми и ас­пек­ти на ал­го­рит­ми­те и програ­ми­те при тек­сто­об­ра­бот­ка. До­кол­ко са ак­ту­ал­ни те­зи проб­ле­ми мо­же да се съ­ди по фак­та, че през пос­лед­ни­те го­ди­ни поз­на­ва­не­то и из­пол­з­ва­не­то на програ­ми за на­би­ра­не и офор­мя­не на тек­сто­ве се пре­вър­на ед­ва ли не в си­но­ним на ком­пю­тър­на­та гра­мот­ност.

Нав­ся­къ­де с цел улес­не­ние при че­те­не­то, са из­пол­з­ва­ни след­ни­те шриф­то­ве за гра­фич­ни оз­на­че­ния:

текст кур­сив за из­вест­ни тер­ми­ни (пра­ви­ла, оз­на­че­ния, де­фи­ни­ции и др.), ко­и­то не сто­ят в ос­но­ва­та на из­ло­же­ни­е­то;
текст кур­сив-по­лу­чер за из­вест­ни тер­ми­ни (пра­ви­ла, оз­на­че­ния, де­фи­ни­ции и др.), ко­и­то са твър­де съ­щест­ве­ни за раз­ви­ти­е­то на из­ло­же­ни­е­то;
текст по­лу­чер за но­ви тер­ми­ни (пра­ви­ла, оз­на­че­ния, де­фи­ни­ции и др.), въ­ве­де­ни и/или раз­ви­ти за пър­ви път тук (бел. а. – 1994 г.);
текст програм­на част, мно­жест­ва, фла­го­ве, фун­к­ции, при­ме­ри.

(При­мер. За улес­не­ние то­ку-що бя­ха въ­ве­де­ни че­ти­ри раз­лич­ни шриф­та за гра­фич­ни оз­на­че­ния).

Тъй ка­то по­ня­ти­е­то тек­сто­об­ра­бот­ка е твър­де об­шир­но (от вся­как­ва глед­на точ­ка), за да се вне­се по-го­ля­ма яс­но­та вър­ху то­ва как­во тук ще се раз­би­ра под тек­сто­об­ра­бот­ка и за да се ло­ка­ли­зи­ра по­ле­то на из­с­лед­ва­не, се пред­ла­га след­на­та схе­ма, ко­я­то по­каз­ва ос­нов­ни­те ру­тин­ни дей­ности при из­вър­ш­ва­не на пред­пе­чат­на под­го­тов­ка (фиг. 1).

Схе­ма 1

Как­то се виж­да от фи­гу­ра­та, про­це­сът на пред­пе­чат­на­та под­го­тов­ка мо­же ус­лов­но да се раз­де­ли на три ета­па: пър­ви етапна­бор на текст (тек­сто­ве); вто­ри етаптек­сто­об­ра­бот­ка; тре­ти етапгра­фи­чен ди­зайн. Тук ня­ма да се ин­те­ре­су­ва­ме тол­ко­ва от про­це­си­те на пър­во­на­чал­но­то на­би­ра­не на тек­сто­ве, как­то и от стра­ни­ра­не­то на об­ра­бо­те­ни тек­сто­ве и свър­з­ва­не­то им в гра­фи­чен ма­кет. Вто­ри­ят етап, кой­то ще бъ­де в цен­тъ­ра на то­ва про­уч­ва­не, се състои от че­ти­ри ос­нов­ни фун­к­ции – пре­мах­ва­не на из­лиш­но­то фор­ма­ти­ра­не и сгло­бя­ва­не­то на наб­ра­ни­те тек­сто­ве в един файл, ав­то­ма­ти­зи­ра­на про­вер­ка за пра­во­пис­ни и пун­к­ту­а­ци­он­ни греш­ки, ко­рек­ции на тек­сто­ве и срич­копре­на­ся­не.

А за­що не се обър­не по­ве­че вни­ма­ние на пос­лед­ния, тре­ти етап? Не е ли той по-ва­жен и ин­те­ре­сен? Не се ли на­ри­ча и той тек­сто­об­ра­бот­ка? Тряб­ва вед­на­га да се от­бе­ле­жи, че сред про­фе­си­о­на­листи­те фун­к­ци­и­те от тре­тия етап на фи­гу­ра­та се на­ри­чат по три на­чи­на: „стра­ни­ра­не“, „ма­ке­ти­ра­не“ и „ком­пю­тъ­рен ди­зайн“. А за да се обяс­ни за­що фо­ку­сът на вни­ма­ни­е­то е на­со­чен имен­но вър­ху вто­рия етап, мо­же да се напра­ви ед­на проста ана­ло­гия. На все­ки програ­мист е из­вест­но, че кол­ко­то по-доб­ре са кон­ст­ру­и­ра­ни и об­мис­ле­ни струк­ту­ри­те от дан­ни на не­го­ва­та програ­ма, тол­ко­ва по-ефек­тив­на и сил­на е тя (т.е. доб­ре е пред­ва­ри­тел­но да е съ­об­ра­зе­на кон­ст­рук­ци­я­та им съг­лас­но опе­ра­ци­и­те, ко­и­то ще се на­ло­жи да се при­ла­гат над тях). Пра­вил­ни­ят из­бор на струк­ту­ра­та от дан­ни во­ди до истин­ска­та ефек­тив­ност на доб­ри­те ал­го­рит­ми. По съ­щия на­чин кол­ко­то по-мал­ко греш­ки и тех­ни­чески не­ред­ности има в един текст, кол­ко­то по-чист и пер­фек­т­но под­гот­вен е той, тол­ко­ва по-лес­на и без­проб­лем­на е не­го­ва­та гра­фич­на об­ра­бот­ка пред­вид мал­ко­то ко­рек­ции, ко­и­то се на­ла­гат впос­лед­ст­вие. Или ако се вър­нем на фиг. 1, мо­же да се ка­же, че пра­вил­на­та и из­чер­па­тел­на об­ра­бот­ка на тек­сто­ве­те на тек­сто­во рав­ни­ще играе из­к­лю­чи­тел­но важ­на ро­ля при ра­бо­та­та в гра­фич­ния етап. Ни­ка­къв гра­фи­чен ал­го­ри­тъм или ре­дак­тор (за­се­га) не е в състо­я­ние да опра­ви ав­то­ма­тич­но бър­ко­ти­и­те от по-ниско рав­ни­ще. Дру­га­та при­чи­на е, че цел­та тук не е да се пов­та­ря накрат­ко из­вест­ни ве­че не­ща, а да се да­дат ня­кои но­ви пред­ло­же­ния и виж­да­ния за за­сег­на­ти­те проб­ле­ми, ко­и­то, ма­кар и нез­на­чи­тел­ни на пръв пог­лед, би­ха мог­ли да се ока­жат по­лез­ни в прак­ти­ка­та. И кол­ко­то на по-ниско, по-фун­да­мен­тал­но рав­ни­ще са те, тол­ко­ва по-доб­ре.

От дру­га стра­на, тряб­ва да се под­чер­тае, че за все­ки от пред­ло­же­ни­те ал­го­рит­ми и идеи са взе­ти под вни­ма­ние прак­ти­ческо­то им при­ло­же­ние и вза­и­мов­ръз­ка с гра­фич­ни­те осо­бе­ности на тек­сто­ве­те, т.е. взе­ти­те ре­ше­ния и пред­ло­же­ни­те идеи не са из­ве­де­ни от­къс­на­то и са­ми за се­бе си. За­то­ва в пос­лед­на­та част е обър­на­то вни­ма­ние и на ня­кои ас­пек­ти от чисто гра­фич­ни ха­рак­те­ристи­ки, осо­бе­ности и мет­ри­ки, ко­и­то най-сил­но се вли­я­ят от пра­вил­на­та пред­ва­ри­тел­на об­ра­бот­ка на тек­сто­во рав­ни­ще.

<< на­зад | от­го­ре | напред >>

Съдържание

0. Встъпление

1. Увод

2. Сричкопренасяне

2.1. Малко история

2.2. Правила за сричкопренасяне от 1983 г.

2.3. Метод на скандирането

2.4. Алгоритъм на сричкопренасянето по фонетичен и морфологичен принцип

2.4.1. Алгоритъм за откриване на морфема в дума

2.4.2. Алгоритъм за анализ на буква

2.4.3. Алгоритъм за анализ на дума

2.4.4. Алгоритъм за анализ на текст

2.4.5. Други възможности

3. Автоматизирано откриване и отстраняване на грешки в текст

3.1. Дефиниции и понятия

3.2. Често допускани грешки

3.3. Класификация на правилата

3.4. Примерна програмна реализация на локалните правила

3.4.1. Нови дефиниции, променливи, флагове и множества

3.4.2. Таблица на локалните правила

3.4.3. Функции, необходими за реализация на локалните правила

3.5. Глобални правила

3.5.1. Класификация на думите в текст на равнище знакове

3.5.2. Функции, необходими за реализация на глобалните правила

3.5.3. Функции и идеи, които предстоят да бъдат осъществени

4. Някои метрики в текстообработката

4.1. Текстови и шрифтови метрики

4.2. Сложност на текст

4.3. Професионализъм на предпечатната подготовка

4.3.1. Използване на възможностите на програмите чрез дефиниране на различни стилове

4.3.2. Премахване на излишното форматиране

4.3.3. Използване на възможностите за настройка на основните отношения между и в параграфите

5. Заключение

6. Литература

7. Приложениe

7.1. Списък на книгите, върху които са направени експерименти

7.2. Някои статистики и резултати от проведени изследвания