NameRuBot

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

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

Так ведь отказались от тега wikipedia:ru. В википедии же собственный механизм - Интервики - http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B8%D0%BA%D0%B8

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

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

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

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

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

В википедии “it”.

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

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

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

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

А нормально, что этот тег не закрыт?
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. Да, хорошо было бы запоминать уже найденные имена и при встрече одноименных тоже выдавать сообщение в лог ошибок.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • транскрипция с местного наречия на русский,
  • перевод с местного наречия на русский,
  • на языке метрополии - перевод с местного - транскрипция на русский,
  • на языке метрополии - транскрипция с местного - транскрипция с языка метрополии на русский,

    А если учесть, что метрополия могла время от времени меняться и названия - соответственно, что одноименные на местном наречии н/п могли оказаться в колониях разных стран и т.п…

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

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

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

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

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