Gramatika: ispravi.me sada čita cijelu rečenicu

U ovom članku
Pravopisni provjernik dobro zna je li riječ napisana ispravno. Teže je s rečenicama poput „Lagao me je”: svaka riječ u njoj postoji, a rečenica ipak nije ispravna. Da bi takvu pogrešku prepoznao, alat mora razumjeti kako su riječi u rečenici povezane: koja je riječ glagol, što mu je dopuna i u kojem padežu treba biti.
Upravo to novi ispravi.me sada radi. U članku Zašto smo uveli ograničenja korištenja napisali smo da novi ispravi.me ne provjerava samo pojedinačne riječi, nego analizira svaku rečenicu u cjelini i da je to znatno veći računalni posao. Ovdje objašnjavamo što se pritom događa, kako se analiza koristi za prijedloge i koliko joj se može vjerovati.
Kako CLASSLA čita rečenicu
Svaku rečenicu raščlanjuje CLASSLA-Stanza, otvoreni jezični analizator za hrvatski i srodne južnoslavenske jezike. Razvija ga CLASSLA, CLARIN-ov centar znanja za južnoslavenske jezike, na temelju alata Stanza sa Sveučilišta Stanford. Na toj stranici možete preuzeti cijeli paket, a način rada i mjerenja opisani su u radu CLASSLA-Stanza: The Next Step for Linguistic Processing of South Slavic Languages (Terčon i Ljubešić, 2023).
CLASSLA nema ugrađena gramatička pravila. To je neuronska mreža koja je učila na ručno označenim hrvatskim tekstovima: u korpusu hr500k, od otprilike pola milijuna riječi, jezikoslovci su svakoj riječi odredili vrstu, osnovni oblik i vezu s ostalim riječima u rečenici. Iz tih je primjera naučila procjenjivati kako označiti i rečenice koje nikad nije vidjela. Pomažu joj i prikazi riječi naučeni na velikim zbirkama hrvatskoga teksta te rječnik oblika riječi, kojim provjerava osnovne oblike.
Rečenicu obrađuje u nekoliko koraka:
- Vrsta riječi i gramatička obilježja. Za svaku riječ određuje je li imenica, glagol, zamjenica, pridjev… te rod, broj, padež, lice, vrijeme i druga obilježja. Mreža čita rečenicu i slijeva i zdesna, pa odluka o jednoj riječi uvijek uzima u obzir sve ostale. Tako razlikuje oblike koji se pišu jednako, a znače različito.
- Osnovni oblik. Svaki oblik vraća na rječničku riječ: knjigu na knjiga, posudila na posuditi.
- Sintaktičko stablo. Svaka riječ „pokazuje” na riječ o kojoj ovisi i dobiva ulogu u toj vezi: subjekt, objekt, pomoćni glagol, odredba… Na vrhu stabla obično je glagol.
Svi su ti koraci za svaku rečenicu zaseban račun, pa je analiza mnogo zahtjevnija od usporedbe riječi s rječnikom.
Primjer: što se sazna o jednoj rečenici
Rečenica Lagao me je. raščlanjena je ovako:
| Riječ | Osnovni oblik | Vrsta | Obilježja | Veza |
|---|---|---|---|---|
| Lagao | lagati | glagol | glagolski pridjev radni, muški rod, jednina | korijen rečenice |
| me | ja | osobna zamjenica | 1. lice, jednina, akuzativ | objekt glagola lagao |
| je | biti | pomoćni glagol | 3. lice, jednina, prezent | pomoćni glagol uz lagao |
| . | interpunkcija | uz lagao |
Iz toga se vidi sve što treba da bi se uočila pogreška: me je zamjenica u akuzativu koja je dopuna glagola lagati. Alat tu rečenicu ne razumije, ali zna koja riječ uz koju pripada i u kojem je obliku.
Složenije rečenice daju i složenije stablo. Za Pročitao sam knjigu koju mi je posudila sestra. CLASSLA vraća ovo:
pročitao korijen rečenice
├─ sam pomoćni glagol
├─ knjigu objekt (što je pročitao)
│ └─ posudila zavisna rečenica uz imenicu „knjigu”
│ ├─ koju objekt (što je posudila)
│ ├─ mi dopuna glagola
│ ├─ je pomoćni glagol
│ └─ sestra subjekt (tko je posudila)
└─ .
Zato je jasno da se koju odnosi na knjigu, a ne na sestru, i da je sestra ona koja je posudila. Tu vrstu podataka (rod, broj i padež svake riječi, što čemu pripada, gdje počinje zavisna rečenica) uzimamo kao polaznu točku za provjeru.
Kako se analiza koristi za prijedloge
Analiza sama ne ispravlja ništa: ona samo opisuje rečenicu. Pogreške otkrivaju pravila koja na toj opisanoj rečenici provjeravaju određeni uzorak. Slijed za Lagao me je. izgleda ovako:
- Uočavanje. Analiza kaže da je me zamjenica u akuzativu koja je dopuna glagola lagati.
- Provjera pravila. Lagati je na popisu glagola koji uz sebe ne dopuštaju akuzativ, nego traže dativ (lagati komu, ne koga). Popis smo izradili iz rječnika dopuna glagola i u njemu su samo glagoli za koje je to sigurno. Glagoli koji u nekom značenju ipak dopuštaju akuzativ namjerno nisu uključeni.
- Sigurnosne provjere. Ne upozoravamo ako uz zamjenicu stoji prijedlog (vjerovati u mene), ako zamjenica možda pripada drugom glagolu u rečenici (Došao me je vidjeti), jer tada nije sigurno kojem glagolu pripada.
- Prijedlog. Iz osnovnog oblika (ja) i traženog padeža (dativ) slaže se ispravan oblik, i to u istom registru kao u tekstu: kratki oblik daje kratki (me → mi), a dugi dugi (mene → meni).
Isti se postupak ponavlja za ostala pravila. Kod slaganja riječi uspoređuju se rod, broj i padež riječi koje analiza povezuje (svoj karijeru), a ispravan oblik slaže se iz osnovnog oblika i obilježja (svoj + akuzativ jednine ženskog roda = svoju). Kod koji i kojeg važno je je li imenica živa ili neživa, a kod zareza gdje počinje i gdje završava zavisna rečenica.
Što sada prepoznajemo
- Padež uz glagol (rekcija). Neki glagoli traže dativ ili genitiv, a ne akuzativ: najčešći je primjer Lagao me je. → Lagao mi je.
- „Koji” ili „kojeg”. Kad se odnosi na nešto neživo muškog roda, u akuzativu jednine pravilno je koji: automobil kojeg vozim → automobil koji vozim.
- Buduće vrijeme. Kad pomoćni glagol dolazi iza infinitiva, infinitiv se krati: gledati ću → gledat ću, a kad dolazi ispred, ne krati se: ću gledat → ću gledati.
- Broj i imenica. Uz brojeve dva, tri i četiri imenica dolazi u odgovarajućem obliku: tri prozori → tri prozora.
- Zamjenica i imenica. Posvojne i pokazne zamjenice slažu se s imenicom u rodu, broju i padežu: svoj karijeru → svoju karijeru.
- „Kći” ili „kćer”. U nominativu je kći, a u akuzativu kćer. Koji je padež potreban, otkriva tek uloga riječi u rečenici: Moja kćer je došla. → Moja kći je došla., Poznajem vašu kći. → Poznajem vašu kćer.
- Infinitiv uz modalne glagole. Uz morati, moći, htjeti, smjeti i željeti u hrvatskom standardnom jeziku dolazi infinitiv: Moramo da završimo projekt. → Moramo završiti projekt. Veznik da ostaje kad se radnja odnosi na nekoga drugog: Želim da dođeš.
Gramatičke pogreške označene su punom narančastom crtom, a u prozorčiću uz prijedlog piše i kratko objašnjenje pravila.
Sastavljeno, rastavljeno i zarezi
Analiza rečenice pomaže i ondje gdje sama riječ ne otkriva pogrešku:
- Sastavljeno ili rastavljeno. U opće nisam znao. → Uopće nisam znao. Ali zaviriti u opće stanje ostaje kako jest jer je ondje opće pridjev uz imenicu. Isto vrijedi za uglavnom, uostalom, uvelike, ukratko, uskoro, nanovo i nakratko.
- Zarez ispred ali, nego, već i no. Došao je ali nije ništa rekao. → Došao je, ali nije ništa rekao. Bez zareza ostaje nego u usporedbi: veći nego ja.
- Bez zareza ispred i, pa, te, ni i niti. Došli su Ivan, Ana, i Marko. → Došli su Ivan, Ana i Marko. Zarez je ondje ispravan samo kad zatvara umetnuti dio: Ivan, moj brat, i Ana.
- Bez zareza ispred izrične rečenice. Mislim, da je ovo bolje. → Mislim da je ovo bolje.
- Zarez iza zavisne rečenice na početku. Kada završiš s ispitom javi mi se. → Kada završiš s ispitom, javi mi se. Ovdje smo posebno oprezni: zarez predlažemo samo kad je granica između rečenica sigurna pa ga u složenijim rečenicama katkad nećemo predložiti.
Sastavljeno i rastavljeno pisanje označeno je kao pravopisna pogreška (valovita crvena crta), a zarezi kao napomene (isprekidana plava crta). Ako vam napomene o zarezima ne trebaju, u Postavkama isključite Razmaci i interpunkcija.
Koliko je to pouzdano
Analizator nije nepogrešiv, pa nisu ni pravila koja se na njega oslanjaju. Prema mjerenjima njegovih autora na standardnom hrvatskom tekstu (Terčon i Ljubešić, 2023) CLASSLA-Stanza vrstu riječi i gramatička obilježja određuje točno u oko 94 % slučajeva, osnovni oblik riječi u oko 98 %, a za oko 87 % riječi točno određuje i s kojom je riječi povezana i kakva je ta veza (autori navode mjeru F1 za inačicu 2.1). Drugim riječima, u prosjeku se otprilike jedna od osam veza između riječi pogrešno odredi.
To je razlog zbog kojeg se na ovaj analizator ne oslanjamo slijepo. Evo što to u praksi znači:
- Pogreške u rečenici zbunjuju analizu. CLASSLA je učila na pravilno napisanim tekstovima, pa joj je upravo rečenica s pogreškom, koju tražimo, najteža. Katkad je pogrešno raščlani i tako pogrešku sakrije.
- Duge i zamršene rečenice, razgovorni jezik i tekst bez interpunkcije daju slabije analize. U takvim se slučajevima događa i da ispravi.me poneku pogrešku ne prepozna ili, rjeđe, upozori na nešto što je ispravno.
- Pravila pokrivaju samo dio pogrešaka. Padež uz glagol, primjerice, zasad provjeravamo samo kad je dopuna osobna zamjenica (me, te, nas…), i to uz oko stotinu glagola. Ako je dopuna imenica, upozorenja nema. Nedostatak upozorenja stoga ne znači da je rečenica gramatički ispravna.
- Alat ne razumije značenje. Zna kako su riječi povezane, a ne što rečenica govori. Pogreške u smislu, stilu ili logici ne može pronaći.
Radije prešutjeti nego pogriješiti
Gramatika je zahtjevnija od pravopisa i pravilo koje često upozorava bez razloga brzo postaje nepodnošljivo. Zato svako novo pravilo prije uključivanja prolazi stroga mjerenja: provjeravamo ga na tisućama rečenica iz hrvatskih tekstova i ručno pregledavamo sve što pronađe, a pravila slaganja i na rečenicama u koje smo namjerno umetnuli pogreške. Pravilo prikazujemo korisnicima tek kad je opravdano u najmanje 90 % upozorenja. Pravila slaganja uz to se na ispravnim tekstovima smiju javljati u manje od jedne rečenice na stotinu.
Neka pravila još nisu prešla tu granicu, na primjer slaganje pridjeva i imenice ili padež iza prijedloga. Ona zasad rade u pozadini: bilježimo što bi pronašla, ali vam to ne prikazujemo dok ne budemo sigurni da pomažu, a ne smetaju.
Zato gramatička upozorenja shvatite kao prijedloge: konačnu odluku uvijek donosite vi.