logo

Tài liệu về Microsoft Windows

Giải pháp quản lí công văn và điều hành tác nghiệp là một giải pháp hoàn chỉnh trong việc tin học hóa công việc chính. Giải pháp tập trung vào hai nhiệm vụ chính: Một là giúp cho việc quản lí công văn cũng như các loại văn bản giấy tờ tại cơ quan một cách dễ dàng và hợp lí, hai là giúp cho người chỉ huy, người đứng đầu đơn vị ra các chỉ thị, các quyết sách điều hành một cách nhanh chóng chuyển đến...
XÂY DỰNG CÔNG CỤ KIỂM TRA CHÍNH TẢ TIẾNG VIỆT TRONG MÔI TRƯỜNG MICROSOFT WINDOWS DESIGN A TOOL KIT TO CHECK THE SPELLING OF VIETNAMESE TEXT IN MICROSOFT WINDOWS Phan Huy Khánh E-mail: [email protected] Tóm tắt⎯Bài báo này trình bày giải pháp thiết kế một công cụ gọi là ViệtTools cho phép kiểm tra chính tả tiếng Việt bằng cách xây dựng một cơ sở dữ liệu từ vựng trên mã VIQR. ViệtTools được mở rộng thành công cụ vạn năng để có thể chuyển mã văn bản, sắp xếp, tra cứu từ điển tiếng Việt hoặc từ điển đa ngữ, xử lý ngôn ngữ tự nhiên. Từ khoá⎯cơ sở dữ liệu, mã, chuyển mã, mã trục, phông chữ, tiếng Việt, chính tả, từ điển, xử lý văn bản. I Đặt vấn đề Như đã biết, chính tả tiếng Việt là một vấn đề luôn luôn được nhiều người quan Hiện nay, hầu như mọi công văn, giấy tâm, bởi vì tính thống nhất của ngôn ngữ tờ giao dịch thường ngày đều được tạo ra và được thể hiện ở tính thống nhất về chính tả. in ấn bằng máy vi tính. Một trong những Từ hàng thế kỷ nay, tiếng Việt luôn đổi mới phần mềm “văn phòng” được sử dụng và phát triển cùng với văn hoá, xã hội, kinh tương đối thông dụng là trình soạn thảo văn tế và giao lưu quốc tế. Để có thể sử dụng bản Microsoft Word (gọi tắt là WinWord). đúng đắn cũng như góp phần làm phong Có thể nói việc chế bản, in ấn tự động đã phú tiếng Việt, việc chuẩn hoá và thống làm văn bản được trình bày đẹp hơn, nội nhất chính tả rõ ràng là một vấn đề có tính dung phong phú hơn và do vậy, chất lượng thời sự. hiệu quả công việc cũng được tăng lên. Như vậy, vấn đề đặt ra là làm sao có thể Tuy nhiên, việc soạn thảo các văn bản khắc phục các lỗi chính tả tiếng Việt khi tiếng Việt vẫn còn đặt ra những vấn đề chưa soạn thảo văn bản trên máy vi tính ? Do được giải quyết tốt, trong đó có vấn đề tìm trình soạn thảo văn bản Winword chỉ có và khắc phục các lỗi chính tả. Nguyên nhân chức năng phát hiện và sửa lỗi chính tả là việc sử dụng máy vi tính tương đối phổ (check and correct spelling) áp dụng được cập, sự bận rộn và phức tạp của cuộc sống cho tiếng Anh, hiện nay đã có những giải nên con người có ít thời gian, các phần pháp để áp dụng cho tiếng Việt. Ví dụ trình mềm hiện nay hầu như chỉ làm việc với VietSpell Checker (của Trung tâm Tin học, tiếng Anh... ĐHKH tp.HCM), ViệtKey (của Đặng Minh Những lỗi chính tả hay gặp nhất là : Tuấn), các phông chữ VNI tân kỳ, ABC... − Bỏ dấu thanh sai, viết sai do cách phát Bài báo này trình bày một giải pháp âm sai từ vùng này qua vùng khác, ví dụ tổng quát và có tính mở để xây dựng một nghiệp gõ thành ngiệp, sờ gõ thành xờ, công cụ, được gọi là ViệtTools, có chức ngõ gõ thành ngỏ trong ngõ phố, ngõ năng phát hiện - sửa lỗi chính tả và các hẻm... chức năng xử lý tiếng Việt khác như : − Đặt dấu câu sai, hay gặp là các dấu phẩy − Chuyển đổi các văn bản tiếng Việt soạn (,), dấu chấm (.), dấu chấm lửng (...) thảo trên một hệ phông chữ bất kỳ sang v.v... không có dấu cách phía sau mà lại một hệ phông chữ bất kỳ khác. có dấu cách phía trước, ví dụ gà, bò, − Sắp xếp văn bản tiếng Việt theo thứ tự heo... lại gõ thành gà ,bò ,heo ... ABC không phụ thuộc vào phông chữ − Không theo chuẩn hoá chính tả, sử dụng đang sử dụng. nhiều từ một cách tuỳ tiện không nhất − Khai thác tra cứu từ với chức năng là quán ngay trong cùng một văn bản, ví dụ một từ điển đơn ngữ và/hoặc đa ngữ. gẫy mà không phải gãy, màu (sắc) thay cho mầu (nhiệm), gửi thay cho gởi, v.v... 1 Xây dựng công cụ kiểm tra chính tả tiếng Việt − Khả năng mở rộng để xử lý tiếng Việt Hình 1 Cấu trúc âm tiết tiếng Việt theo quan điểm xử lý ngôn ngữ tự nhiên... Theo thống kê của Hoàng Phê, tiếng Theo từ điển chính tả của Hoàng Phê [ Việt có tất cả 25 phụ âm đầu và 1160 khuôn 1], tiếng Việt có 6.760 âm tiết chữ viết để vần, cấu trúc âm tiết luôn luôn gồm một phụ cấu tạo từ đơn hay từ ghép. Mỗi âm tiết âm đầu ghép với một khuôn vần hoặc âm gồm hai phần : phụ âm đầu (có thể vắng tiết chỉ gồm một khuôn vần. mặt) và khuôn vần (gồm vần và thanh điệu). Ví dụ các từ đơn ăn, học, đẹp, trường... là II Thiết kế công cụ ViệtTools do các âm tiết ăn, học, đẹp, trường... tạo ViệtTools sẽ được thiết kế trong môi thành, các từ ghép chăm chỉ, đẹp đẽ do các trường Microsoft Windows để có thể áp phụ âm đầu ch, đ và các âm tiết ăm, ỉ, ẹp và dụng cho các ứng dụng văn phòng như ẽ tạo thành. Winword, Excel, Access, PowerPoint.... Về Như vậy, để phát hiện và sửa lỗi chính mặt lý thuyết, cần phải giải quyết ba vấn đề tả, cần dựa trên việc phân tích một âm tiết là xây dựng bộ phát hiện - sửa lỗi chính tả, bằng cách nhận diện (về mặt hình học) phụ cơ sở dữ liệu từ vựng và chuyển đổi mã. âm đầu và khuôn vần. Cấu trúc âm tiết có II.1. Xây dựng bộ phát hiện và sửa thể được phân biệt như sau (Hình 1) : lỗi chính tả Để xây dựng bộ phát hiện - sửa lỗi Âm tiết chính tả, cần giải quyết hai vấn đề là phát Khuôn vần Phụ âm đầu hiện lỗi chính tả và sửa lỗi. Ta có thể sử Vần Thanh điệu dụng thuật toán sau (Hình 2) : Repeat Đọc_một_âm_tiết Phân_tích_âm_tiết Kiểm_tra_lỗi_chính_tả If Có_lỗi then Sửa_lỗi Until Hết_ âm_tiết or Yêu_cầu_dừng Hình 2 Thuật toán phát hiện và sửa lỗi chính tả Việc Đọc_một_âm_tiết được tiến hành Các cặp phụ âm đầu có độ dài 1, ch, lần lượt từ đầu văn bản đang xét trở đi gh, kh, ph, th, tr và ng), hoặc 3 (ngh). Nếu hoặc bắt đầu từ vị trí dấu chèn trở về cuối một âm tiết bắt đầu bởi một nguyên âm thì văn bản (down) hoặc ngược (up) về đầu âm tiết đó không có phụ âm đầu. văn bản. Một âm tiết là một xâu ký tự chỉ Sau khi phân tích âm tiết thành phụ âm gồm toàn chữ cái thuộc phông chữ tiếng đầu và khuôn vần, Kiểm_tra_lỗi_chính_tả Việt đang sử dụng hiện hành, được đặt được tiến hành theo hai bước : giữa các ký tự ngắt câu, hoặc ký tự ngắt 1. Phụ âm đầu (nếu có) và khuôn vần có dòng, hoặc ký tự khác chữ cái. thuộc danh sách các phụ âm đầu và Phân_tích_âm_tiết tức là tách âm tiết khuôn vần cho phép không ? thành 2 phần, phụ âm đầu và khuôn vần. 2. Âm tiết có hợp lệ không ? Khi nhận diện, ta thấy phụ âm đầu gi có Nếu âm tiết đang xét vi phạm một hai trường hợp phân biệt là g (trong giục, trong hai lỗi trên (để tiện trình bày, ta gọi giã...) và gi (trong giận, giêng...) còn các là lỗi loại 1 và là lỗi loại 2), giá trị biến phụ âm đầu khác đều không chứa nguyên logic Có_lỗi được khẳng định, nghĩa là đã âm. Phụ âm đầu qu mặc dù có chứa phạm lỗi chính tả. nguyên âm u nhưng dễ tách ra khỏi âm tiết Trong trường hợp này, việc Sửa_lỗi sẽ vì không có q đứng một mình. căn cứ vào bản chất của lỗi là loại 1 hay 2 Xây dựng công cụ kiểm tra chính tả tiếng Việt loại 2. Tính “thông minh” của bộ phát hiện âm tiết căn cứ vào vị trí hàng của phụ âm - sửa lỗi chính tả là ở chỗ có thể “đoán” đầu và vị trí cột của khuôn vần. được ý đồ của tác giả văn bản mà gợi ý Ví dụ âm tiết ngoại là phần tử được cách sửa chữa. xác định từ phụ âm đầu th và khuôn vần Việc phát hiện - sửa lỗi dừng khi oại từ bảng sau (bên phải Hình 3 là cách không còn âm tiết hoặc người sử dụng yêu xác định âm tiết đó) : cầu dừng công việc. ... oại ... oại II.2. Xây dựng cơ sở dữ liệu từ ... vựng ng ⌦ Do cấu trúc âm tiết tiếng Việt và để sử ... ng • dụng các bảng thống kê âm tiết trong [ 1], Hình 3 Cách xác định một âm tiết ta có thể thiết kế cơ sở dữ liệu là một mảng hai chiều. Mỗi phần tử của mảng cho phép Cấu trúc một phần tử mảng như sau : kiểm tra tính đúng đắn (hay sự có mặt) một Type Phần_tử_mảng = Record Vấn_đề_chính_tả Loại_từ Nghĩa Nối_từ Chuyển_ngữ end Hình 4 Cách xác định một âm tiết Mục Vấn_đề_chính_tả có thể có các Mục Loại_từ cho biết đây là loại từ gì giá trị như sau : về mặt ngữ pháp, nếu âm tiết là một từ − Có âm tiết sử dụng trong tiếng Việt đơn. Chẳng hạn loại từ có thể là danh từ, − Có vấn đề về chính tả, ví dụ về thanh đại từ, động từ, phụ từ, tính từ, v.v... điệu (họa hay hoạ, qúy hay quý...), về Mục Nghĩa cho biết nghĩa (semantic) phát âm các phương ngữ với chữ viết (z của từ biên soạn theo nội dung cuốn Từ tương đương d và gi, kỳ dị, lý luận, điển tiếng Việt [ 2]. Về mặt chương trình, kỉ...), về từ ngữ vay mượn của nước trường Nghĩa được thiết kế là một con trỏ ngoài (karaole, photocopy, fax, bếp (pointer) trỏ đến nơi chứa các dòng văn gas...)... bản giải thích nghĩa của từ. − Có yếu tố cấu tạo từ Hán-Việt, ví dụ Mục Nối_từ cho phép liên kết với các cọng - cộng..., bãi - bỏ... âm tiết khác để tạo thành các từ ghép. Ví − Không thể có cấu tạo âm tiết như qút, các từ ghép tươi đẹp, xinh tươi, xinh đẹp, quôn, coan (quan), cuê (quê)... xinh xinh, xinh xắn, đẹp đẽ được minh hoạ Tuỳ theo mức độ nghiên cứu chính tả, cách nối ghép như sau (Hình 5) : có thể thêm các giá trị mới vào mục này. 3 ẹp ẽ đ đ • • ươi ắn inh t • x • x • Hình 5 Cách tạo các từ ghép Với từ ghép đôi, có thể xảy ra các mối kẽo kẹt... hoặc từ ghép dài hơn thì phải xây nối hai chiều, như ân ái - ái ân, bảo đảm - dựng các mối nối bắc cầu. đảm bảo... hoặc các mối nối vòng, như Hình 6 dưới đây mô tả Nối_từ là một chung chung, xinh xinh... Trường hợp các cấu trúc con trỏ đặc biệt cho phép xử lý từ ghép ba, như tỏng tòng tong..., các từ các loại mối nối khác nhau như vừa trình ghép bốn như lượt thà lượt thượt, kẽo cà bày. Để dễ triển khai, có thể quy ước các từ ghép chỉ xác định bởi âm tiết đầu. Type Nối_từ = Record Nối_đôi Nối_vòng Nối_bắc_cầu end Hình 6 Cấu trúc mối nối từ Các trường Nối_đôi, Nối_vòng và dụng là 1 byte hoặc 2 byte, thứ tự dấu Nối_bắc_cầu là những con trỏ trỏ đến một thanh, cách bố trí các ký tự...). Do chưa sử danh sách gồm các con trỏ trỏ đến các dụng mã thống nhất nên giải pháp tốt nhất phần tử của mảng (số phần tử của danh là nên sử dụng một bộ mã trục (pivot code) sách là số từ ghép tương ứng). để dễ dàng chuyển đổi qua lại giữa các mã. Mục Chuyển_ngữ cho phép ghi nghĩa Bộ mã trục được chọn là VIQR tương đương của âm tiết (từ đớn) và từ (VIetnamese Quoted Readable ghép trong một ngôn ngữ nào đó, ví dụ Specifications). Bộ mã này do nhóm Viet- Anh ngữ, Pháp ngữ, v.v... Như vậy có thể Std (Vietnamese Standardization Working thiết kế mục Chuyển_ngữ có cùng cấu trúc Group) phát triển chỉ sử dụng các ký tự với mục Nối_từ. ASCII chuẩn 7-bits để biểu diễn dấu tiếng Việt nên tính tương thích rất cao. II.3. Chuyển đổi mã Ví dụ để gõ vào câu Đại học Đà nẵng : Hiện nay có rất nhiều phông chữ DDa.i ho.c DDa` na(~ng. (fonts) tiếng Việt xây dựng trên nhiều bộ mã khác nhau (khác nhau về số bytes sử 4 IBM CP 01129 VISCII TCVN3 VNI VIQR VietWare VietKey BKtpHCM Microsoft CP 1258 Hình 7 Bộ mã trục VIQR Trước khi chuyển mã nguồn về mã Cấu trúc cơ sở dữ liệu từ vựng đã thiết VIQR cần có thủ tục Nhận_diện_ kế cho phép xây dựng từ điển đa chức năng mã_nguồn và trước khi chuyển mã VIQR (multipurpose), đa ngữ (multilingual) phục sang một mã đích khác cần có thủ tục vụ xử lý ngôn ngữ tự nhiên, trước hết là từ Nhận_diện_mã_đích. điển chính tả và từ điển tra nghĩa. Như vậy để phát hiện lỗi chính tả, công cụ ViệtTools sẽ làm việc trên các âm tiết đã Tài liệu tham khảo được chuyển sang mã VIQR. ViệtTools [ 1 ] Hoàng Phê. Từ điển chính tả. Trung tâm từ phân tích các âm tiết để dò tìm phụ âm đầu điển học, NXB Đà nẵng 1995 và khuôn vần tìm được trong các vectơ phụ [ 2 ] Hoàng Phê. Từ điển tiếng Việt. Trung tâm âm đầu và khuôn vần tương ứng theo mã từ điển học, NXB Đà nẵng 1997 VIQR. [ 3 ] Nguyễn Kim Thản. Ngữ pháp tiếng Việt. NXB Giáo dục 1997 III Kết luận [ 4] W. J. Hutchins & H. L. Somers. An Về mặt lý thuyết, ta đã thiết kế xong Introduction to Machine Translation. công cụ ViệtTools cho phép phát hiện và Academic Press 19ìc sửa lỗi chính tả. Ưu điểm của phương pháp [ 5] B. T. S Atkins & A. Zampolli. là công cụ hoạt động không phụ thuộc vào Computational Approaches to the Lexicon. mã phông chữ tiếng Việt đang sử dụng và Oxford University Press 1994 không phụ thuộc vào ứng dụng hiện hành. ViệtTools cũng được thiết kế theo hướng mở bằng cách thêm các chức năng sắp xếp, chuyển mã văn bản hoặc dữ liệu tiếng Việt, v.v... 5
DMCA.com Protection Status Copyright by webtailieu.net