Chỉnh sửa / phân tích địa chỉ nguồn mở với kết hợp mờ


8

Dưới đây là một chút câu hỏi chi tiết liên quan đến phân tích địa chỉ / mã hóa địa lý mà tôi cảm thấy nên thú vị với nhiều người dùng.

Vì vậy, về cơ bản, tôi tò mò muốn biết liệu có ai có kinh nghiệm cài đặt, xây dựng hoặc mở rộng một công cụ mã hóa địa lý mã nguồn mở và / hoặc chỉnh sửa địa chỉ không.

Tôi biết về trình mã hóa địa lý: Các sáng kiến ​​2.0 của Hoa Kỳ mà tôi nghĩ được duy trì bởi các geocommons nhưng tôi không chắc chắn nếu có các lựa chọn thay thế tốt hơn, các công cụ mã nguồn mở khác, nếu hệ thống của chúng có thể được mở rộng một cách hiệu quả hoặc nếu có bất kỳ sự phát triển nào tôi có thể không biết.

Mục tiêu của tôi như sau:

  1. Tôi cần một công cụ có độ chính xác cao, có khả năng tự động phân tích cú pháp và / hoặc chuẩn hóa dữ liệu vị trí được người dùng nhập từ một trường đầu vào duy nhất trong thời gian thực và với âm lượng cao nhất có thể.
  2. Dữ liệu đầu vào sẽ là một hoặc nhiều thành phần địa chỉ sau: mã zip, quận, thành phố, đường phố, địa chỉ, tiểu bang.
  3. Dữ liệu đầu vào cũng cần để có thể tra cứu từ cơ sở dữ liệu tên địa lý tùy chỉnh của chúng tôi. Ví dụ: anh ta có thể nhập tên của một vùng lân cận hoặc tên vị trí không USPS mà tự nhiên không phải là biến địa chỉ tiêu chuẩn.

Đưa ra các mục tiêu này, tôi nhận thức rõ rằng thực tế là khi đưa ra một trường mẫu đơn để thực hiện tra cứu như vậy, mỗi người dùng sẽ nhập dữ liệu của mình theo các định dạng khác nhau trong khi các yếu tố khác thường rơi vào lỗi chính tả.

Bên cạnh việc sử dụng cơ sở dữ liệu điều tra dân số làm cốt lõi cho các địa chỉ / phạm vi hợp lệ (tất cả những gì tôi tin là Geocoder: US, tôi tin rằng một số khả năng xác định "bí danh" đã biết là lý tưởng cho việc viết sai chính tả tên đường phố. những thứ như người dùng vào Ave so với Ave. so với Avenue. Đừng nghĩ khả năng bí danh như vậy là hoàn toàn có thể với công cụ Geocoder: US.

Mặc dù các yếu tố trên có thể thực sự giải quyết được phần lớn các vấn đề, tôi nghĩ rằng một số loại kết hợp mờ hiệu quả cần tồn tại khi đầu vào không thể khớp với đủ% tuổi.

Nếu dữ liệu đầu vào có thể được phân tích thành các phần tử riêng lẻ dựa trên một số quy tắc giả định và sau đó sử dụng một loại thành phần "điểm số phù hợp" để phù hợp với bất kỳ yếu tố nào chưa từng có sẽ phải dựa trên các yếu tố đã được "khớp" với mức cao trình độ.

Ví dụ: Tôi sẽ giả định rằng mã hóa địa lý có hiệu quả nhất có thể, chúng ta cần trích xuất các yếu tố dữ liệu riêng lẻ từ trường đầu vào trong nỗ lực thu hẹp "khu vực" mà người dùng đang cố gắng tìm kết quả. Theo quan điểm của tôi, điều này có nghĩa là số 5 chữ số có thể được coi là mã zip, nếu có một yếu tố khác như tên thành phố khớp với mã zip, giả định rằng chúng tôi có "khu vực" chính xác ... Tiếp theo chúng tôi sử dụng phần còn lại dữ liệu để cố gắng tìm một kết quả đầy đủ, một phần hoặc mờ, điểm số và liệt kê các kết quả có thể.

Trong mọi trường hợp - tôi sẽ đánh giá rất cao nếu có ai có thể cung cấp một số lời khuyên ở đây cùng với bất kỳ lời khuyên nào, chỉ số hiệu suất hoặc sự phát triển sắp tới mà họ biết có thể điều chỉnh hướng của tôi (chẳng hạn như sử dụng postgis 2.0 như một phương tiện để tăng cường khả năng kết hợp)

Câu trả lời:


7

bạn có thể thử gisgraphy. nó bao gồm một trình phân tích cú pháp địa chỉ, bộ mã hóa địa lý và bộ mã hóa địa lý ngược. (không sử dụng dịch vụ miễn phí cho lô, nhưng cài đặt nó trên máy chủ của bạn). fulltextsearch với synomyms, kiểm tra chính tả có thể cũng có thể giúp. không có vấn đề gì nếu bạn cần khối lượng lớn, vì gisgraphy có sẵn dưới dạng dịch vụ web với một số định dạng (XML, JSON, PHP, Python, Ruby, YAML, GeoRSS và Atom) để nó có thể mở rộng

khoa học


6

Tôi có một số kinh nghiệm với điều này. Tại SmartyStreets (nơi tôi làm việc), chúng tôi tạo phần mềm xác minh địa chỉ có tên LiveAddress . (Đây thực sự là tất cả dựa trên web; không cần tải xuống hoặc cài đặt nó.)

Những thách thức của việc xác nhận và tiêu chuẩn hóa địa chỉ là rất nhiều, tôi đảm bảo với bạn. Nó thậm chí còn phức tạp hơn khi bạn cố gắng phân tích địa chỉ thành các thành phần cụ thể hoặc thực hiện "tìm kiếm mờ". Nhưng đừng sợ ... chúng tôi đã không chính thức công bố một quy trình cơ bản để thực hiện xác nhận địa chỉ dạng tự do . Mặc dù dịch vụ của chúng tôi không phải là nguồn mở, chúng tôi khá cởi mở về việc chia sẻ chuyên môn của mình với cộng đồng và thiết lập các tiêu chuẩn mới về chất lượng và hiệu suất.

Dù sao, tôi nghĩ rằng bạn sẽ thấy trang đó phần nào hữu ích. Một API như của chúng tôi sẽ xử lý hàng ngàn trên hàng ngàn yêu cầu mỗi giây vì chúng tôi được phân phối địa lý trên ba trung tâm dữ liệu trên toàn quốc . LiveAddress sẽ có thể chăm sóc "kết hợp mờ" cho bạn và chỉ trả lại kết quả hợp lệ, điền vào các phần còn thiếu và sửa lỗi chính tả.

Nó tính đến các bí danh USPS chính thức và thậm chí cả tên đường phố hoặc tên địa điểm không chính thức và khớp chúng với các điểm cuối chính thức, có thể giao được. Tuy nhiên, đối với tên tùy chỉnh của riêng bạn, bạn sẽ phải sử dụng nó vào cơ sở dữ liệu của riêng mình.

Một từ cuối cùng cũng vậy: Tôi sẽ nói thêm rằng trong khi các công cụ nguồn mở là tuyệt vời và miễn phí, có lẽ bạn sẽ trao đổi nó cho một số khía cạnh của dịch vụ, hiệu suất và chất lượng tổng thể. Ngay cả khi bạn lưu trữ dịch vụ nội bộ, bạn vẫn có trách nhiệm duy trì dịch vụ và đáp ứng các yêu cầu về âm thanh như thế nào, trong trường hợp của bạn, một trọng tải nặng.

Tôi sẽ rất vui khi được trả lời các câu hỏi của riêng bạn về các địa chỉ - Tôi nghĩ rằng nhiệm vụ trước bạn thực sự khá thú vị và có vẻ quá sức nếu không có tài nguyên phù hợp.


3

Tiêu chuẩn hóa địa chỉ (chỉnh địa chỉ AKA, chuẩn hóa địa chỉ, phân tích địa chỉ) không phải là một nhiệm vụ đơn giản. Nếu bạn có ngón tay nhanh nhẹn và khả năng sáng tạo dồi dào, một REGEX rất tốt có thể được pha chế có thể làm tốt công việc. Tuy nhiên, nó không xử lý rất tốt các trường hợp cạnh mà kết quả có thể mơ hồ. Lý do là thiếu bối cảnh. Bạn phải biết kết quả chính xác trông như thế nào để biết rằng bạn đã đạt được độ chính xác mà bạn cần. Chắc chắn, lấy danh sách 100k địa chỉ và có thể phân tích chính xác 70% trong số chúng (chỉ sử dụng REGEX) sẽ tốt hơn là không phân tích bất kỳ địa chỉ nào trong số chúng. Nhưng, mất bao lâu để phân tích các địa chỉ "cứng" còn lại? MỘT THỜI GIAN DÀI. Họ yêu cầu một số lượng lớn các chức năng phân tích cú pháp chuyên biệt vì không biết ngữ cảnh hoặc "câu trả lời đúng". Đây là nơi xác minh địa chỉ có ích vì "bối cảnh" đã biết. Địa chỉ được chuẩn hóa và hiệu chỉnh đầy đủ được biết đến và danh sách chính có thể được sử dụng để so sánh kết quả.

Tôi được hỏi điều này rất nhiều vì tôi làm việc với xác minh địa chỉ tại Smartystreets .


2

Một thách thức đối với các dịch vụ xác minh địa chỉ là một số địa chỉ hợp lệ, nhưng USPS không thể cung cấp được. Tôi sống trong một thị trấn nhỏ nơi USPS không giao hàng tận nhà; tất cả cư dân phải sử dụng hộp PO. Tuy nhiên, cả UPS và FedEx đều cung cấp dịch vụ giao hàng đến nhà của chúng tôi, vì vậy rõ ràng địa chỉ của chúng tôi có ý nghĩa gì đó. ;-)

Dù sao đi nữa, bản demo 'LiveAddress' của SmartyStreets không nhận ra địa chỉ nhà của tôi. Điều này đặt ra câu hỏi liệu tôi có muốn dựa vào API phụ thuộc vào xác minh USPS hay không. Nghĩ đến việc đi theo con đường nguồn mở cho một dự án tôi đang bắt đầu.


1

Tôi đã bắt gặp DataMatch bởi Data Ladder , đây là một công cụ phân tích cú pháp địa chỉ / tiêu chuẩn hóa phù hợp tuyệt vời được sử dụng trong toàn doanh nghiệp và sẽ hoạt động rất tốt trong tình huống này. Họ cung cấp bản dùng thử miễn phí cho người dùng mới.

Trên thực tế, một đánh giá được xác minh độc lập đã được thực hiện đối với phần mềm so sánh nó với các công cụ phần mềm chính của IBM và SAS. Có một nghiên cứu được thực hiện tại Trung tâm liên kết dữ liệu của Đại học Curtin ở Úc mô phỏng sự trùng khớp của 4,4 triệu bản ghi. Nó xác định những gì nhà cung cấp có về độ chính xác (Số lượng trận đấu được tìm thấy so với khả dụng. Số lượng trận đấu sai)

  1. DataMatch Enterprise, Độ chính xác cao nhất (> 95%), Rất nhanh, Chi phí thấp
  2. Giai đoạn chất lượng của IBM, độ chính xác cao (> 90%), Rất nhanh, Chi phí cao (> $ 100K)
  3. Thông lượng dữ liệu của SAS, Độ chính xác trung bình (> 85%), Nhanh, Chi phí cao (> 100K)

1

Có một dự án GitHub được gọi là libpostal , phân tích / bình thường hóa các địa chỉ đường phố trên khắp thế giới bằng cách sử dụng NLP thống kê và dữ liệu mở. Có vẻ như hầu hết các hoạt động GitHub là vào năm 2015-2016, nhưng nó có thể đáng xem, đặc biệt là về mặt phân tích cú pháp.


0

Có vẻ như USPS có một công cụ ngay bây giờ!

Tôi chỉ tìm hiểu về nó ngày hôm nay. Nó cũng có vẻ là miễn phí.

https://www.usps.com/business/web-tools-apis/welcome.htmlm


sau khi sử dụng, hãy quay lại và cung cấp cho chúng tôi một mô tả dài hơn về cách sử dụng nó.
Brad Nesom

Sẽ làm. Tôi nên làm việc với nó trong thời gian ngắn.
kyurthich

Liên kết đã di chuyển và bây giờ có vẻ như không liên quan: "API USPS Web Tools® cho phép giỏ hàng thương mại điện tử bên ngoài và phần mềm vận chuyển truy cập dữ liệu USPS® có giá trị - Miễn phí vận chuyển đến theo dõi thông tin để lên lịch gói hàng đón, Công cụ web giúp việc vận chuyển với US Postal Service® trở nên dễ dàng hơn bao giờ hết. Bắt đầu ngay bây giờ hoặc đọc tiếp để tìm hiểu thêm. "
PolyGeo

Có vẻ như họ vẫn có nó: usps.com/business/web-tools-apis/ mẹo
kyurthich

Tôi đã xem xét điều này một thời gian trước và tôi tin rằng các điều khoản dịch vụ giới hạn việc sử dụng chỉ để chạy các địa chỉ mà bạn thực sự đang gửi một cái gì đó đến. (Về mặt kỹ thuật, bạn không thể sử dụng nó để cọ rửa và bảo trì danh sách chung.)
AdamsTips
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.