Thuật toán sánh mẫu xấp xỉ

Một phần của tài liệu Một họ thuật toán sánh mẫu Wu-Manber và thực nghiệm (Trang 43)

Như từng được giới thiệu ở Chương 1, một thách thức mới được chú ý hiện nay là tìm kiếm xấp xỉ (approximate search).

Tìm kiếm xấp xỉ là tìm sự xuất hiện của mẫu trong văn bản, trong đó cả

văn bản và mẫu đều có thể có “lỗi”. Đây là các “lỗi” có thể nhận ra bằng mắt thường, không xét về khía cạnh ngữ nghĩa (OCR-optical character recognition errors), do một số kí tự nhất định bị chèn thêm hoặc bị xóa hoặc bị thay thế, chẳng hạn “Việt Nam” và “Việt Nan” hay “Việtt Nan”,...Những lỗi này do nhiều nguyên nhân khác nhau, có thể kể ra như:

− Câu truy vấn sai chính tả, xâu tìm kiếm không đúng cú pháp so với văn bản − Lỗi in ấn, lỗi chính tả, sử dụng dấu chấm câu sai,...

− Dữ liệu đưa vào cơ sở dữ liệu không chính xác, thường xảy ra với tên người,

địa chỉ,...

Bài toán so mẫu xấp xỉ là sự mở rộng từ bài toán so mẫu chính xác và

được phát biểu một cách tổng quát như sau: Cho văn bản T độ dài n và xâu mẫu

P độ dài m trên cùng một bảng chữ cái A. Tìm các vị trí trong văn bản khớp với mẫu, cho phép nhiều nhất k lỗi.

Sánh mẫu gần đúng là để tìm thấy tất cả các chuỗi con trong T gần đúng với P nhất theo một số biện pháp xấp xỉ. Có nhiều mô hình lỗi được đưa ra, nhưng phổ biến nhất và là cơ sở cho rất nhiều mô hình lỗi khác là khoảng cách Levenshtein hay còn gọi là khoảng cách Edit; khoảng cách Hamming; khúc con (hay xâu con) chung dài nhất; dãy con chung dài nhất. Độ đo “lỗi” này phản ánh độ tương tự giữa hai xâu, làm cơ sở để cài đặt tính năng tìm kiếm xấp xỉ

trong cơ sở dữ liệu và trong các hệ thống trích rút văn bản. Vì vậy bài toán được giải quyết ở đây là: Cho xâu nguồn (hay xâu mẫu) P độ dài m và xâu đích S độ

dài n trên cùng bảng chữ A. Xác định độ tương tự giữa hai xâu P và S. Lưu ý rằng, trường hợp S là một dòng dữ liệu văn bản (trong các máy tìm kiếm của hệ

thống khai phá text, khai phá web,...), xâu mẫu P thường ngắn còn xâu đích S

dài hơn rất nhiều so với P nên để phản ánh ngữ nghĩa được tốt cần phải chặt khúc dòng dữ liệu S và so sánh từng khúc với P (chẳng hạn, việc ngắt câu có thể

xem là một cách chặt khúc). Khi đó độ tương tự sẽđược tổng hợp từ các kết quả

so sánh P và các khúc ca S.

Vấn đề sánh mẫu xấp xỉ là tìm đối sánh tương tự cho chuỗi truy vấn từ cơ

sở dữ liệu đã cho. Cơ sở dữ liệu có thểđược tổ chức theo nhiều cách khác nhau. Vấn đề toán học định nghĩa là xem xét hai chuỗi văn bản T[1...n] và P[1...m], và

một khoảng cách D(x[ i...j] , y[a...b]) trong đó x[i...j] và y[a...b] là chuỗi con của x và y. D(x[ i...j] , y[a...b]) tính chi phí tối thiểu chuyển đổi x[i...j] thành

y[a...b]. Có ba hoạt động chúng ta có thể thực hiện chuyển đổi x thành y.

A. Thay thế: Thay thế chỉđơn giản là một trong những ký tự trong x và thay đổi nó để phù hợp với một ký tự trong y.

B. Chèn: Chèn là khi một ký tựđưa vào x phù hợp với ký tự trong y tại cùng một vị trí.

C. Xóa: Đây là hành động loại bỏ một ký tự trong x.

Đầu vào cuối cùng để sánh mẫu xấp xỉ là k lỗi tối đa cho phép. Sau đó, vấn đề là tính toán các thiết lập của P[i…j] mà D(T[ x...y] , P[i...j ] ) k.

Một phần của tài liệu Một họ thuật toán sánh mẫu Wu-Manber và thực nghiệm (Trang 43)

Tải bản đầy đủ (PDF)

(55 trang)