Yahoo

индекс
60,81

Yahoo! Placemaker — геопарсинг в действии


Совсем недавно – 20 мая, компания Yahoo! объявила о выходе своего нового продукта, на данный момент не имеющего аналогов – Yahoo! Placemaker, сервисе гео-парсинга, основной целью которого является извлечение гео-релевантной информации из документов различного формата. Презентация прошла, как принято говорить, «при большом стечении народу» и закончилась «аплодисментами, переходящими в овацию» – задумка и реализация определенно понравилась, и какое-то время в Твиттере можно было наблюдать довольно-таки позитивный поток комментариев на эту тему. Но вот представление окончено, все расходятся по домам, и начинают задавать вопросы: так что же это такое?

Что такое Placemaker


Как уже было сказано, Placemaker – это веб-сервис, который позволяет извлечь гео-релевантную информацию из некоторого документа. Тут есть сразу несколько моментов, которые нуждаются в пояснении. Во-первых, что это за документы, из которых можно извлекать информацию? А во-вторых, что это за такая гео-релевантная информация, а самое главное – кому и зачем она нужна?

С документами все довольно просто. На данный момент Placemaker поддерживает текст (ну он и в Африке текст), HTML-документы (хотя здесь не все так просто), а так же XML-производные форматы аггрегации новостей — RSS и Atom. Кроме того, Placemaker «понимает» расширение RSS и Atom, известное как GeoRSS, а также способен извлекать дополнительную информацию из микроформатов, которые встраиваются в HTML документ. Про информацию-то и следует поговорить поподробнее.

Что Placemaker может


Если очень кратко, то все возможности PlaceMaker можно определить в три группы, а именно:
  • Какие места (географические) упоминаются в документе и какова их важность?
  • Среди всех мест, с одинаковым названием, о котором именно говорится в документе?
  • О каком месте идет речь в документе вцелом?



Проиллюстрируем эти две концепции на примере. Возьмем типичную новостную статью. Даже не читая ее, можно выделить, во-первых, что статья эта о Пакистане и «о чем-то в этом роде», а во-вторых, быстро просканировав текст, можно выделить конкретные географические названия — Пакистан, Исламабад, США (ну куда же без них!), и несколько других. Именно в этом и суть Placemaker — сказать «о чем» эта статья в географическом смысле и перечислить географические названия, отсортировав их — в случае необходимости — по важности.

Кроме того, следует заметить, что проблема мест с одинаковым названием — едва ли не самая сложная, которую разработчики решили при разработке Placemaker. К примеру, знаете ли вы, что существует 11 мест с названием Исламабад? Или 23 Лондона? Или 47 Йорков? А так же 29 мест с названием «Москва», 8 — с названием «Самара» и 234 Сан-Хосе? Разумеется, какие-то из них более популярны, а какие-то — менее, но выбрать-то надо не популярный, а правильный!

Как использовать Placemaker


Вопрос конкретного использования остается на усмотрение пользователя сервиса — но вариантов может быть масса, начиная от географической категоризации новостных статей и поиска упоминаний этого конкретного Спрингфилда в большом наборе документов, заканчивая совсем уж эзотерическими вроде нанесения на карту интенсивности сообщений в Твиттере о конкретном месте. И это только текст — если рассматривать еще и RSS/Atom, задача, которая решается при помощи Placemaker практически в одно действие — это превращение RSS в GeoRSS, то есть опять же, добавление географической информации в поток. К примеру, одна из групп в Yahoo! сделала отличное демо-приложение, которое собирало RSS-фиды от многих источников по всему миру, «пропускало» их через PlaceMaker, после чего показывало на карте, как менялась интенсивность новостей о том или ином регионе с течением времени (очень забавно было видеть огромный «пузырь» на всю Мексику во время всеобщей истерии по поводу свиного гриппа).

Справочная информация


Немного фактов о Placemaker.
  • Placemaker использует числовые идентификаторы WOEID (Where On Earth ID) для обозначения мест. Использование такого идентификатора позволяет однозначно сказать, о каком месте идет речь (в отличии от имени и координат). Полный набор WOEID на данный момент доступен для скачивания разрабочиками (и будет пополняться).
  • Placemaker использует ту же самую платформу, что и Yahoo! Geoplanet, с которым, кстати, можно поиграться вот здесь — и FireEagle.
  • Placemaker — веб-сервис, который способен принимать запросы в формате POST и REST, и выдавать результаты или в в виде XML, заранее определенной схемы, или в формате GeoRSS
  • Для того, чтобы использовать Placemaker, разработчику достаточно получить Application ID на сайте Yahoo! Developer Network
  • Placemaker бесплатен, так же как и GeoPlanet Data — база данных идентификаторов WOEID и сопутствующей информации
  • Placemaker поддерживает 27 языков, среди которых — к великому моему сожалению — все еще нет русского (впрочем, не оставляю надежды, что ситуация изменится).
  • Для того, чтобы поиграться с Placemaker, можно использовать минималистичный демо-сервис, который Расмус Лердорф (автор PHP) написал, по-моему, за ночь — так как с момента объявления публичного API до момента появления сервиса прошло никак не больше полу-суток. Кроме того, в форуме будут публиковаться ссылки на новые продукты, которые используют Placemaker (по понятным причинам пока их совсем немного :) )
  • Начать изучение Placemaker лучше всего с официальной страницы на YDN, где можно прочитать руководство пользователя (которое крайне настоятельно рекомендуется к изучению) и задать вопросы в форуме, который будет мониториться разработчиками.

И напоследок


Placemaker – это бета. Причем не «вечная бета», как это часто бывает у других компаний, а бета пока разработчики не выловят и не пофиксят – нет, не все, но такое количество багов, что приставку «бета» можно будет убрать. Поэтому если вы считаете что нашли баг – не держите это в себе! :) Напишите разработчикам в форум – они обязательно поблагодарят вас и исправят как только смогут. То же самое относится и к функциональности, которая безумно нужна, но по каким-то странным причинам не вошла в этот релиз – пишите, и все у вас будет!

Update: А добавлю-ка я штук несколько ссылок на демошки и маш-апы которые используют PlaceMaker:
Список будет расширен!
+25
21 мая 2009, 19:45
20

комментарии (18)

0
keith #
К примеру, знаете ли вы, что существует 11 мест с названием Исламабад? Или 23 Лондона? Или 47 Йорков? А так же 29 мест с названием «Москва», 8 — с названием «Самара» и 234 Сан-Хосе?

Можно про это поподробнее? Найти не удалось, а интересно :)
0
sigizmund #
Завтра напомните — с работы скину, а то лень VPN поднимать ;)

или можете скачать GeoPlanet Data и посмотреть — все там, все на месте ;)
0
konart #
en.wikipedia.org/wiki/Moscow_(disambiguation)

к примеру
0
sigizmund #
кстати да. Но на Википедии дааааалеко не все. Что и понятно.

Кстати статьи из Вики не советую скармливать по ссылке — в сервисе стоит хард-лимит на максимальную длину (и я его не помню), а эти статьи его легко превышают. лучше просто текст скопировать (хотя из HTML конечно информации контекстной будет выдрано куда больше, так что если страница небольшая, кормите URL).
0
konart #
Ну я как пример того что Москва в мире не одна, да и Санкт-Петербург часто встречается, и т.д.
+1
sigizmund #
Nr  H    Woe-Id            Type                         Name                 Town           County            State   Iso     Refs   D/Type
 --  -    ------            ----                         ----                 ----           ------            -----   ---     ----   ------
  1      2454486          Suburb                       Moscow            Gladstone             Clay         Missouri    US      3.2        1    0x3a PlaceType_P_S
  2      2454467            Town                       Moscow               Moscow          Marengo          Alabama    US      2.5        1    0x38 PlaceType_P_7
  3      2454468            Town                       Moscow               Moscow            Union         Illinois    US      2.7        1    0x38 PlaceType_P_7
  4      2454474            Town                       Moscow               Moscow         Allegany         Maryland    US      2.7        1    0x38 PlaceType_P_7
  5      2454477            Town                       Moscow               Moscow           Kemper      Mississippi    US      2.7        1    0x38 PlaceType_P_7
  6      2454483            Town                       Moscow               Moscow          Augusta         Virginia    US      3.0        1    0x38 PlaceType_P_7
  7      2454484            Town                       Moscow               Moscow          Hancock    West Virginia    US      2.6        1    0x38 PlaceType_P_7
  8      2454480          Suburb                       Moscow            Hopkinton       Washington     Rhode Island    US      3.3        1    0x3a PlaceType_P_S
  9      2454494          Suburb                       Moscow            Sulligent            Lamar          Alabama    US      2.5        1    0x3a PlaceType_P_S
 10      2454469            Town                       Moscow               Moscow             Rush          Indiana    US      2.8        4    0x38 PlaceType_P_7
 11      2454470            Town                       Moscow               Moscow        Muscatine             Iowa    US     12.7        4    0x38 PlaceType_P_7
 12      2454471            Town                       Moscow               Moscow          Stevens           Kansas    US     13.7        4    0x38 PlaceType_P_7
 13      2454472            Town                       Moscow               Moscow          Hickman         Kentucky    US      2.7        4    0x38 PlaceType_P_7
 14      2454473            Town                       Moscow               Moscow         Somerset            Maine    US      2.7        4    0x38 PlaceType_P_7
 15      2454475            Town                       Moscow               Moscow        Hillsdale         Michigan    US     13.6        4    0x38 PlaceType_P_7
 16      2454476            Town                       Moscow               Moscow         Freeborn        Minnesota    US      3.1        4    0x38 PlaceType_P_7
 17      2454478            Town                       Moscow               Moscow         Clermont             Ohio    US     13.0        4    0x38 PlaceType_P_7
 18      2454481            Town                       Moscow               Moscow             Polk            Texas    US     14.2        4    0x38 PlaceType_P_7
 19      2454482            Town                       Moscow               Moscow         Lamoille          Vermont    US     13.4        4    0x38 PlaceType_P_7
 20      2454485            Town                       Moscow               Moscow             Iowa        Wisconsin    US      2.9        4    0x38 PlaceType_P_7
 21      2454488            Town                       Moscow               Moscow          Fayette        Tennessee    US     13.7        4    0x38 PlaceType_P_7
 22      2454490            Town                       Moscow               Moscow        Jefferson         Arkansas    US     12.7        4    0x38 PlaceType_P_7
 23     28339490            Town                       Moscow               Moscow         Cavalier     North Dakota    US      2.6        4    0x38 PlaceType_P_7
 24      2454479  HistoricalTown                       Moscow               Moscow          Licking             Ohio    US      3.0        4    0x3d PlaceType_HTWN
 25      2454487            Town                       Moscow               Moscow       Lackawanna     Pennsylvania    US     13.5        7    0x37 PlaceType_P_6
 26        29398            Town                       Moscow               Moscow      Strathclyde         Scotland    GB      9.3       14    0x38 PlaceType_P_7
 27      2454489            Town                       Moscow               Moscow            Latah            Idaho    US     88.0       17    0x36 PlaceType_P_5
 28  *  12598709          County                       Moscow                                Moscow           Moskva    RU    379.3      912    0x22 PlaceType_Ad2
0
sigizmund #
Пардон, последнюю строчку забыл скопировать :))
29      2122265            Town                       Moscow               Moscow           Moscow           Moskva    RU   1718.9     2320    0x32 PlaceType_P_1

–1
keith #
Здорово! Спасибо. Интересно, как так получилось, что в Америке столько городов с названием Moscow…
Это наверно как у нас Воронеж из вороны и ежа, а у них Moscow из mosquito и cow.
0
sigizmund #
Смех в том, что можно взять почти любое английское слово, и почти наверняка в Штатах найдется городишко с таким именем. А на самом деле вероятнее всего что города эти основали переселенцы, поэтому есть и Москва, и с десяток Одесс, даже пара Севастополей есть — один в Индиане, другой в Висконсине :)
0
sigizmund #
Про Сан-Хосе извините скидывать не буду — порву всю верстку к чертям полосатым :) но их правда именно столько, сколько я сказал ;)
0
Toozla #
огромное спасибо за статью!

на вопрос, кому нужна гео-релевантная информация: гео-релевантная информация нужна, например, нам (см. toozla.habrahabr.ru/blog/58845)
+1
sigizmund #
Кстати в Placemaker, так же как и в GeoPlanet есть возможность задать Focus point, то есть система отвечает на вопрос «А как бы мы поняли этот текст, если бы мы находились вот где-то здесь?» — очень полезно именно для локального поиска (допустим, есть город Паниковский, но если фокус пойнт установлен на Самару, то сразу понятно, о каком Паниковском идет речь)
0
kashey #
Год назад насмотревшись отображения яндекс новостей на карте( но почемуто сейчас такую кнопочку найти не могу) задался похожим вопросом — по тексту найти поинт оф интерес новости.
Взял 500к новостей и пошол пробивать. Там правдо сложнее — надо было еще улицу пробить, и часто для этого надо было учитывать региональную привязаность RSS источника
Итак возмем новость
Владимир Владимирович во время своей поездки во Владимир встетился с сорока строителями шахт у которых зима наступила раньше из-за иванова(который не учел теорему котельникова при отоплении), но зато асбест на их лугах растет прям как у академика жукова

Какие лица и какие города тут перечислены?

ответ — город Владимир, {город, поселек, красный}Строитель, чтук 20 разных Шахт, ну конечно же Иваново, Котельников, Асбест(это город!), зеленые Луга, Жуков, Зима(да и какое лето в иркутске?), Сорок

Это наша раша, держава наша. Смерть буржуйским алгоритмам!
Мои — и те сдохли( а я написал часть своего стоп листа)

0
Phaker #
news.yandex.ru/map/Moscow/news.html

Мне в Москве сразу на первой странице новостей в правом верхнем углу большую превьюшку карты показывает, по ней и перехожу.
0
sigizmund #
к слову сказать, такие ситуации встречаются очень и очень часто, а в особенности — в случае городов с иностранными названиями. К примеру, во Франции есть город с названием The — что для английского языка… ну не совсем географическое название :) поэтому Placemaker использует очень сложные алгоритмы для определения ситуаций подобного рода, и когда он будет поддерживать русский язык, с вашим примером он скорее всего справится :)
+2
crtman #
0
Valery35 #
Года два назад пользовал www.geonames.org/rss-to-georss-converter.html
0
david_mz #
Очень жаль, что нет русских названий…

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.