Компания
355,79
рейтинг
12 ноября 2013 в 12:57

Разработка → Как Яндекс сделал самую подробную русскоязычную карту мира

Сегодня Яндекс объявил о крупном обновлении Карт. Теперь на сервисе доступна подробная карта мира, с детализацией вплоть до домов и маршрутизацией. Все основные названия на ней представлены сразу на двух языках: местном и русском.
Кроме того, карты России, Украины, Казахстана и Беларуси теперь полностью принадлежат Яндексу.

Сервис теперь работает на единой платформе, позволяющей поддерживать и самостоятельно обновлять любые объёмы данных. Карты России, Украины, Беларуси и Казахстана обновляют картографы Яндекса каждый месяц. Все остальные страны, схемы которых нарисованы партнёром Яндекса — компанией Navteq, изменяются раз в три месяца.

image

Детальнее всего на части Navteq выполнены Европа и Северная Америка: со всеми основными улицами и домами в городах и подробной сетью дорог, по которым сервис умеет строить автомобильные маршруты.

Большинство топонимов на картах Navteq было записано латиницей, хотя для некоторых языков (например, тайского и арабского) использовались оригинальные алфавиты. Чтобы пользователям было легче ориентироваться, Яндекс автоматически перевёл иностранные названия городов и популярных туристических мест на русский язык. Перед нами стояла задача перевести с 37 языков более 7 миллионов топонимов из 237 стран.

В этом посте мы подробно расскажем о том, как мы выбирали методы перевода и использовали их на практике.

Сегодняшняя новость — результат полутора лет работы. Мы уже давно поняли, что неправильно рассчитывать только на поставщиков данных и нужны свои карты. Первой стала Москва, нарисованная нашими картографами в 2011 году. Сейчас у нас есть собственные детальные карты России, Украины, Беларуси и Казахстана. Они объединены с подробными картами остальных стран от нашего партнёра, чтобы пользователям было удобно «переходить» границы. Нам нужно было не просто объединить схемы стран, но и организовать хранение и быструю обработку всех данных мировой карты, так что мы полностью переписали ядро сервиса. Кроме того, мы создали своё ПО для быстрого внесения изменений в карты, потому что электронные карты очень важно обновлять часто, а существующие на рынке программы не способны осилить наши объёмы. Яндекс теперь — картографическая компания совершенно нового уровня.

Сначала для того чтобы перевести топонимы на мировой Карте, мы подумали воспользоваться Википедией, ведь в ней есть очень много статей о населенных пунктах с указанием точных координат. Нужно было просто взять заголовок эквивалентной статьи на русском языке, и получить искомый перевод. Статей оказалось действительно много, но для наших нужд – совершенно недостаточно. Пойдя по этому пути, мы смогли покрыть не больше 5-7 процентов топонимов. Стало ясно, что проблему можно решить только самостоятельно, т.е. создать правила транскрипции для каждого из используемых языков. Конечно, лингвисты уже давно решили эту проблему, любой учебник иностранного языка начинается правил чтения. Однако эти правила рассчитаны на человека, соответственно мы должны были подготовить их таким образом, чтобы правилами могла пользоваться машина. А это не так уж просто. К тому же, практически у каждого правила встречаются исключения, которые тоже нужно было учитывать и отслеживать вручную. Не стоит забывать и об устоявшихся вариантах перевода многих топонимов. Например, если мы по правилам транскрипции переведем французское слово Paris на русский, у нас получится «Пари». Но у этого города в русском языке уже есть другое, исторически сложившееся наименование – Париж.

image

То же самое можно сказать и про реку Гудзон. По-английски это название пишется Hudson. Точно так же как фамилия знаменитой миссис Хадсон – квартирной хозяйки Шерлока Холмса. Написание «Хадсон» – пример фонетического переноса (транскрипции), а историческое «Гудзон», скорее, было получено путем транслитерации – побуквенного переноса. И примеров таких достаточно много, так как фонетический перенос использовался при переводе топонимов далеко не всегда. Кроме того, в некоторых случаях топонимы не подчиняются правилам чтения наиболее распространенного в этой местности языка, так как названия им давались другими народами, проживавшими на той же территории.

image

Как мы переводили

Итак, чтобы покрыть всю Мировую карту нам потребовалось перенести правила транскрибирования для 37 языков (плюс различные варианты и диалекты) в понятный компьютеру вид. Правила должны были учитывать контекст: ведь правила чтения той или иной буквы или слога очень часто зависят от того, что находится вокруг, вплоть до межсловных связей.

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

Для разметки используются следующие символы:

 - правило транскрипции
В круглых скобках - контексты и вероятности
$ - конец слова
^ - начало слова
* - «пустая транскрипция», звук не произносится
// - примечания


Правила выглядят следующим образом:

 р(0.95) *(0.03) рь(0.01) ж(0.01) // без контеста
(^)r => р(0.99) ж(0.01) // левый контекст длины 1, ^ - начало слова
r(eu) => р(1.00) // правый контекст длины 1
r(eu l) => р(1.00) // правый контекст длины 2


eu => ё(0.39) ой(0.21) эу(0.16) еу(0.14) ей(0.10)
(r)eu => ё(0.55) еу(0.18) ей(0.17) ой(0.10) у(0.10)
eu(l) => ё(0.45) эу(0.30) е(0.20) ей(0.05)
(^ r)eu => ей(0.25) ё(0.25) еу(0.17) ой(0.17) у(0.16)
eu(l eau) => ё(1.00)
 
l => л(0.86) ль(0.13) *(0.01)
(eu)l => л(0.80) ль(0.20)
l(eau) => л(1.00)
(r eu)l => л(0.50) ль(0.50) // левый контекст длины 2
l(eau x) => л(1.00)
 
eau => о(0.95) ео(0.02) ау(0.01) эо(0.01) еа(0.01)
(l)eau => о(0.86) ео(0.14)
eau(x) => о(1.00)
(eu l)eau => о(1.00)
eau(x $) => о(1.00)
 
x => кс(0.52) *(0.24) с(0.21) х(0.03)
(eau)x => *(1.00)
x($) => *(0.59) кс(0.38) х(0.02) с(0.01) // правый контекст длины 1, 
(l eau)x => *(1.00) 


А на выходе получается вот такой результат:

[r eu l eau x] => [р ё л о *] // результат транскрипции


Результаты работы скрипта тщательно проверяются. Если выявляются серьезные несоответствия и ошибки, добавляются новые правила или исключения из них.

Сложности

С наибольшими трудностями мы столкнулись при попытке составить набор правил для английского языка. Сформулировать для него простые правила никак не удавалось. А существующие правила практической транскрипции были рассчитаны исключительно на человека, владеющего английской фонетикой. Потребовалось вручную составить обучающую выборку, представляющую собой таблицы языковых пар. Только для британского варианта английского таких пар было подобрано около 70 тысяч. На их основе было создано около 20 000 контекстных правил. Отдельно пришлось дорабатывать выборку под американский вариант английского.

Проверяя исходные данные, мы обнаружили, что на картах Navteq встречаются ошибки в переносе некоторых топонимов на латиницу. Особенно часто это встречалось на картах среднеазиатских стран, где изначально была использована кириллица.

Иногда давали о себе знать последствия колониальной эпохи. Проявлялось это в том, что многие населенные пункты и другие топографические элементы в бывших колониях имеют несвойственные для основного языка страны названия. Например, в Гонконге встречается очень много англицизмов. Когда мы начали транскрибировать местные топонимы по правилам китайского языка, стали всплывать всевозможные артефакты. Там, где должно быть «Абердин Кантри Парк» появлялось «Абердень Цеунтр Парк». Мы были вынуждены создать специальный скрипт, который автоматически отлавливал англицизмы.

image

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

Что дальше?

Благодаря проделанной работе теперь на Мировой карте можно найти даже небольшой населенный пункт в каком-нибудь отдаленном уголке, введя его название по-русски. Но работа еще не завершена, предстоит сделать еще очень многое, чтобы довести функциональность Мировой карты до уровня карты России. Например, мы пока не умеем определять опечатки и неправильные написания топонимов. Кроме того, еще не переведены названия, улиц, площадей, проспектов и т.п. На русском можно посмотреть только названия городских районов. Однако мы надеемся со временем улучшить детализацию.
Автор: @elcoyot
Яндекс
рейтинг 355,79

Комментарии (185)

  • +11
    Просто интересно — в приложении под iOS карты появились недели 3 назад, а анонсировали только сейчас?

    И еще — сделайте кеш карт для заграницы и ваша карма станет бесконечной.
    • +8
      Возможность загружать кеш для зарубежных городов появится позже.
      • +1
        А возможность загружать кэш с языком, отличным от языка системы? Сейчас специально очистил и перезакачал, всё то же самое — смесь русских и английских надписей на карте Москвы.
        • 0
          Это потому, что у вас язык устройства — английский, и вам, соответственно, показывают карту для англоговорящих.

          О том, чтобы сделать возможность выбирать язык карты отдельно от языка устройства, мы думаем.
    • 0
      Не только в приложении под iOS появились недели 3 назад, а везде. Раньше на мелком масштабе Московская область сильно отличалась от окружающих областей, а потом внезапно разница пропала и тут же появись навтековские мировые карты.
      Хотя может тогда это не на всех пользователей распространялось.
    • +4
      Тестовые версии новых карт начали выкатываться еще в октябре. Сегодня было объявлено полной готовности новой платформы.
  • +2
    "… карты России, Украины, Казахстана и Беларуси теперь полностью принадлежат Яндексу." Яндекс зОХватывает мир? :) Написали бы, что больше не используете сторонних продуктов, а разработали стопроцентно свои варианты карт этих стран…
    А за продукт — лучи счастья разработчикам, карты удобные, подробные, глюков и несоответствий в моем маленьком ареале не обнаружено. Присоединяюсь к просьбе о создании локального кеша. Удачи и успехов! :)
    • 0
      карты России, Украины, Казахстана и Беларуси теперь полностью принадлежат Яндексу.
      All your base are belong to us!
  • 0
    Почему в приоритет не поставили прорисовку домов и улиц, все-таки на иностранных языках путешественник более-менее может найти объект на карте, а вот на пустой карте без домов и улиц, но с русским названием города (только что прилетел из Кипра, где очень не хватало ваших привычных карт) делать просто нечего.
    • +1
      В большинстве крупных городов дома и улицы прорисованы достаточно точно. Если домов нет, значит данных об их расположении нет ни у нас, ни у Navteq.
      • 0
        Париж, Берлин, Варшава, даже в Риге нету. А в небольших городах — Белостоке, например — вообще только улицы.

        Может, подкачаете номера домов из OSM? как там с лицензированием подобных штук?
        • +1
          Так вы про номера домов, а не про отрисовку? Про номера уже ответил ниже.
  • +1
    А если я буду искать по другому варианту транскрипции, поиск мне найдёт это место? Иными словами, не хранится ли у вас список альтернативных названий для каждого населённого пункта?
    • +1
      Как было сказано в тексте: «Например, мы пока не умеем определять опечатки и неправильные написания топонимов». Вполне возможно, в скором времени эта функциональность будет добавлена.
      • +2
        В странах с нелатинской письменностью названия на латинице постоянно «гуляют», так что это важный момент.
      • 0
        Вот только в некоторых случаях они как раз правильные. Порту, Вюрцбург, Перпиньян — не находятся, а яндексовские ошибочные варианты почти никто искать не станет.
  • 0
    Просто из интереса: ищу свою деревню 'Bergschenhoek' — находит, но на самой карте название не выводит ни на каком масштабе. Однако же соседняя деревня Bleiswijk сравнимого размера отображается с ее названием, начиная с уровня зума 11. Почему?
    • +2
      Возможно, ошибка. Передал разработчикам.
  • 0
    А политические проблемы вам не встречались? Например, как написать названия каких-нибудь спорных островов, на которые претендует Китай и Япония (у каждой стороны свой вариант названия)? Или Степанокерт / Ханкенди
    • +8
      В вопросе границ государств мы стараемся придерживаться официальной позиции РФ.
      • +4
        А в мелких конфликтах, видимо, следуете Navteq.
      • +3
        Да и это не шутки, потому что я (в другой большой компании), например, общался с воинственно настроенными пользователями.
        • –2
          Действительно опасная тема. Android iOS софтина MapsWithMe загружающая оффлайновый вектор OSM раньше очень неприятно удивляла, записав старый город Иерусалима в Палестину.
  • 0
    В chrome-based Опере (всех версий) скролл инвертирован. Почему?
    • –1
      Возможно дело не в картах, а таки в « chrome-based Опере (всех версий)»?
      • 0
        Как раз началось позавчера или вчера, когда новые карты вышли.

        На любых других картах (гугл, бинг) со скроллом всё ок.
        • –1
          Уже приблизительно месяц как инвертирован. Хромо-опера.
    • +1
      Сейчас проверил у себя, скролл нормальный. Попробуйте написать в поддержку.
    • +1
      У меня на OSX, Chrome тоже инвертирован.
      • 0
        Так это во всех приложениях на маке скрол инвертирован, можно поменять в настройках.
        • 0
          Не, у меня он всегда был там изменен, как на PC. Он везде нормальный, в т.ч. на Google-картах, кроме новых Яндекс.Карт. Могу предположить, что Яндекс для маков его сам инвертирует, что не есть правильно.
    • +2
      Это проблема beta-версии Хромиума. Воспроизводится в две-версиях оперы и Chrome Canary, соответственно.
      • 0
        Но ведь на других сайтах скролл не инвертирован.
    • 0
      Скрол инвертирован в Chrome Canary 33 и Opera Developer 19, в стабильных версиях всё нормально. Про ошибку уже доложено разработчикам Яндекс.Карт.
  • 0
    Важный вопрос (думаю, не только для меня) — когда в Яндекс.картах для WP появится скажчивание карт?
    • –2
      Система закрытая, если бы было реализуемо — давно бы сделал хоть кто-то
      • +2
        Скачивание карт возможно сделать, не обманывайте. У каждого приложения есть свое local storage, куда можно сохранять любые файлы/данные
      • 0
        SAS.Планета?
  • 0
    А с чем связано отсутствие надписей с номерами домов у зданий? Например в Париже, Афинах, Вашингтоне… хотя при клике адрес выводится с улицей и номером дома.
    • +3
      Во многих странах адресная схема отличается от нашей. Номера домов часто связаны с номером входа или секции дома. У одного дома может быть сразу несколько номеров, и если нанести их все на карту получится каша и путаница. Но мы работаем над тем, чтобы привести это к более удобному виду
  • НЛО прилетело и опубликовало эту надпись здесь
    • +12
      Конечно!
      Вчера прочитали и за ночь сделали.
    • +9
      Врагов имеет в мире всяк, но от друзей спаси нас, боже.
  • 0
    Гудзон скорее просто был заимствован опосредовано, через немецкий язык, потому что от него пахнет немецкой транскрипцией.
    • +2
      По-немецки Гудзон звучит следующим образом: ['hads(ə)n] — Хадсн, так что сомнительная версия.
      • 0
        Да, в словарь я тоже заглянул. Но вряд ли он так же звучал сто лет назад. А заимствовали явно не вчера.
      • 0
        Голландский? :)
        Похоже на него
        upload.wikimedia.org/wikipedia/commons/c/ce/Nl-Hudsonbaai.ogg

        Или же Датский тоже похоже звучит.
        • 0
          Учитывая что Нью Йорк раньше был Новым Амстердамом, то вполне вероятны голландские корни.
    • +1
      Звучание ближе к голландскому.
      • 0
        Угу, вот сначала приплыли голландцы, назвали место «Новый Амстердам» потом англичане, назвали реку английской фамилией, а потом русские у голландцев же (которых там уже было меньшинство) заимствовали измененное ими на свой лад название Гудзон вместо Хадсон… Прямо детектив… А дело-то в том, что в русском когда-то заимствование было совсем по другой схеме, практически по транслитерации.
        • 0
          На самом деле Хадсон работал на голландскую Ост-Индскую компанию, когда открыл эту реку. Так что всё правильно, первоначально название реки звучало на голландском, откуда и попало в русский.
  • 0
    А в перловых правилах вероятности вручную подбирались, или как-то еще?
    • +1
      По обучающим выборкам.
  • +2
    Хотел бы оспорить некоторые транскрипции голландского.

    Зашёл посмотреть карту, открыл свои окрестности и сразу бросилось в глаза:
    Rijswijk здесь все произносят (и объявляют в поездах, что важно для путешественников) как Райсвайк, а не Рейсвейк. То же Zuid (в Delft Zuid) = Зяуд а не Зёйд. И Ляйден а не Лейден (хотя тут Лейден — традиционное русское написание, и наверное исправлять не надо).

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

    Передайте пожалуйста вашим лингвистам, пусть обратят внимание.
    • +1
      Спасибо, переправил ваше сообщение лингвистам.
    • +2
      В нидерландском есть устоявшаяся транскрипция на русский, и в целом Нидерланды переведены неплохо. Вообще, транскрипция топонимов фиксируется в момент проникновения в язык, поэтому у нас навсегда остались Лондон, Лейпциг и Гаага — с тех времён, когда транслитерация доминировала. Потому и Гудзон, а не Хадсон, и троллейбус, а не тролибас.

      Сетовать на то, что сейчас в нидерландском всё произносят не так, довольно странно — это касается не только нидерландского.
    • +3
      По словам наших лингвистов, в данном случае не стоит путать фонетическую (требующую максимальной точности передачи звучания слова) и практическую (более адаптированную к сложившейся орфографической системе принимающего языка) транскрипцию. Все наиболее авторитетные лингвисты рекомендуют именно использованные нами варианты.

      1. Rijswijk => Рейсвейк

      ij => ей у Гиляревского (с. 97), у Лидина (с. 226), у Ермоловича (с. 144)

      2. Zuid => Зёйд

      ui => ёй у Гиляревского (с. 97), у Лидина (с. 230), у Ермоловича (с. 144)


      3. В Википедии Leiden => Лейден, кроме того

      ei => ей у Гиляревского (с. 95), у Лидина (с. 223), у Ермоловича (с. 144)

      Р. С. Гиляревский, Б. А. Старостин. Иностранные имена и названия в русском тексте. Изд-во «Международные отношения», 1978 (и в других изданиях)

      Р. А. Лидин. Иностранные фамилии и личные имена. М., Изд-во Толмач, 2006

      Д. И. Ермолович. Имена собственные на стыке языков и культур. М., «Р.Валент», 2001

      Те же рекомендации присутствуют и в:

      «Инструкции по передаче на картах географических названий Нидерландов». Редакционно-Издательский отдел ВТС. Москва, 1956
      • +2
        Спасибо за оперативный комментарий. Я не специалист, прото заметил расхождение с реальным произношением, и обратил внимание на это. Теперь стало более понятно, почему сделано именно так.
  • +1
    >>Гудзон скорее просто был заимствован опосредовано, через немецкий язык, потому что от него пахнет немецкой транскрипцией.

    Просто в 19 веке транслитерация была популярнее транскрипции.

    Всем известный «Айвенго» изначально на русский переводился как «Ивангое» (Ivanhoe)
    «Робинзон Крузо» — как «Робинзон Крузоэ»
  • +4
    Перевод с чешского — ужасный. Много где названия ни письменно, ни фонетически не совпадают. Как должен русский человек понять, что Стары Жидовский гржбитов — это старое еврейское кладбище? :) Мог бы проконсультировать, если нужна помощь.
    • +2
      ну Стары Жидовски вполне понятно любому русскому…
  • 0
    А вот интересно, к этому имеет какое либо отношение народная карта Яндекса, и те кто ее наполняет?
    • +1
      Народная карта по-прежнему существует в качестве отдельного слоя.
      • 0
        Т.е. народная карта не имеет к этому никакого отношения?
        Просто, некоторые места в народной карте проработаны более детально, нежели в этой карте.
        • +1
          Сейчас не могу с уверенностью сказать, что данные с Народной карты не использовались при создании Мировой. Постараюсь уточнить у разработчиков.
        • +2
          После тщательной проверки модераторами объекты с Народной карты могут переходить на основной слой.
  • –5
    Почему «Оравский-Подзамок», когда Оравский подзамок? Почему «Межибродье-над-Оравой», когда Медзибродие над Оравой? Почему «Вишный-Кубин», когда Вышний Кубин (ну или в случае фонетической точности, «Вишни»). Почему «Битча», когда Бытча (название, кстати, встречающееся в Польше и Беларуси). Дурацкие мягкие знаки (Подбьел, Льетава, Тренчьянске) там, где они не несут никакой нагрузки.
    Почему в латинице напрочь отсутствует диакритика?!

    И да, Les Ulis читается «Ле Зюли», а не «Лез Юлиз».
    • +1
      Как уже было сказано в тексте, не все топонимы переводились методом транскрипции. Если в русском языке уже есть историческое наименование какого-либо географического объекта, его старались сохранить.
      • –7
        Межибродья нет, вы его сами выдумали. Бытча тоже устоявшаяся (хоть и есть вариативность). Как и с Подзамком.
        • –2
          Несогласных прошу отписаться, а не молчать. Желательно — с пруфами.
          • +6
            Я думаю, вас минусуют исключительно за хамский тон.
            • –3
              Хамского тона здесь не было, была констатация факта — Межибродье выдумал Яндекс, более нигде такое название не встречается.
    • 0
      Цитата:
      Части сложных географических названий пишутся с прописной буквы, причем соединяются дефисом, если они образованы: сочетанием иноязычных элементов, например: Алма-Ата („отец яблок“), Норд-Кап („северный мыс“)
      • 0
        Есть разница в заимствовании из славянских и неславянских языков. Здесь речь не идёт о какой-то абракадабре, а о словах, которые не лишены смысла в русском языке, потому адаптация будет уместнее.
        • 0
          См. Ростов-на-Дону. Это русское название :)
          • +1
            А Нижний Новгород тоже через дефис пишете? А Нижний Тагил?
            • 0
              Нет, но чем Ме[дз/ж]ибродье-над-Оравой отличается от Ростова или от Франкфурта-на-Одере, если честно, не очень понимаю.
              • 0
                Насчёт этого я не говорил. С Медзибродием вопрос в невесть откуда взявшемся «ж».

                З.Ы. Моё личное мнение, на самом деле, что и в случае с Ростовом «-на-» совершенно напрасно пишется через дефис.
                • 0
                  Вы в своём исправлении удаляли дефисы, ну да опустим :)
                  Что касается Оравского Подзамка, то я не был бы так категоричен. В русском языке далеко не всегда дописывается родное окончание к славянским прилагательным для руссификации. Например, даже существенно более близкая и очевидная польская Zielona Góra стала «Зелёна-Гура», а не Зелёная Гура и тем более не Зелёная Гора, которой она в общем-то и является. А это достаточно крупный и известный город, для него руссификация, казалось бы, практически неизбежно должна была случиться.
                  Можно взять, например, подробную советскую карту Чехословакии и обнаружить, что в случае Чехословакии прилагательные (практически) никогда не руссифицируются, даже в значительно более очевидных случаях: Горны-Бенешов, Чески-Тешин, Моравска-Тршебова. Ну и раз уж речь идёт о словацких топонимах, то славянские народы сами не всегда вполне уверены, писать ли дефис :)
                  • 0
                    Эта тенденция достаточно недавняя (ну, полвека я считаю за короткий временной интервал), и от неё, как мне кажется, пора отказываться. Если заглянуть в Швейка, например, через дефис не пишется практически или же вообще ничего.

                    Кстати, не забываем про чешско-русскую практическую транскрипцию.

                    Ну и ещё вот: www.podebrady.ru/2011/07/31/podebradi/
                    • +1
                      Я извиняюсь, но статья в википедии вообще сильно напоминает ОРИС. Эти правила транскрипции где-то нормативно зафиксированы?
                      Кстати, переводу Швейка даже больше полувека, так что та тенденция «более устаревшая».
                      А доисторические правила в Росреестре или нет, но они сейчас зафиксированы и являются нормативом, и, как мне кажется, картографические сервисы обязаны их придерживаться.
                      • 0
                        Это совершенно не ОРИС, там и ссылки есть.
                        • +1
                          Там ссылки на две главы из учебника ­— про L и про согласные перед тремя гласными. Всё остальное — ссылки на совершенно несвязанные источники, подтверждения нескольких частных примеров. Поэтому содержимое всей таблицы является ОРИС.
    • +1
      Насколько я понимаю, вы опираетесь на практическую транскрипцию, тогда как большинство упомянутых вами топонимов относится к Словацкому языку, правила которого несколько отличаются. За более подробной информацией вы можете обратиться к уже упомянутым книгам:

      • Р. С. Гиляревский, Б. А. Старостин. Иностранные имена и названия в русском тексте. Изд-во «Международные отношения», 1978 (и в других изданиях);
      • Р. А. Лидин. Иностранные фамилии и личные имена. М., Изд-во Толмач, 2006;
      • Д. И. Ермолович. Имена собственные на стыке языков и культур. М., «Р.Валент», 2001.
      • 0
        Согласен, что правила несколько отличаются, но не настолько значительно, чтобы это играло какую-то роль. Кстати, именно на упомянутую Вами книгу ссылается викистатья.
        • +1
          Откуда такая уверенность, что различия не настолько заметны?
          • 0
            Оттуда, что я живу в Словакии, свободно говорю по-словацки, понимаю чешский и немного по-чешски говорю. И знаю различия в произношении чешских и словацких слов :)
            • +2
              Лингвистика — это несколько больше, чем просто умение говорить на иностранных языках. Еще раз напомню, что правила практической и фонетической транскрипции не всегда совпадают. При практической транскрипции звучание переведенного слова может совпадать с исходным не полностью.
              Я передал вашу точку зрения нашим лингвистам, ретранслировал вам ответ. Дальше спорить смысла не вижу.
              • –1
                Ведь я именно про это и говорю. Вы используете фонетическую транскрипцию, я же настаиваю на практической. Нет смысла писать Ческе-Будеёвице, когда есть вполне нормальное русское название Чешские Будейовицы.

                Кстати, лингвистика — моё хобби.
  • 0
    Если взять Катманду, то Bhaktapur транскрибируется как Бхактапур, (это правильно) а Lalitpur почему-то Лалитпер
  • 0
    Хотел бы обратиться к Яндексу по поводу карт. Пожалуйста обновите карты которые можно скачать на телефон полностью. А то получается что я скачиваю 3 гига карт, а потом они снова начинают обновляться и весь смысл того что я сохранил карту в кеш практически теряется.
  • 0
    Это очень круто. :) Есть ли шанс, что ваши наработки станут доступны для opensource сообщества? В частности для openstreetmap их было бы здорово применить.
  • +11
    Сложности перевода — это забавно. Все уже посмеялись над перлами перевода, типа лондонского «Ричмонд-апон-Темза» (вкупе с «Сити-Тамеслинк»), спасибо.

    Но вот после такого:

    image

    мысли изменять Нокиевским картам более не возникает.

    P.S. Тут пишут, что монгольское озеро «Хара-ус-нур» стало «Кар-США-Лейк». Видимо, тяжёлое монгольское колониальное прошлое «дотянулось»…
    • 0
      Да, некоторые недоработки встречаются, но они будут исправляться.
  • 0
    А из «народной карты» вы данные забросили? Я вот смотрю на Кыргызстан — один контур, пять дорог. При этом в народной карте пользователи отрисовали вплоть до домов.
  • +1
    После того, как была проделана вся эта работа, нужно было сделать ещё две вещи.

    Первая — купить сколько получится вот таких карт, отсканировать вкладыши с названиями и сопоставить топонимы Роскартографии с переведёнными. Дальше желательно заменить неправильно переведённые на варианты Роскартографии, в крайнем случае — записать их как синонимы. Заодно и поправить коэффициенты.

    Вторая — всё-таки воспользоваться Википедией и вытащить из неё альтернативные названия. Это относительно несложно — они даются жирным начертанием в первом предложении, а также можно использовать названия статьей-перенаправлений (инструмент «ссылки сюда» с ограничением «только перенаправления»). И записать получившееся в синонимы.
    • 0
      И то и другое было сделано ещё до того, как начинать транскрибировать названия роботами. Ты, кажется, невнимательно прочитал статью.
      • +2
        Судя по результату, итоги работы по транскрипции названий наложились на результаты этих действий. Раз так, то это надо было сделать не до, а после транскрибирования. Или придать максимальный приоритет.
        • +1
          В некоторых случаях, это сделали специально. Например — знаешь ли ты, как официально называется Шарм-эль-шейх?

          Возможно, ты говоришь именно о них. Приведи конкретных примеров, пожалуйста.
          • +1
            Нет, про Шарм не знаю, а что Анталья должна писаться через мягкий знак, горячо поддерживаю.

            Я про Порту, Валанс, Вюрцбург, Перпиньян. Это ошибки, которые не могу объяснить, если предположить, что проводилась нормальная проверка по хорошим источникам. Сколько такой ерунды в мелких городах и посёлках — представить страшно.
  • +1
    Читал где-то, что в Яндексе теперь 7 миллионов объектов на русском языке. Ну, в Wikimapia их в районе 20 млн, а всего языков там больше 100. Есть к чему стремиться, конечно.

    Но, конечно, Яндекс — молодцы, работа серьезная. Еще бы Сирию вернули на карту с Кишиневом… :)
  • 0
    В Чехии не ищет город «Třebíč». Ни как «Требич», ни как «Тржебич».

    Вообще, в чешском Ř часто читается ближе к «Р», чем к «РЖ».

    Но вообще работа эпическая, представляю, сколько там еще фееричных багов в названиях будет…
    • +2
      Тршебич — историческое наименование.
    • 0
      Так Třebíč произносится как Тшебич. И в такой транскрипции ищется.

      Вообще, для нашего уха в чешском Ř часто читается ближе к «ш» или «ж»(в зависимости от), чем к «рж» и уж темболее «р».

      Например слово Třebíč: en.wikipedia.org/wiki/File:Cs-Trebic.ogg
      • 0
        Спасибо, я тут третий год, примерно знаю, как произносится Ř. Как «Ш» точно нигде оно не произносится. Обычно ближе к «Р» или к «Ж».
  • +1
    Итак, чтобы покрыть всю Мировую карту нам потребовалось перенести правила транскрибирования для 37 языков (плюс различные варианты и диалекты) в понятный компьютеру вид.

    Мда, громкая новость, а по факту все ошибки остались. Неужели по каким-то правилам немецкого языка название города Groẞostheim читается «гроссосТАЙМ»?

    Это название легко делится на морфемы: гросс-ост-хайм. Если бы город был известным и упоминался в старых источниках, то писалось бы по старым правилам передачи топонимов «гроссостгейм». (Ср. Эйнштейн и Айнштайн.) При этом правила чтения в немецком на порядок проще и английского, и даже русского.

    Это же касается других немецких городов, чье название заканчивается на -heim.
    • +1
      Не уверен, в какой именно период это наименование перешло в русский язык, но в том, что общеупотребительным оно стало именно в таком написании, вы можете убедиться просто вбив все три варианта в поисковике. Станет ясно, что «Гроссостайм» встречается гораздо чаще и в более авторитетных источниках.
      • +1
        Отличный ответ.
        Такое название распространилось в Интернете только потому, что в таком виде оно есть на картах Google. С каких пор за правильный вариант берется слово, как оно встречается в поисковиках? Например, «пофигу» встречается в Яндексе в пять раз чаще, чем верное раздельное написание «по фигу». Просто потому что люди так пишут, не делает данный вариант написания правильным.
        • 0
          Вообще-то, «по фигу» — это «по чему», т.е. «где», а «пофигу» — это «как».
          • +3
            То есть надо писать «мне побарабану»?
            • 0
              Если в смысле «не имеет значения», то побарабану, а если в смысле удар по барабану, то раздельно. Есть ещё такой анекдот про зайти в реку по…
              • 0
                Вы серьезно? Следуя такой логике:
                «Кот лежит на машине». (На чем? — На машине.)
                «Я езжу на работу намашине». (Как? — Намашине.)
                • 0
                  А можно такой же пример с «по»? И я не имел ввиду приведённый выше вариант с вопросом «как?».
                  • 0
                    А что вы имели в виду? Если «не имеет значения», то вариантов много: по фигу, по барабану, по хер и т. д.
                    Если нужны другие значения, то можно вспомнить:
                    Как? — По самое не могу.
                    Когда? — По прошествии (семи лет).
                    По счастью, по словам (профессора), по требованию (прокурора), по слухам…
  • 0
    Сегодня гулял по картам, заметил, что Корея (что Южная, что Северная), Япония и континентальный Китай, Вьетнам и некоторые другие азиатские страны остались на уровне Беларуси в картах Apple, при этом Гонконг, Тайвань и Филиппины получились очень детальными. Чуть восточнее, Душанбе, Ашхабад, Баку. Для Тбилиси только народная карта. Сирия вся зелёным пятном. С Африкой тоже самое, то подробно, то пятно. Это у Навтека нет материала, или же попросту не все карты пока перенесены в Яндекс?
    Израиль ещё местами загадочен. А везде появляющаяся надпись «Эйзор» в Палестине это «Зона».
    • +1
      У Navteq карты Азии действительно менее подробные. Со временем ситуация будет исправляться.
  • +1
    Никогда не понимал по какому принципу на Яндекс-картах отображаются города на разных масштабах. К примеру, если искать Лос-Анжелес, то найти его очень сложно, т.к. почти ни на одном масштабе его нет, но зато на некоторых присутствует Ист-Лос-Анжелес. То же самое касается Майами, Лас-Вегаса и Сан-Франциско. Если на карту посмотреть, то видно, что приоритет скорее отдавали административным центрам, вот только искать в той же Неваде будут прежде всего Лас-Вегас.

    Это, кстати, и предыдущей карты касалось. Кажется, Рига отсутствовала почти на всех масштабах, зато присутствовал другой никому неизвестный город.
    • 0
      Что интересно, похожая проблема встречается в MapsWithMe, что использует карту OSM. Это действительно какая-то серьезная недоработка в программной логике.
    • +1
      Да, шероховатости в отображении пока еще встречаются. Разработчики об этом знают и будут исправлять.
  • +3
    Пользуясь случаем, хочу задать 2 вопроса:

    1) Что значат эти цифры на карте?

    image

    2) Почему при приближении названия небольших населенных пунктов пропадают?
    • +4
      (Уиии, раскраска по номерам!)
    • +7
      Соедините точки, там дракончик.
    • +2
      Цифры — это номера районов. По большому счету, быть их там не должно, и вскоре они должны исчезнуть. Над проблемой из второго пункта тоже уже работают.
      • +1
        Спасибо! Буду с удовольствием пользоваться
  • +3
    Это круто, конечно, но что случилось с проселочными дорогами? Куда они делись? Раньше у Яндекса был просто офигительной точности граф проселочных и лесных дорог, а теперь что произошло?
    Было


    Стало


    Для меня, как для туриста, это все очень печально :(
    • +1
      В похожих ситуациях в путешествиях очень хорошо всегда работает OpenStreetMap. Там порой такие дикие места так хорошо нарисованы, что прямо восхищаешься.
      • –1
        У нас не помогает. Лесные дороги далеко не всегда видны из космоса, а уж исходить их с GPS… это нереально.
        • +3
          по Непалу MapFactor Navigator, который на OpenStreetMap, такие тропинки показывает, которые вживую с трудом разглядишь.
          • +2
            Советую OsmAnd, он умеет туристический (hiking) стиль.
            • 0
              Спасибо, поставила. Выглядит симпатично.
        • +1
          Они именно что чаще всего рисуются на месте энтузиастом или даже энтузиастами с GPS и по дополнительным ориентирам. Покрытие потрясающее (хотя иногда удивляет в другую сторону, Южная Корея вот довольно плохо отрисована, всё из-за того, что у Гугла и корейского аналога Яндекса, Naver, очень хорошие карты).
          • 0
            wikimapia.org/#lang=ru&lat=37.559820&lon=126.990280&z=11&m=b — вот, Южная Корея с русским языком размечена. И корейским тоже, я подозреваю.
            • 0
              Ну так Викимапия просто использует карты Гугла и на них навешивает описания мест, не?
              • 0
                Ну да, но ведь голый полигон без описаний мало интересен. Ну сеул, а что там делать и какие кнопки жать.
          • –1
            В нашем диком крае нет никакого потрясающего покрытия OSM, Яндекс.Карты до последнего времени были лучшими в плане дорожной и речной сети. Теперь мы этого лишились. Эвереста у нас нет, энтузиастов с трекерами соответственно тоже.
            • +2
              Печально, однако. (Можно конечно быть первооткрывателем с тем самым трекером, но это на любителя)
              • –1
                Дак в том и фишка, что я использовал Яндекс.Карты там, где еще не бывал.
    • 0
      Зато добавились мелкие улочки в городе, прямо на тротуарах :)
    • +2
      Передал про проселочные дороги разработчикам. Пытаемся разобраться в причине их исчезновения.
      • 0
        Спасибо!
      • 0
        Дорог так и нет. Детализация речной сети тоже стала ужасной :(
        Такое ощущение, что у Яндекса просто кончилась лицензия на качественные данные…
  • 0
    где можно найти описание первой картинки?

    upd.
    пардон. нашел в вики ru.wikipedia.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8 год 1707
    • 0
      В Википедии небольшая неточность. В 1707 году была издана немного другая карта, на которую и дана там ссылка. А атлас «Всего земнаго круга таблицы» был издан в 1713.
  • 0
    На карте Барселоны забавно — парки и названия ж/д-станций транскрибированы, улицы нет, а станции метро вообще не подписаны.
    • 0
      Ну есть еще над чем работать. В тексте об этом прямо говорится.
      • 0
        Вот с улицами будьте аккуратнее. Т.к. за чистую (при ориентации на местности) более важно оригинальное название, чем его перевод (тем более перевод с учетом лингвистически устоявшихся правил русского языка).

        Реальные сценарии: я приехал в город и загрузил карту Барселоны, мне надо найти адрес, либо по его написанию — из рекламного проспекта или визитки, или видеть его название, но не в русской транскрипции, а согласно местному произношению, что бы можно было спросить у местных.

        Если будете делать перевод улиц, рекомендую сделать опцию выбора в настройках, как отображать названия (оригинал, русское произношение, местное произношение).

  • 0
    Полезно бы сделать переключатель между русскими названиями и оригинальными/английскими (как в Google maps). Потому что по русским названиям часто невозможно будет ориентироваться на местности.
    • +1
      Попробуйте зайти на maps.yandex.com/.
      • 0
        ооо, надо же, не знал. Наверняка, не у одного меня возникнет такой вопрос. Лучше сделать чекбокс
      • 0
        А почему в русской версии название провинции Сураттхани, а в английской в два слова — Surat Thani?
        В английской версии осров Ko Samui, а в русской Ко исчезло и стало просто Самуй?

        В общем то, это обе не ошибки. Можно и так и так, но вот разногласия между картами удивляет.
        • 0
          Ну Гонконг и Hong Kong вас не удивляют?
  • +1
    Судя по моему родному городу карта все-таки делается путем «просмотра» openstreetmap: если на ней не нарисовали дом, то и у Яндекса его не будет. Но все равно, очень приятная получилась карта.
  • +2
    С большим интересом воспринял новость и пост.
    С большим любопытством посмотрел как вы определяете названия французских городов, потому что часто их прочтение не подчиняется правилам чтения французского языка.
    Ну и таки нашел как добавить свои пять копеек: город Goussainville читается как Гусенвиль, потому что, хоть сочетание звуков ville (город) по правилам читается «Вий», но это исключение и правильно произносить «Виль». Поэтому и Гусенвиль, а не Гусенвий: ссылка. Так как в названии городов во Франции такой суффикс используется часто, то можно добавить его в исключения.
    • +1
      Вполне возможно, что вы правы. Сообщил лингвистам.
    • +2
      Все действительно так. Внесли исправления в правила. Спасибо.
      • +1
        А сколько времени потребуется, чтобы изменения вступили в силу? Пока все осталось на прежних местах.
        Да и Лион по прежнему разбит на округа Парижа (!), о чем я писал в техподдержку в ноябре.
        image
  • +1
    Так держать, Яндекс — половина топонимов теперь есть только в переводе и если человек смотрит на карту и на, скажем, табличку с названием улицы, а с правилами чтения на местном языке у него плоховато (а это Англия или Франция, например) то ему теперь вдвойне сложно понять, там он находится, где должен, или не там.
    • +1
      Во-первых, названия улиц пока что не переведены, так что на карте и на табличке будет написано одно и то же. А во-вторых, всегда можно посмотреть Карты без перевода.
      • 0
        Я вот не очень понял, что это значит?
        Большинство топонимов на картах Navteq было записано латиницей, хотя для некоторых языков (например, тайского и арабского) использовались оригинальные алфавиты.

        Не вижу на карте Тайланда ни одной буквы оригинального алфавита. Все латиницей.
        • +1
          Латинизировали. По-моему русский и международный вариант (латиницей) — более очевидно, чем оставлять местную письменность, которую большая часть пользователей просто не поймет.
  • 0
    Ой, здорово! Примите искренние поздравления! Пользуюсь картами и Яндекса. Вы проделали действительно большую работу! Всех благ сервису и людям его создающим! Молодцы!
  • +3
    Наверное, это здорово. Но пока ещё как-то странно.

    Открыл Фукуоку, Япония — белое пятно, две улицы без подписей. Город-миллионник.

    Открыл Токио — белое пятно, три улицы и одна ветка ЖД. Без подписей.

    Открыл Пхукет, Таиланд — всё размечено, но в английской транскрипции, в поле зрения попало две клавиатурные опечатки (Thaweewong -> Thaweewpmg).

    Нажал «Сообщить об ошибке» — при переносе маркера интерфейс сообщения об ошибке пропал сам собой.

    Вдохнул-выдохнул-закрыл.
    • 0
      Яндекс, как же так с Токио вышло?
    • 0
      С покрытием Азии у Navteq действительно пока все не очень ровно. Постепенно будет дополняться.
  • 0
    Мне понравилось. Построил маршрут от Москвы до Глазго. Построило. Порадовался :)
    Хотелось бы возможность строить маршрут через указанные промежуточные точки. Т.е. не два адреса вводить, а много.
  • 0
    Скажите, а зачем на Яндекс-картах Киева есть несуществующие дороги и дома? То есть, в 2015 эти дороги и дома и будуть, возможно, построены, но зачем их сейчас показывать?
    Например, maps.yandex.ua/?ll=30.465022%2C50.522861&spn=0.033903%2C0.011956&z=16&l=map
    Дороги (окружной), нет, строительство только намечается (уже последние 15 лет намечается). Причем, по тому же проекту, улицу Дегтяренко планируется соединить с будущей окружной, но на картах Яндекса этого уже нет (странно).
    Два дома, существующие на этом участке, еще только строятся, а еще один только в проекте.
  • 0
    Молдовы как не было, так и нет(
  • –1
    Яндекс, верни на место Иерусалим. Я понимаю, спорная территория и всё такое, но столицу страны, 500-тысячный город всё же лучше вернуть на место.

  • 0
    Посмотрел свой городок, Westmount. Вроде транслитерирован правильно — Уэстмаунт. Однако одноимённый парк написан как Парк-Вестмун. Вероятно название города было подсмотрено в Википедии, а название объектов сгенерировано программно, причём неправильно. Я так понимаю, что это произошло из-за того, что в Монреале среди французских названий попадаются и английские. А на картах Яндекса они транслитерированы по правилам одного языка — французского. Например Summit Park превратился в Парк-Сюмми, а King George Park — в Парк-Кен-Жорж. Хорошо, что не стали пока улицы переводить. Я так думаю, что это не единственный город с названиями на разных языках. Так что надо скрипты как то научить понимать на каком языке то или иное название. И ещё, интересно, что собственно Монреаля на карте нет, в смысле его названия, ни при каком масштабе. Только отдельные районы города и пригороды.
    • +1
      Сообщил лингвистам.
    • 0
      В Канаде топонимы переводились в соответствии с указанным производителем карт исходным языком. В ваших примерах у Navteq значится французский язык. Будем разбираться.
      • 0
        Похоже в Navteq решили всё просто, какой официальный язык в провинции, на таком и названия. Однако в самой Канаде их два, поэтому в англоязычных провинциях могут попадаются французские названия и наоборот.
        • 0
          Посмотрел интереса ради maps.google.ru — всё правильно, названия на любом языке транслитерированы верно. Причём намного подробнее, включая улицы. Так что насчёт самой подробной и, главное, правильной русскоязычной карты мира Гугл может успешно поспорить с Яндексом.
  • +1
    Молодцы, спасибо за вашу работу! По России никогда не пользуюсь картами Google, только Яндекс. Если так дело пойдёт, то и в мировом масштабе — только Яндекс. Особенно если сделаете возможность загрузки оффлайн-карт в приложение — Google против этого борется со страшной силой.

    И да, «Фиренце» по-русски исторически называется Флоренцией :)
  • 0
    Как в старом интерфейсе, так и в новом, с некоторого времени не стало поиска по адресу и нет геокодирования в южных республиках бывшего СССР — Абхазии, Армении, Азербайджане, Молдове, Грузии, Кыргызстане, Таджикистане, Туркменистане, Узбекистане, Южной Осетии. Например, запрос АЗЕРБАЙДЖАН, БАКУ, улица Узеира Гаджибекова 36, выдает только Баку, а поиск по адресу дома в поселке КЫРГЫЗСТАН, АЛЕКСАНДРОВКА, улица ФРУНЗЕ 112, выдает вообще только Кыргызстан.
    Вот такой вот горький катаклизм!
  • +1
    А тем временем рейтинг приложения Я.Карты в App Store стал равен 2 звёздам из 5 (раньше было 4,5). Если есть возможность, пните тех бездельников которые центровку в приложении уже пол года починить не могут (включается компас вместо центровки положения если жать сразу после запуска).

    Вчера в очередной раз на светофоре решалась судьба поворота (налево или направо) и Я.Карты сделали подставу из подстав, включив компас и заблокировав интерфейс с требованием срочно провести его калибровку. Потерял пол часа. Чуть не удалил, ей богу.
    • +1
      Обязательно передам.
      • 0
        Спасибо. Заодно передайте пожалуйста, что теперь мобильное приложение неожиданно для пользователей стало использовать Significant Location Changes, в отзывах творится истерия по этому поводу, т.к. многие думают, что это обычный GPS съедающий заряд за несколько часов. Вообще непонятно зачем вам эти данные, у пользователей будет много паранойи когда они поймут в чём дело.
  • –1
    Это большая работа. Простите меня заранее за вопрос, который может показаться издевкой, но я и в самом деле хотел бы узнать на него ответ.

    Зачем?
    • 0
      Если вы про перевод топонимов, то ответ, мне кажется, достаточно очевиден. Большинство пользователей Яндекс.Карт говорит по-русски. Как правильно произносится записанное латиницей название того или иного географического объекта на карте не всегда очевидно, так как правила чтения бывают достаточно сложными. Теперь вероятность совершить ошибку в произношении значительно снизилась.
  • +1
    Проверил — ещё три недели назад столица КНДР была Пйонгянг, сегодня уже Пхеньян, спасибо за исправление )
  • +1
    был летом в Киргизии, пошёл посмотреть как у вас дела с ней, а там ад какой-то :(
    Картинка
    image

    если не откроется ссылка

    тут же если переключится в «Схему» то озеро Сон-Куль куда-то пропадает.

    • 0
      Спасибо, передал разработчикам.
  • +1
    Мечтаю об открытом API для этой системы/базы. Сколько разработчиков интерфейсов мучаются с подобными задачами, А так бы — ты на вход оригинальное название и язык, а он тебе правила и предполагаемый вариант.

    Яндекс! Сделайте мир еще лучше!

    Пусть другие разработчики займутся остальными полезными делами, чем грызть гранит той горы, которую Яндекс уже перемолол.
  • 0
    Отвратительно транскрибированы кипрские названия населенных пунктов. Такое ощущение, что транскрибирование производилось с английских калек греческих названий:

    image

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка