Текстовая геолокация - PullRequest
1 голос
/ 28 мая 2019

Мне нужно геолокации серии записей в базе данных проектов развития одной страны. У меня есть краткий обзор каждого проекта, в рамках которого я хотел бы определить муниципалитеты (или даже более крупные политические структуры), чтобы позднее я мог геолокации каждого проекта с помощью API GoogleMaps.

Я пытаюсь извлечь географическую информацию без использования обработки естественного языка. Я не заинтересован в использовании НЛП, потому что проект находится в небольших деревнях, чье имя я могу получить из других источников.

Я подумывал разбить текст на пробелы и попытаться найти совпадения, используя словарь Python, в котором значение - это название деревни, а ключ - это название деревни, разбитой на пробелы.

Пример:

«Проект Х был построен в Гааге, Нидерланды». Дали бы мне: "Гаага"

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Попробуйте https://geocode.xyz/textscan

https://geocode.xyz/?scantext=Project%20X%20has%20been%20built%20in%20The%20Hague,%20The%20Netherlands&geoit=XML

<geodata>
<match>
<location>The Hague,NL</location>
<latt>52.06805</latt>
<longt>4.29647</longt>
<confidence>0.2</confidence>
<MentionIndices>32</MentionIndices>
<matchtype>locality</matchtype>
</match>
</geodata>
0 голосов
/ 28 мая 2019

Я бы предложил использовать НЛП :-) или хотя бы некоторые алгоритмы, связанные с НЛП. Здесь вы можете найти список городов / населенных пунктов с населением более 500 человек с информацией о GPS-координатах, регионе (ах), стране и континенте http://www.geonames.org/ или http://download.geonames.org/export/dump/readme.txt Я бы использовал эти данные для создания очень легкого распознавания именной сущности с использованием алгоритмов https://pypi.org/project/pyahocorasick/. И после этого вы можете получить красивое и аккуратное «дерево» / иерархию деревни - маленького региона - большего региона - страны - континента (возможно, даже с GPS-координатами, если я не ошибаюсь).

...