ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
------------------------------------
PHOMMASENG PHANAKHONE
XÂY DỰNG HỆ THỐNG TỰ ĐỘNG
PHÂN LOẠI VĂN BẢN TIẾNG LÀO
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Đà Nẵng, Năm 2018
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
------------------------------------
PHOMMASENG PHANAKHONE
XÂY DỰNG HỆ THỐNG TỰ ĐỘNG
PHÂN LOẠI VĂN BẢN TIẾNG LÀO
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01
LUẬN VĂN THẠC SĨ
Người hướng dẫn khoa học: TS. ĐẶNG HOÀI PHƯƠNG
Đà Nẵng, Năm 2018
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu khoa học của cá nhân tôi dưới sự
hướng dẫn trực tiếp của TS. Đặng Hoài Phương, Trường Đại học Bách Khoa-Đại học
Đà Nẵng.
Các dữ liệu, ví dụ và trích dẫn tham khảo trong luận án đảm bảo độ tin cậy, chuẩn
xác và trung thực.
Những kết quả đóng góp về mặt lý thuyết và ứng dụng của luận án chưa từng
được ai công bố trong bất kỳ công trình nào khác cho đến nay.
Tác giả luận án,
Phommaseng Phanakhone
i
MỤC LỤC
MỞ ĐẦU .........................................................................................................................1
CHƯƠNG 1 TỔNG QUAN PHÂN LOẠI VĂN BẢN ..................................................5
1.1. Phân loại văn bản ..................................................................................................5
1.2. Khái niệm văn bản ................................................................................................5
1.3. Các phương pháp phân loại văn bản ....................................................................7
1.3.1. K-Nearest Neighbor (KNN) ..........................................................................7
1.3.2. Support Vector Machine (SVM) ...................................................................9
1.3.3. Naïve Bayes (NB)........................................................................................11
1.4. Kết luận...............................................................................................................12
CHƯƠNG 2 MÔ HÌNH PHÂN LOẠI VĂN BẢN TIẾNG LÀO ...............................13
2.1. Mô hình phân loại văn bản tiếng Lào .................................................................13
2.2. Biểu diễn văn bản tiếng Lào ...............................................................................14
2.3. Tách từ tiếng Lào ................................................................................................15
2.3.1. Đặc trưng tiếng Lào .....................................................................................16
2.3.2. Phương pháp tách từ tiếng Lào sử dụng Regular Expression .....................22
2.4. Trích chọn đặc trưng...........................................................................................34
2.5. Phân loại văn bản tiếng Lào sử dụng Naive Bayes ............................................34
2.6. Kết Luận .............................................................................................................40
CHƯƠNG 3 XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG
LÀO ...............................................................................................................................41
3.1. Mô hình hệ thống ................................................................................................41
3.2. Cơ sở dữ liệu.......................................................................................................42
3.3. Triển khai và đánh giá kết quả ...........................................................................43
3.3.1. Các độ đo đánh giá kết quả phân loại văn bản ............................................44
3.3.2. Thử nghiệm phương pháp tách từ trong câu tiếng Lào. ..............................45
3.3.3. Thực nghiệm Hệ thống phân loại văn bản tiếng Lào ..................................46
3.4. Kết luận...............................................................................................................50
KẾT LUẬN ...................................................................................................................51
TÀI LIỆU THAM KHẢO .............................................................................................52
PHỤ LỤC
QUYẾT ĐỊNH GIAO ĐỀ TÀI (BẢN SAO)
ii
DANH MỤC CHỮ VIẾT TẮT
1. Tiếng Anh
STT
Chữ viết tắt
Nghĩa tiếng Anh
1
CRF
Conditional Random Field
Xác suất có điều kiện
2
DFD
Data Flow Diagram
Sơ đồ luồng dữ liệu
3
IDF
Inverse document frequency
Nghịch đảo tần số văn
bản
4
KNN
K Nearest Neighbor
K láng giềng gần nhất
5
MAP
Maximum A Posterior class
Phương pháp MAP
6
NB
Naive Bayes
Phương pháp Naive
Bayes
7
RBF
Radial Basis Functions network
Mạng hàm bán kính
xuyên tâm cơ sở
8
SVM
Support Vector Machine
Máy vec tơ hỗ trợ
9
TF
Term frequency
Tần số xuất hiện của 1
từ trong văn bản
iii
Nghĩa tiếng Việt
DANH MỤC CÁC BẢNG
Số hiệu
bảng
Tên bảng
Trang
1.1
Bảng so sánh các phương pháp phân loại văn bản
12
2.1
Ví dụ biểu diễn văn bản trên mô hình không gian vector
15
2.2
Nguyên âm ghép lại với phụ âm cuối vần
18
2.3
Một số cú pháp thường dùng của Regular Expression
24
2.4
Một số chức năng của Regular Expression
25
2.5
Vector từ đơn tiếng Lào
26
2.6
Các thành phần của Vector từ
27
2.7
Ví dụ cách tạo từ đơn tiếng Lào
28
2.8
Dữ liệu huấn luyện và kiểm thử
39
3.1
CSDL bảng documents
41
3.2
CSDL bảng TrainData
42
3.3
CSDL bảng vocabulary
42
3.4
Kết quả phương pháp tách từ đơn
46
3.5
Kết quả phương pháp tách từ
46
3.6
Kết quả Phân loại văn bản Naive Bayes với phương pháp
tách từ không loại bỏ từ dừng
47
3.7
So sánh thời gian phân loại văn bản tiếng Lào kết hợp
phương pháp tách từ loại bỏ từ dừng và không loại bỏ từ
dừng
48
3.8
Bảng so sánh mô hình phân loại văn bản tiếng Lào đề xuất
với các mô hình khác
49
iv
DANH MỤC CÁC HÌNH
Số hiệu
bảng
Tên hình
Trang
1.1
Bảng mã Unicode tiếng Lào (U+0E80 - U+0EFF)
7
1.2
Thuật toán k láng giềng gần nhất
8
1.3
Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp +
và - với khoảng cách biên lớn nhất. Các điểm gần h nhất (được
khoanh tròn) là các vector hỗ trợ - Support Vector
9
2.1
Mô hình tổng quan phân loại văn bản tiếng Lào
13
2.2
Mô hình tách từ tiếng Lào
22
2.3
Một số cấu trúc câu tiếng Lào
26
2.4
Sơ đồ khối hàm word_split
29
2.5
Sơ đồ khối hàm find_first_word
31
2.6
Sơ đồ khối hàm select_best_word
32
2.7
Sơ đồ khối hàm is_next_word
33
2.8
Likelihoods của từng chủ đề với Naïve Bayes.
35
2.9
Thuật toán Naïve Bayes Multinominal: huấn luyện và kiểm thử
37
2.10
Thuật toán hàm TRAINMULTINOMINALNB
38
2.11
Thuật toán hàm APPLYMULTINOMINALNB
43
3.1
Sơ đồ phân rã chức năng
43
3.2
Biểu đồ lớp
43
3.3
Cơ sở dữ liệu
43
3.4
Kết quả phân loại văn bản tiếng Lào kết hợp tách từ
49
v
MỞ ĐẦU
Internet hiện nay ngày càng phát triển với số lượng người dùng không ngừng
tăng lên, do đó Internet đóng vai trò quan trọng trong cuộc sống và xã hội đối với giao
tiếp và chia sẻ thông tin.
Trước đây, người Lào sử dụng tiếng nước ngoài để nhận biết và trao đổi thông
tin lẫn nhau ví dụ: tiếng Anh, tiếng Việt, tiếng Thái Lan, … Ngoài ra, người Lào sử dụng
chữ tiếng Anh ghép vào nhau để trở thành từ mà phát âm giống tiếng Lào thay vì viết
bằng tiếng Lào vì hầu hết thiết bị truy cập được Internet chưa hỗ trợ tiếng Lào.
Với sự phát triển của công nghệ thông tin, người dân Lào có điều kiện truy cập
Internet với chi phí và tốc độ hợp lý; các thiết bị như smart phone, máy vi tính có bàn
phím tiếng Lào và hiển thị được ngôn ngữ tiếng Lào, do đó tiếng Lào trở thành ngôn
ngữ chính thức mà người Lào sử dụng để chia sẻ thông tin trên Internet. Vấn đề đặt ra
ở đây là làm cách nào tìm kiếm thông tin một cách chính xác và có hiệu quả nhất với
văn bản tiếng Lào, và một trong những giải pháp là áp dụng các phương pháp phân loại
văn bản tiếng Lào. Trong thực tế, việc phân loại văn bản bằng phương pháp thủ công là
rất khó khăn vì lượng dữ liệu thông tin rất lớn. Vì vậy, việc phân nhóm văn bản, sẽ tốn
nhiều thời gian và công sức nhưng hiệu quả phân loại không cao.
Đối với công trình nghiên cứu phân loại văn bản tiếng Lào còn hạn chế, chủ yếu
dựa trên máy vector hỗ trợ và mạng hàm bán kính xuyên tâm cơ sở. Cũng với phương
pháp tách từ, trong những năm gần đây có một số công trình nghiên cứu về phân loại
văn bản tiếng Lào, tuy nhiên đa số vẫn tồn tại vấn đề về việc xử lý nhập nhằng trong
tiếng Lào. Vì tiếng Lào có nhiều cách viết, cách nói và sử dụng từ không thống nhất, do
đó việc tách từ tiếng Lào sẽ rất khó khăn.
Để khắc phục những hạn chế nêu trên, tác giả đề xuất đề tài luận văn cao học:
“Xây dựng hệ thống tự động phân loại văn bản tiếng Lào” bằng cách biểu diễn văn bản
thành vector các từ khóa, áp dụng Regular Expression kết hợp với khuôn mẫu từ đơn để
tách từ đơn, ghép lại những từ đơn thành từ phức dựa trên tập từ phức, đồng thời sử
dụng phương pháp Naïve Bayes để phân loại văn bản tiếng Lào.
1
1. Mục đích, đối tượng và phạm vi nghiên cứu
Mục đích của đề tài:
Nghiên cứu, phân tích cấu trúc từ và câu trong văn bản tiếng Lào; đề xuất phương
pháp tách từ tiếng Lào dựa trên Regular Expression với khuôn mẫu biểu thức chính quy.
Sử dụng phương pháp Naive Bayes để xây dựng mô hình phân loại văn bản tiếng Lào,
hiệu thức hoá hệ thống tự động phân loại văn bản tiếng Lào trên cơ sở mô hình đề xuất.
Ý nghĩa khoa học:
Đề xuất phương pháp tách từ đối với văn bản tiếng Lào sử dụng Regular
Expression và cải tiến với khuôn mẫu biểu thức chính quy của từ đơn Lào.
Xây dựng mô hình phân loại văn bản tiếng Lào dựa trên cơ sở phương pháp tách
từ đề xuất và Naive Bayes;
Ý nghĩa thực tiễn:
Hiệu thức hoá hệ thống tự động phân loại văn bản tiếng Lào trên cơ sở mô hình
đề xuất.
Đối tượng nghiên cứu:
Trong khuôn khổ của luận văn thuộc loại xây dựng hệ thống, tác giả chỉ giới hạn
nghiên cứu các vấn đề sau:
-
-
Các cấu trúc từ và câu trong văn bản tiếng Lào;
Phương pháp tách từ tiếng Lào dựa trên biểu thức chính quy (Regular Expression)
kết hợp với khuôn mẫu từ đơn và ghép lại những từ đơn thành từ phức dựa trên
tập từ phức;
Phương pháp phân loại văn bản Naive Bayes.
2. Mục tiêu và nhiệm vụ
Mục tiêu:
Mục tiêu chính của đề tài là nghiên cứu về cấu trúc từ tiếng Lào, đề xuất phương
pháp tách từ sử dụng biểu thức chính quy (Regular Expression) và xây dựng hệ thống
tự động phân loại văn bản tiếng Lào dựa trên phương pháp Naive Bayes. Để thỏa mãn
mục tiêu này thì cần đạt được những mục tiêu cụ thể sau:
- Nghiên cứu cấu trúc và phương pháp tách từ trong văn bản tiếng Lào;
- Nghiên cứu sử dụng Naive Bayes phân loại văn bản tiếng Lào;
- Xây dựng được hệ thống phân loại văn bản tiếng Lào và áp dụng vào thực tế.
2
-
Nhiệm vụ:
Để đạt được những mục tiêu trên thì nhiệm vụ đạt ra của đề tài là:
Phân tích cấu trúc từ và câu trong văn bản tiếng Lào;
-
Phân tích phương pháp tách từ tiếng Lào;
Phân tích các mô hình và phương pháp phân loại văn bản, đưa ra bài toán cần
giải quyết;
Phân tích và đề xuất mô hình giải quyết bài toán;
-
Hiện thực hóa hệ thống nêu trên, đánh giá kết quả đạt được trong thực tế.
-
3. Phương pháp nghiên cứu
Phương pháp lý thuyết:
Tiến hành thu thập và phân tích các tài liệu có liên quan đến đề tài, nghiên cứu
phương pháp tách từ và phương pháp phân loại văn bản;
-
Phương pháp thực nghiệm:
Xây dựng cơ sở dữ liệu văn bản tiếng Lào;
-
Xây dựng hệ thống tự động phân loại văn bản tiếng Lào;
Cài đặt hệ thống và triển khai thực tế, nhận xét và đánh giá kết quả đạt được.
-
Phương tiện, công cụ triển khai:
Ngôn ngữ lập trình Python 3;
Môi trường phát triển tích hợp (IDE) PyCharm CE 2017.3.3;
Hệ quản trị cơ sở dữ liệu MongoDB
4. Đóng góp chính của luận án
1. Xây dựng kho ngữ vựng từ phức tiếng Lào phục vụ cho phương pháp tách từ
tiếng Lào.
2. Đề xuất giải pháp tách từ sử dụng biểu thức chính quy (Regular expression) kết
hợp với khuôn mẫu các từ đơn và ghép lại từng từ đơn thành từ phức có âm tiết
dài nhất trong từ điển từ phức.
3. Ứng dụng Naive Bayes xây dựng mô hình phân loại văn bản tiếng Lào.
4. Triển khai hệ thống trong thực tế và đánh giá hiệu quả của mô hình.
3
5. Cấu trúc của luận án
Sau phần mở đầu, nội dung của luận án gồm ba chương như sau:
Chương 1, Giới thiệu tổng quan phân loại văn bản, các khái niệm, bài toán phân
loại văn bản tiếng Lào.
Chương 2, Trình bày mô hình phân loại văn bản tiếng Lào gồm mô hình tổng
quan, mô hình tách từ và mô hình phân loại văn bản tiếng Lào.
Chương 3, Xây dựng Hệ thống tự động phân loại văn bản tiếng Lào.
Sau 3 chương trên là phần kết luận và hướng phát triển của đề tài. Phần cuối luận
án là danh mục các tài liệu tham khảo và các phụ lục liên quan.
4
CHƯƠNG 1
TỔNG QUAN PHÂN LOẠI VĂN BẢN
1.1. Phân loại văn bản
Phân loại văn bản (Document Classification/Categorization) đóng một vai trò
quan trọng trong bối cảnh phát triển nhanh chóng của công nghệ thông tin với sự bùng
nổ số lượng dữ liệu ngày càng lớn lên. Phân loại văn bản giúp người dùng xử lý văn bản
đúng mục đích và đáp ứng yêu cầu của mình. Về nội dung, hình thức xuất hiện của mỗi
văn bản thường khác nhau nên việc lựa chọn phương pháp phân loại văn bản cho thích
hợp là một vấn đề khó khăn.
Theo sự phát triển công nghệ thông tin, dữ liệu văn bản tiếng Lào ngày càng
nhiều. Theo cách truyền thống, phân loại văn bản đúng nhóm có thể thực hiện một cách
thủ công, là đọc nội dung văn bản và gán nó vào nhóm phù hợp, trong trường hợp số
lượng văn bản lớn, sẽ mất rất nhiều thời gian công sức và chi phí. Do đó, cần phải xây
dựng các công cụ phân loại văn bản một cách tự động.
Đối với tiếng Lào thì các công trình nghiên cứu về phân loại văn bản còn hạn
chế, chủ yếu sử dụng mạng nơ ron RBF, máy vector hỗ trợ (SVM) [1].
1.2. Khái niệm văn bản
Có nhiều quan niệm khác nhau về văn bản (hay văn kiện, tài liệu, tư liệu, thuật
ngữ tiếng Anh gọi là Document), tùy theo hướng tiếp cận. Tuy nhiên có thể hiểu một
cách đơn giản, văn bản là một phương tiện dùng để ghi nhận, lưu giữ và truyền đạt các
thông tin, từ chủ thể này sang chủ thể khác bằng các ký hiệu hay ngôn ngữ nhất định
nào đó. Văn bản là dạng sản phẩm của hoạt động giao tiếp bằng ngôn ngữ, được hình
thành một cách thủ công hay sử dụng công cụ, được thể hiện ở dạng chữ viết, trên một
chất liệu nào đó (giấy tờ, bia đá...), gồm tập hợp các câu có tính trọn vẹn về nội dung,
hoàn chỉnh về hình thức, có tính liên kết chặt chẽ và hướng tới một mục tiêu giao tiếp
nhất định [1].
Mỗi văn bản nhìn chung gồm hai thành phần chính là phần nội dung và phần hình
thức trình bày. Phần nội dung tập hợp bởi các câu có tính trọn vẹn về ngữ nghĩa và phần
hình thực thể hiện tính liên kết chặt chẽ với nội dung và hướng tới một mục tiêu giao
tiếp nhất định. Về nội dung, người ta hay phân loại văn bản theo nhiều tiêu chí khác
nhau tùy theo mục đích sử dụng. Ngoài ra người ta thường phân loại văn bản theo hình
5
thức biểu đạt như miêu tả, biểu cảm, hay theo phong cách chức năng ngôn ngữ như: giao
tiếp, báo chí, khoa học.
Hình thức trình bày của văn bản có thể phân biệt theo nhiều cách tiếp cận: như
văn bản thuần túy (Pure Text) chỉ chứa chữ hay ký tự, hoặc văn bản không thuần túy
ngoài chữ thì chứa các thành phần đồ họa, hình ảnh, hoạt hình, bảng biểu hình vẽ, chiếu
phim, ca nhạc như trên các trang web… Văn bản có thể gồm một ngôn ngữ
(Monolingual) hay đa ngôn ngữ (Multilingual), văn bản thuần nhất (Plain text) chỉ sử
dụng một bộ mã như Unicode.
Văn bản là một tập hợp các ký tự và được tổ chức thành từ, dòng, đoạn và trang,
được mã hóa, lưu trữ trên các thiết bị nhớ khác nhau dưới dạng một tệp văn bản. Thông
thường, trong ngôn ngữ như tiếng Anh, người ta trình bày mỗi từ là một chuỗi ký tự có
khoảng trống phân cách giữa các từ, nhưng trong tiếng Lào không dùng khoảng trống
để phân cách mỗi từ mà là viết các từ vựng ghép sát nhau thành một nhóm từ cho đến
đũ nghĩa của nhóm từ đó. Ví dụ như sau:
- Tiếng Anh: I play table tennis every Friday.
-
Tiếng Việt: Tôi chơi bóng bàn mỗi thứ sáu.
-
Tiếng Lào: ຂ້ອຍຫຼິ້ນປິ່ງປ່ອງທຸກໆວັນສຸກ.
Văn bản được chia ra thành hai loại là phi cấu trúc (Unstructure Document)
thường được lưu dưới dạng tệp (*.txt) và văn bản có cấu trúc (Structure Document) là
loại văn bản được phân cấp các thành phần khác nhau như phần đầu, phần cuối, chương,
mục, giới thiệu, tham khảo, minh họa… Mỗi thành phần có cách trình bày vật lý khác
nhau với những ký tự điểu khiển mà không nhìn thấy được phía người dùng, các văn
bản có cấu trúc thường được lưu trữ trên tệp (*.html, *.php, *.xml, *.docx, ...).
Trong luận văn, tác giả sẽ tập trung sử dụng ba loại file văn bản phổ biến là html,
docx và txt. Dữ liệu huấn luyện và thử nghiệm sẽ được rút ra trên các web site tiếng Lào
và xử lý lưu trữ dưới dạng tệp văn bản thuần nhất (Plain text, .txt) sử dụng mã hóa
Unicode.
6
Hình 1.1 Bảng mã Unicode tiếng Lào (U+0E80 - U+0EFF)
1.3. Các phương pháp phân loại văn bản
Hiện nay, có nhiều phương pháp phân loại văn bản đã được nghiên cứu đặc biệt
là với văn bản tiếng Anh như: Naive Bayes [8] [14] [15], Support Vector Machines [23],
K-Nearest Neighbor [17], ...
Nghiên cứu phân loại văn bản tiếng Lào chủ yếu sử dụng phương pháp so khớp
tối đa kết hợp với kho từ đơn được xây dựng từ máy suy diễn, sau đó xử lý nhập nhằng
của từ dựa trên tiêu chuẩn xác suất thống kê và áp dụng thuật toán máy vector hỗ trợ
(Support Vector Machine) dựa trên cơ sở RBF để phân loại văn bản [1].
1.3.1. K-Nearest Neighbor (KNN)
K-Nearest Neighbor (KNN hay K-láng giềng gần nhất) là phương pháp truyền
thống khá nổi tiếng theo hướng tiếp cận thống kê đã được nghiên cứu trong nhiều năm
qua [17]. K-Nearest Neighbor được đánh giá là một trong những phương pháp tốt nhất
được sử dụng từ những thời kỳ đầu trong nghiên cứu về phân loại văn bản.
Ý tưởng của phương pháp này là khi cần phân loại một văn bản mới, thuật toán
sẽ tính khoảng cách (có thể áp dụng các công thức về khoảng cách như Euclide, Cosine,
Manhattan, …) của tất cả các văn bản trong tập huấn luyện đến văn bản này để tìm ra k
văn bản có khoảng cách gần nhất, gọi là K-Nearest Neighbor (K-láng giềng gần nhất),
sau đó dùng các khoảng cách vừa tính được này đánh trọng số cho tất cả các chủ đề đã
có. Khi đó, trọng số của một chủ đề sẽ được tính bằng tổng các khoảng cánh từ văn bản
cần phân loại đến các văn bản trong k láng giềng mà có cùng chủ đề đó. Những chủ đề
không xuất hiện trong tập k văn bản sẽ có trọng số bằng 0. Các chủ đề được sắp xếp
theo độ giảm dần của các trọng số và chủ đề nào có trọng số cao sẽ là chủ đề cho văn
bản cần phân loại.
7
Hình 1.2 Thuật toán k láng giềng gần nhất
Trọng số của chủ đề cj đối với văn bản x được tính như sau:
⃗⃗⃗⃗𝑖 , 𝑐𝑗 ) − 𝑏𝑗
𝑊(𝑥⃗, 𝑐𝑗 ) = ∑ 𝑠𝑖𝑚(𝑥⃗, ⃗⃗⃗⃗
𝑑𝑖 ). 𝑦(𝑑
⃗⃗⃗⃗⃗
𝑑𝑖 ∈𝐾𝑁𝑁
-
Trong đó:
⃗⃗⃗⃗𝑖 , 𝑐𝑗 ) ∈ {0,1} với: y=0 văn bản di không thuộc về chủ đề cj, với y=1 văn bản
𝑦(𝑑
di thuộc về chủ đề 𝑐𝑗 ;
-
𝑠𝑖𝑚(𝑥⃗, ⃗⃗⃗⃗
𝑑𝑖 ): độ giống nhau giữa văn bản cần phân loại x và văn bản ⃗⃗⃗⃗
𝑑𝑖 . sử dụng
⃗⃗⃗⃗𝑖 ):
độ đo cosine để tính 𝑠𝑖𝑚(𝑥⃗, 𝑑
𝑠𝑖𝑚(𝑥⃗, ⃗⃗⃗⃗
𝑑𝑖 ) = 𝑐𝑜𝑠(𝑥⃗, ⃗⃗⃗⃗
𝑑𝑖 ) =
-
𝑥⃗. ⃗⃗⃗⃗
𝑑𝑖
⃗⃗⃗⃗𝑖 ‖
‖𝑥⃗ ‖. ‖𝑑
bj: là ngưỡng phân loại của chủ đề cj được tự động học sử dụng một tập văn bản
hợp lệ được chọn ra từ tập huấn luyện.
Để chọn được tham số k tốt nhất cho thao tác phân loại, thuật toán cần được chạy
thử nghiệm trên nhiều giá trị k khác nhau, giá trị k càng lớn thì thuật toán càng
ổn định và sai sót càng thấp.
Ưu điểm của KNN
- Độ phức tạp tính toán của quá trình huấn luyện là bằng 0;
8
-
Việc dự đoán kết quả của dữ liệu mới rất đơn giản;
Không cần giả sử gì về phân phối của các lớp.
Nhược điểm của KNN
- KNN rất nhạy cảm với nhiễu khi 𝑘 nhỏ;
- KNN là một thuật toán mà mọi tính toán đều nằm ở khâu huấn luyện. Trong đó
việc tính khoảng cách tới từng điểm dữ liệu trong dữ liệu huấn luyện sẽ tốn rất
nhiều thời gian, đặc biệt là với các cơ sở dữ liệu có số chiều lớn và có nhiều điểm
dữ liệu. Với 𝑘 càng lớn thì độ phức tạp cũng sẽ tăng lên. Ngoài ra, việc lưu toàn
bộ dữ liệu trong bộ nhớ cũng ảnh hưởng tới hiệu năng của KNN.
1.3.2. Support Vector Machine (SVM)
Máy sử dụng vector hỗ trợ (SVM) được Cortess và Vapnik giới thiệu năm 1995,
là phương pháp tiếp cận phân loại hiệu quả để giải quyết vấn đề nhận dạng mẫu 2 lớp
sử dụng nguyên lý Cực tiểu hóa Rủi ro có Cấu trúc (Structural Risk Minimization) [23].
Trong không gian vector cho trước một tập huấn luyện được biểu diễn trong đó
mỗi tài liệu là một điểm, thuật toán SVM sẽ tìm ra một siêu mặt phẳng h quyết định tốt
nhất có thể chia các điểm trên không gian này thành hai lớp riêng biệt tương ứng lớp (+)
và lớp (–). Chất lượng của siêu mặt phẳng phân cách này được quyết định bởi khoảng
cách (gọi là biên) của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khoảng
cách biên càng lớn thì mặt phẳng quyết định càng tốt và việc phân loại càng chính xác.
Mục đích thuật toán SVM là tìm được khoảng cách biên lớn nhất (Hình 1.3).
Hình 1.3 Siêu mặt phẳng h phân chia dữ liệu huấn huyện thành 2 lớp + và - với khoảng
cách biên lớn nhất. Các điểm gần h nhất (được khoanh tròn) là các vector hỗ trợ Support Vector
Phương trình siêu mặt phẳng chứa vector di trong không gian:
𝑑⃗𝑖 ⋅ 𝑤
⃗⃗⃗ + 𝑏 = 0
9
+1, 𝑑⃗𝑖 ⋅ 𝑤
⃗⃗⃗ + 𝑏 > 0
Đặt ℎ(𝑑⃗𝑖 ) = 𝑠𝑖𝑔𝑛(𝑑⃗𝑖 ⋅ 𝑤
⃗⃗⃗ + 𝑏) {
−1, 𝑑⃗𝑖 ⋅ 𝑤
⃗⃗⃗ + 𝑏 < 0
Từ đó, ℎ(𝑑⃗𝑖 ) biểu diễn sự phân loại của 𝑑⃗𝑖 vào hai lớp nói trên.
Có 𝑦𝑖 = {±1} thì với𝑦𝑖 = +1, văn bản 𝑑⃗𝑖 𝜖 lớp “-”. Lúc này muốn có siêu mặt
phẳng h, ta sẽ giải bài toán sau:
Tìm min ‖𝑤
⃗⃗⃗‖, trong đó 𝑤
⃗⃗⃗ và b thỏa mãn điều kiện:
∀𝑖 ∈ ̅̅̅̅̅
1, 𝑛: 𝑦𝑖 (𝑠𝑖𝑔𝑛(𝑑⃗𝑖 ⋅ 𝑤
⃗⃗⃗ + 𝑏)) ≥ 1
Khi đó ta có thể sử dụng toán tử Lagrange biến đổi thành dạng thức để giải bài
toán.
Ở phương pháp SVM, mặt phẳng quyết định chỉ phụ thuộc vào các điểm gần nó
nhất (vector hỗ trợ - support vector) mà có khoảng cách đến nó là:
1
‖𝑤
⃗⃗⃗‖
. Khi các điểm
khác bị xóa đi thì vẫn không ảnh hưởng đến kết quả ban đầu.
Ưu điểm:
- Xử lý trên không gian số chiều cao: SVM là một công cụ tính toán hiệu quả trong
không gian chiều cao, trong đó đặc biệt áp dụng cho các bài toán phân loại văn
bản và phân tích quan điểm nơi chiều có thể cực kỳ lớn;
- Tiết kiệm bộ nhớ: do chỉ có một tập hợp con của các điểm được sử dụng trong
quá trình huấn luyện và ra quyết định thực tế cho các điểm dữ liệu mới nên chỉ
có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi ra quyết dịnh;
- Tính linh hoạt: phân lớp thường là phi tuyến tính. Khả năng áp dụng Kernel mới
cho phép linh động giữa các phương pháp tuyến tính và phi tuyến tính từ đó khiến
cho hiệu suất phân loại lớn hơn.
-
Nhược điểm:
Bài toán số chiều cao: trong trường hợp số lượng thuộc tính (p) của tập dữ liệu
lớn hơn rất nhiều so với số lượng dữ liệu (n) thì SVM cho kết quả khá tồi;
Chưa thể hiện rõ tính xác suất: việc phân lớp của SVM chỉ là việc cố gắng tách
các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM. Điều này chưa
giải thích được xác suất xuất hiện của một thành viên trong một nhóm là như thế
nào. Tuy nhiên hiệu quả của việc phân lớp có thể được xác định dựa vào khái
niệm margin từ điểm dữ liệu mới đến siêu phẳng phân lớp mà chúng ta đã bàn
luận ở trên.
10
1.3.3. Naïve Bayes (NB)
Phương pháp Naive Bayes là sử dụng xác suất có điều kiện giữa từ và chủ đề để
dự đoán xác suất chủ đề của một văn bản cần phân loại. Điểm quan trọng của phương
pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các từ trong văn bản đều
độc lập với nhau. Giả định đó làm cho việc tính toán Naive Bayes hiệu quả và nhanh
chóng hơn các phương pháp khác vì không sử dụng việc kết hợp các từ để đưa ra phán
đoán chủ đề [8][9][14][15].
Nếu tập dữ liệu huấn luyện nghèo nàn và các tham số dự đoán (như không gian
đặc trưng) có chất lượng kém thì sẽ dẫn đến kết quả tồi. Tuy nhiên, nó được đánh giá là
một thuật toán phân loại tuyến tính thích hợp trong phân loại văn bản nhiều chủ đề với
một số ưu điểm: cài đặt đơn giản, tốc độ nhanh, dễ dàng cập nhật dữ liệu huấn luyện
mới và có tính độc lập cao với tập huấn luyện, có thể sử dụng kết hợp nhiều tập huấn
luyện khác nhau. Thông thường, người ta còn đặt thêm một ngưỡng tối ưu để cho kết
quả phân loại khả quan.
Mục đích chính là tính được xác suất P(𝐶𝑗| 𝑑 ′ ), xác suất để văn bản d′ nằm trong
loại văn bản Cj. Theo Bayes, văn bản d’ sẽ được gán cho loại văn bản nào có xác suất
hậu nghiệm cao nhất nên được biểu diễn bằng công thức:
Loại văn bản của d’ = arg max {𝑃(𝐶𝑗|𝑑′} = 𝑎𝑟𝑔 max
1≤𝑘≤𝑁
1≤𝑘≤𝑁
′
𝑃(𝐶𝑗)∗𝑃(𝑑 |𝐶𝑗 )
𝑃(𝑑′ )
trong đó N là tổng số tài liệu
Công thức sau dùng để tính P(𝐶𝑗| 𝑑 ′ ):
P(𝐶𝑗| 𝑑 ′ ) = 𝑃(𝐶𝑗) ∗
-
𝑃(𝑑′|𝐶𝑗)
𝑃 (𝑑′)
Trong đó:
𝑃(𝐶𝑗| 𝑑 ′ ) là xác suất mà văn bản d′ có khả năng thuộc vào lớp Cj
d′ là tài liệu cần phân loại
Cj là một tài liệu bất kì
𝑃(𝑑 ′ |𝐶𝑗) được tính toán từ tần suất xuất hiện của các từ (𝑤𝑗 ) trong tài liệu d’:
𝑃(𝑑 ′ |𝐶𝑗) = ∏ 𝑃(𝑤𝑗 |𝐶𝑗)
𝑖<𝑗<𝑙
trong đó l là tổng số từ w trong tài liệu D
-
P(𝐶𝑗) là tỷ lệ phần trăm của số văn bản mỗi lớp tương ứng trong tập dữ liệu
luyện:
11
𝑃(𝐶𝑗 ) =
‖𝐶𝑗 ‖
‖𝐶𝑗 ‖
=
‖𝐶 ‖ ∑𝐶 ′ ∈𝐶‖𝐶 ′ ‖
P(wi|Cj) sử dụng phép ước lượng Laplace:
𝑃(𝑤𝑖 |𝐶𝑗 ) =
1 + 𝑇𝐹(𝑤𝑖 , 𝐶𝑗 )
|𝐹 | + ∑𝑤∈|𝐹| 𝑇𝐹(𝑤 ′ , 𝐶𝑗 )
Naive Bayes là một phương pháp rất hiệu quả trong một số trường hợp. Nếu tập
dữ liệu huấn luyện nghèo nàn và các tham số dự đoán (như không gian đặc trưng) có
chất lượng kém thì sẽ dẫn đến kết quả tồi. Tuy nhiên, nó được đánh giá là một thuật toán
phân loại tuyến tính thích hợp trong phân loại văn bản nhiều chủ đề với một số ưu điểm:
cài đặt đơn giản, tốc độ nhanh, dễ dàng cập nhật dữ liệu huấn luyện mới và có tính độc
lập cao với tập huấn luyện, có thể sử dụng kết hợp nhiều tập huấn luyện khác nhau.
Thông thường, người ta còn đặt thêm một ngưỡng tối ưu để cho kết quả phân loại khả
quan.
Phân tích các phương pháp phân loại văn bản trên, có thể so sánh như bảng 1.1:
Bảng 1.1 Bảng so sánh các phương pháp phân loại văn bản
Phương pháp phân Đơn giản
Phân loại Dễ cài đặt Kết quả tốt với đa
loại văn bản
nhanh
nhãn lớp
K-Nearest Neighbor
Support Vector
Machine
Naïve Bayes
Bảng so sánh phương pháp phân loại văn bản nêu trên cho thấy rằng phương pháp
phân loại văn bản Naïve Bayes đáp ứng yêu cầu nhiều hơn đối với vấn đề đặt ra trên.
1.4. Kết luận
Chương 1 tác giả đã trình bày tổng quan về công trình phân loại văn bản, bài toán
phân loại văn bản tiếng Lào, cho biết các phương pháp phân loại văn bản như K-Nearest
Neighbor, Suport Vector Machine, Naive Bayes và lựa chọn phương pháp Naive Bayes
để xây dựng hệ thống tự động phân loại văn bản tiếng Lào.
12
CHƯƠNG 2
MÔ HÌNH PHÂN LOẠI VĂN BẢN
TIẾNG LÀO
Trong chương này sẽ trình bày về mô hình tổng quan phân loại văn bản tiếng
Lào, những đặc trưng của tiếng Lào, mô hình tách từ áp dụng Regular Expression và mô
hình phân loại văn bản tiếng Lào dựa trên phương pháp Naive Bayes.
2.1. Mô hình phân loại văn bản tiếng Lào
Vấn đề phân loại văn bản tiếng Lào dựa trên kiểu học có giám sát được đặc tả
bao gồm 2 giai đoạn: giai đoạn huấn luyện và giai đoạn phân loại.
Một cách tổng quát, giải quyết bài toán phân loại văn bản gồm các bước (Hình
2.1):
- Tiền xử lý văn bản đầu vào và biểu diễn văn bản theo mô hình vector từ khóa,
mỗi văn bản được biểu diễn bằng một vector của các từ khóa;
-
Trích chọn đặc trưng, loại bỏ từ dừng;
Huấn luyện;
Phân loại văn bản.
Giai đoạn huấn luyện
Naïve Bayes
Dữ liệu
huấn luyện
Huấn luyện
Trích chọn đặc
trưng
Tiền xử lý
Giai đoạn phân loại
Phân loại
Văn bản
tiếng Lào
Loại văn bản
Hình 2.1 Mô hình tổng quan phân loại văn bản tiếng Lào
Giai đoạn huấn luyện có các bước:
13
-
Dữ liệu huấn luyện: dữ liệu huấn luyện thu thập từ các trang web tiếng Lào, lưu
trữ dưới dạng văn bản thuần nhất với mã hóa Unicode và nhãn lớp xác định;
-
-
Tiền xử lý: Biểu diễn các dữ liệu văn bản tiếng Lào thành một vector từ khóa, áp
dụng biểu thức chính quy kết hợp với khuôn mẫu từ đơn để tách ra từ đơn và
ghép lại từ đơn thành từ phức dựa trên từ điển từ phức;
Trích chọn đặc trưng: loại bỏ những từ dừng (stop-words) không mang thông tin,
thường thì không có ích gì trong việc phân biệt nội dung của các tài liệu, nhằm
nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật toán huấn luyện.
Ví dụ, từ chỉ dùng để phục vụ cho biểu diễn cấu trúc chứ không biểu đạt
nội dung của nó như là “ໃນ” (giới từ), “ແຕ່” (liên từ), động từ phổ biến có dạng
“ແມ່ນ”, “ໄດ້”, và một số trạng từ và tính từ đặc biệt cũng được xem là những từ
-
dừng (stop-words). Vì đặc điểm của từ dừng nên chúng được loại bỏ mà không
ảnh hưởng đến các công việc biểu diễn văn bản.
Huấn luyện: hay thuật toán huấn luyện thủ tục huấn luyện bộ phân loại để tìm ra
họ các tham số tối ưu dựa trên phương pháp Naive Bayes sử dụng xác suất có
điều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân
loại.
Giai đoạn phân loại có các bước:
- Văn bản tiếng Lào: đưa vào bất kỳ văn bản tiếng Lào với mã hóa Unicode;
-
Tiền xử lý: Thực hiện như giai đoạn huấn luyện, biểu diễn văn bản theo mô hình
vector từ khóa;
Trích chọn đặc trưng: Thực hiện như giai đoạn huấn luyện nêu trên;
Phân loại văn bản: Sau khi biểu diễn văn bản tiếng Lào thành một vector từ khóa
và trích trọn đặc trưng, sẽ tính xác suất của Vector từ của văn bản đang xét với
xác suất của mỗi nhóm trên bộ huấn luyện từ giai đoạn huấn luyện và chọn nhóm
có số cao nhất là loại của văn bản.
2.2. Biểu diễn văn bản tiếng Lào
Trong luận văn này, mỗi văn bản đưa vào hệ thống tự động phân loại văn bản
tiếng Lào dựa trên phương pháp Naive Bayes được biểu diễn trên mô hình vector, các
văn bản được thể hiện trong một không gian có số chiều lớn, trong đó mỗi chiều của
không gian tương ứng với một từ trong văn bản. Mỗi văn bản D được biểu diễn dưới
dạng 𝑥⃗. Trong đó 𝑥⃗ = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ), và n là số lượng đặc trưng hay số chiều của vector
văn bản, 𝑥𝑛 là trọng số của đặc trưng thứ i (với 𝑖 ≤ 𝑖 ≤ 𝑛).
14
Ví dụ:
VB1: ຂ້ອຍມັກອ່ານປຶ້ມ ແລະ ຂຽນປຶ້ມ (tôi đọc sách), được tách từ ຂ້ອຍ|ມັກ|ອ່ານ|ປຶ້ມ|ແລະ|ຂຽນ|ປຶ້ມ
VB2: ຂ້ອຍຂຽນໜັງສື (tôi viết bài), được tách từ ຂ້ອຍ|ຂຽນ|ໜັງສື
Với 2 văn bản trên, áp dụng mô hình vector ta có biểu diễn như sau:
Bảng 2.1 Ví dụ biểu diễn văn bản trên mô hình vector từ khóa
Từ
ຂ້ອຍ
ອ່ານ
ຂຽນ
ໜັງສື
ມັກ
ປຶ້ມ
Vector_VB1
1
1
1
1
1
2
Vector_VB2
1
0
1
1
0
0
2.3. Tách từ tiếng Lào
Trong quá trình xử lý bài toán phân loại văn bản, trước hết văn bản phải được xử
lý và rút ra những thuộc tính cần thiết cho việc phân loại văn bản đó là những từ xuất
hiện trong văn bản, rồi biểu diễn từng văn bản theo một mô hình như: mô hình phân tích
cú pháp, mô hình vector, mô hình boolean, mô hình tần suất… cho phù hợp với yêu cầu
của mỗi phương pháp phân loại văn bản. Để có thể lấy được những từ trong văn bản
phải qua bước tiền xử lý cơ bản như tách từ.
Bài toán tách từ (Word Segmentation) hay cũng gọi là tách các thuật ngữ
(Tokenizer), là một quá trình xử lý nằm ranh giới các từ trong câu. Về mặt ngôn ngữ là
sẽ xác định từ đơn, từ ghép có mặt trong câu. Trong lĩnh vực xử lý ngôn ngữ tự nhiên
bài toán tách từ có vai trò quan trong nhất trong việc xác định cấu trúc ngữ pháp trong
câu.
Tách từ quen thuộc, đơn giản với con người do tính trực quan, nhưng trong xử lý
ngôn ngữ tự nhiên sẽ gặp rất nhiều khó khăn đối với ngôn ngữ nằm ở vùng Đông Á như
tiếng Thái, tiếng Nhật, tiếng Trung Quốc, tiếng Kmer kể cả tiếng Lào.
Đến hiện nay, đối với phương pháp tách từ của tiếng Anh, tiếng Trung, tiếng
Nhật, tiếng Việt… đã có nhiều công trình nghiên cứu và cải tiến với hướng tiếp cận khác
nhau, đạt được kết quả khả quan. Đối với tiếng Lào đến hiện nay, Vẫn chưa có một
phương pháp tiếp cận nào có kết quả khả quan, một số phương pháp tách từ tiếng Lào
đã được nghiên cứu, có như sau:
15
-
Tách từ tiếng Lào sử dụng trường xác suất có điều kiện CRF (Conditional
Random Field) [11];
-
Tách từ dựa trên so khớp tối đa của âm tiết [4];
Hỗn hợp tiếp cận tách từ sử dụng phương pháp so khớp tối đa cấp độ âm
-
tiết với sự công nhận của các đặt tên [10];
Phân âm tiếng Lào cho tách dòng [23];
Tách từ tiếng Lào dựa trên phương pháp so khớp tối đa với kho từ vựng
(gồm có từ đơn đã nhận từ máy suy diễn kết hợp với cơ sở luật, từ ghép
và cụm từ) và xử lý khứ bỏ nhập nhằng [1].
Do đó, tác giả đề xuất mô hình tách từ tiếng Lào dựa trên cơ sở Regular
Expression kết hợp với khuôn mẫu cấu trúc câu, cấu trúc từ đơn.
2.3.1. Đặc trưng tiếng Lào
Lào là một đất nước có ngôn ngữ và chữ viết riêng của mình có tên gọi là ngôn
ngữ Lào và chữ Lào. Đối với tiếng lào nó sinh ra và hình thành song song cùng với sự
xuất hiện của đất nước Lào là một trong những ngôn ngữ đã từng có từ lâu đời trong
Châu Á.
Ngữ pháp Lào được chỉnh sửa nhiều lần cho đến thời kỳ giải phóng đất nước và
xây dựng Cộng hòa Dân chủ Nhân dân Lào như hiện nay được sử dụng phương pháp
tiếng Lào theo ngữ pháp do Ông Phoumy Vongvichith là Bộ Giáo dục công nhận sử
dụng hiện nay, cũng có thể vì đã có nhiều lần chỉnh sửa phương pháp tiếng Lào mà làm
cho cách viết, cách nói tiếng Lào của người Lào khác nhau không có sự hòa hợp nhau
cho lắm nhất là những từ câu hình thành ra từ câu ngôn ngữ Bali Sansakit hay là các từ
câu hình thành từ câu ngoại ngữ, hay câu của Lào.
2.3.1.1. Tổng quan về đặc trưng của văn bản tiếng Lào
Cấu trúc một văn bản tiếng Lào thường gồm một Chủ đề, các mục (có chữ số ở
phía trước tuân theo với ký tự dấu chấm) và nội dung. Nội dung là tập hợp của nhiều
đoạn, một đoạn là tập hợp của nhiều câu, một câu là tập hợp của một cụm/nhóm từ, một
cụm từ là tập hợp của hai từ đơn trở lên ghép sát nhau (không có rảnh giới giữa các từ)
và một từ đơn gồm hai ký tự trở lên.
Đặc trưng của cách viết một đoạn và câu tiếng Lào không khác với hệ chuẩn của
tiếng Anh như khi kết thúc câu phải có các ký tự dấu chấm câu (dấu chấm, dấu hai chấm,
16
dấu phẩy, dấu than, ...), khi bắt đầu một đoạn phải có thụt lề hay ký tự đặc biệt (\t) và
khi kết thúc đoạn phải xuống bắt đầu dòng mới hoặc ký tự (\n).
Về đặc trưng của từ đơn trong tiếng Lào là một tập hợp các ký tự tiếng Lào (gồm
có phụ âm, nguyên âm và dấu thanh), một từ đơn ít nhất phải có 2 ký tự gồm 1 ký tự
phụ âm và 1 ký tự nguyên âm. Trong hệ viết từ tiếng Lào không có chữ hoa.
Trong hệ viết tiếng Lào, ký tự khoảng trống sử dụng để tách ra hai câu hoặc cụm
từ có đủ ý nghĩa của từng câu cho dễ dàng đọc và tránh biến nghĩa của câu. Khoảng
trống thường dùng để tách ra tên riêng (tên người, tên công ty, tên quốc gia, chữ viết tắt)
và chữ số (số ngày, số năm, số tiền, …) ra khỏi câu/cụm từ.
2.3.1.2. Cấu trúc từ tiếng Lào
Ngôn ngữ tiếng lào có ký tự viết và đọc tương tự với ngôn ngữ trong quốc gia
khác. Bảng chữ cái tiếng Lào gồm 3 nhóm: phụ âm, nguyên âm và dấu thanh.
Cách tạo một từ tiếng Lào phải dùng ít nhất 2 ký tự gồm ít nhất 1 phụ âm và 1
nguyên âm ghép lại với nhau, các ký tự đó phải nằm đúng vị trí theo ngữ pháp tạo từ
của tiếng Lào thì mới phát âm được và có nghĩa trong tiếng Lào.
2.3.1.3. Bảng chữ cái tiếng Lào
Chữ cái tiếng Lào mà sử dụng trong giao tiếp là có nguồn gốc từ tiếng Sanskrit
(Bắc Phạn) và chữ cái sử dụng trong phật giáo là có nguồn gốc từ tiếng Pali (Nam Phạn).
Bảng chữ cái tiếng Lào gồm 3 nhóm: phụ âm, nguyên âm và dấu thanh. Tiếng
Lào cũng có chữ số Lào nhưng ít sử dụng hiện nay.
Phụ âm
Có 33 phụ âm được chia ra 2 loại: phụ âm đơn (trung tâm) và phụ âm ghép.
Các 27 phụ âm đơn:
ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລສຫອຮ
Các 6 phụ âm ghép:
ຫງ ຫຍ ຫນ(ໜ) ຫມ(ໝ) ຫລ(ຫຼ) ຫວ
Nguyên âm
Có 28 nguyên âm trong đó gồm nguyên âm dài, nguyên âm ngắn, nguyên âm đặc
biệt (không thể ghép với phụ âm cuối vần), có như sau:
- Nguyên âm dài: xະ xີ xຶ xຸ ເxະ ແxະ ໂxະ ເxາະ ເxິ ເxັຍ xົວະ ເxຶອ
- Nguyên âm ngắn: xາ xີ xື xູ ເx ແx ໂx xໍ ເxີ ເxຍ xົວ ເxືອ
-
Nguyên âm đặc biệt: ໄx ໃx ເxົາ xໍາ
17
Trong các 24 nguyên âm (trừ nguyên âm đặc biệt) nó có thể ghép với phụ âm
cuối từ để trở thành nguyên âm với phụ cuối vần. Phụ âm cuối từ hoặc phụ âm cuối vần
là phụ âm đơn vừa làm phụ âm đầu vần vừa làm phụ âm cuối vần gồm có 8 phụ âm (ກ ງ
ຍ ດ ນ ບ ມ ວ) cần đặt sau các 24 nguyên âm và không thể xếp sau các nguyên âm đặc biệt.
Có một số nguyên âm sau khi ghép lại với phụ âm cuối vần sẽ thay đổi dạng. Sau đây là
bảng nguyên âm ghép với 8 phụ âm cuối vần:
Bảng 2.2 Nguyên âm ghép lại với phụ âm cuối vần
Nguyên
âm
Phụ âm cuối vần
ກ
ງ
ຍ
ດ
ນ
ບ
ມ
ວ
xະ
xັກ
xັງ
xັຍ (ໄx)
xັດ
xັນ
xັບ
xັມ (xໍາ)
xັວ (ເxົາ)
xາ
xາກ
xາງ
xາຍ
xາດ
xານ
xາບ
xາມ
xາວ
xິ
xິກ
xິງ
-
xິດ
xິນ
xິບ
xິມ
xິວ
xີ
xີກ
xີງ
-
xີດ
xີນ
xີບ
xີມ
xີວ
xຶ
xຶກ
xຶງ
xຶຍ
xຶດ
xຶນ
xຶບ
xຶມ
xຶວ
xື
xືກ
xືງ
xືຍ
xືດ
xືນ
xືບ
xືມ
xືວ
xຸ
xຸກ
xຸງ
xຸຍ
xຸດ
xຸນ
xຸບ
xຸມ
-
xູ
xູກ
xູງ
xູຍ
xູດ
xູນ
xູບ
xູມ
-
ເxະ
ເxັກ
ເxັງ
-
ເxັດ
ເxັນ
ເxັບ
ເxັມ
ເxັວ
ເx
ເxກ
ເxງ
-
ເxດ
ເxນ
ເxບ
ເxມ
ເxວ
ແxະ
ແxັກ
ແxັງ
-
ແxັດ
ແxັນ
ແxັບ
ແxັມ
ແxັວ
ແx
ແxກ
ແxງ
-
ແxດ
ແxນ
ແxບ
ແxມ
ແxວ
ໂxະ
xົກ
xົງ
xົຍ
xົດ
xົນ
xົບ
xົມ
-
ໂx
ໂxກ
ໂxງ
ໂxຍ
ໂxດ
ໂxນ
ໂxບ
ໂxມ
ໂxວ
ເxາະ
xັອກ
xັອງ
xັອຍ
xັອດ
xັອນ
xັອບ
xັອມ
-
xໍ
xອກ
xອງ
xອຍ
xອດ
xອນ
xອບ
xອມ
-
ເxິ
ເxິກ
ເxິງ
ເxິຍ
ເxິດ
ເxິນ
ເxິບ
ເxິມ
ເxິວ
ເxີ
ເxີກ
ເxີງ
ເxີຍ
ເxີດ
ເxີນ
ເxີບ
ເxີມ
ເxີວ
18