Question

Quel type de travail a été effectué pour déterminer si une chaîne spécifique concerne un emplacement géographique? Par exemple:

'troy, ny'
'austin, texas'
'hotels in las vegas, nv'

Je suppose que ce à quoi je m'attends est une approche statistique qui donne un degré de confiance quant au fait que les deux premiers sont des emplacements. Le dernier nécessiterait probablement une heuristique qui saisit "% s,% s" et utilise ensuite la même technique. Je recherche en particulier des approches qui ne reposent pas trop sur la proposition "in", car ce n'est pas un indicateur de localisation totalement sans ambiguïté ni uniformément disponible.

Quelqu'un peut-il m'indiquer des approches, des documents ou des utilitaires existants? Merci!

Était-ce utile?

La solution

Le problème que vous décrivez est souvent appelé analyse de requête géographique ou, plus généralement, récupération d’information géographique.

Cette tâche a récemment été confiée à la CLEF 2007 ( http: //www.uni-hildesheim.de/geoclef/2007/Query-Parsing.htm ). L'équipe gagnante a utilisé une grammaire basée sur des règles, similaire à ce que vous ne voulez probablement pas. Un autre article sur www2009 parle de GeoParser: http://www2009.eprints.org/239/ .

Il existe également des articles sur la recherche d’informations géographiques à la CIKM 2007: http: //www.geo.unizh.ch/~rsp/gir07/accepted.html

Je ne connais aucun logiciel open source qui le fasse, mais il peut être intégré à un moteur de recherche tel que Lemur.

Autres conseils

Everyblock.com a adopté une approche très intéressante axée sur la façon dont les localisations sont exprimées en anglais. Elles utilisent essentiellement des expressions régulières sophistiquées et étendues, qui sont désormais open source. Leur application est conçue pour numériser des articles de presse, des critiques et divers flux de données publiques et les relier à des emplacements spécifiques. Le tout fonctionne bien. Des expressions telles que "Un incendie dans le bâtiment situé au coin nord-est de la 20ème rue et de la rue Valencia à San Francisco" sont très précisément géocodés. Vous pouvez consulter la source ici . La partie que vous voudrez probablement est ebpub / ebpub / geocoder / base.py , située dans le téléchargement ebpub , et tout le reste, par exemple en commençant par la classe SmartGeocoder travailler à reculons.

Un lien pour vous aider: recherche dans geonames.org :

  

renvoie les noms trouvés pour le   searchterm en tant que document xml ou json

exemple: http://ws.geonames.org/search? q = troy,% 20ny & maxRows = 10

Je crée un géoparser gratuit à l'adresse geocode.xyz

.

(prend actuellement en charge une cinquantaine de pays européens et offrira bientôt une couverture mondiale)

Vous trouverez un exemple d'application de géoparsing sur la Carte OpenWiki

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top