Thông tin là một trong những tài sản chiến lược nhất của bất kỳ tổ chức nào. Chất
lượng dữ liệu là một điều kiện tiên quyết quan trọng về sử dụng thông tin để đạt
được những lợi thế thấy rõ trên thị trường. Dữ liệu tồi chỉ biến thông tin có giá trị
tiề m năng cao thành các luồng byte vô dụng. Ví dụ, thông tin địa chỉ không chính
xác về một "bên tham gia" (chẳng hạn như một người dùng dịch vụ, bệnh nhân
hoặc khách hàng) sẽ hạn chế tầm hiểu biết chiến lược để có thể hiểu rõ về thông
tin. Loại dữ liệu này có thể bao gồm thông tin để cho biết rằng liệu hai bên tham
gia có giống nhau hay không, con số tổng của những người dùng dịch vụ và có cái
nhìn đầy đủ về khách hàng. Dữ liệu tùy tiện có thể làm giả m sự hài lòng của khách
hàng, làm cho việc trao đổi thông tin khó khăn và làm tăng các chi phí khi cố tìm
cách né tránh vấn đề, cũng như tạo ra những thách thức khác.
17 trang |
Chia sẻ: lylyngoc | Lượt xem: 1515 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Các mẫu dịch vụ thông tin, Phần 3: Mẫu làm sạch dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Các mẫu dịch vụ thông tin, Phần 3: Mẫu làm sạch dữ liệu
Giới thiệu
Thông tin là một trong những tài sản chiến lược nhất của bất kỳ tổ chức nào. Chất
lượng dữ liệu là một điều kiện tiên quyết quan trọng về sử dụng thông tin để đạt
được những lợi thế thấy rõ trên thị trường. Dữ liệu tồi chỉ biến thông tin có giá trị
tiềm năng cao thành các luồng byte vô dụng. Ví dụ, thông tin địa chỉ không chính
xác về một "bên tham gia" (chẳng hạn như một người dùng dịch vụ, bệnh nhân
hoặc khách hàng) sẽ hạn chế tầm hiểu biết chiến lược để có thể hiểu rõ về thông
tin. Loại dữ liệu này có thể bao gồm thông tin để cho biết rằng liệu hai bên tham
gia có giống nhau hay không, con số tổng của những người dùng dịch vụ và có cái
nhìn đầy đủ về khách hàng. Dữ liệu tùy tiện có thể làm giảm sự hài lòng của khách
hàng, làm cho việc trao đổi thông tin khó khăn và làm tăng các chi phí khi cố tìm
cách né tránh vấn đề, cũng như tạo ra những thách thức khác.
Các tầng trong một kiến trúc phần mềm
Một kiến trúc phần mềm có bốn tầng:
Tầng Cơ sở dữ liệu -- Nằm ở "dưới cùng", nó chịu trách nhiệm duy trì dữ liệu và
cung cấp các hoạt động tạo, đọc, cập nhật và xóa dữ liệu.
Tầng Ứng dụng -- Nằm trên tầng cơ sở dữ liệu, nó cung cấp logic nghiệp vụ.
Tầng Tiến trình -- Nó sắp xếp thứ tự logic nghiệp vụ thông qua việc quản lý luồng
công việc.
Tầng Trình bày -- Nằm trên cùng, nó đưa ra hiển thị trực quan của tất cả các tầng
bên dưới cho người dùng cuối.
Các vấn đề về chất lượng dữ liệu là nghiêm trọng nhất khi thông tin nằm rải rác
trên các kho lưu trữ dữ liệu bị cô lập và không đồng nhất. Bản chất không đồng
nhất và cô lập của môi trường như vậy thường đi cùng với một kiến trúc có các
định dạng khác nhau và các giá trị không nhất quán. Ngay cả trong một cơ sở dữ
liệu đơn lẻ, chất lượng dữ liệu đã lưu giữ lâu dài không nhất thiết là tốt hơn nếu
không thực thi các quy tắc thích hợp. Cho dù thông tin vẫn còn trong một kho lưu
trữ dữ liệu hoặc được một ứng dụng đang hoạt động xử lý, chất lượng dữ liệu
thường hoặc không được thực thi chút nào hoặc bị kiểm soát bởi các thành phần
khác nhau, sử dụng những quy tắc không nhất quán, nhúng trong một mã ứng dụng
nào đó.
Để chuyển thông tin thành sự hiểu biết và sử dụng được giá trị quan trọng của nó,
chất lượng dữ liệu cần được giải quyết bằng cách áp dụng phương pháp làm sạch
dữ liệu theo cách nhất quán; có nghĩa là, sử dụng các quy tắc làm sạch nhất quán
trong toàn doanh nghiệp, không chỉ trong tầng cơ sở dữ liệu mà còn trong các tầng
ứng dụng và tiến trình.
Sau khi mô tả tóm tắt giá trị của cách tiếp cận này, bạn sẽ tìm hiểu bối cảnh trong
đó nên áp dụng mẫu làm sạch dữ liệu nào. Tiếp theo, bạn tìm hiểu về cách tiếp cận
theo vấn đề và giải pháp cho mẫu này. Cuối cùng, bạn sẽ có cái nhìn sơ tổng quan
về các vùng trọng tâm và các vùng nhiều rủi ro, cũng như những hạn chế của mẫu
này.
Về đầu trang
Đề xuất giá trị của mẫu làm sạch dữ liệu
Mẫu này có thể cung cấp ba giá trị chính là:
Ưu điểm của tính nhất quán và chất lượng.
Giảm chi phí phát triển và bảo trì.
Ưu điểm về khả năng tái sử dụng.
Chúng ta hãy xem xét kỹ hơn từng giá trị một.
Ưu điểm của tính nhất quán và chất lượng
Lợi ích quan trọng nhất khi áp dụng mẫu làm sạch dữ liệu là nó có thể cải thiện
tính nhất quán và chất lượng thông tin, cho dù mẫu đó được duy trì trong cơ sở dữ
liệu hay được một ứng dụng xử lý. Mẫu này cải thiện chất lượng của dữ liệu và bảo
đảm rằng nó có chất lượng cao.
Việc áp dụng mẫu làm sạch dữ liệu trong một bối cảnh SOA cung cấp các quy
trình nghiệp vụ có khả năng quản lý và bảo đảm chất lượng dữ liệu "ngay tại thời
điểm thu thập ban đầu của nó". Việc áp dụng làm sạch dữ liệu trước khi thông tin
được lưu giữ lâu dài cho phép đưa vào các cơ chế xác nhận hợp lệ đã quy định về
nghiệp vụ tại điểm nhập dữ liệu, chẳng hạn như trong các cổng thông tin nhập dữ
liệu.
Giảm chi phí phát triển và bảo trì
Mẫu này cung cấp các hướng dẫn thực hành được gợi ý về cách định rõ các quy tắc
làm sạch và cách áp dụng có hiệu quả nhất các hướng dẫn đó cho dữ liệu lưu giữ
lâu dài và dữ liệu tạm thời. Nhiều bản thực hiện mẫu làm sạch dữ liệu cung cấp các
công cụ tinh vi để phát triển, thử nghiệm và triển khai các quy tắc làm sạch. Các
công cụ này có thể giúp làm giảm chi phí hoạt động trong nhiều dự án trong đó các
quy tắc làm sạch được xác định bằng thủ công và phải duy trì một cách rất vất vả.
Ưu điểm về khả năng tái sử dụng
Một khía cạnh quan trọng của mẫu làm sạch dữ liệu là nó tập trung vào khả năng
tái sử dụng ở mức doanh nghiệp. Nếu mỗi cơ sở dữ liệu và ứng dụng thực hiện quy
trình làm sạch riêng của mình, thì điều này có thể dẫn đến các quy tắc làm sạch
không nhất quán, trong đó mức chất lượng dữ liệu tăng thêm, nhưng không theo
một cách nhất quán và có hiệu quả và chưa đạt đến mức cần thiết. Mẫu này mô tả
làm thế nào có thể áp dụng một cách nhất quán các quy tắc làm sạch như nhau cho
rất nhiều người tiêu dùng.
Về đầu trang
Bối cảnh
Bối cảnh truyền thống của mẫu làm sạch dữ liệu là tầng cơ sở dữ liệu, đó là nơi áp
dụng mẫu này thường xuyên nhất. Dựa trên sự quan tâm ngày càng tăng về SOA,
chúng ta thấy có nhiều cơ hội mới để áp dụng mẫu này trong một bối cảnh SOA.
Bối cảnh truyền thống, không-SOA
Mẫu làm sạch dữ liệu vẫn thường được áp dụng trong việc làm sạch thông tin tên
và địa chỉ, nhưng cũng có thể áp dụng nó cho bất kỳ văn bản dạng tự do nào, chẳng
hạn như các mô tả về sản phẩm trong các hệ thống hàng tồn kho. Văn bản dạng tự
do thường hay nói đến nhất là văn bản nhập dữ liệu thủ công, không chọn dữ liệu
từ một danh sách lựa chọn tiêu chuẩn hoặc nhập dữ liệu không theo bất kỳ định
dạng nào, chẳng hạn như một địa chỉ đầy đủ trong một trường đơn lẻ. Mẫu làm
sạch dữ liệu được định nghĩa như là sự tiêu chuẩn hóa, làm sạch sẽ và cuối cùng,
so khớp (hoặc loại bỏ sự trùng lặp và dư thừa) các bản ghi dựa trên nội dung của
các trường văn bản dạng tự do.
Định nghĩa về Quản lý dữ liệu chủ
Chúng ta gọi dữ liệu chủ là tập hợp dữ liệu cốt lõi, rất quan trọng đối với các mục
tiêu kinh doanh của một tổ chức. Tập hợp này bao gồm các sản phẩm hoặc các bên
tham gia (chẳng hạn như khách hàng, nhà cung cấp, v.v). Vì dữ liệu chủ rất quan
trọng đối với hầu hết tất cả các chức năng nghiệp vụ, nên nó thường phân tán trên
nhiều ứng dụng. Quản lý dữ liệu chủ (MDM) giải quyết việc quản lý, tích hợp và
đồng bộ hóa có hiệu quả dữ liệu chủ trên nhiều ứng dụng.
Trong bối cảnh không-SOA truyền thống, quá trình này thường là một chức năng
xử lý theo gói, được thực hiện định kỳ để đáp ứng các yêu cầu toàn vẹn thông tin
về Quản lý dữ liệu chủ (Master Data Management) và để đạt được một khung nhìn
nhất quán duy nhất về các thực thể quan trọng của công ty. Theo truyền thống, việc
làm sạch dữ liệu cũng đã được áp dụng trong nhiều dự án kho dữ liệu. Để hỗ trợ
phân tích, lập báo cáo, cung cấp một tầm nhìn bao quát về các thực thể như khách
hàng chẳng hạn, dữ liệu được thu thập từ nhiều nguồn xung quanh doanh nghiệp.
Những hòn đảo thông tin đó có thể được tạo ra bởi các đơn vị độc lập, các nhóm
sản phẩm, các công ty con hoặc một sự kiện xảy ra một lần sau khi sáp nhập hay
mua lại. Nếu không có công nghệ nội bộ hoặc muốn làm giàu thêm dữ liệu với các
chi tiết nhân khẩu học hay tiếp thị, dữ liệu đã thu thập được thường được gửi tới
các công ty bên ngoài để làm sạch. Một thời gian sau, có lẽ là vài ngày hoặc thậm
chí lâu hơn, dữ liệu được trả về, được coi là không còn trùng lặp và dư thừa nữa
mà đã được cải thiện. Nếu được xử lý nội bộ, mẫu làm sạch dữ liệu truyền thống
thường là một chức năng "đúng thời điểm", được thực hiện hàng đêm hay hàng
tuần để làm sạch dữ liệu nói chung hoặc nạp dữ liệu vào kho lưu trữ dữ liệu, các hệ
thống tạo báo cáo hoặc các kho dữ liệu đang vận hành.
Ví dụ về sử dụng
Cửa hàng bán lẻ đồ trang sức sử dụng mẫu làm sạch dữ liệu trên cơ sở hàng tuần
để kết nối các tên khách hàng từ một mảng nhiều hệ thống để xử lý tài khoản
khách hàng mới, sự trung thành của khách hàng, tạo hướng dẫn khách hàng và
thanh toán. Mỗi điểm nhập dữ liệu là một nguồn có thể gây ra trùng lặp hay dư
thừa về tên khách hàng hoặc về nhiều khách hàng có thể sống ở cùng một địa
điểm. Cách tiếp cận để loại bỏ trùng lặp hay dư thừa và mang lại ý nghĩa cho
những thông tin như vậy là một ví dụ về việc áp dụng mẫu làm sạch dữ liệu. Ban
đầu được xem là một cách để tiết kiệm những thứ đơn giản như phí bưu chính, bây
giờ các công ty biết lo xa đã tin dùng mẫu làm sạch dữ liệu để đạt sự hiểu biết tốt
hơn về các mẫu chi tiêu của người tiêu dùng, để xác định tốt hơn những người mua
khối lượng lớn và để hợp nhất các yêu cầu bán hàng, hỗ trợ khách hàng và thanh
toán vào một chỗ để cải thiện trải nghiệm của khách hàng.
Hình 1 minh họa kiến trúc mức cao về áp dụng mẫu làm sạch dữ liệu trong bối
cảnh truyền thống.
Hình 1. Bối cảnh truyền thống của mẫu làm sạch dữ liệu
Bối cảnh SOA
Bối cảnh SOA với mẫu làm sạch dữ liệu tận dụng lợi thế của các kỹ thuật tiêu
chuẩn hóa và so khớp tinh vi và mở rộng chúng tới vị trí quan trọng nhất của các
ứng dụng gần thời gian thực. Được xem xét trong bối cảnh này, mẫu làm sạch dữ
liệu cho phép một doanh nghiệp mở rộng các khả năng của mình để xác nhận hợp
lệ và so khớp với điểm tạo. Hơn nữa, có thể tích hợp logic loại bỏ trùng lặp và
logic so khớp giống nhau thường dùng trong các hoạt động xử lý theo gói với các
phương pháp luận tìm kiếm tinh vi hoặc để tăng cường khả năng định vị thông tin
khách hàng khi thông tin hay các mã định danh khách hàng hoặc chưa biết hoặc
chưa đầy đủ.
Bối cảnh SOA để làm sạch dữ liệu cho phép tiêu chuẩn hóa và so khớp các chuỗi
yêu cầu riêng lẻ. Một tên hoặc địa chỉ đơn lẻ tự động được làm sạch, được trả về
theo một định dạng tiêu chuẩn hoặc trong trường hợp phát hiện, được trả về cùng
với một tập hợp các ứng viên tiềm năng được xác định trong quá trình so khớp.
Trong các giải pháp nhập dữ liệu, việc này cải thiện sự biểu diễn dữ liệu (các chữ
viết tắt thống nhất cho các kiểu đường phố và các bang, chẳng hạn) và tăng thêm
lợi thế để tìm kiếm một dữ liệu trùng lặp hay dư thừa trước khi lưu giữ lâu dài nó.
Việc tránh trước các vấn đề do dữ liệu trùng lặp hay dư thừa gây ra sẽ ít tốn kém
hơn nhiều so với việc cố gắng sửa chữa chúng về sau hoặc phải chịu những hậu
quả về tài khoản bị xử lý sai do không thể có một quan niệm duy nhất về một
khách hàng.
Ví dụ về sử dụng
Có thể sử dụng một ứng dụng về điểm bán hàng, được biểu hiện bằng cổng thông
tin ở phía trên bên trái của ví dụ trong Hình 2, làm một mô đun về sự trung thành
của khách hàng để quản lý các hồ sơ của khách hàng thông thường. Trong trường
hợp của chuỗi bán lẻ đồ trang sức lớn đã nói ở trên, ứng dụng của mẫu làm sạch dữ
liệu trong một bối cảnh SOA sẽ cải tiến một bộ phận con của ứng dụng này. Hãy
tưởng tượng khi một khách truy cập vào cửa hàng đã quên hoặc chưa bao giờ biết
mã khách hàng trung thành của mình. Tên của khách hàng được nhập vào từng chữ
(và dễ có khả năng bị lỗi) được so khớp động với kho lưu trữ dữ liệu chủ trung tâm
theo thời gian thực và một danh sách các tên ứng viên được trả về. Từ các ứng viên
đó, có thể tìm thấy hoặc xác nhận hợp lệ hồ sơ của khách hàng thực tế như là một
khách hàng mới. Bấy giờ nhân viên bán hàng mới có thể cung cấp các dịch vụ mà
một khách hàng trung thành được hưởng, chẳng hạn như các đánh giá miễn phí và
có thể đề nghị mua món quà mới dựa trên hồ sơ cá nhân, chẳng hạn như sinh nhật
hoặc những ngày kỷ niệm sắp tới. Khách hàng nhận được sự quan tâm thêm và
cảm thấy mình đang được đối xử như một người đặc biệt. Việc triển khai làm sạch
dữ liệu là một dịch vụ mang lại những lợi nhuận tiềm năng và có lợi cho trải
nghiệm của khách hàng. Các quy tắc so khớp và tiêu chuẩn hóa được sử dụng lại,
nhờ các chức năng tương tự được áp dụng trong lúc chạy chương trình xử lý theo
bó.
Hình 2. Bối cảnh SOA của mẫu làm sạch dữ liệu
Về đầu trang
Đặt vấn đề
Mẫu làm sạch dữ liệu giải quyết thách thức về cải thiện chất lượng dữ liệu và bảo
đảm tính nhất quán của dữ liệu ở mức siêu dữ liệu cũng như ở chính mức dữ liệu.
Các nguyên nhân điển hình về chất lượng dữ liệu thiếu và nghèo nàn là:
Các lỗi nhập dữ liệu (lỗi gõ phím).
Các định nghĩa siêu dữ liệu (các mô hình dữ liệu) quá lỏng lẻo và không được xác
định nhất quán.
Các ràng buộc về tính toàn vẹn được không được xác định hoặc thực thi (thích
hợp).
Ví dụ, định nghĩa hoặc ràng buộc rằng một mã bưu điện phải là một số hợp lệ
chẳng hạn, có thể bị bỏ sót hoặc không được thực thi nhất quán. Nhiều bản thực
hiện có thể không kiểm tra xem số mã đó có hợp lệ không hoặc thậm chí số mã đó
có là một số hay không. Các định dạng để biểu diễn cùng một thực thể thế giới
thực có thể mâu thuẫn nhau (ví dụ: kiểu số so với kiểu chuỗi ký tự để biểu diễn một
mã bưu điện). Đúng như vừa mô tả, sự không nhất quán có thể thể hiện ở mức siêu
dữ liệu, cũng như ở chính mức dữ liệu. Thậm chí nếu các mô hình dữ liệu đã được
định nghĩa một cách thích hợp và nhất quán, việc thiếu các ràng buộc thích hợp về
tính toàn vẹn đối với các giá trị dữ liệu có thể dẫn đến các vấn đề về chất lượng và
tính nhất quán. Cùng một thực thể thế giới thực có thể được biểu diễn bằng các giá
trị dữ liệu khác nhau, chẳng hạn như các số mã bộ phận khác nhau của một sản
phẩm hoặc các số đo trọng lượng khác nhau. Một số vấn đề phổ biến nhất bao
gồm:
Thiếu sự phân tách các giá trị (ví dụ, địa chỉ đầy đủ dưới dạng trường văn bản tự
do mà không có bất kỳ dấu hiệu nào cho thấy nơi tên đường phố kết thúc và bắt
đầu tên thành phố)
Thiếu các tiêu chuẩn cho các định dạng và giá trị dữ liệu như:
Các kiểu dữ liệu (ví dụ, số nguyên hoặc varchar).
Định dạng văn bản ("123-45-6789" hoặc "123.456.780" hoặc "123 45 6789").
Các từ viết tắt ("IBM" hoặc "I.B.M" hoặc "Int. Bus. Machines" hoặc "International
Business Machines").
Mức độ trừu tượng hóa và độ chi tiết ("Massachusetts" hay là "Suffolk County").
Các thuộc tính bắt buộc (danh hiệu cho một người) hoặc các phần của các thuộc
tính (kiểu của một tổ chức bên trong tên của nó (ví dụ như "IBM" hoặc "IBM
Corporation").
Thiếu các giá trị nhất quán cho các mã định danh.
Bố trí không đúng các giá trị vào các thuộc tính (giá trị của mã bưu điện-ZIP xuất
hiện trong thuộc tính số điện thoại).
Các giá trị không đúng do nhập dữ liệu không đúng hoặc thông tin đã lỗi thời
("Somers, CT 10589", ở đây mã bưu điện "10589" không phải ở tiểu bang
Connecticut mà ở New York).
Trùng lặp hay dư thừa các bản ghi do các giá trị không nhất quán trong một hay
nhiều thuộc tính.
Về đầu trang
Mô tả giải pháp
Các đặc điểm trong thời gian thiết kế mẫu làm sạch dữ liệu xoay quanh việc thiết
lập các quy tắc tiêu chuẩn để chuyển đổi và làm sạch các nguồn dữ liệu, việc định
nghĩa các tiêu chí so khớp để hỗ trợ loại bỏ trùng lặp hay dư thừa và việc nhận biết
cách xác định dữ liệu phổ biến nhất hoặc chính xác nhất. Như bạn có thể tưởng
tượng, thiết kế là giai đoạn quan trọng và phức tạp nhất trong quá trình làm sạch dữ
liệu. Một khi đã hoàn thành nhiệm vụ này, việc áp dụng các quy tắc làm sạch, so
khớp và tiếp tục tồn tại được sử dụng trong các quá trình thời gian chạy.
Các đặc điểm trong thời gian thiết kế
Các nhà thiết kế áp dụng mẫu này phải quy định các quy tắc làm sạch, có thể được
hỗ trợ bởi các công cụ thích hợp. Có thể chia hoạt động này thành bốn bước chính:
Phân tích cú pháp dữ liệu đầu vào và gắn vào các phần tử tiêu chuẩn và đủ chi tiết.
Tiêu chuẩn hóa dữ liệu.
So khớp và loại bỏ trùng lặp hay dư thừa các mục nhập dữ liệu.
Sự tiếp tục tồn tại của thông tin chính xác
Như đã nêu trong phần đặt vấn đề, có thể biểu diễn các giá trị dữ liệu theo văn bản
tự do hoặc một số trường gộp lại (thuộc tính street có thể nắm giữ số nhà, hướng
phố cũng như tên phố). Dựa trên sự hiểu biết về dữ liệu nào thực sự được bắt giữ
trong một trường, bước đầu tiên là xác định thuật toán để tách các giá trị dữ liệu và
gán chúng tới các thuộc tính cơ bản thích hợp nhất. Điều này đòi hỏi phải có kiến
thức đặc trưng về miền ứng dụng (ví dụ, các đường phố có thể có một phần chỉ
hướng ở Mỹ, chẳng hạn như "1007 North Main Street", nhưng không phổ biến ở
Đức).
Sau khi gán chính xác các giá trị dữ liệu cho các thuộc tính, nhà thiết kế cần quy
định cách chuẩn hóa các giá trị này. Điều này có nghĩa là nhà thiết kế cần tìm câu
trả lời cho các câu hỏi như sau:
Văn bản sẽ có dạng chữ hoa hoặc dạng hỗn hợp chữ hoa, chữ thường?
Các con số sẽ được chuyển đổi sang kiểu dữ liệu thích hợp (chẳng hạn như "mười
chín" thành "19") hay không?
Các con số trong trường mã bưu điện có biểu diễn một mã bưu điện đúng không?
Mã bưu điện có khớp với bang (và thành phố) không)?
Địa chỉ đầy đủ này (số phố, phố, thành phố, bang, mã bưu điện) có tồn tại không?
Biểu diễn chuẩn cho một tên (ví dụ như "Bob") sẽ là gì? (Bước này là để nhận biết
các sự trùng lặp, không phải đề xuất một tên chính xác, rất có thể là "Bob" mà
không phải là "Robert").
Một số quy tắc tiêu chuẩn hóa rất đơn giản và không đòi hỏi nỗ lực đáng kể nào,
chẳng hạn như chuyển đổi dữ liệu ký tự hỗn hợp thành dữ liệu chữ hoa. Một số quy
tắc là tương đối nâng cao và yêu cầu truy cập vào một cơ sở dữ liệu lưu trữ các giá
trị chính xác, chẳng hạn như sự kết hợp chính xác giữa mã bưu điện, thành phố và
bang ở Mỹ. Các quy tắc chuẩn hóa cũng có thể phải theo ngữ cảnh: một chuỗi như
"St. Virginia St." được xác định có một tên phố là "St. Virginia" và một kiểu “phố”
viết là "street" (giả sử đây là một địa chỉ của Hoa Kỳ). " St." và " St.", về mặt kỹ
thuật đều giống nhau, nhưng chúng có một ý nghĩa khác khi được diễn giải qua con
mắt của một bộ quy tắc thông minh.
Trong nhiều trường hợp, nhà thiết kế phải nhận biết được các bản ghi trùng lặp
tiềm năng. Thật không may, ngay cả sau khi chuẩn hóa, các giá trị dữ liệu của các
bản ghi thường không giống hệt nhau. Trong một bản ghi, tên của một người có thể
là "J. Smith" và trong bản ghi khác, tên đó có thể là "John Smith". Một trong
những thách thức khi nhận biết một sự trùng khớp là xác định liệu có khả năng tên
"J. Smith" là "John Smith" không. Rõ ràng, điều này tùy thuộc vào những thông tin
khác chứa trong hồ sơ. Nếu địa chỉ hoàn toàn giống nhau, rất có thể có khả năng
này. Điều này cũng sẽ tùy thuộc vào có bao nhiêu người có cùng họ và cùng tên:
có ít khả năng là có hai người cùng có tên là "April Back-Cunninghams" trong
cùng một thành phố so với trường hợp hai người cùng có tên "Robert Johnson". Có
thể áp dụng mẫu tương tự đã dùng cho việc phân tích cú pháp và phân tích từ vựng
của các tên và địa chỉ dạng tự do để tiêu chuẩn hóa và loại bỏ trùng lặp các danh
sách sản phẩm hoặc các bộ phận phụ tùng nhằm cải tiến việc kiểm soát hàng tồn
kho. Cần lưu ý rằng chúng tôi đã sử dụng chủ yếu là các địa chỉ của Hoa kỳ, nhưng
cách tiếp cận này chắc chắn sẽ áp dụng được cho bất kỳ quốc gia nào và không chỉ
là các địa chỉ.
Có hai phương pháp để giải quyết việc so khớp: so khớp tất định và so khớp xác
suất. So khớp tất định dựa trên các quy tắc nghiệp vụ và các thuật toán để định
nghĩa một sự trùng khớp. Ưu điểm của phương pháp này là nó cung cấp kết quả rõ
ràng chẳng hạn như hai bản ghi có trùng khớp nhau hay không. Tuy nhiên, bộ quy
tắc này thường bị hạn chế theo các quy tắc và các thuật toán được phân loại có
mức độ phức tạp trung bình hay đơn giản. Phương pháp so khớp xác suất sử dụng
các thuật toán thống kê và logic mờ (fuzzy) để chỉ báo một sự trùng khớp. Cách
tiếp cận này sử dụng nhiều cơ chế mạnh mẽ hơn để nhận biết một sự trùng khớp và
đưa ra xác suất để chỉ sự trùng khớp, chẳng hạn như 93%. Mức tin cậy của sự
trùng khớp sẽ được cân đối với giá trị của thông tin đang được xử lý và chi phí để
xác định sự trùng khớp đó.
Dựa trên các quy tắc so khớp, nhà thiết kế quy định cụ thể c