Общий синтаксический анализатор адреса для текста свободной формы

Рейз повторно поднимает последнее исключение, которое вы поймали, а не последнее исключение, которое вы подняли

(оставлено для комментариев для ясности)

9
задан Matt 12 June 2013 в 16:54
поделиться

1 ответ

По сути, это класс проблемы разрешения именованных сущностей. NER в Википедии

Лучший способ приблизиться к этому - проанализировать адрес с помощью языкового преобразователя для идентификации различных конструкций - подход аналогичен использованию регулярных выражений с конечным автоматом.

У меня был такой подход. большой успех с Java NLP и фреймворком машинного обучения под названием GATE , а их библиотека преобразователей называется Jape. Ознакомьтесь с их графическим интерфейсом и используйте его, чтобы написать для него некоторый Java-код!

Их встроенные примеры должны помочь вам начать изучение основ, а затем вы можете расширить его по мере необходимости. По сути, он разделяет текст на компоненты, используя правила и механизм правил, так что что-то вроде

Xyz, Blah St,
Foo City, 11110, CA

будет переведено в

Place: Xyz
Street: Blah St
City: Foo
...

И затем вы можете использовать свою базу данных местоположений для сопоставления.

Jape также поддерживает поиск по словарю, помимо правил - поэтому, если у вас уже есть "Blah St" в вашей базе данных, и у нее есть два родителя - город Foo и Bar - вы просто устраняете неоднозначность, анализируя следующую строку.

Edit : GATE включает инструмент под названием ANNIE - систему извлечения информации, с которой можно поиграться, чтобы определить адреса. Здесь используются некоторые встроенные правила Jape, которые можно использовать.

6
ответ дан 4 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: