Preslovljavanje (Transliteration)

Potvrđujem, svaka čast.

Na neki fazon uopste mi nije prijavio ovaj thread. Sad sam se sub.

Bot moze da se pokrene sa moje server masine koja tera linux.

Ja sam mislio da se ova diskusija odnosi samo na plugin za JOSM, bot je spomenut 3 puta u celoj diskusiji i to samo od strane jednog člana, niko drugi nije obrato pažnju na to, tako da i nije izneneđenje što se to provuklo ne opaženo. Ali zašto ne odvojiti diskusiju o ovome ipak su to dve različite stvari i ako koriste isti algoritam.

Pozdrav svima,

Sad sam precesljao ceo thread, pa da udarim par komentara:

  1. name:en sam stavio u predlog zato sto nekoliko programa (tipa OSMAND) ima opciju da koristi englesku verziju name taga umesto samog name taga. Tamo gde postoji ocigledno englesko ime za toponim, tipa Belgrade, koristiti engleski, a ako nema, koristiti celavu latinicu. “Gospodar Jovanova” sigurno nece biti “Master Jovan’s” :slight_smile:

  2. Sto se tice botova… u pitanju je samo nesrecan naziv korisnika koji je otvoren u datom momentu. Ocigledno da je u pitanju plugin, koji ipak nadgleda ljudska ruka, i dobro je da sve izmene budu u vlasnistvu individualca koji izmene vrsi, zbog mogucnosti da se kasnije udje u trag vlasniku promena ukoliko nesto sporno postoji.

  3. Algoritam: koliko sam ja shvatio, a cini mi se, a mozda i gresim, i svi ostali, algoritam je: Cirilica u name:sr, i onda iz tog taga transliteracija baca u name, u name:sr_Latn, i u name:en. Ako ima nesto sporno u vezi toga, da otvorimo poseban thread na tu temu gde cemo da to do detalja da izbambusamo?

I na kraju, izvinjavam se ako je moj post delovao/zvucao/citao kao suvise napadan, to niti je bila namera, niti zelja, zaista sam odusevljen svom trudu i energiji koju su ljudi ovde ulozili, da vas sve sada ne pominjem poimence.

Samo pici dalje!

Pozz/D

Ok, sad su neke stvari jasnije, :slight_smile: . A sa dugačkim thredovima lako nešto promakne, naročito kada je diskusija živa i ima više odgovora u kratkom vremenu.
A sa ovom temom sam pomislio da je neko od admina kontaktirao tebe direktno po tom pitanju, pa je stvar delovala ozbiljnije nego što jeste.
U svakom slučaju, pozdrav & Keep up the good work :wink:

Sletela mala pticica da mi nesto kaze/pita na “tu” temu, ali to smo ishendlovali sada, i “nema za dzhema vise problema”.

Ok, a sad na glavnu temu.
isprobao sam plugin i nisam primetio neke nedostatke do sada, i lepo izlazi na kraj i sa onim dvostrukim nazivima sa zagradama.

Први корак баш и није тако тривијалан, или можемо рећи суштина проблема је баш у њему. Како на поуздан начин попунити name:sr ?
Ево изнећу пар варијанти који се серећу. Ради једноставности приказа претпоставка је да постоји само таг name .

  1. Јована Јовановића - све је ћирилица и само се копира
  2. ОШ “Јован Јовановић” - комбинација латиница/ћирилица
  3. Јована Јовановића (Jovana Jovanovića) - комбинација латиница/ћирилица
  4. Петра Петровића V прилаз - римска слова опет комбинација латиница/ћирилица
  5. Jovana Jovanovića - латиница где постоји “ć” као знак да је коришћена “права” латиница
  6. Jovana Jovanovica - celava latinica
  7. Petra Petrovića V prilaz
  8. Petra Petrovica V prilaz

Од оперативних ствари тренутно могу да одредим:

  1. да ли има латинице у називу
  2. да ли има ћирилице у називу
  3. да ли је само ћирилица
  4. да ли је само латиница
  5. да ли има наших латиничних знакова

Дакле, задатак је дефинисати када се недвосмислено може одредити name:sr. Остале случајеве бих касније решавао уз евентуалну људску корекцију. Добра ствар је што могу филтрирати базу па се јасно види који подаци ће бити обрађени, и на који начин.

Napravio sam wiki stranicu Preslovljavača http://wiki.openstreetmap.org/wiki/JOSM/Plugins/SerbianTransliterator mislim da sada već možemo da stavimo sve informavije oko Translitera tu.

Ako sam dobro razumeo, plan automatskog bota za preslovljavanje se sprovodi u dve faze?

  1. i teža: pravljenje ‘name:sr’ naziva iz postojećih ‘name’ (u toku)

  2. i lakša: kopiranje nazad u ‘name’ i izvođenje ‘name:sr-Latn’ (dolazi kasnije?)

Što se tiče iznetih problema sa prvom fazom, mislim da nam nema druge do ručnog lektorisanja. Jedino što pomaže je da se izdvoje stavke gde automatsko generisani ‘name:sr’ naziv ranije nije postojao ili se razikuje od postojećeg jer samo one moraju biti proverene.

Мислим да није паметно да се таг name мења са бот-ом, бар не на серверу. За личне потребе ОК али за измене на серверу бих тај посао оставио човеку (плагин-у).

Ајд да мало појасним шта бот ради. Тренутно се ручно скида http://download.geofabrik.de/osm/europe/serbia.osm.bz2 и распакује се serbia.osm. Овај фајл се обрађује са истом класом као и записи у плугину.
Постоје два принципа рада која могу и истовремено да се користе:

  • генерише се нови фајл, копија serbia.osm, са свим изменама. Касније овај фајл се упоређује са оригиналним и из њега се генерише фајл са разликама, који се после дели на фајлове са јединичним разликама.
  • директно се генеришу јединичне разлике

Касније се ови фајлови са јединичним разликама у петљи шаљу на сервер.

Оно што сте приметили на серверу је тест свих ових корака на најопрезнији могући начин где се мењао само један таг. Бот још није спреман за масовну употребу јер се разлика броја фајлова са изменама разликује за пар стотина (~1800 - ~1500) за чисте ћириличне записе. Док не разумем овај феномен не бих се превише играо.

Када бот буде пуштен за озбиљно нема разлога да се одваја попуњавање name:sr и name:sr-Latn.

Уз ризик да лупим пошто нисам баш мног искусан са ЈОСМ, предложио бих да се просто уведе правило (а како сам прочито то и јесте) да се сви називи уносе на ћирилици. Програм тада не треба да се масира са транслитерацијом из латинице већ само да упозори на оне тагов екоји треба да буду попуњени ћирилицом а нису. Корисник у том случају мора прво да исправи на ћирилицу па тек онда да се обави транслитерација. Тако ће се решити и проблем недоследног уноса од раније.

Једини проблем може бити ако неки специфични уноси морају да садрже латиницу. Ту би решење могло да буде да се не инсиситра да сав садржај тага буде ћириличан, али да мора да има део написан ћирилицом. То би омогућило да се уноси мешан текст, што има смисла, а у коме би се транслитеровао само ћирилични део.

Не знам д али је дозволјено да се уведе неко специфичан таг који би значио: дозволи латиницу у ћириличном тагу. То би лепо решило те изузетке када назив треба да садржи латиницу.

@Pedja: Procitaj: http://forum.openstreetmap.org/viewtopic.php?id=15632

Samo ideja: proveri da nisu slučajno uneti mešoviti nazivi, npr. često se dešava da poneko a, e, o, j budu uneti u latiničnom kodnom rasporedu, a ta slova se razlikuju od ćiriličnih u unikodu.

Што више сагледавам проблематику све иде ка томе да већину пресловљавања мора човек прегледати, и сада размишљам да се постави сајт који би заинтересованом кориснику достављао ограничени број “спорних” објеката да их прегледа. Или другим речима, “лектор” оде на сајт и преузме фајл од 50-100 објеката са називима, прегледа / поправи их на начин као што то ради у плагину и пошаље их на сервер. Пошто је успешност пресловљавања релативно велика посао би се сводио на спорадичну интервенцију.

мпеле, ја бих ти радо помогао али не трошим џаву. Могу само да ти дам неке сугестије генералне природе а имам искуства јер сам се доста бавио пресловљавањем.

@mpele
Tako nekako. Što se mene tiče, može to i jednostavan diff na staroj i novoj osm datoteci da bude, onda mogu odmah da vidim gde postoje izmene, a i direktno zakrpu da ispravim i vratim.

Имењаче, упознат сам са са твојим радом још од ере пре интернета и сваки савет је добродошао.
Овде је проблем концептуално друге природе од стандардног проблема пресловљавања јер није императив добити пресловљавање са што већом тачношћу, већ одредити ситуације где је пресловљавање успешно 100%.

Како тренутно стоје ствари кристалише се идеја да бот прочешља базу и ако је laitinica(name:sr)==latinica(name) онда је објекат коректно обрађен и нема потребе за даљом обрадом. Овиме би се покрио случај када је лектор то прогласио коректним (раније сам размишљао и о посебном тагу за посебне ситуације, али сада не могу да се сетим ситуације када би он био неопходан).

Ако није задовољен претходни услов онда имамо две варијанте:

  • чиста ћирилица - бот све сам заврши
  • остало - шаље се на лектуру.

Слање на лектуру би подразумевало дневно генерисање osm фајлова са “двосмисленим ситуацијама” који би били доступни преко веб интерфејса. Тај фајл би се учитавао у ЈОСМ и уз плаг-ин обрађивао.

Iskreno receno mislim da bi za pocetak bilo dobro da konacnu odluku donosi korisnik, a ne bot. Kasnije kad se situacija malo iskristalise dalja automatizacija moze da se ukljuci. Zelja da se sve unapred predvidi odlicnim programiranjem je cesta zamka u ovom poslu, i bilo bi bezveze da se suvise puno vremena ulozi u nesto sto ce na kraju da propadne kao projekat. Ja predlazem “sitne” korake. Mozda je i najbolje za pocetak da se usavrsi plugin i da svako koristi taj plugin onda, i posle pregleda izmena iste gurne u bazu… Time se stvara i… “accountability”…

(Ma, srpski lengvidzh mi je svetinja)

Управо то и јесте костур идеје, али ја предлажем и малу надоградњу, тј. да корисник не мора да лута по мапи и тражи где фали таг name:sr већ да му се то сервира.