2011-11-21 27 views
12

Tôi đang viết giao diện người dùng trên máy tính để bàn (.Net WinForms) để hỗ trợ một nhiếp ảnh gia dọn sạch dữ liệu meta hình ảnh của mình. Có một danh sách gồm 66k cụm từ. Bất cứ ai có thể đề xuất một mã nguồn mở/miễn phí. NET thành phần tôi có thể sử dụng mà sử dụng một số loại thuật toán để xác định candiates tiềm năng cho hợp nhất? Ví dụ: có thể có hai hoặc nhiều mục nhập thực sự là cùng một từ hoặc cụm từ chỉ khác nhau theo khoảng trắng hoặc dấu câu hoặc thậm chí là sai chính tả nhỏ. Các ứng dụng cuối cùng sẽ dựa vào người dùng để hành động củng cố các cụm từ nhưng có một cách hiệu quả để tự động tìm các ứng cử viên tiềm năng sẽ chứng minh vô giá.Kết hợp văn bản mờ C#

+0

Xem tại đây để biết thêm thông tin về kết hợp văn bản mờ: http://stackoverflow.com/questions/5859561/getting-the-closest-string-match – jordanhill123

Trả lời

16

Hãy để tôi giới thiệu bạn với công thức khoảng cách Levenshtein. Nó là tuyệt vời:

http://en.wikipedia.org/wiki/Levenshtein_distance

Về lý thuyết thông tin và khoa học máy tính, khoảng cách Levenshtein là một chuỗi số liệu để đo lượng chênh lệch giữa hai chuỗi. Khoảng cách chỉnh sửa thuật ngữ thường được sử dụng để chỉ cụ thể đến khoảng cách Levenshtein.

Cá nhân tôi đã sử dụng tính năng này trong cài đặt chăm sóc sức khỏe, nơi tên nhà cung cấp được kiểm tra để sao y. Sử dụng quy trình Levenshtein, chúng tôi đã cho họ một đánh giá sự tự tin và cho phép họ xác định xem đó là một bản sao thực sự hay một cái gì đó độc đáo.

+1

Đây là triển khai trong C#: http://blogs.msdn.com /b/toub/archive/2006/05/05/590814.aspx –

+0

Tôi sẽ đề nghị sử dụng soundex ([http://www.techrepublic.com/blog/programming-and-development/how-do-i- implement-the-soundex-function-in-c/656] (http://www.techrepublic.com/blog/programming-and-development/how-do-i-implement-the-soundex-function-in-c/656)). Sau khi áp dụng soundex, bạn có thể sắp xếp các chuỗi của mình bằng các mã âm thanh mà chúng tạo ra và gắn cờ các mã tương đương để người dùng xem xét. Tôi nghĩ kết quả cuối cùng có thể tương tự như sử dụng khoảng cách levenshtein? – hmqcnoesy

+0

Một điều với soundex là nó vô ích khi kiểm tra các chuỗi chỉ chứa chữ số. – jamiebarrow