4.1.2 Siff17
Các ứng dụng ban đầu cho công cụ này là tìm ra các tập tin tương tự như trong một hệ thống tập tin lớn (28) và được gọi là Sif. Thêm
thời gian gần đây, kỹ thuật này đã được sử dụng kết hợp với các phương pháp khác để đo sự giống nhau trong Java
tập tin bytecode (29). Chương trình này đã được đổi tên Siff.
Siff ban đầu được thiết kế để so sánh một số lượng lớn các tập tin văn bản tìm kiếm tương tự giữa các loài. Diff là
một công cụ UNIX có thể so sánh hai tập tin văn bản cho tương tự, nhưng giả sử 1 giây cho mỗi so sánh, tất cả các
so sánh cặp giữa 5.000 tập tin sẽ đòi hỏi nhiều hơn 12 triệu so sánh lấy khoảng 5
tháng của thời gian CPU. Điều này là không thực tế và do đó các thuật toán Siff được tạo ra để giảm bớt thời gian này. Siff
tạo ra một đại diện nhỏ gọn của một tập tin gọi là một dấu vân tay gần đúng. Dấu vân tay này là bao gồm
một anchor - một chuỗi ký tự (ví dụ như Acte) - và 50 nhân vật từ thời điểm này (có thể bao gồm các từ như
nhân vật). Một checksum được tính trong 50 nhân vật và điều này so sánh giữa các tập tin. Vì vậy mà các
neo được lựa chọn là đại diện hợp lý của văn bản, một hình thức lấy mẫu ngẫu nhiên được sử dụng. Đây
vân tay có thể được so sánh một cách nhanh chóng, nhưng cho phép sự khác biệt trong các tập tin (ít nhất là chỉ có 25% tương tự).
Nếu hai tập tin có từ 5-10 dấu vân tay chia sẻ, chúng được phân loại như tương tự (sẽ phụ thuộc vào kích thước tập tin). Các
lợi thế của phương pháp này là các dấu vân tay cho hai tập tin tương tự sẽ có một ngã tư lớn và hai
tập tin không liên quan sẽ có một ngã tư rất nhỏ với xác suất cao. Điển hình là xác suất của
việc tìm kiếm cùng một chuỗi 50-byte trong hai tập tin không liên quan là rất thấp, nhưng phương pháp này là dễ bị "xấu"
dấu vân tay. Ví dụ, định dạng văn bản trong các tài liệu có thể chiếm nhiều điểm tương đồng tập tin, đặc biệt là nếu
các văn bản tài liệu thực tế là nhỏ. Điều này có thể gây ra hai tập tin không liên quan được phân nhóm như tương tự. Điều này có thể
được khắc phục bằng cách chiết xuất chỉ là văn bản từ các tài liệu.
đang được dịch, vui lòng đợi..
