3.2.2. Tiền xử lý dữ liệu
Quá trình tiền xử lý dữ liệu được mơ tả như Giải thuật 3.1. Quá trình tiền xử lý gồm nhiều cơng việc khác nhau.
Giải thuật 3.1: PreProccessing
Data: InputDocument d
1 Convertion(d) // convert the input document (.doc/.pdf) to text
2 WordSegmention(d) // separate document to words
3 WordNormalization(d) // changed to lower cases, removing blanks
4 RemovingStopWords(d) // remove noise words
5 Vectorization(d) // convert documents to respectively vectors
6 Return sets of Vectorized-Documents D
Convertion(d): Chuyển đổi dữ liệu từ các định dạng khác nhau sang định dạng văn
bản thuần túy (.txt) để dễ dàng sử dụng trong hầu hết các giải thuật. Nhiều cơng cụ cĩ thể được dùng để chuyển đổi định dạng dữ liệu, trong nghiên cứu này, cơng cụ Apache POI được sử dụng vì nĩ phù hợp với các tập dữ liệu lớn.
WordSegmention(d): Đối với tiếng Việt, dấu cách (space) khơng cĩ nhiệm vụ tách
từ mà chỉ phân cách giữa các âm tiết. Chính vì vậy, giai đoạn tách từ cũng khá quan trọng trong xử lý ngơn ngữ tự nhiên. Nghiên cứu này đã sử dụng cơng cụ tách từ
VnTokenizer dựa trên cách tiếp cận tổng hợp các phương pháp Maximum Matching,
WFST và regular expression parsing, với tập dữ liệu sử dụng là bảng âm tiết tiếng Việt và từ điển từ vựng tiếng Việt. Đây là cơng cụ tách từ tiếng Việt tự động, tách các văn bản tiếng Việt thành các đơn vị từ vựng (từ ngữ, tên, số, ngày tháng và các biểu thức chính quy khác) với độ chính xác hơn 95% (Nguyễn Thị Minh Huyền et al., 2010).
WordNormalization(d): Dữ liệu cần được chuẩn hĩa từ để chuyển tất cả ký tự của
văn bản thành chữ thường, xĩa các khoảng trống,… trước khi thực hiện xĩa các từ khơng cần thiết gây nhiễu.
RemovingStopWords(d): Từ dừng (stop words) là những từ khơng bổ sung nhiều
ý nghĩa cho một câu, khơng chứa thơng tin đáng giá để sử dụng và cĩ thể được bỏ qua mà khơng làm mất đi ý nghĩa của câu. Stop words thường xuất hiện nhiều trong tất cả các văn bản trong tập dữ liệu (Saif et al., 2014). Trong phân loại văn bản, sự xuất hiện của stop words khơng những khơng giúp gì trong việc đánh giá phân loại mà cịn gây nhiễu và giảm độ chính xác của q trình phân loại (như các từ: thì, là, mà, và, hoặc, bởi…).
Vectorization(d): Cĩ một số mơ hình biểu diễn văn bản như mơ hình khơng gian
véc-tơ (vector space model) dựa trên phương pháp đánh trọng số của từ theo tần số, mơ hình túi từ (bag of words model), mơ hình hĩa văn bản thành đồ thị (graph-based model). Nghiên cứu đề cập phương pháp biểu diễn văn bản theo mơ hình khơng gian véc-tơ do mơ hình này biểu diễn tương đối đơn giản và hiệu quả (Perone, 2013). Theo mơ hình này, mỗi văn bản được biểu diễn thành một véc-tơ; mỗi thành phần của véc-tơ là một từ riêng biệt trong tập văn bản và được gán một giá trị là trọng số của từ đĩ trong văn bản đĩ.
Bài tốn biểu diễn văn bản theo mơ hình khơng gian véc-tơ như sau: Đầu vào là một tập gồm cĩ j văn bản trong miền ứng dụng D, với D = {d1, d2,… dj} và tập gồm m từ trong mỗi văn bản T = {t1, t2,… tm}; đầu ra lần lượt đánh trọng số cho từng từ trong mỗi văn bản, từ đĩ xây dựng ma trận trọng số wij là trọng số của từ wj trong văn bản dj € D. Cĩ nhiều giải pháp để đánh trọng số của từ ti trong văn bản dj, trong đĩ giải pháp tích hợp tần số xuất hiện từ khĩa (TF - Term Frequency) và nghịch đảo tần số xuất hiện trong các văn bản (IDF- Inverse Document Frequency) được sử dụng khá phổ biến.
TF dùng để ước lượng tần suất xuất hiện của một từ trong một văn bản nào đĩ. Bên cạnh đĩ, mỗi văn bản đều cĩ độ dài, số lượng từ ngữ khác nhau vì thế số lần xuất hiện của từ sẽ khác nhau. Do đĩ, để đánh trọng số của một từ người ta lấy số lần xuất hiện của từ đĩ chia cho độ dài của văn bản (số từ của văn bản) như biểu thức 3.1:
TF�ti, dj�=số lần từ ti xuất hiện trong văn bản dj
tổng số từ trong văn bản dj 3.1
Khi tính tần số TF của một từ thì tất cả các từ trong tập từ cĩ mức độ quan trọng là như nhau. Tuy nhiên, nhiều nghiên cứu cho thấy khơng hẳn trong một tập dữ liệu tất cả các từ đều quan trọng. Những từ thường khơng cĩ độ quan trọng cao là từ nối (nên, nhưng, bên cạnh đĩ, vì, như vậy…), từ chỉ định (kìa, đĩ, ấy, thế…), giới từ (trên, trong, ngồi, ở, tại…). Chính những lý do trên mà ta cần giảm đi mức độ quan trọng của những từ đĩ bằng cách tính IDF thơng qua biểu thức 3.2:
IDF(ti, D) = logtổng số văn bản trong tập mẫu Dsố văn bản cĩ chứa từ t
i
3.2 TF*IDF là sự tích hợp giữa tần số xuất hiện từ khĩa TF và nghịch đảo tần số xuất hiện trong các văn bản IDF. Phương pháp này khá phổ biến được dùng để tính giá trị TF*IDF của một từ thơng qua mức độ quan trọng của từ này trong một văn bản, mà bản thân văn bản đang xét nằm trong một tập hợp các văn bản. Những từ cĩ IF*IDF cao là những từ xuất hiện nhiều trong văn bản này và xuất hiện ít trong các văn bản khác. Thơng qua phương pháp này, chúng ta cĩ thể lọc ra những từ phổ biến và giữ lại những từ cĩ giá trị cao.
3.2.3. Mơ hình phân loại tài nguyên học tập
Mơ hình đề xuất được trình bày như Hình 3.1. Trong đĩ, các thuộc tính đầu vào được chọn từ Bảng 3.1 và đầu ra (dự đốn) của mơ hình bao gồm các lớp phụ thuộc vào tập dữ liệu đã chọn. Các thực nghiệm tìm kiếm siêu tham số được thực hiện trên các tập dữ liệu. Bắt đầu từ một lớp ẩn, số lượng nơ-ron từ 2 lên 128 được tăng dần, mỗi lần tăng theo bội số 2 (2n với n = 1..7). Khi cĩ được số nơ-ron tốt nhất, giả sử k, để kiểm tra
chúng ta bắt đầu tăng số lượng lớp ẩn từ 2 lên 5 với k nơ-ron cho mỗi lớp ẩn để quan sát những thay đổi trong kết quả dự đốn.
Chẳng hạn đối với tập dữ liệu Scientific_Articles các tham số tìm được mơ tả như kiến trúc mạng MLP ở Hình 3.2. Mạng nhận 3.431 thuộc tính của tập dữ liệu làm đầu vào, theo sau là một lớp ẩn bao gồm 16 nơ-ron và đầu ra là 9 nơ-ron tương ứng với xác suất dự đốn của 9 chủ đề phân loại. Tương tự, các siêu tham số trên các tập dữ liệu khác cũng được tìm kiếm. Sau khi chọn siêu tham số từ các thực nghiệm, chúng tơi giữ lại số nơ-ron và số lớp ẩn để dự đốn trên 5 tập dữ liệu, số lượng nơ-ron của lớp input và lớp output cĩ thể thay đổi tùy thuộc vào tập dữ liệu.
Hình 3.2: Kiến trúc MLP được đề xuất thơng qua các thử nghiệm với các thơng số
khác nhau trên tập dữ liệu Scientific_Articles
Mơ hình MLP phân lớp (hay phân loại) nhị phân sử dụng hàm kích hoạt sigmoid để thực hiện dự đốn. Đối với các bài tốn phân đa lớp, hàm Softmax với k lớp được sử dụng. Hàm này làm nhiệm vụ chuẩn hĩa một giá trị đầu vào thành một véc-tơ, các giá trị tuân theo phân phối xác suất cĩ tổng bằng 1. Hàm kích hoạt ReLU cũng được thực hiện trong kiến trúc MLP.
3.3. Mơ tả tập dữ liệu và độ đo đánh giá mơ hình
Như mơ tả ở Bảng 3.1, nguồn tài nguyên học tập sử dụng cho nghiên cứu này là 5 tập dữ liệu thực nghiệm với ba ngơn ngữ khác nhau (tiếng Anh, tiếng Thổ Nhĩ Kỳ và tiếng Việt).
Bảng 3.1: Các tập dữ liệu thực nghiệm
Data set #Instances #Attributes #Classes Language
Reuters_Newswire 2.158 1.503 2 English
School_Text_Books 1.786 2.566 4 English
Turkish_News_Articles 3.600 5.693 6 Turkish
Scientific_Articles 650 3.431 9 Vietnamese
VnExpress_Newsletters 10.000 3.266 10 Vietnamese
Với 5 tập dữ liệu trên, số lớp xem xét cũng thay đổi từ 2 phân đến 10 lớp. Tập dữ liệu thứ nhất là các bài báo tin tức tài chính Reuters_Newswire (Weiss, 2019) sử dụng cho phân loại nhị phân. Tập dữ liệu thứ hai là nguồn học liệu mở của bộ sách giáo khoa lớp 11 và lớp 12 School_Text_Books (Deepak, 2020) của Kaggle với 4 lớp chủ đề. Tập dữ liệu thứ ba là tin tức và bài báo của một cổng thơng tin nổi tiếng ở Thổ Nhĩ Kỳ Turkish_News_Articles (Deniz, 2017). Tập dữ liệu thứ tư là các bài báo khoa học được xuất bản trên Tạp chí khoa học Trường Đại học Cần Thơ Scientific_Articles với 9 chủ đề. Tập dữ liệu thứ năm là các bài báo dạng tin tức thuộc báo điện tử VnExpress_Newsletters (Vnexpress, 2020) với 10 chủ đề được sử dụng cho nghiên cứu này.
Để đánh giá mơ hình, độ đo AUC với cross-validation là 3-fold được sử dụng; các fold giống nhau đối với các tập huấn luyện và tập kiểm tra. AUC là một phương pháp tính tốn hiệu suất của một mơ hình phân loại, giá trị này là một số dương nhỏ hơn hoặc bằng 1. Chỉ số AUC càng cao thì mơ hình càng chính xác trong việc phân loại các lớp. Lý do AUC được sử dụng vì đây là độ đo đáng tin cậy để đánh giá các bộ phân loại đối với dữ liệu mất cân bằng. Một số tập dữ liệu thực nghiệm trong nghiên cứu này mất cân bằng do số lượng mẫu của một số lớp lớn hơn khá nhiều so với các lớp khác. Chẳng hạn, một lớp của tập dữ liệu Reuters_Newswire chiếm tới 97% trong khi các lớp cịn lại chỉ chiếm 3%. Ngồi ra, AUC được sử dụng rộng rãi trong nhiều nghiên cứu để kiểm tra việc thực hiện các dự đốn, vì vậy được xem là thước đo khá tin cậy để đánh giá hiệu quả dự đốn các lớp.
3.4. Cài đặt các siêu tham số và mơi trường thực nghiệm
Để chọn các tham số thích hợp cho các mơ hình MLP, các cấu hình khác nhau của kiến trúc MLP được chạy thử nghiệm. Hình 3.3 mơ tả hiệu suất của các cấu hình khác nhau của MLP trên một tập dữ liệu được lấy làm mẫu là Scientific_Articles. Kết quả cho thấy hiệu suất tăng lên theo độ lớn của mạng MLP. Tuy nhiên, hiệu suất đạt đến đỉnh và thay đổi tùy thuộc vào số lượng lớp ẩn được sử dụng. Sau khi đạt đến đỉnh, hiệu
suất cĩ xu hướng giảm dần khi tiếp tục tăng số nơ-ron. Hình 3.3 mơ tả hiệu suất AUC theo số nơ-ron của từng lớp ẩn. Thực nghiệm cho thấy, với một lớp ẩn và số nơ-ron bằng 16 thì AUC bằng 0,977 đạt kết quả tốt nhất. Trong khi đĩ, nếu sử dụng hai hoặc ba lớp ẩn thì AUC đạt hiệu suất cao nhất với 32 nơ-ron trên mỗi lớp ẩn (AUC bằng 0,974 đối với hai lớp ẩn và bằng 0,975 đối với ba lớp ẩn). Một vấn đề đáng chú ý là hiệu suất giảm khi tăng dần lớp ẩn do tình trạng quá khớp (overfitting).