Nghiên cứu phương pháp so sánh xâu xấp xỉ và ứng dụng

60 481 0
Nghiên cứu phương pháp so sánh xâu xấp xỉ và ứng dụng

Đ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

i LỜI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiên cứu luận văn trung thực chưa sử dụng để bảo vệ học hàm, học vị Tôi xin cam đoan: Mọi giúp đỡ cho việc thực luận văn cám ơn, thông tin trích dẫn luận văn rõ nguồn gốc Thái Nguyên, ngày 18 tháng năm 2015 TÁC GIẢ LUẬN VĂN Nguyễn Thanh Hùng ii LỜI CẢM ƠN Trong thời gian nghiên cứu thực luận văn này, em may mắn thầy cô bảo, dìu dắt gia đình, bạn bè quan tâm, động viên Em xin bày tỏ lời cảm ơn sâu sắc tới tất tập thể, cá nhân tạo điều kiện giúp đỡ em suốt trình thực nghiên cứu luận văn Trước hết em xin trân trọng cảm ơn Ban giám hiệu trường Đại học Công nghệ thông tin truyền thông, Phòng Đào tạo Khoa Sau đại học nhà trường thầy cô giáo, người trang bị kiến thức cho em suốt trình học tập Với lòng biết ơn chân thành sâu sắc nhất, em xin trân trọng cảm ơn thầy giáo – PGS.TS Nguyễn Trí Thành, giảng viên khoa Công nghệ thông tin – Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội; người thầy trực tiếp bảo, hướng dẫn khoa học giúp đỡ em suốt trình nghiên cứu, hoàn thành luận văn Xin chân thành cảm ơn tất bạn bè, đồng nghiệp động viên, giúp đỡ nhiệt tình đóng góp nhiều ý kiến quý báu để em hoàn thành luận văn Do thời gian nghiên cứu có hạn, luận văn em hẳn tránh khỏi sơ suất, thiếu sót, em mong nhận đóng góp thầy cô giáo toàn thể bạn đọc Xin trân trọng cảm ơn! Thái Nguyên, ngày 18 tháng năm 2015 TÁC GIẢ LUẬN VĂN Nguyễn Thanh Hùng iii MỤC LỤC MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ XẤP XỈ 1.1 Khái niệm xấp xỉ 1.1.1 Đối sánh chuỗi 1.1.2 Đối sánh xác 1.2.3 Đối sánh chuỗi xấp xỉ 1.2 Nội dung ý nghĩa ứng dụng 10 1.2.1 Nội dung 10 1.2.2 Ý nghĩa ứng dụng 12 1.3 Kết luận chương 12 CHƯƠNG 2: TÌM HIỂU MỘT SỐ THUẬT TOÁN 14 2.1 Thuật toán Galil-Park 14 2.2 Thuật toán Ukkonen-Wood số cải tiến 18 2.3 Thuật toán Boyer-Moore 21 2.4 Thuật toán đối sánh xâu vòng tròn gần 29 2.5 Kết luận chương 36 CHƯƠNG 3: THỰC NGHIỆM VÀ ỨNG DỤNG 38 3.1 Chương trình ứng dụng asmf-master 38 3.1.1 Giới thiệu chung 38 3.1.2 Các hàm asmf-master 39 3.1.3 Thiết lập môi trường cài đặt chạy ứng dụng 40 3.1.4 Thực nghiệm với chương trình asmf-master 41 3.2 Thực nghiệm, ứng dụng toán sửa lỗi tả 43 3.2.1 Giới thiệu ứng dụng sửa lỗi tả 43 3.2.2 Thực nghiệm ứng dụng 46 3.3 Thực nghiệm, ứng dụng toán gợi ý truy vấn từ điển 47 3.3.1 Giới thiệu ứng dụng gợi ý truy vấn từ điển 47 3.3.2 Thực nghiệm ứng dụng 48 3.4 Nhận xét 51 3.5 Kết luận chương 52 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 iv DANH MỤC HÌNH VẼ Hình 1.1: Cây hậu tố cho S= "xabxac" 10 Hình 1.2: Hoạt động thuật toán Boyer-Moore 11 Hình 2.1: hậu tố cho S= "xabxac" 18 Hình 2.2: Cây hậu tố cho chuỗi "xabxac$" 18 Hình 2.3: Cây bao hàm cho chuỗi "xabxa$" 19 Hình 2.4: Cây bao chùm cho chuỗi axabxb 20 Hình 2.5 : Cây biểu diễn hậu tố cho chuỗi 21 Hình 3.1: Giao diện ứng dụng sửa lỗi tả 45 Hình 3.2: Sửa từ cho từ sai 46 Hình 3.3: Thực nghiệm với từ khóa 46 Hình 3.4: Thực nghiệm với từ "Cổng" 47 Hình 3.5: Thực nghiệm với từ "Tỏa"……………………………………… 47 Hình 3.6: Hệ thống gợi ý từ điển ………………………………………… 47 Hình 3.7: Thực nghiệm hệ thống gợi ý với từ khóa "Gợi" 49 Hình 3.8: Thực nghiệm với từ khóa "Tổng" 50 Hình 3.9: thực nghiệm với từ khóa "Trường" 50 Hình 3.10: Thực nghiệm với từ khóa "Việt" 51 MỞ ĐẦU Lý chọn đề tài 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ẽ đó, toán tìm kiếm văn (text searching) toá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 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 toá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 gọi "truy vấn" toá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 đáp ứng Trong nhiều trường hợp, toá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 toà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 hoàn toàn xác văn truy vấn [1] 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à 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 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) [2] So sánh thực nghiệm thời gian chạy thuật toán xấp xỉ chuỗi kết hợp cho k vấn đề khác trình bày Với chuỗi mô hình, chuỗi văn bản, số nguyên k, nhiệm vụ để tìm tất lần xuất gần mô hình văn với k khác biệt (chèn thêm, xóa, thay đổi) Xem xét bảy thuật toán dựa phương pháp tiếp cận khác bao gồm lập trình động, Boyer-Moore chuỗi kết hợp, hậu tố bị tự động, phân bố nhân vật Nó không số thuật toán tốt cho tất giá trị thông số vấn đề, khác biệt tốc độ phương pháp đáng kể Xuất phát từ yêu cầu lý trên, em lựa chọn đề tài luận văn là: "Nghiên cứu phương pháp so sánh xâu xấp xỉ ứng dụng" Luận văn định hướng nghiên cứu số thuật toán so sánh mẫu xâu xấp xỉ, tập trung vào số thuật toán Galil Park, Ukkonen Wood Boyer-Moore, thuật toán xâu vòng tròn gần với độ phức tạp hàm tuyến tính tiến hành thực nghiệm ứng dụng Mục tiêu nghiên cứu - Nghiên cứu để hiểu khái niệm đặc trưng liên quan tới toán so sánh xâu xấp xỉ - Nghiên cứu lớp thuật toán so sánh xâu xấp xỉ - Khảo sát, phân tích số thuật toán bước tiến hóa hiệu suất (nghiên cứu khả ý tưởng cải tiến thuật toán) - Khảo sát chương trình ứng dụng asmf-master để khai thác vào trường hợp luận văn - Cài đặt thử nghiệm tìm vị trí câu hỏi nội dung, kết trả máy tìm kiếm Đối tượng phạm vi nghiên cứu Nghiên cứu số thuật toán so sánh xâu xấp xỉ miền liệu văn Tiếp đó, luận văn thi hành số thuật toán họ thuật toán nói trên, cài đặt thử nghiệm tìm kiếm Ý nghĩa thực tiễn luận văn Nghiên cứu thuật toán so sánh xâu xấp xỉ ứng dụng chúng vào hệ thống tìm kiếm văn Vì vậy, có ý nghĩa lớn lý thuyết thực tiễn Phương pháp nghiên cứu - Phương pháp nghiên cứu tài liệu, phân tích, tổng hợp - Phương pháp thực nghiệm đối chứng qua chương trình thử nghiệm CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ XẤP XỈ Trong chương trình bày số số khái niệm xấp xỉ, khái quát số thuật toán đối sánh mẫu xấp xỉ, giải pháp thực cho áp dụng ứng dụng cho thuật toán đối sánh chuỗi xấp xỉ mà tác giả nghiên cứu thời gian vừa qua 1.1 Khái niệm xấp xỉ Khái niệm xấp xỉ luận văn này, sử dụng đồng nghĩa với khái niệm đối sánh chuỗi xấp xỉ Luận văn trình bày số giải thuật đối sánh chuỗi xấp xỉ mà tác giả nghiên cứu tìm hiểu ứng dụng thực tế tìm sửa từ lỗi, gợi ý tìm kiếm hệ thống tìm kiếm từ điển Đối sánh thể việc so sánh chuỗi T chuỗi P Các kỹ thuật đối sánh ứng dụng nhiều lĩnh vực khác tin học Trong luận văn này, kỹ thuật sử dụng để phát từ sai tả sử lại từ sai 1.1.1 Đối sánh chuỗi Đối sánh thể việc so sánh chuỗi T chuỗi P Các ký tự T so sánh với ký tự P Với phương pháp so sánh khác trả lời yếu tố tương quan T P theo góc độ thuật toán cụ thể Ví đối sánh theo thao tác chuyển ký tự T để T chuyển thành P ngược lại, phương pháp thể độ đo khoảng đối sánh Ngoài nhiều phương pháp đối sánh khác cho phép đối sánh T P theo n_gram, đối sánh mẫu theo tiền tố, hậu tố … Bài toán đối sánh chuỗi kỹ thuật thực tìm kiếm xuất chuỗi T chuỗi P Cho chuỗi T chuỗi P, sử dụng giải thuật F tìm kiếm trả kết R vị trí chuỗi T xuất chuỗi P R = F(T,P) Như thấy kết trả giải thuật F phụ thuộc vào: - Cung cấp liệu đầu vào T: Nếu cung cấp liệu T không tốt cho kết không mong đợi, trí kết - Cung cấp liệu xử lý P: Chuỗi cần xử lý để đưa kết xem có xuất T P hay không Phụ thuộc vào nguồn cung cấp P Nếu nguồn cung cấp P không chứa chuỗi T việc đối sánh trả kết không tìm thấy kết mà nguồn T cung cấp - Bản thân giải thuật F: Giải thuật thực phương pháp đối sánh T với P trả kết theo yêu cầu Giải thuật ảnh hưởng trực tiếp đến kết Tùy thuộc vào cách tiếp cận mà có kết khác Nếu giải thuật tiếp cận theo hướng đối sánh xác cần phải thực sánh chuỗi T chuỗi P để trả lời câu hỏi P có trùng T hay không Các kỹ thuật đối sánh phân thành hai loại kỹ thuật so sánh đối sánh xác, kỹ thuật lại so sánh đối sánh không xác (xấp xỉ) Trong luận văn đề cập tới thuật toán xấp xỉ 1.1.2 Đối sánh xác Tìm xác phương pháp trả lời câu hỏi chuỗi T có xác tồn chuỗi P hay không? Nếu có vị trí xuất T có P [3] Khái niệm trùng hiểu theo ý nghĩa T sánh với chuỗi P theo thứ tự ký tự, độ dài T chuỗi phải Ví dụ : Cho chuỗi T="Các" chuỗi P ="Chào bạn Chúc bạn ngày tốt lành" Như kết đối sánh trả thứ tự vị trí xuất T P Đối sánh xác đưa số ý nghĩa thực hệ thống tìm kiếm cần trả kết xác Hệ thống trả lời câu hỏi T có thật tồn P hay không? Với phương pháp tìm kiếm xác đủ mạnh để có hiệu tìm kiếm tốt Ứng dụng tìm kiếm xác: - Trong máy tìm kiếm: Trả lời xác câu hỏi từ khóa k cung cấp Máy tìm kiếm thực tìm kiếm hệ thống liệu trả tài liệu có chứa từ khóa k cung cấp Nếu kết - Trong xử lý văn bản: Trả lời câu hỏi từ khóa k có tổn văn hay không? - Các phần mềm diệt virus: Có thể chứng minh tồn đoạn mã code độc file cần quét Chương trình thực tìm kiếm Virus thực loại bỏ virus phát có file nghi bị nhiễm - Trong hệ thống tìm kiếm theo từ điển: Xây dựng hệ thống tra cứu từ điển Người dùng cung cấp từ hệ thống thực tìm kiếm từ mà người dùng cung cấp để đưa định nghĩa mô tả cho từ khóa Ví dụ: Cho chuỗi T="cac" chuỗi P = "Chào bạn Chúc bạn ngày tốt lành" Với hệ thống tìm kiếm phát triển mạnh mẽ nay, máy truy tìm thông tin ngày cải tiến hiệu quả, hệ thống có sử dụng phương pháp đối sánh chuỗi Việc tìm cách thức tìm kiếm xác tỏ hiệu số trường hợp cụ thể như: Hệ thống tìm kiếm mong muốn trả nhiều giá trị bỏ qua điều kiện xác hoàn toàn mà tập chung vào yếu tố liên quan tới, gần đúng, xấp xỉ … Để giải yêu cầu tác giả giới thiệu số giải thuật hỗ trợ tìm kiếm xấp xỉ 1.2.3 Đối sánh chuỗi xấp xỉ Như nói mục trước, việc hệ thống tìm kiếm trả nhiều kết Với kết có phần yếu tố tương tự liên quan Ngày việc cung cấp phương pháp đối sánh mẫu xấp xỉ ngày quan tâm mang kết tốt cho người sử dụng hệ thống 42 văn text.txt: abebeda k: kết quả: Elapsed time of acsmf_simple_ms: 0.000201 Occ: - Thực nghiệm 02: Thực đối sánh chuỗi "baabbeceabadef" với chuỗi "ab" Lệnh: /example text.txt key.txt văn key.txt: ab văn text.txt: baabbeceabadef K= kết quả: The occurrences vector is resized to Elapsed time of acsmf_simple_ms: 0.000250 Occ: Position 10 - Thực nghiệm 03: Với từ khóa "abaabbeceabadefabcabced" Lệnh: /example text.txt key.txt văn key.txt: abc văn text.txt: abaabbeceabadefabcabced k =1 "abc" đối sánh với 43 kết quả: The occurrences vector is resized to 12 Elapsed time of acsmf_simple_ms: 0.000262 Occ: 12 Postistion 16 17 18 14 15 19 3.2 Thực nghiệm, ứng dụng toán sửa lỗi tả Với kết thực nghiệm hàm exmple tác giả tiến hành xây dựng hệ thống sửa lỗi tả gợi ý truy vấn từ điển áp dụng kết thuật toán asmf-master Các hệ thống tác giả xây dựng web với ngôn ngữ PHP Để thực nghiệm hàm PHP tác giả tạo môi trường thực thi file C++ Trên môi trường để cung cấp liệu đầu vào cho hàm example tiến hành thực thi để nhận kết đầu cho ứng tác giả Tác giả thực thay đổi lại cấu trúc xuất liệu cho hàm example để hệ thống xử lý thuận tiện 3.2.1 Giới thiệu ứng dụng sửa lỗi tả Lỗi tả xuất văn hình thành trình soạn thảo chỉnh sửa văn Việc tồn lỗi hoàn toàn Cần có hệ thống thực kiểm tra từ văn T gõ có lỗi hay không điều cần thiết Để thực điều cần phải tìm từ có lỗi sửa chúng Từ lỗi từ từ điển hành, từ không định nghĩa hệ thống từ điển ngôn ngữ cụ thể Dựa vào đặc điểm tác giả tiến hành xây dựng hệ thống sửa lỗi tả ý tưởng giải thuật đối sánh xấp xỉ Hệ thống bao gồm thành phần từ điển liệu, hệ thống kiểm tra sửa lỗi tả Với thành phần từ điển liệu, tác giả cung cấp tập hợp từ tiếng việt (xấp xỉ gần 2000 từ làm liệu mẫu) với liệu từ điển 44 văn cần kiểm tra tồn từ từ điển hệ thống tiến hành tìm từ có số xấp xỉ gần để sửa cho từ bị sai Thành phần kiểm tra sửa lỗi có hai chức chức kiểm tra từ có hay không (có xuất từ từ điển không) chức sửa từ từ bị sai Bảng danh mục từ tác giả xây dựng làm từ điển để kiểm tra làm từ điển gợi ý từ: * Giải pháp cho kiểm tra từ sai: Tác giả sử dụng thuật toán asmf-master với đối truyền vào xác định sẵn để trả lời câu hỏi từ có bị sai hay không? Giải pháp trình bày theo giải thuật sau: - Bước 1: Chọn đối số từ từ điển gọi T, từ cần kiểm tra gọi P, chọn k-mismatch=0; - Bước 2: Thực hàm example với đối - Bước 3: Nhận kết trả hàm số lần xuất + Nếu trả Occ >0 => từ T trùng với P, kết luận T không sai + Nếu Occ = thực Bước với từ + Nếu thực từ điền không tìm từ P (từ từ điển) đối sánh với T, kết luận T từ sai Trong trình áp dụng thuật toán asmf-master, tác giả tận dụng việc kiểm tra từ tránh cho việc kiểm tra nhiều dài dẫn tới hiệu hệ thống không đáp ứng tốt Tác giả sử dụng thêm số ký thuật nhỏ bao gồm tìm với từ có độ tương tự từ 75% trở lên theo thuật toán similar text PHP hỗ trợ sẵn * Giải pháp cho việc sửa đổi từ sai: 45 Sau có kết kiểm tra tả từ cung cấp T cần phải sửa, hệ thống thực tìm từ phù hợp (gần với T) để tiến hành thay T Để thực yêu cầu tác giả xây dựng giải pháp đơn giản sau: - Dựa việc kiểm tra kết từ có tồn từ điển hay không Khi đối sánh tác giả thực thêm trả số xuất độ xấp xỉ theo thuật toán similar text: Bước 1: Cung cấp từ P từ điển có độ giống từ 75% trở lên Bước 2: thực tìm kiếm từ danh mục từ P bước cho có số similar (giống nhau) lớn (chỉ số thể độ tương tự không tương tự, 100 giống hoàn toàn, độ tương tự cao giống nhau) Bước 3: Cung cấp từ trả bước (Các kết giải thuật tìm từ sai sửa đổi từ trình bày mục sau) Thực cài đặt giải pháp trên, tác giả sử dụng ngôn ngữ lập trình PHP để thực giải thuật Các kết hiển thị điều khiển không qua môi trường ứng dụng web Tác giả cung cấp giao diện thể ứng dụng sửa lỗi tả qua hình Hình 3.1: Giao diện ứng dụng sửa lỗi tả 46 Giao diện hình 3.1 với chức sửa lỗi tả cho từ Ô văn thể từ cần gõ Nút nhấn thực hai giải pháp với trình tự kiểm tra từ sai, có phát từ sai hệ thống tiến hành sửa cung cấp từ sửa tương tứng Nếu kết kiểm tra hiển thị số Từ khóa kiểm tra sửa lại Nếu trả hệ thống tiến hành cung cấp từ cần sửa Hình 3.2: Sửa từ cho từ sai Trong hình 3.2 thể từ thực nghiệm với từ hệ thống hệ thống trả từ cần sửa Các kết thực nghiệm phần sau 3.2.2 Thực nghiệm ứng dụng Để thực nghiệm hệ thống tác giả thiết lập cấu hình hệ thống chạy môi trường web cục Địa máy http://localhost/Hung/asmf/Test.php - Kết thực nghiệm với trường hợp từ 01: Hình 3.3: Thực nghiệm với từ khóa tính cục bộ: 47 - Kết thực nghiệm với trường hợp từ 02: Hình 3.4: Thực nghiệm với từ “Cổng” - Kết thực nghiệm với trường hợp từ 03: thực nghiệm với từ khóa “tỏa” kết xem hình 3.5 Hệ thống tìm từ thay từ “tỏa” từ “Thỏa” Hình 3.5: Thực nghiệm với từ khóa “Tỏa” 3.3 Thực nghiệm, ứng dụng toán gợi ý truy vấn từ điển 3.3.1 Giới thiệu ứng dụng gợi ý truy vấn từ điển Với ứng dụng hệ thống gợi ý truy vấn từ điển, tác giả xây dựng hệ thống thực nghiệm với công việc cụ thể sau: - Xây dựng từ từ điển: Tiến hành thu thuật khoảng 1000 từ (không từ trùng nhau) Đây hệ thống từ làm từ điển cho phép gợi ý từ tương ứng với cung cấp dựa giao diện người dùng 48 - Xây dựng hệ thống gợi ý dựa giải thuật asmf-master: Để thực việc cung cấp từ gợi ý dựa từ nhận giao diện người dùng tác giả tiến hành giải pháp theo thuật toán cho đây: + Bước 1: Nhận từ T từ giao diện + Bước 2: thực đối sánh chuỗi T với từ P thệ thống từ điển dùng thuật toán asmf-master + Bước 3: Với kết đối sánh tác giả sử dụng hàm similar thực tìm từ để gợi ý cho từ gõ 3.3.2 Thực nghiệm ứng dụng Hệ thống gợi ý từ điển tác giả xây dựng với kết giao diện hình 3.6 Với giao diện cho phép người sử dụng thực cung cấp từ gợi ý ô liệu, nút nhấn dùng để thực gọi hàm gợi ý hệ thống Hệ thống cung cấp từ gợi ý Chương trình ứng dụng cài đặt thuật toán theo mã vòng cho phép đối sánh chuỗi xấp xỉ theo k-mismatch Thuật toán đối sánh chuỗi P chuỗi T với k=0 dẫn đối sánh trùng khớp Thuật toán sử dụng để thực đối sánh xấp xỉ làm cho thực nghiệm luận văn “gợi ý từ điển” Cần phải từ lựa chọn từ điển phải xấp xỉ với từ cung cấp Mỗi lần cung cấp từ từ điển để so sánh từ cung cấp từ giao diện (nếu xấp xỉ tiến hành ghi lại từ kết cần gợi ý) - Theo giao diện hình 3.6, tác giả thực nghiệm với từ khóa "Hoa" Sau thực hệ thống tiến hành tìm kiếm tổ hợp từ để gợi ý Kết giao diện thẻ tìm thấy từ để gợi ý "Hoa, Hoan, Khoa", từ gần với từ khóa cung cấp 49 Hình 3.6: Hệ thống gợi ý từ điển - Thực nghiệm với từ khóa "Gợi" Sau thực nghiệm hệ thống tìm từ tương ứng với từ gợi "gối, gọi, gợi, gửi, lợi" (Hình 3.7) Hình 3.7 Thực nghiệm hệ thống gợi ý với từ khóa “Gợi” - Thực nghiệm hệ thống với từ “Tổng”: hệ thống thực cung cấp từ kết gợi ý tương ứng với từ "Tổng": "ổn, thống, tổ, tống, trống, trọng, từng" 50 Hình 3.8: Thực nghiệm với từ khóa “Tổng” - Thực nghiệm với từ khóa "trường": Hệ thống cung cấp kết gợi ý "Đường, phường, thường, trưng, trường, trưởng, tưởng, tượng" Hình 3.9: thực nghiệm với từ khóa “Trường” - Thực nghiệm hệ thống với từ khóa "Việt" Sau thực từ khóa Việt Hệ thống gợi ý từ khóa có hệ thống "biệt, kiệt, liệt, nhiệt, triệt, vệ, việc, viện, việt" 51 Hình 3.10: Thực nghiệm với từ khóa "Việt" 3.4 Nhận xét Qua trình tìm hiểu thực nghiệm thuật toán đối sánh mẫu xấp xỉ, tác giả tiến hành xây dựng hệ thống sửa lỗi tả hệ thống gợi ý từ điển Để xây dựng hệ thống tác giả dựa thuật toán asmf-master với số nhận xét sau hàm này: - Hàm đối sánh xấp xỉ asmf-master cho phép đối sánh hai chuỗi T P với kmismatch (k bất kỳ) - Khi chọn k–mismatch thực thuật toán đối sánh xấp xỉ T P Kết T xuất P T từ với giả sử P từ từ điển Như hệ thống tiến hành đối sánh T với tập liệu từ P Nếu kết không tìm thấy xuất T P, dẫn tới kết T từ sai tiến hành sửa đổi từ - Vấn đề sửa đổi từ: Hệ thống sau kiểm tra từ sai tiến hành tìm từ hệ thống từ điển để sửa đổi cho từ bị sai Tác giả áp dụng thêm hàm Similar text để tìm từ có độ đo tương đồng để sửa Độ đo tương đồng thể số tương đồng hai chuỗi, độ tương đồng 100 hai chuỗi trùng nhau, 52 tương đồng nào, độ tương đồng cao hai chuỗi giống - Vấn đề gợi ý truy vấn từ điển: Thuật toán đối sánh thể tìm thấy T P với độ k-mismatch khác Nếu độ k-mismatch nhỏ T P gần nhau, kết luận P ứng cử T thực hệ thống gợi ý 3.5 Kết luận chương Trong chương tác giả tiến hành cung cấp thực nghiệm thuật toán asmfmaster môi trường mã nguồn mở, hàm thực đối sánh xấp xỉ với kmismatch Với giải thuật tác giả tiến hành xây dựng hệ thống thực nghiệm với chức sửa lỗi tả cho văn chức gợi ý từ điển Hệ thống dựa tập từ mà tác giả xây dựng làm từ điển sở để thực nghiệm sửa lỗi tả Với số lượng từ khiêm tốn (xấp xỉ 1000 từ) hệ thống xây dựng thành công thực nghiệm dựa thuật toán - Chức sửa lỗi tả: Chức cho phép cung cấp từ từ giao diện người dùng tiến hành kiểm tra hệ thống từ với hàm đối sánh asmf-master với k-mismatch = để làm tiêu trí để biết từ có sai hay không (từ sai xuất từ từ điển, không đối sánh với từ từ điển) Sau kiểm tra phát có lỗi tả cho từ, hệ thống thực tiến hành sửa từ bị sai thành từ dựa kết hợp thuật toán asmf-master hàm similar text để đưa từ thích hợp cho từ kiểm tra - Chức gợi ý từ điển: Thực cung cấp giao diện cho phép nhập từ Hệ thống thực tìm kiếm cung cấp từ cho phép gợi ý với từ khóa hóa.Với kết mà tác giả tìm hiểu xây dựng Sau tiến hành nghiên cứu thuật toán đối sánh xấp xỉ, tác giả tiến hành xây dựng hệ thống thực nghiệm không khổ luận văn với kết đạt được: - Hệ thống dựa thuật toán asmf-master 53 - Hệ thống kiểm tra sửa đổi từ sai tả - Hệ thống gợi ý truy vấn tìm kiếm từ điển Toàn hệ thống thực môi trường hệ điều hành mã nguồn mở với giao diện đơn giản cho phép người sử dụng dễ dàng thao tác hệ thống Với kết đạt vậy, luận văn tạo tiền đề cho tác gải thực nghiệm nghiên cứu thuật toán đối sánh chuỗi xấp xỉ Trong thời gian tới tác giả tiến hành số công việc cho phép nâng cao chất lượng hệ thống: - Cải thiện số lượng từ có từ điển - Cải thiện giao diện hệ thống phép trình bày trực quan Cải tiến hệ thống mà tác giả xây dựng nhằm đáp ứng tốt để cung cấp hệ thống giải vấn đề liên quan đến việc kiểm tra tả sửa lỗi tả cho văn Cho phép gợi ý từ khóa sát theo ngữ cảnh cụ thể hệ thống 54 KẾT LUẬN Qua thời gian nghiên cứu, luận văn thu số kết sau: - Về mặt lý luận: Luận văn trình bày cách tổng quan vấn đề lý thuyết xấp xỉ; bao gồm: khái niệm xấp xỉ, khái quát số thuật toán đối sánh mẫu xấp xỉ, giải pháp thực cho áp dụng ứng dụng cho thuật toán đối sánh chuỗi xấp xỉ Bên cạnh luận văn nghiên cứu số thuật toán thuật toán Galil Park, thuật toán UkkonenWood, thuật toán Boyer-Moore thuật toán công bố gần thuật toán đối sánh mã vòng với độ phức tạp hàm tuyến tính - Về mặt thực nghiệm: Thực nghiệm với công cụ asmf-master, công cụ tác giả nghiên cứu ứng dụng vào luận văn để làm hệ thống thực nghiệm cho toán sửa lỗi tả vài toán gợi ý truy vấn từ điển - Hướng phát triển Luận văn: Từ kết thực nghiệm, tiến hành số công việc cho phép nâng cao chất lượng hệ thống: Cải thiện số lượng từ có từ điển; cải thiện giao diện hệ thống phép trình bày trực quan Hướng phát triển tương lai, em nghiên cứu Cải tiến hệ thống mà tác giả xây dựng nhằm đáp ứng tốt để cung cấp hệ thống giải vấn đề liên quan đến việc kiểm tra tả sửa lỗi tả cho văn Cho phép gợi ý từ khóa sát theo ngữ cảnh cụ thể hệ thống 55 TÀI LIỆU THAM KHẢO - Tiếng Việt: Nguyễn Quang Huy (2010), "Tìm hiểu search engine thuật toán đối sánh mẫu cho hệ thống tìm kiếm thông tin mạng", Luận văn Thạc sỹ, Học viện Công nghệ Bưu viễn thông Nguyễn Thị Thúy (2012), "Một họ thuật toán đối sánh mẫu WUMANBER thực nghiệm", Luận văn Thạc sỹ, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội - Tiếng Anh: C Charras and T Lecroq (2004), "Handbook of exact string matching algorithms", King’s College Publications Hannu Peltola (2013), "Towards Faster String Matching", PhD Thesis, Aalto University Petteri Jokinen, Jorma Tarhio, Esko Ukkonen (1996), "A Comparison of Approximate String Matching Algorithms", Softw, Pract Exper 26(12): 14391458 Baeza-Yates R, Navarro G (June 1996), "A faster algorithm for approximate string matching", In Dan Hirchsberg, Gene Myers Combinatorial Pattern Matching (CPM'96), LNCS 1075, Irvine, CA pp 1–23 Navarro, Gonzalo (2001), "A guided tour to approximate string matching", ACM Computing Surveys 33 (1): 31–88 doi:10.1145/375360.375365 CiteSeerX: 10.1.1.96.7225 Esko Ukkonen (1992), "Approximate string-matching with q-grams and maximal matches", Volume 92, Issue 1, pp 191–211 Z Galil, K Park (1989), "An improved algorithm for approximate stringmatching Automata, Languages, and Programming (ICALP'89)", Lecture Notes in Computer Science, Vol 372, Springer, pp 394–404 56 10 E Ukkonen and D Wood (1990), "Approximate string matching with suffix automata, Department of Computer Science", University of Helsinki, Report A-1990-4 11 J Tarhio, E Ukkonen, Boyer-Moore (1990), "Approach to approximate string matching, Proc 2nd Scand Workshop on Algorithm Theory (SWAT'90)", Lecture Notes in Computer Science, Vol 447, Springer, pp 348–359 12 Carl Barton, Costas S Iliopoulos, Solon P Pissis (2014), "Fast algorithms for approximate circular string matching", Bartonet al Algorithms for Molecular Biology, pp.1-10 13 G Landau and U Vishkin (1988), "Fast string matching with k differences", Journal of Computer and System Sciences, pp.37, 63–78 - Internet: 14 https://vi.wikipedia.org/wiki/Kho%E1%BA%A3ng_c%C3%A1ch_Hamming 15 http://monge.univ-mlv.fr/~mac/CHL/chl-1-58.pdf [...]... áp dụng phương pháp đối sánh chuỗi xấp xỉ Tác giả sử dụng công cụ này nhằm thực hiện và thực nghiệm về thuật toán đối sánh xấp xỉ áp dụng cho bài toán kiểm tra và sửa lỗi chính tả Đây là chương trình được cài đặt rất nhiều thuật toán về đối sánh chuỗi xấp xỉ, cụ thể được thể hiện bằng thuật toán đối sánh chuỗi xấp xỉ theo mã vòng với kmismatch, trong đó có thể kể tới các thuật toán mà tác giả đang nghiên. .. đối sánh chuỗi bằng phương pháp xấp xỉ Đây là một công cụ rất hiệu quả và được cài đặt nhiều thuật toán về đối sánh chuỗi Phương pháp đối sánh chuỗi xấp xỉ được ứng dụng trong nhiều bài toán cụ thể như: Kiểm tra lỗi chính tả trong văn bản, máy tìm kiếm, trình diệt virus, trong y học Tiếp theo trong chương 2 tác giả đi sâu vào tìm hiểu các thuật toán về đối sánh chuỗi xấp xỉ Tác giả trọng tâm vào thuật... hoặc chuỗi P trước khi thực hiện đối sánh chuỗi 1.2 Nội dung và ý nghĩa ứng dụng 1.2.1 Nội dung Trong luận văn này sẽ thực hiện nhiệm vụ nghiên cứu một số thuật toán về đối sánh chuỗi xấp xỉ áp dụng cho bài toán sửa lỗi chính tả trong văn bản bằng cách sử dụng chương trình ứng dụng asmf-master có sẵn Luận văn chủ yếu đi sâu vào các thuật toán về đối sánh chuỗi xấp xỉ sau: - Thuật toán của Galil Park:... nhất một vòng lặp x xuất hiện Đây chính là vấn đề của "đối sánh xâu vòng tròn" Có hai vấn đề khi áp dụng xử lý đối sánh theo phương pháp "xâu vòng tròn" đó là thực hiện đối sánh chính xác và đối sánh xấp xỉ với k ký tự khác nhau theo mô hình khoảng cách Hamming Đó là: - Vấn đề thứ nhất (đối sánh xâu vòng tròn chính xác): Từ một mẫu x có độ dài m và một văn bản t có độ dài n > m, tìm ra tất cả các yếu... T’ có ý nghĩa rất qua trọng trong các ứng dụng sử dụng phương pháp xấp xỉ Chính vì việc có thể chỉ ra được các T’ càng gần T thể hiện độ hữu dụng của bài toán Nếu không thể tìm ra hoặc là thuật toán kém hiệu quả về tìm kiếm kết quả sẽ làm cho ứng dụng giảm độ tin cậy và không thực hiện được đúng mục tiêu được đề ra Một cách tổng quát để thực hiện đưa ra các T’ xấp xỉ T chúng ta có một cách khá đơn giản... được sử dụng nhiều hơn cả Thao tác hoán đổi sẽ ít sử dụng hơn và chỉ có một số thuật toán áp dụng thao tác này Một chú ý đáng thú vị ở đây là khoảng cách xấp xỉ này chỉ ra được tổng số các thao tác cần phải được thực hiện để chuỗi T chuyển thành chuỗi T’, không chỉ rõ từng thao tác phải thực hiện Hầu hết các thuật toán về sánh chuỗi xấp xỉ sử dụng cách tiếp cập này để thực hiện đưa ra giá trị xấp xỉ [5]... trận D, và sử dụng phương pháp đối sánh mẫu xấp xỉ Giải thuật được thể hiện theo hai kỹ thuật "Preprocessing patten P" và kỹ thuật bộ ba tham chiếu "Reference triple" [7] - Kỹ thuật: Tiền xử lý mẫu đối sánh P "Preprocessing P" Được xử lý theo tiền tố Preffix xử dụng bảng tam giác trên của ma trận D priffix(|i,j).1

Ngày đăng: 03/08/2016, 15:59

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan