Tổng quan làm sạch dữ liệu

► Chất lượng dữ liệu là gì?
► Tổng quan về làm sạch dữ liệu
► Quản lí quy trình làm sạch dữ liệu
► Làm giàu dữ liệu
TỔNG QUAN
Làm sạch là một quá trình điều chỉnh dữ liệu để đáp ứng các yêu cầu chất lượng dựa trên các rule nghiệp vụ của hệ thống. Chúng ta có thể thay đổi titlecase của một lá thư để hỗ trợ tìm kiếm hoặc thay thế bất kỳ phần nào của một chuỗi mà vẫn giữ nguyên giá trị của dữ liệu. Dưới đây là một số hoạt động chung thường được sử dụng cho 'làm sạch':
  • Thêm hoặc xóa dấu chấm câu.
  • Mở rộng hoặc làm rõ từ viết tắt (ví dụ: NC thành Bắc Carolina).
  • Case-folding: Chuyển đổi tất cả các ký tự trong đoạn tài liệu thành một kiểu, thành tất cả chữ hoa hoặc tất cả chữ thường, để tăng tốc độ so sánh trong quá trình lập chỉ mục.
  • Thay thế một phần của chuỗi.
  • Rà soát valid dữ liệu bằng cách tạo các biểu thức khái quát thông qua tổ hợp và so sánh các giá trị(dữ liệu) khác nhau.
  • Sử dụng biểu thức chính quy để trích xuất thuật ngữ từ văn bản và giảm các từ trong đoạn thành dạng nguyên mẫu của nó(thay thế đoạn mô tả dài dòng thành dữ liệu vừa đủ có ích). Loại bỏ dữ liệu dư thừa và làm nhất quán dữ liệu.
PARSING
Dữ liệu thường được yêu cầu phù hợp với các mẫu cụ thể. Ví dụ: mã pin, số điện thoại và địa chỉ email có các mẫu(format) dữ liệu nhất định. Parsing(Phân tích cú pháp) là một cách để phân tích các chuỗi ký tự và ký hiệu bằng cách sử dụng các quy tắc nhất định để xác thực xem dữ liệu có đáp ứng mẫu hay không. Ví dụ, có một yêu cầu để có một số điện thoại trong một định dạng (TTT) TTT-TTTT. Định dạng này có thể là một quy tắc được thiết lập trong thành phần của phần mềm, thường được gọi là parser(Trình phân tích cú pháp). Khi một số điện thoại (987) 786-4532 được gửi cho parser, nó kiểm tra số này thông qua quy tắc để xác thực số có đáp ứng các yêu cầu định dạng hay không. Parser cũng có thể sử dụng các nguồn dữ liệu tham chiếu để xác minh tính chính xác và độ tin cậy của số điện thoại nếu cần.
Đây là hoạt động cơ bản của phân tích dữ liệu, là một ví dụ về một trình phân tích cú pháp đơn giản. Trong thế giới thực, một trình phân tích cú pháp thường phức tạp với nhiều quy tắc được nhúng trong đó.
Chúng ta đã tiếp cận khái niệm validation and verification trong ví dụ trước. Trước khi đi vào chi tiết về các giai đoạn và kỹ thuật nâng cao chất lượng dữ liệu, chúng ta hãy hiểu ý nghĩa của "data verification" và "data validation" .
Verification + Validation = Bổ sung giá trị cho dữ liệu, làm tăng chất lượng dữ liệu
Những người làm về cải tiến ​​chất lượng dữ liệu nghe hai từ này khá thường xuyên. Hầu hết thời gian, chúng ta bị lẫn lộn về sự khác biệt giữa xác minh(Verification) dữ liệu và xác thực(Validation) và sử dụng chúng thay thế cho nhau. Tuy nhiên, có một số khác biệt đáng kể giữa chúng.
Verification and Validation
Xác thực(Validation) dữ liệu là một quá trình để so sánh dữ liệu với một tập hợp các quy tắc nghiệp vụ để xác định liệu nó có phù hợp với nghiệp vụ của hệ thống và yêu cầu của hệ thông tin doanh nghiệp hay không và đảm bảo rằng nó có lý và hợp lý để sử dụng. Có thể có các quy tắc như sau:
  • Kiểm tra định dạng dữ liệu.
  • Kiểm tra xem dữ liệu có thuộc kiểu(loại) thích hợp không, ví dụ tiền lương phải là số nguyên.
  • Xác nhận xem liệu dữ liệu cho phép null không?.
Xác minh(Verification) dữ liệu là một quá trình kiểm tra lại để đảm bảo rằng dữ liệu đầu vào khớp chính xác với nguồn mà nó được khởi tạo. Điều này đảm bảo rằng dữ liệu chính xác và không có lỗi. Xác minh chủ yếu được thực hiện thông qua các phương pháp sau:
  • Dữ liệu được kiểm tra bằng cách so sánh trực tiếp nó với dữ liệu nguồn. Ví dụ: chi tiết hóa đơn trong hệ thống được xác minh bằng tài liệu hóa đơn gốc.
  • Kiểm tra với thiết kế nhập kép: dữ liệu được yêu cầu nhập hai lần và được so sánh kiểm tra sự khác biệt. Ví dụ: xác minh mật khẩu được thực hiện bằng cách yêu cầu người dùng nhập mật khẩu hai lần.
  • Dữ liệu cũng có thể được xác minh bằng các cuộc gọi điện thoại và xác minh email, ví dụ như gọi một khách hàng tiềm năng mới để xác minh chi tiết trước khi tiếp tục với quy trình tiếp thị. Tương tự, nó cũng có thể có nghĩa là xác minh tính xác thực của một khách hàng mới bằng cách gửi một email đến địa chỉ email của họ.
Standardization
Phân tích hỗ trợ trong việc phân chia dữ liệu thành các phần và xác nhận xem dữ liệu có đáp ứng các tiêu chuẩn hay không - đó có thể là tiêu chuẩn công nghiệp, tiêu chuẩn do chính phủ đặt ra hoặc tiêu chuẩn do người dùng xác định. Khi một văn bản không đáp ứng một tiêu chuẩn, nó có thể được chuẩn hóa bằng cách thực hiện một số biến đổi. Tiếp tục với ví dụ trước của chúng ta, biểu diễn (TTT) TTT-TTTT có thể được coi là một mẫu tiêu chuẩn cho số điện thoại. Nếu số điện thoại (987) 7658974 được chuyển qua trình phân tích cú pháp, số điện thoại sẽ nhận dạng số điện thoại không hợp lệ. Trong những trường hợp như vậy, dấu gạch ngang bị thiếu có thể được chèn vào giữa để biến đổi thành (987) 765-8974, là dạng chuẩn. Quá trình chuyển đổi này được gọi là tiêu chuẩn hóa.
Parse > Clean > Transform Cycle
Phân tích cú pháp, làm sạch và chuyển đổi dữ liệu là các quy trình quan trọng và lặp lại để duy trì dữ liệu chất lượng cao trong các hệ thống thực tế, nơi mà dữ liệu chính thường không được cấu trúc. Nếu một tổ chức quan tâm đến một số hoạt động xử lý ngôn ngữ tự nhiên(natural language processing), chúng ta không thể lưu trữ ngay dữ liệu văn bản thô xem như thông tin chi tiết của nó hoặc đưa nó vào một mô hình(models) học máy. Đầu tiên, chúng ta cần phải phân tích nó để văn bản được chia thành các từ cũng như làm sạch nó để làm cho nó phù hợp với yêu cầu phân tích.
Matching
Kết hợp là một quá trình để so sánh, định danh hoặc hợp nhất các thực thể liên quan trên hai hoặc nhiều tập dữ liệu. Ví dụ, trong một tổ chức, thông tin tài khoản khách hàng được lưu trữ trên các ứng dụng CNTT khác nhau như CRM, quản lý đơn hàng và kế toán. Kỹ thuật khớp dữ liệu có thể được sử dụng để loại bỏ nội dung trùng lặp và xác định các khóa liên kết giữa các bản ghi(thực thể) để cung cấp một dữ liệu nguồn, đúng và duy nhất. Việc tìm ra “mạng liên đới” giữa các bản ghi khác nhau là chìa khóa cho các kỹ thuật kết hợp.
Một số kỹ thuật liên kết được sử dụng trong kết hợp là:
  • Linking: Đây là kiểu khớp dữ liệu đơn giản nhất. Nó sử dụng các liên kết(với các bản ghi) tạo ra một tập tham chiếu(liên đới) có cấu trúc cố định.
  • Deduplication: Tất cả các bản ghi từ một bộ dữ liệu được kết hợp với bản ghi từ bộ dữ liệu khác hoặc thậm chí kết hợp với nhau để tạo ra sự hợp nhất hoặc loại bỏ dữ liệu trùng lặp,..Ví dụ: sáp nhập nhiều hồ sơ của khách hàng đã đăng ký nhiều lần trên một trang web. Thách thức chính trong việc chống trùng lắp là quyết định các trường trong các dữ liệu cần phải được xem xét giữ lại từ các bản ghi trùng lặp và lưu giữ lại trong bản ghi chính. Điều này có thể đạt được bằng cách tạo ra 1 khung quy tắc cụ thể như chọn các dữ liệu mà thời gian gần đây nhất đã được thay đổi, chọn dữ liệu từ một nguồn đáng tin cậy, hoặc lựa chọn các trường với dữ liệu chi tiết hơn, có ý nghĩa hơn. Hãy nói về một khách hàng có tên gọi khác nhau, M. Kopchak và Michael Kopchak, trong hai hồ sơ; chúng ta có thể giữ lại tên như Michael Kopchak trong hồ sơ chính vì nó là có ý nghĩa hơn và chi tiết hơn so với trước đó. Cách làm này cho phép lựa chọn các trường giữ lại của bản ghi tương tự cách giữa lại bản ghi chính được gọi là "sinh tồn".
  • Auto-tagging: Trong kỹ thuật này, các tài liệu hoặc bản ghi được đánh dấu với một tập(giới hạn và xác định) các thẻ. Ví dụ sử dụng trong phân tách sản phẩm dựa trên sự khác nhau về kiểu của sản phẩm.
Đôi khi, trong 1 tập dữ liệu xuất hiện sự khuyết thiếu thông tin định danh dữ liệu làm cản trở quá trình khớp dữ liệu. Trong những trường hợp như vậy, xác suất được cân nhắc sử dụng để khớp các bản ghi. Thông thường, có hai kỹ thuật đối sánh chính:
1. Deterministic Matching
Với kỹ thuật này, chúng ta cố gắng tìm một cách kết hợp chính xác giữa các bản ghi. Kỹ thuật này thường đơn giản và là một kỹ thuật lý tưởng khi các bản ghi có chứa một số kiểu định danh duy nhất như số an sinh xã hội, ID của khách hàng, và ID người lao động. Tuy nhiên, đôi khi, cách kết hợp với dữ liệu định danh duy nhất là khó khăn và bất khả thi. Ví dụ: một khách hàng có thể sẽ không cung cấp thông tin về số An sinh xã hội của anh ấy trong khi mua hàng tạp hóa.
Trong những trường hợp như vậy, một số thông tin của bản ghi như địa chỉ, số điện thoại, tuổi và địa chỉ email có thể được kết hợp để tạo ra dữ liệu định danh phù hợp. Deterministic Matching là phương pháp hợp lý dễ dàng để định nghĩa và triển khai.
2. Fuzzy Matching
Không phải lúc nào cũng có thể khớp chính xác hoặc sử dụng 1 kỹ thuật đối sánh cụ thể.
Trước đây, tôi đã làm việc với một dự án, tôi đã phải trích xuất thông tin sản phẩm từ các website như Amazon và kết hợp nó với các thông tin sản phẩm trong cơ sở dữ liệu mua sắm nội bộ để thực hiện phân tích và đề xuất các cải tiến kinh doanh. Chúng tôi đã truy cập thông tin của sản phẩm, ví dụ: iPhone có 64 GB. Bằng cách kiểm tra thủ công, chúng tôi kết hợp thông tin của nó với dữ liệu iPhone trong cơ sở dữ liệu của chúng tôi.Tuy nhiên, quá trình này không thể thực hiện cho mọi bản ghi ứng với hàng nghìn sản phẩm được đối sánh.
Đối với trường hợp này, chúng ta phải dựa vào các kỹ thuật mờ.
Trong kỹ thuật này, các bản ghi được so khớp dựa trên mức độ giống nhau giữa hai hoặc nhiều bộ dữ liệu.Hầu hết thời gian, trong kỹ thuật kết hợp mờ, xác suất và kỹ thuật thống kê được sử dụng để tạo ra điểm số nhất quán(tỉ lệ nhất quán, độ nhất quán). Regex cũng được sử dụng rộng rãi để trích xuất các phần của dữ liệu, các thuộc tính có liên quan.
Dưới đây là một số thuật toán mờ được sử dụng trong các công cụ khác nhau, có sẵn trong nhiều thư viện nguồn mở(stringdist trong R):
  • Thuật toán khoảng cách Levenshtein,
  • Thuật toán Khoảng cách Jaccard,
  • Thuật toán Khoảng cách Jaro-Winkler
  • Phương pháp phát hiện nhiễu(or outlier) từ data, thực hiện imputation missing value, thay vì delete sẽ mất thông tin. Phương pháp này nó dựa vào phân phối data của thực thể(model) để tìm bất thường(để loại bỏ hoặc bổ xung), hoặc dựa vào tham chiếu đối sánh với trust source.Một số keyword cho kỹ thuật này như: univariate và bivariate; với biến liên tục dùng boxplot; với categorical, có barplot. Các giải thuật này có thể cài đặt dễ dàng với mẫu filter dùng sql, store procedures,.. hoặc có tool hỗ trợ sẵn.
Bài viết này tham khảo từ Refcardz được viết bởi Sibanjan Das (Oracle Product co-development team)

Nhận xét

Bài đăng phổ biến từ blog này

Open Source CMS Ecommerce in .Net Core

What is an Application Specialist?

Sharding, Snowflake Instagram trong bài toán đối soát dữ liệu