Tôi chưa bao giờ xây dựng một thuật toán cho phù hợp trước đây và không thực sự biết bắt đầu từ đâu. Vì vậy, đây là thiết lập cơ bản của tôi và tại sao tôi làm điều đó. Vui lòng sửa tôi nếu tôi không hỏi đúng câu hỏi.Tôi làm cách nào để xây dựng thuật toán phù hợp?
Tôi có cơ sở dữ liệu về tên và số nhận dạng duy nhất cho mọi người. Một số số nhận dạng được tạo (được tạo bên trong và một số bên thứ ba), họ, tên và ngày sinh là những số nhận dạng chính mà tôi sẽ sử dụng.
Một vài lần trong năm tôi nhận được danh sách từ bên thứ ba cần được nhập và gắn với những người hiện có trong cơ sở dữ liệu của tôi nhưng dữ liệu không bao giờ sạch sẽ như tôi. ID có thể thay đổi, ngày sinh có thể có lỗi chính tả, tên có thể có lỗi chính tả, tên cuối cùng có thể thay đổi, v.v.
Mỗi lần nhập có thể có 20.000 bản ghi, ngay cả khi chính xác 99% vẫn là 200 bản ghi mà tôi phải vào thủ công và khớp. Tôi nghĩ rằng tôi đang tìm kiếm chính xác hơn 99,9% khi nói đến việc kết hợp những người đến với người dùng của tôi.
Vì vậy, làm cách nào để tôi thực hiện thuật toán có thể tìm ra điều này?
PS Ngay cả khi bạn không có câu trả lời chính xác nhưng biết một số tài liệu cần tham khảo cũng sẽ hữu ích.
PPS Một số ví dụ sẽ là tương tự như những gì m3rLinEz đã viết:
ID: 9876234 Fname: Jose LName: Guitierrez Birthdate:01/20/84 '- Original'
ID: 9876234 Fname: Jose LName: Guitierrez Birthdate:10/20/84 '- Typo in birth date'
ID: 0876234 Fname: Jose LName: Guitierrez Birthdate:01/20/84 '- Wrong ID'
ID: 9876234 Fname: Jose LName: Guitierrez-Brown Birthdate:01/20/84 '- Hyphenated last name'
ID: 9876234 Fname: Jose, A. LName: Guitierrez Birthdate:01/20/84 '- Added middle initial'
ID: 3453555 Fname: Joseph LName: Guitierrez Birthdate:01/20/84 '- Probably someone else with same birthdate and same last name'
Điều thực sự hữu ích là tập lệnh nhập, yêu cầu bạn cho mọi trường hợp không chắc chắn. Nhanh hơn nhiều so với việc tự thêm 200 bản ghi cuối cùng. –
Bạn có biết rằng sẽ có bản đồ 1-1 hoặc có thể có một số bản ghi không có trong cơ sở dữ liệu của bạn hoặc một số bản ghi trong cơ sở dữ liệu không có trong quá trình nhập không? –
Tôi nhận xét dưới đây nhưng tôi có một kịch bản nhập khẩu với một loạt các báo cáo trường hợp để thử và chứa các lỗi. Và kết quả cuối cùng là khi không có trận đấu chính xác, họ cần phải được xem xét và kết hợp bằng tay. Tôi đang cố gắng cắt nhỏ xuống số lượng nhỏ nhất có thể. – Mikecancook