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

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

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

Ако се от­на­сяш неб­реж­но към ня­коя ра­бо­та, тя ще ти до­не­се два пъ­ти по­ве­че непри­ят­ности.

раз­каз на мъд­ре­ца от оа­зи­са

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

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

Ако си пог­лед­не вър­ху проб­ле­ми­те на срич­копре­на­ся­не­то от исто­ри­ческа глед­на точ­ка, ще се за­бе­ле­жи не­що мно­го стран­но. Вместо очак­ва­но­то нав­ли­за­не в дъл­бо­чи­на и стре­меж към дости­га­не до един по-при­ем­лив и из­дър­жан стил, се за­бе­ляз­ва на­раст­ващ стре­меж към опростя­ва­не. Непри­ят­на­та кон­ста­та­ция е, че при раз­ра­бот­ва­не­то на програ­ми за срич­копре­на­ся­не се е ут­вър­дил прин­ци­па – „да напра­вим най-лес­но­то“… Зву­чи доста аб­сур­д­но, но пре­це­не­те са­ми:

1. Пър­ви­те дан­ни и раз­ра­бот­ки, ко­и­то бя­ха про­у­че­ни, са от 1978 г. [31] Ока­за се, че те са и най-доб­ри­ят под­ход, за кой­то мо­жа да се на­ме­ри све­де­ние от­нос­но въпро­си­те, ка­са­е­щи ав­то­ма­тич­но­то опре­де­ля­не на място­то на пре­нос в тек­сто­ве. Ав­то­ри­те са из­б­ра­ли най-труд­ния (но и най-пра­ви­лен от ли­те­ра­тур­на глед­на точ­ка) на­чин за срич­копре­на­ся­не, а имен­но мор­фо­ло­гич­ния прин­цип. Ос­вен то­ва, за раз­ли­ка от по-къс­ни­те раз­ра­бот­ки, са раз­г­ле­да­ни проб­ле­ми­те не са­мо на срич­копре­на­ся­не­то, но и на пре­но­са меж­ду ду­ми­те (т.е. вър­ху сти­ла на пре­на­ся­не, ма­кар и да има про­пус­на­ти важ­ни слу­чаи на заб­ра­ни за пре­нос, осо­бе­но в заг­ла­вия). Уни­кал­но е съ­що та­ка и въ­веж­да­не­то и из­пол­з­ва­не­то на по­ня­ти­е­то ква­зипристав­ка, ко­е­то от­части ре­а­ли­зи­ра ре­кур­сив­но мор­фем­ния ана­лиз на ду­ми­те, де­фи­ни­ра­но е и мно­жест­во от не­раз­дел­ни бук­во­съ­че­та­ния, как­то и мно­жест­во от заб­ра­не­ни бук­во­съ­че­та­ния, свър­за­ни с опре­де­ля­не на гра­ни­ци­те на те­зи ква­зипристав­ки. Ос­вен то­ва фор­му­ли­те и ин­дек­си­те се раз­г­леж­дат ка­то не­де­ли­ми състав­ки от сме­сен текст, обър­на­то е вни­ма­ние на съкра­ще­ни­я­та ка­то осо­бе­ност при пре­но­са. Тъй ка­то естест­ве­но по то­ва вре­ме програ­ми­те за стра­ни­ра­не не са би­ла достиг­на­ли се­гаш­но­то си рав­ни­ще, част от пред­ло­же­ни­те пра­ви­ла за пре­нос меж­ду от­дел­ни­те ду­ми ве­че са из­лиш­ни, тъй ка­то се­га те се под­дър­жат от са­ми­те тек­сто­ви ре­дак­то­ри (напри­мер пре­пи­на­тел­ни­те зна­ко­ве тряб­ва да оста­нат на гор­ния ред). Сре­щат се доста про­пуски по­ра­ди фак­та, че до сре­да­та на 80-те го­ди­ни дяс­но­то под­рав­ня­ва­не (по-пра­ви­лен би бил тер­ми­на двуст­ран­но под­рав­ня­ва­не – ан­г­лийски­ят тер­мин е justification) е ста­ва­ло чрез до­ба­вя­не на но­ви ин­тер­ва­ли, ко­е­то е би­ло не­об­хо­ди­мо зло, ти­пич­но за ста­ри­те при­ло­же­ния под DOS ка­то PE2, WORD 5, Edit и др. Се­га ве­че мо­же да се напред­не съ­щест­ве­но в та­зи об­ласт (напри­мер чрез таб­ли­ци на съ­сед­ст­во), по­зо­ва­вай­ки се на тех­но­ло­ги­я­та TrueType, за­ло­же­на в ос­но­ва­та на Windows от на­ча­ло­то на 90-те го­ди­ни, при ко­я­то проб­ле­мът с под­рав­ня­ва­не­то се ре­ша­ва по съв­сем друг на­чин [34]. Но въпре­ки те­зи си не­доста­тъ­ци, раз­ра­бот­ка­та [31] мо­же да се смя­та един при­ем­лив опит за ре­а­ли­за­ция на мор­фо­ло­гич­ния прин­цип при пре­на­ся­не­то в руски език.

2. Че­ти­ри го­ди­ни по-къс­но в [10] ве­ро­ят­но за пър­ви път в Бъл­га­рия се пред­ла­га и ва­ри­ант за ав­то­ма­тич­но съкра­ща­ва­не на опре­де­ле­ни ду­ми при не­об­хо­ди­мост. Ос­вен то­ва все още не са про­пус­на­ти спе­ци­фич­ни­те пра­ви­ла за пре­нос след со­нор­ни съг­лас­ни, те­о­ре­тич­но са за­ло­же­ни ос­но­ви­те за пре­на­ся­не­то на ду­ми след пристав­ка­та им и е от­бе­ля­за­на не­об­хо­ди­мост­та от съз­да­ва­не­то на спе­ци­а­лен реч­ник на из­к­лю­че­ни­я­та за ду­ми­те, ко­и­то не се под­чи­ня­ват на из­б­ро­е­ни­те пра­ви­ла. Съ­що та­ка са напра­ве­ни ня­кои за­бе­леж­ки за пре­но­са на ду­ми в сме­сен текст, кой­то се състои от ком­би­на­ция на бук­ви от аз­бу­ка­та и дру­ги непре­пи­на­тел­ни зна­ко­ве, но всъщ­ност те­зи пра­ви­ла не са фор­ма­ли­зи­ра­ни наг­лед­но, тъй ка­то и са­ми­ят ме­тод е чисто ев­ристи­чен, а и се за­бе­ляз­ват ня­кои про­пуски при са­мо­то им опи­са­ние. Мо­же да се смя­та, че [10] е ед­на ти­пич­на раз­ра­бот­ка на фо­не­тич­ния прин­цип при срич­копре­на­ся­не­то (пре­на­ся­не на срич­ки).

3. След 1983 г. за­ни­ма­ва­щи­те се с то­зи проб­лем за съ­жа­ле­ние се спи­рат на срич­копре­на­ся­не­то по ме­то­да на скан­ди­ра­не­то, ка­то се от­каз­ват от фо­не­тич­ния прин­цип, как­то и от как­ви­то и да би­ло реч­ни­ци на из­к­лю­че­ни­я­та (тъй ка­то те „на­раст­ват до не­до­пусти­ми гра­ни­ци“!?). Наб­ля­га се един­ст­ве­но на просто­та­та и нед­вус­мис­ли­е­то, за­ло­же­ни в но­ви­те пра­ви­ла за срич­копре­на­ся­не от 1983 г., ко­и­то ще бъ­дат об­стой­но ко­мен­ти­ра­ни по-до­лу. Из­вест­ни са пуб­ли­ка­ци­и­те на В. Нон­че­ва през 1988 г. в [19, 20], къ­де­то те­зи пра­ви­ла са фор­ма­ли­зи­ра­ни в таб­ли­ца от 22 ре­да, ка­то на­ред със са­мо­то срич­копре­на­ся­не за пос­ле­ден път се спо­ме­на­ва и за т. нар. стил на пре­на­ся­не, т.е. за пре­нос меж­ду ду­ми (ма­кар и да не е бил ре­а­ли­зи­ран фор­мал­но). От съ­ща­та го­ди­на има пуб­ли­ка­ция и на Е. Бе­ло­гай [2, 3, 4], кой­то кри­ти­ку­ва Е. Нон­че­ва за то­ва, че при пред­ста­вя­не­то на та­зи своя таб­ли­ца не е за­сег­на­ла въпро­са за ми­ни­мал­ност и непро­ти­во­ре­чи­вост на пред­ло­же­ния от нея ал­го­ри­тъм. Са­ми­ят Бе­ло­гай при­ла­га ме­то­да на кон­тек­ст­ни­те заб­ра­ни чрез т. нар. бигра­ми, ка­то раз­де­ля пра­ви­ла­та на ло­кал­ни и гло­бал­ни във връз­ка с то­ва до­кол­ко са за­ви­си­ми от кон­крет­но­то място­то в ду­ма­та или из­ре­че­ни­е­то ка­то ця­ло. Пет­най­сет­те пра­ви­ла са ми­ни­ми­зи­ра­ни до се­дем, за ко­и­то е ре­а­ли­зи­ран строг (и прост) ал­го­ри­тъм. А ка­то пред­ста­ви­тел на пос­лед­ни­те програ­ми и ал­го­рит­ми за срич­копре­на­ся­не (ре­а­ли­за­ци­я­та на ко­и­то меж­ду дру­го­то ве­че са тър­гов­ска тай­на и пуб­ли­ку­ва­не­то им е из­к­лю­че­но) мо­же да се по­со­чи раз­про­ст­р­а­не­на­та у нас програ­ма „Alpha-Hyphen“. Зад при­мам­ли­вия гра­фи­чен ин­тер­фейс оба­че се крие един пе­ча­лен аб­сурд – по вре­ме на ек­с­пе­ри­мен­ти­те вър­ху срич­копре­на­ся­не­то ѝ над раз­лич­ни тек­сто­ве, се уста­но­ви, че та­зи програ­ма пра­ви око­ло 6 пъ­ти (!) по­ве­че греш­ки в срав­не­ние напри­мер с доста по-нев­з­рач­на­та „Hyphen“, ко­я­то е мно­го по-бед­на от­към ин­тер­фейс и удоб­ст­во за пот­ре­би­те­ли­те.

За оцен­ка на из­б­ро­е­ни­те по-го­ре три ме­то­да при срич­копре­на­ся­не­то (мор­фо­ло­ги­чен, фо­не­ти­чен и ме­тод на скан­ди­ра­не­то) ще бъ­дат пред­ло­же­ни след­ни­те две прости фор­му­ли за на­ми­ра­не на ко­е­фи­ци­ент на пъл­но­та при срич­копре­на­ся­не­то (Р):

a formula

и ко­е­фи­ци­ент на греш­ки­те (R):

a formula,

къ­де­то

n – пре­но­си, напра­ве­ни от ек­с­перт лин­г­вист;

m – пре­но­си, напра­ве­ни чрез съ­от­вет­ния ал­го­ри­тъм;

mo – точ­но съв­па­де­ние при пре­но­си­те (вер­ни пре­но­си).

Яс­но е, че a formula, ка­то иде­ал­ни­ят за нас ва­ри­ант е P=1, R=0.

Мо­же да се твър­ди, че е мно­го по-важ­но да се ми­ни­ми­зи­ра R (ка­то се при­ла­га пре­нос на мор­фе­ми), от­кол­ко­то P да се приб­ли­жи до 1 (ко­е­то лес­но се пости­га по най-простия ме­тод – на скан­ди­ра­не­то). Съ­що та­ка при оцен­ка­та тряб­ва да се из­хож­да и от фак­та, че въз­при­е­ма­не­то на тек­ста от чо­век при че­те­не има прог­ности­чен ха­рак­тер, т.е. ко­га­то прог­но­за­та от пър­ва­та част на пре­не­се­на­та ду­ма про­ти­во­ре­чи на сми­съ­ла на ду­ма­та ка­то ця­ло, се на­ру­ша­ва про­це­са на че­те­не, ко­е­то мо­же и да не бъ­де тол­ко­ва за­бе­ле­жи­мо, но опре­де­ле­но во­ди до диском­форт и раз­д­раз­не­ние за че­тя­щия. То­ва мо­же да се до­ка­же са­мо с по­мощ­та на раз­лич­ни пси­хо­ло­ги­чески тесто­ве, за про­веж­да­не­то на ко­и­то са не­об­хо­ди­ми сред­ст­ва, хо­ра, тех­ни­ка и пра­вил­на ме­то­до­ло­гия. Но та­ка или ина­че пра­ви­ла­та на пре­на­ся­не­то не се свеж­дат са­мо до фор­му­ли­ра­не на пра­вил­ни пос­ле­до­ва­тел­ности, а има и ер­го­но­ми­чен ха­рак­тер [1]. При­мер за непра­ви­лен от та­зи глед­на точ­ка пре­нос е пре-диз­вестие или зад-виж­вам, за­що­то за из­вестен (ма­кар и ма­лък) пе­ри­од от вре­ме, свър­зан с пред­виж­ва­не­то на очи­те по ши­ри­на­та на тек­ста, чо­веш­ка­та се­тив­ност и съз­на­ние оста­ват из­лъ­га­ни. Ав­то­ма­тич­ност­та не тряб­ва да во­ди до сни­жа­ва­не на ези­ко­ва­та кул­ту­ра за смет­ка на при­до­би­та­та просто­та и сво­бо­да на дейст­вие. А ако по­тър­сим при­чи­ни­те за се­гаш­но­то състо­я­ние на не­ща­та, то мо­жем да стиг­нем до непри­ят­но­то пред­по­ло­же­ние, че хо­ра­та, ко­и­то са спо­соб­ни да фор­ма­ли­зи­рат и ко­ди­рат ут­вър­де­ни­те в те­че­ние на ве­ко­ве кни­жов­ни пра­ви­ла за пре­нос (ста­ва въпрос за ко­мер­си­ал­ни, ра­бо­те­щи програ­ми, а не за раз­ра­бот­ки, близ­ки до проб­ле­ми­те на из­куст­ве­ния ин­те­лект, чи­я­то ре­а­ли­за­ция в Бъл­га­рия яв­но е въпрос на да­леч­но бъ­де­ще), из­пит­ват не­хайст­во (или по-ско­ро пре­неб­ре­же­ние) към естест­ве­ния език, на кой­то го­во­рят. За да не бъ­де то­ва твър­де­ние го­лос­лов­но, мо­же лес­но да се про­ве­ри, че през пос­лед­ни­те го­ди­ни най-не­из­дър­жа­ни­те от­към стил и ли­те­ра­тур­ни достойн­ст­ва кни­ги са те­зи, на­пи­са­ни от и за програ­мисти. Ка­то най-фра­пан­т­ни при­ме­ри ще по­со­ча „Windows. Фун­да­мен­тал­ни поста­нов­ки“ – I част (MacroSys Co, 1994), „Borland C++. Обек­т­но­о­ри­ен­ти­ра­но програ­ми­ра­не“ (NISOFT, 1995), „Гра­фи­ка в сре­да­та на Microsoft Windows“ (AlexSoft) и „Как да пи­шем на­деж­д­ни програ­ми“ (NISOFT, 1994), как­то и мно­го, мно­го дру­ги. И до­ка­то греш­ки­те, за­бе­ля­за­ни след вре­ме в програ­ми­те, под­ле­жат на ко­рек­ция при след­ва­ща вер­сия, на­пе­ча­та­ни­те кни­ги, вест­ни­ци и ста­тии ня­ма как да бъ­дат ко­ри­ги­ра­ни. Те мо­гат да пос­лу­жат ка­то ве­щест­ве­но до­ка­за­тел­ст­во за оче­вид­на кри­за и в ези­ко­ва­та кул­ту­ра на об­щест­во­то ни.

Ако се пог­лед­не по-да­леч в бъ­де­ще­то на та­зи об­ласт, мо­же би ще се ка­же, че то при­над­ле­жи на из­граж­да­не­то на тран­с­ла­то­ри на пра­ви­ла, ко­и­то би­ха при­да­ли не­ве­ро­ят­на си­ла и гъв­ка­вост на за­ло­же­ни­те ал­го­рит­ми, тъй ка­то те ве­че ня­ма да бъ­дат па­сив­ни – пра­ви­ла, а ак­тив­ни – вход­ни дан­ни. Не­об­хо­ди­мо е пот­ре­би­те­лят на по­доб­ни про­дук­ти да мо­же сам да наст­рой­ва пра­ви­ла­та, чрез ко­и­то ще об­ра­бот­ва своя текст. За­се­га лип­са­та на по­доб­ни тран­с­ла­то­ри мо­же да се обяс­ни с мно­жест­во­то слож­ни проб­ле­ми ко­и­то се из­пра­вят пред ре­а­ли­за­ци­я­та им ка­то напри­мер непро­ти­во­ре­чи­вост на пра­ви­ла­та, де­тер­ми­ни­ра­ност (пъл­но­та), сред­ст­ва за ми­ни­ми­зи­ра­не (оп­ти­ми­зи­ра­не) и т. н. Съ­що та­ка труд­ности въз­ник­ват и от не­об­хо­ди­мост­та те­зи пра­ви­ла да се пре­да­ват на меж­ди­нен език, кой­то оба­че тряб­ва да бъ­де твър­де бли­зък до чо­веш­кия, тъй ка­то огром­на­та част от пот­ре­би­те­ли­те на те­зи програ­ми ня­ма да бъ­дат програ­мисти.

За­се­га е ре­ал­но и обоз­ри­мо един­ст­ве­но пре­доста­вя­не­то на раз­лич­ни ва­ри­ан­ти за из­бор, тъй ка­то важ­ност­та на спо­ме­на­ти­те по-го­ре ко­е­фи­ци­ен­ти P и R ряз­ко мо­же да се про­ме­ни до­ри са­мо от то­ва, да­ли ма­те­ри­а­лът, кой­то под­ле­жи на об­ра­бот­ка, ще бъ­де текст от кни­га или ста­тия от вест­ник (раз­ли­ка­та ид­ва пре­ди всич­ко от ши­ри­на­та на по­ле­то на ко­ло­ни­те, вж. т. 4.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. Някои статистики и резултати от проведени изследвания