Tìm hiểu file trên windows ứng dụng thuật toán đối sánh mẫu

45 242 0
Tìm hiểu file trên windows ứng dụng thuật toán đối sánh mẫu

Đ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

Trờng đại học vinh Khoa công nghệ thông tin ===== ===== tìm kiếm file windows ứng dụng thuật toán đối sánh mẫu Đồ án Tốt nghiệp đại học Ngành kỹ s công nghệ thông tin Cán hớng dẫn: Ths Trần Văn Cảnh Sinh viên thực hiện: Hoàng Đức Toàn Lớp 45K - Công nghệ thông tin VINH - 2009 Mục lục Trang Lời cảm ơn Lời nói đầu Chơng 1: Giới thiệu 1.1 Bài toán tìm kiếm file windows 1.2 Một số công cụ tìm kiếm 1.3 Đánh giá công cụ tìm kiếm 1.4 Lý chọn đề tài 11 Chơng 2: Các thuật toán sử dụng chơng trình 12 2.1 Thuật toán tính độ lớn dãy chung dài hai xâu 12 2.2 Thuật toán tìm chuỗi chung dài hai xâu 13 2.3 Thuật toán đánh giá độ tơng tự tựa ngữ nghĩa hai xâu 16 Chơng 3: Cài đặt 19 3.1 Lựa chọn ngôn ngữ 19 3.2 Cài đặt chơng trình 23 3.2.1 Cài đặt lớp lập trình thuật toán 23 3.2.2 Thiết kế xây dựng form chơng trình 31 3.3 Chạy thử kiểm tra 32 3.4 Các giao diện chơng trình 39 Chơng 4: Nhân xét đánh giá sản phẩm 44 4.1 Một số kết đạt đợc 44 4.2 Hớng phát triển 44 Kết luận 45 Tài liệu tham khảo 46 Lời cảm ơn Đầu tiên em xin chân thành cảm ơn Thầy Cô Khoa Công Nghệ Thông Tin hớng dẫn giảng dạy nhiệt tình suốt năm năm học Trờng Đại Học Vinh Những kiến thức mà chúng em học đợc giảng đờng hành trang quý báu bớc đờng đời sau Để tìm hiểu, xây dựng hoàn thành đợc đồ án em xin cảm ơn tới thầy giáo Thạc sỹ Trần Văn Cảnh - Giảng viên khoa CNTT Trờng Đại Học Vinh tận tình hớng dẫn giúp đỡ em trình thực Em xin bày tỏ lòng biết ơn tới gia đình bạn bè tạo điều kiện, giúp đỡ cho em suốt thời gian học tập, nghiên cứu để có đợc thành nh ngày hôm Với kiến thức phần hạn chế mình, hi vọng nhận đợc ý kiến đóng góp quý báu từ thầy cô, gia đình bạn bè để em ngày tiến Vinh, 05/2009 Sinh viên thực Hoàng Đức Toàn LờI NóI ĐầU Công nghệ thông tin phát triển không ngừng, sống giới mà máy vi tính, mạng internet thiết bị kỹ thuật số hữu tất góc độ, lĩnh vực sống đại Một nhu cầu thực tế xu hội nhập ngày đòi hỏi trao đổi thông tin, kết nối thông tin, tìm kiếm thông tin cách nhanh nhất, xác đáng tin cậy nhât Và dĩ nhiên phần mềm đợc lập nhằm thực công việc Đối với phần mềm trớc thờng thiên hớng cho việc lập trình ứng dụng cho số ngời, ngày xu phát triển nghành công nghệ phần mềm phải tạo đợc sản phẩm ứng dụng cho nhiều ngời để tìm kiếm thông tin cách xác nhanh Nắm bắt đợc xu đó, hàng loạt ngôn ngữ lập trình đời ngày hoàn thiện Trong phải kể đến hai ngôn ngữ lập trình NET JAVA lựa chọn hàng đầu lập trình viên Đây hai công cụ để lập trình phụ thuộc vào kiến thức sở thích ngời mà ứng dụng Điều quan trọng em tìm hiểu nghiên cứu C# (Thuộc Visual Studio NET 2005) để triển khai ứng dụng Windows Những phần mềm đợc viết dựa tảng C# có đợc khả thao tác, tích hợp ứng dụng tốt Đối với ngôn ngữ lập trình khả áp dụng tạo phần mềm có tính ứng dụng cao lớn, song với khuôn khổ mục đích nghiên cứu công nghệ, đồ án em triển khai xây dựng ứng dụng Tìm kiếm file windows ứng dụng thuật toán đối sánh mẫu để thể khả hớng đối tợng, lập trình trực quan C# Khi hiểu rõ chất tính u việt C# khả phát triển ứng dụng toán lớn đạt đợc thành công Chơng Giới thiệu 1.1 Bài toán tìm kiếm file windows Dữ liệu máy tính đợc lu trữ dới nhiều dạng khác nhau, nhng sử dụng chuỗi cách phổ biến Trên chuỗi đơn vị liệu ý nghĩa quan trọng cách xếp chúng Nhiều lúc ngời sử dụng không để ý tới việc lu trữ file liệu mà hay lu trữ cách theo cảm tính Ta thấy dạng khác chuỗi nh file liệu, hay văn đọc Một phép toán chuỗi đối sánh mẫu (pattern matching), toán yêu cầu ta tìm nhiều vị trí xuất mẫu văn Trong mẫu văn chuỗi có độ dài N M (M # N), tập ký tự đợc dùng gọi bảng chữ khác, có số lợng d Đối sánh mẫu toán tìm xuất mẫu với số đặc tính chuỗi ký hiệu cho trớc 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, Dạng đơn giản toán đối sánh mẫu tìm xuất xâu cho trớc chuỗi (còn gọi xâu đích) Tìm độ lớn dãy chung dài hai xâu ký tự, tìm chuỗi chung dài hai xâu ký tự, đánh giá độ tơng tự tựa ngữ nghĩa hai câu văn Các phơng pháp đối sánh Dựa đặc tính mẫu: Tìm kiếm đơn mẫu, tìm kiếm đa mẫu Dựa kết trả về: Tìm kiếm xác, tìm kiếm xấp xỉ Độ tơng tự hai xâu văn Một cách tơng đối hiểu độ tơng tự mức độ giống hai xâu kí tự (Xét theo quan điểm thống kê mức độ giống hai xâu phản ánh mức độ tơng tự ngữ nghĩa) Một phơng thức phép đối sánh mẫu tìm kiếm xấp xỉ (approximate search) hay tìm kiếm mờ (fuzzy search) So mẫu xấp xỉ cho phép tìm kiếm thông tin gần giống Hớng tiếp cận toán tìm kiếm mang lại kết mềm dẻo hơn, đáp ứng đợc yêu cầu thực tế tốt Vấn đề tìm kiếm xấp xỉ đặt nhiều ứng dụng khoa học kĩ thuật khác: nhận dạng chữ viết, nhận dạng ảnh, đồ thị, so sánh xấp xỉ xâu có độ dài không cố định, đặc biệt phổ biến hệ thống trích rút văn 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 (OCRoptical 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ữ - 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ỉ, - Thông tin ngời tìm đa vào không xác, Có nhiều mô hình lỗi đợc đa ra, nhng phổ biến sở cho nhiều mô hình lỗi khác chuỗi (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 tìm kiếm file Windows Vì toán đợc giải là: Cho xâu nguồn (hay xâu mẫu) P độ dài m (P1P2.Pm) xâu đích S độ dài n (S1S2 Sn) bảng chữ A Tính độ lớn dãy chung dài nhất, tìm chuỗi chung dài hai xâu P S, xác định độ tơng tự hai xâu P S Độ tựa ngữ nghĩa đợc hiểu giá trị thực nằm khoảng [0,1] thoả mãn: - Độ tựa ngữ nghĩa lớn số chuỗi P xuất S nhiều - Độ tựa ngữ nghĩa xâu P xuất S - Độ tựa ngữ nghĩa phần P xuất S Lu ý rằng, trờng hợp S dòng liệu văn (trong máy tìm kiếm file hệ thống, tìm kiếm web, ), xâu mẫu P thờng ngắn xâu đích S dài nhiều so với P nên để phản ánh ngữ nghĩa đợc tốt cần phải tách đoạn dòng liệu S so sánh đoạn với P (chẳng hạn, việc ngắt câu xem cách tách đoạn) Khi độ tơng tự đợc tổng hợp từ kết so sánh P khúc S Để giải toán xác định độ tơng tự hai xâu, sử dụng hai độ đo Một độ tơng tự dựa vào độ dài chuỗi chung dài Mặc dù mô hình lỗi kinh điển song với cách tiếp cận otomat mờ đem lại thuật toán nhanh, đặc biệt hiệu cần so mẫu P với nhiều xâu S Hai độ gần tựa ngữ nghĩa dựa thống kê mật độ xuất chuỗi P S Độ đo phản ánh đợc độ tơng tự ngữ nghĩa hai xâu 1.2 Một số công cụ tìm kiếm Hiện mạng Internet có nhiều công cụ tìm kiếm hữu ích cho ngời sử dụng Bao gồm công cụ tìm kiếm đa chức công cụ tìm kiếm theo lĩnh vực riêng biệt Các công cụ cho phép ngời dùng tìm kiếm cụm từ, đề tài, viết, file, trang web, hay liệu Cụ thể: Google.com, Socbay.com, Xalo.com, Yahoo.com, Nhacso.net, Hình 1.1 Tìm kiếm socbay.com Ngoài có chức tìm kiếm nh: chức tìm kiếm Search Windows, chức tìm kiếm Find Microsoft Word, Hình 1.2 Tìm kiếm office Hình 1.3 Tìm kiếm search Windows 1.3 Đánh giá công cụ tìm kiếm Công cụ tìm kiếm Search hệ điều hành windows XP cho phép tìm kiếm từ khoá file, th mục hay tất ổ đĩa máy tính Một số kiểu lu trữ tên tập tin Windows ngời sử dụng hay dùng: daihocvinh; dai hoc vinh; dhvinh; Với cách đặt tên nh khó để tìm kiếm đợc kết cho phần mềm Tìm Kiếm Search hệ điều hành windows XP Đặc biệt với file: dai hoc vinh.txt mà ngời quản lý lại nghĩ file : daihocvinh với phần mềm search windows tìm thấy Hình 1.4 Tìm với windows Tồn số vấn đề công cụ tìm kiếm nay: ví dụ công cụ tìm kiếm trang web http://nhacso.net Hình 1.5 Tìm kiếm nhacso.net Khi thực tìm kiếm trang web ngữ nghĩa câu văn tiếng Việt khác so với tiếng Anh nên kết tìm kiếm khác cho cách trình bày khác Công cụ tìm kiếm Find phần mềm Microsoft Word: công cụ cho phép tìm kiếm cụm từ nội bên văn Công cụ tìm kiếm Google hỗ trợ tìm kiếm theo mục Nhng ta tìm kiếm với từ khoá liệt kê tất trang có nội dung không nghĩa với ý nghĩa từ khoá cần tìm 10 Hình 3.8 Menu 31 - Bớc 2: Gõ tên file cần tìm kiếm, lựa chọn kiểu tìm kiếm: xác theo độ xấp xỉ đợc đa vào, nghĩa + Tìm kiếm xác: tìm tên file; + Tìm theo độ xấp xỉ: chơng trình so sánh độ xấp xỉ chuỗi nhập vào so sánh với tên file hệ thống, độ xấp xỉ lớn với độ xấp xỉ đa vào kết tìm kiếm với file dó Nhập tên file cần tìm kiếm độ xấp xỉ đợc lựa chọn Hình 3.9 Lựa chọn tìm kiếm 32 - Bớc 3: Lựa chọn đờng dẫn bắt đâu tìm kiếm + Nhấp chuột vào nút Chọn đờng dẫn để chọn th mục tìm kiếm; + Nhấp nút Tìm kiếm để bắt đầu tìm kiếm; + Khi tìm kiếm trạng thái chuyển: Sẵn sàng->Đang tìm>Kết thúc tìm kiếm + Nút Dừng kết thúc trình tìm kiếm Tìm kiếm dừng Lựa chọn đ ờng dẫn Trạng thái tìm kiếm Các kết Hình 3.10 Thực tìm kiếm - Bớc 4: Sau kết thúc tìm kiếm xếp lại kết lu kết + Sắp xếp kết tìm kiếm: theo tên, theo độ xấp xỉ 33 Sắp xếp Sắp xếp Kết Hình 3.11 Sắp xếp kết 34 + Lu kết tìm kiếm vào file Hình 3.12 Lu kết vào file kq.txt 35 Nội dung file: kq.txt Hình 3.13 file kq.txt 36 - Form thuật toán: để mô thuật toán chơng trình qua hai xâu mẫu kết thị form Các nút lựa chọn mô thuật toán Nhập hai xâu để mô Thoát khỏi form thuật toán Các kết thu đ ợc ba thuật toán Hình 3.14 form mô thuật toán chơng trình 37 3.4 Các giao diện chơng trình Hình 3.4 Form giới thiệu Hình 3.5 Giao diện chơng trình 38 Hình 3.6 Giao diện tìm độ lớn xâu chung Hình 3.7 Giao diện thực tìm kiếm 39 Hình 3.8 Giao diện kết tìm kiếm 40 Hình 3.9 Giao diện xếp kết tìm kiếm 41 Hình 3.10 Lu kết tìm kiếm 42 Chơng Nhận xét đánh giá sản phẩm 4.1 Một số kết đạt đợc - Tìm hiểu ngôn ngữ lập trình C# - Tìm hiểu cài đặt thuật toán tính độ dài dãy chung hai xâu kí tự, thuật toán tìm chuỗi chung dài hai xâu, thuật toán đánh giá độ tơng tự mặt ngữ nghĩa hai xâu - Xây dựng phần mềm tìm kiếm cho hệ điều hành Windows cho phép tìm kiếm xấp xỉ * Ưu điểm : + Cho phép tìm kiếm xác + Cho phép tìm kiếm với độ xấp xỉ khác + Tốc độ tìm kiếm nhanh + Kết tìm kiếm đạt đợc mong muốn * Nhợc điểm : + Với độ xấp xỉ bé chơng trình chạy chậm + Kết tìm kiếm nhiều với độ xấp xỉ bé + Cha xây dựng đợc tìm kiếm nội dung 4.2 Hớng phát triển - Phát triển thuật toán tìm kiếm xấp xỉ để xây dựng công cụ tìm kiếm đa mẫu - Xây dựng chức tìm kiếm theo nội dung - Xây dựng số module đọc định dạng file nh: pdf, chm - Cải thiện số module để tăng tốc độ xử lý chơng trình Kết luận Tìm kiếm thông tin nhu cầu cần thiết tất ngời Đặc biệt bối cảnh bùng nổ thông tin nay, với đời internet sáng kiến th điện tử, nhu cầu tìm kiếm thông tin lại phát triển Nhng nhờ có trợ giúp công cụ tìm kiếm ngời thoả mãn nhu cầu cách dễ dàng 43 Đề tài Tìm kiếm file Window ứng dụng thuật toán đối sánh mẫu nhằm tạo công cụ tìm kiếm hữu ích đặc biệt tìm kiếm file tiếng Việt Những ứng dụng mà phần mềm đạt đợc nhờ ứng dụng thuật toán đối sánh mẫu Việc sử dung độ xấp xỉ cho phép tìm kiếm với nhiều kết khác nhau, tìm xác với độ xấp xỉ 100% Tuy đạt đợc số kết nhng phần mềm có nhiều hạn chế nh độ xấp xỉ nhỏ việc tìm kiếm khó khăn Em hy vọng đề tài đóng góp nhỏ có ý nghĩa cho việc phát triển phần mềm phục vụ lĩnh vực tìm kiếm thông tin 44 Tài liệu tham khảo Tài liệu tham khảo tiếng Việt - Hoàng Hữu Việt, Làm quen lập trình C#, 2007 - Phạm Hữu Khang, Hoàng Đức Hải, Trần Tiến Dũng,C# 2005, - Nguyễn Thị Thanh Huyền, Bùi Kiên Cờng, Phan Trung Huy, Các thuật toán tìm kiếm xâu tìm kiếm tựa ngữ nghĩa có sử dụng Otomat mờ, Thái Nguyên 2003 Tài liệu tham khảo tiếng Anh - Jesse Liberty, Programming C#, OReilly, 2001 - Erik Brown, Windows Forms Programmming with C#, Manning - Bradley L.Jones, C# in 21 Days, SAMS - MSDN Library April 2002 45 [...]...Hình 1.6 Công cụ tìm kiếm Google 1.4 Lý do chọn đề tài Vấn đề đặt ra là cần có một công cụ hữu ích cho việc tìm kiếm các file lu trữ bằng tiếng Việt một cách nhanh nhất và hiệu quả hơn Nắm bắt đợc các yêu cầu đó thì phần mềm Tìm kiếm file trên Windows ứng dụng thuật toán đối sánh mẫu đợc xây dựng 11 Phần mềm này xây dựng cho phép tìm kiếm theo độ xấp xỉ khác nhau do đó kết quả tìm đợc khác nhau Ngoài... Hình 2.1 Thuật toán tính độ lớn dãy con chung dài nhất Ví dụ: Với 2 xâu daihocvinh và dai hoc vinh Chơng trình sẽ thực hiện thuật toán một để tìm độ lớn xâu con chung dài nhất, kết quả sẽ là: Hình 2.2 Mô phỏng thuật toán tìm độ lớn xâu con chung dài nhất 2.2 Thuật toán tìm kiếm dãy con chung dài nhất giữa hai xâu ký tự Bài toán: 13 Cho xâu mẫu P độ dài m: P = P 1 Pm; và xâu S độ dài n: S = S 1 Sn trên. .. 31 - Bớc 2: Gõ tên file cần tìm kiếm, lựa chọn kiểu tìm kiếm: chính xác hoặc theo độ xấp xỉ đợc đa vào, ở đây nghĩa là + Tìm kiếm chính xác: tìm đúng tên file; + Tìm theo độ xấp xỉ: chơng trình sẽ so sánh độ xấp xỉ của chuỗi nhập vào và so sánh với tên file trong hệ thống, nếu độ xấp xỉ lớn hơn hoặc bằng với độ xấp xỉ đa vào thì sẽ hiện kết quả tìm kiếm với file dó Nhập tên file cần tìm kiếm độ xấp xỉ... thể cho phép tìm kiếm chính xác các từ khoá khi ngời sử dụng nhập vào Các chức năng chính của chơng trình - Chức năng tìm kiếm chính xác - Chức năng tìm kiếm xấp xỉ - Chức năng lu kết quả - Chức năng sắp xếp kết quả TK - Chức năng thực thi chơng trình ngay trên kết quả tìm kiếm Chơng 2 Các thuật toán trong chơng trình 2.1 Thuật toán tính độ lớn dãy con chung dài nhất Bài toán : Cho xâu mẫu P độ dài... 3.9 Lựa chọn tìm kiếm 32 - Bớc 3: Lựa chọn đờng dẫn và bắt đâu tìm kiếm + Nhấp chuột vào nút Chọn đờng dẫn để chọn th mục tìm kiếm; + Nhấp nút Tìm kiếm để bắt đầu tìm kiếm; + Khi tìm kiếm trạng thái sẽ chuyển: Sẵn sàng->Đang tìm> Kết thúc tìm kiếm + Nút Dừng sẽ kết thúc quá trình tìm kiếm Tìm kiếm hoặc dừng Lựa chọn đ ờng dẫn Trạng thái tìm kiếm Các kết quả hiện tại Hình 3.10 Thực hiện tìm kiếm - Bớc... = f_max; LF_P : = d; LF_S : = j - 1; End; f_max : = f; End; End; End Hình 2.3 Thuật toán tìm xâu con chung dài nhất 14 Ví dụ: Với 2 xâu daihocvinh và dai hoc vinh Chơng trình sẽ thực hiện thuật toán hai để tìm xâu con chung dài nhất, kết quả sẽ là: Hình 2.4 Mô phỏng thuật toán tìm kiếm xâu con chung dài nhất 15 2.3 Thuật toán đánh giá độ tơng tự ngữ nghĩa giữa hai câu văn Xét ví dụ sau: Câu 1: Ngày... + 1; End; f := -a * TDL / (P * (P + 1)) + SoTuChung / n; End Hình 2.5 Thuật toán tính độ tơng tự 17 áp dụng thuật toán ta thu đợc: f(câu1, câu2) = 0,44039 f(câu1, câu3) = 0,55765 f(câu1, câu4) = 0,62343 Theo ví dụ trên thì mức độ gần (theo ngữ nghĩa trong thực tế) giữa (câu 2, câu 1) nhỏ hơn (câu 3, câu 1) khi áp dụng thuật toán trên đợc: f(câu 1, câu 2) = 0,44039 < 0,55765 = f(câu 1, câu 3) Tơng tự... txtXauKQ.Text = kq; MessageBox.Show("Tèm dóy con chung di nht!\n\n"+"Kt qu:"+kq, "THONG BAO", MessageBoxButtons.OK, MessageBoxIcon.Information); } Hình 3.4 Code thuật toán tìm xâu con chung dài nhất 28 - Thuật toán tìm độ xấp xỉ sử dụng lớp tìm kiếm private void btnTT3_Click(object sender, EventArgs e) { LopTK a1 = new LopTK(txtXau1.Text, txtXau2.Text); a1.main(); int dolon = a1.Contro; double DXX;... "\n"); //KetQua.Add("Tp tin: " + tenfile + "\n"); MessageBox.Show("Tớnh xp x 2 xõu!\n\n"+"Kt qu: "+DXX.ToString(), "THONG BAO", MessageBoxButtons.OK, MessageBoxIcon.Information); } Hình 3.5 Code thuật toán tìm độ xấp xỉ 3.2.2 Thiết kế và xây dựng các form của chơng trình 29 - Form chính Hình 3.6 Các menu chính - Form mô tả thuật toán Hình 3.7 Form mô tả các thuật toán 3.3 Chạy thử và kiểm tra - Bớc... áp dụng ta cũng thu đợc f(câu 1, câu 3) = 0,55765 < 0,62343 = f(câu 1, câu 4) Ví dụ: Với 2 xâu daihocvinh và dai hoc vinh Chơng trình sẽ thực hiện thuật toán ba để để tính độ tơng tự giữa hai xâu, kết quả sẽ là: Hình 2.6 Mô phỏng thuật toán độ xấp xỉ cuả hai xâu Chơng 3 Cài đặt 3.1 Lựa chọn ngôn ngữ 18 Hiện nay có rất nhiều ngôn ngữ lập trình có thể giúp ngời phát triển phần mềm tạo ra các ứng dụng ... hữu ích đặc biệt tìm kiếm file tiếng Việt Những ứng dụng mà phần mềm đạt đợc nhờ ứng dụng thuật toán đối sánh mẫu Việc sử dung độ xấp xỉ cho phép tìm kiếm với nhiều kết khác nhau, tìm xác với độ... kiếm file Windows ứng dụng thuật toán đối sánh mẫu đợc xây dựng 11 Phần mềm xây dựng cho phép tìm kiếm theo độ xấp xỉ khác kết tìm đợc khác Ngoài cho phép tìm kiếm xác từ khoá ngời sử dụng nhập... cầu tìm kiếm thông tin lại phát triển Nhng nhờ có trợ giúp công cụ tìm kiếm ngời thoả mãn nhu cầu cách dễ dàng 43 Đề tài Tìm kiếm file Window ứng dụng thuật toán đối sánh mẫu nhằm tạo công cụ tìm

Ngày đăng: 15/12/2015, 08:45

Từ khóa liên quan

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

Tài liệu liên quan