Komunalne najave · Beograd ← Nazad na isključenja
Transparentnost

Kako radi i kako čuvamo tačnost

Sakupljamo zvanične najave isključenja vode, struje i grejanja u Beogradu na jedno mesto i pretvaramo ih u pretraživu listu sa tačnim kućnim brojevima i mapom.

Na ovoj stranici otvoreno objašnjavamo svaki korak, od zvanične najave do tačke na mapi, i kako sprečavamo da se greške provuku u podatke.

Kako radi

Od zvanične najave do tačke na mapi

Na svakih sat vremena automatski proverimo zvanične stranice komunalnih preduzeća i grada, pa svaku novu najavu pročitamo, lociramo i proverimo pre nego što je prikažemo.

1

Prikupljanje

Svakog sata povučemo najnovije najave sa devet zvaničnih stranica (vodovod, elektrodistribucija, toplane, gradski portal).

2

Čitanje

Najveći deo teksta obradimo algoritamski, po preciznim pravilima. Ono što pravila ne uhvate ide u drugi sloj, veštačku inteligenciju.

3

Lokacija

Ulice i raspone kućnih brojeva razrešavamo preko zvaničnog adresnog registra (RGZ), pa svaku tačku postavimo na mapu.

4

Provera

Periodično proveravamo tačnost: deo radi čovek, deo napredniji modeli koji pregledaju rad manje naprednih.

5

Prikaz

Sve se objedini u jednu pretraživu listu sa mapom, grupisanu po opštini i danu.

Kako čitamo najave

Prvo pravila, pa veštačka inteligencija tek gde je potrebno

Svaki izvor piše drugačije, pa čitanje radimo u dva sloja. Ovaj redosled je nameran: deterministička pravila daju isti rezultat svaki put i lako se proveravaju, a slobodan tekst prepuštamo veštačkoj inteligenciji samo tamo gde pravila ne mogu.

Sloj 1 · pravila

Algoritamsko čitanje

Strukturirane najave (tabele elektrodistribucije, spiskovi vodovoda) čitamo preciznim pravilima i obrascima koji prepoznaju ulice, brojeve, vreme i razlog. Brzo, pouzdano i predvidivo.

Sloj 2 · veštačka inteligencija

Čitanje slobodnog teksta

Najave pisane kao rečenice, koje pravila ne uhvate čisto, prosleđujemo sloju veštačke inteligencije koji razume prirodni jezik i izvuče iste podatke.

Kako nalazimo lokaciju

Od opisa raspona do stvarnih kućnih brojeva na mapi

Najteži deo je pretvoriti reči u tačne kućne brojeve. Najava retko nabroji svaki broj: češće kaže „od raskrsnice sa ulicom X do broja Y" ili „cela ulica". Za to koristimo RGZ Adresni registar, zvaničnu bazu sa koordinatama preko 330.000 beogradskih adresa.

Kako tačno radi

1. Nađemo sve adrese ulice. Iz registra povučemo svaki kućni broj date ulice zajedno sa njegovom tačnom koordinatom.

2. Odredimo opisani potez. Za „od X do Y" pronađemo te dve granične tačke i geometrijski izračunamo koji brojevi padaju u potez između njih, umesto da nagađamo.

3. Pratimo stvarni oblik ulice. Ulice nisu prave linije. Umesto grubog pravougaonika oko dve tačke, pratimo stvarni pravac ulice i biramo brojeve duž njega. Tako ispravno pokrijemo i zakrivljene i „L" ulice, gde bi pravougaonik preskočio deo brojeva ili ubacio susednu ulicu.

4. Postavimo na mapu. Svaki razrešeni potez dobije tačku na mapi, pa se isključenje vidi i geografski, ne samo kao tekst.

✕ Grubi pravougaonik
susedna ulica pogrešno od do

Pravougaonik oko dve tačke uhvati i susednu ulicu koja slučajno upadne u okvir.

✓ Pravac ulice
preskočeno od do

Prateći stvarni pravac ulice uzmemo tačno brojeve na potezu, a susednu ulicu preskočimo.

Pojednostavljen prikaz: kako biramo kućne brojeve između dve tačke na zakrivljenoj („L") ulici.

Zato pored brojeva vidite oznaku „📍 RGZ": ona znači da su brojevi i lokacija izvedeni iz adresnog registra, a ne samo prepisani iz teksta.

Kako čuvamo tačnost

Tipične zamke u tekstu, i kako ih rešavamo za svaku novu najavu

Tekst najava krije nekoliko stalnih zamki. Za svaku imamo konkretno pravilo, i u svim slučajevima radije ostavimo prazno nego da upišemo nešto pogrešno.

Zamka u tekstuKako je rešavamo
Najava navodi dan, ali ne i godinu („u sredu, 30. marta").Godinu uzimamo iz zvaničnog datuma objave najave. Kada tekst kaže „sutra" ili „danas", datum pomerimo u skladu s tim.
Ista ulica postoji u više opština, a najava ne kaže koja.Opštinu potvrđujemo iz adresnog registra. Kada je ulica i dalje višeznačna, preuzimamo opštinu od susednih ulica iz iste najave, ali samo ako se ta opština zaista poklapa sa registrom.
Raspon je opisan rečima („od ulice X do broja Y"), bez brojeva.Prevodimo ga u stvarne kućne brojeve preko geometrije ulice u registru (postupak opisan iznad).
Slobodan tekst koji pravila ne hvataju čisto.Prosleđujemo ga sloju veštačke inteligencije koji razume rečenice.
Isto isključenje najavljeno na dva izvora (npr. vodovod i gradski portal).Prepoznamo da je reč o istom događaju i spojimo ga u jedan unos, sa oba izvora.
Provera: čovek i napredniji modeli

Tačnost ne prepuštamo slučaju. Periodično poredimo obrađene najave sa originalnim tekstom. Deo pregleda radi čovek, a deo rade napredniji modeli veštačke inteligencije koji proveravaju rad manje naprednih, slično kao kada iskusniji kolega pregleda rad mlađeg. Svaki unos dobije jednu od tri ocene, a nalazi se vraćaju kao ispravke i podešavanja koja sistem čine sve boljim.

tačno
Tačno · sve dobro pročitano Delimično · uglavnom tačno, sitna nepreciznost Pogrešno · bitna greška, ide na ispravku

Prikazani udeli su približni i menjaju se kako pristižu nove najave i kako se pregled nastavlja. Cilj nije „savršeno", nego pošteno i sve preciznije, sa otvoreno prikazanim greškama i njihovim ispravkama.

Napomena

Šta ovo jeste, a šta nije
  • Sve je potpuno automatizovano i čitanje ponekad pogreši. Zato postoji periodična provera koja ispravlja greške i kontinuirano podešava sistem da radi sve bolje.
  • Za zvanične i obavezujuće informacije uvek proverite originalni izvor (Beogradski vodovod i kanalizacija, Elektrodistribucija Srbije, Beogradske elektrane, grad Beograd).
  • Mi ne upravljamo isključenjima niti ih najavljujemo. Samo na jedno mesto sakupljamo ono što je već zvanično objavljeno, i činimo to pretraživim.