1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm

55 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 749,46 KB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THÚY MỘT HỌ THUẬT TOÁN SÁNH MẪU WU-MANBER VÀ THỰC NGHIỆM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI - 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ii ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ THÚY MỘT HỌ THUẬT TOÁN SÁNH MẪU WU-MANBER VÀ THỰC NGHIỆM Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin Mã số : 60 48 05 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Hà Quang Thụy HÀ NỘI - 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com v MỤC LỤC MỞ ĐẦU CHƯƠNG 1: BÀI TOÁN VÀ THUẬT TOÁN SÁNH MẪU 1.1 Giới thiệu toán sánh mẫu 1.2 Phát biểu toán 1.3 Một số thuật toán sánh mẫu 1.3.1 Thuật toán Brute Force 1.3.2 Thuật toán Knuth-Morris-Pratt 1.3.3 Thuật toán automat hữu hạn 1.3.4 Thuật toán Boyer-Moore 10 1.3.5 Thuật toán Karp-Rabin 13 1.3.6 Các thuật toán khác 14 CHƯƠNG 2: HỌ THUẬT TOÁN WM 16 2.1 Thuật toán WM 16 2.1.1 Tổng quan thuật toán 16 2.1.2 Thuật toán 17 2.1.2.1 Phác thảo thuật toán 17 2.1.2.2 Giai đoạn tiền xử lý 18 2.1.2.3 Giai đoạn tìm kiếm mẫu 21 2.1.3 Phân tích thuật tốn 22 2.2 Một thuật toán WM với bảng băm cô đọng 25 2.2.1 Phác thảo thuật toán 25 2.2.2 Cải tiến thuật toán 26 2.3 Thuật toán WM đồng thời cao 28 2.3.1 Cải tiến thuật toán 28 2.3.2 Giai đoạn tiền xử lý tìm mẫu HCWM 29 2.3.3 Ví dụ 30 2.4 Thuật toán WM sử dụng bảng tiền tố 34 2.4.1 Cải tiến thuật toán 34 2.4.2 Giai đoạn tiền xử lý tìm mẫu AFWM 34 2.4.3.Ví dụ 35 CHƯƠNG 3: THỰC NGHIỆM 38 3.1 Giới thiệu agrep 38 3.2 Các thuật toán sử dụng agrep 39 3.2.1 Thuật toán WM AGREP 39 3.2.2 Thuật toán sánh mẫu xấp xỉ 39 3.3 Cách sử dụng Agrep 41 3.4 Kết thực nghiệm 45 KẾT LUẬN 50 TÀI LIỆU THAM KHẢO 51 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vi DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT AC Aho-Corasick AFWM Address Filtering Based WM Ba Baeza-Yates BM Boyer-Moore CW Commentz-Walter DFA Deterministic Finite Automaton HCWM High Concurrence WM Ho Boyer-Moore-Horspool Hu Hume KMP Knuth-Morris-Pratt KR Karp-Rabin QS Quick Search WM Wu-Manber LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỞ ĐẦU Hiện nay, tìm kiếm thông tin vấn đề nghiên cứu quan tâm nhiều Trong bối cảnh bùng nổ thơng tin nay, cần phải có cơng cụ tìm kiếm thơng tin tự động để hỗ trợ người dùng Để xây dựng cơng cụ tìm kiếm tốt, phải dựa vào thuật tốn tìm kiếm theo câu hỏi dạng xâu ký tự Các thuật tốn tìm kiếm xâu ký tự sử dụng nhiều chương trình máy tính, đặt biệt thuật tốn tìm kiếm mẫu giải tốn tìm kiếm đoạn văn (mẫu) văn (đích) thuộc tập văn miền tìm kiếm Bài tốn nói gọi tốn sánh mẫu (pattern matching, cịn gọi so mẫu) Bài tốn sánh mẫu khơng có miền liệu văn mà cịn có miền liệu đa phương tiện khác (ảnh, video, âm thanh,…) Trên thực tế có nhiều ứng dụng sánh mẫu như: chế sánh mẫu hệ điều hành (chẳng hạn, lệnh grep, fgrep hệ điều hành UNIX), chế kiểm tra file nhiễm virus (sánh mẫu – xâu đặc tả virus - với nội dung file), máy tìm kiếm (search engine) Internet, xác định mẫu gene bệnh xuất đoạn gene người Trong thời đại bùng nổ thông tin với tốc độ lượng thông tin tăng gấp đôi sau chu kỳ 18 tháng [CL00], tốc độ khả lưu trữ máy tính tăng nhanh vấn đề nghiên cứu, phát triển nâng cao hiệu thuật tốn sánh mẫu ln chủ đề nghiên cứu thời Nói riêng, thuật tốn sánh mẫu Wu-Manber S Wu U Manber công bố vào năm 1994 [WM94] tiếp tục có nhiều phiên nâng cấp gần [SWG06, DX08, ZCP09, ZCP09a] Chính thế, luận văn định hướng nghiên cứu số thuật toán sánh mẫu văn bản, tập trung vào họ thuật tốn Wu-Manber họ thuật tốn tỏ có nhiều ưu việt toán sánh mẫu Nội dung chủ yếu luận văn nghiên cứu họ thuật tốn sánh mẫu văn Wu-Manber, phân tích chi tiết vài thuật tốn họ nói [SWG06, DX08, ZCP09, ZCP09a], khai thác công cụ để thực nghiệm thuật toán Wu-Manber (trong số trường hợp, luận văn sử dụng cách viết tắt WM) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nội dung luận văn gồm có phần mở đầu, chương, phần kết luận, tài liệu tham khảo phụ lục Chương 1: Bài toán thuật toán sánh mẫu Chương cung cấp giới thiệu chung toán sánh mẫu, cho thấy lượng lớn thuật toán sánh mẫu đề xuất Các thuật toán sánh mẫu chia hai lớp lớp thuật tốn xác lớp thuật toán tương tự Luận văn giới thiệu số thuật tốn sánh mẫu điển hình [CL00] Chương 2: Họ thuật toán Wu - Manber Giới thiệu thuật toán sánh mẫu văn xác WM Sun Wu Udi Manber công bố vào năm 1994 [WM94] với ý tưởng kết hợp cách thức nhảy thuật toán BM R S Boyer J S Moore [BM77] hàm băm Một số phiên nâng cấp thuật tốn WM phân tích chương [SWG06, DX08, ZCP09, ZCP09a] Chương 3: Thực nghiệm Luận văn sử dụng công cụ phần mềm Agrep để thi hành thực nghiệm thuật toán sánh mẫu WM Trong phần đầu chương, luận văn trình bày số nội dung liên quan tới công cụ này, đặc biệt cách sử dụng Agrep thi hành thuật toán WM Luận văn thực nghiệm sánh mẫu cho 60 cặp file (mẫu, văn bản) Thực nghiệm cho thấy cơng cụ Agrep thi hành thuật tốn xác với thời gian nhanh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG 1: BÀI TOÁN VÀ THUẬT TỐN SÁNH MẪU 1.1 Giới thiệu tốn sánh mẫu Kiểu liệu văn (Text) dạng trình bày thơng tin gần gũi với người, vậy, dạng trình bày thơng tin số phổ biến Chính lẽ đó, tốn tìm kiếm văn (text searching) tốn quan trọng hoạt động tìm kiếm thông tin người Trong thời đại ngày nay, văn số hóa tăng trưởng "bùng nổ" sở liệu Internet, dung lượng tăng gấp đôi sau chu kỳ 18 tháng [CL00] Trong bối cảnh đó, vấn đề tìm kiếm văn cách tự động quan trọng lại ngày quan trọng Dạng phổ biến tốn tìm kiếm văn là: Cho trước nguồn tìm kiếm tập D văn (hoặc sở liệu văn bản, tập văn Internet) Cho câu hỏi dạng văn q (thường từ, xâu văn ngắn), tìm tất văn thuộc D mà có chứa q Trong nhiều trường hợp (chẳng hạn, tìm kiếm thơng qua máy tìm kiếm) q cịn gọi "truy vấn" tốn cịn có tên gọi "tìm kiếm theo truy vấn" Để tìm văn có chứa văn truy vấn q, hệ thống tìm kiếm cần phải kiểm tra văn truy vấn q có xâu văn thuộc tập D hay không (sánh mẫu) đưa văn đáp ứng Trong nhiều trường hợp, tốn cịn địi hỏi tìm tất vị trí xâu văn trùng với q Đồng thời, điều kiện tìm kiếm làm "xấp xỉ" theo nghĩa văn kết khơng cần chứa q (khơng cần có xâu văn trùng cách hoàn tồn xác với q) mà cần "liên quan" tới q (có xâu văn "xấp xỉ" q) Có thể thấy, máy tìm kiếm sử dụng chế tìm kiếm xấp xỉ mà văn kết tìm kiếm khơng chứa hồn tồn xác văn truy vấn Thời gian gần đây, toán sánh mẫu trở nên quan trọng quan tâm nhiều tăng trưởng nhanh chóng hệ thống tìm kiếm thơng tin hệ thống sinh- tin học Một lý nữa, người ngày không đối mặt với lượng thông tin khổng lồ mà đòi hỏi yêu cầu tìm kiếm ngày phức tạp Các mẫu đưa vào không đơn xâu ký tự mà cịn chứa ký tự thay thế, khoảng trống biểu thức quy Sự “tìm thấy” khơng đơn giản xuất xác mẫu văn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com mà cho phép “một xấp xỉ” mẫu xuất văn Từ đó, bên cạnh vấn đề kinh điển “tìm kiếm xác”, nảy sinh hướng nghiên cứu "sánh mẫu xấp xỉ / tìm kiếm xấp xỉ” (approximate matching / approximate searching) 1.2 Phát biểu toán Như giới thiệu, đối sánh mẫu toán xử lý văn bản; toán yêu cầu tìm nhiều vị trí xuất mẫu P văn S Mẫu P văn S chuỗi có độ dài M N (M ≤ N); P S xâu ký bảng chữ Σ có δ ký tự Bài tốn sánh mẫu (chính xác) tổng quát phát biểu sau [CL00]: "Cho mẫu P độ dài M văn S độ dài N bảng chữ A Tìm (hoặc tất cả) lần xuất mẫu P S" Sánh mẫu để tìm tất lần xuất chuỗi mẫu thi hành lần quét nhất, diễn với nhiều lần thử đoạn khác văn Mỗi lần thử chương trình kiểm tra giống mẫu với cửa sổ thời Theo Christian Charras Thierry Lecroq [CL00], độ phức tạp thuật tốn tìm tất lần xuất x y thời gian O (M×N) Trong tốn tìm kiếm văn tập văn D, toán sánh mẫu thực cặp gồm mẫu (truy vấn) q văn d ∈ D Trong trường hợp độ dài N d lớn số lượng văn D nhiều (|D|>>1) thời gian tìm kiếm văn phù hợp với câu hỏi q tốn Chính lý đó, nghiên cứu đề xuất thuật tốn sánh mẫu mới, cải tiến thuật toán sánh mẫu sẵn có ln chủ đề nghiên cứu quan tâm Thực tiễn tồn nhiều tình tìm kiếm xấp xỉ cho phép có "sai khác khơng đáng kể" mẫu P xâu S' xâu S Cũng lý đó, tốn sánh mẫu xấp xỉ đặt ra, đó, tìm (hay tất cả) xâu S' xâu S mà S' "sai khác không đáng kể" với mẫu P [WM92] Tồn số tiêu chí cho độ đo "sai khác khơng đáng kể", chẳng hạn số lượng ký tự vị trí hai xâu S' P khác chiếm tỷ lệ nhỏ so với độ dài M xâu P Thơng thường, thuật tốn sánh mẫu làm việc với mẫu có độ dài ngắn (M≤30), nhiên thực tiễn, tốn sánh mẫu có độ dài mẫu lên tới LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com số hàng chục ngàn Người ta gọi toán sánh mẫu với mẫu dài toán sánh mẫu "nặng" để phân biệt với toán sánh mẫu "nhẹ" mà độ dài mẫu không 30 Thực tiễn hầu hết ứng dụng sánh mẫu sánh mẫu nhẹ Luận văn đề cập tới toán sánh mẫu xác tập trung vào sánh mẫu nhẹ 1.3 Một số thuật toán sánh mẫu Theo Christian Charras Thierry Lecroq [CL00], bốn cách tiếp cận chủ yếu thuật toán sánh mẫu phân loại theo thứ tự đối sánh ký tự mẫu với văn bản: (1) từ trái sang phải; (2) từ phải sang trái; (3) xác định giới hạn lý thuyết để đưa thứ tự đối sánh ký tự; (4) xác định thứ tự theo trình thực Các tác giả cho nhận định nhóm thuật tốn sánh mẫu tiến hành theo thứ tự từ phải sang trái thường cho hiệu sánh mẫu tốt thực tế Trong thập niên 1970, thuật toán sánh mẫu A V Aho M J Corasick, 1975 [AC75] thuật toán sánh mẫu R S Boyer J S Moore, 1977 [AC77] hai số thuật tốn điển hình mà nhiều phiên thuật toán sánh mẫu phát triển dựa ý tưởng thuật toán Đặc biệt, thuật tốn Boyer-Moore cịn thường xun áp dụng Dưới số giới thiệu số thuật toán sánh mẫu Trong [CL00], Christian Charras Thierry Lecroq giới thiệu cụ thể thuật toán 1.3.1 Thuật tốn Brute Force Đặc điểm thuật tốn Brute Force là: khơng có giai đoạn tiền xử lý, liên tục thêm không gian cần thiết, dịch chuyển cửa sổ sánh mẫu sang bên phải vị trí, so sánh thực theo thứ tự bất kỳ, giai đoạn tìm kiếm có độ phức tạp thời gian O(M*N), số ký tự dự kiến cần so sánh 2N Thuật tốn Brute Force kiểm tra tất vị trí văn từ N-M Sau lần thử thuật toán Brute Force dịch mẫu sang phải ký tự kiểm tra hết văn Thuật tốn Brute Force khơng cần giai đoạn tiền xử lý mảng phụ cho trình tìm kiếm Độ phức tạp tính tốn thuật tốn O(N*M) Cụ thể trình sánh mẫu diễn sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Lần kiểm tra thứ y G C A T C G C A G A G T A T A C A G T A C G x G C A G A G A G Dịch Lần kiểm tra thứ hai y G C A T C G C A G A G T A T A C A G T A C G x G C A G A G A G Dịch Lần kiểm tra thứ ba y G C A T C G C A G A G T A T A C A G T A C G x G C A G A G A G Dịch Thuật toán Brute Force thực 30 so sánh hết văn Ví dụ: TWO ROADS ROADS TWO ROADS ROADS TWO ROADS ROADS TWO ROADS ROADS TWO ROADS ROADS DIVERGED IN A YELLOW WOOD DIVERGED IN A YELLOW WOOD DIVERGED IN A YELLOW WOOD DIVERGED IN A YELLOW WOOD DIVERGED IN A YELLOW WOOD LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 37 b) Tìm mẫu Đầu tiên, cửa sổ so sánh nằm đầu văn We still use this machine though it is obsolete Ký tự hậu tố bên cửa sổ đối sánh "st" Tra bảng "SHIFT", khoảng cách dịch chuyển "3" We still use this machine though it is obsolete Sử dụng giá trị băm "ll" tra bảng "SHIFT", khoảng cách dịch chuyển "0" Điều có nghĩa vị trí cửa sổ đối sánh cổng vào so sánh Tra bảng "HASH" với hash(ll), ta nhận danh sách liên kết hậu tố, HASH[hash(ll)] (hình 4) Dãy trỏ địa danh sách liên kết hậu tố [P+1, P+3] Sử dụng giá trị băm tiền tố cửa sổ so sánh “st” để tra bảng "PREFIX", lấy danh sách liên kết tiền tố, PREFIX[hash(st)] (hình 6) Bây ta so sánh trỏ địa Trong danh sách liên kết tiền tố, mẫu "student" Con trỏ địa "P" Bởi "P" khơng nằm phạm vi [P+1, P+3], không cần phải so sánh Tiếp tục chuyển tới mẫu Mẫu thứ hai "still" Con trỏ địa "P +1" nằm phạm vi địa [P+1, P+3], trình sánh mẫu diễn ta tìm thấy mẫu phù hợp Tiếp tục với mẫu Mẫu thứ ba "stupe" Con trỏ địa "P+3" nằm ngồi phạm vi [P+1, P+3], kết thúc tìm kiếm Ta dịch chuyển cửa sổ so sánh, tiếp tục thao tác kết thúc văn Từ ví dụ trên, ta thấy tìm kiếm danh sách liên kết tiền tố, AFWM tránh việc tính tốn băm xem xét tồn danh sách Theo Baojun Zhang cộng sự, AFWM khắc phục số hạn chế tồn WM, chẳng hạn thông tin dư thừa nhiều phép tính tốn, tránh việc xun qua danh sách, đề xuất lọc địa dựa thuật toán WM Bằng phân tích hiệu suất thơng qua kết thử nghiệm, tác giả minh chứng AFWM tốt so với WM LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 38 CHƯƠNG 3: THỰC NGHIỆM 3.1 Giới thiệu agrep AGREP công cụ mạnh để nhanh chóng tìm kiếm tập tin nhiều tập tin cho chuỗi biểu thức quy, với khả kết hợp gần xác định hồ sơ người dùng Agrep Udi Manber Sun Wu phát triển giai đoạn 1989-1991 [WM92] sau nhiều người khác tham gia nâng cấp AGREP tương tự egrep (hoặc grep fgrep), tổng quát thường nhanh Nó hỗ trợ nhiều loại truy vấn, mẫu, biểu thức thơng thường nói chung Như giới thiệu, tìm kiếm mẫu văn hoạt động phổ biến ứng dụng từ soạn thảo văn đến tìm kiếm sở liệu cho ứng dụng sinh học phân tử Trong nhiều trường hợp mẫu xuất khơng xuất văn Sai sót văn truy vấn lỗi tả từ thực nghiệm sai lầm (ví dụ văn chuỗi DNA) Việc sử dụng sánh mẫu xấp xỉ hạn chế số lỗi Hầu hết trình soạn thảo văn chương trình tìm kiếm khơng hỗ trợ tìm kiếm với lỗi phức tạp liên quan đến việc thực Agrep dựa thuật tốn hiệu linh hoạt sánh mẫu xấp xỉ So mẫu xấp xỉ cho phép tìm kiếm thơng tin “gần giống”, số trường hợp mẫu văn không xác Ta khơng thể nhớ tả xác tên mà ta tìm kiếm, tên bị sai tả văn bản, văn tương ứng với chuỗi số định ta khơng có mẫu xác, văn chuỗi phân tử DNA ta tìm kiếm mẫu gần Vấn đề tìm kiếm xấp xỉ đặt nhiều ứng dụng khoa học kĩ thuật như: nhận dạng chữ viết, nhận dạng ảnh, đồ thị, so sánh xấp xỉ xâu nén có độ dài khơng cố định, xác định cấu trúc chung chiều phân tử dược phẩm protein, khám phá biến đổi chuỗi ADN, đặc biệt phổ biến hệ thống trích rút văn Agrep khơng hỗ trợ số lớn tùy chọn, mà hiệu Ví dụ, việc tìm kiếm tất lần xuất Homogenos cho phép hai lỗi MB văn khoảng 0,2 giây SUN SparcStation H Sánh mẫu xác thời gian thực nhanh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 39 3.2 Các thuật toán sử dụng agrep Agrep sử dụng số thuật toán khác để tối ưu hóa hiệu suất cho trường hợp khác Đối với truy vấn đơn giản xác ta sử dụng biến thể thuật toán Boyer - Moore Đối với mẫu đơn giản với lỗi, chúng tơi sử dụng chương trình phân vùng, với chương trình Boyer -Moore Đối với mẫu phức tạp hơn, ví dụ mẫu với chi phí không đồng chỉnh sửa khác nhau, đa mẫu, biểu thức thơng thường tùy ý, ta sử dụng thuật tốn hồn tồn 3.2.1 Thuật tốn WM AGREP Trong phần mềm Agrep, ưu điểm chương trình thuật tốn sánh mẫu xác điều chỉnh để hỗ trợ Ta minh họa cho ý tưởng với ví dụ sau Giả sử mẫu ABCDEFGHIJKL (m = 12) k = Ta phân chia mẫu thành k +1 = khối: ABC, DEF, GHI, JKL Ta cần tìm xem liệu có khối xuất văn Ta tạo mẫu kết hợp cách đan xen khối : ADGJBEHKCFIL Sau xây dựng mặt nạ vector R bình thường cho mẫu Sự khác biệt là, thay dịch chuyển bước, ta dịch chuyển bốn Có đối sánh bốn bit cuối (khi dịch chuyển cần phải điền vào bốn vị trí với l, tốt hơn, sử dụng shift–OR) Như vậy, so sánh cho tất khối thực xác theo cách đối sánh thường xuyên đưa thời gian chạy 3.2.2 Thuật toán sánh mẫu xấp xỉ Như giới thiệu Chương 1, thách thức ý tìm kiếm xấp xỉ (approximate search) Tìm kiếm xấp xỉ tìm xuất mẫu văn bản, văn mẫu có “lỗi” Đây “lỗi” nhận mắt thường, khơng xét khía cạnh ngữ nghĩa (OCR-optical character recognition errors), số kí tự định bị chèn thêm bị xóa bị thay thế, chẳng hạn “Việt Nam” “Việt Nan” hay “Việtt Nan”, Những lỗi nhiều nguyên nhân khác nhau, kể như: − Câu truy vấn sai tả, xâu tìm kiếm khơng cú pháp so với văn − Lỗi in ấn, lỗi tả, sử dụng dấu chấm câu sai, − Do biến đổi hình thái từ số ngôn ngữ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 40 − Dữ liệu đưa vào sở liệu khơng xác, thường xảy với tên người, địa chỉ, Bài toán so mẫu xấp xỉ mở rộng từ toán so mẫu xác phát biểu cách tổng quát sau: Cho văn T độ dài n xâu mẫu P độ dài m bảng chữ A Tìm vị trí văn khớp với mẫu, cho phép nhiều k lỗi Sánh mẫu gần để tìm thấy tất chuỗi T gần với P theo số biện pháp xấp xỉ Có nhiều mơ hình lỗi đưa ra, phổ biến sở cho nhiều mơ hình lỗi khác khoảng cách Levenshtein hay gọi khoảng cách Edit; khoảng cách Hamming; khúc (hay xâu con) chung dài nhất; dãy chung dài Độ đo “lỗi” phản ánh độ tương tự hai xâu, làm sở để cài đặt tính tìm kiếm xấp xỉ sở liệu hệ thống trích rút văn Vì tốn giải là: Cho xâu nguồn (hay xâu mẫu) P độ dài m xâu đích S độ dài n bảng chữ A Xác định độ tương tự hai xâu P S Lưu ý rằng, trường hợp S dòng liệu văn (trong máy tìm kiếm 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 nhiều so với P nên để phản ánh ngữ nghĩa tốt cần phải chặt khúc dòng liệu S so sánh khúc với P (chẳng hạn, việc ngắt câu xem cách chặt khúc) Khi độ tương tự tổng hợp từ kết so sánh P khúc S Vấn đề sánh mẫu xấp xỉ tìm đối sánh tương tự cho chuỗi truy vấn từ sở liệu cho Cơ sở liệu tổ chức theo nhiều cách khác Vấn đề toán học định nghĩa xem xét hai chuỗi văn T[1 n] P[1 m], khoảng cách D(x[ i j] , y[a b]) x[i j] y[a b] chuỗi x 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 thực chuyển đổi x thành y A Thay thế: Thay đơn giản ký tự x thay đổi để phù hợp với ký tự y B Chèn: Chèn ký tự đưa vào x phù hợp với ký tự y vị trí C Xóa: Đây hành động loại bỏ ký tự x Đầu vào cuối để sánh mẫu xấp xỉ k lỗi tối đa cho phép Sau đó, vấn đề tính tốn thiết lập P[i…j] mà D(T[ x y] , P[i j ] ) ≤ k LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 41 3.3 Cách sử dụng Agrep Đây công cụ thiếu trình tìm kiếm văn Có ba tính quan trọng agrep không hỗ trợ gia đình grep là: a) Khả tìm kiếm mẫu gần b) Agrep ghi theo định hướng dòng theo định hướng ghi mặc định, người dùng xác định -# c) Đa mẫu với truy vấn logic AND (hoặc OR) Ngồi cịn có tùy chọn thông thường sau: find matches with at most # errors tìm thấy đối sánh với lỗi # -c -d output the number of matched records define record delimiter đưa số lượng mẫu phù hợp xác định mẫu có dấu phân cách -e -f -h -I for use when pattern begins with Name of file containing patterns not display file names case-insensitive search; ISO ASCII -i# -k Digits-match-digits, letters-letters treat pattern literally - no meta-characters sử dụng mẫu bắt đầu với dấu tên tệp có chứa mẫu phù hợp khơng hiển thị tên tệp tìm kiếm trường hợp không nhạy cảm; ISO ASCII số-so sánh-số; ký tự-ký tự xử lý mẫu theo nghĩa đen, khơng có ký tự meta - -l -n -p -r -t output the names of files that contain a match -v đưa tên tệp có chứa đối sánh output record prefixed by line number đưa số lượng tiền tố số dịng supersequence search tìm kiếm siêu recurse subdirectories (UNIX style) thư mục for use when delimiter is at the end of sử dụng dấu phân cách cuối records output those records without matches ghi đưa ghi chứa so sánh -w pattern has to match as a word: "win" will sánh mẫu kiểu “win” not match "wind" “wind” -x -y -A -B -Dk -G pattern must match a whole line suppresses the prompt when used with always output filenames find best match to the pattern deletion cost is k output the files with a match mẫu phải đối sánh với toàn dòng ngăn chặn dấu nhắc sử dụng với ln đưa tên tệp tìm mẫu phù hợp tốt chi phí xóa bỏ k đưa tệp với đối sánh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 42 -Ik insertion cost is k chi phí chèn k -Sk -ia substitution cost is k ISO chars mapped to lower ASCII chi phí thay k ký tự ISO ánh xạ tới ASCII -i0 case-sensitive search -CP 850|437 set codepage -[012345V] version / verbose more tìm kiếm trường hợp nhạy cảm thiết lập bảng mã phiên bản/ tiết 1) Ví dụ - ta có hai file đưa so sánh với nội dung sau + file: nguon.txt có nội dung + file dich.txt có nội dung - Thực với tùy chọn –f ta có kết đối sánh sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 43 2) ví dụ - đối sánh tập tin WM.cpp WM.h với tùy chọn –i# - với tùy chọn –w ta có kết sau LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 44 3) Ví dụ - ta có file des.vb dung lượng 61kb Thực với tùy chọn –v (tức đưa ghi khơng có chứa sánh mẫu) với file thammades.vb dung lượng 56kb ta tìm 1753 ghi khơng chứa đối sánh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 45 3.4 Kết thực nghiệm Thực đối sánh văn với chương trình agrep cặp , tệp tin có dung lượng kích thước khác Sau bảng thống kê thời gian xử lý với tệp tin văn có độ dài, dung lượng, kích thước khác TT 10 11 12 13 Cặp (mẫu, văn bản) Dung lượng (KB) Scr1 Dst-scr1 Mbom.cpp 35 Dst_mbom.cpp 37 Tailieu.pdf 223 Dst_tailieu.pdf 237 Luanvan.pdf 1,076 Dst_luanvan 1,511 Diem.xls 109 Dst_diem.xls 144 Tl1.doc 164 Dst_tl1.doc 364 Tl2.pdf 212 Dst_tl2.pdf 166 Danhba.doc 42 Dst_detai 34 Des.vb 61 Dst_des.vb 56 Giaothong.mdb 784 Dst_giaothong.mdb 836 Mbom2.h Dst_mbom2.h Th.ppt 967 Dst_th.ppt 180 Aop.pdf 267 Dst_aop.pdf 121 Thời gian so sánh 0.09 0.11 0.12 0.28 0.09 0.17 0.12 0.11 0.12 0.12 0.11 0.15 0.12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 46 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Doc.pdf 785 Dst_doc 352 Inter.dll Dst_Inter.dll 24 OATS.uml 377 Dst_OATS.uml 563 Tl8.dll 640 Dst_tl8.dll 68 09.pdf 251 Dst_09.pdf 248 4266.pdf 522 Dst_4266.pdf 929 01.pdf 1,319 Dst_01.pdf 1,164 Cs.pdf 298 Dst_cs.pdf 251 Xla.pdf 1,344 Dst_xla.pdf 6,448 Mmt.txt 5,426 Dst_mmt.txt 6,448 Tl24.doc 32 Dst_tl24.doc 11 Tl25.xls 154 Dst_tl25.xls 202 Tl26.docx Dst_tl26.docx 10 Tl27.ppt 15 Dst_tl27.ppt 12 Tl28.h 204 Dst_tl28.h 211 Tl29.pas 402 Dst_tl29.pas 108 Atdl.cpp 209 0.19 0.12 0.11 0.14 0.11 0.12 0.15 0.18 0.24 0.24 0.08 0.10 0.09 0.09 1.11 1.14 0.12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 47 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Dst_atdl.cpp 37 Atdl1.cpp 116 Dst_atdl1.cpp 28 Atdl2.h 572 Dst_atdl2.h 498 Atdl3.txt 1,023 Dst_atdl3.txt 1168 Atdl4.txt 51 Dst_atdl4.txt 49 Atdl5.doc 83 Dst_atdl5.doc 80 Atdl6.pdf 90 Dst_atdl6.pdf 94 Atdl7.vb 703 Dst_atdl7.vb 854 Atdl8.mdb 12 Dst_atdl8.mdb 17 Atdl9.mdb 25 Dst_atdl9.mdb 30 Cnpm.txt 50 Dst_cnp.txt 48 Cnpm1.pdf 60 Dst_cnpm1.pdf 85 Cnpm2 pdf 402 Dst_cnpm2.pdf 217 Cnpm3.doc 188 Dst_cnpm3.doc 167 Cnpm4.doc 641 Dst_cnpm4.doc 858 Cnpm5.h 107 Dst_cnpm5.h 225 Cnpm6.cpp 489 Dst_cnpm6.cpp 227 0.11 0.15 0.24 0.11 0.10 0.15 0.21 0.08 0.05 0.10 0.12 0.15 0.11 0.17 0.11 0.14 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 48 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Cnpm7.ppt Dst_cnpm7.ppt 681 1,053 Cnpm8.mdb 655 Dst_cnpm8.mdb 566 Cnpm9.cpp 2,344 Dst_cnpm9.cpp 2,226 Pttk.doc 662 Dst_pttk.doc 834 Pttk1.pdf 362 Dst_pttk1.pdf 363 Pttk2.txt 1,532 Dst_pttk2.txt 1,080 Pttk3.txt 518 Dst_pttk3.txt 394 Pttk4.pdf 101 Dst_pttk4.pdf 100 Pttk5.vb 640 Dst_pttk5.vb 540 Pttk6.doc 37 Dst_pttk6.doc 172 Pttk7.txt 317 Dst_pttk7.txt 119 Pttk8.pdf 127 Dst_pttk8.pdf 437 Pttk9.h 373 Dst_pttk9.h 579 Pttk10.cpp 50 Dst_pttk10.cpp 47 0.22 0.12 0.19 0.17 0.12 0.22 0.15 0.10 0.11 0.09 0.17 0.14 0.13 0.11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 49 Thực nghiệm cho thấy công cụ Agrep thi hành thuật tốn xác với thời gian nhanh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 50 KẾT LUẬN Luận văn tìm hiểu số thuật toán sánh mẫu văn giới thiệu họ thuật toán Wu - Manber (WM) Các kết đạt luận văn: Trình bày khái quát toán sánh mẫu văn bản, giới thiệu chung số thuật tốn sánh mẫu cổ điển điển Brute Force, Knuth-Morris-Pratt, Boyer-Moore, Karp-Rabins Trình bày, phân tích hoạt động WM số phiên gần WM SWG06, DX08, ZCP09, ZCP09a Một số hạn chế luận văn: Thực nghiệm thuật toán dừng sơ bộ, chưa có hệ thống ví dụ mẫu để thực nghiệm đánh giá Hướng nghiên cứu tiếp theo: Tìm hiểu nghiên cứu thêm số thuật toán sánh mẫu tối ưu nữa, cài đặt chương trình tìm kiếm mẫu loại văn khác ứng dụng chương trình tìm kiếm thơng tin Do thời gian khả có hạn, luận văn cịn thiếu sót nhiều, em mong nhận góp ý, dẫn thêm Thầy Cơ, bạn bè để em xây dựng ứng dụng hoàn thiện Một lần em xin chân thành cảm ơn Thầy hướng dẫn PGS.TS Hà Quang Thụy, Thầy Cô, bạn bè đồng nghiệp tạo điều kiện thuận lợi để em hoàn thành luận văn thời hạn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 51 TÀI LIỆU THAM KHẢO [AC75] A V Aho, M J Corasick (1975) Efficient string matching: an aid to bibliographic search, Communications of the ACM, 18: 333-340 [Ba89] Baeza-Yates R A (1989) Improved string searching, Software — Practice and Experience 19 (1989): 257-271 [BM77] R S Boyer, J S Moore (1977) A fast string searching algorithm, Communication of the ACM, 20(10): 262–272 [CFM01] C Jason Coit, Stuart Staniford, Joseph McAlemey (2001) Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort, DARPA Information Survivability Conference and Exposition (DISCEX II'01), 1: 367-373 [CL00] Christian Charras, Thierry Lecroq (2000) Handbook of Exact String Matching Algorithms, http://citeseerx.ist.psu.edu/viewdoc/download? doi=10.1.1.133.4896&rep =rep1&type=pdf [DX08] Liuling Dai, Yuning Xia (2008) A Lightweight Multiple String Matching Algorithm, 2008 International Conference Computer Science and Information Technology : 611-615 [Ha93] Haertel, M (1993), Gnugrep-2.0, Usenet archive Comp Sources Reviewed, (July, 1993) [Hu91] Hume A (1991) personal communication (1991) [KB10] Chouvalit Khancome, Veera Boonjing (2010) Data Structure for Dynamic Patterns, IMECS 2010, 1: 399-404 [Sun90] D M Sunday (1990) A very fast substring search algorithm, Communications of the ACM, 33(8): 132-142 [SWG06] X S Sun, Q Wang, Y Guan, X L Wang (2006) An improved WM multiple-pattern matching algorithm and its application, Journal of Chinese Information Processing, 20(2): 47-52 [WM92] Wu S., and U Manber (1992) Agrep — A Fast Approximate PatternMatching Tool,’ Usenix Winter 1992 Technical Conference: 153-162, San Francisco (January 1992) [WM94] S Wu, U Manber (1994) A fast algorithm for multi-pattern searching, Technical Report TR 94-17, University of Arizona at Tuscon, USA, May 1994 [ZCP09] Baojun Zhang, Xiaoping Chen, Lingdi Ping, Zhaohui Wu (2009) Address Filtering Based WM Multiple Patterns Matching Algorithm, 2009 Second International Workshop on Computer Science and Engineering: 408-412 [ZCP09a] Baojun Zhang, Xiaoping Chen, Xuezeng Pan, Zhaohui Wu (2009) High Concurrence WM Multiple Patterns Matching Algorithm, The 2009 International Symposium on Information Processing (ISIP’09): 404-409, Huangshan, P R China, August 21-23, 2009 [Agrep] http://www.tgries.de/agrep/: Agrep, an approximate grep LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... thế, luận văn định hướng nghiên cứu số thuật toán sánh mẫu văn bản, tập trung vào họ thuật toán Wu- Manber họ thuật tốn tỏ có nhiều ưu việt toán sánh mẫu Nội dung chủ yếu luận văn nghiên cứu họ thuật. .. BÀI TOÁN VÀ THUẬT TOÁN SÁNH MẪU 1.1 Giới thiệu toán sánh mẫu 1.2 Phát biểu toán 1.3 Một số thuật toán sánh mẫu 1.3.1 Thuật toán Brute Force 1.3.2 Thuật toán. .. thuật toán sánh mẫu đề xuất Các thuật toán sánh mẫu chia hai lớp lớp thuật tốn xác lớp thuật tốn tương tự Luận văn giới thiệu số thuật toán sánh mẫu điển hình [CL00] Chương 2: Họ thuật tốn Wu - Manber

Ngày đăng: 05/12/2022, 15:57

HÌNH ẢNH LIÊN QUAN

Hình 1: bảng HASH - Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm
Hình 1 bảng HASH (Trang 35)
Hình 3: bảng PREFIX - Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm
Hình 3 bảng PREFIX (Trang 36)
Hình 4: Cấu trúc lưu trữ mẫu và bảng HASH - Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm
Hình 4 Cấu trúc lưu trữ mẫu và bảng HASH (Trang 40)
Hình 5: bảng SHIFT null  - Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm
Hình 5 bảng SHIFT null (Trang 40)
-CP 850|437 set codepage thiết lập bảng mã - Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm
850 |437 set codepage thiết lập bảng mã (Trang 46)
Sau đây là bảng thống kê thời gian xử lý với các tệp tin văn bản cĩ độ dài, dung lượng, kích thước khác nhau  - Luận văn thạc sĩ VNU UET một họ thuật toán sánh mẫu wu manber và thực nghiệm
au đây là bảng thống kê thời gian xử lý với các tệp tin văn bản cĩ độ dài, dung lượng, kích thước khác nhau (Trang 49)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w