Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
1,12 MB
Nội dung
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC TRƢỜNG ĐẠI HỌC VINH 006.7 KHOA CÔNG NGHỆ THÔNG TIN HOÀNG THỊ HIỀN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: XÂY DỰNG WEBSITE DỰ ĐOÁN LỖI TỪ VỰNG CỦA VĂN BẢN TIẾNG VIỆT Nghệ An, tháng 12 năm 2014 SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC TRƢỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tên đồ án: XÂY DỰNG WEBSITE DỰ ĐOÁN LỖI TỪ VỰNG CỦA VĂN BẢN TIẾNG VIỆT Sinh viên thực Mã sinh viên Lớp : Hoàng Thị Hiền : 1051070414 : 51K1 - CNTT Giáo viên hướng dẫn : TS Hoàng Hữu Việt Nghệ An, tháng 12 năm 2014 SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC LỜI CẢM ƠN Ngày nay, công nghệ thông tin ngày phát triển tỏ rõ tầm quan trọng tất lĩnh vực, nói cơng nghệ thơng tin trở thành thƣớc đo để đánh giá phát triển xã hội đại – nơi mà ngƣời dần thoát khỏi cách làm việc thủ công, thô sơ dần tiến đến tin học hóa tất lĩnh vực để cơng việc có hiệu hơn, tiết kiệm thời gian nhân lực Việc nghiên cứu giải thuật, ứng dụng điều hƣớng tới sinh viên theo học công nghệ thông tin Trong đề tài trình bày kết trình nghiên cứu “Xây dựng website dự đoán lỗi từ vựng văn tiếng Việt” Trong trình thực em nhận đƣợc giúp đỡ nhiệt tình từ giảng viên Khoa công nghệ thông tin Nhân dịp em xin gửi lời cảm ơn đến Khoa Công nghệ Thông tin tạo hội giúp em đƣợc tham gia học hỏi, rèn luyện kỹ cần thiết để thực đồ án tốt nghiệp cuối khóa Đặc biệt chúng em xin gửi lời cảm ơn đến giảng viên Hồng Hữu Việt quan tâm góp ý cho đề tài sẵn sàng trả lời tất thắc mắc cần thiết, giúp em hoàn thành tốt làm Mặc dù có nhiều cố gắng nhƣng kiến thức hạn chế với kinh nghiệm chƣa có nên khơng tránh khỏi thiếu sót Vì em mong nhận đƣợc ý kiến đóng góp bổ sung thầy giáo bạn để đề tài em đƣợc hoàn thiện Em xin chân thành cảm ơn! SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC LỜI MỞ ĐẦU Hiện nay, vấn đề kiểm tra lỗi tả từ vựng văn Tiếng Việt vấn đề quan trọng,đƣợc nhiều cá nhân,đơn vị giới quan tâm,nghiên cứu triển khai.Hiện phần mềm Tiếng Anh có cơng cụ hỗ trợ nhƣ Microsoft Office Word, Word Perfect,Vietkey Office…Đối với Tiếng Việt,bài tốn kiểm lỗi tả từ vựng cịn ít,chƣa đáp ứng hết nhu cầu ngƣời dùng Vì ,với mong muốn xây dựng ứng dụng thử nghiệm.Trong đồ án này,chúng thực kiểm tra lỗi tả từ vựng văn Tiếng Việt thực thi website Để xây dựng tốn phát triển đề tài này,chúng tơi sử dụng cơng nghệ LINQ TO SQL SVTH: Hồng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU Giới thiệu 1.1 Bài tốn kiểm lỗi tả 1.2 Một số phƣơng pháp kiểm lỗi tả Một số đặc điểm tiếng Việt 2.1 Đặc điểm tiếng Việt 2.2 Các đơn vị tiếng Việt 2.3 Mơ hình âm tiết tiếng Việt thành tố Một số lỗi tả phƣơng pháp kiểm lỗi mức độ âm tiết 11 3.1 Lỗi đánh máy 11 3.2 Lỗi phát âm 12 3.3 Một số phƣơng pháp khác 13 Mục tiêu đề tài 14 Chƣơng 2:TÌM HIỂU LINQ TO SQL 15 Giới thiệu Linq Linq To Sql 15 2.Mơ hình liệu LINQ To SQL 18 3.Truy vấn liệu với LINQ To SQL 19 4.Các chức LINQ To SQL 24 4.1 Lựa chọn(Select) 25 4.2 Cách chèn hàng vào sở liệu (LINQ to SQL) 25 4.3 Chèn hàng vào sở liệu 26 4.4 Cách cập nhật hàng sở (LINQ to SQL) 27 4.5 Cập nhật 28 4.6 Cách xóa hàng sở liệu (LINQ to SQL) 29 4.7 Quy trình lƣu trữ (LINQ to SQL) 30 Để tạo lớp đƣợc ánh xạ vào liệu bảng khung nhìn LINQ to SQL 33 SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chƣơng 3: XÂY DỰNG ỨNG DỤNG KIỂM TRA LỖI TỪ VỰNG CỦA TIẾNG VIỆT 35 Bài toán 35 Ý tƣởng giải 36 3.Thiết kế sở liệu 36 Thuật tốn 36 Chƣơng 4: KẾT QUẢ 42 Giao diện chƣơng trình 42 Kết chƣơng trình 43 3.Ƣu điểm nhƣợc điểm 44 KẾT LUẬN 45 TÀI LIỆU THAM KHẢO 46 SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chương 1: TIẾNG VIỆT Giới thiệu 1.1 Bài tốn kiểm lỗi tả Bài tốn kiểm lỗi tả tốn phức tạp, đƣợc khơng đơn vị nghiên cứu, phát triển có tính ứng dụng cao, đặc biệt ứng dụng soạn thảo hay nhận dạng văn Chƣơng trình kiểm lỗi tả cần có hai chức chính, lỗi sai đƣa gợi ý sửa lỗi Tuy nhiên, chức kiểm lỗi tả đƣợc tích hợp nhiều ứng dụng soạn thảo tiếng Việt (Vietkey, Unikey) không đƣa gợi ý cho ngƣời dùng lựa chọn Đề giải toàn này, có số cá nhân nhóm nghiên cứu phát triển phần mềm kiểm lỗi tả nhƣ: - Kiểm lỗi tả hệ soạn thảo ngoại tuyến (offline): Chƣơng trình kiểm lỗi tả CopCon ThS Mai Tuấn Khôi - Giảng viên khoa CNTT ĐH Sƣ Phạm Kỹ Thuật TPHCM; Chƣơng trình kiểm lỗi tả Cú Mèo Cơng ty cổ phần đầu tƣ phát triển công nghệ SOBIC phát triển Các phần mềm có khả sửa lỗi tả mức độ từ ghép hai ba âm tiết - Kiểm lỗi tả trực tuyến hầu hết cho tiếng Anh Các chƣơng trình kiểm lỗi tả trực tuyến đa số chƣa hoàn chỉnh, dừng lại mức độ kiểm lỗi âm tiết 1.2 Một số phương pháp kiểm lỗi tả Ta tạm chia hai phƣơng pháp dựa vào luật dựa vào thống kê Các phƣơng pháp dựa theo luật có ƣu điểm khơng tốn nhiều tài nguyên thiết bị, nhiên chƣơng trình sử dụng phƣơng pháp khơng có khả học, kết chƣa cao nhiều ngơn ngữ Có nhiều phƣơng pháp dựa vào thống kê khác đƣợc đƣa để kiểm lỗi tả tiếng Anh Trong phạm vi giới hạn đồ án này, xin liệt kê vài phƣơng pháp đƣợc đánh giá bật "Một số nghiên cứu sử dụng mơ hình kênh nhiễu nhƣ Mays cộng (1990), Church Gale (1991), Brill Moore (2001)" "Phƣơng pháp lai Bayes, sử dụng SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC hàm phân loại Naive Bayes" "Kết hợp mơ hình trigram từ loại hàm phân loại Bayes" Các phƣơng pháp: "học dựa biến đổi (Mangu Brill, 1997), phân tích nghĩa ẩn (Jones Martin, 1997), differential-grammars (Powers, 1997), Winnowbased (Golding Roth, 1999), khôi phục cố kết từ vựng (Hirst Budanitsky, 2001)"1 Tuy nhiên với đồ án này,chúng tơi chọn phƣơng pháp để xây dựng web tìm kiếm từ điển từ tiếng Việt mà khơng dùng phƣơng pháp học hay tính khoảng cách từ Một số đặc điểm tiếng Việt 2.1 Đặc điểm tiếng Việt Tiếng Việt ngôn ngữ đơn lập,có tính độc lập cao,có khả biểu ý nghĩa,có cấu trúc chặt chẽ, quan hệ từ đƣợc biểu thị phƣơng tiện nằm từ nhƣ trật tự từ, hƣ từ Đặc điểm đƣợc áp dụng cho ngữ âm, ngữ pháp ngữ nghĩa 2.2 Các đơn vị tiếng Việt Tiếng (âm tiết) Âm tiết đơn vị phát âm tự nhiên nhỏ ngôn ngữ Trong tiếng Việt, âm tiết đƣợc phát với điệu, viết đƣợc tách rời với âm tiết khác khoảng trống Trên chữ viết, âm tiết tiếng Việt đƣợc ghi thành "chữ" đọc thành "tiếng" Có nhiều cách mơ tả cấu trúc âm tiết tiếng Việt khác nhau: thành phần, hay thành phần Từ: Từ đơn vị ngơn ngữ có nghĩa hồn chỉnh Từ tiếng Việt bao gồm hay nhiều âm tiết xếp theo thứ tự định Có từ đơn, từ ghép từ láy Từ tiếng Việt có khả hoạt động tự độc lập mặt cú pháp Từ tiếng Việt khơng có biến dạng (số nhiều, thứ, bị động) nhƣ nhiều ngôn ngữ khác Câu: Câu từ hợp thành theo quy tắc định Trong tiếng Việt, quy tắc đa dạng SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Dấu : Tiếng Việt gồm có điệu: ngang, huyền, hỏi, ngã, sắc, nặng Trong có dấu thanh, ngang khơng đƣợc biểu diễn dấu Trong văn viết tay, dấu đƣợc đánh tùy tiện, không đặt vào vị trí âm Tuy nhiên, văn đánh máy, việc đánh dấu cần tuân thủ số quy tắc sau: - Với âm tiết có chữ ngun âm, dấu đƣợc đặt vào chữ nguyên âm Vd: à, ì ạch, ọ ẹ, ủ rũ, ọp ẹp, ục ịch, hà, lán, giá, giục, quả, quỹ, quỵt (Chú ý: gi qu đƣợc coi phụ âm) - Với âm tiết, mà âm tiết cần có chữ nguyên âm mang dấu phụ (Ă, Â, Ê, Ơ, Ơ, Ƣ) khơng kể kết thúc chữ gì, dấu đặt chữ (riêng ƢƠ, dấu đặt Ơ) Vd: thuyền, trƣờng - Với âm tiết có hai chữ nguyên âm kết thúc chữ phụ âm tổ hợp chữ phụ âm, dấu đƣợc đặt vào chữ nguyên âm cuối - Với trƣờng hợp lại dấu đƣợc đặt vào chữ nguyên âm áp chót Hiện với trƣờng hợp nguyên âm oa, oe, uy mà khơng có phụ âm kết thúc nhƣ hịa, hịe, thùy có hai cách đánh dấu là: hịa hồ Ở luận văn thống cách viết thứ - hòa - giống nhƣ quy tắc đánh dấu 2.3 Mô hình âm tiết tiếng Việt thành tố Thanh điệu THANH ĐIỆU ÂM ĐẦU VẦN Âm đệm Âm Âm cuối Có tác dụng khu biệt âm tiết cao độ Mỗi âm tiết có điệu Vd:tốn – tồn Âm đầu Có cách mở đầu âm tiết khác (tắc, xát, rung), chúng có tác dụng khu biệt âm tiết Vd: tốn – hốn SVTH: Hồng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Âm đệm Có tác dụng biến đổi âm sắc âm tiết sau lúc mở đầu, có chức biệt âm tiết Vd: toán – tán Âm Mang âm sắc chủ đạo âm tiết hạt nhân âm tiết Vd: túy – túi Âm cuối Có chức kết thúc âm tiết với nhiều cách khác (tắc, không tắc ) làm thay đổi âm sắc âm tiết để phân biệt âm tiết với âm tiết khác Vd: bàn – thành tố âm tiết có, thành phần âm tiết, thành phần làm thành trục đối lập (các âm tiết đối lập theo trục, hay gọi đối hệ) Vd: Đối hệ Ví dụ t w a n đối lập theo trục điệu tồn, toản, tốn 2, 4, đối lập theo trục âm đầu toán, hoán h - đối lập theo trục âm đệm toán, tán đối lập theo trục âm đối lập theo trục âm cuối - - - Ø - - toan, tuôn - - o - toán, toáng - - - ŋ Trong trục đối lập có nhiều vế đối lập nhau, vế âm vị Trong trƣờng hợp “toán” “tán” ta có đối lập trục âm đệm, có vế, vế đƣợc gọi vế có, vế đƣợc gọi vế khơng (zero) Vì ta có hai âm vị làm chức âm đệm: vế không đƣợc gọi âm đệm zero; vế có âm vị /w/ Các bậc phân định thành tố âm tiết Những đƣờng ranh giới qua điệu âm đầu khác số lƣợng khác chất lƣợng so với đƣờng ranh giới phân chia phận lại âm tiết Đƣờng ranh giới qua âm đầu phần cịn lại cịn nói đƣờng ranh giới bán hình thái học (xét trƣờng hợp coi [iek] nhƣ hình vị SVTH: Hoàng Thị Hiền 10 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tất đối tƣợng có lệnh chờ thay đổi đƣợc xếp vào vào chuỗi đối tƣợng dựa phụ thuộc chúng Các đối tƣợng có thay đổi phụ thuộc vào đối tƣợng khác đƣợc xếp sau phụ thuộc Trƣớc thực thay đổi đƣợc truyền, LINQ To SQL bắt đầu giao dịch để tóm tắt chuỗi lệnh riêng lẻ Những thay đổi đối tƣợng đƣợc dịch bƣớc vào lệnh SQL chuyển vào máy chủ Tại thời điểm này, lỗi phát sở liệu tạo trình Submision để ngừng có ngoại lệ xảy Tất thay đổi sở liệu đƣợc cuộn trở lại khơng có Submission xuất DataContext ghi lại đầy đủ tất thay đổi Ngồi ra, bạn cố gắng khắc phục cố gọi lệnh SubmitChangé nhƣ ví dụ sau: Ví dụ: Khi giao dịch xung quanh Submission thành cơng DataContext chấp nhận thay đổi vào đối tƣợng cách bỏ qua thống tin thay đổi ghi Northwnd db = new Northwnd(@"c:\northwnd.mdf"); // Make changes here try { db.SubmitChanges(); } catch (ChangeConflictException e) { Console.WriteLine(e.Message); // Make some adjustments // // Try again db.SubmitChanges(); } Cách tạo lớp đƣợc ánh xạ vào bảng khung nhìn LINQ to SQL (O / R Designer) Các lớp LINQ to SQL đƣợc ánh xạ vào bảng sở liệu đƣợc gọi lớp thực thể Lớp thực thể ánh xạ tới ghi đặc tính riêng lẻ lớp đƣợc ánh xạ vào cột riêng mà đƣợc ghi lại Tạo lớp thực thể dựa bảng sở liệu tổng quan sở liệu cách kéo bảng nhìn từ Server Explorer/Database Explorer O/R Designer tạo lớp áp dụng vào thuộc tính LINQ to SQL đặc biệt để kích hoạt chức LINQ 32 SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC to SQL (truyền liệu hiệu chỉnh tính DataContext Thơng tin chi tiết lớp LINQ to SQL xem mơ hình đối tƣợng LINQ to SQL Chú ý: O / R Designer đối tƣợng đơn giản liên quan đến ánh xạ liệu hỗ trợ mối quan hệ mapping 1:1 Nói cách khác, tổ chức lớp học có 1:1 mapping relationship với bảng sở liệu Quá trình chuyển đổi liệu phức tạp nhƣ ánh xạ entity class vào bảng phức tạp không đƣợc hỗ trợ Tuy nhiên, bạn ánh xạ entity class tới entity class view mà nối bảng có liên quan Để tạo lớp ánh xạ vào liệu bảng khung nhìn LINQ to SQL Kéo bảng khung nhìn từ Server Explorer / Explorer vào O / R Designer để tạo lớp thực thể Hơn phƣơng pháp DataContext phƣơng pháp đƣợc sử dụng để thực thi cập nhật sở liệu Theo mặc định, LINQ SQL runtime tạo logic để lƣu thay đổi từ entity class đƣợc cập nhật vào sở liệu Logic đƣợc dựa sơ đồ bảng (định nghĩa cột thông tin quan trọng) Nếu bạn không muốn hành động này, bạn cấu hình lớp thực thể sử dụng quy trình lƣu trữ liệu để thực thi việc chèn, cập nhật, xóa thay sử dụng hoạt động mặc định LINQ to SQL thời gian chạy Chú ý: Máy tính bạn tên khác hay địa phƣơng khác số yếu tố giao diện ngƣời dùng Visual Studio hƣớng dẫn sau Các ấn Visual Studio mà bạn có thiết lập mà bạn xác định yếu tố -Trong Server/Database Explorer, mở rộng Tables or Views định vị database table or view mà bạn muốn sử dụng ứng dụng bạn -Kéo bảng View vào O/R Designer Một lớp thực thể đƣợc tạo xuất bề mặt thiết kế Lớp thực thể có đặc tính mà ánh xạ vào cột bảng hay View liệu đƣợc chọn Tạo đối tƣợng liệu nguồn hiển thị liệu cho Form Sau bạn tạo lớp thực thể cách sử dụng O / R Designer, bạn tạo đối tƣợng nguồn liệu định cƣ Data Sources Window lớp thực thể Để tạo đối tƣợng nguồn liệu dựa lớp thực thể SQL LINQ SVTH: Hoàng Thị Hiền 33 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Trên trình đơn Build, nhấp chuột vào Build Solution để xây dựng cho dự án bạn Trên trình đơn Data, nhấp chuột vào Show Data Sources Trên cửa sổ Data Sources, nhấp chuột vào Add New Data Source Click vào Object trang Choose a Data Source Type sau nhấp chuột vào Next Mở rộng nodes vị trí chọn lớp bạn Chú ý: Nếu lớp khách hàng không sẵn có, hủy trình wizard, xây dựng dự án, chạy trình wizard lại Click vào Finish để tạo nguồn liệu thêm vào thêm vào entity class Customer vào cửa sổ nguồn liệu Kéo mục từ cửa sổ Data Sources vào Form SVTH: Hoàng Thị Hiền 34 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chương 3: XÂY DỰNG ỨNG DỤNG KIỂM TRA LỖI TỪ VỰNG CỦA TIẾNG VIỆT Bài tốn Bài tốn kiểm tra lỗi tả từ vựng tốn phức tạp,khơng với tiếng Anh mà tiếng Việt nữa.Hiện có nhiều phần mềm hỗ trợ toán nhƣng đa số cho tiếng Anh,cịn phần mềm Tiếng việt cịn hạn chế nhƣ: Phần mềm Tummo Spell 2014:Những điểm phần mềm kiểm tra lỗi tả tiếng Việt Tummo Spell 2014 – Build 1.06.2014 (cập nhật ngày 19/05/2014)Kiểm tra đƣợc từ đơn từ ghép- Kiểm tra lỗi gõ từ lúc đánh máy- Kiểm tra lỗi từ vựng ngữ cảnh sau hoàn thành văn bản- Hỗ trợ di chuyển nhanh đến từ bị lỗi- Thay từ cú nhấp chuột- Bộ từ điển tiếng Việt giảng giải với 35.000 từ Kiểm tra lỗi tả tiếng Việt Microsoft Word (Check spelling as you type) Phần mềm TinySpell 1.9.51 tiện ích miễn phí gọn nhẹ giúp bạn phát lỗi tả q trình soạn thảo văn TinySpell hoạt động chƣơng trình soạn thảo văn thông thƣờng nhƣ Word hay Notepad Tuy nhiên, chƣa có hệ thống kiểm lỗi tả tiếng Việt giải xác vấn đề nhập nhằng từ vựng loại lỗi từ sai nhƣng âm tiết Vì vấn đề phân đoạn từ tiếng Việt xác góp phần quan trọng toán kiểm lỗi cần đƣợc tâm Bên cạnh đó, vấn đề tiếng Việt là: âm tiết sai cấu tạo, cấu tạo nhƣng khơng có từ điển, sai cấu tạo nhƣng từ nƣớc ngoài… Hiện nay, phƣơng pháp kiểm lỗi hầu nhƣ không bắt đƣợc lỗi từ sai nhƣng âm tiết chƣa thể tận dụng, phân tích xác thơng tin ngữ cảnh Ngồi ra, nhƣợc điểm chung hầu hết chƣơng trình kiểm lỗi tả tiếng Việt khơng có khả học, tri thức ngôn ngữ tận dụng đƣợc hạn chế Chính vậy, cần có nghiên cứu để đƣa đƣợc phƣơng pháp tốt SVTH: Hoàng Thị Hiền 35 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC nhất, tận dụng khai thác đƣợc đặc trƣng tiếng Việt Đặc biệt, thích nghi đƣợc với thay đổi khơng ngừng ngơn ngữ địi hỏi sức ngƣời tài nguyên khác Với ý nghĩa mang đến phần mềm dùng Website,giúp linh hoạt việc kiểm tra lỗi,chúng mang đến phần mềm thử nghiệm kiểm lỗi dành cho tiếng Việt VIETNAMESE SPELL CHECKER Ý tưởng giải Bài toán sử dụng cơng nghệ LINQ to SQL thuật tốn tìm kiếm sở liệu -Về giao diện: Xây dựng website có nút Input để upload tệp văn tiếng Việt nút Output để đƣa tệp kết đánh dấu từ bị lỗi Ban đầu để đơn giản, chọn tệp vào/ra tệp txt.Sau xử lý tệp MS-Word, PDF - Về Thuật toán: Khi upload văn bản, Website tìm từ văn từ điển từ tiếng Việt, từ chƣa có từ điển xuất với tần suất thấp đƣa cảnh báo từ bị sai 3.Thiết kế sở liệu Cơ sở liệu Từ điển tiếng Việt Từ điển đƣợc xây dựng cách chép văn có từ đúng, tách từ lƣu trữ vào sở liệu SQL Server Để tiến hành kiểm thử, sử dụng liệu đầu vào từ điển chứa khoảng 5000 từ tiếng Việt đƣợc lấy liệu từ vựng từ trang http://www.informatik.unileipzig.de/~duc/Dict/ thuộc Dự án từ điển tiếng Việt miễn phí (Free Vietnamese Dictionary Project - FVDP) đƣợc thực từ năm 1997 Rất nhiều ngƣời đóng góp cho dự án, đáng kể Nguyễn Tiến Dũng, Phạm Phƣơng Tồn, Tơ Thành Long,Trần Công Sở,Hồ Đức Sơn Để giúp cho việc kiểm lỗi tả từ vựng nhanh, xác dễ dàng hơn,chúng chia từ điển thành bảng theo vần A->Y bao gồm: TableAToB, TableCToE,TableGToL, TableMToO, TablePToT, TableUToY Sau lƣu vào sở liệu SQL Server Thuật tốn Khi upload file văn lên,Website tìm từ văn từ điển SVTH: Hoàng Thị Hiền 36 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC từ Tiếng việt lấy từ Cơ sở liệu SQL Server.Nếu từ chƣa có từ điển xuất với tần suất thấp đƣa cảnh báo từ bị sai đánh dấu từ bị lỗi.Những từ sau import vào làm từ điển phân theo chữ từ A>Y Để thực đƣợc nhƣ vậy,chúng sử dụng thuật toán chủ yếu là: Thuật toán xây dựng từ điển liệu: Dùng phƣơng pháp chép để chép từ văn tiếng Việt.Sau dùng phƣơng pháp tách từ để tách từ riêng lẻ thành từ lƣu vào sở liệu Thuật tốn tìm kiếm liệu: Sau thực thao tác check,kiểm tra lỗi tả file văn bản, sau import liệu văn đó.Lúc ta dùng thuật tốn tìm kiếm để tìm từ sai tả(những từ khơng có sở liệu xuất ít) tìm từ tả file văn để lƣu vào sử liệu Thuật toán đọc xử lý file:Khi upload file lên website thực đọc xử lý file,đối với file txt,.doc,.docx,file pdf,….Website đọc lần lƣợt chữ từ a->y theo từ điển,nếu có sở liệu đƣợc lƣu vào từ điển,nếu khơng có bị đánh dấu sai.File input file txt,file word hay pdf sau đƣợc web xử lý nhận đƣợc file output dạng doc docx Sau sơ đồ mơ tả thuật tốn trên: SVTH: Hồng Thị Hiền 37 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Bắtđầu Tải File lên Đọc File word Đ Là File word S Là File PDF Đ Đ Đọc File PDF S Đọc File text Đ Đ Khởi tạo danh sách từ Từ có danh sách tiếng Việt S Gạch chân, tô đỏ từ sai Xuất File SVTH: Hoàng Thị Hiền 38 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Một số thuật toán khác: Thuật tốn tách từ: Tách từ q trình xử lý nhằm mục đích xác định ranh giới từ câu văn, hiểu đơn giản tách từ trình xác định từ đơn, từ ghép… có câu Đối với xử lý ngơn ngữ, để xác định cấu trúc ngữ pháp câu, xác định từ loại từ câu, yêu cầu thiết đặt phải xác định đƣợc đâu từ câu Vấn đề tƣởng chừng đơn giản với ngƣời nhƣng máy tính, tốn khó giải Chính lý tách từ đƣợc xem bƣớc xử lý quan trọng hệ thống Xử Lý Ngôn Ngữ Tự Nhiên, đặc biệt ngôn ngữ thuộc vùng Đông Á theo loại hình ngơn ngữ đơn lập, ví dụ: tiếng Trung Quốc, tiếng Nhật, tiếng Thái, tiếng Việt Với ngơn ngữ thuộc loại hình này, ranh giới từ không đơn giản khoảng trắng nhƣ ngơn ngữ thuộc loại hình hịa kết nhƣ tiếng Anh…, mà có liên hệ chặt chẽ tiếng với nhau, từ cấu tạo nhiều tiếng Vì ngơn ngữ thuộc vùng Đơng Á, vấn đề tốn tách từ khử đƣợc nhập nhằng ranh giới từ -Các hướng tiếp cận Một cách tổng quát thấy tốn tách từ có phƣơng pháp tiếp cận : · Tiếp cận dựa vào từ điển cố định · Tiếp cận dựa vào thống kê túy · Tiếp cận dựa hai phƣơng pháp -Các phương pháp sử dụng · So khớp từ dài (Longest Matching) · So khớp cực đại (Maximum Matching) · Mơ hình Markov ẩn (Hidden Markov Models- HMM) · Học dựa cải biến (Transformation-based Learning – TBL) · Chuyển đổi trạng thái trọng số hữu hạn (Weighted Finite State Transducer – WFST) · Độ hỗn loạn cực đại (Maximum Entropy – ME) · Máy học sử dụng vectơ hỗ trợ (Support Vector Machines) Trƣờng xác xuất có điều kiện (CRFs) SVTH: Hồng Thị Hiền 39 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC -Ứng dụng toán tách từ Bài toán tách từ toán tốn đặt cho xử lý ngơn ngữ sau : · Phân tích hình thái (morphological analysis) o Phân tích phụ tố o Nhận diện tên riêng o Nhận diện ranh giới ngữ · Phân tích ngữ pháp (PARSER) o Gán nhãn từ loại o Gán nhãn ranh giới ngữ o Gán nhãn quan hệ cú pháp · Xử lý văn o Kiểm lỗi tả o Kiểm lỗi văn phạm o Phân loại văn Tìm kiếm danh sách: Có lẽ giải thuật tìm kiếm danh sách loại giải thuật tìm kiếm Mục đích tìm tập hợp phần tử chứa khóa Do tốn thƣờng gặp khoa học máy tính, nên độ phức tạp tính tốn thuật toán đƣợc nghiên cứu kỹ Thuật tốn đơn giản tìm kiếm tuyến tính Thuật tốn kiểm tra phần tử danh sách theo thứ tự danh sách Nó có thời gian chạy lớn: O(n), n số phần tử danh sách, nhƣng sử dụng thẳng cho danh sách mà khơng cần tiền xử lý Tìm kiếm nhị phân thuật toán cao cấp với thời gian chạy O(log n) Đối với danh sách lớn, thuật tốn tốt hẳn tìm kiếm tuyến tính, nhƣng địi hỏi danh sách phải đƣợc xếp từ trƣớc (xem thuật tốn xếp) địi hỏi khả truy nhập ngẫu nhiên (random access) Tiìm kiếm nội suy (Interpolation search) tốt tìm kiếm nhị phân danh sách lớn với phân bố gần Giải thuật Grover thuật toán lƣợng tử cho phép tăng tốc độ gấp lần so với tìm kiếm tuyến tính truyền thống danh sách chƣa đƣợc xếp SVTH: Hoàng Thị Hiền 40 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Bảng băm (hash table) đƣợc dùng cho tìm kiếm danh sách Nó địi hỏi thời gian số trƣờng hợp trung bình, nhƣng lại cần nhiều phụ phí không gian nhớ thời gian chạy O(n) cho trƣờng hợp xấu Một phƣơng pháp tìm kiếm khác dựa cấu trúc liệu chuyên biệt sử dụng tìm kiếm nhị phân cân (self-balancing binary search tree) đòi hỏi thời gian chạy O(log n); giải thuật loại coi mở rộng tƣ tƣởng tìm kiếm nhị phân phép chèn xóa nhanh Xem mảng liên kết (associative array) để biết thêm cấu trúc liệu tìm kiếm danh sách Đa số giải thuật tìm kiếm danh sách, chẳng hạn tìm kiếm tuyến tính, tìm kiếm nhị phân, tìm kiếm nhị phân cân bằng, đƣợc mở rộng với chút chi phí bổ sung để tìm tất giá trị nhỏ lớn khóa cho trƣớc - phép tốn đƣợc gọi tìm kiếm khoảng (range search) Bảng băm ngoại lệ, tìm kiếm khoảng khơng thể đƣợc thực cách hiệu bảng băm SVTH: Hoàng Thị Hiền 41 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Chương 4: KẾT QUẢ Giao diện chương trình Giao diện chính: Chức upload file liệu vào ,check từ(kiểm tra lỗi tả) delete liệu: Chức download import liệu để đƣa từ tả vào sở liệu: SVTH: Hoàng Thị Hiền 42 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Kết chương trình Chúng tơi thực kiểm lỗi tả cho đoạn văn sau: Năm nay, mẹ em bốn mƣơi tuổi Với thân hình mảnh mai, thon thả tôn thêm vẻ đẹp sang trọng ngƣờddihhgjdhgjdh mẹ hiền từ Mái tóc đen óng mƣợt mà dài ngang lƣng đƣợc mẹ thắt lên gọn gàng Đơi mắt mother đen láy ln nhìn em với ánh mắt trìu mến thƣơng u hkahe Khn mặt mẹ hinh trai xoan với da trắng Đôi môi thắm hồng nằm dƣới mũi cao tú nhìn thghfhđấy đẹp Khi cƣời, nhìn mẹ tƣơi nhƣ đóa hoahee hồng vừa nở ban mai Đôi bàn tay mẹ ram nắng ngón tay gầy gầy xƣơng xƣơng mẹ phải tảo tần để ni nấng, dìu dắt em từ thƣở em vừa lọt lịng.Mẹ làm nghề nơhienhng nhƣng mẹ may thêu đẹp Đặc biệt mẹ may đồ trông thật duyên dáng, sang trọng.At home, mẹ ngƣời đảm nhiệm công việc nội trợ Mother dạy cho em công việc nhẹ nhàng nhƣ: quét nhà, gấp quần áo… Sau test website đƣa kết là: Năm nay, mẹ em bốn mƣơi tuổi Với thân hình mảnh mai, thon thả tơn thêm vẻ đẹp sang trọng ngƣờddihhgjdhgjdh mẹ hiền từ Mái tóc đen óng mƣợt mà dài ngang lƣng đƣợc mẹ thắt lên gọn gàng Đôi mắt m other đen láy ln nhìn em với ánh mắt trìu mến thƣơng yêu hkahe Khuôn mặt mẹ hinh trai xoan với da trắng Đôi môi thắm hồng nằm dƣới mũi cao tú nhìn th ghfhđấy đẹp Khi cƣời, nhìn mẹ tƣơi nhƣ đóa hoahee hồng vừa nở ban mai Đôi bàn tay mẹ ram nắng ngón tay gầy gầy xƣơng xƣơng mẹ phải tảo tần để ni nấng, dìu dắt em từ thƣở em vừa lọt lịng.Mẹ làm nghề nơhienhng nhƣng mẹ may thêu đẹp Đặc biệt mẹ may đồ trông thật duyên dáng, sang trọng.At home, mẹ ngƣời đảm nhiệm công việc nội trợ Mother dạy cho em công việc nhẹ nhàng nhƣ: quét nhà, gấp quần áo SVTH: Hoàng Thị Hiền 43 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Kết cho thấy số lỗi từ không bao gồm từ sở liệu(Bộ từ điển tiếng Việt) từ tiếng Anh nhƣ :mother,home, other… Nhƣ vậy,độ xác kiểm lỗi tƣơng đối cao(90%),tuy nhiên Bộ từ điển lớn,nhiều từ nên kiểm tra lỗi số lỗi từ chƣa xác Sau check từ xong,các từ đƣợc lƣu vào sở liệu làm từ điển tiếng Việt.Những từ sai khơng đƣợc làm sở liệu 3.Ưu điểm nhược điểm Ƣu điểm: Ƣu điểm ứng dụng chạy web sử dụng đâu có Internet khơng phụ thuộc vào platform Một ứng dụng web sử dụng gần nhƣ tất hệ máy cần có trình duyệt (browser) có kết nối internet Một ƣu điểm khác ứng dụng chạy nhanh,hiệu tƣơng đối cao,dễ sử dụng Bên cạnh đó, chức độc lập chƣơng trình đƣợc sử dụng chƣơng trình khác nhƣ module Ví dụ nhƣ chức kiểm lỗi tả tiếng Việt đƣợc sử dụng việc kiểm tra lỗi tả soạn email,word,notebook,… Một ƣu điểm khác sử dụng hệ CSDL truy xuất liệu phần mà khơng phải nạp toàn liệu vào nhớ (RAM) Nhƣợc điểm: Một ứng dụng web tất nhiên khơng thể sử dụng khơng có internet Cũng nhƣ vậy, ta sử dụng phần mềm client, chƣơng trình cần gửi thơng tin đầu vào đến server để xử lý sau nhận lại kết trả từ server Q trình cần thơng qua đƣờng truyền internet Ngồi ra,nhƣ nói trên,do Bộ từ điển tiếng Việt lớn(khoảng 5000 từ) nên kiểm lỗi gặp số từ khơng xác,tốc độ kiểm lỗi cịn chậm Do thời gian hạn chế kiến thức hạn hẹp nên trang web cịn thiếu số tính năng,nếu có thêm thời gian kiến thức,chúng tiếp tục bổ sung thêm cho trang web hoàn thiện SVTH: Hoàng Thị Hiền 44 Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC KẾT LUẬN Đề tài trình bày cách tiếp cận, phƣơng pháp giải tốn kiểm lỗi tả từ vựng tiếng Việt Trọng tâm đề tài sử dụng công nghệ LINQ TO SQL để kiểm lỗi tả từ vựng tiếng Việt Các kết đạt đƣợc là: - Nắm đƣợc kiến thức công nghệ LINQ to SQL ứng dụng vào tồn kiểm lỗi tả tiếng Việt, tận dụng đƣợc nguồn tài nguyên dồi internet để giải toán nhằm giảm công sức ngƣời,giúp cho ngƣời sử dụng dễ dàng ,thuận tiện,nhanh chóng xác - Cài đặt chƣơng trình ứng dụng internet Các vấn đề tồn tại: - Tỉ lệ sửa lỗi xác cịn chƣa cao sử dụng thuật tốn tìm kiếm xây dựng liệu LINQ vào việc kiểm lỗi - Tốc độ chƣơng trình cịn chƣa cao Qua kết đề tài cho thấy, độ xác tƣơng đối nhƣng cho ta thấy tầm quan trọng việc sử dụng công nghệ LINQ TO SQL tốn kiểm lỗi tả nói chung kiểm lỗi từ vựng tiếng Việt nói riêng Bên cạnh đó, tốc độ chƣơng trình chƣa cao nhƣng khả tối ƣu chƣơng trình cịn lớn Chúng tơi tin tƣởng độ xác đƣợc nâng cao đáng kể kết hợp với phƣơng pháp học máy định khác Đồng thời sử dụng thuộc tính tri thức ngôn ngữ nâng cao Nhƣ vậy, đề tài cho thấy khả ứng dụng rộng rãi chƣơng trình thực thi web - internet, đặc biệt với tốn có tính ứng dụng thực tiễn cao nhƣ tốn kiểm tra lỗi tả Hƣớng nghiên cứu là: - Sử dụng tri thức ngôn ngữ nâng cao nhƣ từ, ngữ pháp, ngữ nghĩa - Bổ sung thêm số chức khác nhƣ phân quyền cho ngƣời dùng - Tối ƣu hóa tốc độ nhớ cho q trình kiểm lỗi - Kết hợp mơ hình ngơn ngữ khác để kiểm lỗi tả nhƣ Maximum Entropy - Trong thời gian tới,chúng đề xuất ý tƣởng Xây dựng ứng dụng di động dành cho việc Check file… 45 SVTH: Hoàng Thị Hiền Lớp 51K1 - CNTT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC TÀI LIỆU THAM KHẢO Tiếng Anh [1] Daniel Jurafsky & James H Martin Speech and language processing: An [2] introduction to speech recognition, computational linguistics and natural language processing 2007 [3] Department of Computer Science, Columbia University, 2009, N-Grams and Corpus Linguistics, Lecture [4] Georgetown University, Introduction to Natural Language Processing, Autumn 2005, Course's Lecture [5] Julia Hockenmaier, Introduction to NLP, Fall 2008, Lecture 3: Probability theory, N-grams and perplexity Tiếng Việt [6] Cao Văn Việt, Xây dựng mơ hình ngơn ngữ cho tiếng Việt, 2010, Luận văn tốt nghiệp, Hà Nội [7] Đoàn Xuân Kiên, Xem lại vấn đề ngữ âm tiếng Việt: Cấu trúc âm tiết, 1998, Tập san Hợp Lƣu 48 [8] Đinh Thị Phƣơng Thu, Huỳnh Quyết Thắng, Nguyễn Văn Lợi Sử dụng cấu tạo âm tiết tiếng Việt hai thành phần toàn kiểm tra tả tiếng Việt, 10/2007, tạp chí BCVT & CNTT kỳ [9] Hồng Phê, Chính tả tiếng Việt, 1999, Nhà xuất Đà Nẵng [10] Hoàng Phê (chủ biên), Từ điển tiếng Việt, 2002, Nhà xuất Đà Nẵng [11] Ngonngu.net, Âm tiết đ ặc điểm âm tiết tiếng Việt, 2006, http://ngonngu.net/index.php?p=60 [12] Nguyễn Phƣơng Thái, Kiểm lỗi tả cảm ngữ cảnh tiếng Việt, 2003, Luận văn thạc sĩ, Hà Nội [13] Nguyễn Gia Định, Trần Thanh Lƣơng, Thuật toán kiểm tra âm tiết tiếng việt dựa luật cấu tạo âm tiết, 2004, Trƣờng Đại học Khoa học - Đại học Huế, Tạp chí khoa học - Đại học Huế, Số 25 SVTH: Hoàng Thị Hiền 46 Lớp 51K1 - CNTT ... Tên đồ án: XÂY DỰNG WEBSITE DỰ ĐOÁN LỖI TỪ VỰNG CỦA VĂN BẢN TIẾNG VIỆT Sinh viên thực Mã sinh viên Lớp : Hoàng Thị Hiền : 1051070414 : 51K1 - CNTT Giáo viên hướng dẫn : TS Hoàng Hữu Việt Nghệ... NGHIỆP ĐẠI HỌC Chương 3: XÂY DỰNG ỨNG DỤNG KIỂM TRA LỖI TỪ VỰNG CỦA TIẾNG VIỆT Bài toán Bài toán kiểm tra lỗi tả từ vựng tốn phức tạp,khơng với tiếng Anh mà cịn tiếng Việt nữa.Hiện có nhiều phần... đƣợc từ đơn từ ghép- Kiểm tra lỗi gõ từ lúc đánh máy- Kiểm tra lỗi từ vựng ngữ cảnh sau hoàn thành văn bản- Hỗ trợ di chuyển nhanh đến từ bị lỗi- Thay từ cú nhấp chuột- Bộ từ điển tiếng Việt