Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 3.4.3.1. Giao diện chính của chương trình
Hình 3.5. Giao diện chính của chƣơng trình
Lựa chọn thƣ mục có chứa các file (doc, xls, ppt, html, txt) cần tìm kiếm.
Nhất nút “Tải dữ liệu” để thực hiện việc lập chỉ mục cho các file văn bản trong thƣ mục.
Nhập từ khóa cần tìm kiếm trong các văn bản.
Chƣơng trình sẽ thực hiện đọc nội dung của các file văn bản có trong thƣ mục. Sau đó thực hiện so khớp từ khóa cần tìm trong nội dung của các văn bản (Tìm kiếm toàn văn) theo thuật toán KMP. Chƣơng trình sẽ đƣa ra danh sách các file mà nội dung có chứa từ khóa tìm kiếm. Khi chọn vào một trong những file kết quả thì chƣơng trình sẽ thực hiện mở file đó lên để xem nội dung.
3.4.3.2. Kết quả thử nghiệm của chương trình khi tìm kiếm với từ khóa “Văn bản”
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 3.6. Kết quả tìm kiếm của chƣơng trình
3.5. Kết luận chƣơng 3
Chƣơng này trình bày về bài toán tìm kiếm mẫu, tìm kiếm thông tin trên văn bản. Áp dụng thuật toán KMP để xây dựng chƣơng trình thử nghiệm đơn giản dựa trên ngôn ngữ lập trình C# trên nền hệ điều hành Window và tiến hành chạy thử nghiệm chƣơng trình với một số cụm từ khóa tìm kiếm trên các file văn bản lƣu trữ.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
KẾT LUẬN
Đánh giá kết quả đề tài:
Trong quá trình nghiên cứu và thực hiện, luận văn đã đạt đƣợc nhƣng kết quả nhƣ sau:
Giới thiệu một số khái niệm cơ bản so khớp chuỗi, các hƣớng tiếp cận, các dạng so khớp và một số thuật toán so mẫu.
Trình bày về thuật toán KMP, thuật toán KMP mờ và thuật toán KMP-BM mờ.
Cài đặt thuật toán KMP bằng ngôn ngữ lập trình C# chạy trên nền hệ điều hành Window và sau đó thử nghiệm tìm kiếm với một số cụm từ khóa trên các file văn bản đƣợc lƣu trữ.
Hạn chế:
Chƣơng trình thử nghiệm còn đơn giản. Chƣơng trình chỉ thực hiện đƣợc các thuật toán tìm kiếm trên một số định dạng cơ bản: doc, ppt, xls, html, txt. Chƣa hỗ trợ tìm kiếm trên một số định dạng: pdf, docx, xlsx, ppts.
Chƣơng trình mới dừng lại tìm kiếm trong máy cục bộ, chƣa hỗ trợ tìm kiếm thông qua mạng LAN và Internet.
Hƣớng phát triển trong tƣơng lai:
Với những kết quả đã đạt đƣợc, tác giả đề xuất một số công việc tiếp theo trong thời gian tới nhƣ sau:
Tiếp tục xử lý những vấn đề còn tồn tại trong chƣơng trình thử nghiệm đã cài đặt nhƣ: Vấn đề dữ liệu vào, xây dựng giao diện chƣơng trình thân thiện và dễ sử dụng hơn.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Tiếp tục nghiên cứu để ứng dụng, phát triển chƣơng trình hỗ trợ tìm kiếm qua mạng Lan và tìm kiếm trên Internet thông qua Website.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Đặng Huy Ruận (2011), Lý thuyết thuật toán, NXB. Đại học Quốc gia Hà Nội.
[2] 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 và Kỹ thuật.
[3] Nguyễn Hữu Điển (2006), Một số vấn đề về thuật toán, NXB. Giáo dục.
[4] Vũ Thành Nam, Phan Trung Huy, Nguyễn Thị Thanh Huyền (2005), “Mã tích đàn hồi và tìm kiếm trên văn bả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 tại Hội nghị Ứng dụng toán học toàn quốc lần 2, Hà Nội, 12/2005.
[5] Phan Thị Tƣơi (1986), Trình biên dịch 1986 (Chƣơng 3 : Bộ phân tích từ vựng), Nhà xuất bản Giáo dục.
Tiếng Anh
[6] Thomas H. Cormen (2009), Introduction to Algorithms, MIT Press. [7] Christian Charras, Thierry Lecroq (2000), Handbook of Exact
Stringmatching Algorithms.
[8] Donald Knuth, James H. Morris, Jr, Vaughan Pratt (1977), “Fast pattern matching in strings”, Siam J.Comput, Vol 6, No. 2, Nune 1977.
[9] Aho A.V.(1992), Algorithms for finding patterns in strings, Chapter 5 of Jan Van Leeuwen (ed.), Handbook of Theoretical Computer Science "Algorithms and Complexity", The MIT Press, pp. 255-300. [10] Erik Hatcher, Michael McCandless (2008), Otis Gospodnetic:
“Lucene in Action”, Apache Jakarta Project Management