Извлечение названия страны из текстовой строки - PullRequest
3 голосов
/ 13 ноября 2010

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

Что мне сложно планировать, так это как определить наиболее подходящую страну по названию. Мое первое предположение состоит в том, чтобы иметь список стран, а также их сопоставления (например, «английский» соответствует «Англия» и т. Д.) И проверять наличие этих элементов в тексте. Однако это, вероятно, будет довольно медленно и потребует от меня перечисления собственнического * названия для каждой страны.

Я планирую сделать это на Python (чтобы научиться его использовать), поэтому мне интересно, есть ли а) библиотека, которая делает это (и что я могу извлечь из этого уроки) или б) более очевидная способ сделать это?

Чтобы дать представление о типах ввода, с которым я работаю, вот несколько примеров и то, что я пытаюсь из них извлечь:

  • «Ну, они не могут арестовать всех нас - давая средний палец британской правовой системе (рис.)»
    • Ключевое слово: Британский (Великобритания)
  • "Опрос: Викиликс Ассанж, ведущий времени" Человек года ", - получил австралийца Ассанжа, который стал занозой на стороне Пентагона после выпуска секретных военных документов США о войнах в Ираке и Афганистане. 21 736 голосов по состоянию на пятницу. "
    • Ключевые слова: Афганистан, Ирак, [австралиец] (Афганистан, Ирак, [Австралия]) - Австралию будет трудно отследить, поскольку она в основном не имеет значения, но это приемлемо для моих целей
  • "Запущена кибератака на сайт Нобелевской премии мира. Оставайтесь стильными, Китай".
    • Ключевое слово: Китай (Китай)
  • «Еврейский хирург отказывается оперировать пациента и выходит из операционной после обнаружения нацистской татуировки на руке пациента».
    • Ключевые слова: нет - приемлемо для моих целей

* Возможно, это неправильное слово

Ответы [ 2 ]

3 голосов
/ 13 ноября 2010

Вы можете заглянуть в Yahoo! Place Maker API

Placemaker обеспечивает геообогащение для чрезвычайно значительная доля Веб-контент, который географически актуально, но не географически обнаруживаемый. Предоставляется в свободной форме текст, сервис определяет места упоминается в тексте, устраняет неоднозначность мест и возвращает уникальные идентификаторы (WOEID) для каждого, а также информация о том, сколько раз место было найдено в тексте, и где в тексте это было найдено. WOEID возвращенный сервис может быть передан в Yahoo! 's GeoPlanet ™ API для дальнейшего географическое обогащение и открытие.

0 голосов
/ 13 ноября 2010

Использовать полнотекстовый поисковый индекс в MySQL.Затем используйте вызовы AJAX для запроса к вашей базе данных.

...