Определение географического положения в тексте - PullRequest
9 голосов
/ 29 июля 2009

Какая работа была проделана, чтобы определить, относится ли конкретная строка к географическому местоположению? Например:

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

Полагаю, я ожидаю статистического подхода, который дает определенную степень уверенности в том, что первые два являются местоположениями. Последнее, вероятно, потребует эвристики, которая захватывает «% s,% s», а затем использует ту же технику. Я специально ищу подходы, которые не слишком сильно зависят от предложения «в», потому что это не совсем однозначный или постоянно доступный индикатор местоположения.

Может ли кто-нибудь указать мне подходы, документы или существующие утилиты? Спасибо!

Ответы [ 4 ]

8 голосов
/ 29 июля 2009

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

Недавно на CLEF 2007 было выполнено одно задание (http://www.uni -hildesheim.de / geoclef / 2007 / Query-Parsing.htm ). Команда-победитель использовала грамматику, основанную на правилах, которая похожа на то, что вы, вероятно, не хотите. Другая статья на www2009 рассказывает о GeoParser: http://www2009.eprints.org/239/.

На CIKM 2007 также есть несколько статей о поиске географической информации: http://www.geo.unizh.ch/~rsp/gir07/accepted.html

Я не знаю ни одного программного обеспечения с открытым исходным кодом, которое делает это, но оно может быть встроено в поисковую систему, такую ​​как Lemur.

4 голосов
/ 31 июля 2009

Everyblock.com использует очень интересный подход, который фокусируется на том, как локации выражаются на английском языке - они в основном используют сложные и обширные регулярные выражения, которые теперь являются открытым исходным кодом. Их приложение предназначено для сканирования новостных статей, обзоров и различных общедоступных каналов данных и привязки их к конкретным местам, и оно работает хорошо. Такие выражения, как «Пожар в здании на северо-восточном углу 20-й улицы и улица Валенсия в Сан-Франциско», очень точно геокодированы. Вы можете изучить источник здесь . Вероятно, вам нужна конкретная часть ebpub/ebpub/geocoder/base.py, находящаяся в загрузке ebpub, и все, что с ней связано, например, начиная с класса SmartGeocoder и работая в обратном направлении.

3 голосов
/ 29 июля 2009

Ссылка на помощь: geonames.org поиск :

возвращает имена, найденные для searchterm как документ XML или JSON

пример: http://ws.geonames.org/search?q=troy,%20ny&maxRows=10

0 голосов
/ 21 июля 2016

Я создаю бесплатный геопарсер на geocode.xyz

(в настоящее время поддерживает около 50 европейских стран, в ближайшее время будет предлагаться глобальное покрытие)

Пример приложения геопарсинга можно найти на OpenWikiMap

...