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:

  1. 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.
  2. Osnovni oblik. Svaki oblik vraća na rječničku riječ: knjigu na knjiga, posudila na posuditi.
  3. 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 oblikVrstaObilježjaVeza
Lagaolagatiglagolglagolski pridjev radni, muški rod, jedninakorijen rečenice
mejaosobna zamjenica1. lice, jednina, akuzativobjekt glagola lagao
jebitipomoćni glagol3. lice, jednina, prezentpomoćni glagol uz lagao
.interpunkcijauz 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:

  1. Uočavanje. Analiza kaže da je me zamjenica u akuzativu koja je dopuna glagola lagati.
  2. 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.
  3. 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.
  4. 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.