Я сам очень увлечен тем, как Google справляется с этим. Я не помню, чтобы видел что-то подобное где-либо еще.
Я полагаю, вы пытаетесь разделить входную строку на слова, используя различные разделители - пробел, запятую, точку с запятой и т. д. Тогда у вас есть несколько комбинаций. Для каждой комбинации вы берете каждое слово и сопоставляете его со страной, городом, городом, базой данных почтовых индексов. Затем вы определяете некоторый показатель того, как оценивать результат группового совпадения для каждой комбинации. Здесь также должны быть перекрестные правила, например, если почтовый индекс не совпадает хорошо, но страна, город, город совпадают хорошо и в комбинации относятся к действительному адресу, то метрика дает высокую оценку.
Это, конечно, сложно, а не вечернее упражнение по коду. Это также требует сильных вычислительных ресурсов — виртуальный хостинг, вероятно, взломает всего 10 запросов, но центр обработки данных может хорошо обслуживать его.
Не уверен, что есть пример реализации. Многие географические услуги предлагаются на платной основе. Что-то настолько сложное, как GoogleMaps, вероятно, будет стоить целое состояние.
Поправьте меня если я ошибаюсь.
person
User
schedule
01.07.2009