Распознавать / анализировать почтовые адреса в тексте - PullRequest
0 голосов
/ 24 февраля 2011

Существуют ли какие-либо коммерческие библиотеки с открытым исходным кодом, которые могут обнаруживать почтовые адреса в тексте, подобно тому, как приложение Apple Mail подчеркивает адреса на Mac / iPhone.

Я провел небольшое онлайн-исследование, и идеи, похоже, заключаются в том, чтобы использовать Google, Regex или полный пакет НЛП, такой как НЛП Стэнфорда, который обычно довольно массовый. Я сомневаюсь, что в iPhone есть пакет NLP объемом 500 МБ или он подключается к Google каждый раз, когда вы читаете письмо. Что заставляет меня верить, что должен быть более легкий путь. Жаль, что UIDataDetectors не является открытым исходным кодом.

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

Ответы [ 4 ]

0 голосов
/ 16 апреля 2015

Что касается Python, вы можете попробовать Pyap: https://pypi.python.org/pypi/pyap

В настоящее время он поддерживает адреса США и Канады

0 голосов
/ 24 февраля 2011

Extractiv предоставляет коммерческую НЛП на базе Language Computer Corporation , которая может анализировать сущности и отношения в загруженных документах или при сканировании через Интернет.Первый сервис использует REST API.Я опустил этот URL, и он извлекает 4/5 адресов.Обратите внимание, что их совместное связывание делает их особенно трудными.

Поиск «адреса» в этом выводе JSON: http://rest.extractiv.com/extractiv/?url=/8410571/raspoznavat-analizirovat-pochtovye-adresa-v-tekste_format=json

Один из них:

{
  "id": 11,
  "len": 17,
  "offset": 1557,
  "text": "128 E Beaumont St",
  "type": "ADDRESS"
},

(Примечание: если вы используете вывод HTML, который больше подходит для демонстраций, он отфильтровывает контент, не содержащий предложений, поэтому вместо этого я показал JSON).

Отказ от ответственности: я работаю в Extractiv.

Обновление : больше нет извлечения.

0 голосов
/ 01 февраля 2012

На самом деле, как упоминал Дрю, вы можете получить чрезвычайно высокую точность, извлекая адреса и сравнивая их с данными USPS.Получение DVD от USPS в год, безусловно, будет работать, но не учитывает адреса, которые меняются.Для этого вам нужна более свежая версия.USPS публикует свои обновленные адресные данные (в собственном формате) ежемесячно, так что это будет хорошим источником авторитетных адресов.

Кроме того, использование службы проверки адресов (после извлечения адресных данных) стандартизируетадреса для вас, а затем проверьте их на предмет доступности и / или статуса вакансии.Как упоминал Дрю, один и тот же адрес может быть написан разными способами, которые все еще работают.Тем не менее, USPS всегда будет использовать стандартизированный формат.

Для того, чтобы делать то, что вы ищете программно, вам определенно понадобится API, хотя услуги обработки списка также доступны.

SmartyStreets имеет бесплатный API проверки адреса под названием LiveAddress , который стандартизирует, проверяет, а затем проверяет любой почтовый адрес в США.В интересах полного раскрытия я являюсь основателем SmartyStreets.

0 голосов
/ 24 февраля 2011

Парсинг адресов не наука. В моем офисе мы много лет занимались разбором адресов, и проблема в том, что нет никаких правил относительно того, что является действительным адресом. Мы используем базу данных адресов USPS для очистки адресов, которая на самом деле довольно быстрая и намного более точная, чем мы когда-либо могли получить самостоятельно. Это дает нам точность 98%, тогда как, как и прежде, мы получили около 90% очищенных адресов.

Большая проблема с разбором адресов состоит в том, что люди не вводят адрес одинаково. Один и тот же адрес может быть во всех следующих формах.

128 E Beaumont St
128 Ист Бомонт Стрит
128 E Bmt St
Улица Бомонт 128
Шоссе 128 88

Третий выглядит совершенно не так, но люди иногда будут это печатать. Иногда улица - это тоже шоссе. Есть куча возможностей. Просто попытайтесь поймать 90%, и вы признаете, что это так же хорошо, как и при разборе адреса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...