OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2011-02-25 13:16:46

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

NameRuBot

NameRuBot. Предназначен для добавления "name:ru" зарубежным городам.
Что может: сканирует *.osm файл в поисках place=*, выбирает ноды, полигоны и релейшены. Ищет город по его name в зарубежной википедии, пытается найти соответствие с русской википедией и при нахождении добавляет тег name:ru. Создаёт html файл отчета и осм-файл для загрузки на сервер. Загрузка вручную, после тщательной проверки.
Плюсы:
- информация для рендереров.
- можно конвертировать карты для навигаторов с русскими именами.
Минусы:
я пока не вижу.
Прогнал через него небольшой кусочек Италии. Лог-файл, Правка. Если сообщество решит, что оно надо, буду периодически запускать.
TODO:
- добавлять тег "wikipedia:ru" [?]
- streets [?]

Last edited by Fortress (2011-02-25 14:04:58)

Offline

#2 2011-02-25 13:21:42

Kotelnikov
Member
From: Krasnodar, RU
Registered: 2009-05-07
Posts: 2,854
Website

Re: NameRuBot

С кодировочкой бяда...


1 000 000 points: 80% complete

Offline

#3 2011-02-25 13:26:26

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: NameRuBot

Kotelnikov wrote:

С кодировочкой бяда...

Да, надо вручную выбрать UTF8. Пока не разобрался в чем дело.

Offline

#4 2011-02-25 13:31:58

fserges
Member
From: St.Petersburg/Russia
Registered: 2010-11-08
Posts: 3,757

Re: NameRuBot

Fortress wrote:

Плюсы:
- информация для рендереров.

На самой большом уровне - Канада, Мексика, Багамы, Бермуды, Мальдивы smile

Last edited by fserges (2011-02-25 13:32:27)

Offline

#5 2011-02-25 13:33:47

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,487

Re: NameRuBot

Fortress wrote:

- добавлять тег "wikipedia:ru" [?]

Согласно wiki рекомендуется использовать схему с одним главным линком (wikipedia=lang:page title) а не для каждого языка отдельно. В данном случае наверное лучше всего линк на используемую статью языка местности (и если тег wikipedia уже не проставлен).

Last edited by Sergey Astakhov (2011-02-25 13:34:35)

Offline

#6 2011-02-25 13:35:17

ErshKUS
Member
From: Калиниград
Registered: 2010-12-27
Posts: 795

Re: NameRuBot

"wikipedia:ru" думаю стоит, тем более раз весь алгоритм уже есть


Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш?   (Lumen, Лабиринт)

Offline

#7 2011-02-25 13:37:19

fserges
Member
From: St.Petersburg/Russia
Registered: 2010-11-08
Posts: 3,757

Re: NameRuBot

Fortress wrote:

NameRuBot. Предназначен для добавления "name:ru" зарубежным городам.
Что может: сканирует *.osm файл в поисках place=*, выбирает ноды, полигоны и релейшены. Ищет город по его name в зарубежной википедии, пытается найти соответствие с русской википедией и при нахождении добавляет тег name:ru. Создаёт html файл отчета и осм-файл для загрузки на сервер. Загрузка вручную, после тщательной проверки.
Плюсы:
- информация для рендереров.
- можно конвертировать карты для навигаторов с русскими именами.
Минусы:
я пока не вижу.

Я за такой продукт smile Всё абсолютно вручную делать - запаришься и наделаешь кучу ошибок

Прогнал через него небольшой кусочек Италии. Лог-файл, Правка. Если сообщество решит, что оно надо, буду периодически запускать.
TODO:
- добавлять тег "wikipedia:ru" [?]

Так ведь отказались от тега wikipedia:ru. В википедии же собственный механизм - Интервики - http://ru.wikipedia.org/wiki/%D0%92%D0% … 0%BA%D0%B8

Last edited by fserges (2011-02-25 13:37:53)

Offline

#8 2011-02-25 13:37:42

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,003
Website

Re: NameRuBot

В какой википедии он ищет название? Главное чтобы на правильном языке. Дело в том, что ты запустил бота в Аль дАоста, а там говорят на смеси французского с итальянским.

Все имена перевелись по-французски, и по написанию похожи. Если поискать испанское слово Rojo ("Рохо") в финской вики, может попасться "Ройо".

Самая жопа будет в А Корунье, испанском регионе, где говорят на португальском. Просто для примера, как фонетика отличается: chorar - "шорар" по-португальски, по-испански прочитают как "чорар". В одной и той же провинции в одной долине говорят на испанском, в другой через 500 метров - на португальском. На юге Франции (между Испанией и Италией) есть ещё Гайего, диалект, со своей фонетикой. Понять, на каком языке название, не зная местной жизни, проблема. Я бы автомату это просто так не скармливал.

Лучше взять те названия, что точно известны (например, где в википедии у города стоят координаты и есть русская страница) и выставить их.

Offline

#9 2011-02-25 13:40:08

fserges
Member
From: St.Petersburg/Russia
Registered: 2010-11-08
Posts: 3,757

Re: NameRuBot

Fortress wrote:
Kotelnikov wrote:

С кодировочкой бяда...

Да, надо вручную выбрать UTF8. Пока не разобрался в чем дело.

Кавычки забыл после content="text/html; Вот и браузер не видит кодировку smile

Offline

#10 2011-02-25 13:50:36

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: NameRuBot

siberiano wrote:

В какой википедии он ищет название? Главное чтобы на правильном языке. Дело в том, что ты запустил бота в Аль дАоста, а там говорят на смеси французского с итальянским.

В википедии "it".

Все имена перевелись по-французски, и по написанию похожи. Если поискать испанское слово Rojo ("Рохо") в финской вики, может попасться "Ройо".

Это не перевод, а именно сопоставление. Ну и естественно испанское слово буду в испанской вике искать wink

Лучше взять те названия, что точно известны (например, где в википедии у города стоят координаты и есть русская страница) и выставить их.

Так и делаю. Ну вроде по обработаным 13 объектам неоднозначностей нет?

Кавычки забыл после content="text/html; Вот и браузер не видит кодировку

Поставил. Мозилла все равно тупит.

Last edited by Fortress (2011-02-25 13:52:24)

Offline

#11 2011-02-25 13:55:36

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,568
Website

Re: NameRuBot

вы что, какая лишняя кавычка? Должно быть <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
у меня от несогласованных кавычек почти физический дискомфорт.
желательно убрать bom из начала документа (это не по стандарту), а во-вторых, сервер в заголовках HTTP выдаёт Content-Type=text/html; charset=windows-1251, нужно поправить на utf-8.


ШТОСМ | josm.ru | обо мне | "never again" is what you swore the time before

Offline

#12 2011-02-25 15:55:13

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: NameRuBot

Fortress wrote:
Kotelnikov wrote:

С кодировочкой бяда...

Да, надо вручную выбрать UTF8. Пока не разобрался в чем дело.

А нормально, что этот тег не закрыт?
meta http-equiv="Content-Type" content="text/html; charset=utf-8"

А какие еще делаются проверки?
Я, когда делал такую работу вручную (список id добыл из planet.osm, а в Википедию ходил ручками), сравнивал также население и координаты. Увы, население может отличаться довольно существенно (до 2 раз), а вот координаты, думаю, до долей градуса должны совпадать. Сомневаюсь, что в радиусе 0.1-0.2 градуса окажутся одноименные города либо города с близким произношением названия.
Думаю, поиск по имени + население (отношение в пределах 0.5-2.0) + координаты в пределах 0.2 градуса можно считать достаточно надежными критериями.
Ну и сам поиск IMHO следует проводить не по всем н/п, а только по тем, у которых уже есть name:en (name:fr/name:de - по выбору) или int_name. Таковых в мире около 62 тыс, так что объем работы вполне подъемен для бота, а разбор лога ошибок глазами - тоже вполне реален.

PS. Да, хорошо было бы запоминать уже найденные имена и при встрече одноименных тоже выдавать сообщение в лог ошибок.

Last edited by andriano (2011-02-25 16:26:40)

Offline

#13 2011-02-26 00:36:26

dedNikifor
Member
From: Свердловская обл.
Registered: 2009-09-11
Posts: 3,414

Re: NameRuBot

Sergey Astakhov wrote:
Fortress wrote:

- добавлять тег "wikipedia:ru" [?]

Согласно wiki рекомендуется использовать схему с одним главным линком (wikipedia=lang:page title) а не для каждого языка отдельно. В данном случае наверное лучше всего линк на используемую статью языка местности (и если тег wikipedia уже не проставлен).

а как быть, если я хочу разместить ссылки и на английскую и на русскую страничку объекта в википедии?

сейчас я юзаю два тега
wikipedia:en=*
wikipedia:ru=*

по вашему способу придется городить что-то типа wikipedia=ru:Екатеринбург;en:Yekaterinburg;fr:Ekaterinburg;it:xxx;ch:xxx

это не кошерно


Графическая (в виде карты с точками опасных объектов) база спидкамов для разных навигационных программ. Подложка OSM присутствует

Offline

#14 2011-02-26 05:27:57

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,440
Website

Re: NameRuBot

dedNikifor, ссылку надо давать только на одну википедию

Offline

#15 2011-02-26 11:33:32

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: NameRuBot

andriano wrote:

А какие еще делаются проверки?

Автоматически только на совпадение osm-name и wiki<lang>-name. А дальше в ручную.

Я, когда делал такую работу вручную (список id добыл из planet.osm, а в Википедию ходил ручками), сравнивал также население и координаты. Увы, население может отличаться довольно существенно (до 2 раз), а вот координаты, думаю, до долей градуса должны совпадать. Сомневаюсь, что в радиусе 0.1-0.2 градуса окажутся одноименные города либо города с близким произношением названия.
Думаю, поиск по имени + население (отношение в пределах 0.5-2.0) + координаты в пределах 0.2 градуса можно считать достаточно надежными критериями.

А зачем? Я планирую запускать бота на определенную территорию, ограниченную одним государством. Т.е. теоритически возможно конечно, что в одном и том же государстве находятся два города с одинаковыми названиями и разными названиями на русском языке, но я про такие не слышал. Т.е. я хочу сказать, что н.п. Любань к примеру в Ленинградской области и где-нибудь в Челябинской должны одинаково переводиться на другие языки, поэтому мне не обязательно проверять координаты и численность населения, чтобы определить, какая именно это Любань, т.к. мне для перевода на другой язык это роли не играет.

Ну и сам поиск IMHO следует проводить не по всем н/п, а только по тем, у которых уже есть name:en (name:fr/name:de - по выбору) или int_name. Таковых в мире около 62 тыс, так что объем работы вполне подъемен для бота, а разбор лога ошибок глазами - тоже вполне реален.

А почему только по ним? Я хотел бы видеть карту полностью на русском языке, а не выборочные н.п.

PS. Да, хорошо было бы запоминать уже найденные имена и при встрече одноименных тоже выдавать сообщение в лог ошибок.

Постараюсь сделать. Сейчас пока буду делать список исключений, чтоб автоматически убирать фразы типа " (значения)" или " город)".

Offline

#16 2011-02-26 12:08:13

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,487

Re: NameRuBot

dedNikifor wrote:

по вашему способу придется городить что-то типа wikipedia=ru:Екатеринбург;en:Yekaterinburg;fr:Ekaterinburg;it:xxx;ch:xxx

это не кошерно

Конечно некошерно. Именно поэтому рекомендуется иное: задавать только wikipedia=ru:Екатеринбург, а остальное вытягивать при помощи API самой википедии. Тем самым не будет необходимости в OSM следить за актуальностью синхронизации между названиями на разных языках (ссылки в википедии тоже иногда меняются).

Offline

#17 2011-02-26 12:12:51

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,487

Re: NameRuBot

Fortress wrote:

Т.е. я хочу сказать, что н.п. Любань к примеру в Ленинградской области и где-нибудь в Челябинской должны одинаково переводиться на другие языки, поэтому мне не обязательно проверять координаты и численность населения, чтобы определить, какая именно это Любань, т.к. мне для перевода на другой язык это роли не играет.

Но это играет существенную роль, если таки захотите проставлять ссылку на википедию - т.к. ссылки, очевидно, будут отличаться.
Кроме того, перевод даже одноимённых городов в разных местностях может таки отличаться (в силу исторических, диалектовых и прочих причин).

Offline

#18 2011-02-26 12:40:16

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,640
Website

Re: NameRuBot

Sergey Astakhov
на самом деле ссылки на города должны выглядеть так:

ru:Киров (Калужская область)
ru:Киров (Кировская область)

И в самой Википедии статьи о разных городах должны быть разными. Если вдруг города переводятся по-разному - этот конфликт тоже разрешается средствами Википедии.

Offline

#19 2011-02-26 12:56:28

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,487

Re: NameRuBot

Alexandr Zeinalov wrote:

Sergey Astakhov
на самом деле ссылки на города должны выглядеть так:

ru:Киров (Калужская область)
ru:Киров (Кировская область)

И в самой Википедии статьи о разных городах должны быть разными. Если вдруг города переводятся по-разному - этот конфликт тоже разрешается средствами Википедии.

Зависит от конкретного города. "Москва (Московская область)" или "Москва (Россия)" ведь не пишут, несмотря на наличии населённых пунктов Москва в других местах. Просто убирают неодназначности в ссылках тем или иным способом.

Offline

#20 2011-02-26 13:11:11

Alexandr Zeinalov
Member
From: New-Peredelkino, Moscow, RU
Registered: 2009-08-26
Posts: 1,640
Website

Re: NameRuBot

Sergey Astakhov
для таких случаев в статье "Москва" ставится disambig на "Москва (значения)", откуда идут ссылки на "Москва (река)" и тд.

Offline

#21 2011-02-26 13:12:13

fserges
Member
From: St.Petersburg/Russia
Registered: 2010-11-08
Posts: 3,757

Re: NameRuBot

Я регулярно отслеживаю города в Википедии. Так вот статьи постоянно переименовываются. Ещё не хватало дубляжа Интервики здесь.

P.S. Если кого интересует - могу вывести список статей Википедии по всем городам России.

Offline

#22 2011-02-26 13:33:22

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: NameRuBot

Fortress wrote:

Автоматически только на совпадение osm-name и wiki<lang>-name. А дальше в ручную.

А это реально?
Сколько примерно населенных пунктов предполагается обработать вручную?

А зачем? Я планирую запускать бота на определенную территорию, ограниченную одним государством. Т.е. теоритически возможно конечно, что в одном и том же государстве находятся два города с одинаковыми названиями и разными названиями на русском языке, но я про такие не слышал. Т.е. я хочу сказать, что н.п. Любань к примеру в Ленинградской области и где-нибудь в Челябинской должны одинаково переводиться на другие языки, поэтому мне не обязательно проверять координаты и численность населения, чтобы определить, какая именно это Любань, т.к. мне для перевода на другой язык это роли не играет.

Не согласен.
К тому, что н/п с одинаковым названием могут по-разному переводиться на русский язык есть куча предпосылок. (оффтоп: почему, например, мы пишем "принцесса Диана", но "певица Дайана Росс"?)
Например, много городов располагаются в т.н. развивающихся, т.е. бывших колониальных странах.
Соответственно, существуют варианты названия:
- транскрипция с местного наречия на русский,
- перевод с местного наречия на русский,
- на языке метрополии - перевод с местного - транскрипция на русский,
- на языке метрополии - транскрипция с местного - транскрипция с языка метрополии на русский,
...
А если учесть, что метрополия могла время от времени меняться и названия - соответственно, что одноименные на местном наречии н/п могли оказаться в колониях разных стран и т.п...

А почему только по ним? Я хотел бы видеть карту полностью на русском языке, а не выборочные н.п.

Ну, задачи должны быть посильными, иначе они никогда не будут решены.
Отсутствие достаточно простых и эффективных проверок для отсева большей части вариантов, которые надо разбирать ручками с одной стороны и ничем не ограниченное количество "кандидатов" мне кажется, способно похоронить любую разумную идею.
Кстати, а не лучше ли не обрабатывать весь мир по маленьким кусочкам (на маленьких кусочках может статься, что существенные проблемы вылезут далеко не сразу), а сначала проанализировать ВЕСЬ мир для сбора статистики и проверки предположений по количеству "претендентов", по количеству совпадений и возможных конфликтов и только после этого уточнять и совершенствовать алгоритм и переходить к реальной правке.

Offline

#23 2011-02-26 13:40:16

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: NameRuBot

fserges wrote:

P.S. Если кого интересует - могу вывести список статей Википедии по всем городам России.

В данном контексте гораздо более интересным был бы список всех населенных пунктов Мира, имеющихся в русской Википедии.

Offline

#24 2011-03-12 09:25:49

andriano
Member
Registered: 2009-06-15
Posts: 1,667

Re: NameRuBot

Собственно, с последнего поста прошло 2 недели.
Хотелось бы более или менее регулярно получать информацию о том, как продвигается работа. (тем более, что я после создания этой темы прервал работу по ручному проставлению name:ru в городах более 100 тыс. жителей)

Offline

#25 2011-03-12 12:48:21

Fortress
Member
From: Russia, Saint-Petersburg
Registered: 2009-07-09
Posts: 1,109

Re: NameRuBot

andriano wrote:

Собственно, с последнего поста прошло 2 недели.
Хотелось бы более или менее регулярно получать информацию о том, как продвигается работа.

Хочется карту соседей на русском, так что я пока осторожно курю в сторону: http://ru.wikipedia.org/wiki/Финско-рус … анскрипция

(тем более, что я после создания этой темы прервал работу по ручному проставлению name:ru в городах более 100 тыс. жителей)

Сколько таких городов всего? Запущу завтра, посмотрим. Главное, чтоб на вики-педии не забанили за выкачивание больших объемов...

Offline

Board footer

Powered by FluxBB