Extrair nomes de cidades do texto usando python

Eu tenho um conjunto de dados em que o título de uma coluna é "Qual é a sua localização e fuso horário?"

Isso significa que temos entradas como

Dinamarca, CETLocalização é Devon, Inglaterra, fuso horário GMTAustrália. Hora Padrão da Austrália Oriental. + 10h UTC.

e até mesmo

Minha localização é Eugene, Oregon, na maior parte do ano, ou em Seul, Coréia do Sul, dependendo das férias escolares. Meu fuso horário principal é o fuso horário do Pacífico.Durante todo o mês de maio estarei em Londres, Reino Unido (GMT + 1). Durante todo o mês de junho, estarei na Noruega (GMT + 2) ou em Israel (GMT + 3) com acesso limitado à Internet. Durante todo o mês de julho e agosto, estarei em Londres, Reino Unido (GMT + 1). E, a partir de setembro de 2015, estarei em Boston, Estados Unidos (EDT)

Existe alguma maneira de extrair a cidade, país e fuso horário disso?

Eu estava pensando em criar uma matriz (a partir de um conjunto de dados de código aberto) com todos os nomes de países (incluindo formas abreviadas) e também nomes de cidades / fusos horários e, se alguma palavra no conjunto de dados corresponder a uma cidade / país / fuso horário ou No formato curto, ele preenche isso em uma nova coluna no mesmo conjunto de dados e conta.

Isso é prático?

=========== REPLT BASEADO NA RESPOSTA DO NLTK ============

Executando o mesmo código que o Alecxe recebo

Traceback (most recent call last):
  File "E:\SBTF\ntlk_test.py", line 19, in <module>
    tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences]
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\tag\__init__.py", line 110, in pos_tag
    tagger = PerceptronTagger()
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\tag\perceptron.py", line 141, in __init__
    self.load(AP_MODEL_LOC)
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\tag\perceptron.py", line 209, in load
    self.model.weights, self.tagdict, self.classes = load(loc)
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\data.py", line 801, in load
    opened_resource = _open(resource_url)
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\data.py", line 924, in _open
    return urlopen(resource_url)
  File "C:\Python27\ArcGIS10.4\lib\urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python27\ArcGIS10.4\lib\urllib2.py", line 431, in open
    response = self._open(req, data)
  File "C:\Python27\ArcGIS10.4\lib\urllib2.py", line 454, in _open
    'unknown_open', req)
  File "C:\Python27\ArcGIS10.4\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "C:\Python27\ArcGIS10.4\lib\urllib2.py", line 1265, in unknown_open
    raise URLError('unknown url type: %s' % type)
URLError: <urlopen error unknown url type: c>

questionAnswers(1)

yourAnswerToTheQuestion