Full-text pretraživanje

Ukoliko razvijate programski sistem u kojem vam treba full-text pretraga, dobro će vam doći komponenta koja će vam omogućiti da nalazite reči bez obzira na njihov oblik u tekstu. Ako tražite tekst auto delovi, sigurno ćete biti zahvalni ako program nađe i članak ili veb stranicu s tekstom prodaja auto delova ili trgovina auto delovima. Upravo u ove svrhe služi komponenta koja vam pruža dve korisne stvari:

  • dobijanje osnovnog oblika reči od bilo kog njenog oblika
  • generisanje svih oblika od datog oblika reči

Osnovnim oblikom reči (lemom) se kod imenica većinom podrazumeva nominativ jednine, dakle npr. deo. Kod glagola se osnovnim oblikom smatra infinitiv, npr. tražiti. Međutim, u nekim jezicima postoje izuzeci. Npr. u bugarskom, gde infinitiv uopšte ne postoji, osnovnim oblikom se smatra oblik 1. lica jednine. U mađarskom infinitiv postoji, ali kao lema se koristi 3. lice jednine. U arapskom se za osnovni oblik glagola uzima muški oblik 3. lica jednine u prošlosti itd.

Jezički deo

Osnova celog rešenja, kao i kod korektora tipfelera, jeste formalan opis morfologije, koji je u ovom slučaju proširen dodatnim podacima. To su pre svega gramatičke kategorije:

  • rod, broj i padež za imenice, prideve ili zamenice
  • lice, broj, način, vreme i vid za glagole
  • kategorije zamenica, brojeva, priloga ili veznika

No, naći osnovni oblik reči nije toliko jednostavno koliko bi moglo da se čini na prvi pogled. Osim pravilnih oblika treba da se obrade i različite alternacije osnove ili korena koje se pojavljuju kod niza srpskih reči. Time podrazumevamo parove tipa orao-orla, sto-stola, vrag-vražji, čamac-čamca, peći-pečem ili čak slučajeve poput čovek-ljudi ili biti-jesam gde se promena javlja čak na prvom slovu reči. Slični slučajevi postoje u svim jezicima. Čak i u relativno morfološki jednostavnom engleskom nalazimo primere kao što su come-came, break-broken, ili čak go-went.

Drugi problem jeste homonimija. Kod niza oblika uopšte nije jasno od koje reči su izvedeni. Npr. sedim može biti ili 1. lice jednine glagola sedeti (što samo po sebi obuhvata dva homonima postajati sed i biti u sedećem položaju), ili instrumental jednine ili množine prideva sed. Sličnih primera ima zaista mnogo, tako da nije čudo da nam program neretko vrati neočikivanu količinu rezultata. No, budite uvereni da su svi tačni.

Programsko rešenje

Programsko rešenje je veoma ekonomično. Da li možda znate koliko različitih oblika reči postoji u srpskom? Skoro 4 miliona. A ova količina zajedno sa svim morfološkim podacima stane u fajl od oko 1 MB. Tako možemo s malo preterivanja reći da su nam dovoljna dva bita za svaku srpsku reč.

Dostupne funkcije

  • Povratak osnovnog oblika reči
  • Povratak svih morfološki srodnih oblika date reči
  • Deklinacija cele sintagme sastavljene od prideva i imenice, npr. akcionarsko društvo, akcionarskog društva, akcionarskom društvu, ..., akcionarskim društvima.

Trenutno nudimo podršku full-text pretraživanja za mnogo jezika (vidi tabelu) i platformi. Ukoliko želite da pretragu učinite još ugodnijom, preporučujemo vam i našu drugu komponentu - rečnik sinonima. Dalje postoji mogućnost kombinovanja s našim alatima za prevođenje kako bi se omogućila multilingvalna pretraga.