Chuẩn hóa văn bản tiếng Việt dựa trên bộ quy tắc

pdf 7 trang Gia Huy 17/05/2022 2880
Bạn đang xem tài liệu "Chuẩn hóa văn bản tiếng Việt dựa trên bộ quy tắc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfchuan_hoa_van_ban_tieng_viet_dua_tren_bo_quy_tac.pdf

Nội dung text: Chuẩn hóa văn bản tiếng Việt dựa trên bộ quy tắc

  1. 132 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Chuẩn hóa văn bản tiếng Việt dựa trên bộ quy tắc Ninh Khánh Chi1, Ninh Khánh Duy2 1 Trường Cao đẳng Công nghệ thông tin Hữu nghị Việt - Hàn 2 Trường Đại học Bách Khoa, Đại học Đà Nẵng chink@viethanit.edu.vn, nkduy@dut.udn.vn Abstract. Chuẩn hóa văn bản là một bước quan trọng trong các hệ thống xử lý ngôn ngữ tự nhiên và tiếng nói, đặc biệt là trong ứng dụng chuyển văn bản thành tiếng nói. Văn bản tiếng Việt nói chung thường chứa những từ chưa được chuẩn hoá như chữ số, chữ viết tắt và từ ngữ nước ngoài. Để chuẩn hóa văn bản, chúng ta cần phải chuyển tất cả các từ chưa được chuẩn hoá thành dạng chuẩn là ngôn ngữ tự nhiên. Nghiên cứu tập trung trình bày giải pháp thiết kế bộ phân lớp ký hiệu, thành phần đóng vai trò quyết định độ chính xác của việc chuẩn hóa. Khác với các nghiên cứu trước sử dụng tiếp cận hướng dữ liệu, nghiên cứu này đề xuất giải pháp phân lớp ký hiệu sử dụng bộ quy tắc dựa trên kinh nghiệm ngôn ngữ do chúng tôi tự thiết kế. Kết quả thực nghiệm cho thấy giải pháp chúng tôi đề xuất mặc dù đơn giản nhưng vẫn có thể phân lớp các từ chưa được chuẩn hóa trong văn bản tiếng Việt với độ chính xác trên 90% cho 19 trên tổng số 24 lớp ký hiệu. Keywords: Chuẩn Hóa Văn Bản, Phân Lớp Ký Hiệu, Bộ Quy Tắc. 1 Bài toán chuẩn hóa văn bản Trong hệ thống ngôn ngữ trên thế giới hiện nay, tiếng Việt được xem là một trong những ngôn ngữ có sự phong phú và đa dạng. Chính sự phong phú và phức tạp của tiếng Việt đã dẫn đến những khó khăn cho người dùng và cả cho máy khi xử lý các văn bản tiếng Việt, đặc biệt là trong lĩnh vực chuyển văn bản thành tiếng nói (text-to-speech) [1]. Văn bản tiếng Việt nói chung thường chứa những từ chưa được chuẩn hoá như chữ số, chữ viết tắt và từ ngữ nước ngoài [2]. Vì vậy văn bản cần được chuẩn hóa trước khi chuyển thành tiếng nói. Một văn bản đơn thuần bao gồm rất nhiều loại ký tự khác nhau, ngôn ngữ tự nhiên chỉ là một trong số đó. Để chuẩn hóa văn bản, ta cần phải chuyển tất cả các ký tự đó thành ngôn ngữ tự nhiên để hệ thống có thể đọc thành lời được. Xét một ví dụ văn bản chưa được chuẩn hoá là “Vào 12h đêm 11/12, anh Tùng (SN 1989) để xe Dream II trước số 11/12A Tây Hồ, Q.10, TPHCM”. Đoạn văn bản này cần được chuẩn hoá thành “Vào mười hai giờ đêm ngày mười một tháng mười hai, anh Tùng sinh năm một nghìn chín trăm tám mươi chín để xe đơ-rim hai trước số mười một trên mười hai a Tây Hồ, quận mười, thành phố Hồ Chí Minh”. Chúng tôi đã đề xuất một mô-đun chuẩn hoá văn bản như trong Hình 1. Văn bản chưa chuẩn hóa được đưa vào bộ tách thẻ để cắt thành các câu, mỗi câu sau đó được cắt thành các thẻ (token). Ví dụ, cụm từ “12h đêm 11/12” được cắt thành các thẻ {12, h, đêm, 11, /, 12}. Sau đó, mỗi thẻ được đưa vào bộ phân lớp thẻ để gán nhãn lớp ký hiệu tương ứng (gọi là phân lớp ký hiệu). Cuối cùng, tùy vào lớp ký hiệu mà thẻ được giải mã ký hiệu và chuyển thành lời (verbalization) ở dạng chuẩn hóa. Trong các nghiên cứu [3][4], chúng tôi đã phát triển các thuật toán chuyển thành lời riêng cho chữ viết tắt và từ ngữ có nguồn gốc nước ngoài, vốn không được quan tâm trong các nghiên cứu của các tác giả khác về chuẩn hóa văn bản tiếng Việt [5][6]. Để tìm dạng chuẩn hóa của một thẻ thuộc lớp “Chữ viết tắt”, chúng tôi đã xây dựng một bộ từ điển gồm hơn 1.000 chữ viết
  2. Ninh Khánh Chi, Ninh Khánh Duy 133 tắt kèm theo (các) khai triển tương ứng của từng chữ. Nếu gặp chữ viết tắt nào có nhiều hơn một khai triển trong từ điển, một thuật toán khử nhập nhằng sẽ được sử dụng để tìm ra khai triển phù hợp nhất [3]. Đối với từ ngữ có nguồn gốc nước ngoài (chủ yếu là tiếng Anh) có thẻ tương ứng thuộc lớp “Ngôn ngữ tự nhiên”, chúng tôi đã đề xuất một giải pháp Việt hoá cách phát âm các từ này [4]. Các giải pháp này đảm bảo toàn bộ văn bản đầu vào sẽ được chuẩn hoá. Hình 1. Sơ đồ khối mô-đun chuẩn hoá văn bản Trong nghiên cứu này, chúng tôi chỉ tập trung trình bày giải pháp thiết kế bộ phân lớp ký hiệu (hay bộ phân lớp thẻ), thành phần đóng vai trò quyết định độ chính xác của việc chuẩn hóa văn bản. Các nghiên cứu về chuẩn hóa văn bản tiếng Việt cho ứng dụng chuyển văn bản thành tiếng nói [5][6] sử dụng tiếp cận hướng dữ liệu (dùng dữ liệu lớn) để phân lớp ký hiệu. Chúng tôi đề xuất một bộ phân lớp ký hiệu sử dụng bộ quy tắc tự thiết kế dựa trên kinh nghiệm ngôn ngữ của chính mình. Cách tiếp cận này có ưu điểm đơn giản, không cần dữ liệu để huấn luyện bộ phân lớp nhưng vẫn có thể xử lý hiệu quả các trường hợp văn bản tiếng Việt không chuẩn thường gặp. Nội dung còn lại của nghiên cứu gồm Phần 2 và 3 lần lượt mô tả thuật toán phân lớp ký hiệu và đánh giá độ chính xác của thuật toán phân lớp trên bộ dữ liệu văn bản thu thập từ các trang báo mạng tiếng Việt có nhiều người đọc. Phần cuối của nghiên cứu đưa ra kết luận và hướng phát triển. 2 Phân lớp ký hiệu dùng bộ quy tắc 2.1 Đặt vấn đề Văn bản không đơn giản chỉ là sự mã hóa của ngôn ngữ tự nhiên. Thay vào đó, văn bản là một tín hiệu vật lý phổ biến được sử dụng để mã hóa nhiều hệ thống ký hiệu khác nhau, trong đó ngôn ngữ tự nhiên chỉ là một trường hợp phổ biến. Như vậy, để chuẩn hóa văn bản, máy tính cần phân lớp từng thẻ (token) trong văn bản vào một trong các lớp ký hiệu được con người sử dụng, gọi là phân lớp ký hiệu. Việc phân lớp ký hiệu là việc gán mỗi thẻ vào một lớp ký hiệu
  3. 134 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” tương ứng một cách chính xác. Ngôn ngữ tiếng Việt tuy phong phú và đa dạng nhưng lại gây ra sự nhập nhằng, thiếu nhất quán trong cách nói và cách viết. Máy tính (và thậm chí con người nếu thiếu ngữ cảnh của văn bản) có thể nhầm lẫn giữa nội dung ngày/tháng/năm với một địa chỉ hay một phân số (ví dụ, 1/2 hoặc 10/81), định danh và địa chỉ nhà (ví dụ, 20A), dải số với ngày/tháng (ví dụ, 2-5), dải năm với số điện thoại (ví dụ, 1900-1970), Do đó phân lớp ký hiệu là bước khó khăn nhất và có vai trò quyết định trong chuẩn hóa văn bản. Để phân lớp ký hiệu cho một thẻ thì thông tin của các thẻ khác xuất hiện trong cùng câu với thẻ hiện tại (gọi là ngữ cảnh) đóng vai trò thiết yếu. Ngữ cảnh có thể là đặc trưng của các thẻ lân cận hoặc từ khóa mang thông tin hỗ trợ việc phân lớp ký hiệu. 2.2 Các đặc trưng của thẻ Việc phân lớp ký hiệu cho một thẻ dựa trên đặc trưng của thẻ hiện tại và các thẻ lân cận trong cùng một câu vì chúng có quan hệ ngữ nghĩa và/hoặc cú pháp. Theo nghĩa rộng, một thẻ có thể xem có một trong hai đặc trưng: chữ cái hoặc chữ số. Tuy nhiên, để phân lớp ký hiệu thì cần xét đặc trưng cụ thể hơn nếu tính đến các ràng buộc về mặt giá trị và quy cách sử dụng. Ví dụ như thẻ chữ số “13” có thể có đặc trưng là “Ngày” hoặc “Giờ” nhưng không thể có đặc trưng là “Tháng” vì một năm chỉ có 12 tháng. Tương tự, thẻ chữ cái “TS” có thể có đặc trưng là “Viết tắt tiếng Việt” (dạng chuẩn hóa là “Tiến sỹ”) nhưng không thể có đặc trưng là “Số La Mã” vì các ký tự “T” và “S” không được dùng để ghi chép chữ số La Mã. Bảng 1 liệt kê một vài đặc trưng thường được sử dụng để phân lớp ký hiệu. Một thẻ có thể được gán nhiều hơn một đặc trưng. Các đặc trưng có thể chia làm 2 nhóm: liệt kê được và không liệt kê được. Đối với đặc trưng liệt kê được, chúng tôi liệt kê tất cả các thẻ có thể có của đặc trưng đó trong văn bản tiếng Việt, ví dụ như đặc trưng “Viết tắt địa chỉ” gồm tất cả các thẻ chữ cái viết tắt xuất hiện trong một địa chỉ tại Việt Nam (“TP” cho “Thành phố” là một ví dụ). Đối với đặc trưng không liệt kê được do số lượng thẻ có thể có quá lớn (ví dụ như đặc trưng “Số nguyên”), chúng tôi sử dụng biểu thức chính quy (regular expression) để tổng quát hóa các thẻ. Tổng cộng chúng tôi đã thiết kế 22 đặc trưng (17 thuộc nhóm không liệt kê được và 5 thuộc nhóm liệt kê được). Kết quả là mỗi thẻ trong câu được gắn với một vec-tơ đặc trưng có 22 chiều, mỗi thành phần của vec-tơ này bằng 0 hoặc 1 tùy thuộc vào thẻ đang xét có đặc trưng nào đó hay không. Bảng 1. Một số đặc trưng tiêu biểu của thẻ Tên đặc trưng Mã đặc trưng Biểu thức chính quy Ngôn ngữ tự nhiên F_nlang ([A-Za-z][~*\^<]?)+_[1-6] Viết tắt tiếng Việt F_vabbr ([A-Z][~*\^<]?)+_1 Ngày F_day (0?[1-9]|[1-2][0-9]|3[0-1]) Tháng F_month (0?[1-9]|1[0-2]) Năm đầy đủ F_fyear [1-2][0-9]{3} Giờ F_hour (0?[0-9]|1[0-9]|2[0-4]) Phút F_min (0?[0-9]|[1-5][0-9]) Số nguyên F_int [0-9]+ Số điện thoại F_tel [0-9]{10,16} Số La Mã F_roman [IVX]+ Viết tắt địa chỉ F_aabbr (KDC|KTT|KP|P|Q|X|H|TT|TX|Tx|TP|Tp) Chuỗi ký tự in hoa F_ulets [A-Z]+
  4. Ninh Khánh Chi, Ninh Khánh Duy 135 2.3 Các lớp ký hiệu Chúng tôi định nghĩa 24 lớp ký hiệu dùng để phân lớp thẻ như trong Bảng 2. Các lớp này bao phủ toàn bộ các ký hiệu trong văn bản tiếng Việt. Bảng 2. Danh sách các lớp ký hiệu Lớp ký hiệu Mã lớp Ví dụ Số thứ tự ORDN (thứ) 1, (thứ) XIII Phạm vi số NRNG (từ) 15-20, (khoảng) 15-20 Số La Mã ROMN II, IV, XVI Phân số FRAC 1/2 , (tỉ lệ) 1/5 Số thập phân DECN 12.150 , 12,987 Số nguyên INTN 25, 125, 1000 Ngày tháng năm DMYY 20/04/16, 20.04.2016, 20-04-2016 Ngày tháng DDMM (sáng) 20/04, (thứ tư) 20/04 Tháng năm MMYY (tháng) 4, (tháng) 4/2016 Quý trong năm QQYY (quý) II-2016 Năm YEAR (năm) 2016, (nhiệm kỳ) 2016 Giờ phút giây HRMS 20:48:25 Giờ phút HMIN (lúc) 20:48 , (lúc) 20h48, (lúc) 20g48. Phút giây MSEC 15’20 Định danh IDEN KG-5678, 5678-KG, 21A530, Su-35 Số điện thoại TELN (gọi) 1080, (sđt) 01263987454 Địa chỉ ADDR Q.1, Tp Hà Nội, 65/02 Ngô Sĩ Liên Tiền tệ CURR 100(USD), (giá) 15000(VND) Viết tắt ABBR ĐHBK-ĐHĐN, GS.TS, KHXH&NV. Đơn vị đo lường UNIT (6) km, (10) kg, (60) km/h, m.s, (100)m2 Ngôn ngữ tự nhiên LANG tôi, là, facebook, selfie Đường dẫn điện tử/ Email URLE www.google.com Dấu chấm câu không đọc lời SPUN (Hôm nay), (trời đẹp). Dấu chấm câu đọc thành lời RPUN +, - , *, /, =, #, &, % 2.4 Quy tắc phân lớp Chúng tôi sử dụng hai loại quy tắc được mô tả trong [1] để phân lớp ký hiệu cho một thẻ dựa trên ngữ cảnh của nó, đồng thời bổ sung thông tin độ tin cậy của mỗi quy tắc để sắp xếp thứ tự ưu tiên các lớp trong trường hợp một thẻ được phân vào nhiều lớp khác nhau. Quy tắc phân lớp dựa trên ngữ cảnh tức thời: B/A/C d, nghĩa là thẻ A được phân lớp vào lớp d khi đứng liền trước nó là thẻ B và đứng liền sau nó là thẻ C. Số lượng các thẻ ngữ cảnh tức thời đứng trước (hoặc sau) thẻ hiện tại có thể nhiều hơn 1. Quy tắc này có ưu điểm là có độ tin cậy cao nhưng có nhược điểm là chỉ sử dụng thông tin của các thẻ đứng lân cận với thẻ hiện tại. Một ví dụ về quy tắc loại này là: {0: 'F_day', 1: DMY_SEP, 2: 'F_month', 3: DMY_SEP, 4: 'F_fyear '} ('DMYY', 1).
  5. 136 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Quy tắc trên có nghĩa là: nếu thẻ hiện tại (offset = 0) có đặc trưng là ngày (F_day), thẻ đứng ngay sau nó (offset = 1) là một ký tự phân tách ngày/tháng/năm (DMY_SEP là tập hợp 3 ký tự {/, -, .}), thẻ đứng sau cách nó 1 thẻ (offset=2) có đặc trưng là tháng (F_month), thẻ đứng sau cách nó 2 thẻ (offset = 3) là một ký tự phân tách ngày/tháng/năm, và thẻ đứng sau cách nó 3 thẻ (offset = 4) có đặc trưng là năm (F_fyear) thì thẻ hiện tại được phân vào lớp “Ngày tháng năm” (DMYY) với độ tin cậy là 1 (giá trị cao nhất trên thang đo độ tin cậy). Một áp dụng cụ thể là với đoạn văn bản “22-12-2017” thì thẻ đang xét là “22” sẽ được phân vào lớp DMYY với độ tin cậy bằng 1. Quy tắc phân lớp dựa trên từ khóa xuất hiện trong cùng một câu: A|T d, nghĩa là thẻ A được phân lớp vào lớp d nếu trong câu có sự hiện diện của từ khóa T. So với quy tắc phân lớp dựa trên ngữ cảnh tức thời, quy tắc này có nhược điểm là có độ tin cậy thấp hơn nhưng có ưu điểm là tận dụng được thông tin của các thẻ đứng cách xa với thẻ hiện tại trong câu. Một ví dụ về quy tắc loại này là: {-N: KEYWORD, 0: 'F_day', 1: DMY_SEP, 2: 'F_month'} ('DDMM', -0.02). Quy tắc trên có nghĩa là: Nếu thẻ hiện tại (offset=0) có đặc trưng là ngày (F_day), thẻ đứng ngay sau nó (offset =1) là một ký tự phân tách ngày/tháng/năm, thẻ đứng sau cách nó 1 thẻ (offset =2) có đặc trưng là tháng (F_month), và thẻ đứng trước cách nó N-1 thẻ (offset =-N) là một từ khóa liên quan đến ngày/tháng (KEYWORD là một trong các từ {ngày, mùng, thứ, hôm, tuần, tháng, năm, dịp, lễ, tết, rằm, lịch}) thì thẻ hiện tại được phân vào lớp “Ngày tháng” (DDMM) với độ tin cậy là 1-(N*0,02) (nghĩa là độ tin cậy càng giảm khi từ khóa đứng càng cách xa thẻ hiện tại, hằng số 0,02 được thiết lập dựa trên kinh nghiệm). Một áp dụng cụ thể là với đoạn văn bản “dịp 20/11” thì thẻ đang xét là “20” sẽ được phân vào lớp DDMM với độ tin cậy bằng 0,98 (=1-0,02). Trong nghiên cứu này, chúng tôi đã thiết kế được tổng cộng một bộ gồm 72 qui tắc để thực hiện phân lớp ký hiệu. 2.5 Thuật toán phân lớp ký hiệu Sơ đồ khối của thuật toán phân lớp ký hiệu được trình bày trong Hình 2. Thuật toán gồm các bước sau: - Bước 1: Mỗi thẻ trong câu chưa chuẩn hóa được gán với một vec-tơ đặc trưng có 22 chiều (phần 2.2). - Bước 2: Với mỗi thẻ, duyệt qua bộ quy tắc để tìm tất cả các lớp ký hiệu ứng viên của thẻ. - Bước 3: Tìm k lớp ứng viên tốt nhất cho mỗi thẻ với mục đích thu hẹp số lượng các lớp ứng viên cho mỗi thẻ. Theo thực nghiệm thì k = 3 là phù hợp nhất. Kết quả của bước này là một mạng các lớp ứng viên của chuỗi thẻ trong câu (Bảng 3 minh họa một ví dụ). - Bước 4: Tìm lớp ký hiệu tốt nhất cho các thẻ liên tiếp nhau dựa vào đường đi dài nhất qua mạng các lớp ứng viên do văn bản là dữ liệu có tính xâu chuỗi (sequential data). Trong ví dụ ở Bảng 3 thì 4 thẻ từ Thẻ 1 đến Thẻ 4 sẽ cùng được phân vào lớp C3 vì lớp C3 tương ứng với đường đi dài nhất qua mạng các lớp ứng viên (các mũi tên nét liền). Lớp C2 mặc dù có độ tin cậy cao hơn lớp C3 đối với 3 thẻ đầu tiên nhưng có độ dài đường đi ngắn hơn (các mũi tên nét đứt) nên không được lựa chọn. Trong trường hợp hai đường đi có độ dài bằng nhau thì đường nào có tổng số độ tin cậy cao hơn sẽ được chọn để phân lớp ký hiệu cho các thẻ.
  6. Ninh Khánh Chi, Ninh Khánh Duy 137 Chuỗi thẻ chưa phân lớp Gán các đặc trưng thẻ Tìm tất cả lớp ứng viên Tìm k lớp ứng viên tốt nhất Gán lớp ký hiệu tốt nhất Chuỗi thẻ đã phân lớp Hình 2. Sơ đồ khối thuật toán phân lớp ký hiệu Bảng 3. Ví dụ mạng các lớp ứng viên của chuỗi thẻ. Các mũi tên nét liền đánh dấu đường đi dài nhất Thẻ Thẻ 1 Thẻ 2 Thẻ 3 Thẻ 4 Lớp có độ tin cậy cao #1 C1 C2 C2 C3 Lớp có độ tin cậy cao #2 C2 C3 C3 C4 Lớp có độ tin cậy cao #3 C3 C4 C5 C5 Trong bước 4, tiêu chuẩn lựa chọn đường đi tối ưu qua mạng các lớp ứng viên dựa vào độ dài được ưu tiên hơn tổng số độ tin cậy do bộ quy tắc được xây dựng dựa trên kinh nghiệm của chúng tôi và việc tính toán độ tin cậy của mỗi quy tắc được tinh chỉnh dựa trên một tập dữ liệu nhỏ gồm khoảng 50 câu do chúng tôi tự thiết kế. 3 Đánh giá thuật toán phân lớp ký hiệu Để đánh giá độ chính xác của thuật toán, chúng tôi đã thực hiện các bước sau: - Đầu tiên, chúng tôi thu thập văn bản chứa nhiều ký tự không chuẩn từ những trang báo mạng có nhiều lượt xem. Đây gọi là tập đánh giá, bao gồm 691 câu chưa chuẩn hóa với tổng số lượng 20.068 thẻ. - Tiếp theo, chúng tôi thực hiện phân lớp ký hiệu cho từng thẻ trong tập đánh giá bằng hai cách: - Tự động: chạy chương trình cài đặt thuật toán phân lớp ký hiệu do chúng tôi đề xuất. Kết quả đầu ra là mỗi thẻ được gán cho một trong tổng số 24 lớp ký hiệu. - Thủ công: tác giả tự phân lớp ký hiệu cho các thẻ một cách thủ công. Dữ liệu này được dùng làm tham chiếu để đánh giá kết quả phân lớp tự động ở trên. Kết quả đánh giá được trình bày trong Hình 3. Có thể thấy độ chính xác của thuật toán phân lớp khá cao, đạt trên 90% đối với 19 trên tổng số 24 lớp ký hiệu. Tuy nhiên, có một số trường hợp độ chính xác chưa cao như: - Lớp định danh (IDEN) chỉ đạt 72,2% do có nhiều sự nhập nhằng với lớp số nguyên (INTN) và lớp ngôn ngữ tự nhiên (LANG). Ví dụ “Su-35” là một định danh nhưng bị phân lớp nhầm thành lớp ngôn ngữ tự nhiên với thẻ “Su” và lớp số nguyên với thẻ “35”.
  7. 138 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” - Lớp phạm vi số (NRNG) chỉ đạt 66,7% do có sự nhập nhằng với lớp ngày tháng (DDMM) và lớp định danh (IDEN). Ví dụ “3-5” là một phạm vi số (từ 3 đến 5) nhưng bị phân lớp nhầm thành ngày tháng (ngày 3 tháng 5). Hình 3. Tỉ lệ phân lớp ký hiệu chính xác của thuật toán đề xuất 4 Kết luận Trong nghiên cứu này chúng tôi đã trình bày giải pháp xây dựng một bộ phân lớp ký hiệu dựa trên bộ quy tắc về ngôn ngữ để có thể xử lý hiệu quả các từ chưa được chuẩn hóa trong văn bản tiếng Việt. Chúng tôi đã thiết kế một tập 72 quy tắc phân lớp và đề xuất thuật toán phân lớp ký hiệu. Kết quả đánh giá trên một tập dữ liệu văn bản tương đối nhỏ cho thấy tỉ lệ chính xác của bộ phân lớp khá cao, trên 90% cho 19/24 lớp ký hiệu. Giải pháp phân lớp ký hiệu này đơn giản nhưng hữu ích để xây dựng một hệ thống chuẩn hóa văn bản tiếng Việt. Trong tương lai, chúng tôi sẽ thử nghiệm trên bộ dữ liệu lớn hơn để có được đánh giá toàn diện hơn đối với giải pháp mà chúng tôi đã đề xuất. Chúng tôi cũng sẽ tối ưu hóa tập quy tắc bằng cách giảm số lượng các quy tắc dư thừa để tăng tốc độ phân lớp nhưng vẫn đảm bảo độ chính xác cao. Tài liệu tham khảo 1. Paul Taylor. Text-to-speech Synthesis. 1st edn. Cambridge University Press, 2009. 2. Richard Sproat, Alan Black, Stanley Chen, Shankar Kumar, Mari Ostendorf, Christopher Richards. Normalization of non-standard words. Computer Speech and Language, Volume 15, Issue 3, pp. 287-333, 2001. 3. Ninh Khánh Duy, Nguyễn Văn Quý, Biểu diễn ngữ cảnh trong khai triển chữ viết tắt dùng tiếp cận học máy. Tạp chí Khoa học và công nghệ Đại học Đà Nẵng, số 05(114), 2017. 4. Triệu Thị Ly Ly, Bùi Thanh Sơn, Lê Thị Hà Bình, Ninh Khánh Duy, Một giải pháp Việt hóa cách phát âm các từ vựng tiếng Anh trong văn bản tiếng Việt, Kỷ yếu Hội nghị quốc gia FAIR, pp. 502- 510, Đà Nẵng, 2017. 5. Thu-Trang Nguyen Thi, Thanh Thi Pham, Do-Dat Tran. A method for Vietnamese text normalization to improve the quatily of speech systhesis. Proceedings of SoICT Conference, Hanoi, Vietnam, 2010. 6. Dinh Anh Tuan, Phi Tung Lam, Phan Dang Hung. A study of text normalization in Vietnamese for text-to-speech system. Proceedings of Oriental COCOSDA Conference, Macau, China, 2012.