Automatická korektura textů: Počítače dokáží rozpoznat i stylistické chyby

Člověk |

Ač se styl (sloh) považuje za umění nadřazené prosté schopnosti používat gramatiku, v automatické korektuře stylistických chyb se dá dosáhnout vyšší míry úspěšnosti než v korektuře gramatické.




***pravidelné páteční „přetištění“ staršího článku

 

Automatizace korektury textů vytvářených pomocí počítačů je velmi důležitá – ani ne tak z hlediska člověka jako předpokládaného čtenáře textů (ten si vždycky dokázal a dokáže leccos domyslet na základě svých obecných znalostí), ale právě z hlediska předpokládané automatizace následných operací, indexováním počínaje a překládáním či učením z textu konče.


Automatizace korektury textu může mít různě náročně stanovený cíl:
– Zjistit, kde je v textu pravděpodobně chyba.
– Navrhnout nejpravděpodobnější opravy zjištěné chyby.
– Automaticky opravit zjištěnou chybu.
Už i samotné splnění 1. cíle je samozřejmě pro autora textu užitečné. Celkové hodnocení systému automatizace korektury bude ovšem vždy záležet na tom, zda systém neindikuje svá podezření příliš často – na základě své neschopnosti porozumět, co text sděluje. Přitom je nutno si uvědomit, že požadovat indikaci výlučně na místech, kde je chyba, není principiálně možné.

Strom možností

Uvažte například následující větu: XY napsal, že „jeho konkurenti nebyly úspěšnější“.
Spletl se autor této věty, anebo měl v úmyslu zesměšnit XY poukázáním na to, že neovládá gramatiku? Nepochybně si lze představit kontext, ve kterém by ani člověk nedokázal tuto otázku rozhodnout. Autor textu by samozřejmě měl vědět, jak to myslel, ale po korektorovi, ať už lidském nebo automatickém, to může požadovat jen těžko.
Pro uživatele systému automatizované korektury je pochopitelně pohodlnější, když splňuje i 2. cíl, tj. u každé zjištěné pravděpodobné chyby sám nabízí nejpravděpodobnější varianty, jak by mohla být opravena (a ideálně je také schopen na základě volby uživatele sám provést opravu). Také zde ovšem záleží na tom, nakolik systém dokáže adekvátně vyhodnotit skutečně nejpravděpodobnější možnosti oprav. Není to rozhodně triviální úloha. Teoretická alternativa – nabízet vždy všechny možné náhrady daného pravděpodobně chybného řetězce – je totiž opravdu jen teoretická. Systém nikdy nemůže s jistotou vymezit, k jaké maximální kumulaci chyb v určitém místě textu došlo. Písaři mohou konec konců ujet ruce i takovým způsobem, že všechna písmena slova jsou špatně.
Ve světle všeho, co jsme zatím uvedli, se zdá téměř nesmyslné snažit se o splnění 3. cíle – plně automatického opravování byť třeba i jen některých zjištěných chyb. Přesto lze teoreticky i prakticky stanovit určité velmi omezené podmínky, za kterých by mohlo být i plně automatické opravování určitých chyb zdůvodnitelné.

Lingvistické roviny

Náročnost splnění jednotlivých výše uvedených cílů závisí pochopitelně také na tom, jak komplexních jazykových jevů si má automatizovaná korektura všímat. Lingvistické úrovně (nebo snad spíš roviny) automatizované korektury lze rozlišit zhruba tyto:
– kontrola pravopisných a mechanických chyb;
– kontrola gramatických chyb;
– kontrola stylových (stylistických, slohových) chyb.
Vztah mezi těmito úrovněmi není nadto úplně hierarchický. Je pravda, že 1. úroveň – pravopisná a mechanická korektura – může být (a také často je) implementována nezávisle na ostatních. Gramatická korektura (ve své úplnosti) představuje něco navíc.
Popsaný jev si lze ukázat na větě: „Ivan odešel sál.“ Tato věta je z pravopisného hlediska v pořádku (obsahuje jen správně napsaná slova!), je ovšem gramaticky chybně sestavená. Navíc není snadné určit, ve kterém slově je vůbec chyba schována. Chtěl pisatel napsat „obešel“ místo „odešel“? Anebo chtěl napsat „dál“ nebo „sám“ místo „sál“? Anebo chtěl napsat např. „odešel před sál“ a vynechal jedno slovo?
Korektura stylu by samozřejmě měla stavět alespoň na částečném zvládnutí gramatických jevů. Praxe však ukazuje, že dost účinnou stylistickou korekturu může provádět i systém, který nedokáže každou větu přesně a úplně ohodnotit z hlediska možných gramatických chyb (což se naopak ukazuje jako prakticky nemožné). Tento článek bude podrobněji zaměřen právě na korekturu stylistickou.

Software stylistou

Jakkoli se styl (sloh) obvykle považuje za umění nadřazené prosté schopnosti používat gramatiku, ukazuje se, že v automatické korektuře stylistických chyb se dá snáze dosáhnout vyšší míry úspěšnosti než v korektuře gramatické. Někdy to dokonce vypadá tak, že právě korektura slohu je skutečnou silnou stránkou nástroje, který je z komerčních důvodů nazýván gramatický korektor.
Je pravda, že stylistická korektura obvykle nezahrnuje takové prvky, jako je například správná věcná návaznost jednotlivých vět, nemluvě třeba o celkové výstavbě textu s logicky odlišitelným úvodem, jádrem a závěrem. Přesto lze automaticky testovat velké množství jevů, které mohou být označeny jako stylistické chyby a jejichž odstranění je pro kvalitu, čitelnost a čtivost textu velmi užitečné.
Hodně může pomoci už hodnocení jednotlivých slov (případně některých jejich tvarů) vzhledem k zaměření textu. Automatický korektor například může upozornit uživatele, jenž není úplně zběhlý v jazyce, kterým píše obchodní dopis, že výraz jako „dát si“ je spíše hovorový a do obchodního dopisu nevhodný. K tomu stačí, aby byla všechna slova ve slovníku zařazena do určitých stylových tříd a aby uživatel měl možnost vybrat si z nabídky systému, že to, co píše, má být obchodní dopis (čímž nastaví míru vhodnosti jednotlivých stylových tříd slov). Pokud by korektor navíc zahrnoval vhodně koncipovaný slovník (tezaurus), mohl by i navrhnout náhradu – např. spojení „stanovit termín“ místo „dát si termín“.
Poměrně velmi snadná a pro řadu tematických oblastí textů užitečná je rovněž automatická detekce jistých často používaných víceslovných obratů, kterým by bylo lepší se vyhnout, protože jsou:
– vágní (v podstatě ničím nepřispívají k jádru sdělení – jako např. „více či méně“);
– zbytečně rozvláčné (lze je úspěšně nahradit jedním slovem – např. „vzít v úvahu“, „v případě, že“);
– redundantní (říkají dvakrát totéž – jako např. spojení „v případě, pokud“).
Vzhledem k tomu, že detekce takových výrazů se patrně musí opírat o tabulku (slovníček), kde jsou tyto výrazy vyjmenovány a klasifikovány, zdá se být vcelku snadné doplnit i funkci nabídky jejich interaktivní opravy: u vágního výrazu může systém nabídnout jeho vypuštění, u rozvláčného nebo redundantního výrazu náhradu jedním slovem, kterou najde ve své tabulce.
Další poměrně snadno kontrolovatelný prohřešek proti slohové správnosti představuje příliš velká hloubka rozvíjení určitou stále stejnou kategorií doplnění. Prohřešek lze mimochodem vidět už v této definici; jistě stojí za to uvést další příklady. Tak třeba v angličtině je evidentně slohově nevhodné každé spojení typu „A of B of C“; obdobně se i v češtině posloupnost tří (nebo přinejmenším čtyř) podstatných jmen s opakující se vazbou (jako třeba „měření hloubky ponoru lodi“) obvykle pokládá za nepříliš slohově vhodnou konstrukci.
Styl textu mohou nepřímo pomoci vylepšit jeho nejrůznější statistické analýzy. Uživatel může být například upozorněn, že velmi často používá určité slovo na začátku věty. Označovány mohou být také jednotlivé – z hlediska určeného stylu – nadprůměrně dlouhé věty.
Ještě zajímavější pak může být, spočítá-li automatický korektor průměrnou délku vět, případně i slov, podíl cizích slov a podobné parametry celého právě kontrolovaného textu a srovná je s průměrnými hodnotami známými pro nastavenou stylovou (tématickou) oblast. Systém Grammatik, dnes integrovaný do textového editoru Corel WordPerfect, dokonce souhrn těchto parametrů převádí na jakýsi index srozumitelnosti, podle kterého může autor odhadnout, zda nenapsal text příliš náročný s ohledem na jeho předpokládané čtenáře.

Automatické opravy

Zajímavou úlohu představuje určení nejnadějnějších náhrad chybně napsaného slova. Řešení problému spočívá v nalezení určitého rozumného množství znakových řetězců, které splňují dvě podmínky:
– Příliš se neliší od chybného slova v textu.
– Jsou v systému ověřitelné jako přípustné tvary existujících slov.
Zbývá přesněji definovat pro dva řetězce znaků pojem „příliš se nelišit“. Obvykle se vychází z předpokladu, že pisatel se v chybně napsaném slově dopustil nejmenšího možného počtu elementárních grafických chyb, které se rozdělují do čtyř tříd:
– záměna písmena,
– vynechání písmena,
– přidání písmena,
– záměna pořadí (prohození) dvou sousedních písmen.
Uvedené čtyři kategorie jsou univerzální pro jazyky používající jakékoli hláskové písmo. V konkrétních jazycích nicméně může mít – vzhledem ke konkrétním pravopisným specifikům – smysl uvažovat i o dalších kategoriích chyb, které prohlásíme za elementární. Do takové kategorie spadá např. vzájemná záměna určitého písmena a dvojice jiných písmen (jako třeba ě<->je v češtině). Systém by tedy měl zkoušet nejprve jednou takovou elementární úpravou, v případě neúspěchu pak kombinací dvou, tří atd. vytvořit z chybného řetězce řetězec, který by bylo možno považovat za správný.
Například ze slova „enter“, pokud se ho systém snaží korigovat podle českých pravidel, se ani jednou elementární úpravou nedá dojít ke slovu odpovídajícímu českému slovníku a morfologii – ledaže by slovník zahrnoval chemický termín „ester“, anebo tolkienovské slovo „ent“, od kterého je 7. pád „entem“. Dvěma elementárními úpravami již lze dojít k většímu úspěchu: například lze nabídnout slova „éter“ a „neteř“. Takovým způsobem známé automatické korektory pravopisu opravdu fungují. Zvolený příklad ovšem zároveň opět ukazuje, jak problematické může být samo rozpoznávání pravděpodobných chyb, např. v textech o práci na počítači.
Další otevřenou otázkou samozřejmě je, v jakém pořadí zkoušet všechny možné elementární úpravy daného řetězce, což může mít podstatný vliv na efektivitu systému.
Zajímavá strategie by se mohla opírat o tabulku pravděpodobností digramů, resp. trigramů (dvojic, resp. trojic sousedních písmen) v daném jazyce. S pokusnými elementárními úpravami by se pak mohlo začít na místě, kde je v daném řetězci nejméně pravděpodobný digram (trigram).
Lze také vyjít z ohodnocení jednotlivých konkrétních elementárních chyb v~určitém jazyce nějakou váhou, odrážející, jak běžná či naopak vzácná určitá chyba je. Zde by měly být zohledněny dva jevy:
– obecně oblíbené omyly v daném jazyce – například v češtině se s velkou oblibou zaměňují písmena s<->z;
– typické překlepy dané uspořádáním klávesnice. Automatický korektor by měl přednostně dokázat řešit typické překlepy dané konkrétním uspořádáním klávesnice. Do této skupiny chyb patří např. vzájemné záměny dvojic písmen nacházejících se na sousedních klávesách (a<->s), záměny písmen (či obecně znaků) v souvislosti s přepínáním národních klávesnic (u Čechů y<->z, 2<->ě apod.) nebo záměna pořadí dvou písmen, která jsou na opačných stranách klávesnice, u písaře píšícího oběma rukama (ak<->ka apod.).
Strategie přihlížející k výše uvedeným speciálním vlastnostem daného jazyka či konkrétního „počítačového prostředí“ mohou výrazně urychlit nalezení a uplatnění právě toho slovního tvaru, který měl písař na mysli, ale nenapsal.











Komentáře

29.07.2014, 02:58

.... thanks!...

Napsat vlastní komentář

Pro přidání příspěvku do diskuze se prosím přihlašte v pravém horním rohu, nebo se prosím nejprve registrujte.