Tìm kiếm

Kỹ thuật chiết tách dữ liệu và lập bản đồ

Kỹ thuật chiết tách dữ liệu ( data extraction ) đã được phát triển từ khá lâu, song hành với sự phát triển của mạng Internet và công nghệ t...

Kỹ thuật chiết tách dữ liệu (data extraction) đã được phát triển từ khá lâu, song hành với sự phát triển của mạng Internet và công nghệ tin học. Tuy nhiên, dường như kỹ thuật này mới chỉ được các công ty lớn và các tập đoàn thương mại, ngân hàng ứng dụng, khai thác một cách hiệu quả.

Minh họa chiết tách dữ liệu từ trang web vào bảng dữ liệu có cấu trúc
Chiết tách dữ liệu thực chất là gì?

Lấy ví dụ chúng ta đang quan tâm đến danh sách các công ty, tổ chức hoạt động trong lĩnh vực bảo hiểm tại Việt Nam. Trang web những trang vàng Yellowpages cung cấp cho người dùng một công cụ tìm kiếm và hiển thị thông tin khá đầy đủ, hữu ích. Trên trang web này, chúng ta có thể tìm kiếm từ khóa đơn giản "danh sách các công ty bảo hiểm ở việt nam". Kết quả trả về tại thời điểm viết bài này là 490 công ty, theo địa chỉ sau:


Người dùng có thể copy-paste để sao chép dữ liệu này và thành lập một cơ sở dữ liệu riêng cho mình. Tuy nhiên phương pháp này mang nặng tính thủ công và mất rất nhiều thời gian. Bên cạnh đó, khi nguồn dữ liệu có sự thay đổi, người dùng hầu như phải cập nhật lại từ đầu.

Kỹ thuật chiết tách dữ liệu cho phép thực hiện 2 việc quan trọng:
- Tự động lấy dữ liệu từ một địa chỉ web hợp lệ thông qua;
- Tự động lập bảng dữ liệu và đưa dữ liệu vào đúng các trường dữ liệu do người dùng định nghĩa.

Để làm được việc này, người dùng cần 2 điều kiện thỏa mãn:
- Trang web (địa chỉ Internet) để lấy số liệu phải được thiết kế có cấu trúc. Nói cách khác, dữ liệu trên đó thường được kết xuất từ cơ sở dữ liệu gốc nên có tính lặp đi lặp lại rất cao, dễ nhận biết cấu trúc.
- Người dùng cần có một công cụ để chiết xuất dữ liệu, tự động xây dựng bảng dữ liệu.

Trong ví dụ ở trên, trang web Yellowpages hiển thị dữ liệu theo dạng có cấu trúc vì các thông tin được kết xuất từ cơ sở dữ liệu gốc. Vì thế, khi người dùng duyệt qua các công ty bảo hiểm trong kết quả tìm kiếm, có thể thấy các trường thông tin được lặp đi lặp lại giống nhau đối với từng công ty trong danh sách kết quả tìm kiếm.

2 công ty trong danh sách các kết quả tìm kiếm
Các công cụ chiết xuất dữ liệu từ địa chỉ Internet có thể kể đến như Data Extractor, Import.io và rất nhiều mà người dùng có thể tìm thấy trên Google. Điển hình là Import.io (http://import.io) với khả năng chiết xuất tuyệt vời có thể nhanh chóng "độ" toàn bộ nội dung tìm kiếm ở trên để đưa vào bảng số liệu "sạch, đẹp" cho người dùng.

Giao diện của trang web Import.io
Khi sử dụng Import.io, tất nhiên người dùng sẽ phải "dạy" cho chương trình biết các trường dữ liệu nào cần lấy và cách tự động "lật trang" khi trang web có dữ liệu có nút "Next page".  Điều này đòi hỏi người dùng phải "thao tác" một chút nhưng không đáng kể gì vì tác vụ cũng khá đơn giản.

Nhìn vào bảng kết quả dưới đây, chắc hẳn bạn sẽ khá hài lòng.

Kết quả tìm kiếm trong định dạng Excel
Ấn tượng hơn nữa, kỹ thuật Geocode sẽ cho phép người dùng "biến" các dòng địa chỉ (trong cột Address) thành tọa độ địa lý (Latitude, Longitude) để "bắn" chúng lên bản đồ. Có nhiều dịch vụ Geocode trên thế giới, điển hình là bộ công cụ của các phần mềm như MapInfo Professional, ESRI ArcGIS, QGIS,..., hay các công cụ trực tuyến của Google API, Openstreetmaps.

Trong bài này, nhóm kỹ thuật của P-GIS sử dụng công cụ geocode của Google thông qua Google API để thành lập bản đồ các công ty bảo hiểm ở Việt Nam. Kết quả ngay ở dưới đây.




Cần nói thêm chút về Geocode. Bản chất của Geocode là ước tính tọa độ của một địa điểm nào đó thông qua địa chỉ đường phố. Do vậy, trong nhiều trường hợp, tọa độ của điểm cần định vị chỉ mang tính tương đối, chưa hẳn chính xác như trên thực tế. Dẫu sao, trong việc định vị và lập bản đồ nếu không đòi hỏi độ chính xác tuyệt đối thì kỹ thuật Geocode là sự lựa chọn hàng đầu.

Trong bối cảnh cần lập bản đồ các công ty bảo hiểm trên toàn quốc, việc ghép nối và vận hành tự động các công cụ với địa chỉ cung cấp dữ liệu thành một sản phẩm là bản đồ sẽ giúp người dùng nhanh chóng có được những gì mình mong đợi ở một độ chính xác tương đối.



Xem thêm

0 Comments