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