Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
837,81 KB
Nội dung
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN ĐỖ THỊ HẠNH TÌM KIẾM MỜ VÀ ỨNG DỤNG TÌM KIẾM THÔNG TIN TRONG CÁC VĂN BẢN NÉN Chuyên ngành: Khoa học máy tính Mã số: 60 48 35 01 LUẬN VĂN THẠC SĨ Người hướng dẫn: PGS.TS ĐOÀN VĂN BAN Thái Nguyên - 2009 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CẢM ƠN ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Em xin chân thành cảm ơn thầy, cô khoa Công nghệ thông tin trường Đại học Thái Nguyên tạo điều kiện giúp đỡ truyền đạt cho em kiến thức chuyên ngành kiến thức xã hội Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Đoàn Văn Ban - Viện Khoa học Công nghệ Việt Nam Thầy trực tiếp hướng dẫn giúp đỡ em hoàn thành luận văn Mặc dù, ĐỖ THỊ HẠNH trình làm luận văn em gặp nhiều khó khăn thầy động viên, chia sẻ, nguồn động lực lớn giúp em vượt qua Thầy gương cho em công tác giảng dạy, nghiên cứu khoa học, TÌM KIẾM MỜ VÀ ỨNG DỤNG TÌM KIẾM THÔNG TIN TRONG CÁC VĂN BẢN NÉN sống Em xin cảm ơn thầy Em không quên động viên, khích lệ gia đình, bạn bè người thân giúp đỡ em vượt qua khó khăn để em hoàn thành khoá học Chuyên ngành: Khoa học máy tính Mã số: Em xin chân thành cảm ơn! 60 48 35 01 Thái Nguyên, tháng 11 năm 2009 LUẬN VĂN THẠC SĨ Người hướng dẫn: PGS.TS ĐOÀN VĂN BAN Thái Nguyên - 2009 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2.1.3 Thuật toán KMP mờ 28 MỤC LỤC MỞ ĐẦU Chương TÌM KIẾM MẪU TRONG VĂN BẢN THEO CÁCH TIẾP CẬN OTOMAT MỜ 2.1.3.1 Otomat so mẫu 28 2.1.3.2 Tính đắn thuật toán 29 2.1.3.3 Thuật toán 29 1.1 Tổng quan tìm kiếm mẫu văn 2.1.3.4 So sánh KM P thuật toán KMP mờ 32 1.1.1 Giới thiệu chung vấn đề tìm kiếm văn 2.1.4 Thuật toán KMP - BM mờ 33 1.1.2 Các dạng tìm kiếm kết nghiên cứu 1.1.2.1 Tìm đơn mẫu 1.1.2.2 Tìm đa mẫu 1.1.2.3 Tìm mẫu mở rộng 2.1.4.1 Ý tưởng thuật toán 33 2.1.4.2 Otomat mờ so mẫu 35 2.1.4.3 Thuật toán 2.4 37 2.2 Bài toán so mẫu xấp xỉ 38 1.1.2.4 Tìm kiếm xấp xỉ 10 2.2.1 Đặt vấn đề 38 1.1.2.4.1 Phát biểu toán 10 2.2.2 Bài toán 39 1.1.2.4.2 Các tiếp cận tìm kiếm xấp xỉ 11 2.2.3 Độ tương tự dựa độ dài khúc chung hai xâu 40 1.1.2.4.3 Độ tương tự hai xâu 12 2.2.3.1 Phát biểu toán 40 1.1.3 Tìm kiếm văn nén mã hoá 14 1.2 Hệ mờ 15 1.3 Ý tưởng chung tiếp cận otomat mờ 15 1.4 Khái niệm otomat mờ 17 1.5 Một số thuật toán so mẫu 18 1.5.1 Thuật toán KMP ( Knuth- Morris- Pratt) 18 1.5.2 Thuật toán BM ( Boyer- Moor) 22 1.6 Kết luận chương 26 Chương BÀI TOÁN SO MẪU THEO CÁCH TIẾP CẬN OTOMAT MỜ 27 2.1 Bài toán so mẫu xác 27 2.1.1 Phát biểu toán 27 2.1.2 Độ mờ mô hình 27 2.2.3.2 Otomat so mẫu 42 2.2.4 Độ gần tựa ngữ nghĩa 43 2.2.4.1 Ý tưởng độ gần 43 2.2.4.2 Thuật toán sơ tính độ gần 44 2.2.4.2.1 Ý tưởng 44 2.2.4.2.2 Thuật toán chi tiết 44 2.2.4.3 Giải thích độ mờ mô hình 45 2.3 Kết luận chương 46 Chương TÌM KIẾM MẪU TRONG VĂN BẢN NÉN VÀ MÃ HOÁ 47 3.1 Tiếp cận tìm kiếm tổng quát văn nén mã hoá 47 3.2 Tìm kiếm văn nén 50 3.2.1 Các mô hình nén văn 50 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn http://www.lrc-tnu.edu.vn 3.2.2 Thuật toán tìm kiếm liệu nén dạng text 50 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 3.3 Tìm kiếm văn mã hóa 55 3.3.1 Tìm kiếm văn mã hóa dạng khối kí tự 55 3.3.2 Mã đàn hồi 55 Các ký hiệu 3.3.3 Tìm kiếm văn mã hóa mã đàn hồi 58 Xâu rỗng wi Ký tự thứ i xâu w w(f, d) Xâu (hay khúc con) độ dài f xâu w, kết 3.3.3.1 Ý tưởng chung 58 3.3.3.2 Phương pháp đánh giá độ mờ xuất mẫu văn mã hóa 59 thúc vị trí d w 3.3.3.2.1 Bài toán 59 w1 ≤ s w2 Xâu w1 khúc đuôi w2 3.3.3.2.2 Mô tả phương pháp 59 w1 ≤ ls w2 Xâu w1 khúc đuôi dài w2 w(t) preft(w) Khúc đầu độ dài t xâu w suft(w) Khúc cuối độ dài t xâu w |A| Lực lượng tập A 3.3.3.2.3 Chi tiết hóa otomat thuật toán 60 3.3.3.2.4 Thuật toán tìm kiếm mẫu dựa otomat 61 3.3.4 Tìm kiếm văn mã hóa hai tầng 63 3.4 Kết luận chương 64 KẾT LUẬN 65 Các chữ viết tắt TÀI LIỆU THAM KHẢO 67 NFA Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Otomat đa định hữu hạn http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỞ ĐẦU DANH MỤC CÁC HÌNH VẼ Lý chọn đề tài Hình 1.1 Ý nghĩa mảng next 19 Bộ não người xử lý thông tin hai mức: Hình 1.2 Ý nghĩa mảng next vị trí m + 19 - Mức định lượng (chính xác) Hình 2.1 Dịch chuyển trỏ mẫu 32 - Mức định tính (không xác, bất định, mơ hồ, không Hình 2.2 Ý tưởng chung thuật toán KMP-BM mờ 35 Hình 2.3 Một ví dụ với khối độ dài t = 44 Hình 2.4 Tập mờ mô tả độ gần tựa ngữ nghĩa mẫu P so với xâu đích S 45 chắn, nhập nhằng, không rõ ràng, mờ) Tính thông minh trình xử lý thông tin thể khả xử lý thông tin định tính Đây điều mà hệ máy tính hướng tới Hình 3.1 Phương pháp so mẫu miền nén có sử dụng otomat mờ 48 Máy tính ngày sử dụng hầu hết lĩnh vực Hình 3.2 Phương pháp so mẫu không giải mã 49 góp phần quan trọng vào việc thúc đẩy phát triển kinh tế, xã hội, Hình 3.3 Queue trước (a) sau (b) thực thủ tục Decompress 52 khoa học kỹ thuật, … Máy tính đời nhằm phục vụ cho mục Hình 3.4 Queue trước (a) sau (b) bước nhảy n2‟ 53 đích định người Với tất xử lý máy tính để lấy Hình 3.5 Đồ thị xây dựng khái niệm tích đàn hồi 56 thông tin hữu ích trình xử lí vấn đề đặc biệt quan Hình 3.6 Đồ thị xác định mã đàn hồi 58 trọng tìm kiếm thông tin với khối lượng lớn, độ xác cao, thời Hình 2.7 Quá trình mã hóa hai tầng 64 gian nhanh Hình 2.8 Quá trình giải mã hai tầng 64 Tìm kiếm thông tin toán đóng vai trò quan trọng toán Hình 2.9 Quá trình tìm kiếm mẫu văn mã hóa hai tầng 64 so mẫu, với mẫu kiểu liệu nào, từ văn đến loại liệu đa phương tiện khác (ảnh, video, âm thanh, …) Trên thực tế có nhiều ứng dụng tìm kiếm thông tin như: công cụ tìm kiếm hệ điều hành, khai phá web Internet, Để tìm kiếm thông tin cần phải xem thông tin lưu trữ dạng liệu nào? Dữ liệu lưu trữ nhiều dạng, song phổ biến dạng text nên chọn đề tài cụ thể tìm kiếm văn text Tìm kiếm văn text văn có khối lượng lớn nhiều thời gian với thuật toán kinh điển Vậy đặt vấn đề tìm kiếm văn dạng nén nhanh Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn http://www.lrc-tnu.edu.vn Nên vào làm cụ thể tìm kiếm mẫu văn nén - Đưa thuật toán tìm kiếm, kết nghiên cứu Ngoài ra, văn nén văn mã hoá dung lượng giảm - Luận văn mong muốn nêu số hướng nghiên nhiều so với văn nguồn nên nghiên cứu mở rộng thêm cứu mở rộng tìm kiếm mẫu theo hướng tiếp cận otomat mờ văn mã hoá Phạm vi nghiên cứu Trong toán tìm kiếm, để tìm kiếm nhanh đáp ứng nhu Luận văn tập trung nghiên cứu kiến thức có liên quan, cầu không tìm kiếm cứng nhắc với từ khoá đưa Người sở lý thuyết: Hệ mờ, otomat mờ, thuật toán tìm kiếm mẫu, thuật dùng mong muốn tìm thông tin liên quan gợi ý cho toán tìm kiếm mẫu theo cách tiếp cận otomat mờ người dùng Vậy toán việc tìm kiếm theo hệ mờ cần Phương pháp nghiên cứu thiết Vì cần phải xây dựng thuật toán mềm dẻo cho phép phát Otomat mờ xem tổng quát hoá otomat hữu hạn huy sức mạnh tìm kiếm mờ đặc biệt cho phép sử dụng Trong tập trạng thái tập mờ, hàm chuyển trạng thái trạng nguồn tri thức giàu tính chuyên gia tính tìm kiếm thái kết thúc biểu diễn qua quan hệ mờ Theo đánh giá phức tạp chuyên gia, hệ hình thức otomat mờ mô hình toán học thích hợp Mục đích nghiên cứu với số hệ thống định, điều khiển, nhận dạng đặc biệt Luận văn tập trung nghiên cứu tiếp cận otomat mờ xây dựng dùng đoán nhận mẫu Tận dụng ưu điểm kết hợp số giải thuật tiếp cận otomat mờ để tìm kiếm mẫu văn nén với lý thuyết mờ, sử dụng số hệ hình thức otomat mờ để giải Đối tượng nghiên cứu toán so xâu mẫu Để thấy rõ tiếp cận otomat mờ chọn - Tìm hiểu otomát mờ toán cụ thể tìm kiếm mẫu văn nén mã hoá - Tìm hiểu văn nén mã hoá Trong phạm vi luận văn, toán làm với tệp liệu nén mà không cần giải nén toàn Ý tưởng đọc - Cách so mẫu theo hướng tiếp cận otomát mờ Giả thuyết khoa học tệp nén mở nén số mã nén, lưu kết giải nén cục vào vùng Nếu sử dụng tiếp cận otomát mờ tìm kiếm thông tin xác mong muốn mà tìm kiếm thông tin liên quan thời gian nhanh nhất, đáp ứng nhu đệm áp dụng thuật toán theo tiếp cận mờ vùng đệm 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- Giới thiệu chung vấn đề tìm kiếm văn bản, trọng tâm cầu người dùng toán so xâu mẫu Hướng tiếp cận luận văn cho toán so Nhiệm vụ nghiên cứu - Nghiên cứu otomat mờ mẫu, xác xấp xỉ, môi trường nén mã hoá không sử - Nghiên cứu nén mã hoá dụng số hệ hình thức otomat mờ Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương - Đưa ví dụ toán so mẫu xấp xỉ xác Chương TÌM KIẾM MẪU TRONG VĂN BẢN THEO Chương 3- Giới thiệu số thuật toán tìm kiếm mẫu môi CÁCH TIẾP CẬN OTOMAT MỜ trường văn nén mã hoá 1.1 Tổng quan tìm kiếm mẫu văn 1.1.1 Giới thiệu chung vấn đề tìm kiếm văn Kiểu văn (Text) dạng biểu diễn liệu hay gặp hệ thống thông tin Tìm kiếm văn (text searching) vấn đề chủ yếu thuộc lĩnh vực quản lý văn Một dạng tổng quát tìm kiếm chuỗi (hay xâu) (String searching) hay đối sánh chuỗi (string matching) Khái niệm “chuỗi” rộng, chuỗi văn gồm dãy chữ, số ký tự đặc biệt, chuỗi nhị phân hay chuỗi gene,… Tìm kiếm chuỗi toán tìm mẫu (pattern) với số đặc tính chuỗi ký hiệu cho trước, toán gọi so xâu mẫu hay gọi ngắn gọn so mẫu (string pattren matching) Dạng đơn giản tìm xuất xâu cho trước chuỗi (còn gọi xâu đích) Thực ra, toán kinh điển phổ dụng khoa học máy tính, hầu hết ứng dụng có đối sánh chuỗi dạng Các phương pháp tìm kiếm văn tìm kiếm chuỗi cốt lõi nhiều loại phần mềm khác như: tiện ích hệ điều hành, hệ thống trích rút liệu (data retrieval system), trình soạn thảo văn (text editors), máy tìm kiếm (search engine) internet, phân tích tìm kiếm chuỗi gene sinh vật học, xử lý ngôn ngữ tự nhiên, tìm kiếm text hệ sở liệu,… Thời gian gần đây, vấn đề đối sánh chuỗi trở nên quan trọng quan tâm nhiều tăng trưởng nhanh chóng hệ thống Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn trích rút thông tin hệ thống sinh- tin học Một lý nữa, 1.1.2 Các dạng tìm kiếm kết nghiên cứu người ngày không đối mặt với lượng thông tin khổng lồ mà Phân loại thuật toán tìm kiếm dựa đặc tính mẫu ta đòi hỏi yêu cầu tìm kiếm ngày phức tạp Các mẫu đưa có dạng: tìm đơn mẫu, tìm đa mẫu (mẫu tập xâu), tìm mẫu mở vào không đơn xâu ký tự mà chứa ký tự rộng (extended strings), tìm biểu thức qui (regular expressions) với thay (wild card), khoảng trống (gaps) biểu thức quy hai hướng tiếp cận tìm kiếm xác xấp xỉ (regular expresions) Sự “tìm thấy” không đơn giản xuất xác mẫu mà cho phép có “một sai khác” 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 thú vị “tìm Nội dung luận văn tập trung giải vấn đề để tìm đơn mẫu, xác xấp xỉ 1.1.2.1 Tìm đơn mẫu Bài toán 1.1: kiếm xấp xỉ” (approximate matching, approximate searching) Cho xâu mẫu P dộ dài m, P = P1 P2… Pm , xâu độ dài n, S = S1 S Cho đến nay, có nhiều hướng tiếp cận giải toán so mẫu đưa ra, từ phương án lý thuyết đến phương án thực dụng Hướng nghiên cứu lý thuyết nêu nhiều thuật toán quan trọng, song lại chưa đạt hiệu cao thực hành, không tận dụng khả đặc điểm kiến trúc máy tính Hiện nay, tiêu biểu cho thuật toán mang tính chất thực hành theo hướng nâng cao khả tận dụng kiến trúc máy tính tiếp cận song song bit (bit- parallelism) 1, 2, 3 Có thể phân loại thuật toán so mẫu theo hướng Thứ thuật toán trực tuyến (on-line), mẫu tiền xử lý (thường sử dụng otomat dựa đặc tính kết hợp xâu), văn không Thứ hai giải pháp tiền xử lý văn theo cách xây dựng cấu trúc liệu văn (lập mục) Nhiều ứng dụng cần sử dụng giải pháp có thuật toán trực tuyến nhanh chúng cần phải điều khiển lượng văn lớn nên thuật toán trực tuyến thực cách hiệu Tìm kiếm mục thực dựa tìm kiếm on-line Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2… Sn (S thường dài, văn bản) bảng chữ A Tìm tất xuất xâu P S Trong thuật toán so mẫu thường sử dụng khái niệm: Khúc đầu, khúc cuối, khúc hay xâu xâu, định nghĩa sau: Cho xâu x, y, z Ta nói x khúc đầu (prefix) xâu xy, khúc cuối (suffix) xâu yx khúc hay xâu (factor) xâu yxz Thuật toán “thô” sử dụng rộng rãi Brute- Force Phương pháp đơn giản vị trí S để đối sánh với mẫu P Mặc dù có tốc độ chậm, thời gian xấu tỉ lệ với tích m.n, song nhiều ứng dụng thực tế chuỗi phát sinh thường có thời gian xử lý thực tỷ lệ với m + n Ngoài ra, ưu điểm khác thích hợp với cấu trúc hầu hết hệ máy tính Cho đến nay, nhiều thuật toán so đơn mẫu đưa 4 5, 2, kinh điển KMP Có thể xem có ba tiếp cận chung cho thuật toán so mẫu, phụ thuộc vào cách duyệt tìm mẫu văn Việc đánh giá tốc độ thuật toán dựa kích cỡ mẫu P bảng chữ A Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Trong tiếp cận thứ nhất, ký tự văn S đọc vị trí, sau đối sánh với ký tự mẫu cập nhật thay đổi để nhận khả xuất mẫu Hai thuật toán điển toán Multiple Shift- And, sử dụng hiệu tổng độ dài mẫu P nhỏ 2 Theo tiếp cận thứ hai có thuật toán tiếng Commentz - Walter 4, kết hợp ý tưởng Boyer - Moore Aho- Corasisk , hình theo tiếp cận KMP Shift - Or Tiếp cận thứ hai sử dụng “cửa sổ trượt” xâu S tìm kiếm nhanh lý thuyết, song lại không hiệu thực hành [2] Một mở mẫu cửa sổ Tại vị trí cửa sổ, cần tìm khúc cuối rộng thuật toán Horspool Set Horspool Cuối thuật toán cửa sổ mà khúc cuối xâu mẫu P Thuật toán BM điển Wu-Manber, phương pháp pha trộn tiếp cận tìm kiếm hậu tố hình cho tiếp cận biến thể đơn giản hoá Horspool (suffix search approach) kiểu hàm băm, đánh giá nhanh Tiếp cận thứ ba xuất gần cho đời thuật toán hiệu thực hành mẫu P đủ dài Cũng tương tự tiếp cận thứ hai, song thời điểm tìm khúc cuối dài cửa sổ mà thực hành Trong tiếp cận thứ ba có mở rộng từ thuật toán BOM SBOM; tương tự với Shift- Or BNDM Multiple BNDM 2 khúc mẫu Thuật toán theo tiếp cận BDM P đủ ngắn, phiên đơn giản hơn, hiệu BNDM Với mẫu dài, thuật toán BOM đánh giá nhanh 2 1.1.2.3 Tìm mẫu mở rộng Trong nhiều ứng dụng, tìm kiếm mẫu không đơn giản dãy ký tự Sau số mở rộng thường thấy ứng dụng: 1.1.2.2 Tìm đa mẫu Mở rộng đơn giản cho phép mẫu dãy lớp hay Bài toán 1.2: tập ký tự, giả sử đánh số thứ tự 1,2,…,m Bất kỳ ký tự Cho mẫu P gồm tập từ khoá w , w ,….,w k xâu lớp thứ i xem ký tự thứ i mẫu vào S = S S …S n bảng chữ A Tìm xuất từ khoá w i S Mở rộng thứ hai giới hạn khoảng độ dài: Một số vị trí mẫu ấn định để khớp với dãy văn có độ dài nằm Một cách đơn giản để tìm nhiều từ khoá xâu đích sử dụng thuật toán so đơn mẫu nhanh từ khoá Rõ ràng phương pháp không hiệu số lượng từ khoá lớn Cả ba tiếp cận tìm đơn mẫu mở rộng cho tìm đa mẫu Hai điển hình theo tiếp cận thứ thuật toán tiếng AhoCorasisk 4, có tốc độ cải thiện đáng kể số từ khoá nhiều thuật khoảng xác định trước Điều thường sử dụng ứng dụng sinh- tin học, chẳng hạn tìm mẫu PROSITE Mở rộng thứ ba sử dụng ký tự tùy chọn ký tự lặp Trong xuất mẫu văn bản, ký tự tuỳ chọn có không có, ký tự lặp có lặp nhiều lần Các vấn đề nảy sinh từ ba hướng mở rộng kết hợp từ ba hướng giải cách điều chỉnh lại thuật toán Shift - Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Or BNDM, có sử dụng chế song song bit để mô Bài toán so mẫu xấp xỉ tổng quát phát biểu sau: otomat đa định, cho phép tìm tất xuất mẫu Bài toán 1.3 Cho văn T độ dài n xâu mẫu P độ dài m 1.1.2.4 Tìm kiếm xấp xỉ bảng chữ A Tìm vị trí văn khớp với mẫu, cho phép 1.1.2.4.1 Phát biểu toán Tìm kiếm xấp xỉ toán tìm xuất mẫu văn bản, “khớp” mẫu xuất chấp nhận k “lỗi” (k giới hạn cho trước) Có thể kể vài kiểu “lỗi”, lỗi đánh máy hay lỗi tả hệ thống trích rút thông tin, nhiều k lỗi 1.1.2.4.2 Các tiếp cận tìm kiếm xấp xỉ Trong 2, tác giả chia thuật toán tìm kiếm xấp xỉ thành loại biến đổi chuỗi gen hay lỗi đo đạc sinh- tin học 1) Các thuật toán dựa quy hoạch động: Đây tiếp cận xuất lỗi truyền liệu hệ thống xử lý tín hiệu,… Vì dùng để tính khoảng cách soạn thảo (Edit hệ thống tin học khó tránh “lỗi” nên vấn đề tìm kiếm Distance) (như 4) xấp xỉ trở nên quan trọng 2) Các thuật toán sử dụng otomat tìm kiếm: Trước tiên xây dựng Đặc biệt, sử dụng hệ thống trích rút thông tin, người dùng ngày hàm mẫu P số lỗi k, sau tạo otomat đa định hữu hạn (như đòi hỏi kết gần giống có kết phù hợp 9, 1) Đây hướng tiếp cận quan tâm nhiều có độ phức trả có sai sót mẫu hay văn Trong trường hợp “lỗi” tạp thời gian trường hợp xấu O(n) (tuy nhiên đòi hỏi độ nhiều nguyên nhân khác nhau, kể sau: phức tạp không gian lớn hơn) - Câu truy vấn sai tả, xâu tìm kiếm không cú pháp so với văn 3) Các thuật toán sử dụng chế song song bit (bit- parallelism): cách tiếp cận cho nhiều thuật toán hiệu nhờ khai thác - Lỗi in ấn, sai lỗi tả, sử dụng dấu chấm sai,… chất song song phép toán bit từ máy vi xử lý - Do biến đổi hình thái từ số ngôn ngữ Nói chung song song bit dùng để song song hoá kỹ thuật khác, - Dữ liệu đưa vào sở liệu không xác, thường xảy với tạo otomat đa định, lập ma trận quy hoạch động Nói chung kỹ thuật tên người, địa chỉ… làm việc tốt với mẫu ngắn tăng tốc đáng kể so với cài - Thông tin người tìm đưa vào không xác, “đại loại” đặt không tận dụng khả song song ghi Trong 2 tác Vì vậy, vấn đề đặt cho hệ thống trích rút thông tin ngày giả số thuật toán dùng chế song song bit BPR đáp ứng nhu cầu tìm kiếm “mềm dẻo” người sử dụng BPD để tái tạo otomat đa định hữu hạn BDM để tái tạo thuật toán quy hoạch động Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 11 Tính độ tương tự hai xâu kĩ thuật kết 2.2 Bài toán so mẫu xấp xỉ 2.2.1 Đặt vấn đề sau: Để tìm kiếm xấp xỉ, cần sử dụng hàm khoảng cách (distance + Độ dài dãy chung dài nhất: 3, độ tương tự xem 3/18 function) đo độ tương tự hai xâu Tương tự hiểu + Độ dài xâu chung dài nhất: 2, độ tương tự xem 2/18 hai xâu kí tự có vài sai khác lỗi nhận mắt + Khoảng cách Levenshtein: 14 thường, không xét khía cạnh ngữ nghĩa (OCR - optical character + Khoảng cách Hamming: 18 (đúng độ dài xâu S) recognition errors), chẳng hạn “Việt Nam” “Việt Nan” hay “Việtt Độ tương tự hai xâu kí tự P S theo độ đo kinh điển Nan”, Có thể kể số kỹ thuật phổ biến đo độ tương tự hai kể nhỏ, hai xâu gần mặt ngữ nghĩa Để đáp xâu: xâu chung dài nhất, dãy chung dài nhất, khoảng cách soạn ứng nhu cầu tìm kiếm tình trên, mô hình lỗi thảo (Edit Distance) phản ánh độ tương tự hai xâu kí tự “Độ bảo toàn thứ tự xuất Các kỹ thuật chủ yếu hiệu có sai khác kí tự” đề xuất mặt tả: có bổ sung, xoá hay thay số kí tự Trong nhiều Do độ tương tự xác định theo hai cách phản ánh độ gần tình huống, kỹ thuật chưa đáp ứng đầy đủ yêu cầu thực tế, gũi ngữ nghĩa hai xâu, xét mặt thống kê, nên gọi “độ cần tìm kiếm theo tên người nước (chẳng hạn “christian tương tự tựa ngữ nghĩa” Charras” “Charas C”), có sai khác biến đổi hình thái từ, cấu Một mô hình lỗi kinh điển dựa vào độ dài khúc chung dài trúc câu (“approximate searching” “search approximately”), số song với cách tiếp cận otomat mờ đề xuất đem lại trường hợp thứ tự ghép từ khác mang ngữ nghĩa giống thuật toán nhanh, đặc biệt hiệu cần so mẫu P với nhiều (“toán logic” “logic toán”) thứ tự sai song hiểu xâu S nghĩa (“toán giải tích” “giải tích toán”, ) Phương pháp xác 2.2.2 Bài toán định độ tương tự hai xâu kí tự theo “độ gần tựa ngữ nghĩa” đề xuất luận văn đáp ứng nhu cầu tìm kiếm Bài toán phát biểu: Cho xâu nguồn P độ dài m xâu đích S độ dài n Xác định dộ tương tự hai xâu P S Xét tình khác Khi ứng dụng thực tế, từ theo Bài toán coi cốt lõi để cài đặt tính tìm kiếm xấp nghĩa thông thường xem kí tự hình thức Chẳng hạn câu “bạn xỉ tựa ngữ nghĩa sở liệu hệ thống trích rút văn Minh giỏi Toán” xem „xâu‟ gồm „kí tự‟, hình thức hoá Trường hợp S dòng liệu văn (trong máy tìm kiếm P = derq S “Ở trường bạn Minh đánh giá hệ thống khai phá text, khai phá web, ), xâu mẫu P thường ngắn sinh viên học Toán giỏi nhất", hình thức hoá S = abcdefghiklmnopqrs 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 sánh khúc với P Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 38 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 39 (chẳng hạn, việc ngắt câu xem cách chặt khúc) Khi độ + Quy ước pref0(u) = suf0(u) = (từ rỗng) tương tự tổng hợp từ kết so sánh P khúc S + Với hai số tự nhiên f, d, ||u|| d f 0, đặt u(f,d) = suff(prefd(u)) khúc Khi áp dụng hệ thống xử lý văn bản, hay gặp cuối độ dài f khúc đầu gồm d kí tự u Quy ước u(0,d) = lỗi nhỏ mặt tả (như: “Việt Nam” “Việt Nan”, “vật lý” “vật + Với xâu y khúc u, đặt lid(y,u) = (|y|, Min {dN| f 0: lí” ) dùng từ đồng nghĩa hay có nghĩa tương tự (như u(f,d) = y}) „yêu‟ „thích‟, „mê‟, ) biến đổi hình thái từ (trong số ngôn + Cho hai xâu u, v, kí hiệu lfact(v, u) khúc cuối y dài v mà y ngữ: Anh, Pháp, “approximate” “aproximately”) Để đáp ứng nhu khúc u, độ dài xâu y ký hiệu cầu tìm kiếm tốt hơn, dùng thuật toán tìm kiếm xấp xỉ lfuz(v, u) tính tới độ tương tự kí tự, mặt tả mặt ngữ Ví dụ 2.2 Cho u = drabcgaba, pref6(u) = drabcg, suf2(drabcg) = cg, nghĩa Khi khái niệm “xuất hiện” hay “thuộc xâu P” kí tự c u(2,6) = cg, lid(ab, u) = (2,4) ab khúc trái u kết hiểu sau: thúc vị trí u ab có độ dài - Sử dụng hàm đo độ tương tự với ngưỡng mờ người sử dụng chọn Cho v = ghbacabc, lfact(v,u) = abc, lfuz (v,u) = 3, lfact (u,v) = ba, lfuz(u,v) = - Tìm kí tự hình thức P có độ tương tự cao so với c nằm bên trái Với xâu P độ dài m cho, cặp số (f,d), với m d f 0, xác định quan hệ tương đương sau: (f,d) tương đương với (f‟,d‟) - Nếu độ tương tự lớn ngưỡng coi c kí tự P(f,d) = P(f‟,d‟) (khi hiển nhiên f = f‟) Lớp tương đương tương ứng P, không coi c không xuất P cặp (f,d) kí hiệu [f,d] Cặp số (f,d) gọi có nghĩa (với P) 2.2.3 Độ tương tự dựa độ dài khúc chung hai xâu (f,d) cặp có d nhỏ lớp, nghĩa có khúc y P 2.2.3.1 Phát biểu toán cho lid(y,P) = (f,d) Bài toán: Cho xâu mẫu P = P1P2 Pm (độ dài m) xâu đích S = Ví dụ 2.3 Cho u = drabcgaba, cặp (2,4), (2,8) tương đương u (2,4) = S1S2 Sn (đo độ dài n) bảng chữ A Tìm khúc chung dài u(2,8) = ab, cặp (f,d) = (2,8) nghĩa y = ab có vị trí kết thúc hai xâu P S trái u vị trí 4, vị trí u (2,8) = y = ab Bài toán hiểu tìm khúc dài P xuất S Để giải toán, trước hết ta đưa vào số ký hiệu Cho bảng chữ A, với xâu u = u1u2 uk, ui A: Phương pháp giải Độ mờ xuất mẫu P vị trí j S lfuz(S(j),P) (chính độ dài khúc cuối dài w S(j) mà w khúc P) + prefm(u) = u1u2 um (hay gọn u(m), khúc đầu gồm m chữ u Bản chất thuật toán cần xây dựng là: duyệt S từ trái sang phải, vị + sufm(u) = uk-m+1uk-m+2 uk khúc cuối gồm m chữ u trí thứ j, sau đọc kí tự Sj, cho biết cặp giá trị (f,d) có nghĩa Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 40 http://www.lrc-tnu.edu.vn 41 P, cho P(f,d) = lfact (S(j), P), f = lfuz (S(j), P) Sử dụng + LenMax: độ dài khúc chung dài biến LenMax để đánh dấu độ dài khúc dài tìm được, tính + LF_P: vị trí (kết thúc) xuất P tới vị trí j S Sau duyệt xong S, LenMax cho biết độ dài khúc + LF_S: vị trí (kết thúc) xuất S chung dài P S Thuật toán 2.4 (Mục 2.2.3) xây dựng dựa mô hình otomat mờ đáp ứng yêu cầu Để xây dựng thuật toán chi tiết, sau ta xét hai hệ hình thức Phương pháp (f,d) := (0,0); f_max := 0; LenMax := 0; LF_P := 0, LF_S := 0; for j:=1 to n otomat, hệ hình thức thứ đóng vai trò bổ trợ nhằm giúp thể (f’,d’) := TFuzz((f,d),Sj); chất hệ thức sau (f,d):= (f’,d’); 2.2.3.2 Otomat so mẫu if f > f_max then f_max := f Định nghĩa 2.4 Otomat trạng thái khúc P có: else {đã tìm khúc dài P độ dài f_max + Bảng chữ vào A = Ap {#}, Ap gồm ký tự xuất mẫu P khúc cuối S(j)} ký tự # Ap đại diện cho ký tự mặt P, if LenMax < f_max then LenMax := f_max; LF_P := d; LF_S := j; + Tập trạng thái tập tất khúc P, trạng thái khúc P (bao gồm xâu rỗng), endif; + Với chữ a, khúc u P, hàm chuyển T cho bởi: f_max := f; endif; T(u,a):= lfact(ua,P) Ta mở rộng tác động cho xâu w=a1a2 ak tuỳ ý T(u,w):= T( T(T(T(u,a1),a2),a3), ak), quy ước T(u, ) = u Ví dụ 2.4 P = bcgabcdbabed endfor; Return(LF_P, LF_S, LenMax); 2.2.4 Độ gần tựa ngữ nghĩa T(ab, c) = abc, T(ab, e) = abe, T(ab, z) = , T(ab, zebcd) = bcd Dựa vào tính chất chứng minh [11], có 2.2.4.1 Ý tưởng độ gần Độ gần xâu S so với xâu P xác định thông qua số khúc thuật toán sau: P xuất S Thuật toán 2.5 Tìm khúc chung dài hai sâu Bài toán: Cho xâu kí tự P (xâu nguồn hay mẫu) độ dài m (P = P1P2 Pm) Vào: Mẫu P độ dài m; xâu đích S độ dài n S (xâu đích) độ dài n (S = S1S2 Sn) Hãy xác định độ gần tựa ngữ Ra: Dựa vào thông tin P, xây dựng otomat mờ so mẫu với nghĩa S so với P Độ gần hiểu giá trị thực nằm hàm chuyển TFuzz khoảng [1,0] thoả mãn: Khúc chung dài P S + độ gần lớn số khúc P xuất S nhiều Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 42 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 43 + độ gần xâu P xuất S m t 1 * t m M= H(P,P) = + độ gần phần P xuất S ; t 1 2.2.4.2 Thuật toán sơ tính độ gần {Xây dựng hàm giả H(P, S) 2.2.4.2.1 Ý tưởng H:=0; for t:=1 to m (3,1) for i:=1 to m - t + (3,5) (3,3) if (khối (t, i) xuất S) then P (3,2) H:=H + t; (3,4) (2.2) {Tính độ gần S so với P} (3,2) F := H/M; S 2.2.4.3 Giải thích độ mờ mô hình (3,1) (3,1) (3,5) Hình 2.3 Một ví dụ với khối độ dài t = - Gọi PiPi+1 Pi+t-1 khối độ dài t mẫu P kí hiệu khối (t,i) - Lần lượt xét tất khối độ dài t, t = 1,2, ,m, kiểm tra xem khối Giá trị mờ P(S) = H/M cho biết độ gần tựa ngữ nghĩa P S Tập X tập rõ bao gồm tập tất xâu S sở liệu Khi P(S) = nghĩa có mẫu P S hay toàn thông tin P phản ánh S Khi P(S) = phần mẫu P S (xem Hình 2.4) có xuất S hay không (xem Hình 2.3) m - Tính hàm giá H(S, P) = k * t , k số khối độ dài t có xuất t 1 độ gần 1,0 xâu đích S - Gọi M giá trị cực đại hàm giá (khi S = P), m t 1 * t 0(S) 0,4 m M = H(P, P) = 0,8 (2.1) t 1 0,0 S1 - Độ gần s so với P tỷ số H/M 2.2.4.2.2 Thuật toán chi tiết Thuật toán 2.6 Tính độ gần tựa ngữ nghĩa xâu S độ dài n so với mẫu P độ dài m http://www.lrc-tnu.edu.vn 44 S2 S3 Hình 2.4 Tập mờ mô tả độ gần tựa ngữ nghĩa mẫu P so với xâu đích S Độ phức tạp so sánh khối (t,i) mẫu cắt với S sử dụng thuật toán theo tiếp cận mờ xác định nhiều lần lặp mẫu (xem {Tính độ gần tối đa M = Hmax = H(P, P)} Số hóa Trung tâm Học liệu – Đại học Thái Nguyên S Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 45 mục 2.1.3), cỡ n, chưa tính khâu tiền xử lý cho cấu trúc bảng chuyển Chương TÌM KIẾM MẪU TRONG VĂN BẢN NÉN VÀ otomat MÃ HOÁ Số khối xét với t là: m+(m-1) + + = m(m+1)/2 Vì mẫu đưa vào thường ngắn từ đến 30 ký tự nên giá trị coi 3.1 Tiếp cận tìm kiếm tổng quát văn nén mã hoá Khi tìm kiếm văn nén mã hoá, toán bơ đặt số C Do độ phức tạp thời gian thuật toán T = n.m(m+1)/2+Tpt, sau: Cho mẫu P xâu độ dài m (P = P1,P2, Pm) bảng chữ với Tpr thời gian tiền xử lý để tính m(m+1)/2 cấu trúc otomat Thời A Xâu vào S nén mã hoá thành xâu Y = Y 1Y2 Yn bảng gian tiền xử lý số không lớn so với n = |S| (rất lớn) nên xem độ phức tạp thuật toán O(n) Nhưng S nhỏ tìm chữ B phương pháp nén (hoặc mã hoá) biết trước Tìm tất xuất mẫu P Y nhiều lần nhiều S khác nhau, S giá trị trường text Đối với văn nén, đem lại hiệu rõ rệt mặt ghi sở liệu, mà phải bắt đầu lại trình tìm mẫu lưu trữ, quản lý, tổ chức chuyển tải, song lại làm phần lớn cấu số không nhỏ: cỡ k.T, với k số ghi cần duyệt trúc liệu, dẫn đến khó khăn cho việc tìm kiếm trích rút thông tin Cách đơn giản tốn thời gian (và khó khả thi với văn 2.3 Kết luận chương Chương trình bày hai toán so mẫu xấp xỉ xác theo tiếp cận otomat mờ Bài toán so mẫu xấp xỉ xác trình bày hệ hình thức cụ thể otomat mờ tổng quát giới thiệu Mục 1.2 Hệ lớn) giải nén toàn tiến hành tìm kiếm thuật toán so mẫu kinh điển Hiện có nhiều giải pháp tốt cho phép tìm kiếm trực tiếp liệu nén mà không cần giải nén giải hình thức otomat thứ có trạng thái mờ số tự nhiên (chính nén phần Tìm kiếm không giải nén gọi so mẫu nén (full- vectơ gồm thành phần), làm sở cho thuật toán so mẫu KMP compressed pattern matching hay gọi compressed pattern mờ Thuật toán xem tiếp cận cho thuật toán kinh điển KMP - tiếp cận otomat mờ Hình thức thứ hai có trạng thái mờ gồm hai thành phần, làm sở cho thuật toán so mẫu KMP - BM matching), mẫu nén đem so với văn nén Tuy nhiên phương pháp nhiều không khả thi, đặc biệt với thuật toán nén có sử dụng biểu diễn khác cho xâu mờ, với ý tưởng có bước dịch chuyển xa xâu đích S thuật con, tuỳ thuộc vào ngữ cảnh xâu Một kỹ thuật khác so toán BM Quan niệm “độ mờ xuất mẫu” hai thuật toán mẫu miền nén (compressed-domain pattern matching), sử độ dài khúc đầu dài mẫu P xuất xâu đích dụng biện pháp giải nén phận văn bản, nhờ mà tránh số hạn chế phương pháp so mẫu nén mà đảm bảo không S, tính tới vị trí xét phải giải nén toàn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 46 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 47 Văn nén Văn mã hoá Đọc ký tự thuộc mã Giải nén cục Vùng đệm Otomat đoán nhận từ mã Otomat so mẫu Mẫu P Tiền xử lý Nếu từ mã Độ mờ xuất mẫu P Mẫu P Hình 3.1 Phương pháp so mẫu miền nén có sử dụng otomat mờ Tiền xử lý Otomat so mẫu Cải tiến từ thuật toán so mẫu KMP - BM mờ giới thiệu Chương 1, thuật toán theo kiểu so mẫu miền nén đưa Giải pháp phù hợp với văn nén phương pháp nén mà có giải nén khối kí tự Ưu điểm quan Đọc ký tự thuộc mã Hình 3.2 Phương pháp so mẫu không giải mã trọng việc sử dụng thuật toán KMP-BM mờ liệu giải nén cục Nén liệu text thực chất trình mã hóa, thuật so với thuật toán kinh điển (như KMP, BM, ) không cần lưu toán tìm kiếm văn nén áp dụng văn mã hóa lại kí tự mà duyệt qua, đồng thời có tốc độ nhanh nhờ dạng khối kí tự Tuy nhiên, văn mã hóa, yêu cầu tính bước dịch chuyển xa khối liệu tìm kiếm, song việc cài đặt bảo mật quan trọng Mặc dù liệu giải nén cục lưu lại đơn giản Ý tưởng chung thuật toán so mẫu miền nén có giữ thời gian ngắn nhớ trong, song chắn sử dụng tiếp cận otomat mờ mô tả Hình 3.1 không sơ hở để lộ thông tin Để nâng cao tính bảo mật, tránh rò rỉ thông tin trình tìm kiếm, ý tưởng tìm kiếm xâu mẫu văn mã hóa mà không cần giải mã cục đưa Phương pháp gọi so mẫu không giải mã Khả có nhờ sử dụng tiếp cận otomat cho trình tìm kiếm Hình 3.2 mô tả ý tưởng chung phương pháp so mẫu không giải mã Trong Mục Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 48 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 49 3.2.3.3 trình bày ứng dụng cụ thể kiểu so mẫu không giải mã, áp cục vào vùng đệm áp dụng thuật toán theo tiếp cận mờ vùng dụng văn mã hóa mã đàn hồi (đây dạng mã dựa đệm Khi số vấn đề đặt là: tích đàn hồi giới thiệu [HN]) (i) Vùng đệm phải có độ dài đáp ứng yêu cầu: Với tiếp cận otomat mờ, thuật toán tìm kiếm xác văn nén mã hóa trình bày dễ dàng chuyển đổi sang tìm kiếm gần cách sử dụng otomat so mẫu xấp xỉ - Luôn đọc khối kí tự w độ dài m+1 (với m độ dài xâu mẫu) - Kích thước phải đủ lớn để vùng đệm không bị tràn gặp giới thiệu trường hợp mã nén tương ứng với đoạn văn dài (chẳng hạn 3.2 Tìm kiếm văn nén thuật toán Run - length, giải nén mã nén a256 256 kí 3.2.1 Các mô hình nén văn tự a liên tiếp) Nén liệu lĩnh vực lý thuyết thông tin mà mục đích (ii) Truy xuất đến phần tử vùng đệm nhanh, thuận tiện làm giảm thiểu khối lượng liệu lưu trữ trao đổi Nén Để đáp ứng yêu cầu (i), ta đưa hai điều kiện cho vùng đệm: liệu text thực chất trình mã hóa, chuyển thông báo - Điều kiện dưới: Dữ liệu vùng đệm phải có > m+1 kí tự (nếu nguồn (trong bảng chữ nguồn A) thành mã (trong bảng chữ mã chưa đọc hết văn bản) B) ngược lại trình giải mã Các dạng mã hóa block - - Điều kiện trên: Dữ liệu vùng đệm phải có độ dài nhỏ block, block - variable, variable - block variable - variable , kích thước vùng đệm, kích thước vùng đệm block - block thông báo nguồn mã thay đổi độ dài tối đa giải nén mã nén cộng với m+1 Ở ta Một cách phân loại khác phương pháp nén tĩnh động cần xem độ dài tối đa mã nén giải nén xác định Trong phương pháp tĩnh, ánh xạ từ tập thông báo nguồn đến tập từ mã cụ thể phương pháp giải nén khác xác định trước bắt đầu trình chuyển đổi nên với thông Để đáp ứng yêu cầu (ii) ta sử dụng cấu trúc liệu dạng hàng đợi báo cho trước tất lần xuất tương ứng với vòng tròn (circular queue) dựa vùng đệm mảng kí tự sau: mã Với phương pháp động, ánh xạ từ tập thông báo đến tập mã buffer: array[1 bur_len] of char; thay đổi theo thời gian Cho đến có nhiều thuật toán nén liệu buf_len = max_encode_len+m-1, với max_encode_len text đưa [15], nén Hufman, LZ, LZW, độ dài tối đa mở nén mã nén 3.2.2 Thuật toán tìm kiếm liệu nén dạng text Hàng đợi vòng tròn vùng đệm xác định trỏ: F Thuật toán theo tiếp cận mờ nêu mục 2.2 áp dụng trỏ vào đầu lấy phần tử queue, B trỏ vào đầu đưa phần tệp liệu nén mà không cần giải nén toàn Ý tưởng tử vào hàng đợi Độ dài hàng đợi (ký hiệu len_queue) số đọc tệp nén mở nén số mã nén, lưu kết giải nén phần tử hàng đợi, cụ thể tính theo công thức sau: Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 50 http://www.lrc-tnu.edu.vn 51 B F 1, B F len_queue = buf _ len _(F B 1) buf _ len B F 1, B F khối kí tự (như Hufman, LZ, LZW ) Với giải thuật nén mà Hoạt động queue liệu giải nén không dạng khối kí tự cần thay đổi nguyên tắc họat Phép định vị trỏ T hàng đợi sau bước nhảy qua k phần tử động thủ tục Decompress Có thể tăng thêm chế quản lý buffer Ở ta xét loại hình thức giải nén mà mã nén cho liệu mảng bit phải có trỏ quản lý tới bit xác định theo chiều kim đồng hồ công thức: T k, T k buf _ len Tk = T k buf _ len, T k buf _ len Thuật toán 3.1 Vào: Mẫu P độ dài m, dòng liệu S dạng nén, AP bảng Khi vùng đệm không thỏa mãn điều kiện dưới, cần phải bổ sung thêm đoạn liệu giải nén Ta đặt giả thiết phương pháp giải kí tự xuất mẫu P Ra: - Mảng apr lưu vị trí xuất mẫu văn sau mở nén nén xây dựng thủ tục Decompress (buffer, B, - Counter lưu số lần xuất mẫu P len_queue) theo yêu cầu sau: (Hình 3.3) + Đọc số mã nén, giải nén lưu vào buffer vị trí b 1 + Kết thúc thủ tục, B trỏ vào kí tự cuối ghi vào buffer F old F + Kết thúc thủ tục vùng đệm thỏa mãn điều kiện dưới, có nghĩa m+1 < len_queue buf_len F new = F old n2‟ m+1 Nếu đọc hết văn mà điều kiện chưa đáp ứng len_queue m+1 len_queue chấp nhận len_queue m+1 B (a) F F B (b) Hình 3.4 Queue trước (a) sau (b) bước nhảy n2‟ B m+1 m+1 len_queue len_queue Phương pháp : (Hình 3.4) Begin Decompress F := 0; B := 0; lenqueue := 0; counter := 0; B (a) (b) Hình 3.3 Queue trước (a) sau (b) thực thủ tục Decompress j := 0; n1 := 0; n2 := 1; repeat F := F n2; j := j + n2; if len_queue then n1 := 0; n1’ := TFuzz (n1, buffer [F]); Nén liệu text thực chất trình mã hóa, thuật n2’ := 1; toán tìm kiếm văn nén áp dụng văn mã hóa if n1’ = m then dạng khối kí tự, thủ tục giải nén Decompress thay begin thủ tục giải mã 3.3.2 Mã đàn hồi counter: =counter + 1; Trong mã thông thường, tích hai từ phép đặt từ cạnh apr [counterr]:=j - m+1; end tập X mã từ có phân tích thành tích từ mã else if n1’ < m and n1’ < n1 then X phân tích Đã có nhiều phương pháp mở begin rộng khái niệm tích sử dụng kỹ thuật khác để từ đề xuất xây t:=F (m-n1’) dựng lớp mã Một hướng nghiên cứu mở rộng if t > B then return; lý thuyết mã sử dụng yếu tố điều khiển để đề xuất tích if buffer[t] Ap then n2’:= + m - n1’; từ mã, nhằm xây dựng lớp mã Những hình thức mã mã end; zigzag, mã điều khiển theo tích trộn nhiều tác giả giới len_queue := len_queue - n2’; nghiên cứu, mã đàn hồi (spring product) giới thiệu lần n1:=n1’; n2:= n2’; [16] Ở ta giới hạn xem xét ngôn ngữ xây dựng từ bảng chữ nhị until len_queue =n; 26 return (counter); 27 28 29 0 30 1 31 if f=m then counter:=counter+1; endif; endif; Ví dụ 3.7 Với mẫu P=ababa, xâu đích S=aacdababab mã hóa thành Y a b b b b Y = 0000110111000100011001001100010 a c a a b a 3.3.4 Tìm kiếm văn mã hóa hai tầng Quá trình duyệt Y để thống kê tần suất xuất mẫu P sau: Khởi đầu 1 j Yj AoSeek(P1,j) q=1(q,Yj) f=2‟(f,q) counter 1 0 1 13 Trong hệ thống bảo vệ liệu cá nhân, việc sử dụng mã hóa đàn hồi giải thuật so mẫu không giải mã đáp ứng tốt nhu cầu bảo mật mà tìm thấy thông tin cần thiết Tuy nhiên, để nâng cao mức độ bảo mật, tùy thuộc nhu cầu ứng dụng sử dụng sản phẩm mã hóa liệu chất lượng cao sẵn có, phần tác giả đưa giải pháp mã hóa hai tầng Giả sử C1 hàm mã hóa theo mã đàn hồi với hàm giải mã D1, C2 hàm mã hóa hàm nén theo giải thuật (như hệ mã đối xứng AES, IDEA, SEFER; hệ mã công khai RSA [16] [17]; nén 14 1 15 16 17 0 18 1 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Huffman, LXW, [15], có hàm giải mã D2 Quá trình mã hóa hai tầng http://www.lrc-tnu.edu.vn 62 mô tả Hình 3.7 Hình 3.8 trình giải mã Khi đó, giải thuật tìm kiếm mẫu văn mã hóa mã hai tầng thể qua sơ đồ Hình 2.9 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 63 Bản rõ X C1 C2 Y1 = C1(X) Bản mã Y = C2(C1(X)) Hình 2.7 Quá trình mã hóa hai tầng D1 Bản rõ X= D1(D2(Y)) Luận văn tìm hiểu otomat mờ, số thuật toán tìm kiếm D2 Y1 = D2(Y) Bản mã Y Hình 2.8 Quá trình giải mã hai tầng Y: Văn mã hóa hai tầng giới thiệu hai toán so mẫu xấp xỉ - xác Trình bày thuật toán so mẫu hai toán dựa vào độ tương tự hai xâu theo mô hình "lỗi" kinh điển Y1: Văn mã hóa C1 Giải mã Y D2 KẾT LUẬN Đọc ký tự thuộc mã Otomat đoán nhận từ mã Ngoài ra, luận văn trình bày thuật toán so mẫu cho văn nén mã hoá dạng text thu kết Các kết đạt luận văn: Trình bày tổng quan tìm kiếm mẫu văn bản, từ đưa dạng tìm kiếm mẫu Giới thiệu hệ mờ, ý tưởng chung tiếp cận otomat mờ Sau Nếu từ mã Otomat so mẫu Mẫu P đưa số thuật toán so mẫu KMP, BM Trình bày thuật toán so mẫu xác xấp xỉ theo tiếp cận otomat mờ thuật toán tìm kiếm mẫu văn nén Tiền xử lý mã hoá Độ mờ xuất mẫu P Hình 2.9 Quá trình tìm kiếm mẫu văn mã hóa hai tầng 3.4 Kết luận chương Một số hạn chế luận văn: Chưa cài đặt chương trình tìm kiếm mẫu văn nén mã hoá Chương trình bày kết luận văn vấn đề tìm kiếm mẫu môi trường văn nén mã hóa, bao gồm: Thuật toán đưa chưa tối ưu Trình bày luận văn lủng củng - Giới thiệu sơ đồ tìm kiếm tổng quát - Trình bày thuật toán theo kiểu so mẫu miền nén, cải tiến từ thuật toán KMP-BM (xem mục 2.4), để áp dụng cho văn nén dạng khối kí tự Với giải thuật nén mà liệu giải nén không dạng khối kí tự, cải biên thuật toán cách thay đổi nguyên tắc Hướng nghiên cứu tiếp theo: Cài đặt chương trình tìm kiếm mẫu văn nén, mã hoá ứng dụng chương trình tìm kiếm thông tin Giới thiệu thuật toán tối ưu họat động thủ tục giải nén Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 64 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 65 Do thời gian khả có hạn, luận văn thiếu sót nhiều, em TÀI LIỆU THAM KHẢO mong nhận góp ý, dẫn thêm Thầy Cô, bạn bè để Tiếng Anh em xây dựng ứng dụng hoàn thiện Một lần em xin [1] Gonzalo Navarro, Mathieu Raffinot (2000), Fast and Flexible chân thành cảm ơn Thầy hướng dẫn PGS.TS Đoàn Văn Ban, Thầy String Matching by Combining Bit - Parallelism and Suffix Cô khoa tạo điều kiện thuận lợi để em hoàn thành Automata, ACM Journal of Experimental Algorithmics (JEA) luận văn thời hạn [2] Gonzalo Navarro, Mathieu Raffinot (2002), Flexible Pattern Matching in Strings, Cambridge University Press, ISBN 0-521-81307-7 [3] Heikki Hyyro (2002), A Bit - Vector Algorithm for Computing Levenshtein and Damerau Edit Distances, Proceedings of the Prague Stringology Conference '02, pp 44-54 [4] Aho A.V.(1992), Algorithms for finding patterns in strings, Chapter of Jan Van Leeuwen (ed.), Handbook of Theoretical Computer Science "Algorithms and Complexity", The MIT Press, pp 255-300 [5] Christian Charras, Thierry Lecroq (2000), Handbook of Exact Stringmatching Algorithms Tiếng Việt [6] Phan Trung Huy Nguyễn Quý Khang (2002), "A New Algorithm For LCS Problem", Kỷ yếu Hội nghị Toán học Toàn quốc 9/2002 [7] Robert Sedgewick (1994), Cẩm nang thuật toán, Tập 1: Các thuật toán thông dụng, NXB Khoa học Kỹ thuật, tr 324 - 351 [8] Vũ Thành Nam, Phan Trung Huy, Nguyễn Thị Thanh Huyền (2005), Mã tích đàn hồi tìm kiếm văn mã hoá sử dụng thuật toán so mẫu theo tiếp cận mờ, Báo cáo khoa học Hội nghị Ứng dụng toán học toàn quốc lần 2, Hà Nội, 12/2005 [9] Nguyễn Thị Thanh Huyền (2006), Luận án Tìm kiếm mờ, phân cụm mờ ứng dụng mạng trường Đại học Bách khoa Hà Nội Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 66 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 67 [...]... của văn bản Nén dữ liệu text thực chất là một quá trình mã hoá, chuyển các thông báo nguồn (trong bảng chữ nguồn A) thành các bản mã (trong bản chữ mã B) và ngược lại là quá trình giải mã Vì vậy thuật toán tìm kiếm trên văn bản nén có thể áp dụng đối với văn bản mã hoá dạng khối ký tự Tuy nhiên, do yêu cầu bảo mật, đối với những văn bản mã hoá, cần có những giải thuật tìm kiếm đảm bảo không bị rò rỉ thông. .. một mã nén tương ứng với một đoạn văn bản dài (chẳng hạn 3.2 Tìm kiếm trên văn bản nén như trong thuật toán Run - length, giải nén mã nén a256 sẽ được 256 kí 3.2.1 Các mô hình nén văn bản tự a liên tiếp) Nén dữ liệu là một lĩnh vực của lý thuyết thông tin mà mục đích (ii) Truy xuất đến các phần tử trên vùng đệm nhanh, thuận tiện chính là làm giảm thiểu khối lượng dữ liệu được lưu trữ và trao đổi Nén Để... n, chưa tính khâu tiền xử lý cho cấu trúc bảng chuyển Chương 3 TÌM KIẾM MẪU TRONG VĂN BẢN NÉN VÀ của otomat MÃ HOÁ Số khối được xét với mọi t là: m+(m-1) + + 1 = m(m+1)/2 Vì mẫu đưa vào thường ngắn từ 3 đến 30 ký tự nên giá trị này có thể coi là 3.1 Tiếp cận tìm kiếm tổng quát trên văn bản nén và mã hoá Khi tìm kiếm trên văn bản nén hoặc mã hoá, bài toán bơ bản đặt ra hằng số C Do đó độ phức tạp thời... Decompress (buffer, B, len_queue); 3.3 Tìm kiếm trên văn bản mã hóa 3.3.1 Tìm kiếm trên văn bản mã hóa dạng khối kí tự if n2 > 1 then n1 := 0; n1’ := TFuzz (n1, buffer [F]); Nén dữ liệu text thực chất là một quá trình mã hóa, vì vậy thuật n2’ := 1; toán tìm kiếm trên văn bản nén có thể áp dụng đối với văn bản mã hóa if n1’ = m then dạng khối kí tự, trong đó thủ tục giải nén Decompress được thay thế begin... ngắn trên bộ nhớ trong, song không thể chắc chắn đây sử dụng tiếp cận otomat mờ được mô tả trong Hình 3.1 không là một sơ hở để lộ thông tin Để nâng cao tính bảo mật, tránh rò rỉ thông tin ngay trong quá trình tìm kiếm, ý tưởng tìm kiếm xâu mẫu trong văn bản mã hóa mà không cần giải mã cục bộ được đưa ra Phương pháp này được gọi là so mẫu không giải mã Khả năng này có được chính là nhờ sử dụng tiếp cận... kiếm đảm bảo không bị rò rỉ thông tin ngay trong quá trình tìm kiếm A A ( x, A ( x)) x X , A ( x) : X 0,1 Trong đó µA() được gọi là hàm thuộc của tập mờ 1.3 Ý tưởng chung của tiếp cận otomat mờ Khi tìm kiếm chính xác sự xuất hiện của mẫu P trong văn bản T, câu trả lời sẽ là “có” hoặc “không” Cách nhìn mờ cho phép trả về kết quả là "độ mờ xuất hiện mẫu" (một cách hiểu nôm na là “mức độ xuất... mờ trên vùng dụng trên văn bản mã hóa bởi mã đàn hồi (đây là một dạng mã dựa trên đệm này Khi đó một số vấn đề đặt ra là: tích đàn hồi được giới thiệu trong [HN]) (i) Vùng đệm phải có độ dài đáp ứng được yêu cầu: Với tiếp cận otomat mờ, các thuật toán tìm kiếm chính xác trên văn bản nén và mã hóa được trình bày ở đây có thể dễ dàng chuyển đổi sang tìm kiếm gần đúng bằng cách sử dụng những otomat so mẫu... những văn bản nén, mặc dù đem lại hiệu quả rõ rệt về mặt bản ghi trong cơ sở dữ liệu, mà phải bắt đầu lại quá trình tìm mẫu thì quá lưu trữ, quản lý, tổ chức và chuyển tải, song lại làm mất đi phần lớn cấu là con số không nhỏ: cỡ k.T, với k là số bản ghi cần duyệt trúc của dữ liệu, dẫn đến khó khăn cho việc tìm kiếm và trích rút thông tin Cách đơn giản nhất rất tốn thời gian (và khó khả thi với những văn. .. variable - block và variable - variable , trong đó hoặc bằng kích thước của vùng đệm, trong đó kích thước của vùng đệm block - block là các thông báo nguồn và các bản mã đều có thể thay đổi bằng độ dài tối đa khi giải nén của một mã nén cộng với m+1 Ở đây ta Một cách phân loại khác chỉ ra 2 phương pháp nén là tĩnh và động cần xem như độ dài tối đa của một mã nén khi giải nén đã được xác định Trong phương... những văn bản đã được nén bằng bất kỳ phương pháp nén nào mà có giải nén là một khối kí tự Ưu điểm quan Đọc một ký tự thuộc bản mã Hình 3.2 Phương pháp so mẫu không giải mã trọng của việc sử dụng thuật toán KMP-BM mờ trên dữ liệu giải nén cục Nén dữ liệu text thực chất là một quá trình mã hóa, vì vậy thuật bộ so với các thuật toán kinh điển (như KMP, BM, ) là không cần lưu toán tìm kiếm trên văn bản nén