Унифициране на имена на училища, детски градини и ясли

Привет на всички,

Напоследък се занимавам с обработка на данните за образователните институции в България и се сблъсках с огромна каша в начина, по който са изписани имената им в тага name (смесица от ЦДГ/ОДЗ/СОУ, кавички, дълги имена и т.н.).

Искам да предложа конкретна схема за унифициране на тези обекти в България, която едновременно да следва логиката на актуалното законодателство, както и да вкара консистенция в таговете. Освен за основното име (name), предлагам да въведем и допълнителни тагове за оператор и връзка с официалния регистър на МОН.

Ето конкретното предложение:

Формати за основно име (name)

Задължително използваме правилните български кавички и . Пояснения за сгради и филиали се изчистват от основното име.

Училища

[номер]. [тип/абревиатура] „[патрон]“

Типове: ОУ, ОбУ, СУ и кратки абревиатури за гимназиите (АЕГ, НЕГ, ПМГ, ПГТКАА и т.н.). Номерът е отпред, последван от точка.

Пример: 91. НЕГ „Проф. Константин Гълъбов“

Изключение: Когато номерът не е част от общата номерация на училищата в общината, а е специфично традиционно наименование (Първа АЕГ, Втора НЕГ).

Детски градини

ДГ №[номер] „[патрон]“
Пример: ДГ №159 „Орхидейка“

Детски ясли

СДЯ №[номер] „[патрон]“
Пример: СДЯ №1 „Папагалче“

Пълни имена (official_name)

За да не губим детайлност заради кратките абревиатури в name, предлагам в official_name да записваме пълното наименование без съкращения.

name=91. НЕГ „Проф. Константин Гълъбов“
official_name=91. Немска езикова гимназия „Проф. Константин Гълъбов“

name=НПГПТО „М. В. Ломоносов“
official_name=Национална професионална гимназия по прецизна техника и оптика „М. В. Ломоносов“

Форматите са адаптивни. Ако даден компонент липсва, той се прескача изцяло, без да оставя празни или излишни символи след себе си (например: ако училището няма патрон, не се слагат празни кавички; ако няма номер, се изпуска и точката след него). Това важи и за кратките имена в name.

Допълнителни тагове

operator

Общински (масовия случай): operator=[Име на община] + operator:type=public + operator:wikidata=[Q-код на общината]
Държавни (единични случаи): operator=[Име] + operator:type=public + operator:wikidata=[Q-код на учреждението]
Частни: operator:type=private

ref:neispuo (само за училища и детски градини)

НЕИСПУО (Националната електронна информационна система за предучилищното и училищното образование на МОН, последния да затвори вратата) е системата в която са вписани всички училища и детски градини. Всяка институция получава уникален код (т.нар. код по НЕИСПУО).

Предлагам да добавим тази информация в ref:neispuo тага.

МОН поддържа регистър както за активните, така и за закритите обекти, което позволява лесно да следим за нови или закрити обекти. За справка: https://ri.mon.bg.

Други промени

Смятам да премахна имена, които съвпадат частично или изцяло с новодобавените, както и такива които са излишни (например name:en, int_name, name:ro). В повечето случаи на терен няма такива табели. Единствените изключения са специализирани езикови гимназии (name:en за английска, name:fr за френска и т.н.).

Пример за тагване на конкретни обекти

amenity=school
name=119. СУ „Акад. Михаил Арнаудов“
official_name=119. Средно училище „Акад. Михаил Арнаудов“
operator=Столична община
operator:type=public
operator:wikidata=Q12345 (примерна стойност)
ref:neispuo=12345 (примерна стойност)
amenity=school
name=9. ФЕГ „Алфонс де Ламартин“
official_name=9. Френска езикова гимназия „Алфонс де Ламартин“
name:fr=9e Lycée de langue française „Alphonse de Lamartine“
operator=Столична община
operator:type=public
operator:wikidata=Q15313 (примерна стойност)
ref:neispuo=2211009 (примерна стойност)
amenity=kindergarten
name=ДГ „Славей“
official_name=Детска градина „Славей“
operator=Община Пловдив
operator:type=public
operator:wikidata=Q2045866 (примерна стойност)
ref:neispuo=1602012 (примерна стойност)
amenity=nursery
name=СДЯ №1 „Щастливо детство“
official_name=Самостоятелна детска ясла №1 „Щастливо детство“
operator=Община Бургас
operator:type=public
operator:wikidata=Q2044813 (примерна стойност)

Правилата важат в пълна сила и за частния сектор. Те следват същата логика на именуване, като пред типа просто се добавя буквата „Ч“ (ЧОУ, ЧСУ, ЧДГ) към name и „Частно“ в official_name. Тъй като те също са лицензирани от МОН, тагът ref:neispuo се попълва и за тях, а разграничаването им става чрез operator:type=private.

Следващи стъпки

Предлагам да обсъдим схемата. Ако няма сериозни възражения, форматът може да се впише в уики страницата и поетапно да бъде прилаган.

Очаквам вашите коментари!

ПС: за справка как би изглеждало, може да разгледате повечето училища, детски градини и ясли в рамките на Столична община, които вече обнових по този модел - OpenStreetMap.

Your proposal makes good sense. However I think we should also follow general OSM good practices, esp. Abbreviation (do not) Therefore I would prefer to put the full official name without any abbreviations in name= (so name=91. Немска езикова гимназия „Професор Константин Гълъбов“) and use short_name= for what you propose to put in name= (and let data consumers decide which one to show). However we should make it easy for data consumers to show the abbreviated name by always providing a short_name= if we add the full name in name= . We should also extend this practice to other names like the one for this bus stop (on approach, it’s announced as “Национална природо-математическа гимназия Академик Любомир Чакалов” in the bus!).

I assume that this is what MON is using to systematically give names of schools?

I think we should allow for int_name to be added (containing the official transliteration) as well as any name in another language that the school itself is using (on signage, on their website, etc.).

Regarding the abbreviations in name=: I completely understand the global OSM guideline to avoid abbreviations. My main concern here is practical and related to map cluttering and data consumers.

If we put the full legal name in name= (e.g., Национална професионална гимназия по прецизна техника и оптика „Михаил Василиевич Ломоносов“), it becomes extremely long (93 characters!). Most mobile navigation apps (like OsmAnd, Organic Maps, etc.) heavily rely on the name tag and often hide short_name. On a mobile screen, such an enormous name will either render across 6-7 lines, blocking half the street block, or get an ugly truncation. Even Carto would struggle to fit it on the maximum zoom. In Bulgaria, everyone looks for “НПГПТО „М. В. Ломоносов“” (or even “Ломоносов” only) on the map, not the full spelled-out text. That’s why I suggested keeping the universally recognisable short form in name and the textbook legal form in official_name. When searching, both tags are looked at so Nominatim should be happy.

Regarding MON: In their registry (ri.mon.bg), they use the full official names. However, in their daily operations, guidelines, and exams, MON systematically uses standard abbreviations (ОУ, СУ, ПГ) and not so standard. The short names are also listed on their registry (example). Short names are also used on almost all school signs.

About int_name and foreign names: I strongly believe we should remove int_name for Bulgarian schools. In our local context, int_name is almost always a duplicate of name:en or a machine translation/transliteration that doesn’t exist on the ground. The only exceptions are specialised language schools (Първа и Втора английска, Първа немска, Френската) but they can use the respective name:xx (9. ФЕГ).

Even in the very few schools which have int_name it is either incomplete or of dubious quality (example 1, example 2, example 3, example 4). The same applies to name:en (example 1, example 2, example 3, example 4, example 5, example 6). The situation with the kindergartens in this aspect is even worse but I think that these examples should suffice.

1 Like

Ричард,

оставяйки настрана софтуера, един българин от провинцията например(или незапознат с района), ще те попита:”Извинете, къде се намира 22-ро училище”. А няма да те пита:”Извинете, къде се намира “22 Средно езиково училище „Георги Стойков Раковски““…

Възможно ли е, ако местната общност постигне консенсус за маркиране(какъвто опит вероятно сега се прави), да има и изключения от общоприетите практики, описани в уикито?

Нямам особени възражения против предложението на Митко. Лично аз не бих добавял и патрона в основното име. А НЕИСПУО ми идва малко в повече и не бих се занимавал да добавям кодове. Друг ако иска, да го прави.

1 Like

Аз не съм сигурен как точно е правилно, но не трябва ли титлите да са с малка буква в тези случаи, когато не са в начало на изречение:
91. НЕГ „проф. Константин Гълъбов“
119. Средно училище „акад. Михаил Арнаудов“

Бях пуснал една справка до БАН преди години, обаче не помня кащво ми отговориха. Не намирам и съобщението… Иначе поне според каксепише е с малка буква - Как се пишат длъжностите и званията – с малка или с главна буква? – Как се пише?® с Павлина Върбанова.

1 Like

That is a problem that should be dealt with by the app: if we did it for them, wouldn’t that be a kind of https://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer ? We could (should!) help them by always providing a short_name that they can display if the full name is very long. If they don’t use that help, it should be reported on their issue tracker site.

int_name should contain the name transliterated to Latin script according to the Bulgarian transliteration law: this is then verifiable so it doesn’t need on-the-ground evidence. It can often be machine-transliterated but there are exceptions so it often needs a human to do it correctly. That mistakes are sometimes made is not a reason not to do it. I think it is quite useful for foreigners using a map of Bulgaria to read the names of all PoIs in a script they can read. However school names have lower priority compared to geographic and street names, for instance.

I’m against adding name:en unless it really has an name in English or the name contains words that are clearly English. Translating a name to English is usually not very useful so we shouldn’t do it.

I think that even if that selyanin will see 22 Средно езиково училище „Георги Стойков Раковски“ on his map, he will ask for the 22. school, or maybe the Rakovski school, because he will be able to abbreviate it himself (better than software can). But if he has a good map app, it will display the short_name

В случаят не става въпрос за „Tagging for the renderer“, а за четимо от хората съдържание. Хората трябва да решим как името се възприема и разбира от хората по най-добрият начин. Не тагваме за рендера, тагваме за да сме сигурни, че рендера няма да изплюе някоя глупост.
В official_name е идеално да се вкара, каквото е нужно на машините да си обработват за тях си. Всички ще са доволни и щастливи :)

1 Like

We should realise that we are not here to make a map: map apps (“data consumers”) are making maps, according to the needs of their customers (the map users). We are here to provide map data to enable map makers to make maps. It is up to the map makers to ensure that names appear on their maps in a way that is easy to use for their map users. This is explained here Abbreviations - OpenStreetMap Wiki and there is wide international consensus that it should be like this. If someone thinks this consensus is wrong, or we need to make an exception for certain cases (in Bulgaria, for instance), we need strong arguments for it. I haven’t seen them yet.

Малко offtopic, но:

крайната цел не е ли създаване на карта? openstreetMAP. Наясно съм, че ние вкарваме данни в географска база данни(geographic database) и вече рендерирането не е наш проблем, а на carto например. Както и че данните се използват от различни приложения, програмисти и т. н. В основата на OSM не е ли било създаването на отворена алтернатива на google maps? Между другото, се сетих, че Митко в 1 коментар наскоро ми писа “знаеш ли колко работа има докато КАРТАТА стане готова”.

Та, ако просто вкарваме данни като в excel/access, то тогава не следва да се очаква от нас и старание по отношение на географска прецизност(напр. локация, контури на сгради). А просто, казано по народному, да хвърлим там едни данни и data users да се оправят… Ами в такъв случай само да вписваме някакво име(за което решим как да бъде) и оттам нататък data users да си въвеждат официално, кратко, местно и т.н. имена… Вижте, ако целта е по-пълна карта, мисля, че следва да се насочим към нейното обогатяване с нови данни, обновяване, а не да задълбаваме в буквички и цифрички…

Да чакаме приложенията сами да напишат специфичен алгоритъм за парсване, който да разпознава и правилно да съкращава безумно дългите български институционални имена, е утопия. Те няма да го направят. Или поне не този век. Резултатът от стриктното спазване на “без съкращения” е това, което виждаме сега на места - неизползваеми карти за крайния потребител в България, където името на едно училище заема три квартала на екрана.

В момента ние не предоставяме на консуматорите на данни нищо полезно. Предоставяме им една неконсистентна каша от ЦДГ, ОДЗ, липсващи кавички и сбъркан синтаксис. Моето предложение дава точно това, от което един data consumer има нужда:

  • name за кратко, четимо и популярно име, което в >90% от случаите е налично и на табели на терен
  • official_name за пълно и точно юридическо наименование, без съкращения
  • ref:neispuo за уникален идентификатор