PhÇn 1
4.1. Khai phá dữ liệu văn bản tiếng Việt
Việc áp dụng công nghệ thông tin vào quản lý và tác nghiệp trong các tổ chức ở Việt Nam mới thực sự được quan tâm và phát triển trong khoảng 10 năm trở lại đây. Mặc dù hiện nay đã có một số hệ thống CNTT trợ giúp việc quản lý số liệu và thông tin nhưng hầu hết là dữ liệu được xây dựng trên nền tảng của Microsoft hay Lotus Node. Dữ liệu nằm ở dạng văn bản vẫn chiếm đến 80% và vẫn hầu như phải khai thác thủ công trong khi nhu cầu sử dụng các hệ thống khai phá tri thức từ các văn bản tiếng Việt ngày càng nhiều và cấp thiết, ví dụ các nhà xuất bản, thư viện muốn thiết lập một hệ thống tra cứu các tài liệu tiếng Việt, phân loại tự động tài liệu khi nhập sách về,...
Tuy nhiên, khi bước vào nghiên cứu, xây dựng các hệ thống như vậy, các nhà nghiên cứu đã gặp rất nhiều khó khăn. Một cách trực quan chúng ta có thể thấy ngay rằng nếu chúng ta áp dụng trực tiếp những kỹ thuật khai phá dữ liệu văn bản đã được nghiên cứu và phát triển trên thế giới vào dữ liệu văn bản tiếng Việt thì hiệu quả mang lại sẽ không cao. Nguyên nhân là do bản thân sự phức tạp của tiếng Việt. Đây cũng là một vấn đề đang đặt ra đối với việc khai phá dữ liệu văn bản tiếng Việt hiện nay. Do đó đòi hỏi chúng ta phải nghiên cứu các đặc trưng của tiếng Việt khi tiếp cận vấn đề này.
4.2. Các đặc trưng của tiếng Việt
Qua một số nghiên cứu trước đây về tiếng Việt [2, 3], hai hướng tiếp cận chính cho vấn đề xử lý ngôn ngữ tiếng Việt trong bài toán phân lớp văn bản tiếng Việt là dựa trên “ngữ pháp tiếng Việt” và dựa trên “từ điển tiếng Việt”.
Theo hướng tiếp cận của nghiên cứu tiến hành trong luận văn ở đây tác giả sẽ chỉ đi vào một số đặc trưng cơ bản nhất của tiếng Việt theo cách tiếp cận dựa trên
“từ điển”.
4.2.1. Các đơn vị tiếng Việt
Tiếng là đơn vị nhỏ nhất có thể có ý nghĩa. Về mặt ngữ âm thì tiếng là một âm tiết và được ghi lại thành một cụm kí tự trong văn bản. Tiếng là đơn vị ngữ pháp dùng để cấu tạo từ. Ví dụ: ai, thơ, văn,...
Từ là đơn vị nhỏ nhất để đặt câu. Ví dụ: ngày mai, bóng đá,... Để có thể hiểu, nói, viết, suy nghĩ chúng ta sử dụng từ chứ không sử dụng tiếng. Một điều khác biệt là trong các ngôn ngữ phổ dụng như tiếng Anh, Pháp,... các khoảng trống đánh dấu sự tách rời các từ thì ở tiếng Việt khoảng trống chỉ đánh dấu sự tách rời các tiếng. Đây cũng chính là một khó khăn của tiếng Việt, câu hỏi đặt ra là làm thế nào để phát hiện được các từ trong tiếng Việt? Vì vậy khi nghiên cứu tiếng Việt chúng ta sẽ phải quan tâm đến vấn đề ghép các tiếng thành . từ
Câu là đơn vị ở bậc cao hơn, mang tính hoàn chỉnh của quá trình tư duy so với từ. Câu có cấu tạo đa dạng: câu đơn, câu ghép. Cấu tạo ngữ pháp của câu thay đổi có thể làm thay đổi nghĩa của câu.
4.2.2. Các đặc điểm chính tả văn bản tiếng Việt
Việc nghiên cứu đặc điểm chính tả tiếng Việt có ý nghĩa quan trọng trong tiền xử lý dữ liệu văn bản. Một số đặc điểm chính tả của tiếng Việt cần quan tâm như:
Các tiếng đồng âm: kĩ/kỹ, lí/lý,... thường bị sử dụng lẫn nhau, ví dụ: lý luận, lí luận,...
Các từ địa phương: một số từ địa phương sử dụng thay cho các từ phổ thông, ví dụ: cây kiểng/cây cảnh, đậu phụng/lạc,...
Vị trí dấu: theo quy định đánh dấu tiếng Việt, dấu được đặt trên nguyên âm có ưu tiên cao nhất. Tuy nhiên khi viết văn bản, do mỗi người sử dụng một bộ gõ tiếng Việt khác nhau nên nhiều khi gây ra sự không chuẩn xác. Ví dụ: toán, tóan,...
Cách viết hoa: theo quy định, dấu câu và dấu tên riêng phải viết hoa. Tuy nhiên vẫn tồn tại một số cách viết tùy tiện.
Phiên âm tiếng nước ngoài: Các cách viết sau vẫn được chấp nhận mà không có trong quy chuẩn tiếng Việt: Singapore/Xin-ga-po,...
Từ gạch nối: do cách viết dấu gạch nối tùy tiện, không phân biệt được giữa nối tên riêng hay chú thích,...
Kí tự ngắt câu: Các kí tự đặc biệt như “.”, “ ”, “ ”, “; ! ?”,... ngăn cách giữa các câu hoặc các vế câu, các hình vị,... trong câu, câu ghép.
4.2.3. Từ tiếng Việt
Phân loại từ trong tiếng việt:
• Từ đơn: là từ một tiếng.
• Từ phức: là từ gồm hai tiếng trở lên.
Từ ghép:
Từ ghép chính phụ: hoa hồng, bài học,...
Từ ghép đẳng lập: nhà cửa, đường sá,...
Từ láy: sạch sành sanh, linh tinh,...
Từ phức ngẫu kết: tắc kè, bù nhìn,...
Chú ý: một từ phức chỉ có thể chỉ 1 đối tượng, 1 sự kiện, 1 đặc tính,...
Từ loại : Nếu phân loại theo từ loại(cách tiếp cận dựa trên ngữ pháp) thì tổng kết tiếng Việt có những từ loại sau:
Danh từ: cây cối,...
Động từ: chạy,...
Tính từ: xinh đẹp,...
Đai từ: tôi, nó,...
Số từ: một, hai,...
Loại từ: con, cái,...
Quán từ: các, những,...
Trạng từ: trên, dưới,...
Liên từ: và, hay,...
Giới từ: cùng, với, bằng, để,...
Phó từ: đã, sẽ, không,...
Trợ từ: ừ, nhỉ, nhé,...
Bên cạnh đó tiếng Việt ngoài những từ thuần Việt còn có cả những từ ngoại lai của những ngôn ngữ khác (gi đông, soundcard,... ).-
Các phương pháp tách từ tiếng Việt [2]: có 3 cách chính
• Phân tích cú pháp tiếng Việt: tách từ dựa vào các luật cú pháp của tiếng Việt. Phương pháp này rất phức tạp do đặc điểm ngữ pháp của tiếng Việt.
• Thống kê tần suất xuất hiện: tách một dựa trên tần suất xuất hiện cạnh từ nhau của các tiếng tạo nên từ đó. Phương pháp này đơn giản hơn phân tích cú pháp nhưng phải quét toàn bộ văn bản nhiều lần để tính toán xác suất xuất hiện cho từng từ.
• Dựa vào từ điển: Đây là phương pháp đơn giản nhất do văn bản được tách chỉ dựa vào từ điển. Ta không cần quét toàn bộ văn bản mỗi khi xác định một từ mà tiến hành tách văn bản thành các hình vị đủ dài rồi tìm trong từ điển. Phương pháp này cho kết quả tốt khi từ điển đầy đủ nhưng nhược điểm là không phân biệt được từ đồng âm khác nghĩa.
4.2.4. Các chuẩn Font tiếng Việt được sử dụng
Một trong những vấn đề đặc trưng của tiếng Việt đó chính là sự đa dạng hóa các bộ mã Font tiếng Việt tương ứng với các chương trình soạn thảo tiếng Việt khác nhau, ví dụ: ABC, BKED, VIETRES, VIETKEY,... Tổng kết lại có thể phân loại 3 loại Font tiếng Việt chủ yếu sau [3]:
Font 1 Byte: Vietkey, TCVN3 5712, VISCII, VIETWARE_F,...
Font 2 Byte: VNI-WIN, BK tp HCM2, VIETWARE_X...
Font tổ hợp (combine): Microsoft CP 1258, IBM CP 01129,...
Trong đó:
• Font 1 Byte: là Font tiếng Việt được xây dựng dựa trên các kí tự chuẩn đã có từ trước. Do không đủ mã mở rộng nên nên chữ hoa và chữ thường được thể hiện trên 2 Font khác nhau.
• Font 2 Byte: là loại Font ghép, kí tự tiếng Việt sẽ được biểu diễn qua hai byte: byte đầu tiên là kí tự trong bảng chữ cái tiếng Anh, byte thứ hai là kí tự dấu. Do tiếng Việt chỉ có 5 dấu (huyền, sắc, ngã, nặng, hỏi) nên chỉ cần ít mã mở rộng để thể hiện tiếng Việt. Do đó có thể biểu diễn cả chữ hoa và chữ thường trong cùng một Font chữ.
• Font tổ hợp: tương tự như Font 2 byte tiếng Việt là tổ hợp ghép lại giữa chữ cái tiếng Anh và dấu tiếng Việt, quá trình này được thực hiện ngay lúc gõ và được quản lý bởi các chương trình quản lý Font riêng biệt, hiện chỉ cài đặt trên một số hệ điều hành, ví dụ: AIX của IBM,... So với Font 2 byte thì Font tổ hợp hoàn chỉnh hơn do chỉ dùng một mã mở rộng cho cả 5 dấu trong khi Font 2 byte dùng riêng từng dấu nên Font 2 byte sẽ có nhiều mã cho từng kí tự khác nhau.
Các đặc trưng riêng của từng loại Font chữ sẽ phải được chú ý trong các hệ thống khai phá dữ liệu văn bản tiếng Việt. Ví dụ: Font ABC thường có định dạng
“:Vn(xxxx).nf”. Font VNI: “VNI-xxx.TTF”,... Thông thường hệ thống sẽ xây dựng một máy đoán nhận kí tự đầu vào để thực hiện nhận dạng Font chữ của văn bản gốc, sau đó chuyển tất cả về một mã Font chuẩn do hệ thống quy ước.
4.3. Bài toán phân lớp văn bản tiếng Việt
Nhiệm vụ chính trong các nghiên cứu của Luận văn này là tiếp cận bài toán phân lớp văn bản đối với văn bản tiếng Việt. Có thể mô tả bài toán cần thực hiện một cách đơn giản như sau:
Bài toán:
:
Cho một tập hợp các văn bản tiếng Việt được lưu trữ trong máy tính đã được người dùng phân lớp bằng tay vào một số chủ đề có sẵn. Tập này gọi là tập mẫu (tập huấn luyện). Hệ thống sẽ tự động “học” dựa trên các tri thức này.
Yêu cầu: Khi đưa vào một văn bản tiếng Việt mới (chưa xuất hiện trong tập văn bản mẫu) yêu cầu hệ thống tự động chỉ ra tên chủ đề phù hợp nhất với văn bản đó. Các văn bản này gọi là tập dữ liệu kiểm thứ.
Mục tiêu mong muốn đạt được là đề xuất hướng tiếp cận hiệu quả cho bài toán, để dựa trên đó có thể tạo nền tảng cho việc xây dựng được một hệ thống phân lớp văn bản tiếng Việt tự động có hiệu quả, độ chính xác cao, thay thế và giảm thiểu được công sức thủ công cho con người trong các ứng dụng thực tế.